Giriş
Steqanoqrafiya nədir?
Steqanoqrafiya – istənilən növ məzmunu gizli olmayan fayl və ya mesaj daxilində gizlədilmək texnikasıdır. Steqanoqrafiya termini yunanca “steganos”(gizli) və “graphein”(yazmaq) sözlərindən yaranıb. Burada bir neçə üsullardan istifadə olunur. Bir neçə nümunəyə nəzər salaq:
- Şəkil steqanoqrafiyası: bu texnikada məzmunun şəkil faylları içərisində gizlədilməyini əhatə edir. Buna şəkil piksellərinin ən az əhəmiyyətli bitlərini (Least Significant Bit) dəyişməklə nail olmaq olar. Burada kiçik ölçülü dəyişikliklərin insan gözü üçün nəzərə çarpma ehtimalı azdır.
- Audio steqanoqrafiyası: səs keyfiyyətində hiss olunan dəyişikliklər olmadan audio fayl daxilində məzmunu gizlətmək üçün istifadə edilən texnikadır.
- Mətn steqanoqrafiyası: mətn faylları daxilində məzmunu gizlətməyi nəzərdə tutur. Bura mövcud formatın dəyişdirilməsi, mətn daxilində sözlərin dəyişdirilməsi kimi üsullardan istifadə edilir.
- Video steqanoqrafiyası: Bu texnika video çərçivələrində (frame) və ya atributlarında dəyişiklik etməklə məzmunun gizlədilməsi texnikasıdır.
Steqanoqrafiya və kriptoqrafiya
Steqanoqrafiya və kriptoqrafiya informasiyanın təhlükəsizliyi və mühafizəsi üçün istifadə olunan üsullardır. Ancaq yanaşma və üsullar fərqlənir. Steqanoqrafiya məzmunu şifrələməkdənsə, onun mövcudluğunu gizlətməyə diqqət yetirir. Daşıyıcı faylın daxilində gizli məlumatları çıxarmaq üçün steqanaliz aparılmalıdır. Kriptoqrafiya – müxtəlif riyazi alqoritmlər və üsullardan istifadə edərək məlumatın şifrəli mətn kimi anlaşılmaz formaya çevrilməsi yolu ilə qorunmasıdır. Əsas məqsəd saxlama, ötürmə və emal zamanı məlumatların məxfiliyini, bütövlüyünü və həqiqiliyini təmin etməkdir.
Steqanoqrafiya | Kriptoqrafiya |
Kriptoqrafiyadan daha az populyardır |
Steqanoqrafiyadan daha çox populyar və çox istifadə olunur |
Daha təhlükəsiz rabitə təqdim etməkdir | Məlumatların qorunmasını təmin etməkdir |
Məlumatların strukturu eyni qalır | Məlumatların strukturu dəyişdirilə bilər |
Aşkar etmək üçün istifadə olunan üsul steqanaliz adlandırılır | Məlumatı deşifrə etmək üçün istifadə edilən üsul kriptoanaliz adlandırılır |
Yalnız məxfilik təklif olunur | Məlumatın gizliliyi açarın uzunluğu ilə ölçülür ki, bu da alqoritmi güclü edir |
Steqanoqrafiya və kriptoqrafiyanın fərqli məqsədləri və yanaşmaları olsada, məlumatların təhlükəsizliyini və məxfiliyini artırmaq üçün birlikdə istifadə edilə bilər. Bu yanaşma təhlükəsizliyi təmin etsədə, ciddi boşluqlara yol aça bilər. Ona görədə istifadə olunan alqoritmlərin düzgün seçilməsi və qiymətləndirilməsi vacibdir.
Kiberhücumlar zamanı steqanoqrafiya
Steqanoqrafiya kiberhücumlar zamanı fəaliyyəti gizlətmək, məlumatı çıxarmaq və görülən təhlükəsizlik tədbirlərindən yan keçmək üçün istifadə edilə bilər. Steqanoqrafiyanın kiberhücumlarda istifadə oluna biləcəyi bir neçə üsul var:
- Zərərli proqram təminatının çatdırılması.
Təcavüzkarların steqanoqrafiyadan istifadə edərək zərərli proqram təminatlarını normal fayllara yerləşdirə bilirlər. Şəkillər, sənədlər və ya multimediya faylları içərisində zərərli kodu gizlətməklə, antiviruslardan yan keçmək mümkün olur. Daşıyıcı fayl icra edildikdə, gizlədilən zərərli proqram təminatı hədəf sistemə təhlükə yaradır. Nümunı kimi komanda və nəzarət əlaqəsini (Command and Control) gətirə bilərik. Təcavüzkar və təhlükə altına alınmış sistemlər arasında gizli əlaqəni asanlaşdıra bilər. Təcavüzkar əmr və idarəetmə təlimatlarını şəkil və ya audio fayllara yerləşdirir və bu təlimatlar aşkarlanmadan təcavüzkara hədəf sistemi idarə etməyə imkan verir.
- Məlumatların sızması
Steqanoqrafiya kiberhücum zamanı məlumatların çıxarılması mərhələsində, həssas məlumatları aşkarlamadan çıxarmaq üçün istifadə edilə bilər. Giriş məlumatları, fayllar və digər oğurlanmış məlumatları şəkil, audio faylları daxilində gizlədib çıxarılır. Bu öz növbəsində şəbəkə monitorinqi zamanı və müdaxilənin aşkarlanması sistemlərindən yan keçməyə imkan verir və analiz prosesini cətinləşdirir.
- Fişinq hücumlarının effektivliyini
artırmaq üçün steqanoqrafiyadan istifadə etmək olar. Təcavüzkarlar elektron poçt və ya sosial media hesabları vasitəsilə şəkillər və ya sənədlər daxilində zərərli URL-lar gizlədə bilər.
Şəkil steqanoqrafiyası. Steqanoqrafiya metodları
Şəkil steqanoqrafiyasına başlamadan öncə piksel və rəng modelləri haqqında qısa məlumat verək. Piksel – rəqamsal təsvirin ən kiçik elementidir. Hər bir piksel onun rəngi və parlaqlığı haqqında məlumatı özündə saxlayır. RGB (Red-Green-Blue) rəng modelində hər piksel üç rəng kanalından ibarətdir: qırmızı, yaşıl və mavi. Bu üç kanalın müxtəlif intensivliklərdə birləşməsi pikselin ümumi rəngini müəyyən edir. Şəklin keyfiyyəti piksellərin sayı ilə müəyyən edilir.
Hər bir kanal rəngin intensivliyi və parlaqlığından aslı olaraq 0-dan 255-ə qədər dəyər qəbul edə bilər. Hər bir pikselin rəngi 24 bit ilə müəyyən edilir. Misal üçün, (0, 0, 1) olan piksel 0 hissə qırmızı, 0 hissə yaşıl, 1 hissə mavi deməkdir, və mahiyyət etibarı ilə mavi pikselə cevriləcək (Şəkil 1).
Şəkil steqanoqrafiyasında çox istifadə olunan metodlardan biri LSB (Least Significant Bit) ən az əhəmiyyətli bit adlanır (Şəkil 2).
Məsələn, 10110001 ən az əhəmiyyətli bit sağda ola 1-dir. İndi isə 189 rəqəmini 3 pikselin içində gizlədək. İlkin piksellər aşağıda göstərilən kimidir:
00100111 11101001 11001000
00100111 11001000 11101001
11001000 00100111 11101100
189 ikili say sistemində 10111101 bərabərdir. LSB tətbiq etdikdən sonra alınan piksellər aşağıda göstərilən kimidir:
00100110 11101001 11001000
00100111 11001001 11101001
11001001 00100110 11101101
İndi isə real şəkil üzərində test aparaq. Şəkilin içində “hello world” sözünü LSB metodu ilə gizlədək. Arada yaranan fərqə nəzər yetirək. Şəkil 3 orijinal şəkildir, şəkil 4 isə steqano fayldır.
Şəkillər arasında gözlə görünən fərq yoxdu, lakin 4-cü şəkildə gizli söz daxil edilib. Gizli sözü çıxarmaq üçün kiçik bir kod yazaq.
from PIL import Image
img = Image.open('4.png')
pixels = img.load()
width, height = img.size
data = ""
for y in range(height):
for x in range(width):
r, g, b, a = pixels[x, y]
data += '{0}{1}{2}'.format(str(bin(int('{:02x}'.format(r), base=16)))[-1], str(bin(int('{:02x}'.format(g), base=16)))[-1], str(bin(int('{:02x}'.format(b), base=16)))[-1] )
for i in range(0, len(data)):
if i%8==0 and i != 0:
print( chr( int(data[i-8:i].encode(), 2) ), end="" )
Alınan nəticə aşağıda göstərilən şəkildəki kimi olacaq (Şəkil 5):
İndi isə MSB (Most Significant Bit) ən əhəmiyyətli bit metodu ilə tanış olaq. İkili ədəddə, məsələn 11001100, ən əhəmiyyətli bit solda duran 1-dir. LSB metodundan fərqli olaraq, MSB metodu tıtbiq olunan şəkillərdə ciddi fərq hiss olunur.
İstinadlar
[1] https://www.techtarget.com/searchsecurity/definition/steganography
[2] https://www.simplilearn.com/what-is-steganography-article
[3] https://www.eccouncil.org/cybersecurity-exchange/ethical-hacking/what-is-steganography-guide-meaning-types-tools/