Ubuntu paketleri (deb dosyaları) yalnızca md5sum güvenli midir?


13

Aşağıdaki sorunun giriş bilgileri ###

(bu yüzden soru daha fazla kişi için daha kullanılabilir)
Bir Ubuntu / debian tarzı paketin (* .deb dosyası) /DEBIAN/md5sumsiçinde bu formun içeriğine sahip bir dosya var :

212ee8d0856605eb4546c3cff6aa6d35 usr / bin / file1
4131b66dc3913fcbf795159df912809f yol / dosya / dosya2
8c21de23b7c25c9d1a093607fc27656a yol / dosya / dosya3
c6d010a475366e0644f3bf77d7f922fd yol / dosya / yeri / dosya4

Bu dosyanın, paketle birlikte gelen dosyaların bir şekilde bozulmadığını kontrol etmek için kullanılacağını varsayıyorum. Dosya `/ DEBIAN / md5sums" olarak adlandırıldığından, yolun + dosya adı paket dosyalarının MD5 İleti Özeti Algoritması Karma'sından önce onaltılık sayıyı varsayıyorum .

Şimdi ilgilenen herkes MD5 Hash'in uzun zaman önce kırıldığını biliyor. Bu nedenle, paketteki bir dosyanın içeriğini değiştirmek (örn. Kötü amaçlı) ve yine de aynı MD5-Hash'e sahip dosyaya sahip olmak tamamen mümkündür (örneğin bkz . "Kazananı tahmin etme ...." kavramının ispatı ).

Soru

Yukarıdaki bilgileri göz önünde bulundurarak aşağıdakileri bilmek istiyorum:

** Ubuntu sistemime bir paket yüklediğimi varsayarsak. Mı DEBIAN/md5sumsemin verileri tahrif edilmemiş olmak için tek yolu? **

Soruyu cevaplamak, aşağıdakileri anlamaya yardımcı olabileceğini düşünüyorum:

  • Deb paketleri bir bütün olarak karma mıdır (Hashvalues ​​için yapılmış) böylece alınan dosyaların güvenliğini sağlamanın başka bir yolu da "güvenli" / "engellenmemiş"
  • DEBIAN/md5sumsDürüstlüğü sağlamak için dosyanın başka yolları varsa , * .deb paketlerine nasıl dahil edilir?
  • Ubuntu, SHA-1 ve MD5'ten "daha az kırılmış" depo / paket sistemi için karma kullanıyor mu?

maalesef ben de bilmiyorum.

Soruya ışık tutabilecek herhangi bir cevap (veya sadece bir soru) çok açıktır

Güncelleme

(1) https://help.ubuntu.com/community/Repositories/Ubuntu#Authentication_Tab , (umduğum gibi) bazı genel / özel gpg anahtarlarının (depoları ve paket sistemlerini güvende tutmak için) olduğunu gösteriyor gibi görünüyor saldırılardan. Bağlantılı konumdaki bilgiler çok fazla değil. Paket sisteminin güvenlik yönü hakkında neredeyse hiçbir şey söylemez. Her neyse, bağlantı zaten sorunun cevabının "HAYIR - en azından depodaki deb paketleri -" olacağını güvence altına aldığını varsayıyorum. Umarım birisinin burada cevap için kullanacağı bazı görüşler vardır.

(2) Bu soru aynı zamanda Ubuntu paket sisteminde "güvenlik" konusu ile ilgili gibi görünüyor. Bu yüzden sadece buraya eklemek istiyorum, böylece bir kişi soruyu anlamaya çalışırsa : Önerilen BADSIG (apt-get güncellemesinde) düzeltmeler neden güvenli?


1
debian.org/doc/debian-policy/… , SHA-1 ve SHA256 dosya başına sağlama toplamlarını desteklediğini gösterir, ancak aptsağlama toplamı ilkesinin ne olduğunu bilmiyorum .
kronit

1
@chronitis Oradaki bağlantı için teşekkürler. Gerçekten de SHA- * hashleri ​​orada soruşturuluyor Hala hala (henüz görmedim) veya paketler sisteminde nasıl göründüğünü bulmam gerekiyor. Endikasyon zaten iyi bir adım
humanityANDpeace

Yanıtlar:


21

Ubuntu, RSA anahtarıyla imzalanan bir bildirim yayınlar. Manifest Packages, her biri MD5, SHA-1 ve SHA-256 karmaları olan ayrı dizin dosyalarını listeler . Her Packagesdosya .debMD5, SHA-1 ve SHA-256 karmaları olan ayrı dosyaları listeler .

Doğrulama için apt, desteklediği en iyi karmayı kullanır ve indirdiği arşiv tarafından yayınlanır. Ubuntu arşivi söz konusu olduğunda, bu SHA-256'dır.

Bu yüzden Ubuntu sisteminize paket kurulum zincirinin tamamı RSA ve SHA-256 ile korunmaktadır.

Dpkg'da bulunan MD5 koruması gerçekten sadece kazara yolsuzluk için yararlıdır ve kurulum yolunu korumak için gerekli değildir.

debsumsPaketle ilgilenebilirsiniz , ancak MD5'leri kullandığından, yalnızca yanlışlıkla bozulmayı kontrol etmek için de yararlıdır.

Kötü amaçlı sistem değişikliğini kontrol etmek istiyorsanız, bunlar sizin için uygun araçlar değildir. Sistemi çevrimdışına almanız ve önceki bir kayda, orijinal paket dosyalarına veya bunlardan oluşturulan güvenli karmaları kontrol etmeniz gerekir.

Başarılı bir kötü amaçlı değişiklik, bir paketi güvenlik güncelleştirmesinden önce bir pakete düşürmek olabileceğinden, yüklü tüm paket dosyalarının orijinalleriyle eşleşip eşleşmediğinin kontrolünün yeterli olmayabileceğini unutmayın.


1
Daha net bir kavrayış kazandım. Bulmakta zorlandığım tüm bu bilgileri nereden buldunuz? Kullandığınız bazı dokümanlarınız / bağlantılarınız var mı? Ayrıca, bahsettiğiniz "indirgeme tehlikesi" nden bahsetmekten de memnunum, bu yüzden bunun ne kadar istismar edilebileceğini henüz anlamadım. Harika! Teşekkürler
humanityANDpeace

Apt veri havuzu formatının uygun bir şekilde belirtildiğine veya herhangi bir yerde belgelendiğine inanmıyorum. Bu kötü, ama böyle. En iyi (ve sadece bilgime göre) gerçek belgeler kaynaktır. Ayrıntıları biliyorum çünkü kaynakta çalıştım. Öte yandan, dpkg formatı Debian politikasında çok iyi tanımlanmıştır. Paketler sisteminize geldikten sonra olanları kapsar, ancak oraya nasıl ulaştıklarını kapsamaz. İkinci kısım apt.
Robie Basak

Eski sürüme geçme riski: Bu bir kenara bırakılmıştır ve orijinal sorunuzla gerçekten doğrudan bağlantılı değildir. A sürümünde istismar X bulunursa, güvenlik açığının düzeltildiği B sürümüne yönelik bir güvenlik güncelleştirmesi alırsınız. Eğer bir saldırgan A sürümünde X'ten yararlanabilirse, B'ye yükselttiğiniz için güvendesiniz. Ancak saldırgan sizi A'ya indirebilirse, tekrar savunmasızsınız demektir. Tüm güvenli karmaları yüklediğiniz paketlerle eşleşse bile bunu fark etmeyeceksiniz, çünkü paket veritabanınız B'nin değil A yüklü olması gerektiğini söyleyecektir
Robie Basak

2
@RobieBasak "Apt veri havuzu biçiminin herhangi bir yerde düzgün bir şekilde belirtildiğine veya belgelendiğine inanmıyorum." Açıkçası bu doğru değil. Sadece bakman gerek. Debian Wiki: RepositoryFormat
gertvdijk

6

Bunun bir yorum olmasını istedim, ancak kutuya sığamadım, bu yüzden buraya yerleştiriyorum.

Evet, md5 kriptolojik olarak kırıldı, ancak bu kötü bir genel amaçlı karma algoritması anlamına gelmiyor. Bir dosyayı aynı karmaya sahip olacak şekilde değiştirmek inanılmaz derecede zordur ve belirli bir kötü amaçlı değişiklikle bunu yapmak imkansızdır. Referans verdiğiniz örneğe bakarak ( Kazananı Tahmin Etme ) şunu görün:

"Belgeler ilk önce, yeterli miktarda rastgele bit içeren gizli bir görüntü nesnesi eklenmiş olarak geçerli PDF belgeleri olarak özenle hazırlandı. Daha sonra, yukarıda gösterilen elmas yapısına göre, onbir seçilen önek çarpışması hesaplandı ve gizli içine yerleştirildi bu şekilde on iki belge bir MD5 çoklu çarpışmasına dönüştürüldü. "

Yapılmış olan, karmaları eşleştirmek için dosyaları rastgele verilerle doldurmaktı . Teknoloji, bir dosyaya belirli kötü amaçlı kod ekleyebilecek ve hash'leri bozmadan sıralayabilecek veya dosyanın değiştirildiğini açıkça belirleyebilecek hiçbir yere yakın değil (apt'nin yapılıp yapılmadığını bilmiyorum, ancak birçok dosya karması tespit edilemeyen bir karmaşanın zorluğunu arttırmak için dosya boyutlarıyla birlikte).


3
cevap için teşekkür ederim. Ben tüm arka plan daha fazla ışık verir anlamında, iyi bir cevap olduğunu düşünüyorum :) Maalesef "Yığın ... Ubuntu sor" bazen sadece soruya kesinlikle cevap "ile zor ve bu yüzden büyük cesaret aldı konuyu ele almak.
humanityANDpeace

Hazırlanan PDf dosyaları rastgele verilere sahiptir ve tüm bu çabalarla sadece 104 kb'dir. Neden bunun imkansız olduğunu söyledin? Deb paketlerinde> 200kb olan tonlarca dosya bulunmalıdır ve burada böyle bir şey yapılabilir. Ben hayret yani kavram kanıtı gördükten sonra çok güvenli değildir hissediyorum ve beni şok
humanityANDpeace

Meşru dosyalarda, ince bir değişikliğin garip görünmeyeceği birçok yer vardır, örneğin bir metin dosyasındaki küçük boşluk farklılıkları. Hem yasal hem de istediğiniz hedef MD5 ile eşleşen kötü amaçlı bir dosya oluşturmak için yeterli kapsama sahip olmak için bu yerlerin yaklaşık 128'ini bulmanız yeterlidir. Bu özel saldırının bu duruma uygulanıp uygulanamayacağından emin değilim.
Robie Basak

@RobieBasak, saldırıyı yanlış anlıyorsun. Sadece bir dosyada 128 bayt değiştirmek ve md5sum korumak değil. Bir dosyanın iki kopyasına aksi takdirde iki rasgele veri kümesi gibi görünen bir yığın eklemek zorundasınız ve iki "rasgele" veri parçasının farklı olmasına rağmen, birbirleriyle aynı md5sum değerine sahip olacaklar.
psusi

1

Md5 "kırık" değildi. Buldukları şey, orijinal bir mesajı ve aynı hash'a sahip değiştirilmiş bir mesajı dikkatlice oluşturmanın bir yoluydu. (Doğru dosya) kurcalama amacıyla özel olarak üretilmemiş orijinal bir mesaj almak ve md5sum'unu koruyacak şekilde değiştirmek mümkün değildir.


tamam. Ancak "bozuk" değilse, şimdi MD5 güvenliğinin mevcut durumuna başvurmanın iyi bir yolu ne olabilir? Ne dediğini anlayabiliyorum ve bunu belirttiğin için teşekkürler. Hala vb MD5 geçerli güvenliğini değerlendirmek amacıyla merak
humanityANDpeace

@insanlıkANDpeace, "gayet iyi".
psusi

İyimser tavrı seviyorum. Hala kavramın kanıtı beni hayrete düşürdü. Teşekkürler!
humanityANDpeace

1
"Kripto uzmanları MD5'in kırık olduğunu düşünüyor. Bu nedenle kırık olarak kabul edilmelidir." dünyanın çalışma şekli bu değil @RobieBasak Bir kripto enthousist olarak (kendime "uzman" diyemem ama birkaç yıl önce kazmak zorunda kaldım) kendim MD5'in bozuk olduğunu belirtmeyeceğim. Sadece incelemeye değer ilginç bir durum var ama teorik atm gibi görünüyor. Ama Ubuntu'nun ambalajını kırmayacak;) 0 psusi'ye geri dön;)
Rinzwind

1
@jackweirdy, aslında, var, ve bu yüzden bunu yapmadılar. Yöntemleri, çok spesifik özelliklere sahip her iki veri kümesine dayanmaktadır. Genel bir anahtar çifti gibidir. Birbiriyle eşleşen bir çift anahtar oluşturabilirsiniz, ancak yalnızca bir tane verildiğinde, diğerini anlayamazsınız.
psusi
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.