Karma Alma
MD5, SHA, bcrypt
Karma Alma, CoddyKit'te ücretsiz bir Ethical Hacking Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ethical Hacking Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ethical Hacking Academy kursu toplamda 4 dersten oluşur.
Özet Nedir?
Bir özet işlevi, her boyuttaki girdiyi alır ve özet adı verilen sabit boyutlu bir çıktı üretir. Aynı girdi her zaman aynı özeti üretir.
En önemli nokta, özetlemenin tek yönlü bir işlem olmasıdır. Bir özeti matematiksel olarak tersine çevirip özgün girdiye dönüştüremezsiniz. Özetleri hem kodlama hem de şifrelemeden farklı kılan budur.
İyi Bir Özetin Özellikleri
Bir kriptografik özet işlevi şu özelliklere sahip olmalıdır:
- Belirlenimci: aynı girdi aynı çıktıyı verir.
- (Genel özetleme için) Hesaplanması hızlı olmalı; ancak parola özetleme için ideal olarak yavaş olmalıdır.
- Özgül girdi dirençli: bir özet verildiğinde girdiyi bulmak mümkün olmamalıdır.
- Çakışma dirençli: aynı özete sahip iki girdi bulmak zor olmalıdır.
- Çığ etkisi: tek bitlik bir değişiklik çıktı bitlerinin yaklaşık yarısını değiştirmelidir.
MD5
MD5, 128 bitlik (32 onaltılık karakterden oluşan) bir özet üretir. Hızlıdır ve geçmişte yaygın olarak kullanılmıştır; ancak kriptografik açıdan kırılmıştır: uygulanabilir çakışma saldırıları vardır.
Güvenlik amacıyla MD5'i asla kullanmayın. Dosya sağlama toplamlarında ve eski sistemlerde hâlâ karşınıza çıkacaktır; bu da onu değerlendirmeler sırasında sık rastlanan bir hedef hâline getirir.
echo -n 'password' | md5sum
# 5f4dcc3b5aa765d61d8327deb882cf99SHA Ailesi
SHA (Güvenli Özet Algoritması) ailesi daha sağlamdır:
- SHA-1: 160 bit. Artık kırılmış kabul edilir (çakışma saldırısı 'SHADOW HAMMER' / SHAttered). Kaçının.
- SHA-2: SHA-256 ve SHA-512'yi içerir. Yaygın olarak kullanılır ve şu anda güvenlidir.
- SHA-3: SHA-2'ye alternatif olan, Keccak tabanlı daha yeni bir tasarımdır.
echo -n 'password' | sha256sum
# 5e884898da28047151d0e56f8dc629...Özetleme Şifreleme Değildir
Şifreleme bir anahtarla tersine çevrilebilir. Özetleme hiçbir şekilde tersine çevrilemez. Parolaları depolamak için özetlemenin kullanılmasının nedeni tam olarak budur: sunucunun özgün parolaya ihtiyacı yoktur.
Giriş yaptığınızda sunucu yazdığınız metnin özetini alır ve bunu depolanan özetle karşılaştırır. Eşleşirlerse kimliğiniz doğrulanır. Açık parola hiçbir zaman depolanmaz.
Sorun: Gökkuşağı Tabloları
Özetleme deterministik olduğundan, 'password' ifadesinin özeti her kullanıcı için aynıdır. Saldırganlar, özetten düz metne eşlemeler içeren ve gökkuşağı tabloları adı verilen devasa arama tablolarını önceden hesaplar.
İki kullanıcı aynı parolayı kullanıyorsa, kayıtlı özetleri birbirinin aynısı olur ve bu durum açığa çıkar. Tek başına kullanılan MD5 veya SHA-256 gibi hızlı özetler parolalar için uygun değildir.
Tuzlama
Tuz, özetleme işleminden önce her parolaya eklenen benzersiz ve rastgele bir değerdir. Bunun sonuçları şunlardır:
- Aynı parolalar farklı özetler üretir.
- Önceden hesaplanmış gökkuşağı tabloları işe yaramaz hâle gelir.
Tuz, özetin yanında saklanır; gizli değildir. Görevi her özeti benzersiz hâle getirerek saldırganları her birini ayrı ayrı kırmaya zorlamaktır.
stored = salt + hash(salt + password)
# salt is random and unique per userbcrypt: Parolalar İçin Tasarlandı
bcrypt, özellikle parola depolama için tasarlanmıştır. Bilinçli olarak yavaştır ve donanım geliştikçe işlemi daha da yavaşlatan, yapılandırılabilir bir maliyet katsayısı (iş katsayısı) içerir.
Bir bcrypt özeti, algoritmayı, maliyeti ve tuzu tek bir dize içinde barındırır. Yavaşlık bir özelliktir: saldırganların tahmin yapma hızını sınırlar.
$2b$12$R9h/cIPz0gi.URNNX3kh2OPST9/PgBkqquzi.Ss7KIUgO2t0jWMUW
# $2b$ = bcrypt, 12 = cost factor, then salt + hashDiğer Yavaş Özetler
bcrypt'in yanı sıra modern parola özetleme seçenekleri şunlardır:
- scrypt: bellek maliyeti yüksek bir algoritmadır; GPU ve ASIC saldırılarına dirençlidir.
- Argon2: Password Hashing Competition yarışmasının kazananıdır; süre ve bellek kullanımı ayarlanabilir. Önerilen modern seçenektir.
- PBKDF2: hızlı bir özeti binlerce kez yineler; kabul edilebilir olsa da yukarıdakilerden daha zayıftır.
HMAC ve Bütünlük
Özetler yalnızca parolalar için değil, bütünlük amacıyla da kullanılır. HMAC (Hash tabanlı Mesaj Kimlik Doğrulama Kodu), bir mesajın hem bütünlüğünü hem de gerçekliğini doğrulamak için özeti gizli bir anahtarla birleştirir.
Dosya sağlama toplamları (çoğunlukla SHA-256), bir indirmenin değiştirilmediğini doğrulamanızı sağlar. Bir bilgisayar korsanı olarak uyuşmayan sağlama toplamları, değiştirilmiş veya kötü amaçlı dosyaları ortaya çıkarabilir.
Gerçek Dünyada Özetler
Bir bilgisayar korsanı olarak özetlerle sürekli karşılaşırsınız:
- Linux'ta /etc/shadow,
$6$(SHA-512) veya$2b$(bcrypt) gibi ön eklerle başlayan, tuzlanmış parola özetlerini saklar. - Windows, NTLM özetlerini SAM veritabanında saklar.
- Web uygulamaları, özetlenmiş parolaları kullanıcı tablolarında saklar.
Ön eki tanımak, algoritmayı ve kırma stratejinizi anında belirtir.
$6$rounds=5000$salt$hash # SHA-512 crypt
$2b$12$saltandhash... # bcryptHızlı Kontrol
Kullanıcı parolalarını depolamak için en güvenli seçeneği belirleyin.
Özet
Artık özetlemeyi anlıyorsunuz:
- Özetleme, kodlama ve şifrelemeden farklı olarak tek yönlü, sabit boyutlu ve deterministik bir dönüşümdür.
- MD5 ve SHA-1 güvenliğini yitirmiştir; genel bütünlük doğrulaması için SHA-256 kullanın.
- Parolalar için yavaş ve tuzlanmış algoritmalar kullanın: bcrypt, scrypt veya Argon2.
- Tuzlar gökkuşağı tablolarını etkisiz kılar; HMAC anahtarlı bütünlük sağlar.
Sırada AES ve RSA ile simetrik ve asimetrik şifrelemeyi inceleyeceksiniz.
Sıkça Sorulan Sorular
“Karma Alma” dersi ücretsiz mi?
Evet — “Karma Alma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ethical Hacking Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ethical Hacking Academy kursu toplamda 4 dersten oluşur.
“Karma Alma” dersinde ne öğreneceğim?
MD5, SHA, bcrypt Ethical Hacking Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Ethical Hacking Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Ethical Hacking Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Karma Alma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Ethical Hacking Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Ethical Hacking Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.