Temeli antik çağlara kadar dayanan gizli haberleşme, teknolojik ilerlemeler ile birlikte şekil ve yöntem açısından farklılıklar göstermiş olup, önemini sürekli olarak korumuştur. Gizliliğin çok önemli olduğu uygulamalarda; korunan bilgilerin, üçüncü şahısların eline geçmeden ilgili hedefe gönderilmesi amaçlanır ve bu yönde çalışmalar yapılır. Gizli haberleşmede en çok kullanılan yöntemlerin başında da Steganografi gelir.
Steganografi Nedir?
Steganografi, bilgi gizleme sanatı olarak tanımlanabilir ve temel amacı, gizli iletilerin taşıyıcı bir ortam içinde fark edilmeden saklanmasıdır. Bu kavram, kelime anlamıyla "kapalı yazı" anlamına gelen Yunanca kökenli "steganos" (gizli) ve "graphein" (yazı) kelimelerinden türetilmiştir. Bir başka deyişle steganografi veri içine veri gömerek gömülen verinin varlığını saklar. Gizli verinin gömülmesi için metin, ses, imge veya video gibi bir örtü verisi kullanılır.
Genel olarak steganografi uygulamalarında, taşıyıcı nesneye örtü verisi, iletilmek istenen gizli veriye gömü verisi, içerisine gizli veri gömülmüş olan nesneye ise örtülü veri denir.
Steganografi, kriptografiye benzer şekilde bilgiyi korumayı amaçlar, ancak yöntemleri ve odak noktaları farklıdır. Steganografinin kriptografiden (şifreleme) en önemli farkı, steganografide saklı mesajın varlığının gizlenmesidir. Yani saklı verinin örtü verisi içine gömüldüğü bilgisi sadece mesajın alıcısı tarafından bilinir ve örtü verisine sahip olan bir başkası saklı verinin varlığını fark edemez.
Kriptografide ise gizli verinin anlaşılabilmesi için çok büyük çabanın ve zamanın harcanması gerekir. Üstelik gönderilen verinin gizli olduğu herkes tarafından bilinir. Ancak steganografide birbirleri ile gizli olarak haberleşen iki kişiyi gözetleyen üçüncü bir kişi haberleşmenin gizliliğini fark edecek olursa steganografi amacına ulaşamaz.
Steganografi Hangi Amaçla ve Nerelerde Kullanılır?
Steganografi kullanılırken gömü verileri genelde metin ve resim; örtü verisi ise metin, resim ve video görüntüleri olabilir. Sayısal ses verileri üzerinde de veri gizleme, teorik ve pratik olarak mümkündür. Çünkü ses içerisine küçük yankılar veya kulağın algılayamadığı sinyaller eklenebilir ve daha yüksek genlikte bir ses tarafından maskelenebilir.
Steganografi askeri haberleşmede gizlilik ve güvenliği sağlamak için; sanat eserleri, fotoğraflar veya diğer dijital içeriklerde telif hakkı ve fikri mülkiyeti korumak için; bireysel ve toplumsal siber güvenliği sağlamak için kullanılır. Zaman zaman kötü niyetli kişiler tarafından etik dışı da kullanılabildiği için dikkatli olunmalı ve bu teknolojinin kullanımı yerel yasalara ve etik kurallara uymalıdır.
Tarihte Steganografi Kimler Tarafından Kullanılmıştır?
Örtülü yazma sanatı olarak Türkçeye çevrilen “stego” ifadesi, aslında antik Yunan zamanına kadar uzanan derin bir geçmişe sahiptir. Örneğin milattan önce 5. yüzyılda, Yunan tiran Histiaeus’un, Susa kralı Darius’un krallığında göz hapsine alındığı sırada, bir Anadolu şehri olan Milet’te yaşayan damadı Aristagoras’a gizli bir mesaj göndermek istemiştir. Histiaeus, kölelerden birinin saçını kazıtır ve mesajı dövme şeklinde kölenin kafa derisine işler. Kölenin saçı yeteri kadar uzadığında, Milet’e gönderilir ve yanında hiçbir şey götürmediği için kral Darius bundan şüphelenmez. Köle oraya vardığında durumu anlatır ve saçları tekrar kazıtıldığında kafa derisinden Histiaeus’un mesajını içeren dövmesi ortaya çıkar.
Tarihin bilinen ilk şifreleme yöntemlerinden biri de metinde yer değiştirme ve harf değiştirme esasına dayanmaktadır. Bu yöntemlerden ilki bir yazıdaki harflerin yerlerini değiştirerek, ikincisi ise harfleri başka harflerle değiştirerek gerçekleştirilir. Bu yaklaşımı kullanan belki de en ünlü yöntem Sezar Şifresi’dir. Bu şifrede, her harf o harften birkaç sonraki harf kullanılarak yazılır. Örneğin, Türk alfabesi esas alındığında, üç harf atlamalı Sezar Şifresi’nde “ÜNAK” yerine “ZPÇN” yazılır.
Tarihi kaynaklarda göre Eski Romalıların birbirleri arasında, meyve suyu veya süt gibi sıvılardan oluşturulan görünmez mürekkepler kullanarak yazıştıkları söylenir.
Geçmişte kullanılan steganografik teknikler genellikle özel mürekkep veya kimyasal maddeler kullanarak görünmeyen yazılar elde etmeyi içermektedir. O dönemlerde metin içinde gizli mesajlar oldukça yaygındır ve bu mesajlarda kelime veya cümlelerin ilk harfleri referans alınarak, bazı masum görünümlü kelimelerle gizli bir mesaj iletilmektedir.
Diğer önemli örnekler ise Demaratus’un Spartalılar’ı uyardığı hikâyede olduğu gibi; odunların üzerine asitle yazılan mesajların balmumuyla gizlenmesi veya mesajların tavşanların midesine kazınması gibi uygulamalardır.
I. Dünya savaşında Almanların çözemeyeceği “bir kerelik bloknot” yöntemi, Amerikan telefon ve telgraf şirketinin bir çalışanı olan Gilbert Vernam tarafından geliştirilmiş ve savaş boyunca Amerika Birleşik Devletleri’nin mesaj iletişim güvenliğini sağlamıştır. Bu sistemde, şifrelenecek metin ASCII kodundaki karakterlere dönüştürülür ve bir kez şifreyi çözmede kullanılacak gizli anahtar, mesajı okuyan kişi tarafından imha edilirdi. Böylece tek seferlik mesajlaşmalar güvenli bir iletişimi oluştururdu. ASCII kodunun ne olduğu ve nasıl kullanıldığını yazımızın devamında inceleyeceğiz.
Sayısal Ortamlarda Steganografi Bilimi Uygulamaları Nelerdir?
Steganografi biliminin sayısal ortamlardaki kullanım alanlarına; metin, sayısal ses, sayısal resim ve sayısal görüntünün esas alındığı değişik örnekler verilmektedir. Gelin bunları beraber inceleyelim.
Veri Gizleme İşleminde Metin Kullanımı
Veri Gizleme İşleminde Metin Kullanımı ASCII tablosu, bilgisayar ağ ve sistemlerinde bilginin gösterilmesi amacıyla kullanılan bir kod standardıdır. 7 bit (0 veya 1’i temsil eden işlem basamağı) olarak 0-127 arasında toplamda 128 değişik karakteri kapsar. Her bir karakter 7 bitlik bir kod ile ifade edilir. Örneğin “a” harfi; 7 bit ASCII kodunda (1100001)2 olarak ifade edilmektedir. Benzer şekilde “8” rakamı (0111000)2 kod dizileri ile ifade edilmektedir. Standart sembollerin dışında bir takım sembol ve şekillerin de ilave edilmesi ile 0-255 arasında genişletilmiş ASCII kodu oluşturulmuştur.
Metin içine veri gizlereken akrostiş uygulaması adı verilen sayısal ortamdaki metinlerin içerisine doğrudan veri gömülmesi yöntemi kullanılabildiği gibi kelimeler arasındaki boşluklar hatta satırlar arasındaki aralıklar da bu amaçla kullanılabilmektedir. Bunlardan birine örnek olarak aşağıdaki tablo verilebilir. Tabloda görülmekte olan metnin her bir kelimesinin arasında bulunan boşluklara ikili sayı sisteminde bir karşılık verilmektedir. Eğer iki kelime arasında iki boşluk bulunuyorsa bu 1 anlamına gelmekte eğer iki kelimenin arasında iki boşluk kullanılıyorsa bu da 0’ı ifade etmektedir.
Kelimeler arası boşluklar incelenerek gömü verisini elde edildiğinde gerekli sayısal karşılıkları oluşturur. Bu sayıların ASII karşılığı incelendiğinde ise gizlenen bilgi metnine erişilmiş olunur. Tabloda gizlenen metni bu yöntemle analiz ettiğimizde “UNAK” gizli gömü verisine ulaşmış oluruz.
Veri Gizleme İşleminde Sayısal Sesin Kullanımı
Darbe Kod Modülasyonu (PCM) ile analog işaretler, belirlenmiş bir sayısal forma dönüştürülebilmektedir. PCM yardımı ile bilgisayar ortamında elde edilen sayısal ses bilgileri 8 bitlik (1 bayt) örnekler halinde iletilir veya depolanırlar. Sayısal ses verilerinin iletimi ya da depolanması esnasında veri gizleme işlemi gerçekleştirilebilir. Gizli verilerin sayısal ses bilgilerinin içerisine en yaygın kabul gören yöntem olan LSB kullanılarak yerleştirilmesi aşağıdaki tabloda gösterilmektedir. Tabloda bu yöntem yardımıyla 7 bit ASCII ile kodlanmış “a” harfinin ((1100001)2) sayısal ses verilerine gömülmesi işlemi gösterilmektedir.
Veri gömme uygulamalarında en az bozulma etkisi gösteren LSB tekniği kayıtlı sayısal ses verilerine uygulanabileceği gibi gerçek zamanlı ses haberleşmesinde de uygulanabilmekte, hatta güvenliği arttırmak için gizli verilerin şifrelenip ses verileri içerisine gömülmesi sağlanabilmektedir.
Veri Gizleme İşleminde Resim ve Video Kullanımı
Sayısal resim (imge), N satır ve M sütunluk bir dizi ile temsil edilir. Bir imge dizisinin elemanlarına ise “piksel” denir. En basit durumda pikseller 0 veya 1 değerini alır ve bu
Piksellerden oluşan resimlere ikili imge adı verilir. 1 ve 0 değerleri sırasıyla aydınlık ve karanlık bölgeleri temsil ederler.
Sayısal görüntü dosyaları renkli olarak genellikle R (Kırmızı), G (Yeşil), B (Mavi) değerlerinin her biri için 8’er bit olmak üzere toplamda 24 bit; gri seviye görüntüler ise 1, 2, 4, 6 ya da 8 bit olabilirler. İmgeler bilgiyi görsel bir biçimde saklar ve gösterilmesini sağlarlar. Bu açıdan resimler ve fotoğraflar imge kapsamında ele alınabileceği gibi geniş bir bakış açısı ile her türlü iki boyutlu veri, imge olarak değerlendirilebilmektedir. Video ise imgelerin ardışık olarak dizilmesidir. Bir diğer ifade ile video, birim zamanda art arda oynatılan imgeler dizisidir. Genellikle bir video dosyası 1 saniye içerisinde 20-30 imgenin art arda ekrandan geçirilmesi ile oluşturulur ve o şekilde de kaydedilir.
İmgelerin içerisine veri gömülmesi işlemi de sayısal ses bilgilerine veri gömülmesi gibi gerçekleştirilir. Gri tonlu resimlerde her bir piksel için 1, renkli resimlerde ise 3 (R, G ve B için) sayısal bilgi bulunur ve bilgiler 0-255 arasında değer alır. Bu sayısal bilgilerin ikili sisteme çevrilerek geliştirilen algoritmalarla değerlerinin değiştirilmesi ve tekrar resim dosyası haline getirilmesi ile veri gizleme yapılabilmektedir.
Aşağıdaki şekilde örnek bir pikselin büyütülmüş şekli ve buna (110)2 gizli bilgisinin LSB tekniği ile gömüldükten sonra elde edilen son durumu görülmektedir. İnsan gözünün renk değişimlerini algılamadaki hassasiyeti, kulağının seslerdeki değişimlere olan hassasiyetine oranla çok daha düşüktür. Aşağıdaki şekilde de görüldüğü üzere 32 kat büyütülmüş orijinal pikselin ve bunun gömü verisi taşıyanının renkleri arasındaki fark hemen hemen hiç algılanamamaktadır.
Kameramanlık yapan bir adamın görüldüğü gri tonlu bu resimlerden orijinal olan soldaki resmin çözünürlüğü 256x256 pikseldir. Sağdaki resimde ise LSB (2 bit) tekniği kullanılarak 16384 ASCII karakter gömüldükten sonraki durumu görülmektedir. Bu sağdaki resmin içerisine İstiklal Marşı’nın yaklaşık 9 katı kadar uzunlukta bir metnin gömüldüğü anlamına gelir.
Bu örnekten hareketle bir saniyede 25-30 imgenin alınarak kaydedildiği video dosyalarına çok daha büyük kapasitelerde gizli verinin yerleştirilebileceği görülebilir. Taşıyıcı dosyalara gömülecek olan gizli verinin hangi türde veri (metin, ses, dosya, vb.) olduğu neredeyse hiç önemli değildir. Çünkü sayısal ortamdaki veriler 1 ve 0’ların oluşturduğu sayı gruplarından ibarettir.