Ağlarda Steganografi

Steganografi, bilgi gizleme sanatı ve bilimi olarak tanımlanır. Steganografide, bilgi,kendisine dair hiçbir işaret içermeyen zararsız, sıradan görünümlü bir ortama gömülür.Steganografide amaç, bilginin anlaşılmamasından çok varlığının gizlenmesi, istenmeyen üçüncü tarafların dikkatinin çekilmemesidir.

Önemli ve gizli bilginin istenmeyen kişilerden saklanması söz konusu olduğunda, ilk akla gelen bilgiyi anlaşılmaz hale getiren kriptografi ile beraber, steganografi de çok genis bir kullanım alanı bulmuştur.Kriptografi, bilgiyi şifreleyip, okunmasını, elde edilmesini zorlaştırır ve bilgiyi korumayı amaçlar. Ancak şifrelenmiş bilgi istenmeyen üçüncü tarafların daha çok dikkatini çeker. Bu açıdan steganografi büyük önem kazanır.Temel steganografide sadece gizlenecek olan veri veya bilgi, cover media olarak bilinen ortama gömülerek, stego object olarak tanımlanan veri gizlenmiş nesne elde edilir.

Temel Bir Veri Gizleme işlemi

Steganografik yöntemlerle gizlenen verinin varlığının istenmeyen kişilerce fark edilmesi ihtimaline karşı, gizlenecek olan veri önce kriptografik yöntemlerle kodlanıp şifrelenir daha sonra gizlenir. şifrelemede kullanılacak olan anahtar (stego key), alıcı tarafta, veri gömülü ortamdan çıkarıldıktan sonra çözülürken tekrar kullanılır. Bununla beraber daha ideal bir durum için gizlenmeden önce verinin sıkıştırılması da söz konusu olabilir. aşağıdaki resimde steganografi ile beraber kriptografinin de kullanıldığı durum modellenmiştir.

Şifreleme ile Beraber Veri Gizleme işlemi

Alıcı taraf, veri gizleme işleminin tersi bir işlemle tekrar veriyi elde edecektir.Steganografinin bilimsel açıdan gelişimi insanlık tarihi boyunca devam edegelmiş,veri gizleme için farklı ortamlar denenmiş, türlü türlü yeni yöntemler geliştirilmiştir. Tarih boyunca fiziksel ortamın işlenmesiyle gelişen steganografi, günümüzde daha çok elektronik ortamda; resim, ses, video, yazı, iletişim hatları, ağ paketleri vb. veri saklama ortamlarında kendine yer bulmaktadır.

Antik ve Fiziksel Steganografi
Günümüzün elektronik tabanlı teknolojisinin gelişiminden önce, kıymetli bilgilerin gizlenip alıcıya ulaştırılması için, elle işlenen fiziksel ortamlar kullanılmıştır.Eski Yunan’da, insanlar tahta üzerine gizli mesajı yazdıktan sonra, üzerini balmumu ile kaplarlar ve alıcıya iletirlerdi. Yine aynı çağlarda, gönderilecek olan mesaj, bir kölenin tıraşlı kafasına dövme ile yazılmış, kölenin saçları uzadıktan sonra, ilgili yere gönderilmiş ve alıcı taraf kölenin kafasını tıraş edip mesajı almıştır. Jeremiah Denton, Kuzey Vietnam’da tutuklu olduğu zamanlarda, 1966’da çıkarıldığı televizyondaki basın toplantısında, gözlerini tekrar tekrar kapatıp açarak Mors alfabesi ile torture (işkence) kelimesini kodlamıştır.

Dijital Ortamda Steganografi
Elektronik ve bilgisayar teknolojisinin gelişimi ile modern steganografik yaklaşımlar geliştirilmiş ve yeni farklı ortamlara veri gizlenmeye başlanmıştır. Günümüzde veri gizleme için en çok resim, ses, video, metin dosyaları, dijital ve analog sinyaller gibi iletişim ortamları, verilerin iletişiminde kullanılan protokollerin paket başlık yapıları gibi ortamlar kullanılmaktadır.

Resim Steganografi
Dijital ortamda en çok kullanılan veri gizleme ortamı resim dosyalarıdır. Bunun başlıca sebepleri, veri gizlendikten sonra resim dosyalarında meydana gelecek değişikliklerin insan gözü tarafından algılanmasının zor hatta imkansız olması ve resim dosyalarına gizlenebilecek veri miktarının çok olmasıdır.En basit bir yaklaşımla resim dosyalarındaki her bir noktanın (piksel) renk değerlerinin çok az farkla değiştirilmesi; sayısal ifadeyle o noktanın renk kodunun en düşük değerli bitlerinin değiştirilmesi ile veri gizlenebilir.aşağıdaki resimde Bitmap türündeki bir resmin veri gizlenmeden önceki ve sonraki görünümleri yer almaktadır. Resme yaklaşık 4KB veri gizlenmiş ve her iki durumda da dosya boyutu 228 KB olup bir değişme olmamıştır. insan gözü ile bu iki resim arasında bir fark sezilemez

Resim tabanlı steganografide en çok LSB Replacement, LSB Matching, DCT, DFT,DWT, FFT gibi yaklaşımların bilinip kullanılmasına rağmen, resim türü ve kullanılan yöntem ve algoritmaların steganalize karşı zayıflıklarından dolayı çok daha fazla sayıda yaklaşım geliştirilmiştir.

Video Steganografi
Video steganografi, video dosyalarına veya canlı video akışı sırasında video sinyallerine veri gizlenmesidir. Basit bir video dosyası kare veya frame adı verilen resimlerin dizisinden oluşmaktadır. Resimler üzerinde kullanılan steganografik yöntemler ufak değişikliklerle videolar üzerinde uygulanabilmektedir.Videolardaki her bir kare içerisine gizli veri gömmenin yanı sıra videodaki kareler (frameler) arası ilişkiden de yararlanılmakta, gizli veri tüm videoya dağıtılmaktadır.

Ses Steganografi
Ses steganografide, ses dosyalarına veya ses sinyallerine veri gizlenir. Bilgisayar ortamında ses sinyalleri resim sinyallerine benzer bir yapıda kaydedildiğinden, ses steganografide kullanılan yöntemler resim steganografide kullanılan yöntemlerden çok farklı değildir.İnsan kulağıyla fark edilmeyecek biçimde ses dosyalarına gizli veri gömülürken ses sinyallerindeki gürültüden ve frekanslardan faydalanılır.

Metin Steganografi
Metin steganografi, metin dosyalarına veri gizlenmesi işlemidir. Resim, ses ve video steganografiye göre uygulanmasının daha zor, veri gizleme kapasitesinin daha az olması dezavantajları olmasına rağmen metinler her yerde bulunduğundan dikkate değer veri gizleme işlemleri yapılabilir .Metin steganografi için birçok yaklaşım vardır. Bunlardan bazıları; sözdizimsel değişiklik, anlamsal değişiklik, metin kısaltma, heceleme değişikliği, satır kaydırma, kelime kaydırma, özellik kodlama, sıkıştırma ve dilbilimsel yöntem ve yaklaşımlardır. Bu yaklaşımlar genel olarak; metin biçimini değiştirme ve metnin anlamını değiştirme şeklinde iki grup altında toplanabilir .

Belge Tabanlı Steganografi
Belge steganografi, kelime işlemci dosyalarına, hesap tablosu yazılımlarının kullandığı çalışma kitabı dosyalarına, web sayfalarına, taşınabilir belge formatı dosyalarına vb. belgelere veri gizlenmesi işlemidir. Bu tür belgelere kaydedilen normal içerik verileri ile beraber belgelerin başlık bilgileri kısmı veri gizlenmesi için uygun alanlar bulundurur.Örneğin web sayfalarında HTML etiketlerinin özelliklerinin sıraları değiştirilerek veri gizlenebilir.

Dosya Sistemi Tabanlı Steganografi
İsletim sistemlerinin dosya sistemlerinden faydalanılarak sabit disk, taşınabilir bellek gibi ortamlara normal kullanıcı dosyalarının yanı sıra gizli veriler saklanabilir. Bunun başlıca yöntemlerinden biri NTFS dosya sisteminin bilgisayar kullanıcıları tarafından pek bilinmeyen uyumluluk özelliği olan ADS’yi (Alternate Data Streams) kullanmaktır. ADS,bilgisayar korsanlarına (hackerlar) zararlı veri gizlemek için bir fırsat verir.

Ağ Steganografi
Ağ steganografi, kısaca iletişimdeki akışı bozmadan, bilgisayar ağlarında gizli veri iletimi sağlama işlemi olarak tanımlanabilir.Ağ steganografide iletilen paketlerin başlık yapılarından, sınıflandırılmalarından,sıralandırılmalarından, dolgularından, uzunluklarından yararlanılarak ağ ortamında gizli veri gönderilebilir.

GİZLİ KANALLAR ve AĞ STEGANOGRAFİ YÖNTEMLERİ

Gizli Kanallar (Covert Channels) terimi ilk olarak Lampson tarafından “bilgi iletimi amaçlı olmayan tüm kanallar” olarak tanımlanmıştır .Gizli kanallar, normal veri iletişimi için kullanılan ortamlardan gizli veri gönderimini sağlayan kanallardır. Bu kanallar, iletilmek istenen gizli verinin varlığını hissettirmemeyi amaç edinir. Aslında steganografi, gizli kanal oluşturmadır. Önceki bölümde bahsedilen resim, ses, video, metin gibi steganografik ortamların kullanımı da bu kapsama girmesine rağmen, literatürde çoğunlukla gizli kanal terimi sürekli bir veri alış verişinin olduğu bilgisayar ağlarındaki iletişimle beraber anılmaktadır.Gizli kanallar, normal veri iletimi için kullanılan açık kanalların ihlali ile oluşturulur ve açık kanaldan veri iletimi var oldukça gizli kanalın varlığından söz edilebilir.

Gizli Veri Gönderici ile Alıcının Ağdaki Muhtemel Konumları

Bilgisayar ağlarında gizli kanallar oluşturularak gizli veri iletimine ayrıca ağ steganografi (network steganography) denilmektedir . Ağ steganografide ağ paketlerine direkt veya dolaylı olarak veriler ve anlamlar yüklenir. Bunun için çoğunlukla paketlerin başlık yapıları, uzunlukları, sıraları, zamanlamaları, varsa paket uzantıları, paket dolguları ve paket trafiği manipüle edilir. Ağ paketlerinin manipülasyonu işlemi, bilgisayar ağlarında, güvenlik analizi, performans arttırma, veri gizleme, tıkanıklık denetimi,penetrasyon (sızma) testi, aldatma, saldırı gibi değişik amaçlar için yapılabildiği gibi, ağ ortamında veri gizleme amacıyla da en çok yapılan işlemdir.

Gizli kanallar geleneksel olarak depolama kanalı (storage channel) ve zamanlama kanalı (timing channel) olarak ikiye ayrılır. Depolama kanalı, gizli verinin gönderici tarafından paylaşılan bir alana (ağ paketlerinin başlıklarına) yazılıp, alıcı tarafından okunmasıdır. Zamanlama kanalı, gönderici tarafın sinyalleri (ağ paketlerini) modüle ederek, daha geniş kapsamda sadece ağ paketleri arasında zamanlamayı değil paketlerin sıralamasını ve diğer paketler arası ilişkileri de ele alan geniş bir tanım alanına sahiptir. Ancak literatürde sadece bu iki başlık altında incelemeler yapılmamış,kategorilerin sayısı bazen arttırılmış, bazen de hibrit yöntemler önerilmiştir. Bu bölümde gizli kanal oluşturma yöntemleri bu iki ana kategoriye bakılmaksızın başlıklar halinde incelenmiştir.

Paket Başlığı Tabanlı Steganografi
Ağ steganografide en çok kullanılan yöntem paket başlığına veri gizlemedir. Bu yöntemde genel olarak gönderilen gizli verinin bant genişliği yüksek olmasına rağmen;zamanlama, sıralama gibi diğer yöntemlere nazaran gizli verinin varlığının güvenlik duvarlarına, steganalitik yöntemlere veya saldırı tespit sistemlerine hissettirilmesi riski daha yüksektir. Paket başlıklarına veri gizleme işleminin dayandığı temel, genel olarak veri paketlerinin iletiminde o anda kullanılmayan veya isteğe bağlı (optional) alanlara gizli veri gömmenin yanı sıra iletişimde gerekli olan yani kullanılan alanlara da işlevini bozmadan kısmen müdahaleyle gizli verinin gömülerek paketin alıcıya gönderilmesidir.IP, TCP ve UDP, günümüz Internet altyapısında veri iletiminde en çok kullanılan protokoller olduğundan, veri gizlemek için IP paket başlığındaki Identification Number,Flags, Fragmentation Offset, Checksum, Version, ToS (Type of Service), TTL (Time to Live), Timestamp, TCP paket başlığındaki Sequence Number, Acknowledgment Number,Checksum, Timestamp, UDP paket başlığındaki Source Port, Checksum gibi alanlar literatürde veri gizleme için sıkça bahsedilen alanlardır. Bunların yanı sıra ARP, ICMP,DHCP gibi yardımcı protokollerin paket başlıkları da veri gizlemede kullanılmaktadır.

IP Flags Alanına Veri Gizleme
Bir IP paketinin boyutu iletildiği ağın MTU (Maximum Transfer Unit) değerinden büyükse paket parçalanıp iletilir ve alıcıda birleştirilir. Paketin boyutu MTU değerinden küçükse paket parçalanmadan iletilir. IP paketlerindeki Flags alanında DF (Don’tFragment) ve MF (More Fragments) bitleri bulunur. MF bitinin 1 (bir) olması, bu paketin parçalanmış paket olduğunu ve devamının olduğunu belirtirken; 0 (sıfır) olması, bu paketin parçalanmamış paket olduğunu ya da parçalanmış paket ise kendisinden sonra gelen bir parçasının olmadığını belirtir. MF biti 0 iken DF bitinin durumu iletişimde önemsizdir ve DF biti gizli veri gönderimi için uygundur.

IP Paket Başlığındaki DF Bitine Veri Gizleme

Bu yöntemle gizli veri gönderiminde, gönderici taraf ağın MTU bilgisini bilmek durumundadır. Gönderici ve alıcının aynı yerel ağda bulunduğu durumda, MTU bilgisi kolay bir şekilde bilinir ve bu yöntem kolayca uygulanabilir. Gönderilecek olan paket başka ağ segmentlerinden ve yönlendirici, modem gibi cihazlardan geçip hedefe ulaşacaksa, her ne kadar MTU keşif yöntemleri kullanılsa bile, IP paketi farklı yollardan gidebileceğinden, paketin bölünüp bölünmemesi garantiye alınamaz.
Flags alanının kullanımında bir diğer yöntem bu alanın en önemli biti olan, IP başlığında kullanılmayan ayrılmış biti veri gizlemek için kullanmaktır. Buraya gizlenecek olan veri de IP paketinin parçalanmasından dolaylı olarak etkilenecektir. Paket parçalandığı zaman bu veri paket sayısı kadar tekrar edecek, alıcı tarafında istenen veri alınamayacaktır.Flags alanı kullanılarak gizli veri gönderiminin bant genişliği düşük olup, her IP paketi ile sadece 1 (bir) bitlik veri gönderilebilir.

IP Identification Alanına Veri Gizleme
IPv4 paketindeki 16 bit uzunluğundaki Identification alanı o iletişim için benzersiz bir değer tutar ve iletişimde alıcı olan tarafın gelen yeni paket parçalarının hangi pakete ait olduğunu belirlemesi için kullanılır. Bu alan sadece paket parçalanmış ise önemlidir,parçalanmamış ise dikkate alınmaz. Bu durumda gönderici, DF bitine gizleyebildiği gibi,bu alana da gizli veriler gömebilir, hatta ikisini bir arada kullanabilir . Dahası,Identification değerinin eşsiz olması sadece o bağlantı için gerekli olduğundan, aynı değerler başka bağlantılarda da gönderilebilir, yani çok alıcılı bir veri gizleme işlemi yapılabilir.Identification alanının benzersizliğini sağlamak için, buraya gizlenecek veri, rastgele bir değer ile birleştirilip atanabilir. Mesela M harfinin ASCII kodu 77’dir ve bunun 39 ikilik sistemdeki karşılığı 1001101’dir. ilk sekiz biti M harfinin ikilik kodu, sonraki sekiz biti rastgele bir değer seçilirse bu alana atanacak veri 01001101RRRRRRRR olacaktır.Burada R rastgele ikilik bir rakamı temsil etmektedir. Bu şekilde bir MERHABA metni gönderilmek istenirse, her bir harf yukarıdaki örneğe benzer şekilde bir pakete gömülecek ve sırasıyla alıcıya gönderilecektir. Alıcı taraf gelen paketlerin Identification alanının ilk sekiz bitini okuyup gizli veriyi elde edecektir.Paketin hedefe ilerlerken parçalanması Identification alanına yazılan veriyi bozmaz, ancak alıcıya paket sayısı kadar tekrarlı veri iletilmesine sebep olur. Dolayısıyla Identification alanına veri gizlerken, Flags alanının kullanımında olduğu gibi, paketin parçalanmaması garanti edilmeli; alıcı ve gönderici taraf aynı ağ içerisinde olmalı veya aynı ağ içerisinde olmasalar bile MTU keşif yöntemleri ile paketin parçalanmaması sağlanmalı, paket boyutu iletişimin sağlandığı ağların ve cihazların MTU değerinden büyük olmamalıdır.

IP Fragmentation Offset Alanına Veri Gizleme
Ağda iletilen IP paketinin boyutu MTU değerini aştığında, IP paketi parçalara ayrılır.Her bir parçanın taşıdığı verinin bütün parça içerisindeki yeri 13 bit uzunluğundaki Fragmentation Offset alanında tutulur. Paket parçalanmasının olmadığı durumda bu alan ağ cihazları tarafından dikkate alınmaz ve bu alana veri gizlenebilir. Ancak ağın MTU değerinin bilinmesi ve iletilecek paketin boyutunun bu değeri aşmaması gerekir.

IP Type of Service Alanına Veri Gizleme
Type of Service (ToS) alanının en önemsiz iki biti iletişimde kullanılmayıp rezerve edilmişlerdir. Bu bitler gizli veri iletiminde kullanılabilir. Ancak rezerve edilmiş alanlara gizlenen veri kolaylıkla teşhis edilebilir. Çünkü kullanılmayan bu alanlar standart olarak daima 0 (sıfır) ile doldurulur.

IP Time to Live Alanına Veri Gizleme
IP paket başlığında bulunan TTL (Time to Live) alanı, paketin geçtiği her noktada bir azalan bir değer tutar. Paketin geçtiği nokta sayısı TTL değerine bakılarak hesaplanabilir.TTL değeri sıfıra ulaştığında paket ağdan düşürülür.TTL alanına direkt olarak gizli veri gömülmesi amacıyla bir değer girilmesi şüphe uyandırıcı olacaktır. Göndericinin ortada olduğu durumda, TTL değerini kontrolsüz bir şekilde daha büyük bir değerle değiştirmesi belirsiz paket döngülerine sebep olabilir veya TTL değerini daha az bir değerle değiştirmesi paketin alıcıya ulaşmadan ağdan düşürülmesine sebep olabilir. Ayrıca TTL değerinin direkt olarak kodlanması (şüphe uyandırmasa bile), alıcının doğru değeri alması için, alıcı ile gönderici arasındaki atlanacak nokta sayısının kesin bilinmesini gerektirir. TTL alanına gizli veri gömülmesinde etkin bir yöntem nolu referansta önerilmiştir. Bu yönteme göre yüksek TTL değeri mantıksal 1 (bir) olarak, düşük TTL değeri mantıksal 0 (sıfır) olarak düşünülür. Gönderilen gizli verinin algılanmaması için, ağın normal TTL varyasyonunu taklit etmek gerekir. Bunun için yüksek TTL ile düşük TTL arasında ciddi bir fark olmaması gerekir ki, bu fark 1 olarak düşünülmüştür. Bu yönteme göre bant genişliği paket başına 1 bittir.

TCP Sequence Number Alanına Veri Gizleme

Sequence Number (Sıra Numarası) olarak bilinen alan, gönderici tarafından atanan 32 bitlik bir sayıyı tutar ve bu sayı karşılıklı iletilen TCP paketlerinin sırasını belirler. TCP,çift yönlü iletişim sağladığından her iki taraf kendi başlangıç sıra numaralarını (Initial Sequence Number – ISN) bağlantı kurulumunda belirlerler.TCP bağlantı kurulumunda ilk gönderilen SYN bayrağı işaretli paketin Sequence Number alanına gizli veri gömülebilir. Bunun için çok farklı yöntemler düşünülebileceği gibi,en basit haliyle şu yöntem uygulanabilir; ASCII bir karakter gizlice gönderilmek istenirse,ASCII karakterin sayısal değeri 8 bit uzunluğunda olduğundan 256*256*256 sayısıyla yani 16777216 sayısıyla çarpılıp 32 bitlik bir sayıya dönüştürüldükten sonra gönderilecek olan SYN paketinin başlangıç sıra numarası (ISN) olarak ayarlanır ve paket hedefe gönderilir.Alıcı taraf, gelen SYN paketlerinin Sequence Number alanını okur ve bu sayıyı 16777216 sayısına bölerek kendisine gelen gizli ASCII kodunu elde eder. Bu basit yöntemle gizli veri gönderiminde bit dizisinde bir değişim olmamaktadır, yani ISN karmaşık bir hale gelmemektedir. Amaç ISN’yi daha gerçekçi görünen büyük bir sayı yapmaktır.ISN 32 bitlik olduğundan içerisine gizlenecek veri birden fazla sayıda (2,3 veya 4) karakter de olabilir. Ancak burada aynı numarayı tekrar üretmekten çekinmek gerekir. Bunun için ISN’nin bir kısmına rastgele değerler veya belli bir kısmını kodlama gibi yöntemlerle farklı numaralar üretme yoluna gidilebilir.

TCP Acknowledgment Number Alanına Veri Gizleme
Acknowledgment (ACK) Number alanı Sequence Number alanı gibi 32 bit uzunluğunda olup, TCP bağlantı kurulumunda ve sonrasındaki veri iletiminde gelen paketlerdeki Sequence Number alanındaki sıra numarasına cevap amaçlı kullanılır. Bağlantı kurulumunda sunucu, kendisine gelen SYN paketine bir SYN+ACK paketi ile cevap verir. Sunucu, gelen SYN paketindeki Sequence Number alanındaki değerin bir fazlasını cevap paketinin ACK Number alanına yazarak istemciye gönderir. Sunucuya gelen SYN paketi kapalı bir portu hedef almışsa, bu durumda sunucu bir RST paketi ile istemciye cevap verir ki bu RST paketinde de yine ACK Number alanını yukarıdaki gibi ayarlar. Yani her halükarda istemciye ACK Number alanı ayarlanmış olarak cevap gelir.Buradaki veri gizleme yönteminde IP Spoofing ile beraber yukarıda bahsedilen TCP bağlantı kurulumunun istismarıyla gizli veri gönderilebilir. Bu yöntemle ilgili detaylar yansıma yöntemi adı altında bu bölümün Karma ve Diğer Yöntemler başlığı altında verilmiştir.

UDP Paket Başlığına Veri Gizleme
UDP paket başlığında 16’şar bit uzunluğunda Source Port Number, Destination Port Number, Length ve Checksum alanları bulunur. IP paketine eklenen UDP paketininDestination Port Number ve Length alanları iletişimde zorunlu olarak kullanılırken,Checksum ve Source Port Number alanları isteğe bağlı olarak kullanılır. Checksum alanı kullanılmadığı zaman 0 (sıfır) olarak bırakılır. Source Port Number ve Checksum alanları veri gizlemede kullanılabilir.UDP paket başlığına veri gizlenmesi durumunda, UDP’nin yapısı gereği güvenilir bir iletim gerçekleşmeyebilir. iletim garantisinin istendiği durumlar için bu seçenek kullanışsızdır.

Checksum Alanına Veri Gizleme
Veri iletiminde değişik hata denetim mekanizmaları mevcuttur. Paket başlıklarında bulunan Checksum alanı paket başlığının bütünlüğünü sağlamak amacıyla hesaplanan bir alandır. Diğer protokollerde de bulunan Checksum alanı IP’de bir yönüyle farklıdır ki,IP’de paket her bir düğümden geçerken TTL alanındaki değerin bir azaltılmasından dolayı dolayı Cheksum alanı yeniden hesaplanıp ayarlanır. Gizli veri iletiminde IP Checksum alanı kullanıldığında, alıcı tarafta paketin ilk oluşturulduğu zamanki Checksum değeri tekrar hesaplanıp öyle dikkate alınmalıdır.Cheksum alanına veri gizlemenin bir yöntemi bozuk paketlerden faydalanmaktır.Normalde hedefe varan bir paketin cheksum hesabı yeniden yapılır ve hesaplanan değer paketteki mevcut Checksum alanındaki değerle karşılaştırılır. Bu iki değerin farklı çıkması durumunda paket bozuk kabul edilir ve dikkate alınmadan atılır. Veri gizlenerek iletilen Checksum alanı yanlış değerle doldurulmuş olan bir paket hedefe vardığında aynı şekilde dikkate alınmaz, ancak karşı tarafta stego paket bekleyen bir program bu paketteki gizli veriyi elde eder.Checksum alanına veri gizlemenin bir başka yöntemi kullanılan protokolün paket uzantılarından yararlanarak, paket uzantıları eklemek suretiyle checksum değerinin değişmesini ve gönderilecek gizli değere göre bir değer almasını sağlamak ve öylece iletmektir.Bir başka yöntem olarak, Checksum alanı UDP’de isteğe bağlı olarak kullanıldığından bu alanın değerinin 0 (sıfır) olması mantıksal 0 olarak, hesaplanıp değerinin yazılması da mantıksal 1 olarak kabul edilebilir.

Timestamp Alanına Veri Gizleme
IP paketindeki Options alanı isteğe bağlı ve nadiren kullanılan bir alan olup, Options altında yer alan Timestamp alanı paketin iletildiği zaman damgasını tutar. Bu alana veri gizlenmesi mümkündür. Literatürde önerilen bir yöntemde, bu alana tek sayı olarak zaman damgası girilmesi mantıksal 1 olarak, çift sayı olarak zaman bilgisi girilmesi mantıksal 0 olarak değerlendirilmiştir.Options alanının kullanımı durumunda IP paketi en fazla 20 hop (atlama) kadar gidebildiğinden, Internet ortamında kullanım için uygun bir alan olmayacak, ayrıca nadir kullanılan bir alan olduğundan veri gizleme için steganografik potansiyeli düşük olacaktır.TCP paket başlığında Options bölümünde yer alan Timestamp, iki adet 32 bitlik alandan oluşur, bu alana da IP Timestamp alanına olduğu gibi veri gizlenebilir. Bu alan Linux ve Unix benzeri işletim sistemlerinin yeni versiyonlarında standart olarak kullanımda olduğundan bu alanın kullanımı diğer isteğe bağlı kullanıma sahip alanlarda olduğu gibi şüphe uyandırmaz. Veri gömme işlemi, IP Timestamp başlığında bahsedilen, bu alandaki sayının tek veya çift olmasına göre olabileceği gibi, bu sayının en önemsiz bitlerinin değerleri değiştirilerek de yapılabilir.

Ayrılmış Bitlere Veri Gizleme
TCP paket başlığında, Data Offset alanı ile Flags alanı arasında ileride kullanılmak üzere rezerve edilmiş 6 bitlik bir alan bulunur. Bu alan normal iletişimde kullanılmadığı için hep 0 (sıfır) olarak bırakılır. Bu alana veri gömülebilir. Ağ cihazlarının ve saldırı tespit sistemlerinin bu alanı önemsemediği durumlar için problem olmaz, ancak bu durum her zaman mümkün değildir. Saldırı tespit sistemleri bu alanı kontrol edebilir veya bazı ağ cihazları paketi iletirken bu alanı sıfırlayabilir.

DHCP Paket Başlığına Veri Gizleme
DHCP paket başlığında çok sayıda alan bulunur. Üstelik bu alanların kapasiteleri de oldukça büyüktür. Toplamda DHCP paketinin sadece başlık uzunluğu 500 byte’ı geçebilmektedir.DHCP paket başlığındaki Transaction Identification (Xid) alanı, 4 byte uzunluğunda olup,o anki işlemin numarasını tutar. Bu numara istemci tarafından rastgele atanan bir değerdir.Dolayısıyla xid alanına veri gizlenebilir.Seconds alanı, istemcinin ağa katılıp adres edindiği veya yenilediği andan itibaren geçen
süreyi belirtir. Bu alanın önemsiz bitleri üzerinde yapılacak küçük değişiklikler potansiyel bir gözlemci tarafından pek algılanmayacağından veri gizlemede kullanılabilir.Chaddr (client hardware address – istemci fiziksel adresi) alanı da veri gizlemede kullanılabilir. Burada iki yöntemden bahsedilebilir. Birinci yöntem; Chaddr alanına göndericinin adresini değil de, gizli veri iletilmek istenen bilgisayarın adresini girerek,işlem süresince değeri değişmeyecek olan diğer bir başlık alanına da (örneğin Xid) gizli veriyi yazarak ağ ortamına göndermektir. Bu şekilde DHCP sunucusunun döneceği cevap belirtilen adresteki bilgisayar tarafından alınacak, beraberinde gizli veri de iletilmiş olacaktır. Bu yöntem, gönderici kendi gerçek MAC adresini kullanmadığından saldırı
tespit sistemi tarafından spoofing saldırısı olarak algılanabilir.ikinci yöntem; Chaddr alanının uzunluğundan faydalanmaktır. Chaddr alanı 16 byte uzunluğunda, normalde bu alana yazılan herhangi bir MAC adresi 6 byte uzunluğunda olduğundan kalan 10 byte gizli veri gönderiminde kullanılabilir. Benzer şekilde Sname, File alanları büyük kapasitelerinden dolayı, Options alanı ise DHCP’nin yapısı gereği sunduğu farklı ve ilginç seçeneklerden dolayı veri gizlemede kullanılabilir.

ICMP Paket Başlığına Veri Gizleme
ICMP paketlerinin en çok kullanılan iki tipi Echo Request ve Echo Replay tipleridir.Tüm bilgisayarlarda standart olarak kullanılan “ping” komutu bir ağdaki bilgisayarların erişilebilirliğini belirlemek için ICMP paketlerinin bu tiplerini kullanır.ICMP’deki 16’şar bitlik Sequence Number ve Identifier alanlarına veri gizlenebilir. Bir Echo Replay paketindeki bu alanlar ile bu paketin karşılığı olan Echo Request paketindeki bu alanlar aynı olmak durumundadır. ICMP, IP paketlerine eklenip gönderildiğinden veri iletimi garanti altına alınamazken, gönderici ve alıcı arasında iletilen Request ve Replay paketlerinin Sequence Number ve Identifier alanlarındaki verilerin aynı olması gerekliliğinden yola çıkarak, gönderici, veri iletimini kendi imkânlarıyla doğrulayabilir. Bu yönüyle ICMP ile gizli veri gönderimi, UDP ile gönderimden daha avantajlıdır.

ARP Paket Başlığına Veri Gizleme
ARP paket başlığında esnek olarak kullanılabilecek üç alan mevcuttur. Bunlar Hedef MAC adresi, Hedef IP adresi ve Padding (dolgu) alanlarıdır. Hedef MAC adresi ve Padding kısmı, bazı yerel ağlarda varsayılan olarak normalize edilip sıfırlarla doldurulur,dolayısıyla bu iki kısım gizli veri gönderimi için uygun olmayabilir. Ancak Hedef IP alanı ARP isteğine cevap verecek olan hostu belirttiği için bu alan normalize edilmez. Bu durumda bu alan gizli veri gönderimi için seçilebilir.

WIFI Çerçeve Başlığına Veri Gizleme
802.11 kablosuz ağlarda kullanılan MAC çerçeve başlığındaki Sequence Control ve Initial Vector alanlarına veri gizlenmesi mümkündür. Sequence Control alanı aslında Sequence Control ve Fragment Control olarak iki bölümden oluşur. 12 bit uzunluğundaki Sequence Control her yeni çerçevede artan bir numarayı tutarken, 4 bit uzunluğundaki Fragment Control çerçevenin parçalandığı durumda her yeni parça ile artan bir numarayı tutar. Parçalanmamış paket için Sequence Control alanına gizli veri yazılıp gönderilebilir.Initial Vector alanı taşınan veriyi şifrelemek için RC4 algoritması tarafından kullanılan 3 byte uzunluğunda rastgele bir veri tutar. Bu alana 3 byte uzunluğunda gizli veri gömülebilir ki bu veriyi ağdaki herhangi bir sniffer veya saldırı tespit sistemi rastgele değer olarak düşünecektir. Ancak WEP şifrelemenin kullanılmadığı ağlarda bu alanın bu veri gizleme amacıyla kullanılması şüphe uyandıracaktı.

Yorum yapın