2
2
2
LUCRARE DE DISERTAȚIE
Contribuții la analiza metodelor steganografice de
protecție a informației
Coordonator Absolvent
SL. Dr. Ing. Anton Florin Daniel Alexandra Bucurescu
2016
Cuprins
1. Introducere......................................................................................................................3
2. Steganografia...... ...........................................................................................................5
6. Concluzii........................................................................................................................45
2
1. Introducere
În contextul evoluției tehnologiei, există pericolul interceptării comunicației dintre
două entități și chiar al modificării informațiilor prezente pe canalul de transmisie. Aceste
pericole pot conduce la consecințe grave în cazul în care se lucrează cu informații
confidențiale. Astfel, a fost necesară apariția unor metode care să prevină furtul de informații,
să păstreze confidențialitatea și integritatea datelor, de aceea a început să se dezvolte foarte
mult ramura informaticii care se ocupă cu ascunderea informațiilor.
În prezent serviciile secrete din întreaga lume au echipe care fac cercetare în
domeniul analizei steganografice, însă considerând volumul și dimensiunea uriașă de
informații transferate prin internet, sunt greu de urmărit toate fișierele [10].
3
Aplicațiile de steganaliză existente în prezent nu sunt perfecte, detectează alterarea
fișierelor doar pentru anumite metode. Chiar și cei mai banali algoritmi de steganografie pot
ascunde foarte eficient mesaje, iar până în momentul de față nu a fost descoperită o metodă
care să descopere cu o acuratețe 100% prezența unui mesaj ascuns.
4
2. Steganografia
Steganografia reprezintă arta de a ascunde prezența comunicației prin integrarea
mesajelor secrete în documente aparent banale, precum imagini digitale, fișiere video sau
audio. Scopul steganografiei este de a evita suspectarea transmisiei sau de a ascunde mesajul.
Mesajul reprezintă o informație ascunsă sub formă unui text obișnuit, text criptat, imagine
sau orice altă formă ce poate fi integrată într-o înșiruire de biți.
5
2.1. Metode de evaluare a performanțelor în steganografie
Una dintre caracteristici este gradul de securitate împotriva atacurilor. Sistemul este
(1)
(2)
unde TP („true positive”) înseamnă că un mediu stego este corect clasificat ca fiind stego,
TN („true negative”) un mediu ce nu conține informații secrete este identificat corect, FN
(„false negative”) un mediu stego este greșit identificat ca fiind într-un mediu ce nu conține
informații secrete, iar FP un mediu ce nu conține informații secrete este clasificat ca fiind
mediu stego.
6
O altă caracteristică este capacitatea de încărcare sau capacitatea de ascundere,
definită ca numărul de biți ce pot fi ascunși pe pixel. În mod ideal, această rată ar trebui să
fie cât mai mare, dar în același timp să fie menținută o calitate acceptabilă a imaginii. Se
măsoară în biți pe pixel sau biți pe coeficient de transformare (pentru domenii de abordare
spațiale, respectiv de transformare).
(3)
7
Figura 3. Curba ROC
3. coeficientul de corelație: cu cât coeficientul de corelație dintre două elemente este mai
mare, cu atât corelația este mai puternică; pentru îmbunătățirea securității, se dorește
micșorarea coeficienților de corelație a imaginilor suport; coeficientul de corelație este
direct proporțional cu distanța Bhattacharya (BD), care se calculează ca în formula de
mai jos, când coeficientul de corelație este situat în intervalul [0,1]; acest parametru
măsoară similaritatea dintre două distribuții de probabilitate discrete sau continue.
(4)
(5)
8
unde X și Y reprezintă imaginea suport și imaginea cu mesaj ascuns, iar px și qy
Inserția se bazează în mare parte pe spațiul care rămâne nefolosit în fișier, datorită
formatului fișierului. Mesajul și indicatorii poziției mesajului sunt adăugați la fișier, în
pozițiile neocupate din formatul fișierului.
Una dintre cele mai folosite modalități de inserție și cel mai simplu de implementat
este adăugarea informațiilor la sfârșitul fișierului, posibilă la foarte multe fișiere fără
coruperea lor. Majoritatea formatelor au un indicator pentru sfârșitul fișierului. Spre exemplu,
un fișier de tip JPEG sfârșitul imaginii este marcată de indicatorul numit EOI (end of image),
cu valoarea 0xFF 0xD9. Orice informație prezentă după acest indicator nu va fi afișată.
Astfel, într-un astfel de fișier pot fi introduse informații fără a schimba aspectul și calitatea
imaginii. Mesajul ascuns poate trece neobservat pentru cineva necunoscător. La vizualizarea
imaginii, biții prezenți după sfârșitul fișierului sunt ignorați. Dezavantajul ar fi faptul că,
dacă cineva are că scop căutarea informațiilor secrete, mesajul este foarte ușor de găsit și de
extras. Prezența unor biți după indicatorul de sfârșit de fișier poate semnala inserarea de
informații ascunse.
9
Figura 4. Inserarea la sfârșitul imaginii
Pentru a înțelege mai bine metodă, voi folosi ca exemplu reprezentarea culorilor pe
24 biți. Ca în cazul semnalelor video, orice culoare este formată printr-o variație a
intensităților a trei culori de bază: roșu, verde și albastru, singurele pe care pot fi interpretate
10
de ochiul uman. În cazul în care sunt folosiți 24 de biți pentru reprezentarea unui pixel,
fiecăreia dintre cele trei culori principale îi corespunde un singur octet. Într-un octet
intensitatea culorii va varia de la 0 la 255. Prin urmare, în 24 biți pot fi reprezentare
combinări formate din 256 de nuanțe de roșu, 256 nuanțe de verde și 256 nuanțe de albastru.
Diferența de un bit între două nuanțe este imperceptibilă pentru ochiul uman. O
persoană care va vizualiză două nuanțe de roșu, prima cu reprezentarea 150, iar a doua 151,
ambele reprezentate în decimal, puse una lângă alta, nu va putea distinge o diferență. Pe
acest artificiu se bazează metoda celui mai puțin semnificativ bit.
Modificând ultimul bit din orice octet pe care este reprezentată o culoare, vizual,
diferența va fi insesizabilă. Însă acel bit poate fi modificat astfel încât, la un șir de 8 octeți,
din cei mai puțin semnificativi biți se poate forma un caracter ascii pe 8 biți. Metoda este
mult mai bună decât în cazul inserării, pentru că nu se modifică dimensiunea fișierului.
11
imaginii inițiale. Biții de interes(cei care conțin informația utilă) pot fi distribuiți în fișier
după o anumită regulă, pentru mărirea gradului de secretizare.
Printre aplicațiile capabile să ascundă informații în fișiere de tip imagine prin tehnica
celui mai puțin semnificativ bit se număra: S-Tools, ImageHide, Steganos, Camouflage,
EzStego, In the Picture, Invisible Secrets, PicSecret, Stealth, Steg, StegHide, StegMark.
Fișierele de tip pdf pot fi modificate folosind o îmbinare a celor două metode, fără a
schimba conținutul informațiilor vizibile din Adobe Acrobat Reader. Sunt câteva aplicații
capabile să ascundă informații în fișiere de tip pdf, printre care wbStego4open [11]. Acesta
se folosește de antetul fișierelor pdf pentru a introduce informație secretă. Însă la inserția
unui text, informația utilă este reprezentată doar de cei mai puțin semnificativi biți din fiecare
octet. Prin extragerea celor mai puțin semnificativi biți se poate forma un mesaj secret. În
reprezentarea ascii pe 8 biți , sunt necesare 8 caractere din textul antetului pentru a scrie un
singur caracter secret în codificare ascii pe 8 biți. Această metodă poate fi folosită chiar și în
cazul fișierelor pdf protejate de parolă. Chiar dacă nu se poate opri scrierea antetelor, prin
12
folosirea unui certificat digital utilizatorul poate fi atenționat dacă s-au făcut modificări
asupra fișierului.
Mesaje secrete pot fi scrise și în fișiere executabile. Aplicația Hydan [12], scrisă de
Rakan El-Khalil folosește steganografia pentru a ascunde informații printre biții unor fișiere
executabile, însă, spre deosebire de fișierele JPEG unde poate fi ascuns în octet de date la
fiecare 17 octeți ai imaginii într-un executabil poate fi ascuns un octet la fiecare 150 octeți
de cod. Procedeul de modificare este de această dată mult mai sensibil, pentru a nu corupe
executabilul.
Pentru ascunderea mesajelor secrete în fișiere de tip HTML există aplicația Snow
[11]. Această aplicație ascunde mesajul prin adăugarea de spații “albe” la sfârșitul rândurilor
(Space sau Tab). Producătorii spun despre această aplicație că a căuta spațiile albe într-un
13
fișier text e ca și cum ai căuta un urs polar într-o furtună de zăpada(de aici și numele). Acestea
nu se observă în aplicații text de vizualizare HTML, iar după ascunderea mesajului, chiar
dacă este descoperit, acesta nu poate fi citit.
În [5] sunt prezentate două aspecte ale steganografiei, atât prin prisma beneficiilor pe
care le aduce, cât a problemelor care apar odată cu folosirea steganografiei de persoane
răuvoitoare.
Prin steganografie se pot crea și răspândi viruși. În aplicații cunoscute se pot ascunde
viruși. O dată cu instalarea aplicației se infectează și computerul. De foarte multe ori
aplicațiile antivirus nu detectează semnătura virusului. Mai mult, în atașamentele emailurilor
se pot ascunde viruși sau sistemul de operare poate fi instruit să intre pe anumite siteuri de
pe care se descarce viruși.
14
Aplicații de steganografie sunt folosite pentru manipularea imaginilor și integrarea
watermarkului. Fișierul este modificat astfel încât imaginea să fie în continuare vizibilă, însă
watermarkul nu poate fi șters fără a distruge imaginea. Tot steganografia este folosită pentru
a integra amprente digitale și coduri în fișiere, pentru a putea determina sursa apariției
copiilor și pentru a putea trage mai ușor la răspundere proprietarul fișierului original, pentru
încărcarea drepturilor de autor.
15
3. Sisteme și algoritmi de steganaliză
Steganaliza reprezintă un set de metode și tehnici prin care pot fi dezvăluite mesajele
ascunse prin steganografie. Scopul steganalizei este de a găsi dovezi că există un mesaj secret
într-un fișier. Steganaliza face practic operația inversă steganografiei. Este foarte folositoare
în special pentru detecția și urmărirea activităților criminalistice și teroriste din domeniul
cibernetic, dar și pentru consolidarea securității steganografiei, prin evaluarea metodelor și
identificarea punctelor slabe.
Cea mai ușoară metodă de a descoperi prezența unui mesaj într-o imagine purtătoare
este de a folosi algoritmul complementar tehnicii de steganografie cu care a fost ascuns. Însă
de cele mai multe ori, acesta este necunoscut, ceea ce sporește dificultatea de depistare a
existenței mesajului. De aceea, algoritmii de steganaliză pot sau nu să depindă de tehnicile
de steganografie folosite. Pornind de la această premisă, steganaliza se clasifică în
steganaliză specifică și steganaliză universală. [1]
16
3.1 Tehnici de steganaliză
Steganografia face imposibilă detecția mesajului cu ochiul liber. Însă folosirea unui
algoritm lasă inevitabil urme ale modificării, prin caracteristici neobișnuite care se repetă
sau anumite tipare deosebite. Aceste caracteristici și tipare pot fi atribuite unei semnături.
Mesajele cel mai ușor de detectat sunt cele ascunse la sfârșitul imaginii. Aplicații ca
Jpegx [7] inserează mesajul după indicatorul de terminare a imaginii. Specific acestei
aplicații este semnătura fixă, pe care o inserează întotdeauna înaintea mesajului secret.
Mesajele ascunse prin această metodă pot fi detectate prin căutarea codului 5B 3B 31 53 00
în hexazecimal. Prezența acestei semnături implică faptul că imaginea conține un mesaj
secret.
O semnătură des întâlnită este cea lăsată de aplicația de steganografie "Hide and Seek"
[16], care ascunde mesajul după un anumit tipar, ce diferă în funcție de versiunea folosită.
În versiunile 4.1 și 5.0, prin vizualizarea paletei de culori sau a histogramei se observă că
toate elementele sunt divizibile cu 4.
O altă semnătură cunoscută este cea generată de metoda de steganografie BPCS (Bit
Plane Complexity Segmentation) [13], prin care se poate introduce un mesaj până la 50%
din dimensiunea imaginii ( majoritatea metodelor introduc mesaje secrete în maxim 10% din
dimensiunea imaginii). Inserarea prin această metodă modifică izotropia imaginii. Prezența
unui mesaj ascuns poate fi depistată cu ajutorul unui test Chi-pătrat.
17
JPEG formează o amprenta unică ce facilitează detecția modificărilor. Această metodă
presupune împărțirea imaginii în blocuri 8x8, extragerea matricei de cuantizare prin
analizarea valorilor coeficienților DCT (transformată cosinus discretă). Tabelul de cuantizare
al imaginii se compară cu tabelul de cuantizare standard al formatului JPEG. Dacă nu sunt
compatibile, atunci cu siguranță imaginea conține un mesaj secret. Această tehnică
detectează chiar și schimbarea celui mai puțin semnificativ bit al unui singur pixel din
imagine. Cu toate acestea rescalarea sau reeșantionarea imaginii poate șterge semnătura
JPEG.
De cele mai multe ori steganaliza statistică are ca țintă metoda de steganografie bazată
pe cel mai puțin semnificativ bit. Prima metodă de steganaliză pentru această tehnică de
ascundere a mesajelor a fost propusă de Westfeld și Pfitzmann[18]. Această metodă
identifică perechi de valori (pairs of values, prescurtare "POV"), care reprezintă valori de
pixeli, coeficienți DCT cuantizați sau palete de indici care se mapează unul peste altul la
interschimbarea celui mai puțin semnificativ bit. După ascunderea mesajului, numărul de
apariții al celor doi membrii dintr-un POV rămâne același.
O altă metodă specifică de steganaliză pentru detecția unui mesaj ascuns într-o imagine
pe 24 biți, numită "the Raw Quick Pair"(prescurtat RQP), metodă propusă de Fridrich [4].
Într-o imagine, proporția dintre culori apropiate și numărul total al culorilor unice crește
semnificativ când un mesaj de o anumită dimensiune este ascuns într-o imagine. Pe această
proprietate se bazează metoda RQP pentru detectarea mesajelor și are o rată de detecție mult
mai bună decât metoda anterioară, însă nu poate fi aplicată pe imagini alb-negru.
18
Tot Fridrich propune o metodă care detectează mesaje atât din imagini color cât și din
imagini alb-negru (numită steganaliză RS) [3]. Această metodă se bazează pe statistica duală
derivată din corelațiile spațiale în imagini. Imaginea este împărțită în grupuri de formă fixă.
În fiecare grup este măsurat zgomotul prin valoarea absolută medie a diferenței dintre pixeli
apropiați. Fiecare grup este clasificat ca "obișnuit" sau "singular" în funcție de mărirea sau
micșorarea zgomotului din fiecare grup, la interschimbarea celor mai puțin semnificativi
biți a unui set fixat de pixeli din fiecare grup, folosind o mască. Clasificarea se repetă pentru
încă o interschimbare. Pe acest tip de statistică se bazează steganaliza RS, mult mai
performantă decât metoda anterioară, însă nu poate fi folosite în cazul în care mesajele
necesită mai puțin de 0.005 biți pe pixel.
O metodă inspirată de munca lui Fridrich este propusă de Dumitrescu și al [2]. Tehnica
se bazează pe o mașină de stări finite ale cărei stări sunt multiple seturi de perechi eșantion
numite multi-seturi urmărite. Comportamentul multi-seturilor urmărite este modelat printr-
o mașină de stări. Această structură este folosită pentru a stabili ecuațiile cuadratice care
estimează lungimea mesajului integrat în termeni de cardinalitate a multi-seturilor urmărite.
Tehnica aceasta măsoară cu precizie chiar și lungimea mesajelor foarte scurte comparativ cu
mărimea imaginii.
19
estima numărul mesajelor ascunse cu precizie. Acest algoritm oferă o performanță și viteză
de calcul sporită față de metoda analizei RS pentru imagini RAW cu compresie fără pierderi.
O schemă pentru detectarea mesajelor dispersate în LSB-uri color sau alb-negru este
propusă de E. Linet [8]. Această metodă se bazează pe culegerea și analizarea unui set de
trăsături relevante ale unei imagini din grupurile de pixeli steganografice ale imaginii.
Trăsăturile sunt măsuri ale corelațiilor și similitudinilor între grupuri de pixeli în operații de
interschimbare. Aceste caracteristici se schimbă cu diferite niveluri de incorporare LSB.
Regresia vectorului suport este folosită pentru a distinge între imaginile steganografice și
imaginile curate. Această abordare detectează existența mesajelor ascunse precum și
dimensiunea lor.
20
de teste statistice pentru a determina dacă exista conținut steganografic și metoda prin care
a fost ascuns. [15]
21
3.3 Limitările steganalizei
Chiar dacă sunt destul de multe aplicații care permit detecția informațiilor ascunse
prin tehnici steganografice, de cele mai multe ori acestea necesită imaginea originală sau cel
puțin metodă prin care a fost ascuns mesajul. Și chiar în cazul în care se observă zgomot și
deformare a imagini, foarte rar pot fi descoperite șabloane predictibile.
22
4. Dezvoltarea unei aplicații steganografice
Obiectivul librăriei
Scopul acestei librării este generarea unui set de imagini cu mesaje ascunse, ce vor fi
folosite în aplicații de steganaliză, pentru a determina eficiența lor. Se dorește depistarea
nivelului de ascundere de la care fiecare aplicație de steganaliză, dintre cele testate, începe
să detecteze prezența mesajului ascuns. Pentru testarea aplicațiilor de steganaliză, se vor
genera imagini cu mesaje de dimensiuni variate, ascunse pe diferite poziții în reprezentarea
binară a imaginii, pornind de la imagini cu mesaje foarte bine ascunse, ce nu pot fi depistate
cu ochiul liber și ajungând până la imagini cu aberații vizibile, ce trădează în mod clar
prezența unor mesaje ascunse.
Pentru atingerea acestui obiectiv, se vor folosi doi algoritmi, unul bazat pe
transformata DCT și unul care modifică reprezentarea numerică a pixelilor imaginii, în acest
caz algoritmul LSB extins.
23
a algoritmului se va ocupa cu extragerea mesajului și decompresia imaginii, urmând pașii
din prima parte, însă în ordine inversă.
Imaginea este împărțită în blocuri de 8x8 pixeli. Fiecare bloc în parte va fi prelucrat
separat și va conține un număr de biți stabilit de aplicație, în cazul de față un singur bit din
mesaj. Asupra blocului 8x8 se aplică transformata cosinus discretă(DCT), din care rezultă
64 de coeficienți.
(6)
24
unde reprezintă coeficientul DCT cuantizat, coeficientul DCT ne-cuantizat și
factorul de cuantizare, iar [ ] parte întreaga (cel mai mare întreg, mai mic sau egal cu valoarea
din paranteză). Prin cuantizare, imaginea își pierde din calitate (cuantizarea adaugă cât mai
multe zerouri în matricea dct).
Ascunderea mesajului
Există trei elemente importante care pot modifica aspectul imaginii și numărul de biți
care pot fi ascunși: locația biților modificați, numărul biților modificați și calitatea imaginii.
25
Figura 10. Bit ascuns în poziția [2,2]
26
Figura 12. Bit ascuns în poziția [5,2]
27
De asemenea, cu cât blocurile 8x8 vor ascunde mai mulți biți, imaginea va fi mai
deformată. În imaginile de mai jos se poate observă aspectul imaginilor după ascunderea
unui număr diferit de biți, la diverse calități:
28
Figura 17. Ascunderea mesajului în 4 biți/bloc, calitate 10%
29
Figura 20. Ascunderea mesajului în 8 biți/bloc, calitate 10%
După cum se poate observa, cu cât numărul de biți ascunși este mai mare, iar calitatea
imaginii este mai mică, prezența mesajului ascuns este mai vizibilă. Cele mai bune rezultate
30
se obțin la ascunderea unui singur bit, calitatea neavând o influenta mare asupra vizibilității
mesajului.
● Dacă si , atunci
○ Dacă , atunci
○ Dacă , atunci
unde - bitul din caracterul x de pe poziția y, iar coeficientul cuantizat de pe poziția [i,
j]
Cu cât există mai multe zerouri pe poziția cu atât mesajul ascuns poate fi mai lung.
Tabelul de mai jos prezintă numărul maxim de caractere ce pot fi ascunse pe diverse poziții,
pentru imaginea “cameraman.tif”, la calitatea 90%:
Nr. coeficienți
Poziție Nr. caractere
corespunzători
[1,1] 0 0
[1,4] 80 640
[2,2] 72 576
[2,5] 97 776
31
Din tabel se poate observa că, cu cât ne depărtăm de poziția [1,1] spre poziția [8,8],
numărul de coeficienți de 0 crește.
Micșorarea calității imaginii are rolul de a adăuga mai multe zerouri spre poziția [1,1]
de aceea putem crește numărul de caractere ascunse și prin micșorarea calității. Tabelul de
mai jos arată influența calității asupra numărului de caractere ce pot fi ascunse în imagine,
pentru ascunderea caracterelor pe poziția [2,5]:
97% 19
90% 56
70% 90
50% 101
30% 110
10% 126
1% 128
Tabel 2. Numărul maxim de caractere ce pot fi ascunse la diferite calități ale imaginii
suport
Extragerea mesajului
Algoritmul de decodare repetă pașii necesari pentru codare, însă de data aceasta în
ordine inversă. Primul pas este obținerea mesajului și refacerea imaginii este descris dupa
cum urmează:
o Dacă , atunci
32
o Dacă sau , atunci si
Dacă , atunci
Dacă , atunci
Pornind de la fișierul din [14], pe baza explicațiilor din articolul [10], programul
prezentat în această lucrare implementează un algoritm de ascundere a unui mesaj într-o
imagine suport și extragere a mesajului. Algoritmul nu este afectat de compresie, indiferent
de calitatea la care se face compresia, iar imaginea originală este recuperată după extragerea
mesajului, la calitatea stabilită inițial.
Algoritmul LSB plasează biții din mesajul ascuns pe poziția celor mai puțin
semnificativi biți din reprezentarea binară a imaginii și poate fi extins la următorii biți, însă
cu riscul de a face mesajul mai ușor de detectat.
Algoritmul este extins pe rând, la cel de-al doilea semnificativ bit, al treilea, s.a.m.d,
rezultând o capacitate mai mare de biți ce pot fi ascunși. Însă aspectul cel mai important
pentru lucrarea de față este pierderea calității imaginii. Cu cât sunt mai aproape de cel mai
semnificativ bit, biții conțin detalii din ce în ce mai importante pentru aspectul imaginii, iar
modificarea lor duce la pierderea acestor detalii. În plus, pixelii vecini, de cele mai multe
ori, au biții mai semnificativi comuni, iar pixelii mai puțin semnificativi diferiți. Această
proprietate conduce la o posibilă ușurință în depistarea alterărilor făcute reprezentării pe biți
a pixelilor din imagine.
33
Aplicația care utilizează această librărie ascunde conținutul unui fișier de tip text într-
o imagine. Ca imagine purtătoare a mesajului, a fost aleasă „cameraman.tif”, o imagine de
test din domeniul public, alb-negru, de dimensiunea 256x256.
34
Figura 23. Aplicația MATLAB pentru steganografie si steganaliză
Figura 24. Comparație între detaliu din imaginea originală și imagini stego cu LSB1-LSB7
35
5. Rezultate experimentale și analiza datelor
Cu ajutorul aplicației descrise în capitolul precedent am obținut doua seturi de imagini
de test, ce contin mesaje ascunse cu LSB1-LSB7:
Cele doua seturi au fost introduse ca date de intrare în aplicația VLS (Virtual
Steganografic Laboratory) și asupra lor s-a aplicat o analiză RS.
36
Dimensiunea
Dimensiunea
mesajului Eroarea [B]
Algoritm folosit reală a mesajului Eroarea [%]
estimată de ( estimat – real )
ascuns [B]
aplicație [B]
Dimensiunea
Dimensiunea
mesajului Eroarea [B]
Algoritm folosit reală a mesajului Eroarea [%]
estimată de ( estimat – real )
ascuns [B]
aplicație [B]
37
Din cele doua tabele se poate observa ca rezultatele obtinute sunt cu mult mai mici fata
de valoarea reală a dimensiunii (figura 26, figura 27 ).
700000
600000
500000
Numar de caractere
400000
300000 ascunse
estimate
200000
100000
0
LSB1 LSB2 LSB3 LSB4 LSB5 LSB6 LSB7
Algoritm folosit
Figura 26. Comparație între dimensiunea reala a mesajului ascuns și dimensiunea estimată
a mesajului, cu aplicația VLS, pentru imagini color.
60000
50000
40000
Numar de caractere
30000
ascunse
20000 estimate
10000
0
LSB1 LSB2 LSB3 LSB4 LSB5 LSB6 LSB7
Algoritm folosit
Figura 27. Comparație între dimensiunea reala a mesajului ascuns și dimensiunea estimată
a mesajului, cu aplicația VLS, pentru imagini alb-negru.
38
Aplicația funcționează mai bine, cu cât numărul de biti de interes este mai mare, acest
lucru putând fi observat atât pentru imagini color(figura 29), cât și pentru imagini alb-
negru(figura 31). Însă rezultatele obținute pentru imagini alb-negru au fost ceva mai bune.
Cea mai buna estimare are o eroare de -52,97% și este obținută pe imagini alb-negru,
cu 7 biți de interes. Însă, cu doua excepții ( LSB4 pentru tabelul cu imagini color și LSB2
din tabelul cu imagini alb-negru), se observa o creștere a dimensiunii estimate a mesajului
ascuns, o data cu creșterea numărului de biți modificați.
700000
600000
Numar de caractere
500000
400000
300000
200000
100000
0
LSB1 LSB2 LSB3 LSB4 LSB5 LSB6 LSB7
Algoritm folosit
Figura 28. Numărul real de caractere ascunse în funcție de numărul de biti de interes,
pentru imagini color
39
Dimensiunea estimată a mesajului ascuns
120000
100000
Numar de caractere estimat
80000
60000
40000
20000
0
LSB1 LSB2 LSB3 LSB4 LSB5 LSB6 LSB7
Algoritm folosit
Figura 29. Numărul estimat de caractere ascunse în funcție de numărul de biti de interes,
pentru imagini color
60000
50000
Numar de caractere
40000
30000
20000
10000
0
LSB1 LSB2 LSB3 LSB4 LSB5 LSB6 LSB7
Algoritm folosit
Figura 30. Numărul real de caractere ascunse în funcție de numărul de biți de interes,
pentru imagini alb-negru
40
Dimensiunea estimată a mesajului ascuns
30000.00
25000.00
Numar de caractere estimat
20000.00
15000.00
10000.00
5000.00
0.00
LSB1 LSB2 LSB3 LSB4 LSB5 LSB6 LSB7
Algoritm folosit
Figura 31. Numărul estimat de caractere ascunse în funcție de numărul de biți de interes,
pentru imagini color
A doua aplicație testata este DIIT (Digital Invisible Ink Toolkit). Aceasta ofera două
tipuri de analiza: RS și sample pairs
Figura 32. Aplicația Digital Invisible Ink Toolkit: rezultate generate în urma steganalizei
41
În mod normal, imaginile care nu conțin mesaj ascuns, au o rata de ascundere sub 3%.
În tabelele 5 și 6 poate fi observată rata de ascundere pe fiecare culoare în parte și rata medie
de ascundere, pentru analiza RS și analiza „sample pairs”. După cum se poate observa, cele
două metode de analiza descoperă prezența unui mesaj ascuns începând cu modificarea a 5
biți de interes. Primele patru imagini de test au o rată de ascundere medie sub 3%, de aceea,
cu ajutorul aplicației, nu se poate confirma că exista mesaj ascuns în aceste imagini. O urmă
de îndoială cade inclusiv pe imaginea cu 7 biti de interes modificați, deoarece rata de
ascundere rezultată este în cazul culorii albastre mai mare de 100%.
Procent rosu [%] 0,50 1,32 0,48 0,58 8,48 36,77 79,25
Grupuri nesuprapuse
Lungime mesaj în rosu [B] 429,46 1299,24 467,51 566,60 8334,20 36147,82 77909,87
Procent verde [%] 0,53 0,71 1,64 0,33 9,75 19,23 81,33
Lungime mesaj în verde [B] 518,45 697,78 1607,82 326,52 9586,11 18900,94 79952,84
Procent albastru [%] 1,52 0,54 1,15 0,84 0,37 9,82 169,77
Lungime mesaj în albastru [B] 1496,30 529,21 1129,99 826,29 365,16 9657,33 166895,54
Procent rosu [%] 0,00 1,25 0,16 0,01 5,45 32,06 77,84
Lungime mesaj în rosu [B] 3,57 1229,38 161,59 8,69 5356,13 31514,02 76516,72
Grupuri suprapuse
Procent verde [%] 0,43 0,38 1,54 0,54 9,48 19,14 87,72
Lungime mesaj în verde [B] 426,39 369,43 1516,41 534,59 9314,85 18814,54 86234,07
Procent albastru [%] 0,43 0,05 0,48 0,02 2,38 2,33 164,44
Lungime mesaj în albastru [B] 418,41 51,88 472,02 23,67 2343,55 2286,59 161653,31
Media dintre toate
0,57 0,71 0,91 0,39 5,98 19,89 110,06
grupurile/culorile [%]
Total
Lungimea totala
1646,29 2088,46 2677,66 1143,18 17650,01 58660,62 324581,18
a mesajului [B]
42
Analiza "sample pairs" LSB1 LSB2 LSB3 LSB4 LSB5 LSB6 LSB7
Procent rosu [%] 0,00 0,00 0,00 1,68 6,02 35,92 63,86
Lungime mesaj în rosu [B] 0,00 0,00 0,00 1651,17 5914,11 35308,30 62779,75
Procent verde [%] 0,98 0,00 2,44 0,29 5,77 26,33 31,77
Lungime mesaj în verde [B] 959,53 0,00 2402,76 288,27 5676,45 25880,44 31231,57
Procent albastru [%] 1,16 0,00 1,17 0,00 1,00 7,97 88,94
Lungime mesaj în albastru [B] 1138,21 0,00 1146,88 0,00 987,91 7836,16 87436,46
Media dintre toate
0,71 0,00 1,20 0,66 4,27 23,41 61,53
grupurile/culorile [%]
Lungimea totala [B] 2097,75 0,00 3549,64 1939,44 12578,48 69024,89 181447,77
Alte aplicații de steganaliza testate, dar care nu au reușit sa descopere prezența unor
mesaje ascunse în imaginile de test sunt: StegSecret, StegDetect si StegSpy.
43
700000
600000
500000
Numar de caractere
Mesaj ascuns
400000
100000
Aplicația DIIT(Sample
pairs)
0
LSB1 LSB2 LSB3 LSB4 LSB5 LSB6 LSB7
Algoritm folosit
Figura 33. Comparație între dimensiunea reală a mesajului ascuns și dimensiunea estimată
de aplicațiile de steganaliza VSL și DIIT
44
6. Concluzii
Obiectivul lucrării a fost determinarea acurateții cu care aplicațiile de steganaliza
existente pe internet (disponibile gratuit) detectează informații ascunse în imagini. Pentru
testare, am creat o aplicație de steganografie, care să genereze imagini cu mesaje ascunse
prin diverși algoritmi.
Primul algoritm implementat a fost unul mai complex, care ascunde mesaje rezistente
la compresie în imagini, prin modificarea valorilor nule din matricea de transformate DCT
a imaginii. Niciuna dintre aplicațiile testate nu a fost capabilă să detecteze prezența mesajului
sau nu a avut instrumentele necesare detecției unui mesaj ascuns în matricea DCT.
Am continuat cu implementarea unui algoritm mai simplu, care ascunde mesajul în cel
mai puțin semnificativ bit al reprezentării pe 8 biți a culorilor dintr-o imagine. Cu riscul de
face modificări vizibile chiar și cu ochiul liber, am extins algoritmul până la 7 biți de interes.
Doar două dintre aplicațiile testate au dat rezultate relevante, respectiv aplicațiile Virtual
Steganography Library și Digital Invisible Ink Toolkit, cea mai performantă dintre ele fiind
cea din urmă. Cele mai bune rezultate au fost generate pentru imagini cu mesaje ascunse pe
cât mai mulți biți de interes, imagini care oricum prezentau aberații vizuale ce puteau fi
observate de ochiul uman.
45
În viitor, cercetarea din aceasta lucrare se poate îndrepta spre dezvoltarea unei aplicații
steganalitice, care să analizeze o imagine prin mai multe metode diferite, iar în urma
rezultatelor obtinuțe să detemine dacă imaginea prezintă conținut steganografic.
46
Bibliografie
[1] Cheddad, Abbas, Joan Condell, Kevin Curran, and Paul Mc Kevitt. "Digital Image
Steganography: Survey and Analysis of Current Methods", Signal Processing, pg. 727-752
[2] Dumitrescu S., Wu X., Wang Z., “Detection of LSB Steganography via Sample Pair
Analysis”, Revised Papers from the 5th International Workshop on Information Hiding,
2002, pg.355-372
[3] Fridrich J., Goljan M., Du R., “Reliable detection of LSB steganography in color and
grayscale images”, Proceedings of the 2001 workshop on Multimedia and security: new
challenges, 2001, Ottawa, Ontario, Canada
[4] Fridrich, J. Long, M., Du, R. „Steganalysis of LSB encoding in color images”.
Multimedia And Expo 2000 ICME 2000 IEEE International Conference On, 3, 1279-1282.
[6] Hsien-Wen Tseng and Hui-Shih Leng, “A Steganographic Method Based on Pixel-
Value Differencing and the Perfect Square Number,” Journal of Applied Mathematics, vol.
2013, 2013.
[8] Nissar, Arooj, A.h. Mir. "Classification of Steganalysis Techniques: A Study." Digital
Signal Processing, pg.1758-1770.
[9] Pevný T., Fridrich J., “Towards Multi-class Blind Steganalyzer for JPEG Images ” ,
Digital Watermarking, Vol. 3710, Springer Berlin Heidelberg Siena, Italy, 2005.
[10] Qiming Li, Yongdong Wu, Feng Bao A Reversible Data Hiding Scheme for JPEG
Images
[11] Raggo, Michael T., Chet Hosmer. Data Hiding Exposing Concealed Data in
Multimedia, Operating Systems, Mobile Devices and Network Protocols. Waltham, MA:
Syngress, 2013., Capitolul 3
47
[12] Rakan El-Khalil, Angelos D. Keromytis, “Hydan: Hiding Information in Program
Binaries”, Information and Communications Security, Volumul 3269, pg. 187-199
[17] Subhedara, Mansi S. , Mankarb, Vijay H. “Current status and key issues in image
steganography: A survey” Computer Science Review, Volumele 13–14, 2014, pg. 95–113
[19] Zlii Li,Yang S. A. F. , Xian Y, „A LSB Steganography Detection Algorithm”, The 14th
IEEE 2003 International Symposium on Persona1,lndoor and Mobile Radio
Communication Proceedings., 2003, pg.2780-2783.
48