Eğer MD5'in kendisi de potansiyel olarak manipüle edilmiş olsaydı, MD5 sağlama toplamlarının değeri nedir?


39

Web sitelerinde indirilenler, insanların dosyanın bütünlüğünü onaylamalarına izin veren bir MD5 sağlama toplamına sahiptir. Bunun yalnızca bozuk dosyaların bir soruna neden olmadan önce anında tanımlanmasına izin vermekle kalmayıp, aynı zamanda kötü amaçlı değişikliklerin kolayca algılanmasını sağlamak olduğunu da duydum.

Dosya yolsuzluğu söz konusu olduğunda mantığı takip ediyorum, ancak birisi kasıtlı olarak kötü amaçlı bir dosya yüklemek istiyorsa , ilgili bir MD5 sağlama toplamı oluşturabilir ve bunu indirme sitesinde değiştirilen dosyayla birlikte gönderebilir. Bu, dosyayı indiren birinin, değiştirilmemiş olduğunu düşünerek aldatmasını sağlar.

MD5 sağlama toplamları , sağlama toplamının kendisinin tehlikeye atılıp atılmadığını bilmenin bir yolu yoksa kasten değiştirilmiş dosyalara karşı nasıl bir koruma sağlayabilir ?


3
Web sitemize güveniyorsak, MD5 karma yerine otantiklik damgası gibi davranan ince zaman damgası tutarsızlıklarının farkına varıyorsak ... o zaman sağlama toplamı tarafından sağlanan koruma hemen hemen yok olmuştur.
Austin '' Tehlike '' Güç

4
@BigChris Ne demek istediğinden emin değilim, ama yanlış sesler. MD5 gibi şifreleme karma algoritmaları tamamen mesaj verisi ile ilgilidir. Aynı uzunlukta iki rastgele mesaj neredeyse kesinlikle farklı karmaşalara sahip olacaktır.
Matt Nordhoff

3
@MattNordhoff tam olarak. MD5 sağlama toplamı dosya verilerine dayanarak oluşturulan değilse, o zaman ne olduğunu o dayalı?
Austin '' Tehlike '' Yetkileri

2
MD5 karma verileri, verilerde oluşturulacaktı, evet, ancak aynı karma değere sahip kötü amaçlı bir dosya oluşturmak için fazla çaba sarf etmeyecek. Dediğim gibi, dosyanın kötü amaçlı olup olmadığını kontrol etmenin bir yolu yoktur. Oku: mscs.dal.ca/~selinger/md5collision
Kinnectus

2
Bazen hashlar birinci taraf sunucuda yayınlanırken, gerçek indirmeler üçüncü taraf aynalarda ve / veya CDN'lerde barındırılır.
el.pescado

Yanıtlar:


89

Bunun [...] herhangi bir kötü amaçlı değişikliğin de tespit edilmesine izin vereceğini duydum.

Öyleyse yanlış duydun. MD5 (veya SHA veya her neyse) sağlama toplamları ( yalnızca indirme bağlantılarının yanında, özel olarak ) yalnızca doğru bir indirme işlemini doğrulamak için sağlanmıştır . Garanti etmeyi hedefledikleri tek şey, sunucunuzla aynı dosyaya sahip olmanızdır. Ne fazla ne eksik. Sunucu tehlikede ise, SOL. Gerçekten bu kadar basit.


31
+1. Öncelikle yanlışlıkla yolsuzluğa karşı koruma için kullanılırlar (ağ transfer hataları, diskteki kötü sektörler vb.). Kötü amaçlı bozulmalara karşı korunmak için sağlama toplamının güvenilir bir bağlantısız konum oluşturması gerekir. PGP / GPG / benzer imzalı mesajlar için de aynı: genel anahtarı nereden aldığınıza güveniyorsanız içeriği yalnızca tamamen güvence altına alırlar.
David Spillett

1
Ayrıca difital imzalar (eğer Tasdik Otoritesi / sertifika güven varsayılarak) bu sınırlama adres olduğunu cevabınıza eklemek isteyebileceğiniz
atk

2
Bundan daha da kötüsü - eğer birisi trafiğinize sunucudan girip giremezse, sunucu tehlikede olmasa bile aldığınız dosyayı ve sağlama toplamını değiştirebilir.
cpast

3
Genişletmek için: o takdirde yaptığımız sunucu vardı gibi aynı dosyayı sahip olduğunu garanti size ağı güvenmek gerekmez anlamına geleceğini, bunun nedeni, meşru bir güvenlik önlemi olurdu. Bu tam olarak TLS’deki MAC’lerin yaptığı - sahip olduklarınızın sunucunun gönderdiği şey olduğunu kanıtlıyor, ancak TLS de tehlikeye atılmış bir sunucu için hiçbir şey yapamıyor. Güvenilir bir bağlantı üzerinden iyi bir karma iletilirse, güvenlik sağlayabilir (bu güvenilir bağlantıdan kaynaklanır); Dosyayla aynı bağlantı üzerinden gönderilirse, o zaman işe yaramaz çünkü dosyanın kendisinden daha fazla kurcalamaya karşı dayanıklı değildir.
saat

2
Bu yanlış. Bazen sağlama toplamı güvenli bir şekilde sağlanır, ancak indirme işlemi yapılmaz. MD5 bozulduğundan, MD5 sağlama toplamı sağladığı güvenlik, daha güvenli sağlama toplamlarından daha zayıftır, ancak MD5 kırılmadan önce, güvenli bir şekilde sağlanan bir MD5 (örneğin, HTTP’leri imzalayan veya gönderen) karşıdan yükleme, sunucunun kullanılabilir hale getirdiği dosyaydı. Şimdi daha ayrıntılı bir cevap ekleyeceğim.
Matthew Elvey

15

Dpkg gibi bazı paket yönetim sistemleri tarafından kullanılan çözüm, hasha imzalamaktır : hash'ı ortak anahtar imzalama algoritmalarından birine girdi olarak kullanın. Http://www.pgpi.org/doc/pgpintro/#p12 adresine bakın.

İmza sahibinin ortak anahtarına sahipseniz, karma değerin değiştirilmediğini kanıtlayan imzayı doğrulayabilirsiniz. Bu sadece size doğru ortak anahtarı edinme sorununu önler, ancak bir kez anahtar dağıtımı değiştirirse, aynı zamanda doğrulayabileceğiniz her şeyi kurcalamak zorunda kalırsa, aksi halde garip bir şeyin olduğunu farkedersiniz.


9

Senin varsayımın doğru. Yine de bir istisna var. Dosyayı ve sunucuyu sağlayan sunucu aynı varlık tarafından yönetilmezse. Bu durumda, yazılım geliştiricisi "hey insanlar bunu o yerden indirir ancak yalnızca eğer hash = xxxx ise inanıyorum" diyebilir. (Bu örnek olarak CDN'ler için faydalı olabilir). Sanırım birisinin bunu ilk başta yapmasının nedeni buydu. Diğerlerinden daha az, hash göstermenin ne kadar havalı olacağını düşünerek takip ettiniz. Hem dosya hem de karma aynı yerde değil, ne kadar yararlı olduğunu bile düşünmüyorum.

Bunu söyledikten sonra, buna değer. Daha önce de belirtildiği gibi güvenlik hakkında çok fazla varsaymayın. Ve eğer sadece orijinal hash'a kesinlikle güvenebilirseniz, dosya iyidir. Aksi halde, yeterli motivasyon ve bilgi birikimine sahip bir saldırgan, farklı sunucularda bulunsa ve farklı varlıklar tarafından yönetilse bile, hem dosyayı hem de hasarı değiştirebilir.


8

Bazen sağlama toplamı güvenli bir şekilde sağlanır, ancak indirme işlemi yapılmaz. Yana MD5 bozuldu , MD5 sağlama sağlayan güvenlik daha güvenli sağlama daha zayıf olmakla birlikte, MD5 kırıldı önce, bir güvenle temin MD5 MD5 ait eşleşen (örneğin bir PGP veya GPG veya Gatekeeper ile imzalanan veya HTTPS üzerinden getirilen olduğunu) indirme işlemi, indirme işleminin sunucunun kullanılabilir duruma getirdiğinin bir kanıtı olduğunun kanıtıydı.

Burada yıllardır lamine edilebilir güvenli sağlama toplamı eksikliği hakkında yazıyorum .

Kullanıcılar, güvenilmeyen ağları üzerinden güvenilmeyen çalıştırılabilir dosyaları indirmemeli ve MITM saldırıları riski nedeniyle çalıştırmamalıdır. Bakınız örneğin, "Otomatik güncelleme sistemleri içindeki güvenlikler", P. Ruissen, R. Vloothuis.

2014 Eki: Hayır, yanlış DEĞİL "web sayfalarında yayınlanan sağlama toplamlarının kötü amaçlı değişiklikleri tespit etmek için kullanılması", çünkü bu onların gerçekleştirebileceği bir roldür. Yanlışlıkla yolsuzluğa karşı korunmaya yardımcı olurlar ve HTTPS üzerinden veya doğrulanmış bir imza ile servis yapılırsa (veya her ikisinden de iyisi) kötü amaçlı yolsuzluğa karşı korunmaya yardımcı olurlar! HTTPS üzerinden sağlama toplamı aldım ve HTTP indirmelerini birçok kez eşleştirdiklerini doğruladım.

Günümüzde, ikili dosyalar genellikle imzalı, otomatik olarak doğrulanan karmalar ile dağıtılmaktadır, ancak bu bile tam olarak güvenli değildir .

Yukarıdaki bağlantıdan alıntı: "KeRanger uygulaması geçerli bir Mac uygulaması geliştirme sertifikasıyla imzalandı; bu nedenle, Apple'ın Gatekeeper korumasını atlayabildi." ... "Apple o zamandan beri kötüye kullanılan sertifikayı iptal etti ve XProtect antivirüs imzasını güncelledi ve İletim Projesi kötü amaçlı yükleyicileri web sitesinden kaldırdı. Palo Alto Networks, KeRanger'in sistemleri etkilemesini engellemek için URL filtreleme ve Tehdit Önleme özelliğini de güncelledi. Teknik Analiz

İki KeRanger bulaşmış Transmission kurucusu Apple tarafından verilen yasal bir sertifika ile imzalandı. Geliştirici bu sertifikayı listeledi, Z7276PX673 kimliği olan ve İletim yükleyicisinin önceki sürümlerini imzalamak için kullanılan geliştirici kimliğinden farklı olan bir Türk şirketi. Kod imzalama bilgilerinde, bu yükleyicilerin 4 Mart sabahı oluşturulduğunu ve imzalandığını gördük. "

2016 Addenda:

@Cornstalks: Re. Aşağıdaki yorumunuz: Yanlış. Şu anda belirtildiği gibi, "2007'de MD5'e karşı seçilmiş bir önek çarpışma saldırısı bulundu" ve "saldırgan rasgele iki farklı belge seçebilir ve daha sonra tümüyle sonuçlanan farklı hesaplanmış değerler ekleyebilir. eşit değere sahip belgeler. " Bu nedenle, MD5 güvenli bir şekilde sağlansa ve bir saldırgan değiştiremezse bile, saldırgan yine de kötü amaçlı yazılım içeren bir seçili önekle seçilen önek çarpışma saldırısını kullanabilir, bu da MD5'in kripto amaçlı güvenli olmadığı anlamına gelir. Bu büyük ölçüde US-CERT’in MD5’in “daha ​​fazla kullanım için kriptografik olarak kırılmış ve uygun görülmemesi gerektiğini” söyledi.

Birkaç şey daha: CRC32 bir sağlama toplamıdır. MD5, SHA vb. Sağlama toplamından daha fazlasıdır; güvenli karma olmaları amaçlanmaktadır. Bu, çarpışma saldırılarına karşı çok dayanıklı olmaları gerektiği anlamına gelir. Bir sağlama toplamından farklı olarak, güvenli bir şekilde iletilen güvenli bir karma, MITM'nin sunucu ile kullanıcı arasında olduğu ortadaki bir adam (MITM) saldırısına karşı koruma sağlar. Sunucunun kendisinin tehlikeye attığı bir saldırıya karşı koruma sağlamaz. Buna karşı korumak için, insanlar genellikle PGP, GPG, Gatekeeper vb. Gibi şeylere güvenirler.


Bu cevabı beğendim, çünkü bir sağlama toplamının temel bir bölümünü vurguluyor - bir dosyanın içeriğinin geçerliliğini kontrol etmek için birçoğu tek bir ölçüttür. Eğer ağın kendisi güvenilmez ise, MD5 karmalarını değiştiren ve ikilileri yayan (bir bazı Tor çıkış düğümlerinde görmüş olduğumuz gibi) anında bir tane hayal etmek imkansız değildir ... Tabii ki, MD5 karşı koruma sağlamıyor kasıtlı olarak değiştirilmiş dosyalar ;
Atılım

2
MD5 tamamen kırılmadı: saldırı , bir ön ataşman değil, çarpışma saldırısıdır (ki bu çok daha kötü olurdu). MD5 güvenli bir şekilde sağlandıysa ve bir saldırgan bunu değiştiremezse, saldırgan bir çarpışma saldırısı kullanamaz (ve bir preimage saldırısı kullanmalıdır), bu da MD5'in bu amaç için oldukça güvenli olduğu anlamına gelir. MD5, çarpışma güvenlik açığı nedeniyle ortadan kaldırılmaya değer, ancak (bilinen) bir preimage güvenlik açığı bulunmuyor, bu nedenle tamamen bozulmadı. Sadece yarısı kırık.
Cornstalks

1! Ama ... İmzalı bir karma gerçekten https (ssl / tls) üzerinden alınan imzasız bir karma kadar güvenli ( güvenilir ) mi? Sanırım yine de
hash'ın

4

Bu, yayınlanan sağlama toplamlarının kesin nedenidir; "Bu, dosyanın kötü amaçlı değişikliklerine karşı koruyamaz" diyen bir feragatnamedir. Bu nedenle, kısa cevap "sayfanın HTTPS üzerinden teslim edilmesine rağmen kasıtlı olarak değiştirilmiş bir dosyaya karşı herhangi bir koruma sağlayamaz" şeklindedir (HTTPS üzerinden teslim edilirse, HTTPS kendisi değişikliklere karşı korur; o zaman bu bazılarına yardımcı olabilir, ancak ortak bir durum değildir). Web sayfalarına gönderilen kontrol toplamlarının kötü amaçlı değişiklikleri tespit etmek için kullanıldığını söyleyenler yanlıştır, çünkü bu onların gerçekleştirebileceği bir rol değildir; tek yaptıkları, kaza sonucu yolsuzluğa ve tembel kötü niyetli yolsuzluğa karşı korunmaya yardımcı olmaktır (eğer biri size sağlama toplamı veren sayfayı kesmekle uğraşmazsa).

Kasıtlı değişikliklere karşı korunmak istiyorsanız, kişilerin sağlama toplamı ile uğraşmasını engellemeniz veya başka birinin geçerli bir sağlama toplamı oluşturmasını imkansız hale getirmeniz gerekir. İlki, şahsen veya benzeri bir şekilde dışarıda bırakılmasını içerebilir (böylece sağlama toplamının kendisine güvenilir); ikincisi, dijital imza algoritmalarına gider (burada genel anahtarınızı indiriciye güvenli bir şekilde almanız gerekir; TLS'de bu, sertifika yetkililerine doğrudan güvenerek ve herkesi doğrulamalarını sağlayarak yapılır; ayrıca, bir güven ağı üzerinden de yapılabilir; , ama mesele şu ki, bir şeyin bir noktada güvenli bir şekilde transfer edilmesi gerekiyor ve sitenize bir şey göndermek yeterli değil).


2
Bir dosya bağımsız bir sürümün beklenen sürümünün ne olması gerektiğini, bağımsız bir kaynak aracılığıyla bilen varsa , karmalar kötü niyetli değişikliklere karşı koruma sağlayabilir . Web sitesinin dosyalarının karma değerlerini listelemesinin değeri, bir siteden dosya indiren kişilerin aynı siteye karşı indirilen dosyanın karmaşasını kontrol etmelerine izin vermek yerine, başka bir kaynaktan tanıyanların onlar dosyanın karma istiyorum , onlar indirmeden önce söz konusu dosya bunu maç olacak olmadığını bilmek. BTW, görmek istediğim bir şey var ...
supercat,

... beklenen bir karma değeri içeren bir URL / URI biçimi (muhtemelen MD5 yerine SHA) ve bir tarayıcının yalnızca karma belirtilenle eşleşirse bir dosyayı kabul etmesi gerektiğini belirtirdi. Aynı büyük dosyaya birçok kişi tarafından erişilmesi gerektiğinde, tüm bu kişilere https: // üzerinden bir URL verilmesi ancak dosyayı bir proxy'den indirmeleri, hepsinin https: // kullanmasından daha verimli olabilir doğrudan kaynaktan.
Supercat,

@supercat "İnsanları sağlama toplamıyla karıştırmaktan kaçınmak" derken bunu kastediyorum: bir şey güvenli bir şekilde aktarılmalı ve sağlama toplamı ise, sağlama toplamı dosyaya kötü niyetli olarak müdahale etmekten korunmaya yardımcı olabilir.
cpast

Bir MD5 sağlama kendisi oynamaya karşı koruma sağlayacak bir dosyası dışındaki bazı yol üzerinden iletilen sürece dosya kasten böyle kurcalama kolaylaştırmak için oluşturuldu. Buna karşılık, CRC32 gibi bir şey, dosyanın orijinal kaynağı güvenilir olsa ve CRC32 güvenli bir şekilde teslim edilse bile kurcalamaya karşı neredeyse hiçbir koruma sağlamaz.
supercat

4

Bu gerçekten bir problem. İndirilen dosyayla aynı sitede sağlama toplamı gösterilmesi güvenli değildir. Dosyayı değiştirebilen bir kişi de sağlama toplamını değiştirebilir. Sağlama toplamı tamamen ayrılmış bir sistem aracılığıyla gösterilmelidir, ancak bu mümkün değildir, çünkü kullanıcıya sağ sağlama toplamının bulunduğu yeri nasıl güvenli bir şekilde söyleyeceğimiz açıktır.

Muhtemel bir çözüm, imzalı dosyaların kullanılmasıdır.

(BTW: MD5 hiçbir yerde güvensiz ve artık kullanılmamalıdır.)


2

MD5 sağlama toplamları , sağlama toplamının kendisinin tehlikeye atılıp atılmadığını bilmenin bir yolu yoksa kasten değiştirilmiş dosyalara karşı nasıl bir koruma sağlayabilir ?

Tamamen haklısın. Amaç, o zaman, "eğer" yanlış yapmak olacaktır - bir dosyanın güvenli kriptografik hash biliyorsanız değildir tehlikeye, o zaman dosya ya tehlikeye atılmamasını biliyoruz.

Örneğin, web sitenizde bir dosyanın özetini yayınlarsanız ve ardından üçüncü taraf bir ayna sunucusundaki dosyanın bir kopyasına bağlanırsanız - eski moda ücretsiz yazılım dağıtımında yaygın bir uygulama - kullanıcılarınız bazı türlere karşı korunabilir Saldırıların Ayna sunucusu kötü amaçlıysa veya tehlikede ise, ancak web siteniz tamamsa, ayna dosyanızı altüst edemez.

Web siteniz HTTPS kullanıyorsa veya hash ile imzalarsanız, gpgdosyanız ayrıca (çoğunlukla) kötü amaçlı Wi-Fi noktaları, haydut Tor çıkış düğümleri veya NSA gibi ağ saldırganlarından korunabilir.


1
Gpg ile ilgili olarak: genel anahtarın tamamen tehlikeye atılmadığı ve buna karşılık gelen özel anahtarla imzalanan içeriğin tamamen değiştirilmediğinden tamamen emin değilseniz, bunun benzer bir sorunu olduğunu unutmayın.
David Spillett

1

MD5 sağlama toplamını, dosyayı da değiştirmeden değiştiremezsiniz. Dosyayı karşıdan yüklerseniz, ardından hash'ı indirirsiniz ve sonra dosyanın hesaplamanız verilmiş olanla eşleşmez, karma ya da dosya yanlış veya eksik olur.

Dosyayı yazar, makine vb. Gibi harici bir şeye "bağlamak" istiyorsanız , sertifikaları olan bir PKI türü işlem kullanılarak imzalanması gerekir . Dosya yazarı, vb. Dosyayı kendi özel anahtarıyla imzalayabilir ve kamuya açık olması gereken, hem sizin hem de yazıcının güvendiği ve indirilebilir bir CA tarafından imzalanabilen, tercihen sizin çoklu konumlar.

Dosyayı değiştirmek imzayı geçersiz kılar, bu yüzden dosya bütünlüğünü doğrulamak için de kullanılabilir.


1

Hash'lar, dosya sürümünüzün ("indirme") sunucunun sürümünden farklı olup olmadığını gösterir. Dosyanın doğruluğuna dair hiçbir garanti vermezler.

Dijital imzalar (asimetrik şifreleme + karma işlevi), dosyanın ilgili özel anahtara sahip olmayan herhangi biri tarafından değiştirilmediğini doğrulamak için kullanılabilir.

Dosyanın yaratıcısı dosyayı karma alır ve (gizli) özel anahtarını kullanarak karma şifreler. Bu şekilde, karşılık gelen (gizli olmayan) genel anahtarı olan herkes, dosyanın dosyayla eşleştiğini doğrulayabilir, ancak dosya içerikleri değiştirilebilse de, kimse, karşılık gelen kareyi dosyayla eşleşen olanla değiştiremez (karma kodu çözüldükten sonra açık anahtar) - özel anahtarı kaba bir şekilde zorlamayı başaramazlarsa veya bir şekilde ona erişemezlerse.

Bay "A.Hacker" ın dosyayı değiştirmesini, sonra da kendi özel anahtarıyla imzalamasını engelleyen ne?

Dosyayı doğrulamak için, karma dijital imzanın şifresini çözerek elde ettiğiniz hash ile karşılaştırmanız gerekir. Dosyanın "IMAwesome" olduğunu düşünüyorsanız, anahtarını kullanarak karma şifresini çözersiniz ve karma, A.Hacker's anahtarını kullanarak şifrelenmiş olduğundan, karma dosyayla eşleşmez.

Bu nedenle dijital imzalar hem kazara hem de kötü niyetli değişiklikleri tespit etmeyi sağlar.

Ama ilk olarak IMAwesome'nın genel anahtarını nasıl elde ederiz? Anahtarını elde ettiğimizde, aslında A.Hacker'in anahtarının, tehlikeye atılmış bir sunucu veya ortadaki adam saldırısı tarafından sunulmasının sağlanmamasını nasıl sağlayabiliriz? Bu, sertifika zincirlerinin ve güvenilir kök sertifikaların girdiği, ikisi de sorunun tamamen güvenli olduğu [1] çözümler değil ve ikisi de Wikipedia'da ve SO hakkındaki diğer sorularda muhtemelen iyi açıklanmalı.

[1] İnceleme üzerine, çalışma bilgisayarımda Microsoft OS ile birlikte gönderilen kök sertifikalar ABD Hükümeti'nden bir sertifika içeriyor. İlgili özel anahtar öksürüğü NSA öksürüğüne erişimi olan herhangi biri bu nedenle, "adres çubuğunda bir asma kilit var mı" kontrolünden geçen web tarayıcımda içerik sunabilir. Asma kilit tıklamak ve bağlantı anahtarını "güvenli kılmak" için anahtar çiftinin kimler tarafından kullanıldığını görmek için kaç kişi gerçekten canını sıkacak ?


Bir skandala neden olmak için sertifika zincirini kontrol eden sadece bir kişi alır. NSA'nın, özel olarak tutulan veya hatta daha iyi bir yabancı sertifika otoritesinden çalınan birini kullanmak yerine (dolayısıyla makul bir inkar edilebilirlik sağlamak için) bir MITM için hükümet CA anahtarı kullanacağını düşünüyorsanız, sizi satabilecek bir köprüm var.
Charles Duffy,

Belirli bir kullanıcıdaki bir MITM'yi hedeflemenin mümkün olabileceğini öne sürüyordum. Aslında muhtemel olup olmadığına gelince, bu teneke folyo insanlar üzerinde tartışmak için
Mark K Cowan

Hedeflenen bir MITM'in muhtemel olup olmadığını sorgulamıyorum. Bunu gerçekleştirmek için kolayca izlenen ve atfedilen bir CA anahtarı kullanacak kadar dikkatsiz olup olmadığını sorguluyorum. Özellikle yeterince yüksek değerli bir hedef için, giden 'net trafik, SSL anlaşmasının genel bölümünü içeren ve dahil olmak üzere meta verileri içerecek kadar ayrıntılı bir şekilde kaydedilmekle yükümlüdür, bu nedenle kullanıcı bakmasa bile, güvenlik personeli veya otomatik altyapı bunu retrospektif analizlerde yapabilir.
Charles Duffy

1

MD5 sağlama toplamları , sağlama toplamının da tehlikeye atılmadığını bilmenin bir yolu olmadığı takdirde, kasten değiştirilmiş dosyalara karşı nasıl bir koruma sağlayabilir ?

Bu gerçekten iyi bir soru. Genel olarak, MD5 manipülasyonu değerlendirmeniz yerindedir. Ancak indirmelerdeki MD5 sağlama toplamlarının değerinin en iyi yüzeysel olduğuna inanıyorum. Belki de bir dosyayı indirdikten sonra, bir web sitesine karşı sahip olduğunuz MD5'i kontrol edebilirsiniz, ancak yan yana MD5 depolama alanını “makbuz” olarak görmeye eğilimliyim, ancak güvenilir ancak hoş olmayan bir şey. Bu nedenle, genellikle indirilen dosyalardan MD5 sağlama toplamlarını hiç umursamadım, ancak geçici sunucu tabanlı MD5 işlemleri oluşturma deneyimimden söz edebilirim.

Temel olarak, bir müşteri MD5 sağlama toplamları için bir dosya sistemini taramak istediğinde yaptığım şey, onları dosya adını, yolu, MD5'i ve diğer çeşitli dosya bilgilerini eşleştiren CSV dosyalarında üretip, daha sonra aldığım yapılandırılmış bir veri biçiminde oluşturmaktır. karşılaştırma ve depolama için bir veritabanına.

Bu nedenle, örneğin, bir MD5 sağlama toplamı kendi metin dosyasındaki bir dosyanın yanına otururken, MD5 sağlama toplamı otoritesi bağlı olmayan bir veritabanı sisteminde saklanır. Birisi bir şekilde bir veriyi işlemek için bir dosya paylaşımına hacklenmişse, bu davetsiz misafir MD5 otorite kayıtlarına veya bağlı geçmişe erişemez.

Geçenlerde ACE Audit manager adında güzel bir kütüphane arşiv yazılımı buldum . MD5 değişiklikleri ile değişiklikleri günlüğe kaydeder. Ve benim geçici işlemime benzer bir felsefe üzerinde çalışır - sağlama toplamlarını bir veritabanında saklar - ancak bir adım daha ileri götürür, ancak bir karma ağacı veya Merkle ağacı olarak bilinen bir MD5 sağlama toplamı yaratır .

Diyelim ki koleksiyonunuzda 5 dosyanız var. ACE Audit yöneticisindeki bu 5 dosya daha sonra bir tane daha alırdı - hadi “parent” diyelim - her dosyanın 5 MD5 sağlama toplamından üretilen bir karma. Bu yüzden eğer birisi sadece bir dosyaya müdahale ederse, dosya için karma değişecek ve tüm “üst” koleksiyon için karma olacaktır.

Genel olarak, MD5 sağlama toplamlarına ve ilgili bütünlük karmalarına bakmanız gereken yol, MD5 karmalarının kendileri için doğrudan olmayan bir depolamaya bağlanmadıkları sürece, bozulabilirler. Uzun vadeli veri bütünlüğü aracı olarak değerleri, yeni bir bagajda “ücretsiz” olan ucuz bir kilite eşittir; Bagajınızı kilitlemede ciddi iseniz, bir ataş ile 5 saniyede açılamayan bir kilit elde edersiniz.


"MD5 sağlama toplamı MD5 sağlama toplamı", Merkle Ağacı olarak bilinir .
pjc50

@ pjc50 Teşekkürler! Buna atıfta bulunmak için cevabı düzenlendi.
JakeGould

0

hız

Genellikle insanlar (a) güvenilmeyen "yakındaki" içerik dağıtım ağlarından (CDN), ayna sitelerinden, torrent arkadaşlarından, vb. Büyük bir dosyayı indirmek ve buna karşılık gelen kısa sağlama toplamı dosyasını (genellikle SHA256; eski yazılımları) indirmekten çok daha hızlı olduğunu bulur. genellikle birkaç güvenilir kaynaktan MD5) kullandı. Büyük dosyayı doğrudan güvenilir bir kaynaktan (b) indirmek için dayanılmaz derecede yavaş buluyorlar.

onaylama

Genellikle bu kişi her şeyin doğrulandığını tespit eder - kaynaklar (güvenilir ve güvenilmeyen) aynı sağlama toplamı üzerinde hemfikir olur ve bu kısa sağlama toplamı dosyalarından herhangi biriyle shasum (veya md5sum) çalıştıran (hepsinin aynı olduğu önemli değildir) ), büyük dosyanın eşleşen bir sağlama toplamı olduğunu gösterir.

değişiklik

Mallory, bazı indirme sitelerinde oturan büyük bir dosyayı kötü niyetli olarak değiştirdiğinde, aynı indirme sitesindeki Shasum (veya md5sum) yazılımının kötü niyetli checksum dosyasını çalıştırmasını sağlamak için Mallory'nin o dosya için sağlama toplamını almasının kolay olacağını düşünüyorsunuz. Büyük dosyayı doğrulamak gibi görünüyor. Ancak bu sağlama toplamı dosyası, indirme işleminin doğrulama için kullanması gereken (yalnızca) dosya değildir.

İndirici dosyaları güvenilir kaynaklardan indirilen sınamaya o kötü niyetli toplamı dosya karşılaştırır zaman orijinal sağlama hatta bir kez arasından kayıp eğer, o zaman indirici her şeyin yapar göreceksiniz değil validate ve bu şey gitti yanlış vardır bilecektir.

Cpast'ın daha önce de söylediği gibi, güvenilir bir bağlantı üzerinden iyi bir şifreleme sağlama toplamı iletilirse, güvenlik sağlayabilir (güvenilir bağlantıdan türetilmiştir).

Supercat'in daha önce de söylediği gibi, sağlama toplamı dosyaları bir sitenin aynı siteden büyük dosyaları indirenlere ve sağlama toplamı dosyalarını indirdikleri şekilde yardımcı olmaz - başka bir siteden dosya indirmek isteyen kişilere yardımcı olurlar.

"Güvenlik açısından, MD5 gibi kriptografik karma değerler güvensiz aynalardan elde edilen verilerin doğrulanmasına izin verir. MD5 karma imzalı veya güvendiğiniz bir kuruluşun güvenli bir kaynağından (HTTPS sayfası) gelmelidir." - https://help.ubuntu.com/community/HowToMD5SUM

Şifreleme sağlama toplamları, pratik genel anahtar imzaların (GnuPG ve diğer OpenPGP uyumlu yazılımlarda uygulandığı gibi) önemli bir parçasıdır. Genel anahtar imzaların yalnızca sağlama toplamı üzerinde bazı avantajları vardır.


0

Bunu duydum [MD5 sağlama toplamı], [...] da kötü amaçlı değişikliklerin kolayca algılanmasına izin vermek olduğunu.

Eh, sen duymamış tamamen yanlış . Dijital imza aslında kötü amaçlı değişiklikleri tespit etmek için kullanılan şeydir. Bazı önemli nedenlerden dolayı karma , orijinal imzanın tamamının değil, yalnızca imzanın imzalandığından dijital imzanın temel bir parçasıdır .

Bu varlık dedi kaynak karma ve bunu doğrulamak için güvenilir bir şekilde imzasını sağlamaması halinde , o zaman doğru, konum hiçbir koruma karşı verilen kasten değişmiş dosyalar , ancak karma olduğu hala karşı bir sağlama olarak yararlı Yanlışlıkla yolsuzluk .

İşte her şeyi netleştirebilecek gerçek bir dünya örneği . Aşağıdaki bölüm özellikle konuyla ilgili önemlidir:

Daha eski arşivlenmiş CD sürümleri için yalnızca MD5 sağlama toplamları üretildi [...] Yeni sürümlerde daha yeni ve kriptografik olarak daha güçlü sağlama toplamı algoritmaları (SHA1, SHA256 ve SHA512) kullanıldı

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.