Steganografi Nedir? Resim ve Dosyaya Gizlenen Veri
Steganografi, bir mesajı resim, ses, video ya da metin gibi sıradan görünen bir taşıyıcının içine gizleyerek mesajın varlığını saklama tekniğidir. Şifreleme içeriği okunmaz hale getirir, steganografi ise ortada bir mesaj olduğunu fark ettirmemeye çalışır. İkisi çoğu zaman birlikte kullanılır: veri önce şifrelenir, sonra taşıyıcıya gizlenir.
Steganografi nedir sorusunu en iyi bir örnek açıklar: sıradan bir tatil fotoğrafı, piksellerinin en önemsiz bitlerinde bir metin taşıyabilir ve ekranda hiçbir fark görünmez. Bu yazıda yöntemin mantığını, şifreleme ve kodlamadan farkını, zararlı yazılımların onu nasıl kullandığını, tespit yollarını ve CTF sorularında nasıl karşına çıktığını göreceksin.
Steganografi nedir ve nasıl çalışır?
Kelime Yunancada "örtülü yazı" anlamına gelir. Fikir eskidir. Herodot'un anlattığı bir örnekte uyarı mesajı balmumu kaplı bir tabletin tahtasına yazılır, üstü mumla kapatılır ve tablet boş görünür. Dijital dünyada aynı fikir resimlere, seslere ve belgelere taşındı.
Üç kavramı bil:
- Taşıyıcı: Verinin gizlendiği sıradan dosya. Bir fotoğraf, bir ses kaydı, bir belge.
- Gizli veri: Saklanan metin ya da dosya.
- Stego dosyası: Gizli veri yerleştirildikten sonraki taşıyıcı.
Dijital dosyalar bu iş için elverişlidir, çünkü insan algısının fark etmediği bir "gürültü payı" taşırlar. Bir rengi bir birim değiştirmek gözle görülmez. Bir ses örneğini çok az oynatmak kulakla duyulmaz. Gizli veri bu payın içine yerleşir.
Steganografinin meşru kullanımları da vardır. Dijital filigran, bir görselin ya da ses kaydının içine sahibini ya da dağıtım kanalını gösteren görünmez bir işaret gömer. İzinsiz paylaşılan bir kopyanın nereden sızdığını bu işaret gösterebilir. Gazeteciler ve araştırmacılar da gizli haberleşme yöntemlerini anlamak için bu alanı inceler. Güvenlik ekibi için asıl soru ise tersidir: sıradan görünen bir dosya bir şey taşıyor mu? Bu yazının geri kalanı o soruya odaklanıyor.
En düşük anlamlı bit yöntemi nasıl çalışır?
Bir PNG görseldeki her piksel, kırmızı, yeşil ve mavi için genellikle 0 ile 255 arasında birer değer taşır. 200 değeri ikili olarak 11001000'dir. Son bit 1 yapılırsa değer 201 olur. Bu fark ekranda görünmez. En düşük anlamlı bit (LSB) yöntemi, bu son bitleri gizli verinin bitleriyle değiştirir.
Kapasite hesabı basittir. Her pikselin üç kanalında birer bit kullanılırsa 1000 x 1000 piksellik bir görsel 3 milyon bit taşır. Bu yaklaşık 375 kilobayt eder.
Yöntemin sınırları da vardır:
- Kayıplı sıkıştırma: JPEG'e çevirmek ya da yeniden sıkıştırmak piksel bitlerini değiştirir ve gizli veriyi bozar.
- Boyutlandırma: Görseli küçültmek ya da kırpmak veriyi yok eder.
- İstatistik: Çok veri gizlemek bitlerin doğal dağılımını bozar ve tespiti kolaylaştırır.
Bu yüzden steganografi kapasite ile görünmezlik arasında bir dengedir. Farklı taşıyıcılar farklı yerler kullanır:
| Taşıyıcı | Gizleme yeri | Zayıf yanı |
|---|---|---|
| PNG, BMP | Piksel değerlerinin son bitleri | Yeniden sıkıştırma ve boyutlandırma bozar |
| JPEG | Sıkıştırma katsayıları | Yöntem karmaşık, kapasite düşük |
| Dosya sonu | Dosyanın bitiş işaretinden sonraya eklenen veri | Dosya boyutu büyür, kolay bulunur |
| Ses | Ses örneklerinin küçük bitleri | Spektrogramda iz bırakabilir |
| Metin | Görünmez karakterler, satır sonu boşlukları | Metin kopyalanırken kaybolabilir |
| Ağ trafiği | Protokol başlıklarının az kullanılan alanları | Olağandışı desen oluşturur |
Steganografi şifreleme ve kodlamadan nasıl ayrılır?
Üç kavram sık karıştırılır ama her biri farklı bir şeyi saklar:
| Yöntem | Neyi saklar? | Gözlemci ne görür? | Örnek |
|---|---|---|---|
| Kodlama | Hiçbir şeyi | Başka biçime çevrilmiş, herkesin çözebileceği veri | Base64 |
| Şifreleme | İçeriği | Okunmayan ama var olduğu belli veri | AES |
| Steganografi | Varlığı | Sıradan bir dosya | LSB gizleme |
Kodlamanın neden gizlilik sağlamadığını Base64 ve şifreleme farkı yazısında, şifrelemenin nasıl çalıştığını şifreleme nedir yazısında bulabilirsin.
Savunma açısından fark şudur: şifreli bir dosya ya da bağlantı dikkat çeker ve engellenebilir. Steganografik bir görsel ise sıradan bir indirme gibi görünür.
Zararlı yazılımlar steganografiyi nasıl kullanır?
MITRE ATT&CK, steganografiyi iki ayrı teknik olarak izler. T1027.003, zararlı kodu ya da bilgiyi medya dosyalarına saklayarak gizlemeyi anlatır. T1001.002, komuta ve kontrol trafiğini görsel ya da belge dosyalarının içine gömmeyi anlatır. Kayıtlı örneklerden bazıları:
- Duqu: Topladığı veriyi şifreleyip görsel dosyalara ekledi ve öyle dışarı gönderdi.
- IcedID: Zararlı kodu RC4 ile şifrelenmiş PNG dosyalarının içinde taşıdı.
- ZeroT: İkinci aşama kodunu bitmap görsellerin en düşük anlamlı bitlerine gizledi.
- HAMMERTOSS: Komutları görsel dosyalarının sonuna eklenmiş olarak aldı.
ATT&CK bu tekniğin önleyici kontrollerle kolayca engellenemediğini not eder. Tespit önerileri davranışa odaklanır: bir görsel dosyasının okunmasından hemen sonra betik çalışması, uzantısıyla içerik türü uyuşmayan medya dosyaları ve görsel indiren beklenmedik süreçler. Kurumlar ayrıca dışarı giden olağandışı büyük dosyaları izler. Görselleri yeniden oluşturan içerik temizleme araçları da bit düzeyindeki gizli veriyi bozmayı hedefler.
Steganografi nasıl tespit edilir?
Tespitin adı steganalizdir. Tek bir kesin test yoktur. Analist birkaç işareti birlikte değerlendirir:
- Dosya imzası: Dosyanın ilk baytları gerçek türünü söyler. Uzantı .jpg ama imza başka bir türü gösteriyorsa şüphelen.
- Boyut: Aynı çözünürlükteki benzer görsellerden belirgin şekilde büyükse bak.
- Dosya sonu: Bitiş işaretinden sonra veri var mı kontrol et.
- Üst veri: Yorum alanlarında ya da beklenmedik etiketlerde metin var mı incele.
- İstatistik: Bit düzlemlerinde ve renk dağılımında olağandışı desen ara.
- Karşılaştırma: Orijinal dosya elindeyse iki dosyanın SHA-256 özetlerini karşılaştır, farklıysa bayt bayt incele.
Adli incelemede bu işler orijinal dosyanın kopyası üzerinde yapılır ve her adım kayda geçer. Fotoğraf üst verisinin neler ele verdiğini fotoğraftaki konum bilgisi yazısında okuyabilirsin. Uzantısı başka, içeriği başka olan bir dosyayı imzasından yakaladığın bir senaryo saha görevlerinde seni bekliyor.
CTF'de steganografi sorularına nasıl yaklaşırsın?
CTF yarışmalarında steganografi genellikle adli bilişim ya da çeşitli kategorisinde yer alır. Sana bir görsel ya da ses dosyası verilir ve bayrak içinde saklıdır. Rastgele araç denemek yerine sabit bir sırayla ilerle:
| Adım | Ne yaparsın | Sık kullanılan araç |
|---|---|---|
| Tür kontrolü | Gerçek dosya türünü öğren | file |
| Üst veri | Yorum ve etiket alanlarını oku | exiftool |
| Metin | Okunabilir karakter dizilerini çıkar | strings |
| Gömülü dosya | Dosyanın içine eklenmiş başka dosyaları bul | binwalk |
| Bit düzlemi | PNG ve BMP'de LSB verisini tara | zsteg |
| Parolalı gizleme | JPEG, BMP, WAV ve AU dosyalarında gizlenmiş veriyi çıkar | steghide |
| Ses | Spektrograma bak, görüntü ya da yazı olabilir | Audacity |
Örnek bir akış düşün. Sana kedi.png adında bir dosya verildi. file gerçekten PNG olduğunu söylüyor, exiftool yorum alanında anlamsız bir dizi gösteriyor. binwalk dosyanın sonunda bir ZIP arşivi buluyor ama arşiv parola istiyor. Parola büyük olasılıkla yorum alanındaki dizidir. Her adım bir sonrakinin anahtarını verir.
Çıkan veri çoğu zaman tek adımda bayrak olmaz. Base64 gibi bir kodlamayla ya da basit bir şifreyle sarılıdır, katmanları sırayla aç. Her denemeyi not al. Hangi kategoriden başlayacağına karar vermek için CTF kategorileri yazısına bak.
Yöntemi öğrenmek, kendi dosyalarında denemek ve CTF çözmek meşrudur. Zararlı kodu bir görsele gizleyip başkasının sisteminde çalıştırmak ise TCK 243 ve 244'teki bilişim suçlarının aracı olur.
Kaynaklar
Sık sorulan sorular
Steganografi ile şifreleme arasındaki fark nedir?
Şifreleme mesajın içeriğini gizler ama mesajın var olduğu bellidir. Şifreli bir dosyayı gören biri okuyamaz, yine de bir sır taşındığını anlar. Steganografi mesajın varlığını gizler. Gözlemci sıradan bir fotoğraf görür. Güçlü bir gizleme için ikisi birlikte kullanılır: veri önce şifrelenir, sonra bir taşıyıcı dosyaya yerleştirilir.
Bir resimde gizli veri olduğunu nasıl anlarım?
Kesin bir tek işaret yoktur, birkaç ipucunu birlikte değerlendirirsin. Dosyanın gerçek türü uzantısıyla uyuşuyor mu, boyutu benzer görsellere göre büyük mü, dosya bittikten sonra ek veri var mı, üst veride tuhaf bir alan var mı? Orijinal dosya elindeyse iki dosyanın özet değerlerini karşılaştır. İstatistiksel analiz araçları da şüpheli bit düzenlerini gösterir.
Steganografi hangi dosyalarda kullanılır?
En sık PNG, BMP ve JPEG gibi görsellerde kullanılır, çünkü bu dosyalarda küçük renk değişiklikleri gözle fark edilmez. Ses dosyaları, videolar, belgeler, metindeki görünmez karakterler ve ağ protokollerinin başlık alanları da taşıyıcı olabilir. Kayıpsız biçimler bit düzeyinde gizleme için daha uygundur, kayıplı sıkıştırma ise gizli veriyi bozabilir.
Steganografi zararlı yazılımlarda kullanılıyor mu?
Evet. MITRE ATT&CK bunu ayrı tekniklerle kayıt altına alır. Duqu çaldığı veriyi görsel dosyalara ekleyerek dışarı gönderdi. IcedID zararlı kodu şifreli PNG dosyalarının içinde taşıdı. ZeroT ikinci aşama kodunu bitmap görsellerin en düşük anlamlı bitlerine sakladı. Amaç, zararlı trafiği sıradan görsel indirmeleri gibi göstermektir.
CTF'de steganografi sorusu nasıl çözülür?
Sabit bir sırayla ilerle. Önce dosyanın gerçek türünü ve üst verisini kontrol et. Sonra okunabilir metin dizilerine ve dosyanın sonuna eklenmiş veriye bak. PNG ya da BMP ise bit düzlemlerini incele, JPEG ise parola korumalı gizleme olasılığını düşün. Çıkan veri çoğu zaman Base64 gibi bir kodlamayla sarılıdır.
- steganografi
- veri gizleme
- CTF
- adli bilişim
- zararlı yazılım