Görüntü ve Ses Steganografisi
Verileri ortam dosyalarına gömme.
Görüntü ve Ses Steganografisi, CoddyKit'te ücretsiz bir Cyber Security 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, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.
Görseller Pikselleri Nasıl Saklar
Bir görselde verileri gizlemek için önce görsellerin rengi nasıl sakladığını bilmeniz gerekir. RGB görselde üç kanal bulunur: kırmızı, yeşil ve mavi; her biri genellikle 0 ile 255 arasında 8 bitlik bir sayıdır.
Dolayısıyla bir piksel üç bayttır. Küçük bir 800x600 görselde 480.000 piksel ve 1,44 milyon renk baytı bulunur. Steganografinin yararlandığı fazlalık budur: gözün inceleyebileceğinden çok daha fazla bayt vardır.
Temel fikir şudur: insan görsel sistemi, 200 renk değerini 201 değerinden ayırt edemez. Gizli veriler bu fark edilmeyen aralıkta bulunur.
En Düşük Değerlikli Bit Gömme
LSB gömme, her renk baytındaki en düşük değerlikli biti gizli verinin bir bitiyle değiştirir. En düşük bit bir değeri yalnızca 1 değiştirdiği için görsel değişiklik fark edilmez.
1 bitini, 200 değerindeki bir kırmızı kanalda (ikilik 11001000) gizlediğinizi düşünün. Son biti 1 ile değiştirmek 11001001 = 201 sonucunu verir; bu, insan gözünün göremeyeceği bir değişikliktir.
Binlerce piksel boyunca bu işlemi yaptığınızda, veri yükünü bu LSB bitlerini sırayla okuyarak yeniden oluşturursunuz.
# Embed: keep top 7 bits, set LSB to the secret bit
# value 200 = 1100100 0 -> hide 1 -> 1100100 1 = 201
#
# In Python terms (read-only illustration):
# new_byte = (color_byte & 0xFE) | secret_bit # 0xFE clears the LSBTam Bir İletiyi Kodlama
Bir ileti, her biri 8 bitten oluşan bir bayt dizisidir. Uzunluk başlığı bulunan bir sözcüğü gizlemek için veri yükünü bir bit akışına dönüştürür ve renk kanalı başına bir bit yazarsınız.
Uygulamadaki bir gömme aracı ayrıca bir uzunluk ön eki veya benzersiz bir sonlandırma dizisi saklar; böylece çıkarma aracı okumayı ne zaman durduracağını bilir. Aksi halde veri yükünü örtü gürültüsünden ayırt edemez.
steghide, zsteg ve stegano gibi araçların otomatikleştirdiği işlem tam olarak budur; bu araçlar çoğu zaman bir parola ve şifreleme katmanı da ekler.
# Embed a secret into a PNG with the open-source 'stegano' tool
stegano-lsb hide -i cover.png -m 'meet at noon' -o stego.png
# steghide with a passphrase (encrypts then embeds)
steghide embed -cf cover.jpg -ef secret.txt -p 'p@ss'Doğru Görsel Biçimini Seçme
Sıkıştırma nedeniyle biçim seçimi son derece önemlidir:
- Kayıpsız biçimler (PNG, BMP) her pikseli tam olarak korur. LSB verileri kusursuz biçimde korunur ve bu biçimler ideal taşıyıcılardır.
- Kayıplı biçimler (JPEG) sıkıştırma sırasında ince ayrıntıları atar; bu da basit LSB verilerini yok eder.
JPEG için gömme işlemi ham piksellerde değil, sıkıştırma sırasında kullanılan frekans alanı değerleri olan DCT katsayılarında yapılmalıdır. steghide ile klasik JSteg/OutGuess gibi araçlar bu alanda çalışır; böylece veri yükü sıkıştırma adımından sonra da korunur.
Basit LSB'nin Kırılganlığı
Basit piksel-LSB gömmesi kırılgandır. Piksel değerlerini değiştiren her işlem gizli bitleri yok eder:
- JPEG olarak yeniden kaydetme: kayıplı sıkıştırma baytları yeniden yazar.
- Yeniden boyutlandırma veya kırpma: yeniden örnekleme her değeri değiştirir.
- Renk ayarları: parlaklık ve karşıtlık değişimleri.
- Sosyal medyaya yükleme: platformlar görselleri otomatik olarak yeniden kodlar.
Bu durum, üçgenin dayanıklılık köşesini ilgilendirir. Bir veri yükünün düzenlemeden sonra da korunması gerekiyorsa (ör. bir filigran), frekans alanına (DCT/DWT) gömer ve bunun karşılığında daha düşük kapasiteyi kabul edersiniz.
Gizliliği Artırma: Akıllı Yerleştirme
Basit LSB, piksellere sol üstten başlayarak sırayla yazar ve bu da tespit edilebilir bir istatistiksel iz oluşturur. Daha gizli yöntemler, analizden kaçınmak için veri yükünü dağıtır:
- Sözde rastgele yerleştirme: bir stego anahtarı, hangi piksellerin bit taşıyacağını seçen bir PRNG'yi başlatır; böylece örüntü rastgele görünür.
- Gürültülü bölgeler: düzgün gökyüzü yerine, değişkenliğin zaten bulunduğu dokulu alanlara (çimen, saç) gömme.
- Uyarlamalı gömme: modern algoritmalar tespit edilebilirlik maliyeti işlevini en aza indirir.
Stego anahtarı aynı zamanda parola görevi görür: bu anahtar olmadan analist gizli veriden şüphelense bile bit sırasını yeniden oluşturamaz.
Ses Steganografisinin Temelleri
Ses, görsellerle aynı ilkeyi izler; ancak bunu zaman veya frekans alanında gerçekleştirir. Bir WAV dosyası, genellikle saniyede binlerce kez örneklenen genliği temsil eden örnekleri 16 bitlik sayılar olarak saklar.
Seste LSB gömme, her örneğin en düşük bitinin üzerine yazar. 16 bitlik bir genlikteki tek adımlık değişiklik, insan işitme eşiğinin çok altında kalır; bu nedenle ses aynı şekilde duyulur.
Kanal başına saniyede 44.100 örnek bulunduğundan ses yüksek kapasite sunar; ancak MP3 gibi kayıplı biçimler, JPEG'in piksel LSB'lerini yok etmesine benzer şekilde ham örnek LSB'lerini yok eder.
# Hide a file in a WAV using the open-source steghide
steghide embed -cf song.wav -ef secret.txt -p 'p@ss'
# WAV is lossless (raw PCM samples) - LSB survives.
# MP3 is lossy - embed in the encoded domain or it is destroyed.İleri Düzey Ses Teknikleri
LSB'nin ötesinde ses steganografisi, işitmenin nasıl gerçekleştiğine dayalı algısal yöntemler kullanır:
- Faz kodlama: ses bileşenlerinin fazını değiştirir; kulak mutlak faza duyarlı değildir.
- Yankı gizleme: gecikmesi bitleri kodlayan, fark edilemeyecek kadar küçük yankılar ekler.
- Yayılı spektrum: veri yükünü, düzenlemeye dayanıklı düşük seviyeli gürültü olarak geniş bir frekans bandına yayar.
- Ton ekleme: daha yüksek sesli yakın sesler tarafından maskelenen tonları kullanarak veri gizler (psikoakustik maskeleme).
Bu yöntemler, frekans alanındaki görsel yöntemlere benzer şekilde kapasiteyi dayanıklılık ve gizlilik karşılığında azaltır.
Uzamsal ve Frekans Alanı
Farklı medya türlerini birleştiren temel fikir, alan seçimidir:
- Uzamsal/zaman alanı: doğrudan piksellere veya örneklere gömülür. Basit ve yüksek kapasitelidir, ancak sıkıştırmaya karşı kırılgandır.
- Frekans alanı: sinyali dönüştürür (JPEG için DCT, dalgacıklar için DWT, ses için FFT), katsayılara gömer ve sonra geri dönüştürür. Daha dayanıklı ve fark edilmesi daha zordur; ancak kapasitesi daha düşük, yapısı daha karmaşıktır.
Kural şudur: taşıyıcı sıkıştırılacak, yeniden boyutlandırılacak veya paylaşılacaksa frekans alanına gömün. Bozulmamış, kayıpsız taşıyıcılarda uzamsal LSB yeterlidir.
Kapasite Planlaması
Gömme işleminden önce ne kadar veriyi güvenli biçimde gizleyebileceğinizi tahmin edin. Yararlı bir ölçüt, örtünün her biti başına gizlenen bit sayısı olan gömme oranıdır.
- Kanal başına 1 bit (tam LSB): en yüksek kapasiteyi sunar, ancak en kolay tespit edilen seçenektir.
- Kesirli oranlar: piksellerin yalnızca bir kısmını kullanmak kapasiteyi azaltır, ancak fark edilmezliği büyük ölçüde artırır.
1920x1080 boyutundaki bir RGB görselde yaklaşık 6,2 milyon renk baytı bulunur; tam LSB kullanımında bu yaklaşık 777 KB eder. Ancak güvenliği gözeten gömme işlemi bunun yalnızca bir kısmını kullanır; çünkü her LSB'yi doldurmak, steganaliz araçlarının kolayca tespit ettiği istatistiksel anormallikler oluşturur.
# Rough capacity at 1 bit/channel full LSB:
# width x height x channels / 8 bytes
# 1920 x 1080 x 3 / 8 = ~777,600 bytes (~759 KB)
# In practice use a fraction to stay below detection thresholds.Savunma Açısından Çıkarımlar
Savunmacının bakış açısından gömme işlemini anlamak, nelere dikkat etmeniz gerektiğini gösterir:
- Biçim uyuşmazlıkları: JPEG beklenirken PNG/BMP kullanılması, LSB için seçilmiş kayıpsız bir taşıyıcıya işaret edebilir.
- Boyut anormallikleri: görünen içeriğe göre olması gerekenden büyük bir dosya.
- Savunma olarak yeniden kodlama: tüm yüklemeleri yeniden sıkıştıran platformlar basit LSB veri yüklerini yok eder; bu, düşük maliyetli bir önlemdir.
- İstatistiksel analiz: tam LSB gömmesi, bit değerlerinin doğal dağılımını düzleştirir ve steganaliz ile tespit edilebilir.
Bu izler, sonraki derse, yani gizli verileri tespit etmeye geçiş sağlar.
Hızlı Kontrol
Biçim seçimini anlayışınızı sınayın.
Özet: Görsel ve Ses Steganografisi
Verilerin medya dosyalarına gerçekten nasıl gömüldüğünü öğrendiniz.
- LSB gömme, her renk veya ses örneğinin en düşük bitinin üzerine yazar; bu, fark edilemeyen tek adımlık bir değişikliktir.
- Bir uzunluk ön eki veya sonlandırıcı, veri yükünün nerede bittiğini belirtir; steghide ve stegano gibi araçlar bunu isteğe bağlı şifrelemeyle otomatikleştirir.
- Kayıpsız biçimler (PNG, BMP, WAV) LSB verilerini korur; kayıplı biçimler (JPEG, MP3) frekans alanına gömme gerektirir (DCT/yankı/yayılı spektrum).
- Gizlilik; sözde rastgele yerleştirme, gürültülü bölgelere gömme ve bir stego anahtarıyla belirlenen uyarlamalı algoritmalar sayesinde artar.
- Uzamsal ve frekans alanı seçimi, kapasite ile dayanıklılık arasında denge kurar.
- Savunmacılar biçim uyuşmazlıklarını, boyut anormalliklerini ve istatistiksel izleri arar; basit veri yüklerini yok etmek için yeniden kodlama kullanır.
Sonraki bölümde steganaliz yoluyla gizli verileri tespit etmeyi öğreneceksiniz.
Sıkça Sorulan Sorular
“Görüntü ve Ses Steganografisi” dersi ücretsiz mi?
Evet — “Görüntü ve Ses Steganografisi” 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 Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.
“Görüntü ve Ses Steganografisi” dersinde ne öğreneceğim?
Verileri ortam dosyalarına gömme. Cyber Security 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.
Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cyber Security 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.
“Görüntü ve Ses Steganografisi” 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 Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cyber Security 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.
Bu kursun tüm dersleri
- Steganografi Nedir
- Görüntü ve Ses Steganografisi
- Gizli Verileri Tespit Etme (Steganaliz)
- Gizli Kanallar ve Veri Sızdırma