Yazan : Selda BERKER

Steganografi, mesajı gömme yoluyla bilgiyi saklama sanatı ve bilimidir Bu yaklaşım, bir nesnenin içerisine bir verinin gizlenmesi olarak da tanımlanabilir. Bu yaklaşımla ses, sayısal resim, video görüntüleri üzerine veri saklanabilir. Görüntü dosyaları içerisine saklanacak veriler metin dosyası olabileceği gibi, herhangi bir görüntü içerisine gizlenmiş başka bir görüntü dosyası da olabilir. Bu yaklaşımda içine bilgi gizlenen ortama örtü verisi (cover-data), oluşan ortama da stego-metin (stego-text) veya stego-nesnesi (stego-object) denmektedir.

Steganografide amaç, bir mesajın varlığını saklamak ve bir “covert channel (örtülü kanal)” yaratmaktır. Bu yüzden steganografi, amacı mesajın içeriğini saklamak olan kriptolojinin bir parçası olarak görülebilir. Bununla birlikte bu iki tekniği beraber kullanmakta mümkündür. Bunun için gizli mesaj önce encrypt edilir (şifrelenir), sonra steganografik yöntemlerle dijital bir verinin içerisine saklanabilir.

Steganografi kelimesi Yunanca “steganos: gizli, saklı” ve “grafi: çizim ya da yazım” kelimelerinden gelmektedir. Yunanca bir kelime olan steganografinin tam karşılığı olarak “covered writing (kaplanmış yazı)” diyebiliriz. Steganografi, Antik Yunan zamanına kadar uzanan oldukça eski bir veri gizleme yöntemidir ve bugün kullanılan pek çok orijinal özelliği antik Yunan medeniyetinden gelmektedir. Sparta ve Xerxes arasındaki savaş esnasında, Dermetaus Xerxes’in işgal için beklemede olduğunu Sparta’ya haber etmek istedi. Bunun yapabilmek içinde, tahta tabletlerin üzerine mesajını yazarak bunları balmumu ile kapladı. Balmumu ile kaplı olan tahtalardan hiçbir şey gözükmediği içinde, nöbetçiler hiç kuşkulanmadı. Bundan sonraki zamanlarda da özellikle savaşlarda bu steganografi tekniğinden oldukça yaralanılmıştır.

II. Dünya Savaşı esnasında Almanlar da bu teknikten yararlandı. Fakat Yunanlıların yaptığı gibi mesajı fiziksel olarak saklamadılar. “Null Ciphering” terimiyle açıklanan bir metot kullandılar. Örneğin aşağıdaki mesaj II. Dünya Savaşı’nda Alman bir casus tarafından gönderildi.

Apparently neutral’s protest is thoroughly discounted and ignored. Isman hard hit. Blockade issue affects pretext for embargo on by-product, ejecting suets and vegetable oils.

Bu mesajdaki her kelimenin 2. harfini alırsak karşımıza Pershing sails from NY June 1 şeklinde bir gizli mesaj ortaya çıkacaktır.

Antik Yunan medeniyetinde kullanılan yöntem kaba ve basit olsa da sonraki zamanlarda steganografi hikâyesi muhteşem başarılarla devam etti. Bugün steganografi, dijital teknolojinin ayrılmaz bir parçasıdır. Steganografik tekniklerin ticari uygulamalarla kullanılmaya başlanmasıyla birlikte de “digital watermarking” kavramı doğmuştur. Bu yeni kavram steganografi ile karıştırılmamalıdır. Çünkü “watermarking”in amacı bir ses veya görüntü dosyasının bazı özel modifikasyonlarla saklanması değil bir kişiye ait olduğunu belirtmek olduğu için hiç kimse daha önceden işaretlenmiş bir dosyadaki işareti kaldırmamalı ve kendi işaretini koyamamalıdır. Özellikle son zamanlarda popüler olan mp3 müzik dosyaları için bu yöntem çok kullanılmaktadır.

Steganografi, Dilbilim Steganografi ve Teknik Steganografi olmak üzere kendi içerisinde ikiye ayrılmaktadır. Dilbilim steganografi, taşıyıcı verinin metin (text) olduğu steganografi koludur. Teknik Steganografi ise birçok konuyu içine almaktadır. Bunlar; görünmez mürekkep, gizli yerler, microdot’lar ve bilgisayar tabanlı yöntemler gibi başlıklar altında toplanabilmektedir. Bilgisayar tabanlı yöntemler metin, ses, görüntü, resim dosyalarını kullanarak veri gizleme yöntemleridir.

STEOSYSTEM

Amacı, bir mesajın varlığını saklamak ve bir “covert channel (örtülü kanal)” yaratmak olan steganografide bilinen bir örnekleme, Simmons “Mahkûmların Problemi”dir: Alice ve Bob hapishanedeler ve diğerlerinden ayrı ayrı hücrelerde tutuluyorlar ve bir kaçış planı yapmak istiyorlar. Sonraları, kaçış planı yapmasınlar diye güvenilir bekçiler yoluyla birbirlerine haber yollamalarına izin veriliyor. Fakat bekçiler mesajlaşmaya muhalif olan müdür Eve’nin ajanları ve onlar tüm mesajları müdür Eve’ye sızdırıyor. Eğer Eve gizli haberleşmenin herhangi bir işaretini keşfederse, Alice ve Bob’u kimsenin kaçamadığı çok yüksek güvenlikteki hücrelere transfer ederek onların kaçış planlarını bozacak. Alice ve Bob ise bu gerçeğin farkına vardılar. Fakat onlar ayrı ayrı hücrelere konulmadan önce bir “codeword” paylaşmışlardı. Buna göre onlar masum gibi görünen mesajların içine saklı bilgileri gömeceklerdi. Böylece kaçış planlarını koordine eden bilgileri Eve’ye fark ettirmeden değiş tokuş yapabilirlerse başaracaklardı.

Bilgi saklamanın standart terminolojisine göre, mahkumlar arasındaki iletişim “covertext”, saklı mesajın gömülü olduğu mesaj “stegotext” olarak adlandırılmaktadır. Müdür eve ise bu stegotext ve covertext alışverişinden tamamen habersizdir. Alice tarafından gömülü, saklı bir mesajla yaratılan stegotext algoritmaları ile Bob tarafından gizli mesajdaki kodların çözülme algoritmalarının toplamı ise “stegosystem” olarak adlandırılıyor. Bir stegosystem, gömülü mesajı en az bir şifreleme uygulaması kadar iyi saklamalıdır. Çünkü bilginin çok ufak bir miktarı dahi düşmanların eline geçse Bob ve Alice’in yaptığı anlaşılacaktır. Bu yüzden steganografi bir şifreleme uygulamasından çok çok daha fazlasını gerektirir. Ciphertext rastgele bitlerin dizisine benzer şifreleme uygulamaları tarafından üretilirler ve bu Eve’nin şüphesini artırır. Bunun yerine, masum gibi görünen fakat gizli mesajı içeren, stegotext kullanılmalıdır.

Bu sezgisel formların temelleri, steganografi yaklaşımını oluşturmaktadır. Yukarıdaki örneklemeden de görüleceği üzere bir stegosystemin, bir cryptosystemde olduğu gibi covertextten düşmanların gözle göremeyeceği bir çıkışı (stegotext) olmalıdır.

Biçimsel olarak bir stegosystem, anahtar üreten, mesajı kodlayan ve mesajı çözen üçlü (triple) algoritmadan oluşmaktadır. Stegosystem aşağıdaki bileşenleri içerir:

emb : gömülecek olan mesaj.

cover : gömülecek olan emb’deki veri.

stego : gömülmüş olan bir mesajı içeren cover’ın modifiye edilmiş bir versiyonu.

Key : Gönderici ve alıcı tarafından da bilinmesi gereken gömme ve açma işlemleri

için gerekli olan ekstra gizli veri.

fE : Parametre olarak key,emb ile cover’a sahip ve çıktı olarak stegoyu üreten bir

steganografik fonksiyon.

fE-1 : Parametre olarak key ile stegoya sahip olan çıktı olarak emb’i üreten bir

steganografik fonksiyon. fE-1 fonksiyonu, fE fonksiyonun ters fonksiyonudur


Şekil: 1

Steganografi kullanım alanları açısından üçe ayrılmaktadır. Bunlar aşağıdaki gibidir:

Metin (text) steganografi

Görüntü (image) steganografi

Ses (audio) steganografi

Görüntü dosyaları için bir steganografik sistem şekil 2’de gösterilmektedir. Gönderici bir gizleme fonksiyonu kullanarak bir steganogram yaratır. Gizleme fonksiyonu, verinin saklanacağı taşıyıcı ortam ve gizlenecek veri olmak üzere iki parametreye sahiptir (Westfeld ve Pfitzmann, 1999).

 


Şekil 2: Stegosystem

 

Görüntü steganografide, bilgilerin görüntü dosyaları içerisine saklanmasının çeşitli yöntemleri vardır. Şekil 2’de Gizleme Fonksiyonu olarak adlandırılan ve bilgi gizlemede en çok kullanılan yöntemler aşağıda gösterilmiştir:

• En önemsiz bite ekleme

• Maskeleme ve filtreleme

• Algoritmalar ve dönüşümler (Sellars, 1999).

Bu çalışmada en önemsiz bite ekleme – LSB yöntemi incelenmiş, 24- bit ve 8 – bit renkli resimler için ayrı ayrı LSB uygulamaları gerçekleştirilmiştir.

LEAST SIGNIFICANT BIT (LSB) INSERTION YÖNTEMİ

Günümüzde, analog bir imaj dosyasını dijital formata çevirdiğimiz zaman, renkleri sunmak için genelde üç farklı yol seçebiliriz:

1 – 24 – bit color: Her piksel 224 renkten birine sahip olabilir ve bunlar her 8 bit (256 değer) tarafından verilen, üç temel rengin ( R (red), gren (G), blue (B) ) farklı miktarları olarak sunulur.

2 – 8 – bit color: Her piksel 28 (256) renkten birine sahip olabilir ve renklerin bir tablosundan veya bir paletten seçilirler.

3 – 8 – bit gray scale ( 8 bit gri seviye ): Her piksel 28 (256) gri noktanın birine sahip olmalıdır.

Sayısal Resmin Yapısı

Sayısal (dijital) resim N satır ve M sütunluk bir dizi ile temsil edilir. Genellikle satır ve sütun indeksleri y ve x veya r ve c olarak gösterilebilir. Bir resim dizisinin elemanlarına piksel denir. En basit durumda pikseller 0 veya 1 değerini alırlar. Bu piksellerden oluşan resimlere ikili (binary) resim denir. 1 ve 0 değerleri sırasıyla aydınlık ve karanlık bölgeleri veya nesne ve zemini (nesnenin önünde veya üzerinde bulunduğu çevre zemini) temsil ederler (Sağıroğlu ve Tunçkanat, 2002).


Şekil 3: Sayısal Resmin Temel Yapısı

Bütün renk değişimleri üç temel rengin birleştirilmesiyle elde edilir. Basit dijital resim dosyasını ele alırsak, her temel renk 1 bayt ile gösterilir ve 24 bitlik bir resimde her piksel için renk değerini taşıyan 3 byte kullanılır.

Resim Dosyalarının Sıkıştırılması

Resim dosyalarında “kayıplı” ve “kayıpsız” olarak iki sıkıştırmadan bahsedebiliriz. Her iki yöntem de dosya büyüklüğünü azaltır ancak gömülü bilginin etkilenmesi açısından farklı sonuçlar verirler.

Kayıpsız sıkıştırma, orijinal mesajın doğru olarak elde edilmesini sağlar. Bu nedenle orijinal bilginin eksiksiz elde edilmesi gereken durumlarda tercih edilir. GIF ve 8 bit BMP formatları bu yapıdadır.

Kayıplı sıkıştırma, dosya büyüklüğünü büyük ölçüde azaltır ancak resmin bütünlüğünü korumaz. JPEG resimler bu tip resimlerdir. Kullanılan kayıplı sıkıştırma algoritmasına bağlı olarak JPEG formatı, yüksek kaliteli dijital resimlere yakın sonuç verir.

LSB Insertion Yönteminin Uygulaması

Steganografide en fazla kullanılan tekniklerden biri Least Siginificant (LSB-en az öneme sahip bit) Insertion yöntemidir. Uygulaması çok basit olan bir yöntem olmasına karşın dikkatsizce uygulanması durumunda veri kayıpları ortaya çıkmaktadır. Bu yöntemde, gizlenecek verinin her biti, resim verisinin bir baytının son bitine yazılır. Örnek olarak bir 24 bit resim dosyasının, üç pikselinin ilk sekiz baytına “A” harfinin nasıl gömüleceğini gösterelim (waset, 2009):

Pikseller: (00100111 11101001 11001000)

(00100111 11001000 11101001)

(11001000 00100111 11101001)

A: 01000001

Sonuç: (00100110 11101001 11001000)

(00100110 11001000 11101000)

(11001000 00100111 11101001)

Altı çizili üç bit değiştirilmiştir. Yani bilginin gömülmesinden sonra bitlerin eklendiği sekiz baytın sadece üçünde değişiklik meydana gelmiştir. LSB insertion yönteminde genel olarak son bitlere ekleme yapıldığından içine veri gömülen resimdeki değişim sadece %50 oranında olur.

Bu tekniğin diğer bir versiyonu ise her baytın sadece son bitinde değiştirme yapmak yerine son 2 veya daha fazla bitinde değiştirme yapabilmektir. Bu, örtülü-nesnedeki (cover-object) gizli bilginin kapasitesini artıracaktır, fakat örtülü nesnedeki bozulma da daha fazla olacaktır ve insan gözünün değişikliği algılayabilme olasılığı artacaktır. Fakat 24 bit renkli resimlerde renk spektrumu daha geniş olduğu için hala değişimler insan gözünün algılayacağı boyutlara erişemez.


Şekil 4: Son iki bite gömme işlemi


Şekil 5: LSB yöntemiyle faklı sayıdaki bitlerin gömülmesi

Görüldüğü gibi orijinal resim ile stego resimler arasındaki farklılıklar insan gözüyle algılanmamaktadır.

Fakat piyasada bunun için pek çok yazılım bulunmaktadır. Örneğin piyasadaki Java diliyle yazılmış StegCure adlı yazılım bitleri hex editör tolunu kullanarak Hexadecimal olarak sunar ve değişimleri tespit edebilir.

LSB Insertion yönteminde veri gömme işlemini gerçekleştirmek için yukarıda verdiğimiz örnekten de anlaşılacağı üzere ilk bayttan son bayta doğru bitlerin değişimi için bir sıra izleme zorunluluğu yoktur. Verinin gömülmesi işleminde baytların hangi sırayla kullanılacağı genellikle “stego-key” anahtar vasıtasıyla düzenlenmekte ve tamamen karışık sırayla veri gömülmesi yapılabilmektedir. Bazı akıllı yazılımlar koyu renkli alanları tespit edebilir ve bu alanların değiştirilmesini engeller. Çünkü insan gözüyle koyu bölgelerdeki renk değişimlerinin algılanması daha kolaydır.

 


Şekil 6:Stegosystem Mechanism

Gri-seviye Resimlerde LSB yönteminin uygulanması

Gri-seviye resimlerde her piksel, 0 (siyah) ile 255 (beyaz) arasında tam sayı değer alabilen 1 byte ile temsil edilmektedir. 0–255 arasındaki değerler gri’dir ve bundan dolayı bir resme ait tam sayı “gri ton seviye” (gray level) olarak isimlendirilmektedir.

Örneğin, renk değeri 142 olan bir pikselin içine ikilik sayı sistemindeki 1 değeri saklandığında oluşan piksel ve renk değeri aşağıda gösterilmektedir.


 

Yukarıdaki renklerden de görüleceği gibi iki renk arasında gözle fark edilemeyecek kadar az bir değişim

vardır. Son bitin 1 ya da 0 olması gözle görülebilir bir fark yaratmamaktadır.

 

24-bit Renkli Resimlerde LSB yönteminin uygulanması:

24 bit resimler bir piksel başına 3 byte kullanmaktadır. Her pikselin rengi “Kırmızı (red), Yeşil (green), Mavi (blue)” olmak üzere üç ana renkten elde edilmektedir. Buna pikselin RGB değeri denmektedir. Her byte’ta son biti değiştirmek suretiyle bir pikselde 3 bitlik bilgi saklanabilir. Yani 24 bit derinliğine sahip 1024×768 piksel boyutundaki bir resim, bilgi saklamak için kullanılabilir 2.359.296 bit (294.912 byte)’e sahiptir. Gizlenmek istenen mesaj, saklama işleminden önce sıkıştırılırsa çok daha fazla sayıda bilgi resmin içine gizlenebilir.

10010101 00001101 11001001 (149,13,201)

10010110 00001111 11001010 (150,15,202)

10011111 00010000 11001011 (159,16,234)

 

Orijinal görüntü bitleri yukarıdaki gibi verilen 3 pikselin içine “101101101” bilgisi gizlendiğinde oluşan yeni piksel değerleri aşağıdaki gibi olmaktadır.

10010101 00001100 11001001 (149,12,201)

10010111 00001110 11001011 (151,14,203)

10011111 00010000 11001011 (159,16,234)

 

Yukarıdaki örnekte sadece 4 bitte değişiklik yaparak bilgi gizlenmektedir. Bu yöntemde en az değişikliği yaparak sonuca gitmek ve gizlenecek bilgi 9 bitten az ise hangi bitlerin yok sayılacağını belirlemek oldukça önemlidir (Kessler, 2001).

8-Bit Renkli Resimlerde LSB yönteminin uygulanması:

8 bitlik görüntülerde piksel başına 1 byte kullanılır. 8 bitlik görüntüler renk sınırlaması yüzünden çok iyi bir sonuç vermemektedir. Saklanacak bilgi, saklama ortamını çok fazla değiştirmeyecek şekilde dikkatlice seçilmelidir. Orijinal görüntüde son bite ekleme işlemi yapıldığında, renk girişi göstergeleri değişmektedir. 8 bitlik görüntülerde 4 basit renk (WRBG) kullanılmaktadır. Bunlar; beyaz (White-W), kırmızı (Red-R), mavi (Blue-B) ve yeşildir (Green-G).

Bu renklerin renk paletinde karşılık gelen girişleri ise sırasıyla 0 (00), 1 (01), 2 (10), 3 (11) şeklindedir.

Örnek olarak verilen orijinal görüntü pikselleri “Beyaz, beyaz, mavi, mavi” (00 00 10 10) ise 10 sayısının ikilik (binary) tabandaki karşılığı olan 1010 değeri bu piksellere gizlendiğinde, yapılan değişiklikler sonucunda görüntünün yeni piksel değerleri aşağıdaki gibi elde edilmektedir.

01 00 11 10

Bu değerler de renk paletinde sırasıyla kırmızı, beyaz, yeşil ve mavi değerlerine karşılık gelmektedir (Johnson ve Jajodia, 1998). Piksellerin renk değerleri oldukça değiştiğinden, gözle fark edilebilecektir ve bu kabul edilemez bir durumdur. Veri-gizleme uzmanları bu nedenle 8 bitlik renkli görüntüler yerine gri-seviye görüntülerin kullanılmasını daha uygun bulmaktadırlar (Sellars, 1999). Fakat bu da ilerleyen teknoloji ve haberleşmedeki hızın öneminin gün geçtikçe artması karşısında yeni sorunlara yol açmaktadır. Çünkü ufak boyuttaki dosyaların network iletişiminde, network hızını artırma ve bant genişliğini azaltma gibi önemli getirileri vardır. Oysa steganografi için pazardaki son ürünleri incelediğimizde 8-bit renkli resimler için yukarıda söylediğimiz nedenlerden ötürü pratik uygulamaların olmadığını görmekteyiz. Yapılan değişikliklerin, zengin renk paletine sahip olmasıyla fark edilmesini zorlaştıran 24-bit resimler ise resim steganografisi için tercih edilen resim formatları olsa da büyük dosya boyutlarından dolayı network iletişimini yavaşlatmaktadırlar. Bu dezavantajları kaldırmak için ise 8-bit resimler üzerinde optimize çalışması yapılabilir. Bu nedenle bu çalışmada 8-bit resimler için pratik bir steganografik uygulama yaratacağız.

Önerilen Teknik:

Eş zamanlı olarak istenen gizli bilgi kodlanırken, bir 24-bit Bitmap(.bmp) resmi 8-bit bitmap resme dönüştürülmelidir. Bir algoritma 24-bit resimdeki temsili renklerin dışında, 8-bit resim için bir renk paleti yaratmalıdır. Yaratılan bu renk paleti daha sonra bir 8-bit colormap için optimize edilmelidir. Yani orijinal resmin niteliğine minimal değişikliklerle uygulanmalıdır.

Bu resim dosyasını 24-bit bitmap’den 8-bit bitmap’e sıkıştırma işlemi insan gözüyle çok zor fark edilebilecek, ufak değişikliklere neden olacaktır. Bununla birlikte bu ufak değişimler saklı veriye yardım edecektir. Çünkü saklı verinin neden olduğu ufak değişimler, sıkıştırmanın neden olduğu ufak değişimlerden farklı olduğu için stego resim ile orijinal bir 8-bit resmin karşılaştırılması mümkün değildir.

8-bit resimler için pratik bu steganografik uygulama, steganografik iletişimde daha ufak dosya boyutlarından yararlanmaya imkân vermektedir. Saklanabilecek gizli mesajın boyutunu sınırlasa da, geniş örtülü dosya gerektirmeyen gizli haberleşmeler için daha kompakt bir araç sağlanılacaktır.

Colormap (Renk Eşlemi) Yaratma:

8-bit color resmin colormap’i maksimum 256 (28 ) renge sahip olacaktır. Bununla birlikte, Least Significant (LSB) Insertion yöntemiyle bitler değiştirildiğinden de minimum gürültü oluşacaktır. Bunun için öncelikle 240 rengin, renk eşlemesi yapılabilecektir. Kalan 16 renk finalde resim yazılırken colormap’e eklenecektir.

240 orijinal rengi toplamak için, resim Şekil 7’de görüldüğü gibi 15×16 grid ile quandrantlara bölünür. Bir renk bu quandrants’ların her birinden rastgele seçilir ve her bir quandrantın X ve Y koordinatları toplanır. Sonra resim verisini sunan RGBQUADS dizisindeki piksellerin içeriği incelenir. (Bir RGBQUADs dört baytın bulunduğu bir yapıdır. Bunların her biri red(kırmızı), green(yeşil) ve blue(mavi) renklerin yoğunluklarını ayrı ayrı belirten üç bayt ve ayrılmış bir bayttır.)


Şekil 7: 15 x 16 grid ile kaplı resim

Her zaman, bir quandrant’tan bir renk toplanacaktır ve bu toplanan renk ile her seferinde colormap’teki diğer tüm renkler karşılaştırılacaktır. Karşılaştırılan iki renk arasındaki fark ise minimum hatayla hesaplanacaktır. Eğer hesaplanan bu hata, belli bir hata seviyesinden küçük ise diğer quandrant’taki renge geçilecektir. Bir rengi bulmak için geçilen bu beş aşamadan sonra da toplanan renkler colormap’e eklenecektir.

Colormap’i Optimize Etmek

Başlangıçtaki colormap, orijinal resmin dışında toplanan 240 rengi içeriyordu. Bu renkler girilen resimden seçiliyordu, ancak resimde var olan renkler ile seçilecek renklerin en alakalı olacağı garanti edilmiyordu. Bu yüzden de resimdeki renklerle en alakalı olan 240 rengin seçilmesi için colormap optimize edilmelidir.

Optimize algoritması için Linde-Buzo-Gray yöntemi kullanılır. Orijinal 24-bit resim dosyasından bir piksel seçilir ve bu piksel RGB değerleri colormap’teki her rengin RGB değerleri ile karşılaştırılır. Her bir karşılaştırma içinde renklerin blue, green ve red bileşenlerinin standart sapması kullanılarak hata seviyesi hesaplanır. Böylece colormap’teki renkler en ufak hatayla, piksellerin RGB değerlerine en yakın değerlerle üretilmiş olurlar. Sonra da piksellerin RGB değerleri colormap’teki renklerin RGB değerlerine eklenir. Bir sayıcıda colormap’teki her resme ne kadar pikselin atandığını ve her zamanda bulunan eşleşmeleri takip eder. Yaklaşık olarak orijinal resimdeki piksellerin %25’i bu uygulamada gözden geçirilir. Bu uygulamayla daha iyi görünen renklerin olduğu bir colormap elde edilmiş olur. Bu süreç daha iyi ve daha yakın renkler elde edilinceye kadar tekrar ettirilebilir. Colormap optimize edilirken de her process de bulunan hata seviyesi kayıt altına alınır ve belli bir hata seviyesinden sonra algoritmanın çalışması bitirilir.

Colormap’i Sıralama

8-bit color resimdeki her piksel, 24-bit color’deki 8-bit pointerdır. Yukarıda bahsettiğimiz gibi LSB insertion yöntemine baktığımızda, bu yöntem uygulandığında kırmızı olarak işaretlenen bir piksel aniden bit değişimiyle yeşil renge dönebilir. Bu durumla karşılaşmamak için colormap’teki renkler sırlanmalıdır. Bunu başarmak için ise sıralamam algoritmaları uygulanır.

Colormap dizisindeki ilk renk ile başladığımızda, başlangıç pikseline en yakın rengi bulmak için standart sapma ölçülür. En iyi eşleşen rengi bulduğumuzda bu renk başlangıç renginin yanına gelir. Daha sonra aynı işlemler diğer renkler içinde tekrar ettirilir.



(a)     (b)

Şekil 8- 256 renk resim paleti üzerinde yapılan düzenleme

Pikselleri Atama:

Colormap sıralandıktan sonra, 8-bit resim artık üzerinde uygulama yapabilmek için hazır durumdadır. Bir 8-bit bitmap 256 renk içerir ve her pikselin atandığı bir renk vardır. Orijinal 24 bit resimde kullanılan pikselleri colormap’teki renklere de atamamız gerekir. Orijinal 24-bit resimden bir piksel seçilir ve onun RGB değerleri colormap’teki her bir rengin RGB değerleriyle karşılaştırılır. Her bir karşılaştırma için red, green ve blue renk bileşenlerinin standart sapması kullanılarak bir hata seviyesi hesaplanır. En az hatayla üretilen renge de bu piksel değeri atanır.

Veriyi Kodlama:

Resim artık veriyi içine gömmek için hazırdır. Kodlama fonksiyonu üç parametre alacaktır ve işlem iki adımda tamamlanacaktır. İlk adımda resmin içine metni kodlamak için; 1. metnin veri stringi, resim verisi ve binary veri stringi olmak üzere üç parametre gerekir. Kodlama fonksiyonunun ilk adımında ASCII text onun binary karşılığına çevrilmelidir. Bunun için, metin mesajının her bir karakteri, onun ASCII tablosundaki sıra numarasına çevrilir (örneğin “a”=97). Sonra bu sıralı numara da binary sayı olarak dönüştürülür. En son adımda ise mesajın binary karşılıkları resim verisinin en az öneme sahip bitleriyle değiştirilir. Böylece mesaj resim verisinin içine başarılı bir şekilde gömülmüş olur.

STEGANALİZ (Steganalysis)

Steganaliz steganografik (steganagraphic) sistemlerin gizliliğini kırma sanatı ve bilimi olarak tanımlanabilinir. Bu bilimle uğraşanlara ise steganalist (steganalyst) denir.

Elektronik ortamda bilgiyi saklama ortam özelliklerinin değişmesini gerektirir. Bu değişiklikler gömülü mesajın varlığını ortaya çıkaran bir imza ya da bir parmak izi (fingerprint) bırakırlar. Bu da steganografinin amacını bozar.

Saldırılar

Saldırılar steganalistin elinde var olan bilgilere bağlı olarak farklı formlarda olabilir (Tablo 1).

Steganalizde saldırı tipleri iki ana başlık altında incelenir. Bunlar;

Tarama (Detection)-Pasif Saldırı

Yok Etme/Bozma (Distortion ) -Aktif Saldırı

Stego-only attack

Sadece stego-object elimizde

chosen stego attack

The stego-tool (algoritması) biliniyor ve stego-object elimizde

known cover attack

Stego-object ve cover object’in orijinal bir kopyası elimizde

Known stego attack

Stego-tool (algoritması) biliniyor ve stego-object and orijinal kapak (cover) elimizde.

known message attack

Gizli mesaj ve stego-object elimizde

choosen message attack

Bir mesaj seçilir ve bilinen algoritma ile stego-object oluşturulur.

Tablo 1

 

Piyasada Camouflage ve JpegX gibi resim steganografide veriyi saklamak için kullanılan birçok yazılım vardır. Güncel steganografi kullanılan yazılımlarını şu şekilde sıralayabilir:

S-Tools

S-Dart

Hide and Seek

EZ stego,stego-online

J steg-Jpeg

StegDetect; Jpeg resimlerinde Jsteg, JP Hide ve Seek tarafından saklanan mesajları tarar.

Bu yazılımların hepsi çok kolay kırılabilir, zayıf güvenlikteki yazılımlardır. Güvenlik elbette, göreceli bir kavramdır ve bu saklanacak verinin önem derecesine göre değişebilir. Kişilerin bilgisayarlarında bulunan özel dosyaları başka gözlerden saklamak için elbette ki Camouflage, JpegX ve bu saydığımız steganografik yazlımlar yeterli olabilir.

Gizli Mesajın Taranması

Alışılmamış modeller gizli bilginin varlığının ihtimalini teşhir ederler. Eklenen boşluklar ve kullanıcıya görünmeyen karakterler dosyanın bir kelime işlemci tarafından açılmasıyla kolayca görülebilinir. Metin eğer ekranda yazılırsa normal gözükebilir fakat dosya bir kelime işlemci ile açılırsa boşluklar, tablar ve diğer karakterler metinin biçimini bozar.

Bazı resimlerde içine az miktarda bir bilgi gömülerek büyük bozulmalar olabilir. Görünen bir gürültü (noise) gizli bilginin varlığını ele verir. Aynı durum audioalar için de geçerlidir. Yankılar ve gölge sinyaller duyulabilir gürültü ihtimalini aza indirgerler. Fakat bunlar da birkaç işlem ile fark edilebilinir.

Stego-image ler cover imageleri ile görsel olarak karşılaştırıldıklarında gizlenmiş olan bilginin varlığı hakkında bir ipucu vermezler. Bunu belirlemek için detaylı bir analiz yapmak gerekir. En basit yöntem stego-image ile cover-image arasındaki artan dosya boyutu. Fakat günümüzdeki birçok steganografik araçlar bu farkı ortadan kaldırmaktadır. Bir başka imza ise cover imagelerin renk paletlerinde yapılan hiledir. Bu parmak izi tek renklerin sayısındaki büyük artış ya da azalış olarak kendini gösterir. Bir diğer parmak izi ise paletteki renklerin rastgeleden çok artan bir şekilde artmasıdır. Gray scale bir resimde siyah gölgelerin sayısının orantısız olması ise bir başka güçlü gizli bir mesajın varlığının göstergesidir.

Aşağıdaki resimlerde LSB İnsertion yöntemiyle farklı formatlardaki resimlerin içine farklı miktarlarda verinin gömülmesiyle elde edilen görüntüler yer almaktadır.

 

Saklanan veri miktarı

Orijinal resmin görüntüsü

LSB yöntemiyle veri saklandıktan sonraki resmin görüntüsü

Açıklamalar

Nothing 


orijinal BMP


orijinal BMP

LSB yönteminden sonra resim bu şekilde tuhaf bir şekle dönüşüyor. Muhtemel JPG’den büyük bloklar geldiği için bu şekle dönüştü. JPG formatı resimler için 8×8 piksel blokları üstünde çalışırlar.

1 kb of random data


orijinal BMP


orijinal BMP

LSB ile rastgele saklanan verinin varlığı çok açık görülebiliyor. Burada dikkat edilmesi gereken nokta BMP dosyanın üstteki satırlarında değil de son satırında farklılıkların olmasıdır.

5 kb of random data 


orijinal BMP


orijinal BMP

Daha fazla miktarda rastgele veri sakladığında bozulmanın olduğu yer daha da arttı, yani yukarıdaki sorunun karşılığı burada daha açık gözükmektedir. Verinin saklandığı noktalar alt satırlardır. Saklanan veri miktarı arttıkça BMP dosyanın üstüne doğru farklılıklar çıkmaya başlamıştır.

1.5 Kb ASCII text 


orijinal BMP


orijinal BMP

veri rastgele bitler şeklinde değil de basit bir metin olarak saklanmıştır ve geliştirilen LSB ile birlikte alttaki bozulmalar dikey çizgiler şeklinde gözükmeye başlanmıştır. Yani düz metindeki RGB bitleri daha belirgin bir şekilde gözükmektedir.

 

Gri Seviyeli resimler üzerinde LSB ile oluşan değişimler:

 


Orijinal resim –veri saklı veya değil



LSB’in genişletildiği orijinal resim,

herhangi saklı bir veri YOK

 

 

 

 

 


LSB’si yine genişletilmiş resim fakat burada resimde saklı veri VAR ve bu çok açık gözüküyor

 


 

 

 

Least Siginificant Bit Insertion yönteminin uygulaması oldukça kolaydır. Buna orantılı olarak saldırılara karşı da oldukça açıktır ve kolaylıkla çözülebilecek bir yöntemdir. Renk paletindeki görüntü modifikasyonları ve basit resim hileleri saklı mesaj girişini yok edebilir. Basit resim hilelerinden bazıları “resmi yeniden boyutlandırmak” ve “resmi kesmek” gibi hileler olabilir. Bu hilelerle birlikte resimdeki LSB insertion yöntemiyle yapılan değişimler insan gözüyle algılanabilecek boyutlarda daha belirgin hale gelir.


 

RGB:dalga boyları

Saldırıyı zorlaştırmak için steganografik sistemlerde bazı gizli anahtarlar da kullanabilmektedir. Bu anahtarlar ikiye ayrılırlar:

1. Steganografik anahtarlar; mesajı resmin içine gizleme ve tekrar elde etme işlemini kontrol etme için kullanılırlar.

2. Kriptografik anahtarlar; Mesajın resmin içine gizlenmeden önce şifrelenmesi ve daha sonra deşifrelenmesinde kullanılırlar.

Bazı disk analiz programları hard-diskin kullanılmayan partition larında veya clusterlarında saklanan bilgiyi filtreden geçirip rapor edebilirler.

Filtreler aynı zamanda paket headerlarında gizli ya da geçersiz bilgi içeren TCP/IP paketlerini yakalamak içinde uygulanabilinirler. Filtreler paketlerin firewall domain’nin içinden üretilip üretilmediğini ve SYN ile ACK bitlerinin geçerliliğini tespit etmek için ayarlanabilinir. Yani kullanılmayan ve reserve edilen boşluklardaki bilginin yakalanması için firewall ayarları düzenlenebilinir.

Steganography de aynı kapak iki defa kullanılmamalı bu karşılaştırma için bir saldırı imkânı doğurur. Aynı zamanda herkesçe bilinen genel dosyalar da kullanılmamalı, mesela Windows un açılış sesi ya da Windows un en genel duvar kâğıtları vs.

Steganografiyi Bozma

Bir stego-image keşfedildiği zaman gizli mesajı yok etmek veya işlevsiz bırakacak birçok adım vardır. Gizlenmiş bilginin varlığı biliniyorsa her zaman tarama yapmak gerekli değildir. Bu durumda yapılacak en iyi şey gizli mesajı bozarak onun kullanışsız hale gelmesini sağlamaktır. Bilgiyi saklamanın her yolunda gömülecek olan gizli bilginin boyutu ile bu bilginin varlığını koruması ya da manipulasyonlara karşı güçlü olması arasında bir vazgeçiş vardır.

Daha önce bahsettiğimiz gibi metin üzerinde boşluklar eklenerek ve görünmeyen karakterler ile gizlenen mesajın bozulması yine bir kelime işlemci tarafından gerçekleştirilebilinir. Extra boşluklar ve karakterler metin dokümanlardan kolayca çıkartılıp atılabilinirler.

Resim dosyalarından gizli bilginin yok edilmesi image processing teknikleri ile kolayca yapılır. Bunlar resmi 1 kaç derece döndürmek, resmi bir yerinden kesmek, resmin parlaklığını azaltmak, resmi bulandırmak, resmi eğriltmek vs. Ya da resmi bir formattan başka bir formata dönüşmek gibi (mesela bmp den jpeg’e).

Eğer bir object üzerinde gizli bilgi olduğu taranamıyorsa tekrar o object içine bilgi bilinen steganagraphic metotlarla gömülerek önceki gizli bilginin yok olmasını sağlayabiliriz.

Ses ve video dosyaları da resimler gibi aynı saldırı tiplerine maruz kalabilirler. Sinyallerin manipülasyonu gömülü mesajı yok etmek ya da tekrar üzerine yazmak için yeterli olabilen gürültü seviyesindeki (LSB) gömülü sinyalleri değiştirecektir. Yankıları ya da güç fark edilen sinyalleri iptal etmek için filtreler kullanılabilinirler. Fakat bu umulduğu kadar başarılı olmayabilir.

TCP/IP paket başlıkları (header) kolayla denetlenebilinir. Firewall filtreleri kaynak ve hedefin IP adreslerinin, SYN ve ACK bitlerinin geçerliliğini test etmek için ayarlanırlar. IP adresleri kaplı bilgiyi geçirmek için değiştirilirse veya spoof edilirse, DNS ‘teki geri bakım (reverse lookup) bu adresi tanımlayabilir. Eğer IP adresi hatalıysa paket iptal edilebilinir. Bilgi saklamak için bu tekniği kullanmak yönlendirme sürecinde TCP/IP başlıklarında üzerine yazılabileceğinden dolayı risklidir. Reserve edilen bitlerin üzerine tekrar bir bilgi yazılabilinir.

SONUÇ

Steganografi köklü bir tarihi ve yeni teknolojilere ayak uydurabilecek yapıda olması nedeniyle dinamik bir araçtır. Steganografik gizlilikteki başarı uygun bir mekanizma seçerek elde edilir. Her nasılsa zararsız görünen bir stego-medium gerçekte gömülü bir bilginin varlığını yayar.Kapaklı iletişim alanında ve steganografi deki gelişmeler devam etmektedir. İmage manipülasyonunda hayatta kalmayı başaran çok daha güçlü metotların yapımındaki araştırmalar ve saldırı teknikleri büyümeye devam ediyor.

Bu çalışmada steganografik yöntemlerden LSB Insertion yönteminin tüm resim formatları üzerindeki uygulamasını geliştirdik. Kolay bir yöntem olan LSB’ ye karşı yapılabilecek saldırı yöntemlerini ve bu saldırılara karşı bu yöntemi daha dayanıklı hale nasıl getirebileceğimizi irdeledik.

KAYNAKLAR

1. http://www.waset.org/pwaset/v38/v38-75.pdf

2. WESTFELD A., PFITZMANN A., “Attacks on Steganographic Systems”, Information Hiding. Third International Workshop, IH’99, Dresden, Germany, September/October, 1999, Proceedings, LNCS 1768, Springer-Verlag Berlin Heidelberg 2000.

3. http://guillermito2.net/stegano/tools/index.html

4. SELLARS D., “An Introduction to Steganography”, Student Papers, 1999.

http://www.cs.uct.ac.za/courses/CS400W/NIS04/papers99/dsellars/index.html

5. http://www.jjtc.com/steganography

6. SAĞIROĞLU Ş., TUNÇKANAT M., “Güvenli İnternet Haberleşmesi İçin Bir Yazılım: Türksteg”, 2002. http://mf.erciyes.edu.tr/turksteg/

7. http://www.cl.cam.ac.uk/~fapp2/publications/ieee99-infohiding.pdf

Yorumlar

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


altı − 6 =