macOS, Windows veya Linux'ta yazılım yüklemek için bir ISO imajı veya DMG dosyası indirdiğimizde, her şeyin "iyi göründüğü" yeterli değildir. Verilerin geliştiricinin yayınladığıyla aynı olduğundan , yol boyunca bozulmadığından ve kimsenin kötü niyetli olarak müdahale etmediğinden emin olmalıyız .
Bu bağlamda, sağlama toplamları, kriptografik özetler ve macOS söz konusu olduğunda dijital imzalar ve sertifika doğrulaması devreye girer . Tüm bunların nasıl çalıştığını sağlam bir şekilde anlamak, bir yükleyiciye güvenmek, balenaEtcher veya Ventoy ile bir USB sürücüsüne yazacağınız bir ISO dosyasını doğrulamak ve genel olarak önemli dosyaları sorunsuz bir şekilde taşımak için çok önemlidir.
Sağlama toplamı tam olarak nedir ve ne gibi bir rol oynar?
Sağlama toplamı, özünde bir dosyanın içeriğini özetleyen alfanümerik karakterlerden oluşan bir dizidir . Dosyanın bitlerine matematiksel bir algoritma (kriptografik bir karma fonksiyonu) uygulanarak elde edilir ve bütünlüğünü doğrulamak için benzersiz bir parmak izi görevi görür.
Bir yazılım satıcısı bir yükleyici, ISO veya büyük bir güncelleme yayınladığında, genellikle bir sağlama toplamı da ekler. Kullanıcı dosyayı indirir, aynı türde bir karma değeri yerel olarak hesaplar ve iki değeri karşılaştırır : eğer eşleşirse, dosya büyük olasılıkla orijinaliyle aynıdır; eşleşmezse, bir sorun oluşmuştur (indirme sırasında bozulma, kötü amaçlı manipülasyon, depolama hataları vb.).
Bu toplamlar ayrıca karma değerler, karma kodlar, karma toplamlar veya kısaca karmalar olarak da bilinir . Kullanışlılıkları indirmelerin çok ötesine uzanır: ağlardaki paketleri doğrulamak, veritabanlarında parolaları güvenli bir şekilde saklamak, e-postaları imzalamak veya tüm disklerin adli görüntülerinin bütünlüğünü sağlamak için kullanılırlar.
Bir karma fonksiyonu nasıl çalışır: dosyadan parmak izine
Kriptografik karma fonksiyonları tek yönlü algoritmalardır: herhangi bir boyutta girdi alırlar ve sabit uzunlukta bir çıktı üretirler . Girdi dosyasının birkaç kilobayt veya birkaç gigabayt olması fark etmez; örneğin SHA-256'nın sonucu her zaman 256 bitlik bir dizi (64 onaltılık karakter) olacaktır.
Önemli bir özellik, çığ etkisi olarak adlandırılan durumdur: Giriş verilerindeki minimal bir değişiklik, tamamen farklı bir karma değerle sonuçlanır . "This is a test." ifadesinin MD5 karmasını hesaplayıp sondaki noktayı kaldırırsanız, elde edilen değer tamamen farklı olacaktır; bu da en ufak değişiklikleri bile tespit etmenizi sağlar.
Ayrıca, iyi bir karma fonksiyonu, orijinal içeriğin karma değerinden yeniden oluşturulmasını hesaplama açısından imkansız hale getirecek ve aynı değeri üreten iki farklı girdiyi (çakışma) bulmayı son derece zorlaştıracak şekilde tasarlanmıştır. MD5 veya SHA-1'de olduğu gibi, bir algoritmada pratik çakışmalar keşfedildiğinde, belirli kullanımlar için güvenli olmadığı kabul edilir.
Sağlama toplamı algoritmalarının türleri ve aralarındaki farklar
Her sağlama toplamının ardında belirli bir algoritma bulunur. Bunların hepsi aynı amaca hizmet etmez veya aynı güvenilirlik düzeyini sunmaz ve herhangi bir anda ne kullandığımızı anlamak için en yaygın kategorileri bilmek faydalıdır.
Basit hata kontrol algoritmaları
Temel ağlarda ve sistemlerde, gerçek anlamda kriptografik olmayan ancak iletim hatalarını tespit etmeye yardımcı olan hafif mekanizmalar on yıllardır kullanılmaktadır. Klasik bir örnek , verileri n bitlik kelimeler halinde gruplandıran, bunların tümü üzerinde XOR işlemi gerçekleştiren ve sonucu fazladan bir kelime olarak sona ekleyen boylamsal eşlik kelimesi veya baytıdır.
Veri alındığında, toplam kelimesi de dahil olmak üzere XOR işlemi yeniden hesaplanır ve sonuç tamamen sıfır değilse, bir hata olduğu varsayılır . Bu yöntem hesaplama açısından ucuzdur ve tek bitlik veya tek sayılı bit hatalarına karşı oldukça etkilidir, ancak belirli kalıpları (iki kelimedeki simetrik değişiklikler veya blok yeniden sıralaması gibi) iyi tespit edemez.
İki'nin tümleyeni algoritması, önceki yöntemi iyileştirme girişimiydi. Kelimeleri işaretsiz ikili tamsayılar olarak toplar ve bu toplamın iki'nin tümleyenini bir kontrol toplamı olarak ekler. Hedefte, kontrol toplamı da dahil olmak üzere her şey tekrar toplanır ve sonuç sıfırlardan oluşan bir kelime değilse, bir şeyler ters gitmiştir. Basit kalır ve eşlik gibi basit hataları tespit eder, ancak kasıtlı manipülasyona karşı dayanıklı değildir.
Konuma bağlı sağlama toplamları
Hataların fark edilmeden kalma olasılığını azaltmak için, yalnızca kelimelerin değerlerini değil, aynı zamanda sıralarını da dikkate alan algoritmalar ortaya çıktı. Konuma bağlı sağlama toplamları, dizideki konumuna bağlı olarak her bloğa farklı bir ağırlık atar.
Bu ailenin örnekleri arasında Adler-32, çeşitli CRC (döngüsel yedeklilik kontrolü) türleri ve Fletcher'ın sağlama toplamı yer almaktadır. Tekrarlanan hataların, blok eklemelerinin veya silmelerinin tespitini önemli ölçüde iyileştirdikleri için ağ protokollerinde, sıkıştırılmış dosyalarda ve depolama sistemlerinde çok yaygındırlar , ancak yine de kriptografik olarak güçlü algoritmalar değillerdir.
Bulanık sağlama toplamı
Spam filtreleme ve işbirlikçi spam tespiti dünyasında farklı teknikler kullanılır: bulanık sağlama toplamları . Değeri tamamen değiştirecek küçük bir değişiklik aramak yerine, tam tersi aranır: çok benzer e-postaların aynı veya çok benzer hash değerleri üretmesi.
Bunu başarmak için, mesaj içeriği normalleştirilir ve minimum bir sürüme indirgenir (değişken kısımlar, biçimlendirme vb. ortadan kaldırılır) ve ardından sağlama toplamı hesaplanır. DCC gibi hizmetler, farklı e-posta sağlayıcılarından milyonlarca bu tür hash değeri alır ve aynı değer belirli bir eşiğin üzerinde tekrarlandığında kalıpları potansiyel spam olarak işaretler.
modern kriptografik karma fonksiyonları
ISO imajlarını, kurulum dosyalarını veya aygıt yazılımlarını doğrulamaktan bahsettiğimizde , genellikle MD5, SHA-1, SHA-2 veya SHA-3 gibi kriptografik karma algoritmalarıyla karşılaşırız. Bunların amacı yalnızca kazara oluşan hataları tespit etmek değil, aynı zamanda meşru bir orijinal dosya ile aynı karma değerine sahip kötü amaçlı dosyalar oluşturmayı amaçlayan belirli saldırılara karşı koymaktır .
Örneğin, MD5, 128 bitlik karma algoritmaları kullanarak yıllarca indirmeleri doğrulamak için fiili standarttı. Ancak, pratik çakışmalar gösterildi ve bugün, yalnızca kazara oluşan hasarın tespitinin önemli olduğu bağlamlarda hala kullanılsa da, saldırganlara karşı bütünlüğü korumada güvensiz kabul ediliyor .
SHA-1 (160 bit) de benzer bir yol izledi: sertifikalarda, imzalarda ve dosya doğrulamasında yaygın olarak kullanıldı, ancak güvenlik açıkları nedeniyle yeni sistemlerde kullanımı şu anda önerilmiyor. SHA-2 ailesi (SHA-224, SHA-256, SHA-384, SHA-512) büyük ölçüde MD5 ve SHA-1'in yerini aldı ve SHA-256, NIST tarafından önerilen standart haline geldi ve tarayıcılarda, TLS, VPN'ler gibi protokollerde ve hatta Bitcoin gibi ağlarda kullanılıyor.
SHA-3, çıktı uzunlukları SHA-2'ye benzer ancak farklı bir iç tasarıma sahip en yeni standartlaştırılmış nesildir. BLAKE2 ve BLAKE3 gibi modern algoritmalar ayrıca yüksek hız ve güvenlik sunarak , toplu dosya doğrulama araçlarında ve aşırı performans gerektiren uygulamalarda yaygın olarak kullanılmaktadır.
Windows'ta sağlama toplamlarını nasıl kontrol edebilirim?
Windows'ta temel dosya özetlerini hesaplamak için herhangi bir şey yüklemenize gerek yoktur. Komut İstemi veya PowerShell'de `certutil` komutunu kullanabilir veya daha kolay kullanım için PowerShell'de `Get-FileHash` cmdlet'ini kullanabilirsiniz.
Certutil ile, komut istemini açıp `certutil -hashfile "path\to\file.iso" SHA256` gibi bir komut çalıştırmanız yeterlidir . Araç, belirttiğiniz algoritmayı (MD5, SHA1, SHA256, SHA384, SHA512, vb.) kullanarak sağlama toplamını oluşturacaktır ve bunu geliştiricinin web sitesinde sağladığıyla karşılaştırmanız yeterlidir.
PowerShell'de, Get-FileHash C:\path\to\file.iso komutu varsayılan olarak dosyanın SHA-256 özetini döndürür, ancak -Algorithm parametresiyle diğer algoritmaları da belirtebilirsiniz (MD5, SHA1, SHA384, SHA512, RIPEMD160, MACTripleDES…).
Görüntülenen değer, resmi web sitesinde yayınlananla karakter karakter aynıysa, dosyanın sağlam olduğunu varsayabilirsiniz. Farklıysa, yapılması gereken en mantıklı şey dosyayı silip tekrar indirmektir , çünkü dosya bozuk olabilir veya kötü niyetli bir üçüncü taraf tarafından manipüle edilmiş olabilir.
macOS'ta sağlama toplamlarını doğrulama: Terminal, ISO ve DMG
macOS, ISO, DMG ve diğer formatlar için dosya özetlerini oluşturmak ve karşılaştırmak için gereken her şeyi varsayılan olarak içerir. Ek yazılım kurulumu gerekmez; sadece Terminal uygulamasını kullanmanız yeterlidir.
En çok yönlü komut, SHA ailesinden farklı algoritmalar seçmenize olanak tanıyan `shasum` komutudur. Örneğin, `vlc-3.0.6.dmg` gibi bir yükleyici indirdiyseniz ve proje web sitesi SHA-256 özetini yayınlıyorsa, macOS'ta şunları yapabilirsiniz:
shasum -a 256 vlc-3.0.6.dmg
Terminalde karma değeri ve dosya adını içeren bir satır görüntülenecektir; bunu web sitesinde gösterilenin yanına yerleştirin ve herhangi bir fark olup olmadığını doğrulayın. Diğer algoritmalar için doğrudan komutlar mevcuttur : MD5 için `md5`, SHA-1 için `shasum -a 1`, SHA-384 için `-a 384`, SHA-512 için `-a 512`, vb.
md5sum.txt dosyası veya benzeri bir dosya içeren ISO imajlarında, bu dosya genellikle yalnızca imajın kendisinin değil, ISO'nun içindeki her bir dosyanın hash değerini içerir. ISO USB sürücüsüne yazıldıktan sonra, sürücüyü bağlayabilir ve Linux'ta `md5sum -c md5sum.txt` veya macOS'ta eşdeğer komutları kullanarak her bir dosyayı ayrı ayrı doğrulayabilirsiniz; ancak macOS'ta, ISO'yu USB sürücüsüne kopyalamadan önce tüm ISO'nun hash değerini doğrulamak daha yaygındır.
macOS'ta imzalar ve sertifikalar: karma algoritmasının ötesinde
macOS, hash'lere ek olarak, Keychain Access ve Gatekeeper aracılığıyla yönetilen dijital imzalar, sertifikalar ve güven politikaları sistemine büyük ölçüde güvenir . Bir yükleyicinin doğru hash'e sahip olması, onun meşru bir geliştiriciden geldiğinin garantisi değildir; kod imzaları işte bu amaçla kullanılır.
Keychain Access uygulamasıyla, Sertifika Yardımcısı'nı kullanarak belirli bir sertifikayı inceleyebilir, güven politikasını gözden geçirebilir ve geçerliliğini belirleyebilirsiniz. macOS, sertifikanın güvenilir bir kök otorite tarafından verildiğini, süresinin dolmadığını ve iptal edilmediğini kontrol eder ve buna bağlı olarak belirli ikili dosyaların yürütülmesine izin verir veya engeller.
Günlük kullanımda, bir DMG dosyasını açtığınızda veya internetten indirdiğiniz bir uygulamayı çalıştırdığınızda, macOS geliştirici imza doğrulamasını Gatekeeper ve noter tasdiki gibi mekanizmalarla birleştirir . Karma bileşeni dosya bütünlüğüne odaklanırken; imza ve sertifika bileşeni ise verenin kimliğini doğrular.
BalenaEtcher veya Ventoy gibi araçlar USB sürücünün içeriğini nasıl doğruluyor?
BalenaEtcher veya Ventoy gibi yardımcı programları kullanarak önyüklenebilir bir USB sürücü oluşturduğunuzda, bunlar sadece baytları kopyalayıp en iyisini ummakla kalmaz. Bu araçlar, sürücüye yazılanların kaynakla eşleştiğini doğrulamak için işlem sonrası adımlar gerçekleştirir ; genellikle cihazdan okunan içeriği orijinal ISO'nun içeriğiyle karşılaştırırlar.
Tipik iş akışı, `dd` komutuyla manuel olarak yapacağınız işlemlere çok benzer: ISO dosyasını indirin, sürücüyü temizleyin, verileri yazın ve ardından tekrar okuyun. Örneğin, balenaEtcher genellikle USB sürücüsünden blokları okur ve bunları doğrudan disk görüntüsündeki aynı bloklarla karşılaştırır . Herhangi bir farklılık tespit ederse, ISO dosyasında md5sum.txt dosyasına ihtiyaç duymadan işlemi başarısız olarak işaretler.
Ventoy farklı bir strateji izler; ISO dosyasını sürücüye "yazmaz", bunun yerine olduğu gibi özel bir bölüme kopyalar ve önyükleme sırasında hangi ISO dosyasını kullanacağınızı seçebileceğiniz bir menü görüntüler . Bu durumda, USB sürücüsünde depolanan ISO dosyasının hash değerini kaynak bilgisayardaki hash değeriyle karşılaştırarak bütünlük doğrulanabilir, böylece görüntünün iç içeriğinin incelenmesine gerek kalmaz.
Bir Linux dağıtımının ISO dosyası md5sum.txt veya SHA256SUMS gibi dosyalar içeriyorsa ve kurulum önyükleyicisi bunları destekleyecek şekilde yapılandırılmışsa, imajın iç dosyaları başlatma sırasında doğrulanabilir . Ancak, yazma yardımcı programları bu dosyalara güvenmez; doğrulamaları esas olarak yazılan verilerin kaynak verilerle blok düzeyinde karşılaştırılmasına dayanır.
ISO dosyasında dahili sağlama toplamı dosyası bulunmadığında ne yapılmalı?
Tüm ISO imaj dosyaları, içeriklerinin özetlerini içeren md5sum.txt veya benzeri bir dosya içermez. Ancak, resmi web sitesinden indirme sayfasında veya ayrı bir dosyada (SHA256SUMS, CHECKSUMS, vb.) en azından tüm ISO dosyasının özetini (genellikle SHA-256) sağlamasını her zaman talep etmelisiniz .
Dosya başına sağlama toplamı içeren dahili bir dosya yoksa, doğrulama işlemi ISO dosyasının hash değerini karşılaştırmaya indirgenir. İndirdiğiniz dosyanın SHA-256 hash değerini sisteminizde hesaplarsınız ve yayınlanan değerle karşılaştırırsınız . Eşleşirse, tam görüntünün geliştirici tarafından oluşturulanla aynı olduğunu bilirsiniz ve ardından güvenle USB sürücüye yazdırabilirsiniz.
Eğer satıcı herhangi bir sağlama toplamı veya imza yayınlamıyorsa, işler karmaşıklaşır. ISO dosyanızın hash değerini farklı bir ağdan veya başka biri tarafından indirilen başka bir kopyanın hash değeriyle karşılaştırabilirsiniz , ancak yine de resmi bir referansınız olmaz. Bu senaryolarda, yazılım hassas ise (işletim sistemi, güvenlik aracı, kripto para cüzdanı vb.) dikkatli olmak ve daha saygın bir kaynak aramak akıllıca olur.
Yayınlanmış bir hash değeri olsa bile, güvenliğin güvenilir bir kaynaktan ve güvenli (HTTPS) bir bağlantı üzerinden elde edilmesine bağlı olduğunu unutmayın . Bir saldırgan, kötü amaçlı bir ISO dosyası ve kendi hash değeriyle sahte bir web sitesi oluşturabilir; bu nedenle doğrulama, yalnızca projenin resmi sitesinde olduğunuzda anlamlıdır.

Karma değerlerle çalışmak ve bütünlüğü doğrulamak için özel araçlar
Her işletim sistemine yerleşik olan yardımcı programlara ek olarak, özellikle birçok dosya için toplam hesaplamanız, tüm klasörleri karşılaştırmanız veya doğrulanmış kopyaları otomatikleştirmeniz gerektiğinde, karma değerlerinin işlenmesini kolaylaştıran birçok özel program da bulunmaktadır.
QuickHash gibi uygulamalar, Windows, Linux ve macOS için MD5, SHA-1, SHA-2 (256 ve 512), SHA-3, BLAKE2, BLAKE3 ve diğerlerini destekleyen kapsamlı bir grafik arayüzü sunar . Bu uygulamalar, metin özetleri, tek dosya özetleri, çok dosya özetleri oluşturmanıza, iki dosyayı veya hatta iki dizini karşılaştırmanıza ve özet doğrulaması yapılmış kopyalar oluşturmanıza olanak tanır.
HashMyFiles, MultiHasher veya MD5 & SHA Checksum Utility gibi diğer araçlar Windows'a odaklanır ve tüm klasörler ve alt klasörler için toplu olarak karma değerler oluşturmanıza ve hatta bunları sağ tıklama ile çağırmak için Explorer bağlam menüsüne entegre etmenize olanak tanır.
Ayrıca , indirilen bir yükleyiciyi hızlıca kontrol etmek gibi daha özel ihtiyaçları karşılayan, komutları hatırlamaya veya terminali açmaya gerek kalmadan kullanılabilen hafif veya taşınabilir çözümler de mevcuttur (HashCalc, MD5 Hash Check, Hasher Lite, DeadHash, Hash Generator, FCIV, Checksum Control…) .
Hash algoritmalarının riskleri, saldırıları ve güvenlik sınırları
Hash'ler genellikle "kırılamaz" olarak tanımlansa da, onları kırmaya yönelik tekniklerin mevcut olduğunu anlamak önemlidir. En doğrudan yöntem , istenen hash'i üreten bir kombinasyon bulunana kadar tüm olası girdi kombinasyonlarını denemeyi içeren kaba kuvvet saldırısıdır; bu, modern algoritmalar kullanan uzun şifreler için gerçekçi olmayan bir durumdur.
Sözlük saldırıları ve gökkuşağı tabloları, saldırganın girdi türünden (örneğin, tipik insan şifreleri) şüphelendiği durumlarda süreci hızlandırır. Rastgele dizeleri test etmek yerine, önceden derlenmiş listeler ve önceden hesaplanmış karma değerlerle çalışarak zayıf anahtarları ortaya çıkarmak için gereken süreyi büyük ölçüde azaltırlar.
Çarpışma saldırıları, sonlu sayıda çıktı olduğunda, aynı karma değeri üreten farklı girdilerin olması gerektiği gerçeğinden yararlanır. Bir algoritmanın matematiksel zayıflıkları varsa, çarpışmalar nispeten verimli bir şekilde bulunabilir ve aynı karma değerine sahip iki farklı dosya oluşturulmasına olanak tanır. MD5 ve SHA-1'de tam olarak bu durum yaşanmıştır ve bu algoritmalar kritik uygulamalar için güvenilmez hale gelmiştir.
Bu risklerin çoğunu azaltmak için çeşitli stratejiler kullanılır: güçlü ve güncel hash'ler kullanmak, hash'leme işleminden önce girdilere rastgele "tuz" eklemek ve kasıtlı olarak yavaş ve paralelleştirilmesi pahalı olacak şekilde tasarlanmış özel parola algoritmaları (bcrypt, scrypt, Argon2) kullanmak.
macOS'ta ISO ve DMG görüntülerini doğrulamanın en iyi uygulamaları
macOS'ta kullanmak üzere bir ISO veya DMG dosyası indirecekseniz, özellikle hassas bir sistem veya araç yüklüyorsanız, net bir prosedür izlemek en iyisidir. Öncelikle, her zaman projenin resmi web sitesinden indirin ve URL ile HTTPS sertifikasının doğru olduğundan emin olun.
Ardından, sağlama toplamlarının veya ilgili PGP imzalarının yayınlandığı bölümü bulun. SHA-256 veya daha yüksek gibi modern algoritmalara öncelik verin ve hassas olmayan dosyalardaki kazara bozulmaları tespit etmekle ilgilenmiyorsanız MD5 veya SHA-1'den kaçının.
ISO veya DMG dosyası zaten İndirilenler klasörünüzdeyse, Terminal'i açın, o klasöre gidin ve uygun şekilde shaSum veya MD5 kullanarak hash değerini hesaplayın . Sonucu resmi değerle karşılaştırın, herhangi bir rakamı atlamamaya veya benzer karakterleri karıştırmamaya dikkat edin. Eşleşmiyorsa, dosyayı hemen silin.
Eğer balenaEtcher, Ventoy veya başka bir araç kullanarak imajı bir USB sürücüye yazmayı planlıyorsanız, uygulamanın yazma sonrası doğrulama aşaması sunduğundan emin olun . Bu sayede, ISO dosyasının doğru olduğundan ve flash sürücüdeki kopyanın orijinal verileri doğru bir şekilde yeniden ürettiğinden emin olabilirsiniz.
Biraz daha fazla iş gibi görünse de, bu doğrulama süreci size baş ağrılarından kurtarır ve bozuk veya değiştirilmiş kod çalıştırma riskini azaltır. macOS'ta sağlama toplamlarının, imzaların ve sertifikaların nasıl çalıştığına dair sağlam bir anlayış , yüklediğiniz şeyin geliştiricinin amaçladığı şey olduğundan ve başka bir şey olmadığından emin olarak ISO ve DMG dosyalarınızı çok daha büyük bir gönül rahatlığıyla kullanmanıza olanak tanır .

