Steganografi ve Türleri

S Oktay Bicici
9 min readMay 30, 2022

Steganografi, İngilizce “Steganography” adında ve Yunanca “Steganos” ve “Graphein” kelimelerinden oluşmaktadır. “Steganos”, gizlenmiş, örtülü ve korunmuş anlamlarına ve “Graphein” ise yazı anlamına göre çevrilebilir. Sonuç olarak, steganografi “Gizli -Gizlenmiş Yazı”manasında Türkçe “Veri Gizleme” olarak düşünülebilir.

Güvenli haberleşme, iletişim, bilgi iletimi gibi konularda “Güvenlik, gizlilik, mahremiyet, veri bütünlüğü, erişilebilirlik” gibi bilgi güvenliği kavramlarını sağlamak adına yaygın olarak bilinen iki yol mevcuttur. İlki kriptografi ve diğeri steganografi yani veri gizleme yöntemleridir. Her ikisinde de amaç bilginin sadece gönderen ve alan taraflar dışında başka üçüncü kişilerin
öğrenememesinin sağlanmasıdır. Buna göre iki dalda da değişik metotlar, araçlarve kavramlar kullanılmıştır ve geliştirilmektedir. Kriptografi iki taraf arasındaki iletişimi özel, mahrem (privacy) olarak ele alırken, Steganografi iletişimin gizliliğine (secrecy) yönelir.

Kriptografinin yolu ve yöntemi, bilgiyi matematiksel hesaplamalar sonucunda üretilen değerler ile okuyan ve inceleyen kişinin anlayamayacağı şekilde dönüştürme işlemidir. Üçüncü kişiler ele geçirdikleri mesajı ilk hali ile anlamlandıramazlar çünkü mesaj karıştırılmıştır. Mesajın çözümlenmesi gerekir ve çözümleme işlemi ayrı bir zaman ve çaba harcanmasını zorunlu kılar. Kriptografinin ana düşüncesi, gönderilen mesaja üçüncü kişilerin ulaşması durumunda çözmelerini olabildiğince zorlaştırmak mümkünse orijinal mesajı anlamalarını engellemektir.

Diğer dal olan Steganografi de ise amaç mesajı dönüştürerek önlem almak değil, mesajın varlığını tamamen gizleyerek göndermektir. Birçok yöntemler ve kullanılan araçlar mevcuttur. Mesaj bir taşıyıcıya dikkat çekmeyecek şekilde gizlenerek gönderilir. Kriptografi de mesaj her ne kadar şifrelense de görünür haldedir ve tarafların ilgisini, dikkatini çeker, analiz edilebilir ve
şifrelemenin çözülmesini teşvik eder. Üçüncü kişiler taşıyıcıya ulaştıklarında mesaja dair bir iz fark edemeyeceklerinden ellerinde mesajın olup olmadığını anlayamazlar ve mesajı ğrenmeleri engellenmiş olur.

STEGANOGRAFİ TEKNİKLERİ

  1. Gizli Mesajın Yazıya Gizlenmesi (Metin Steganografi — Text Steganography)

Yazıya gizlemede en basit yöntem olarak her kelimenin ilk harfine gizlemektir.

After The Theater, All Clients Keep A Tab Down At Wesley’s Nook.
A T T A C K A T D A W N

2. Akrostiş ( İlkleme )

Akrostiş bir şiirde dizelerin ilk harflerinin yukarıdan aşağıya doğru sıralandığında anlamlı bir sözcük meydana getirmesi olarak tanımlanabilir.

3. Açık Alan (Open spaces) Yöntemleri

Bu yöntemler, anormal gözükmeyen iki kelime arasında extra boşluklar, satır sonu boşlukları ile çalışmaktadır. Bununla birlikte Açık Alan Yöntemlerinin ASCII kodları ile kullanılması daha uygundur.Açık alan yöntemleri de kendi içerisinde 5 farklı uygulama tipine sahiptir.

A. Cümle içi boşluk bırakma (Word shifting)
B. Satır kaydırma Kodlaması (Line shifting method)
C. Satır sonu boşluk bırakma
D. Gelecek kodlaması
E. Yazımsal Yöntemler(Syntactic Methods )
F. Anlamsal Yöntemler (Semantic methods)

A. Cümle içi boşluk bırakma (Word shifting)

Metinlerin sağa hizalanması da metin dosyalarında veri saklanmasında kullanılabilir. Kelimeler arasındaki boşluklar hesaplanıp kontrol edilerek, masum metin dosyalarına veri gizlenebilir. Kelimeler arasındaki tek boşluk “0”ı, çift boşluk “1”i temsil eder.

B. Satır kaydırma Kodlaması (Line shifting method)

Bu yöntemde text satırları dikey olarak kaydırılarak gömülecek mesajın kodlanması sağlanır. Gömülmüş kelime yine text dosyası yada bitmap dosya olarak açılabilir. Örneğin, her satır 1/300 oranında aşağı ya da yukarı kaydırılması ile kodlama yapılabilir.

C. Satır sonu boşluk bırakma

Satır sonu boşluğu yöntemi, her satırın sonundaki boşluktan faydalanır. Veri, tüm satır sonlarında daha önceden belirlenen sayıda boşluklar bırakarak gizlenir. Örneğin, iki boşluk bir bit, dört boşluk iki bit, sekiz boşluk dört bit vb. gizler. Bu yöntem, iç boşluk metodundan daha iyi çalışır çünkü satır sonundaki boşluk sayısı arttırılarak daha fazla veri gizlenebilir.

D. Gelecek kodlaması

Bu yöntemde, “b, d, T” gibi harflerin yatay/düşey uzunlukları gibi bazı metin
özelliklerini değiştirerek, biçimlendirilmiş metin içine gizli mesajları saklamayla ilgilenir. Bu yöntem, her biçimlenmiş metnin, gizli mesaj saklamak için kullanılabilecek çok sayıda özelliği olmasından dolayı, uzak ara durdurulması en zor yöntemdir.

E. Yazımsal Yöntemler(Syntactic Methods )

Bu yöntem, dökümanı kodlamak için noktalama işaretlerini kullanır. Örneğin aşağıdaki iki cümle de ilk bakışta aynıymış gibi gözükmektedir, fakat dikkatlice bakıldığında ilk cümlenin fazladan bir ‘,’ işareti içerdiği görülür. Bu yapıların biri “1”, diğeride “0” olarak belirlenir ve kodlama işlemi bu şekilde yapılır.

“ekmek, yağ , ve süt”
“ekmek, yağ ve süt”

F. Anlamsal Yöntemler (Semantic methods)

Bu yöntemde eşanlamlı kelimelere birincil ve ikincil değerler atanmaktadır. Sonra bu değerler “1” ve “0” olarak binary’e dönüştürülür. Örneğin “big” kelimesi birincil, “large” kelimesi de ikincil olarak işaretlenmiş olsun. Birincil “1”, ikincil de “0” olarak binary’e çevrilir.

4. Gizli Mesajın Resim Dosyasına Gizlenmesi(Görüntü Steganografi-Image Steganography)

Bilgisayarortamın resim her noktadaki ışık şiddetini temsil eden bir dizi sayıdır. Dijital resimler 24 bit veya 8 bit dosyalar olarak saklanırlar. Bir 24 bitlik resim bilgi saklamak için en fazla alnı sağlar ancak oldukça büyük olabilir (JPEG resimler hariç). 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 4, 24 bitlik bir resmin her bir pixel parçasının renk uzayında yerleşebileceği alanları göstermektedir.

Steganography uzmanları 256 gri tonlamalı resimlerin kullanımını önermektedir. Gri tonlamalı resimlerin tercih edilme sebebi koyuluğun her değer için çok küçük farklarla artmasıdır. Bu tip resimlerde palet içermektedir ve palet değerlerindeki küçük değişimler gözün fark edemeyeceği kadar azdır. Bazı gri tonlamalı resimler 4 bitliktir ve 16 farklı gri ton içermektedirler. Bu yapıdaki resimlerde değişimler daha belirgin olmaktadır.

Fotoğraflardaki her pikselde, her bir 8 bit kırmızı, yeşil ve mavi rengi gösterecek şekilde 24 bitlik bir harita kullanılır. Sadece maviyi düşünecek olursak, 2⁸ tane farklı mavi renk vardır diyebiliriz. 24 bitlik resimler 16,777,216 (2²⁴) eşsiz renk seçeneği sunar.

Resim dosyalarının tipik özelliklerini çok iyi kavramamız gerekir. Bunlar;
● Bütün resimler dosya başlığı (header) ve piksellerden oluşur.
● Her piksel sadece bir renk içeren/gösteren küçük bir bloktur.
● Her pikseldeki renk temel 3 rengin karışımından elde edilir.(Red,Green,Blue)
● Her pikselde bu 3 rengin verileri tutulur. Her temel renk 1 pikselde 1 byte (0…255) yer kaplar, yani 1 piksel 3 byte (R, G, B) veri taşır.

Yöntemlerin en kolayı gizlenecek olan veriyi resim dosyasının “açıklama” alanında gizlemektir. Bu ideal bir yöntem değil çünkü “açıklama” alanının bir sınırı var (255 byte kadar). Ayrıca bu yöntemde değişik resim dosyaları için değişik algoritmalar kurmanız gerekecektir.

Birçok farklı yöntem kullanılarak resimlerde bilgi gizlenebilir. Kullanılan yöntemleri, gömme işlemi sırasında kullandıkları veriyi dikkate alarak iki başlık altında toplayabiliriz.

● Spatial / Image Domain tekniği
● Frequency / Transform Domain Tekniği

Freqency Domain veya Transform Domain olarak bilinen teknik ise kapak verideki değişimler üzerinde gömme işlemini uygular. Transform domain tekniğine örnek olarak ise JPEG formatlı resim dosyalarına veri gömme işleminde kullanılan algoritmaları verebiliriz. Bu algoritmalar JPEG sıkıştırma sırasında kullanılan DCT katsayıları üzerinde veri gömme işlemini uygular.

A. Least Significant Bit Insertion(En Az Öneme Sahip Bite Ekleme) Yöntemi
B. JPEG Algoritması (DCT)
C. BPCS Steganography Yöntemi
D. Maskeleme ve Filtreleme (Masking and Filtering)

A. Least Significant Bit Insertion(En Az Öneme Sahip Bite Ekleme) Yöntemi

“LSB (Least Significant Bit) Insertion” yöntemi, örtü verisine ait segmentlerde her byte’ın en az anlamlı biti yerine gizlenecek verinin bitleri sırasıyla verinin başlangıcından itibaren birer birer yerleştirilir. Burada her sekiz bitin en fazla bir biti değişikliğe uğratıldığından ve eğer değişiklik olmuşsa da değişiklik yapılan bitin byte’ın en az anlamlı biti olmasından dolayı, ortaya çıkan stego verisindeki (= örtü verisi + gömülü veri) modifikasyonlar insan tarafından
algılanamaz boyuttadır. Steganaliz yapıldığında, stego verinin her byte’ının son bitlerinin birleştirilmesiyle gizli mesajı oluşturmak kolaydır; dolayısıyla pratikte diğer yöntemlere göre daha az güvenilirdir ve daha az kullanılır.

B. JPEG Algoritması (DCT)

JPEG formatlı resimler yüksek kalitedeki resimleri kaliteden çok az kayıpla ve hacmini önemli ölçüde düşürerek taşıyabilmektedirler. İnsanın görüş sistemi bu tip bir dönüştürmeyi mümkün kılmaktadır. Genel yapı olarak incelemek gerekirse JPEG sıkıştırma işleminde öncelikle piksellerin RGB bilgileri luminance-chrominance bilgilerine dünüştürülür. İnsan gözü luminance bilgisine daha duyarlı olduğu için chrominance bilgisi komşu pikselleriçinaynı değer kullanılmak üzere yarı yarıya azaltılır. Elde edilen yeni piksel değerlerine 8x8 bloklar halinde Discrete Cosine Transform işlemi uygulanır ve DCT katsayıları elde edilir. Bu katsayılardan yüksek freaknsaları ifade edenler bir quantization tablosundaki değerler ile bölünür. Elde edilen yeni katsayılara sıkıştırma işlemi uygulanır ve header eklenerek dosya oluşturulur.

C. BPCS Steganography Yöntemi

Gizleme işleminde öncelikle dosyanın analizini yapılmakta ve veri gizlemede kullanılabilecek bitler tespit edilmektedir. Bitlerin belirlenmesinde resmin şekil bilgisini ne kadar taşıdıklarına dair bir inceleme yapılmaktadır. Resim öncelikle her piksele ait bitler gruplanara k tek renkli resimler haline getirilir. Genel prensip olarak n bitlik bir resimden her pikselin birinci bitleri ile
bir resim, ikinci bitleri ile başka bir resim elde edilir.Bit-Plane Complexity Segmentation Based Steganography Yöntemi oldukça yeni bir yöntemdir. Yapısal olarak bakıldığında Spatial Domain tekniğine dahil edilebilir. Diğer tekniklerle karşılaştırıldığında en belirgin fark sağladığı kapasitedir. Diğer teknikler en fazla orjinal verinin %15’i kadar bir gömme alanı sağlarken BPCS orjinak verinin %50’si miktarında bilginin gizlenmesini sağlayabilmektedir.

D. Maskeleme ve Filtreleme (Masking and Filtering)

Maskeleme ve filtreleme görünür watermarking uygulamalarında kullanılan bir tekniktir. Uygulama alanı gri tonlamalı resimler ve 24 bit BMP ve gri tonlamalı resim formatları ile sınırlıdır. Resimde görülebilir işaretleme yapmak için kullanılır. Piksellerin parlaklık değerinin arttırılması ile yapılır.

5. Gizli Mesajın Ses Dosyasında Gizlenmesi (Ses Steganografi — Audio Steaganography)

Yaygın dağıtımı ve içerdiği bilginin özelliklerinin benzerliği dolayısıyla ses dosyaları da resim dosyaları gibi steganography uygulamalarında kullanılmaktadır. Ses Steganografi, insan işitme sistemi (Human auditory system-HAS) aralığı yüzünden, ses sinyalleri içerisine bilgi gizleme
oldukça uğraş gerektiren bir konudur. HAS 1/1.000’den daha büyük frekans aralığını farkedebilir. Aynı zamanda HAS nereden geldiği belli olmayan gürültülere de oldukça duyarlıdır. Ses steganografide kullanılan birçok yöntem mevcuttur. Bunlardan bazıları:

A. Düşük Bit Kodlama (Low bit encoding)
B. Faz-Aşama Kodlama (Phase Coding)
C. Yayılı İzge ( Spread Spectrum)
D. Yankı Veri Gizlemesi (Echo data hiding)

A. Düşük Bit Kodlama (Low bit encoding)

Resim steganografide bahsettiğimiz LSB insertion yöntemiyle aynı şekilde gerçekleştirilir. Ses dosyasındaki verinin her baytının son bitine gizlenecek bilginin bir biti yazılır. Sonuçta oluşan değişiklik ses dosyasında gürültüye neden olmaktadır. Ayrıca dayanıksız bir yapısı vardır. Tekrar örnekleme veya kanalda oluşabilecek gürültü ile mesaj zarar görebilir veya yok edilebilir.

B. Faz-Aşama Kodlama (Phase Coding)

Phase coding yöntemi de resim dosyalarında uygulanan JPEG algoritması benzeri bir yapı taşımaktadır. Gömme işleminde ses dosyası küçük segmentlere bölünür ve her segmente ait faz gizlenecek veriye ait faz referansı ile değiştirilir. Phase coding prosedürü aşağıdaki gibidir.
- Ses verisi N adet kısa segmente bölünür.
- Her segmente Discrete Fourier Transform (DFT) uygulanarak faz ve magnitude matrisleri yaratılır.
- Komşu segmentler arasındaki faz farklılıkları hesaplanır.
- Her segment için yeni bir faz değeri bilgi gizlenerek oluşturulur.
- Yeni faz matrisleri ile magnitude matrisleri birleştirilerek yeni segmentler elde edilir.
- Yeni segmentler birleştirilerek kodlanmış çıkış elde edilir.

C. Yayılı İzge ( Spread Spectrum)

Gizleme işlemini ses sinyalinin kullandığı frekans spectrumu üzerinde yapmaktadır. Güçlü bir yapısı olmamakla birlikte seste gürültü meydana getirmektedir.

D. Yankı Veri Gizlemesi (Echo data hiding)

Bilginin gizlenmesi taşıyıcı ses sinyali üzerine bir yankı eklenmesi ile sağlanmaktadır. Bilgi yankının gecikme miktarı, zayıflama oranı veya büyüklüğü gibi değerler kullanılarak gizlenir. İki farklı gecikme değeri kullanılarak insan kulağının algılamayacağı düzeyde 0 veya 1’in
kodlanması mümkündür. Her bitin kodlanması için sinyal segmentlere bölünür. Echo data hiding yöntemi herhangi bir gürültüye neden olmamakta veya kayıplı bir kodlama kullanmamaktadır.

6. Gizli Mesajın TCP/IP Paketlerinde Gizlenmesi

TCP başlıklarında yer alan, aktif olarak kullanılmayan ya da rezerve olarak tutulan kısımlara istenilen gömü verisinin yerleştirilmesi etkili bir yöntem olarak karşımıza çıkmaktadır.

7. Gizli Mesajın HTML Sayfalarında Gizlenmesi (HTML Steganography)

En basit olarak, HTML ile yazılan web sayfalarının kaynak kodları arasına web tarayıcılar tarafından gösterilmeyen yorum satırları eklenerek gizli mesaj gizlenebilir. Ancak bu metod gizli mesajın açık olması güvenlik problemi teşkil etmektedir. İlgili mesajıngözden kaçırılmasını sağlayacak farklı alternatiflerin düşünülmesi bu noktada büyük önem arz etmektedir. HTML kodları içerisinde sıklıkla kullanılan “src, width, height, alt, title, border, bgcolor, href” gibi anahtar ifadelerin ardı sıra gelme kombinasyonlarının anlamlandırılması ile ikili bilgilerin gizlenmesi yaklaşımı da etkili olup, ilk bakışta gizli mesajın tespit edilmesi ihtimalini ortadan kaldırmaktadır.

KAYNAKÇA

https://www.bgasecurity.com/wp-content/uploads/2018/05/steganografinedirnaslvearaclar-160824210851.pdf

https://www.ijsr.net/archive/v4i4/29031501.pdf

--

--