Ubuntu'mdaki ikili dosyaların olması gereken kaynak koddan olduğunu nasıl doğrulayabilirim?


25

Kullanıcıların% 99 gibi, ben de hazır ikili dosyalardan Ubuntu yükledim.

Bu ikili dosyaların gerçekte Ubuntu’nun orijinal kaynak kodundan olduğunu nasıl doğrulayabilirim?

NSA'nın / birinin, ikili dosyalar ile uğraşmak için Ubuntu veya Linode (VPS sağlayıcım) ile işbirliği yapmadığını doğrulamak iyi olurdu. İkili dosyaları doğrulayabilseydik, ilk başta denemeleri pek mümkün olmayacaktı, çünkü onları çağırması kolay olacaktı.


Kaynak koduna bir göz atabilir apt-get source, kendinizinkini derlemek için kullanabilir veya kullanabilirsiniz. Bu soruya bakınız: askubuntu.com/questions/28372/…
Wilf

4
Muhtemel yararlı: Pakete kurulu dosyaların asıllarla eşleştiğini nasıl doğrularsınız? (Debian, ama o da Ubuntu uygulanabilir olması gerekir)
Bir CVn

@ MichaelKjörling Bu sorunun versiyonunu arıyordum ...
Braiam

1
@Braiam Bu özel durumda Debian / Ubuntu'nun pek bir fark yaratmadığını düşünüyorum. Ne yapar bir fark yaratmak soruların amacı; Yukarıda bağlanan dosya, öncelikle kurulumdan sonra bir noktada bozuk dosyaları algılamayı amaçlar; oysaki, kötü amaçlı olarak değiştirilmiş veya değiştirilmiş dosyaları veya belirtilen kaynak kodla uyuşmayan ikili dosyaları algılamayı amaçlamaktadır. Farklı problemler, bu yüzden linki sadece "muhtemelen faydalı" olarak etiketledim.
Bir CVn

3
İlginçtir ki, Gentoo'nun bile bu sorunu tamamen önlediğini düşünüyorum: orada, indirilen kaynak kod arşivlerine güvenmelisiniz. İstediğiniz tüm şifreleme imzalarını kullanın; İmzalı olanın orijinal olduğuna ve iddia edildiği gibi olduğuna güvenemiyorsanız, gerçekten yapılması gereken hiçbir şey yoktur.
Bir CVn

Yanıtlar:


36

Kaynak kodu indirebilir ve kendiniz derleyebilirsiniz. Ancak bekleyin - önce bu kaynak kodunu kontrol etmeniz gerekir, çünkü Canonical, NSA ile işbirliği yaptıysa, bir keylogger veya uzaktan etkinleştirilebilecek bir şeye izin vermek için bir yere bir kod girmiş olabilirler.

Yani...

  1. kaynak kodu indirdikten sonra,
  2. tüm kodu kontrol etmelisin,
  3. ve sonra derleyin!

Fakat bekleyin - derleyiciye güvenebilir misiniz ?


15
"Derleyiciye güvenebilir misin?" Bir teğete girip soruyu okuduğunuzda C derleyicisini sıfırdan nasıl derleyersiniz, sonra Unix / Linux'u sıfırdan (ve ilgili cevapları) derleyin .
Bir CVn

17
Fakat donanımınıza güvenebilir misiniz? Belki de bilgisayarınızı sıfırdan inşa etmelisiniz, ve birkaç sorunla karşılaştığınız yer ...
Thomas

Sanal makinenizi çalıştıran hipervizöre güvenebilir misiniz?
Fernando Correia,

1
Kaynağın, farklı yazarlardan benzer birkaç derleyicide derlenmesinde ve çıktıların farklılıklar için kontrol edilmesinde herhangi bir kullanımın olacağını sanmıyorum. Ancak yazarların takma adlar altında aynı varlık olmadığını nereden biliyorsunuz? Ya da daha muhtemel, tüm bu derleyiciler ortak bir bozuk ataya sahipse ne olur? Ve bunların hiçbiri, donanım sorunlarına yine de yardımcı olmaz.
Keen

6
Fakat bekleyin - size potansiyel olarak tehlikeye girmiş tüm bölgeleri söylemekten kaçınmak için askubuntu'nun NSA tarafından filtrelenmediğinden veya tamamen kontrol edilmediğinden emin olabilir misiniz?
TheZ,

9

"Ubuntu öyle diyor çünkü" kabul etmeye istekli değilseniz, o zaman yapamazsınız.


2
Özel sisteminizdeki ikili dosyaların sağlama toplamlarını karşılaştırarak Ubuntu orijinal ikili dosyalarıyla eşleşip eşleşmediğini doğrulamaya çalışabileceğinizi eklerdim. Tabii ki, uygun bir rootkit her durumda sistemin içinden kolayca tespit edilemez.
Peteris

2
Bu, yalnızca "orijinal Ubuntu ikili dosyalarının" tahrif edilmediğine güveniyorsanız işe yarar. Başka bir deyişle, eğer onların iyi olduğunu kabul ederseniz, çünkü Ubuntu öyle diyor. ;)
fkraiem

5

Ubuntu, kendi makinenizde bir paket derlemek için uygun araçlar sunar. Ancak, indirdiğiniz bir ikili pakette çalıştırılabilir dosyanın bu kaynak koddan edinildiğini kontrol etmenin bir yolu yoktur. Ubuntu tarafından kullanılan imzalama işlemi, üçüncü tarafların paketlere müdahale etme riskini büyük ölçüde azaltır, ancak yine de indirilebilir kaynak kodunda yansıtılmayan derlemeden önce hiçbir zararlı kod eklenmemiş olduğuna güvenmeniz gerekir.

Bunun nedeni, derlenmiş paketlerde olduğu gibi tam olarak aynı ikilileri elde etmenin çok zor olmasıdır, çünkü bunlar kesin derleyici sürümüne, seçeneklerine bağlıdır ve muhtemelen binaryde derlenmiş bazı yollar veya ortam değişkenleri vardır. Böylece, kendinizi derlerken tam olarak aynı ikili dosyayı elde edemezsiniz, bu da indirilen ikili dosyayı "doğrular".

Aslında tam olarak bu sorunun etrafında küçük bir araştırma topluluğu var - derlemenin tekrarlanabilir hale getirilmesi.

Bu having, bir manuel karşılaştırma ikili indirilen ve kendinden derlenmiş bir olabilir birisi sunan ikili ve çiftlerde gizlemek şeye kaynak kodu için riskli olurdu böylece bu tespit edilebilir gibi, / modifiye kod eklemiş saptar.

Ancak, daha önce de belirtildiği gibi, derleyiciye güvenme sorunu da var ...


4

İki farklı makinede aynı ikilileri oluşturmak zor bir problem. TOR projesi bunu kendi yapılarının düzenli bir parçası olarak yapıyor. Nasıl yaptıklarının bir açıklaması var. Debian ve Fedora , bu dağıtımlar için bunu mümkün kılan projelere sahip görünüyorlar, ancak daha erken aşamadalar. Bu Ubuntu yapılan herhangi bir çalışma var gibi görünmüyor .

Bir Ubuntu ikili Paketini çoğaltmak için, yaratıldığı ortamı mümkün olduğunca yakından çoğaltmanız gerekir. Buna başlamak için öncelikle bu paketlerin nerede ve nasıl derlendiğini bulmanız gerekir. Bu bilgiyi bulmak kolay görünmüyor.


Neyin spesifik olduğu ile ilgili detaylar?
Josef

Beni görmezden
Tim

0

Ubuntu'nun MD5'i ile kontrol ediyorum. Dosyalarınızdan aldığınız MD5, Ubuntu tarafından yayınlananla aynıysa, o zaman kimse aradaki ikili dosyalara müdahale etmedi.


Bu OP'nin sorusu değil. Ubuntu tarafından dağıtılan kaynak kodun, Ubuntu tarafından dağıtılan ikili dosyalarla aynı olmaması konusunda endişeli. Başka bir deyişle, "bu kaynak" diyorlar, ancak ikiliklerden oluşturdukları kaynakta aslında NSA tarafından tanıtılan bazı kodlar var. İkililerin inşa edildikten sonra tahrif edildiğinden endişelenmiyor.
John Chrysostom

OP, şu mesajı yayınladı: "Bu ikili dosyaların gerçekte Ubuntu’nun orijinal kaynak kodundan olduğunu nasıl doğrulayabilirim?" Cevabı bu soru için. Diğeri gülünçtür, kim Linux çekirdeğinin herhangi bir kişi tarafından tahrif edilmediğini (NSA veya kim?) Kolayca bilebilir, kodu indirebilir, okuyabilir ve bir kez daha kendiniz derleyin. Bunun dışında cevabım bu yorumun başında kopyaladığım soru için.
YoMismo

Aldığın soruyu cevaplamadın. MD5 kullanımı yalnızca bilgisayarındaki ikili dosyaların sunucudaki ikili dosyalarla eşleştiğini doğrulamasına izin verir. İndirdiği ikili dosyaların Ubuntu'nun sağladığı kaynaktan derlendiğini doğrulamasına izin VERMEYİN. Şimdi, sorularının sizin (ve diğerlerinin) belirttiğinden dolayı saçma olduğuna katılıyorum. Ama bu onun sorusu oldu.
John Chrysostom

0

Bu zor bir iştir, bence burada güven bu karmaşık işten daha iyidir. Ama soru güvenebilir misin?

Açık kaynaklı yazılım, kullanıcıların kodda değişiklik yapması için birçok özgürlük sağladığı için kimseye güvenemezsiniz.

Bu amaçla bir senaryo yapalım, kontrol etmek istiyorum Ubuntu == source code, bekle Neden paketleri kendi kaynakları ile karşılaştırmayı denemiyorsunuz?

  1. Ubuntu için kaynaktan bir ikili paket oluşturun.
  2. Kendiliğinden oluşturulmuş ikili paketi, dağıtım tarafından yayınlanan paketle karşılaştırdı.
  3. Kaynağı indirmek için apt-get -b kaynağını kullanın.

Fakat benim için iyi karşılaştırmam, size farklı zaman damgaları, ortamlar nedeniyle küçük farklı sonuçlar verir, ancak bunun kaynak kodundan olmadığını kanıtlar mı!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.