Tag: veri gizleme
Steganografi
by CanerD on Oca.09, 2008, under Özel
İletişimde gizlilik her insan için bir nebze önemli olmakla beraber, dijital ortamda yapılan haberleşme ve iletişimde gizliliğin önemi son yıllarda çok daha artmıştır. Özellikle istihbarat ve askeri alanlarda kullanılan bir bilgi gizleme yöntemi olan steganografi‘nin, basitleştirilmiş yazılımlar sayesinde herkes tarafından kullanımı kolaylaştırılmıştır.
Bu yöntemin dijital ortamda kullanımına yönelik bazı teknikler, ve uygulamalar hakkında nacizane araştırmalarımı paylaşmak isterim
Steganografi, eski Yunanca’da “gizlenmiş yazı” anlamına gelir ve bilgiyi gizleme (önemli: şifreleme değil) bilimine verilen addır. Steganografi’nin şifrelemeye göre en büyük avantajı bilgiyi gören bir kimsenin gördüğü şeyin içinde önemli bir bilgi olduğunu farkedemiyor olmasıdır, böylece içinde bir bilgi aramaz (oysa ki bir şifreli mesaj, çözmesi zor olsa bile, gizemi dolayısıyla ilgi çeker). (http://tr.wikipedia.org/)
Saklanmak istenen bilginin, saklı olduğunun farkedilmemesi bilginin güvenliği açısından hayati önem taşır. Bu sayede üçüncü şahıslar bilginin aranmasında çaba göstermez veya nereye bakılması gerektiğini bilemezler.
Örnek olarak;
Benim için futbolda önemli olan centilmenlik
ve dostluktur. Hedefim illa ki kazanmak
falan değildir. Ben sadece kendi reklamını düşünen
kişiliğe sahip olsam başka olurdu. Ben net
birisiyim arkadaş. Takımım kazanırsa mal-
zemecisine kadar mutlu oluruz. Ben de sporcu
varlığımı geliştiririm. Hakemlere baskı uygulamak
sportmenliğe yakışmaz. Fair-play için mücadele
gerekirse onu da yaparım. Medyayı da bağ-
rıma basmışım, spor uğruna gülmüşüm ve ağ-
lamışım, kafam rahat!
Yukarıdaki yazıya bakıldığında ilk bakışda bir anormallik gözlenmeyebilir (biraz var ama olsun o kadar :l ). Birde satırları birer atlayarak okuduğumuzda ilk düşüncenin tam tersini belirten bir yazı karşımıza çıkıyor.
Bu gibi örneklerle daha önceden karşılaşmış olabilirsiniz. Zaten steganografi tarihinin en az 3000 yıl önceye dayandığı söylenir. Geçmiş döneme ait bazı staganografi tekniklerine örnek olarak;
- Eski Yunanistan’da, insanlar mesajları tahtaya yazıp üzerini mumla kaplarlardı. Böylece cisim kullanılmamış bir tablete benzerdi öte yandan mumun eritilmesiyle birlikte içindeki gizli mesaj okunabilirdi.
- Heredotus’un bir hikayesine göre Pers saldırısının öncesinde saçları traşlanan bir kölenin kafasına yazılan uyarı mesajı, saçlanırın uzaması sayesinde saklanmıştır. Bu sayede, mesaj dikkat çekmeden gerekli yere ulaşabilmiş, ulaştığında da kölenin saçları tekrar kesilerek uyarı okunabilmiştir.
- İkinci Dünya Savaşı sırasında, New Yoruk’taki bir Japon ajanı (Velvalee Dickinson) oyuncak bebek pazarlamacısı kılığı altında saklanmaktaydı. Bu ajan, Amerikan ordusunun hareketlerini bebek siparişi içeren mektuplar içine saklayarak Güney Amerika’daki adreslere gönderiyordu.
- Özellikle 1960′larda mor ötesi boya ile yazı yazabilen sprey ve kalemler moda idi. Bu kalemlerin yazdığı yazılar, sadece bir mor ötesi ışıkla görülebiliyordu.
- Ron Howard’ın Akıl Oyunları (A Beautiful Mind) filminde, John Nash gazete ve dergilerde gizli mesajlar aramaktadır.
Bu gibi analog yöntemlerin dışında günümüz teknoloji ve imkanlarına dayanarak geliştirilmiş dijital steganografi teknikleri ise çok daha gelişmiş ve daha az alanda daha fazla bilginin gizlenmesine imkan vermektedir.
Dijital ortamda bu teknik kullanılırken medya dosyası (resim, ses, video) içine “lsb” Least Significant Bit ( En az öneme sahip bit) ler kullanılır ve bunlar değiştirilerek oluşturulan dosyalarda kayda değer ve/veya gözle görülür bir değişme olmaz.
LSB
8 bitlik bmp formatlı resim dosyaları ikili sayı sisteminde her pixel için 256 renkden oluşan bir byte içerir. İkili sayı sistemine göre 10110111 sayısını ele alalım. Bu sayıyı onluk düzene getirdiğimizde 183 elde ederiz. Sondaki bit in 1 veya 0 olması bu değeri çok fazla değiştirmeyecektir. Sondaki bit değerimiz eğer 0 olsaydı bu değer 182 olacak ve renk üzerinde gözle görülecek büyük bir değişikliğe neden olmayacaktı. İşte bu sondaki bitimiz LSB olarak adlandırılır. Bu bitler yerine bizim gireceğimiz datanın verileri girilirse eğer datamız gizlenmiş olur.
Bunun nasıl yapıldığına gelince… 24 bitlik bir resim içerisine A harfini yerleştirelim.
24 bitlik resmin renk kodlarının aşağıdaki şekilde olduğunu varsayalım
(00100111 11101001 11001000) [2^8*2^8*2^8; bitkonstelasyonunun değeri:1817400]
(00100111 11001000 11101001) [2^8*2^8*2^8; bitkonstelasyonunun değeri:1817400]
(11001000 00100111 11101001) [2^8*2^8*2^8; bitkonstelasyonunun değeri:1817400]
Bu şekil 3 pikselden oluşmakta . A harfinin de binary karşılığını (10000011) olarak verelim. Şimdi her pikseldeki LSB nin yerine bizim A harfimizdeki bitlerimizi yerleştirelim.
(00100111 11101000 11001000) [2^8*2^8*2^8; bitkonstelasyonunun değeri:1809600]
(00100110 11001000 11101000) [2^8*2^8*2^8; bitkonstelasyonunun değeri:1763200]
(11001000 00100111 11101001) [2^8*2^8*2^8; bitkonstelasyonunun değeri:1808313]
Görüldüğü gibi renk kodlarının arasında 6000-54000 arası bir fark oluşmuştur. Bu fark 19 milyon renk sayısı arasında çok küçük bir değer olarak kabul edilebilir ve bu farka sahip iki resim arasında insan gözünün farkedebileceği bir zıtlık oluşmaz. Gizlenen verileri kripto teknikleriyle daha güvenli hale getirmek mümkündür.