Sunteți pe pagina 1din 48

Universitatea POLITEHNICA Bucureşti

Facultatea Automatică şi Calculatoare


Departamentul Automatică şi Informatică Industrială

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

2.1. Metode de evaluare a performantelor în steganografie...........................................6

2.2. Metode de ascundere a informației în imagini........................................................9

2.3. Aplicații de steganografie......................................................................................12

2.4. Perspective de abordare a steganografiei...............................................................14

3. Sisteme și algoritmi de steganaliză...............................................................................16

3.1. Tehnici de steganaliză............................................................................................17

3.2. Aplicatii de steganaliza..........................................................................................20

3.3. Limitările steganalizei............................................................................................22

4. Dezvoltarea unei aplicații steganografice......................................................................23

5. Rezultate experimentale și analiza datelor.....................................................................36

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.

Două metode foarte importante în menținerea securității în comunicații sunt


criptografia și steganografia. Criptografia este principala metodă de protejare a informațiilor
prin codificare la sursă, adică transformarea mesajului într-un mesaj neinteligibil pentru
exterior și decodificarea lui la destinație. Steganografia, spre deosebire de criptografie, se
ocupă cu ascunderea mesajului într-un fișier suport și cu menținerea canalului de
comunicație invizibil.

În ziua de azi, organizații teroriste ca Hamas, Hezbollah, al Qaeda s.a. folosesc


tehnici avansate de steganografie pentru a trimite informații sensibile prin internet, care să
rămână nedetectate. Serviciile secrete americane au descoperit că o serie de atentate teroriste
de mare amploare au fost planificate prin mesaje ascunse, însă care au putut fi descifrate în
totalitate multe luni mai târziu. Una dintre acuzațiile publice, care a întărit cel mai tare ideea
că grupările teroriste folosesc mesaje ascunse pentru a trimite hărți și instrucțiuni pentru
viitoare atentate, a avut loc în anul 2004, când postul arab de știri Al Jazeera a difuzat mai
multe declarații făcute de Osama bin Laden și asociații acestuia. Administrația prezidențială
americană din acea vreme a semnalat public că se teme ca mesajele nemodificate, venite din
partea teroriștilor, difuzate pe posturile de televiziune, pot conține mesaje secrete,
comunicate prin anumite cuvinte, fraze, combinații vestimentare sau gesturi non-verbale
discrete și a recomandat discreție în situațiile în care se primesc astfel de înregistrări. [14]

Î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.

Obiectivul acestei lucrări este de a testa și compara aplicații de steganaliza ce pot fi


descărcate de pe internet si folosite in mod gratuit, pentru descoperirea celei mai bune
aplicații, care poate fi folosita pentru analiza unui fișier ce se presupune a fi imagine
steganografică. În acest scop, se va crea o aplicație ce va genera imagini de test, ce conțin
mesaje ascunse prin diferiți algoritmi.

În prima parte a acestei lucrări este definit și prezentat conceptul de steganografie,


sunt enumerate și descrise câteva criterii de evaluare a performanțelor în steganografie, tipuri
de steganografie, însoțite de exemple, urmate de o serie de aplicații folosite în implementarea
tehnicilor de steganografie. Sunt prezentate două abordări diferite ale steganalizei, o
abordare negativă, în care steganografia este folosită pentru a face rău și o abordare pozitivă,
în care sunt enumerate beneficiile steganografiei.

În cea de-a doua parte este definită steganaliza, un concept complementar


steganografiei, tehnici de implementare a steganalizei, aplicații de steganaliză și limitările
acesteia.

A treia parte cuprinde implementarea unei librării MATLAB, capabilă să ascundă


mesaje într-o imagine suport, folosind algoritmul LSB și un algoritm capabil să reziste la
compresie. Cu ajutorul imaginilor rezultate după aplicarea algoritmilor de steganografie se
vor testa și compara performanțele unor aplicații de steganaliză.

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.

În steganografie, utilizatorul folosește o aplicație pentru a ascunde mesajul într-un


fișier purtător, pentru ca apoi să trimită mesajul unui destinatar sau să îl încarce pe un site
pentru a fi descărcat. Destinatarul descarcă fișierul și îl va deschide cu tot cu o aplicație
dedicată pentru a extrage și a descifra mesajul ascuns. Foarte important este algoritmul ce
stă la bază aplicației. Dacă mesajul a fost ascuns cu ajutorul unui algoritm, aplicația pentru
descifrare trebuie să fie complementară, bazată pe același algoritm.

Figura 1. Ascunderea mesajelor in steganografie

5
2.1. Metode de evaluare a performanțelor în steganografie

Indiferent de metoda de ascundere a informațiilor folosită, există o serie de


caracteristici pe bază cărora se pot defini indicatori ce măsoară performanțele metodelor.

Una dintre caracteristici este gradul de securitate împotriva atacurilor. Sistemul este

-securizat dacă , unde , și perfect securizat dacă .


Cele doua rate au formulele:

(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.

Figura 2. Tabel de explicare a ratelor folosite in determinarea securității împotriva


atacurilor

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).

Imperceptibilitatea este o caracteristică deosebit de importantă pentru steganografie.


Sistemele ar trebui să aibă capacitate mare de ascundere a informațiilor și capabilitate mare
de a rezista atacurilor de tip stego, însă fără a introduce modificări vizibile ale imaginii. Cu
cât imaginea modificată urmărește mai fidel imaginea inițială, cu atât mai bine.

Securitatea steganografică este un criteriu la fel de important. Câțiva parametri ce


definesc securitatea algoritmilor sunt:

1. discrepanța maximă medie(MMD-maximum mean discrepancy): folosită pentru


identificarea diferenței dintre imaginea în care a fost ascunsă informația și imaginea
inițială; are ca avantaje stabilitatea numerică, scalabilitate bună comparativ cu

dimensiunea datelor și converge independent pe dimensiunea datelor cu eroarea , unde


D este numarul de eșantioane

(3)

unde si sunt eșantioane din distribuțiile de

probabilitate respectiv ; este o clasă de funcții construită dintr-o funcție simetrică,


pozitiv definită;

2. curba ROC (Receiver Operating Characteristics), o curbă bidimensională în care pe axa


Y avem sensibilitatea și pe axa X avem specificitatea: cu cât este mai mare suprafața de
sub curbă, cu atât este mai bună performanța sistemului din punct de vedere steganalitic;
spre exemplu, în figura de mai jos performanța curbei C este mult mai bună decât a
curbei B, iar a curbei B mult mai bună decât a curbei A.

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)

unde este probabilitatea de distribuție a imaginii suport, este probabilitatea de

distribuție a imaginii cu mesaj ascuns, și sunt matricele de covarianta ale imaginii


inițiale și imaginii stego.

4. divergența Kullback-Leibler (KL): parametru propus de Cachin in 1998; divergenta KL


dintre doua funcții de distribuție a probabilității este:

(5)

8
unde X și Y reprezintă imaginea suport și imaginea cu mesaj ascuns, iar px și qy

reprezintă funcțiile de distribuție a probabilității, iar este


valoarea pixelului în imaginile alb negru; algoritmul trebuie să fie proiectat astfel încât
valoarea divergenței KL să fie minimă; cu cât coeficientul de corelație este mai mare, cu
atât divergența KL este mai mare. [17]

2.2. Metode de ascundere a informației în imagini

Metodele de steganografie se împart în două categorii: metode de inserție și metode


de substituție, dar există și aplicații care îmbină aceste metode.

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

O altă metodă de inserare este adăugarea mesajului în câmpurile de comentarii ale


fișierelor [11]. În cazul în care formatul fișierului permite inserarea de comentarii, acestea
nu vor fi afișate la vizualizarea normală a fișierelor, permițând inserarea informațiilor secrete.
Fișierele de tip HTML și JPEG permit aplicarea acestui tip de metodă. Spre exemplu, într-
un fișier de tip JPEG pot și introduși în secțiunea de comentarii minim 2 octeți și maxim
65533, octeți invizibili la vizualizare.

Substituția se bazează pe modificarea valorii sau schimbarea locurilor unor biți. Nu


se introduc informații suplimentare în fișierul purtător, dar biții se modifică astfel încât
schimbarea să fie insesizabilă vizibil sau audibil. Una dintre cele mai folosite metode de
substituție este modificarea celui mai puțin semnificativ bit, utilă în cazul fișierelor video.

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.

Figura 5. Ascunderea mesajului pe cei mai puțin semnificativ biți

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.

Figura 6. Formarea unui caracter ASCII folosind 8 octeți cu LSB modificat

Bineînțeles, prin comparație cu imaginea originală, se observă o ușoară modificare a


valorilor, însă de cele mai multe ori această comparație nu este posibilă din cauza lipsei

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.

O metodă ce nu implică inserarea sau ascunderea de biți [1] este modificarea


nivelului de gri. Metoda se bazează pe funcții matematice și presupune selectarea unui set
de pixeli pentru mapare și folosirea conceptului de numere pare și impare pentru a mapa
datele în imaginea suport. Spre exemplu o valoare pară a scalei de gri va reprezenta bitul 0,
iar o valoare impară va reprezenta bitul "1". Această metodă are o complexitate redusă și o
capacitate de ascundere a informațiilor ridicată.

"Pixel value differencing"[6] este o metodă bazată pe diferența dintre valorile


pixelilor. Imaginea suport este împărțită în blocuri care nu se suprapun, ce conțin doi pixeli
consecutivi, iar diferența din fiecare bloc este modificată. O diferență inițială mare permite
o modificare mai mare. Numărul de biți ce pot fi ascunși depinde de aspectul imaginii. În
zonele în care diferențele dintre pixeli sunt mari se pot ascunde mai mulți biți spre deosebire
de zonele mai uniforme, unde diferențele între pixeli sunt mici. Comparativ cu metoda celui
mai puțin semnificativ bit, aceasta este mai greu de descoperit, iar calitatea imaginii este mai
bună.

2.3. Aplicații de steganografie

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.

Figura 7. Verificarea semnăturii la fișierele PDF

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.

2.4. Perspective de abordare a steganografiei

Î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.

Steganografia poate fi folosită pentru scurgeri de informații. Anumite aplicații pot


fura informații confidențiale de la organizații, le pot ascunde în fișiere și le pot trimite în
exteriorul organizației. Acestea pot fi trimise prin email, pot fi încărcate pe siteuri web, în
special siteuri de socializare, conturi ebay, medii care nu trezesc suspiciuni. Competitorul
poate avea acces cu ușurință la informații din interiorul companiei și poate extrage date
confidențiale.

Fișierele cu informații confidențiale, ascunse prin steganografie, părăsesc sistemul,


trecând de filtrele email sau web și uneori chiar și de controalele antivirus sau antispam.

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.

Multitudinea de metode de ascundere a informațiilor fac detecția scurgerilor de


informații foarte grea, de multe ori acestea trec neobservate sau sunt observate foarte târziu,
când pierderile sunt deja foarte mari. Steganografia presupune și o incertitudine mare, pentru
că e destul de greu de găsit fișierele modificate și de demonstrat că există informație ascunsă
în interiorul lor.

Steganografia poate fi folosită și în scopuri benefice. Tehnicile steganografice pot fi


folosite pentru protejarea proprietății intelectuale sau pentru a păstra confidențialitatea unor
informațiilor pe canalul de transmisie.

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.

Informațiile confidențiale sunt protejate prin steganografie de sabotaj, furt sau


vizualizare neautorizată, aceasta metodă fiind folosită nu doar de companii ci și de instituțiile
care se ocupă de securitatea națională. De aceea orice tentativă de analiză și decriptare a
informațiilor este pedepsită prin lege.

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]

Steganaliza specifică se bazează pe metoda de steganografie folosită și este


dependentă de aceasta. Această categorie de tehnici de steganaliză analizează proprietățile
statistice ale imaginii, care au fost schimbate după introducerea mesajului. Tehnicile de acest
tip sunt foarte precise atunci când se cunoaște metodă cu care a fost ascuns mesajul, însă
acest lucru le și limitează, fiind nefolositoare în lipsă algoritmului de steganografie.

Steganaliza universală este numită și steganaliza generică, pentru că se aplică pe


imagini pentru care nu se cunoaște algoritmul cu care a fost ascuns mesajul. Acest tip de
tehnici sunt independente de algoritmii steganografici cunoscuți, ceea ce le face mai
răspândite ca utilizare față de tehnicile de steganaliza specifică, însă sunt și mai puțin
eficiente. Aplicațiile de steganaliza universală se folosesc de un mic set de proprietăți ale
„imaginilor naturale” și, folosind metode de inteligență artificială și de recunoaștere a
șabloanelor, încearcă să depisteze o abatere de la aceste reguli. [9]

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.

Steganaliza specifică, numită și steganaliza bazată pe semnătură presupune existența


unor instrumente de căutare a unor caracteristici și tipare repetitive și evidente. Bineînțeles,
mesajele sunt foarte ușor de găsit în cazul folosirii unor metode de stenografie cunoscute sau
în cazul în care există o serie de fișiere ce conțin un mesaj ascuns și se poate observă acel
tipar neobișnuit.

Prin steganaliză bazată pe semnătură pot fi detectate atacurile simple, secvențiale. În


paragrafele de mai jos sunt descrise câteva semnături specifice, ce pot fi recunoscute în
imagini.

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.

O metoda universală de analiză a imaginilor de tip JPEG este verificarea compatibilității


cu formatul JPEG a imaginilor suspectate. Cuantizare introdusă de serverele de compresie

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.

Steganaliza statistică se bazează pe tehnici matematice ce verifică imaginile din punct


de vedere statistic. Analiză din punct de vedere statistic este mult mai bună decât analiza pe
bază de semnătură, pentru că tehnicile matematice sunt superioare percepției vizuale.
Steganaliza statistică specifică are ca țintă o anumită metodă de steganografie sau mici
variații ale aceleași metode. Pentru a putea găsi un mesaj ascuns, trebuie să se cunoască
foarte bine tehnicile ce aparțin de metoda prin care a fost ascuns. Acest tip de steganaliză se
bazează pe similitudinea dintre imagine și modul în care o anumită metodă modifică o
imagine. Steganaliza statistică are rezultate foarte bune pe o metodă de steganografie foarte
bine cunoscută.

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.

Metoda "Gradient Energy-Flipping Rate Detection" [19], propusă de Li Zhi, se bazează


pe relația dintre lungimea mesajului ascuns și energia gradientului. În această tehnică se
calculează energia gradientului pentru imaginea suport după care se face integrarea celui mai
puțin semnificativ bit cu rate diferite de interschimbare și se calculează după fiecare inserare
energia gradientului a imaginii rezultate. Se modelează curba de energie a gradientului sub
forma unei linii drepte pentru a estima lungimea mesajului. Această metodă detectează
prezența unui mesaj când rata de ascundere este mai mare de 0.05 biți pe pixel.

O altă tehnică de steganaliză specifică steganografiei LSB în imagini alb-negru, propusă


de către Zhang și Ping [8] , folosește diferența dintre histogramele imaginii ca o unealtă de
analiză. Coeficienții de translație dintre diferențele histogramelor imaginilor sunt definite ca
fiind o unitate de măsură a corelației slabe dintre planul LSB și restul planurilor. Acești
coeficienți de translație sunt folosiți în construcția unui clasificator care să distingă imaginile
steganografice de cele curate. Acest algoritm poate detecta existența mesajelor ascunse
încorporate folosind înlocuiri secvențiale sau aleatorii în imagini și poate de asemenea,

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.

Un steganalizator prezentat de M.U. Celik [8] se bazează pe schimbările din curbele


ce descriu rata distorsiunii cauzată de introducerea mesajului. Eficiența acestei abordări față
de LSB și algoritmii stocastici a fost demonstrată cu niveluri de acces variate. Algoritmul
este bazat pe observația că algoritmii steganografici perturbă invariabil statisticile de semnal
de bază și în consecință schimbă caracteristicile ratei de distorsiune a semnalului.
Mecanismul de detectare LSB exploatează neregularitățile statistice cauzate de încorporare
și folosește compresie pe nivel de încorporare pentru aceasta. Pentru detectarea încorporării
stocastice, rata de date este atinsă prin scheme de compresie cu pierderi. Valorile
distorsiunilor la diferite puncte de rată sunt considerate caracteristici ale imaginii. Fiecare
imagine originală este modificată prin încorporarea stohastică. Eroarea medie pătratica,
eroarea medie absolută și medie ponderată a erorilor pătratice ale imaginilor, marcate sau
nemarcate, sunt folosite ca măsurători ale distorsiunii. Caracteristicile imaginii sunt extrase,
un clasificator Bayesian este pregătit și este aplicată divergența KL (Kullback–Leibler).
Acest clasificator este folosit apoi pentru a clasifica imaginile curate și cele cu mesaj ascuns.

3.2 Aplicații de steganaliză

StegDetect este o aplicație pentru linux și android, ce poate detecta conținut


steganografic, ascuns în imagini jpeg. Pana în momentul de fata aplicația detecteaza mesaje
ascunse prin aplicațiile/metodele: jsteg, outguess, jphide, invisible secrets, F5 sau prin
inserarea mesajelor la sfârșitul fișierului (camouflage, appendX). StegDetect rulează o serie

20
de teste statistice pentru a determina dacă exista conținut steganografic și metoda prin care
a fost ascuns. [15]

StegBreak este o alta aplicație pentru linux, care se folosește de un dicționar de


cuvinte, pentru a descoperi dacă exista informații ascunse. Aplicația oferă utilizatorului
posibilitatea de a alege o listă de cuvinte și un set de reguli cu transformări care vor fi aplicate
cuvintelor și rulează o serie de teste, capabile să descopere mesaje ascunse prin metodele
outguess, jphide și jsteg-shell. [11]

JPSeek este o aplicație de steganaliză, oferită împreună cu aplicația de steganografie


JPHide. JPSeek extrage din fișierele de tip jpeg mesajele ascunse cu ajutorul aplicației
JPHide. Avantajul major al acestor aplicații este minimizarea efectelor vizuale și a efectelor
statistice. Extragerea mesajului este posibilă doar după introducerea unei parole. [17]

StegSecret este o aplicație java open-source, care permite detecția informațiilor


ascunse prin majoritatea metodelor uzuale, ca metodă LSB, inserare la sfârșitul fișierului,
metodă DCT, s.a. [14]

Suita Stego este un pachet de aplicații de steganaliză universală, ce detectează


prezența steganografiei, fără a cunoaște în prealabil algoritmul folosit pentru ascunderea
informațiilor. Din acest pachet fac parte StegoHunter, StegoWatch, StegoAnalyst și
StegoBreak. StegoHunter permite detecția rapidă, precisă și cu ușurință a mesajelor ascunse
prin aplicații steganografice că EnCase, FTK, dd sau Safeback. StegoWatch și Stegobreak
utilizează dicționare de cuvinte pentru a detecta și a extrage mesaje ascunse. StegoAnalyst
descoperă prezența mesajelor pe bază proprietăților imaginii( detalii ale imaginii, DCT, s.a.)
pe care le analizează. [10]

StegSpy detectează metoda, aplicația folosită pentru ascunderea informațiilor


precum și locația acestora. Până în momentul de față identifică aplicațiile Hiderman, JPHS,
Masker și Invisible Secrets. [8]

Alte aplicații de steganaliză ce merită menționate sunt: VLS, DIIT, 2Mosaic,


StirMark Benchmark, Phototile, Steganalysis Analyzer Real-Time Scanner, JSteg detection,
JPHide detection, OutGuess detection.

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.

Dat fiind numărul mare de tehnici de steganografie și viteză cu care domeniul


steganografic se dezvoltă, steganaliza nu reușește să țină pasul, având o evoluție mult mai
lentă. Încă nu există aplicația perfectă de steganaliza universală, care să permită detecția
mesajelor ascunse sub orice fel de metodă, fără erori de tip fals-pozitiv sau fals-negativ și
într-un timp foarte scurt. Majoritatea aplicațiilor de steganaliză existente permit detecția
informațiilor ascunse prin semnături cunoscute.

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.

Primul algoritm implementat implementat își propune ascunderea mesajelor într-o


imagine, astfel încât compresia și decompresia să nu distrugă mesajul. Pe lângă mesaj,
algoritmul recuperează și imaginea inițială.

Algoritmul conține o parte de codare și ascundere a mesajului și o parte de decodare


și extragere a mesajului. Pentru testarea algoritmului s-a folosit imaginea alb-negru
“cameraman.tif”, de dimensiune 256x256 pixeli. Această reprezintă imaginea suport pentru
mesajul ce urmează să fie ascuns.

La începutul algoritmului de codare se cere utilizatorului să introducă mesajul și


gradul de compresie dorit al imaginii. Gradul de compresie nu influențează algoritmul
propriu-zis de ascundere, însă va trebui să se țină cont că, la un grad foarte mic de compresie,
fișierul va conține foarte puține informații despre imagine, ceea ce va face mesajul mai
vizibil pentru ochiul uman. Mesajul, inițial sub formă de caractere ASCII format simplificat
(pe 8 biți), va fi stocat sub formă binară și se va ascunde bit cu bit în imaginea suport, pe
anumite poziții stabilite la implementarea algoritmului. Din prima parte a algoritmului va
rezulta un fișier binar, ce va conține imaginea suport și mesajul ascuns. Cea de-a doua parte

23
a algoritmului se va ocupa cu extragerea mesajului și decompresia imaginii, urmând pașii
din prima parte, însă în ordine inversă.

În continuare sunt explicați pașii necesari ascunderii și extragerii mesajelor, modul


în care sunt pregătite compresia și decompresia, împreună cu câteva exemplificări ale
influenței anumitor parametri.

Figura 8. Imaginea originala

Pregătirea imaginii pentru ascundere

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.

Acești coeficienți sunt cuantizați cu un factor de cuantizare corespunzător, din


matricea de cuantizare. Matricea de cuantizare conține valori prestabilite pentru o calitate de
50%. Pentru o calitate diferită, matricea este recalculată. Procesul de cuantizare este făcut
după formula:

(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.

Ascunderea mesajului în primul element al blocului DCT modifică complet imaginea


finală, de aceea nu este recomandată ascunderea mesajului în această poziție. Ascunderea
biților în poziții diferite determină modificări diferite ale imaginii, mai mult sau mai puțin
vizibile. În imaginile de mai jos se pot observa modificările pe care le poate aduce
schimbarea locației unui singur bit ascuns într-un bloc 8x8, la calitate 50%:

Figura 9. Bit ascuns în poziția [1,4]

25
Figura 10. Bit ascuns în poziția [2,2]

Figura 11. Bit ascuns în poziția [2,5]

26
Figura 12. Bit ascuns în poziția [5,2]

Figura 13. Bit ascuns în poziția [8,8]

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:

Figura 14. Ascunderea mesajului într-un bit/bloc, calitate 10%

Figura 15. Ascunderea mesajului într-un bit/bloc, calitate 50%

Figura 16. Ascunderea mesajului într-un bit/bloc, calitate 90%

28
Figura 17. Ascunderea mesajului în 4 biți/bloc, calitate 10%

Figura 18. Ascunderea mesajului în 4 biți/bloc, calitate 50%

Figura 19. Ascunderea mesajului în 4 biți/bloc, calitate 90%

29
Figura 20. Ascunderea mesajului în 8 biți/bloc, calitate 10%

Figura 21. Ascunderea mesajului în 8 biți/bloc, calitate 50%

Figura 22. Ascunderea mesajului în 8 biți/bloc, calitate 90%

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.

Algoritmul ascunde în matricea coeficienților cuantizați un bit din mesaj în


poziția ij, în următorul mod:

● Dacă si , atunci

● Dacă si , atunci (semnul va fi ales aleatoriu)

● Dacă , nu va fi ascuns nici un bit, iar coeficientul va fi modificat dupa cum


urmează, pentru a nu influența extragerea mesajului:

○ 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

[8,8] 127 1016

Tabel 1. Numarul maxim de caractere ce pot fi ascunse pe diferite poziții

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]:

Calitatea imaginii Nr. caractere

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

După ascunderea mesajului, în mod normal ar trebui aplicată metoda Huffman de


compresie. În cazul acestei metode, compresia și decompresia se realizează fără pierderi
(lossless encoding) și cum metoda Huffman nu influențează rezultatul final, algoritmul
prezentat omite acest pas.

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ă:

 Dacă , se extrage bitul ascuns astfel:

o Dacă , atunci

32
o Dacă sau , atunci si

 Dacă , atunci

 Dacă , atunci

Pentru un aspect uniform al imaginii cu mesaj ascuns, după ascunderea mesajului


se ascund biți de valoare aleatorie, până la sfârșitul fișierului. Ascunderea în imagine a
numărului de caractere ale mesajului poate însemna o vulnerabilitate a algoritmului, nu este
recomandată și de aceea nu este nici implementată. Bineînțeles, dezavantajul principal este
faptul că algoritmul nu va ști când să se oprească din extras biți, iar mesajul afișat se va
termina în niște caractere aleatorii.

După extragerea mesajului, pe matrice se aplică decuantizarea, urmată de inversa


transformatei cosinus discretă pentru obținerea imaginii inițiale, la calitatea dorită.

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.

Utilizatorul are posibilitatea de a alege algoritmul ce urmează a fi folosit pentru


ascunderea mesajului și numărul de biți care urmează să fie modificați. În cazul fiecărui
algoritm, în funcție de numărul ales de biți, este afișată dimensiunea maximă (în număr de
caractere) a mesajului ce poate fi ascuns. Interfața permite vizualizarea atât a imaginii
originale, cât și a imagini rezultate după ce a fost aplicat algoritmul. În plus, există un buton
de salvare a imaginii, care creează un fișier ce conține imaginea stego în directorul curent și
un buton de recuperare a mesajului ascuns, care aplică algoritmul invers și salvează mesajul
extras în directorul curent sub formă unui fișier text.

Figura 24 conține câte un fragment din imaginile rezultate la ascunderea aceluiași


mesaj în aceeași imagine suport, variînd însa numărul de biți în care este inserat mesajul,
de la 0 biți (imaginea originala) la 7 biți. Se poate observa că, cu cât numărul de biți de
interes este mai mare, cu atât imaginea este mai deterioratî, iar modificarea din ce în ce mai
vizibilă.

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:

 un set de imagini color, folosind ca imagine suport „lena512.tiff”, de dimensiune


512x512
 un set de imagini alb-negru, folosind ca imagine suport „cameraman.tiff, de
dimensiune 256x256

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.

Figura 25. Aplicația VLS: generarea rapoartelor în urma analizei RS a imaginilor

Pentru fiecare imagine testată se generează un raport ce conține numele imaginii,


dimensiunea imaginii și dimensiunea estimată (în octieti) a mesajului ascuns. Tabelele 3 și
4 contin rezultatele obținute, centralizate.

36
Dimensiunea
Dimensiunea
mesajului Eroarea [B]
Algoritm folosit reală a mesajului Eroarea [%]
estimată de ( estimat – real )
ascuns [B]
aplicație [B]

LSB1 98304 282,79 -98021,20 -99,71

LSB2 196608 550,23 -196057,76 -99,72

LSB3 294912 716,67 -294195,32 -99,75

LSB4 393216 188,98 -393027,01 -99,95

LSB5 491520 5671,51 -485848,48 -98,84

LSB6 589824 17538,38 -572285,61 -97,02

LSB7 688128 108134,69 -579993,30 -84,28

Tabel 3. Dimensiunea mesajului ascuns și dimensiunea estimata de aplicația VLS, pentru


imagini color

Dimensiunea
Dimensiunea
mesajului Eroarea [B]
Algoritm folosit reală a mesajului Eroarea [%]
estimată de ( estimat – real )
ascuns [B]
aplicație [B]

LSB1 8192 179,02 -8012,98 -97,81

LSB2 16384 123,18 -16260,82 -99,25

LSB3 24576 308,90 -24267,10 -98,74

LSB4 32768 1333,60 -31434,40 -95,93

LSB5 40960 3086,48 -37873,52 -92,46

LSB6 49152 12775,53 -36376,47 -74,01

LSB7 57344 26397,19 -30946,81 -52,97


Tabel 4. Dimensiunea mesajului ascuns și dimensiunea estimata de aplicația VLS, pentru
imagini alb negru.

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.

Dimensiunea reală a mesajului ascuns


800000

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

Dimensiunea reală a mesajului ascuns


70000

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%.

Analiza RS LSB1 LSB2 LSB3 LSB4 LSB5 LSB6 LSB7

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]

Tabel 5. Analiza RS pe imagini color, folosind aplicatia DIIT

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

Tabel 6. Analiza “sample pairs” pe imagini color, folosind aplicatia DIIT

Comparând cele două aplicații de steganaliză, la nivel de lungime estimată a mesajului


ascuns, aplicația DIIT se apropie cu ambele metode de analiză de valoarea reală a mesajului
ascuns, chiar dacă eroarea de estimare este destul de mare. Spre deosebire de VLS, care în
urma analizei RS oferă doar un număr estimat de caractere ascunse, aplicația DIIT pune la
dispoziția utilizatorului o analiza mult mai amplă a imaginilor, lăsându-i posibilitatea de a
interpreta rezultatele.

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

300000 Aplicația VSL

200000 Aplicația DIIT (RS)

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.

În urmă cercetatarii efectuate, am observat că există foarte multe informații despre


tehnici și metode de steganografie și ceva mai puține informații despre steganaliza, de cele
mai multe ori păstrate la un nivel teorietic, ambigu, fără aplicații practice relevante.
Cercetarea în domeniul steganalizei implică un volum foarte mare de muncă, efectuat în
echipe cu un număr considerabil de cercetători. Acesta este tipul de cercetare care este făcut
de instituțiile din domeniul securității naționale din fiecare țară, de aceea majoritatea
informațiilor și a aplicațiilor relevante din acest domeniu cel mai probabil nu sunt accesibile
publicului larg.

Steganaliza este în continuare un domeniu de studiu foarte important, în contextul


luptei antiteroriste din ultimii ani. Însă domeniul steganalizei este, prin natura sa, un domeniu
secretizat. Cercetarea aplicațiilor practice este foarte dificilă din perspectiva pur academică,
pentru că necesită resurse și informații mai sensibile, clasificate.

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.

[5] Frith, David. "Steganography Approaches, Options, and Implications." Network


Security, pg. 4-7.

[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.

[7] JpegX Authentication Bypass


http://www.gulftech.org/advisories/JpegX%20Authentication%20Bypass/3,

[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

[13] Shrikant Khaire, Sanjay L. Nalbalwar, „Review: Steganography – Bit Plane


Complexity Segmentation (BPCS) Technique”, International Journal of Engineering
Science and Technology Vol. 2(9), 2010, pg. 4860-4868

[14]. Singh B., Jpeg Compression for grayscale images,


http://www.mathworks.com/matlabcentral/fileexchange/38524-jpeg-compression-for-g
rayscale-images

[15] Spy-Hunter, http://www.spy-hunter.com/stegspydownload.htm, accesat la data


20.05.2016

[16] Steganography Software, http://www.jjtc.com/Steganography/tools.html

[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

[18] Westfeld, A., Pfitzmann, A. „Attacks on steganographic systems”, Lecture Notes In


Computer Science, pg. 1768, 61-75

[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