Ders 4 - Steganaliz

Download Report

Transcript Ders 4 - Steganaliz

STEGANALİZ
Ders 5
Steganaliz
• Bir steganografik algoritma değerlendirilirken 3
temel özelliği dikkate alınır. Bunlar;
 Taşıyıcıdaki Değişim
 Kapasite
 Dayanıklılık
Steganaliz
• Ancak burada ikilemler söz konusudur.
 Dayanıklılık~kapasite
 Değişim~kapasite
Taşıyıcıdaki Değişim
• Bir steganografik algoritma değerlendirilirken
taşıyıcıda (cover object) ne kadar değişim olduğu
çok önemlidir.
• Taşıyıcıdaki değişimi yada resimdeki bozulma
oranının belirlenmesi için çeşitli ölçme yöntemleri
vardır.
• Bunlar arasında en bilinenleri; MSE, RMSE,
PSNR’dır.
Taşıyıcıdaki Değişim
• MSE (mean squared error) hataların kareleri
toplamının ortalamasıdır. MSE genellikle σ2 olarak
gösterilir.
• RMSE (root mean squared error) ise MSE’nin
kareköküdür.
N
1
 2   ( xn  yn )2
N n 1
Taşıyıcıdaki Değişim
• Bazen MSE yerine, hatanın büyüklüğünün
orijinal piksel değerinin en büyüğü (peak-tepe)
ile olan ilişkisi önem kazanır.
• Bu gibi durumlarda PSNR (peak signal-to-noise
ratio) yöntemi kullanılır.
PSNR(dB)  10log10
x 2peak

2
d
Kapasite Özelliği
• Sıralı LSB yönteminde kapasite resmin
boyutuyla ilgilidir.
• Kapasite açısından da BMP dosyalar daha iyi
sonuçlar vermektedir. JPEG formatındaki
dosyalarda 8x8’lik bloklara sadece 1 bit
saklanabilmektedir. Bu yüzden saklanabilecek
veri miktarı oldukça azdır.
Dayanıklılık Özelliği
• Bir steganografik sistemin dayanıklılığını ölçmek
için steganaliz yöntemleri kullanılmaktadır.
• Her steganografik yöntem için ayrı steganaliz
yöntemleri geliştirilmiştir.
• Bir yöntem için çok iyi sonuçlar veren bir
steganaliz yöntemi bir diğeri için doğru sonuç
vermemektedir.
Steganaliz
• Steganaliz, bir örtü verisi (cover data) içerisinde
herhangi bir bilgi olup olmadığını bulmayı ve
eğer var ise bu bilgiyi elde etmek amacıyla
steganografik algoritma kullanılan sisteme karşı
yapılan saldırı yöntemleridir.
• Genelde saldırı yapan kişinin (steganalist)
kullanılan steganografik sistemi bildiği varsayılır
(Kerchoffs’un prensibi). Eğer steganalist
kullanılan sistemi bilmiyorsa, bu onun işini
zorlaştıracaktır.
Steganaliz
• Steganalistin bir steganografik sisteme
saldırabilmesi için sahip olması gereken veriler
vardır.
• Bu sahip olduğu verilere göre saldırı
modellerinden birini seçebilir. Bu saldırı
modellerinden en yaygın olanları şunlardır:
• Sadece stego saldırısı: Analiz için sadece stego-nesnesi
(Stego-object) (Görüntü dosyası) bilinmektedir.
• Bilinen cover (örtü) saldırısı: Görüntünün mesaj
gizlenmeden önceki ve sonraki hali bilinmektedir.
Steganaliz
▫
▫
▫
▫
Bilinen mesaj saldırısı: Saklanan mesaj
bilinmektedir.
Seçilmiş stego saldırısı: Steganografik algoritma ve
stego-nesnesi bilinmektedir.
Seçilmiş mesaj saldırısı: Steganalist bu yöntemde
stego-nesnesini analiz edebilmek için çeşitli
mesajlar seçer, steganografik araçlar kullanır ve
algoritmayı bulmaya çalışır
Bilinen stego saldırısı: Örtü nesnesi, stego nesnesi
ve steganografik araçlar bilinmektedir.
Steganaliz
• Her steganografik yöntem özel bir analiz
yöntemine ihtiyaç duyar.
• Yani her yöntem için bir çok farklı steganaliz
yöntemi geliştirilmiştir ve sadece o algoritma
üzerinde uygun sonuçlar vermektedir.
• Küçük bir bilgiyi büyük boyuttaki bir resmin
içine gömmemiz halinde hiç kimse tarafından
sezilemeyecektir.
Steganaliz Yöntemleri
• Steganalizde sezme saldırısı olarak kullanılan bir
çok yöntem vardır. En yaygın olarak
kullanılanlar şunlardır:
▫
▫
▫
▫
▫
▫
χ2 Testi
Histogram Analizi (PoVs’lerin Analizi)
RS Steganaliz (İkili İstatistik Yöntemi)
RQP Yöntemi (Raw Quick Pairs)
JPEG Dosyalarda Steganaliz
Görsel Ataklar
χ2 Testi
• LSB yöntemiyle veri gizlenen resim dosyalarında
kullanılmaktadır.
• Özellikle sıralı LSB gömme steganografide
başarılı sonuç vermiştir.
• PoVs (pair of values) değerlerinde istatistiksel
analizde temelli olan χ2 istatistik testi, Westfeld
tarafından sunulan bir steganaliz metottur.
χ2 Testi
• İçine veri gizlenmemiş görüntüler için PoVs’lerin
frekansları düz bir şekilde dağılmamaktadır,
fakat LSB gizleme steganografi söz konusu
olunca her PoVs’ in frekansları eşit olmaktadır.
• Her byte’nin 8 bit ile temsil edildiğini
düşünürsek 256 değerimiz ve 128 PoV çiftimiz
olacaktır.
χ2 Testi
• χ2 Testi sonucu 1’e yakınsa bu resmin içinde veri
saklanmış demektir.
• Eğer 0 çıkıyorsa veri gizlenmemiştir.
χ2 Testi
•
χ2 Testi’nin aşamaları aşağıda verilmiştir.
1.
k kategoriler ve gözlemlerden oluşan rasgele bir
örnekleme olduğunu varsayılmakta. Her gözlem
sadece ve sadece bir kategoriye düşmektedir.
Şüpheli bilginin PoVs’lerinin tek değerlerine
önem verilmektedir.
2. Düz
bir şekilde dağılmış bir mesajın
gizlenmesinden sonra, i kategoride teorik olarak
beklenen frekansı böyledir:
χ2 Testi
3. Rasgele örneklemede, ölçülen vuku bulma
frekansı: rengin sıralanmış indeksi
4. χ2 istatistik değeri:
k-1 bağımsızlık derecesi
5. ni ve ni’ dağılımları eşit olduğu durumda, p mesaj
gömme olasılığıdır. Bu olasılık yoğunluk
fonksiyonun integrali alınarak hesaplanmaktadır:
χ2 Testi
• Örnek resim: 130x110 boyutunda bir bmp
resim.
χ2 Testi
• Resmin içinde bilgi yokken yapılan χ2 Testi
sonucu şöyledir.
Burada Kırmızı çizgi χ2 Testi sonucunu göstermektedir.
χ2 Testi
• Resmin içine sırasıyla 1 KB ve 2,7 KB
gizlediğimizde ise oluşan test sonuçları şöyledir.
1 KB
2,7 KB
Histogram Analizi
• Histogram Analizi renklerin dağılımı hakkında bilgi
vermektedir.
• İçine 1 KB, 5 KB saklanmış olan 200x170 boyutlarındaki
resmimiz için histogram sonuçları aşağıda verilmiştir.
Orijinal Resim
Histogram Analizi
Orijinal resim için histogram
Histogram Analizi
1 KB veri gizlenmiş resim için histogram
5 KB veri gizlenmiş resim için histogram
Histogram Analizi
• Bu yöntemde gizlenen veri miktarı arttıkça
histogramdaki değişim miktarı artmaktadır.
• Çok az miktarda saklanan verilerin tespitinde
pek güvenilir sonuçlar vermemektedir.
RS Steganaliz (İkili İstatistik Yöntemi)
• RS steganalizi 24 bit renkli ( her renk kanalı için
ayrı ayrı hesaplanarak) ve 8 bit gri seviye
görüntülerde kullanılmaktadır.
• Bu analiz, görüntülerde uzaysal korelasyonlardan
üretilen duyarlı ikili istatistiklerini
kullanmaktadır.
• Fridrich tarafından geliştirilmiştir.
RS Steganaliz (İkili İstatistik Yöntemi)
• RS steganalizinde, bir görüntünün piksellerinin
3 bağımsız gruba ayrılması esastır. Bunlar:
 Düzenli (Regular)
 Tekil (Single)
 Kullanılmayan (Unused)
RS Steganaliz (İkili İstatistik Yöntemi)
• Test edilen görüntü (R), P kümesinden değer alan
M х N piksel’lerden oluşmaktadır.
• Örnek olarak, 8-bit griseviyeli bir görüntüde,
P= {0,…, 255}.
RS Steganaliz (İkili İstatistik Yöntemi)
• Sonra R, n komşu piksellerden oluşan G ayrı
gruba bölünmektedir:
• Ayırıcı fonksiyon ise şu şekilde belirlenmiştir.
n1
f ( x1 ,..., x n ) 
x
i 1
i 1  xi
RS Steganaliz (İkili İstatistik Yöntemi)
RS Steganaliz (İkili İstatistik Yöntemi)
• LSB ile veri gömülmesi görüntüdeki gürültüyü
arttıracağından dolayı, veri gömülmesinden
sonra f ’in beklenen değeri artacaktır.
• LSB işlemi aşağıdaki gibi bir
fonksiyonu olarak tanımlanabilir.
kaydırma
F1 : 0  1,2  3,.....,254  255
F1 : 1  0,1  2,3  4,.....,253  254
RS Steganaliz (İkili İstatistik Yöntemi)
• Resim
gruplara
ayrılıp
f(G)
değeri
hesaplandıktan sonra bir maskeleme işlemi
uygulanmaktadır.
• Maske (M) (-1,0,1) değerlerinden oluşmalıdır.
• Bu maske G’ye uygulanır ve FM(G) değerleri
hesaplanır.
• Daha sonra –M maskesi içinde F-M(G) değerleri
hesaplanır.
• RM , R-M , SM ve S-M sayıları hesaplanır.
RS Steganaliz (İkili İstatistik Yöntemi)
• Ayırıcı fonksiyon ( f ) ve kaydırma fonksiyonu (F)
piksel grubunun tipini belirlemektedir.
▫ Eğer f(F(G))>f(G) ise G piksel grubu düzenlidir.
▫ Eğer f(F(G))<f(G) ise G piksel grubu tekildir.
▫ Eğer f(F(G))=f(G) ise G piksel grubu
kullanılmayandır.
RS Steganaliz (İkili İstatistik Yöntemi)
ÖRNEK
• G=(39,38,40,41) ve maskeleme için kullanılacak
maske M=(-1,0,1,0) olarak seçilsin.
▫ f(G)=│38-39│+│40-38│+│41-40│=1+2+1=4
▫ FM(G)=(F-1(39),F0(38),F1(40),F0(41))
Kaydırma işlemleri sonucunda
▫ f(FM(G))=(40,38,41,41)
= │38- 40│+│41-38│+│41- 41 │=2+3+0=5
• f(FM(G))>f(G) olduğundan bu maskeleme
sonucunda düzenli gruptur ve RM=1 olur.
RS Steganaliz (İkili İstatistik Yöntemi)
• Şimdi de –M maskesi için FM(G) değeri hesaplanır.
• M=(-1,0,1,0) ise –M=(1,0,-1,0)’dır.
▫ F-M(G) =(F1(39),F0(38),F-1(40),F0(41))
▫ f(F-M(G))=(38,38,39,41)
= │38- 38│+│39-38│+│41- 39│=0+1+2=3
• f(FM(G))<f(G) olduğundan bu maskeleme
sonucunda tekil gruptur ve S-M=1 olur.
RS Steganaliz (İkili İstatistik Yöntemi)
• Tüm G grupları için pozitif ve negatif maskeler
kullanılarak R ve S gruplarının sayısı belirlenir.
• Daha sonra resmin tüm piksellerinin son bitleri
değiştirilir ve yukarıdaki işlemler tekrar edilir.
• RM , R-M , SM ve S-M sayıları karşılaştırılarak bir
sonuç elde edilir.
• Değerler birbirine eşit ise bilgi saklanmamış
demektir. (Teorik olarak, pratikte yakın olması
durumunda
da
bilgi
gizli
olmadığı
söylenebilmektedir.)
RS Steganaliz (İkili İstatistik Yöntemi)
• RS Steganalizde kullanılan maske değerlerinin seçimi
oldukça önemlidir.
• Yöntemin doğru sonuçlar vermesi maske değerinin
doğru seçilmesiyle sağlanabilir.
• Değerin yanlış seçilmesiyle bir resmin içinde bilgi
saklı olmadığı halde saklıymış gibi sonuçlar üretmesi
mümkün olmaktadır.
• Seçilen maske değerlerinin etkinliğini araştırmak için
içinde bilgi gizlenmemiş resimler kullanılmıştır.
• Bu şekilde 0’a en yakın sonuç veren maske
değerlerinin en etkin olduğu gözlenebilecektir.
RS Steganaliz (İkili İstatistik Yöntemi)
• Seçilen örnek resimler aşağıda verilmiştir (resimlerin
içinde gizlenmiş bilgi yoktur).
RS Steganaliz (İkili İstatistik Yöntemi)
• Her resim için farklı maske değerleri kullanılarak RS Steganaliz
uygulanmıştır.
Maske Değerleri →
R (Kırmızı)
renk kanalı
için
G (Yeşil)
renk kanalı
için
B (Mavi)
renk kanalı
için
(1,0,-1,1)
(1,0,1,-1)
(0,1,1,-1)
(0,-1,1,-1)
R
10
21
35
12
S
9
32
35
12
U
1
53
0
0
R
9
15
79
4
S
15
29
79
4
U
24
44
0
0
R
15
19
17
7
S
18
20
17
7
U
33
39
0
0
(a) Sabah.bmp için elde edilen sonuçlar
RS Steganaliz (İkili İstatistik Yöntemi)
Maske Değerleri →
R (Kırmızı)
renk kanalı
için
G (Yeşil)
renk kanalı
için
B (Mavi)
renk kanalı
için
(1,0,-1,1)
(1,0,1,-1)
(0,1,1,-1)
(0,-1,1,-1)
R
97
119
1132
23
S
299
299
1132
23
U
202
180
0
0
R
128
166
1147
7
S
335
257
1147
7
U
207
91
0
0
R
140
179
949
12
S
306
195
949
12
U
166
16
0
0
(a) kalp.bmp için elde edilen sonuçlar
RS Steganaliz (İkili İstatistik Yöntemi)
Maske Değerleri →
R (Kırmızı)
renk kanalı
için
G (Yeşil)
renk kanalı
için
B (Mavi)
renk kanalı
için
(1,0,-1,1)
(1,0,1,-1)
(0,1,1,-1)
(0,-1,1,-1)
R
3
115
340
13
S
21
189
340
13
U
18
304
0
0
R
36
139
546
5
S
77
228
546
5
U
113
367
0
0
R
71
125
280
29
S
54
160
280
29
U
125
285
0
0
(a) çiçek.bmp için elde edilen sonuçlar
RS Steganaliz (İkili İstatistik Yöntemi)
Maske Değerleri →
R (Kırmızı)
renk kanalı
için
G (Yeşil)
renk kanalı
için
B (Mavi)
renk kanalı
için
(1,0,-1,1)
(1,0,1,-1)
(0,1,1,-1)
(0,-1,1,-1)
R
45
37
351
7
S
165
163
351
7
U
210
200
0
0
R
32
51
366
36
S
66
95
366
36
U
98
146
0
0
R
165
172
343
9
S
209
232
343
9
U
374
404
0
0
(a) scrat.bmp için elde edilen sonuçlar
RQP Yöntemi
• Fridrich, RQP (Raw Quick Pairs) metodunu da
geliştirmiştir.
• RQP yöntemi 24 bit renkli resimler üzerinde
rastgele LSB yöntemiyle gizlenen veriler için
çalışmaktadır.
• Bu metod LSB gizlemesi tarafından yaratılan
yakın renk çiftlerini analiz etmeye yöneliktir.
RQP Yöntemi
• Yakın renk çiftleri ile tüm renk çiftleri arasındaki
oran hesaplanır.
• Elimizde bulunan içinde veri olup olmadığını
anlamak istediğimiz resim için bu oran (O1)
hesaplanır.
• Daha sonra bu resmin içine bir test mesajı
gizlenir.
RQP Yöntemi
• Oran tekrar hesaplanır (O2).
• O1 ile O2 arasındaki fark çok farklı ise elimizde
bulunan resimde gizlenmiş veri yoktur.
• Bu oran birbirine çok yakın ise resmin içinde
gizlenmiş veri var demektir.
• Fakat bu büyüklük ve küçüklük göreceli bir
kavramdır. Aradaki farkın nasıl yorumlanması
gerektiğini tam olarak belirleyebilmek için birçok
resim üzerinde ölçümler yapılmıştır.
RQP Steganaliz Uygulaması
• Yöntemin çalışmasını incelemek amacıyla örnek
olarak 10 adet resim seçilmiştir.
• Öncelikle içinde bilgi gizli olmayan resimlere
RQP Steganaliz uygulanmış ve elde edilen
sonuçlar Tablo 1’de verilmiştir.
RQP Steganaliz Uygulaması
• Daha sonra aynı resimlerin içerisine bir metin
gizlenmiştir ve tekrar RQP Steganaliz
uygulanmıştır.
• Bunun sonucunda elde edilen değerler ise Tablo
2’de gösterilmiştir.
• İçinde bilgi gizli olan ve olmayan resimler için O1
ve O2 değerleri arasındaki farklar incelenmiştir.
RQP Steganaliz Uygulaması
• Programın pseudo kodu aşağıda verilmiştir:
RQP Steganaliz Uygulaması
(a) ataturk.bmp
(b) bahce.bmp
(c) balik.bmp
(d) cicek.bmp
(e) kalp.bmp
400x300 piksel
335x192 piksel
379x253 piksel
312x223 piksel
313x292 piksel
(f) kartal.bmp
(g) meyve.bmp
(h) oyuncak.bmp
(ı) resim.bmp
(i) scrat.bmp
269x249 piksel
217x238 piksel
240x192 piksel
336x240 piksel
292x308 piksel
RQP Steganaliz Uygulaması
Tablo 1. İçine bilgi gizlenmemiş resimlere uygulanan RQP steganaliz
sonuçları
O1
O2
Fark
ataturk.bmp
0,30413
0,28312
0,02101
bahce.bmp
0,10332
0,09098
0,01235
balik.bmp
0,23569
0,22222
0,01347
cicek.bmp
0,35365
0,32045
0,03320
kalp.bmp
0,91485
0,91125
0,00360
kartal.bmp
0,68488
0,65845
0,02643
meyve.bmp
0,31941
0,28589
0,03352
oyuncak.bmp
0,12483
0,11404
0,01079
resim.bmp
0,39259
0,37610
0,01649
scrat.bmp
0,40881
0,38609
0,02272
RQP Steganaliz Uygulaması
Tablo 2. İçine bilgi gizlenmiş resimlere uygulanan RQP steganaliz
sonuçları
O1
O2
Fark
ataturk.bmp
0,28615
0,28312
0,00302
bahce.bmp
0,09311
0,09098
0,00213
balik.bmp
0,22408
0,22222
0,00186
cicek.bmp
0,32547
0,32045
0,00502
kalp.bmp
0,91182
0,91125
0,00057
kartal.bmp
0,66287
0,65845
0,00442
meyve.bmp
0,29172
0,28589
0,00583
oyuncak.bmp
0,11612
0,11404
0,00208
resim.bmp
0,37729
0,37610
0,00119
scrat.bmp
0,38988
0,38609
0,00379
RQP Steganaliz Uygulaması
• Burada renk çiftlerinin arasındaki yakınlığın ne
kadar olacağı da önemlidir.
• Bu çalışmada renk çiftleri arasındaki yakınlık 3
olarak alınmıştır.
• Kırmızı, yeşil ve mavi renk kanalları için ayrı
ayrı olmak üzere pikselleri arasındaki renk
farkları değerlendirilmiştir.
RQP Steganaliz Uygulaması
• Tablo değerlerinden içinde bilgi gizli olmayan
resim dosyalarına uygulanan RQP steganaliz
sonucunda fark değerlerinin yüzde seviyesinde
olduğu görülmektedir.
• İçinde bilgi gizli olan dosyalarda ise bu fark
binde seviyesine düşmektedir.
• Bu nedenle programın çalışması sonucunda elde
edilen değerler binde seviyesinde ise resim
içinde bilgi gizlenmiştir denilebilir.
RQP Yöntemi
• RQP, cover-görüntüde yakın renk çiftlerinin
sayısı, piksel çiftlerinin sayısının %30’undan
küçük olduğu sürece gayet iyi sonuçlar
vermektedir.
• %50’sini geçerse, verilen sonuçlar giderek
güvensiz olmaktadır.
JPEG Dosyalarda Steganaliz
• JPEG dosyalarda steganografi uygulaması yada
steganaliz yapmak için resim üzerinde çeşitli
adımların uygulanması ve DCT katsayı
matrisinin elde edilmesi gerekmektedir. Bu
adımlar şöyle sıralanabilir:
▫
▫
▫
▫
Resim RGB ise YUV (YCbCr) dönüşümü uygulanır
Resim 8x8’lik bloklara bölünür
Her blok için DCT katsayı matrisi hesaplanır
Quantization (Nicelendirme) işlemi yapılır.
JPEG Dosyalarda Steganaliz
• RGB-YCbCr İşlemi:
▫ Renkli resimler için JPEG dosya özelliğinden
dolayı bu işlemin yapılması gerekmektedir.
▫ Resim Gri-Seviye’li bir resim ise bu işlem
uygulanmaz.
▫ Dönüşüm şu formüller yardımıyla yapılır:
 Y = + 0.299R + 0.587G + 0.114B
 Cb = + 0.492(B - Y) = - 0.147R - 0.289G + 0.436B
 Cr = + 0.877(R - Y) = + 0.615R - 0.515G - 0.100B
Y: İntensity (Parlaklık)
Cb: Blue/Yellow (Mavi/Sarı)
Cr: Red/Green (Kırmızı/Yeşil)
JPEG Dosyalarda Steganaliz
• DCT (Discrete Cosine Transform):
▫ DCT; piksel değerlerinin -128 ile 127 arasında çalışması
esasına dayandığı için öncelikle orijinal görüntü
piksellerinden 128 değeri çıkartılır. (M matrisi)
▫ Daha sonra bu dönüşümde kullanılan bir T matrisi ve
onun transpozesi ile çarpılarak DCT matrisi hesaplanır.
D=T.M.TT
JPEG Dosyalarda Steganaliz
• Elde edilen DCT katsayı matrisi (D), bir Q
nicelendirme matrisi ile işleme sokulur ve
nicelendirme işlemi yapılmış olur.
JPEG Dosyalarda Steganaliz
• Jpeg dosyalarındaki steganaliz’de iki durum
vardır.
▫ İlki hem orijinal hem de içine bilgi saklanmış
resmin elimizde olduğu durum (Bilinen stego
saldırısı)
▫ Diğeri sadece bilgi saklanmış resmin elimizde
olduğu durumdur (Seçilmiş stego saldırısı)
1. Durum
• Şimdi elimizdeki 8x8’lik blok içinde bilgi
olduğunu varsayalım ve bu bloğun
nicelendirilmiş DCT katsayı matrisi aşağıdaki
gibi olsun.
• Bu matris ilk 8x8’lik blok için verilmiştir.
1. Durum
Orijinal resmin ilk
8x8’lik bloğu
D6
 FF

 06

 01
 01

00
00

00
F2 EB 
04 01 00 FA FB F9 FF 
02 FE FF 00 00 00 FF 

03 02 01 01 FF 00 00 
00 00 00 00 00 00 00

FF FF 00 00 00 00 00
00 00 00 00 01 00 00

00 00 00 00 00 00 00
69 13
05 03
15
İçinde bilgi saklı resmin Bilgi saklı ilk bloğun
ilk 8x8’lik bloğu
son bitleri
D6
 FE

 06

 01
01

00
00

00
69 12
05 03
04
00 FA FB
01
03 FE FF 00
15
00
02 03 01 01 FE
00 00 00 00 00
FE FF 00 00
00 00 00 00
00
01
00
00
00 00 00
F3 EA 
F8 FE 
00 FE 

00 00 
00 00 

00 00 
00 00 

00 00 
00
00

00

01
01

00
00

00
01
00
01
00
00
00
00
00
00
01
00
01
00
01
00
00
01
00
01
01
00
00
00
00
01
00
00
01
00
00
00
00
01
01
00
00
00
00
01
00
01
00
00
00
00
00
00
00
00
00
00

00
00

00
00

00
00
00

00

 01
 01

00
00

00
01
00
01
00
00
00
00
00
00
01
00
01
00
01
00
00
01
00
01
01
00
00
00
00
01
00
00
01
00
00
00
00
01
01
00
00
00
00
01
00
01
00
00
00
00
00
00
00
00
00
00

00
00

00
00

00
Orijinal resmin nicelendirilmiş DCT katsayı matrisinde 00 ve 01 olan
değerlerin olduğu pikseller bit alımında kullanılmamaktadır.
• İçinde bilgi olan resmin ilk 8x8’lik bloğu şunları içermektedir:
▫ İlk 5 piksel kendinden sonraki kaç pikselin mesaj uzunluğunu
belirlemek için alınacağını belirler. Yani:
 00 01 00 01 01  01011=11
 Bu da ilk beş pikselden sonraki 11 pikselin bize mesajın
uzunluğunu vereceğini belirtir.
▫ Daha sonraki 11 pikselden mesajın uzunluğunu bulalım.
 01 01 00 00 00 00 01 00 00 00 01 11000010001=1553
▫ Sonra gelen 8 piksel mesajın ilk karakterini bize vermektedir.
 00 01 00 00 01 00 00 01  01001001=73 (Büyük harf I)
• Mesajımız I harfi ile başlamaktadır. Bu şekilde 1553 adet blok
incelenerek tüm mesaj elde edilebilir.
• Diğer bloklarda işlem yapılırken ilk iki adım uygulanmaz ve direk
mesajın karakterini elde etme işlemine geçilir.
2. Durum
• İkinci durumda elimizde sadece şifrelenmiş
resim vardır. Bu durumda hangi bloklarda
şifrelenmiş metin olduğunu anlamak amacı ile
JPEG Uygunluk Esasına Dayanan Steganaliz
yapılır.
JPEG Uygunluk Esasına
Dayanan Steganaliz
• Eğer bir taşıyıcı-görüntü ilk olarak JPEG
formatında saklanmışsa, JPEG sıkıştırma
tarafından yaratılan yapının özellikleri mesaj
gizlemeden dolayı silinmeyecektir, sadece biraz
değişecektir.
• Stego-görüntüden 8x8’lik bloklardaki DCT
katsayıların değerlerini analiz ederek JPEG
ölçme tablosu elde edilebilmektedir.
JPEG Uygunluk Esasına
Dayanan Steganaliz
• Bir görüntüdeki hangi 8x8’lik blok JPEG
sıkıştırma ile uygunluk göstermiyorsa, bundan
gizlenen mesajın uzunluğu ve yerleşimi
bulunmaktadır.
• Bir görüntüde blokların toplam sayısı T olarak
gösterilsin, k. bloğun DCT katsayısı da
d k (i ),1  i  64, k  1,.....,T şeklinde ifade edilsin.
JPEG Uygunluk Esasına
Dayanan Steganaliz
•
Algoritmanın adımları aşağıdaki şekildedir.
1. Resmi 8x8’lik bloklara böl. Eğer resmin boyutu
8’in katı olarak değilse son birkaç satır yada
sütun yok sayılabilir.
2. Listeden tüm doymuş blokları çıkartarak
blokları yeniden düzenle (en az bir pikseli 0
yada 255 değerinde ise o blok doymuş
demektir.). Blokların toplam sayısını T olarak
belirle.
JPEG Uygunluk Esasına
Dayanan Steganaliz
3. Tüm
T
bloklarının
Q
nicelendirme
(quantization) matrisini çıkar. Eğer Q’nun tüm
elemanları aynı ise bu resim JPEG olarak
kaydedilmemiştir ve bu steganaliz yöntemi
uygulanamaz (algoritmadan çık). Q için bir
yada daha fazla makul sonuç mevcut ise devam
et.
JPEG Uygunluk Esasına
Dayanan Steganaliz
4. Her B bloğu için S niceliğini hesapla
64
S   QD' (i)  q p (i ) (i)
11
a.
Eğer S>16 ise B bloğu Q nicelendirme matrisi ile JPEG
sıkıştırmasına uyumlu değildir.
b. Eğer S≤16 ise her QDi DCT katsayısı için Q(i)’lerin en yakın
katlarını hesapla ve QDi’ ’den uzaklıklarına göre sırala, ve
bunları qp(i), p=1,… şeklinde belirt.
S   QD (i)  q (i)  16
eşitsizliğini sağlayan tüm
64
'
11
p (i )


kombinasyonlar için
kontrol
et. Eğer {p(1),…..,p(64)} sıralanmış kümesinin en az biri için
bu denklem sağlanırsa, B bloğu JPEG uyumludur aksi
durumda değildir.
B  DCT 1 (QD) , where QD(i)  q p(i ) (i)
JPEG Uygunluk Esasına
Dayanan Steganaliz
• Tüm bloklarının analizinden sonra, uyumsuz
JPEG bloğu bulunmaz ise bu resmin içinde gizli
bilgi yok demektir.
• Diğer yandan eğer birkaç tane uyumsuz JPEG
bloğu var ise gizli mesaj vardır.
Görsel (Visual) ataklar
• Visual atakların amacı görüntüyü insan gözünün
değişiklikleri algılayabileceği şekilde
gösterebilmektir.
• Visual ataklar daha çok bitmap dosyalara
uygulanabilmektedir.
• Jpeg dosyalar 8x8 yada 16x16 bloklar halinde
çalıştığı için bu ataklar sonuç vermemektedir.
• Visual ataklarda gizlenen mesaj yada resmin
içindeki bitlerin dağılımı rasgele olmamalıdır.
Görsel (Visual) ataklar
• Gözle fark edilebilecek bir görüntü
yaratılabilmesi için bir filtreleme işlemi
yapılmaktadır.
• Filtreleme işlemi, tahmin edilen steganografik
yönteme bağlı olmak üzere aşağıdaki şekilde
gerçekleştirilir.
Taşıyıcı ortam/
steganogram’a
saldırı
Potansiyel mesaj
bitlerinin
çıkarılması
Bu bitlerin bulunduğu
kaynak piksellerin
pozisyonlarının gösterimi
Görsel (Visual) ataklar
• Görsel ataklar sadece stego saldırısı
kategorisinde yer alır, sadece stego-nesnesi
bilinmektedir.
• Görsel ataklarda amaç saldırganın elinde
bulunan resim içerisinde gizlenmiş verinin
olduğunu gözler önüne sermektir.
• Genellikle LSB üzerinde etkili olan bu saldırı
yönteminde amaç resim üzerindeki her
pikselin LSB değerini arttırma üzerine
kuruludur.
Görsel (Visual) ataklar
• Buna göre atak yapılacak resim baştan sona
kadar taranır,
• Sadece son bite göre işlem yapılır,
• Pikselin kanal renginin
▫ son biti 0 ise o kanal değerine 0 atanır yani
8 bitte 0 yapılır,
▫ Son biti 1 ise kanal değeri maksimum değer
olan 255 olarak atanır yani 8 bitte 1 yapılır.
• Böylelikle LSB bitleri ön plana çıkartılır.
Görsel (Visual) ataklar
• Aşağıda veri gizlenmemiş bir resme bu program
ile yapılmış görsel atak gösterilmektedir.
Görsel atak
sonrası
75
• Orjinal resmin, rastgele seçtiğimiz herhangi bir
pikselindeki RGB değerleri ile atak yaptığımız
resmin RGB değerlerini karşılaştırırsak,
x: 121
y: 171
R:255, G:191 ve B: 0
R: 255, G: 255, B: 0
76
• Orjinal Resim
R:255: 1 1 1 1 1 1 1 1
G:191: 1 0 1 1 1 1 1 1
B:0 : 0 0 0 0 0 0 0 0
• Görsel Atak Sonrası
R:255: 1 1 1 1 1 1 1 1
G:255: 1 1 1 1 1 1 1 1
B:0 : 0 0 0 0 0 0 0 0
sonuçlarını elde ederiz.
77
Görsel atak için ikinci bir örnek;
• Herhangi bir resimde RGB değerleri sırası ile
118, 65 ve 48 olan bir pikseli göz önüne alalım ve
görsel atak uygulayalım.
• Renk kanalında son bit değeri 0 olanların 0’a, 1
olanların 255’e atandığına dikkat edelim.
Görsel atak öncesi
R: 118: 0 1 1 1 0 1 1 0
G: 65: 0 1 0 0 0 0 0 1
B: 48: 0 0 1 1 0 0 0 0
Görsel atak sonrası
R:0:
00000000
G:255: 1 1 1 1 1 1 1 1
B:0:
00000000
78
• 6,27 Kb veri gizlediğimiz resme görsel atak
uyguladığımızda sonuç aşağıdaki gibi
gözükecektir.
• Resme veri gizlenmiş olduğu açıkça gözle
görülebilecektir.
79
Orjinal resim
Görsel atak sonrası orjinal resim
Veri gizlenmiş resim
Görsel atak sonrası veri gizlenmiş resim
80
• Veri gizlenmiş bir resme görsel atak yapıldığında
LSB ile değiştirilmiş pikseller daha belirgin olur.
• Hatta veri gizlenmiş noktalarda bir doku oluşur.
• Böylelikle resim üzerinde bir verinin gizlendiği
görülür.
81
pinky.bmp
pinky_LSB.bmp
pinky1kb.bmp
pinky1kb_LSB.bmp
pinky5kb.bmp
pinky5kb_LSB.bmp
82
Sonuç olarak
• Görsel ataklar eski bir saldırı yöntemidir.
• Uygulaması çok basit olmakla beraber karmaşık
yüzeylerde anlaşılırlığı zordur.
• Genellikle düz yüzeyli renk geçişleri az olan
resimlerde uygulanmaktadır.
• Tüm saldırılara karşı dayanıklı bir algoritma
bulunmamaktadır.
• Fakat son yıllarda en azından bazı steganaliz
yöntemlerini yetersiz kılacak yeni algoritmalar
geliştirilmiştir.
• Örneğin RS ve RQP yöntemine karşı dayanıklı olan
SES (Steganography Evading Statistical) Yöntemi
gibi.
SES Algoritması (Veri Gizleme)
• Adım1: Taşıyıcı görüntünün RS istatistiği
hesaplanır ve kaydedilmekte.
• Adım2: Simetrik bir anahtarla gizli mesaj
şifrelemekte ve mesaj uzunluğu (l) çıkış
şifrelimetin(c) içine sıralanmakta.
• Adım3:Gizlenmiş mesajın i biti, taşıyıcı
görüntünün piksel’in LSB değeri(xi) ile
karşılaştırılır.Eğer gizlenen mesaj biti taşıyıcı
görüntünün piksel değerin LSB ile rastlarsa, xi’e
F0 işlemi uygulanmakta.Aksi taktirde xi’e Fj
işlemi uygulanmakta, j rasgele olarak {-1,1}
arasında seçilmektedir.
SES Algoritması (Veri Gizleme)
• Adım4: Adım 3’ten sonra stego-görüntünün RS
istatistiği hesaplanır ve bu değer orijinal taşıyıcı
görüntünün RS istatistiği ile
karşılaştırılmaktadır. Eğer fark 2% yi geçerse
stego-görüntünün RS istatistiği, görüntünün
kullanılmayan gizleme kısımdan faydalanarak
düzeltilmektedir. χ2, istatistiksel ölçünün
analizine (PoVs ‘lerin vuku bulması )
dayanmaktadır.
SES Algoritması (Veriyi Çekme)
• Adım1: Alınan görüntünün piksel’in değerinin
LSB’si gizli saklanmıs mesaj biti olmakta.
Gizlenmiş bir şifreli metinin uzunluğu 1’den 16’a
kadar olan çekme bitlerden oluşmaktadır.
• Adım2: Şifreli metin, 1 adımda istenen
büyüklüğüne eşit olana kadar çekilmektedir.
Paylaşılan simetrik anahtarla şifreli metin
deşifrelenmektedir.