Steganografija općenito i kroz primjere

Izvor: SIS Wiki
Skoči na: orijentacija, traži

Temu rezervirao Bruno Krnetić dana 15.12.2017.

Sadržaj

Što je to steganografija?

Steganografija je znanstvena disciplina koja proučava i bavi se skrivanjem informacija pri razmjeni istih. Sama riječ steganografija dolazi od grčkih riječi steganos i graphein, što bi u doslovnom prijevodu na hrvatski jezik značilo skriveno pisanje. Počeci korištenja prvih oblika steganografije sežu u 440. godinu prije Krista kada ju Herodot spominje u svom djelu Herodotova povijest. Postojalo je više tehnika skrivanja poruka. Neke od njih su: zapisivanje poruka na drveni kalup voštane ploče za pisanje prije ulijevanja voska (iste su se koristile kao ponovno upotrebljive površine za pisanje), brijanje i tetoviranje glave te skrivanje poruke kosom koja ponovno naraste (koristili i njemački špijuni početkom 20. stoljeća), nevidljive tinte (korištene u svjetskim ratovima), fotografije reducirane do veličine točkice i dr.

Danas, osnovna upotreba steganografije uključuje skrivanje poruka odnosno informacija unutar naizgled uobičajenog skupa podataka, a to su najčešće multimedijske datoteke poput slika, video i audio datoteka, što će i biti prikazano kroz primjere u nadolazećim poglavljima. Tako možemo reći da je glavna prednost steganografije što ne privlači pozornost na skrivene informacije te štiti i sudionike komunikacije, dok to kod drugih tehnika skrivanja informacija, kao npr. kriptografije, nije slučaj.

Steganografija se koristi u legalne i ilegalne svrhe. Legalna primjena steganografije najčešće je prisutna kod korištenja digitalnog vodenog pečata (eng. watermark) s ciljem zaštite autorskih prava i vlasništva nad multimedijskim datotekama. Nadalje, može se koristiti i kao zamjena za generiranje jednosmjerne hash vrijednosti, čime se nakon obrade podataka varijabilne veličine dobiva skup podataka fiksne veličine. Samim time može se naknadno provjeriti da li su izvršene ikakve promjene nad izvornim podacima. Tako se korištenjem steganografije postiže očuvanje tajnosti bitnih informacija te zaštita istih od nevolaštenog pristupa.

Kako je skrivanje informacija jedno od glavnih obilježja uspješnih ilegalnih aktivnosti, tako se upravo steganografija koristi za iste, primjerice: krađa povjerljivih informacija, financijska pronevjeru, krađa identiteta, krijumčarenje, terorizam itd. Jedan od slučajeva korištenja steganografije u terorizmu jest teroristički napad 11. rujna 2001. godine za koji postoji teorija da su teroristi međusobno komunicirali korištenjem pornografije kao medija za prikrivanje poruka.

Moderna steganografija

Moderna steganografija odnosi se na skrivanje tajnih poruka u redundantnim dijelovima prikrivne datoteke odnosno datoteke koja nosi poruku. Digitalna tehnologija tako omogućuje skrivanje informacija unutar digitalne slike.

Obzirom da su digitalne datoteke na računalu ništa više nego nizovi manje bitnih i više bitnih bitova, manje bitne bitove koji ne nose informaciju važnu za datoteku možemo zamijeniti bitovima koji će sadržavati informaciju koju želimo sakriti. Naravno, treba paziti da mijenjanje pojedinih bitova datoteke neće uzrokovati nepravilan rad istih, kao što se može dogoditi pri mijenjaju bitova izvršnih verzija određenih programa gdje je za pravilno funkcioniranje istih bitan svaki bit.

Pogledajmo sada na slici 1. osnovni princip steganografskog procesa.

Princip steganografskog procesa.png

Pošiljatelj skrivene poruke nasumično odabire bezazlenu prikrivnu datoteku (sliku, zvuk, tekst) koju može nesmetano poslati primatelju. Uporabom određene steganografske metode ili tajnog ključa u prikrivnu datoteku umeće poruku te time dobiva stegoobjekt. Bitno je da promatrač u bezazlenoj poruci ne vidi ništa sumnjivo te da prikrivna datoteka sadrži dovoljno redundantnih bitova koji mogu biti zamijenjeni skrivenom porukom. U idealnom slučaju ni promatrač ni računalo neće uočiti promjene prikrivne datoteke.

Tehnike steganografije

Pregled steganografskih tehnika.PNG

Popis i opis steganografskih tehnika:

Parafrazirano prema: https://www.cis.hr/www.edicija/LinkedDocuments/CCERT-PUBDOC-2006-04-154.pdf

Digitalne steganografske tehnike

Iskorištavanje redundantnih bitova jedan je od načina skrivanja poruke unutar digitalnih medija kojeg smo već spomenuli. Postoje i ostali načini skrivanja datoteka.

Jedan od njih je iskorištavanje nealociranog memorijskog prostora kojem se nakon skrivanja pojedinih podataka pristupa pomoću za to specijaliziranih alata. Drugi način je i iskorištavanje neiskorištenih zaglavlja datoteka.

Osim na ova dva spomenuta načina, informacije se mogu sakriti i unutar tajne diskovne particije koja nije vidljiva u standardnim uvjetima te se za omogućeni pristup istoj koriste određeni alati. Taj pristup opisan je u steganografskom ext2fs datotečnom sustavu za Linux operacijske sustave. Takav skriveni datotečni sustav korisniku može omogućiti ograđivanje od posjedovanja određenih informacija ili pojave određenih događaja.

Zadnji način skrivanja informacija jest korištenje mrežnih protokola. Tako CTCP protokol (eng. Covert Transmission Control Protocol) formira tajne komunikacijske kanale uporabom identifikacijskog polja u IP paketima ili polja s brojem sekvence u TCP paketima.

Unatoč postojanju nekolicine digitalnih steganografskih tehnika te digitalnih nositelja skrivenih poruka, najkorišteniji i najprikladniji jesu slike te zvučni i video zapisi. Stoga je i najveći broj steganografskih tehnika razvijen upravo za njih. Iz tog razloga, u nastavku ćemo opisati najpopularnije od tih tehnika, a najveći fokus stavit ćemo na uporabu digitalne slike kao nositelja tajnih informacija.

Steganografkse tehnike bazirane na supstituciji

Osnovni princip funkcioniranja sustava baziranih na supstituciji je zamjena redundantnih dijelova slike stajnim podacima. Da bi u potpunosti razumjeli ovaj princip, prvo moramo poznavati strukturu steganografskog nositelja. Zato ukratko razradimo RGB (eng. Red-Green-Blue) sustav.

Unutar RGB sustava, svakaboja se prikazuje pomoću relativnog intenziteta svake od 3 postojeće komponente – crvene, zelene i plave. Potpuni nedostatak svih komponenti za rezultat daje crnu boju, dok potpuno prisustvo svih komponenti daje bijelu boju. Odnos boja može se prikazati pomoću RGB kocke.

Rgb kocka.PNG
Slika preuzeta sa: https://www.cis.hr/www.edicija/LinkedDocuments/CCERT-PUBDOC-2006-04-154.pdf

Svaka RGB komponenta specificirana je nizom od 8 bitova, tako da raspon vrijednosti intenziteta svake od triju jest 0 do 255. Obzirom da se RGB sustav sastoji od 3 komponente, dobiva se 24-bitna shema koja podržava 16,777,216 jedinstvenih boja. To bi u prijevodu značilo da je svaki piksel unutar slike kodiran s 24 bita.

Većina današnjih aplikacija za obradu i prikaz slika podržava 24-bitnu shemu, međutim omogućuje i uporabu 8-bitne sheme kako bi se uštedjelo na veličini slike. Takva shema zapravo također koristi 24-bitni prikaz boje pojedinog piksela, ali uz to ima i paletu koja specificira boje korištene u slici. Svaki piksel slike kodiran je s 8 bitova, pri čemu dotična vrijednost označavaindeks zapisa željene boje u paleti. Slijedi da ova metoda ograničava broj korištenih boja u slici na 256 upravo zbog 8-bitnog prikaza indeksa boje u paleti. 8-bitna shema tipična je za GIF (eng. Graphics Interchange Format) format slike koji se smatra kompresijom sliku bez ikakvih gubitaka.

Supstitucija bita najmanje važnosti

Substitucija bita najmanje važnosti (eng. least significant bit substitution; LSB substitution), nadalje LSB supstitucija, najčešća je steganografska tehnika korištena u radu s multimedijskim datotekama. Sam pojam „bit najmanje važnosti“ veže se uz numeričku važnost bitovu u oktetu. Tako je bit najveće važnosti onaj s najvećom (27 = 128(10)), a bit najmanje važnosti onaj s najmanjom aritmetičkom vrijednošću (20 = 1(10)). Iz toga slijedi da promjena bita najmanje važnosti ima najmanji učinak na promjenu ukupne vrijednosti okteta, pa i promjena bita najmanje važnosti u svim oktetima koji čine multimedijsku datoteku također ima najmanji učinak na promjenu izgleda same datoteke.

Ideja steganografske tehnike supstitucije bita najmanje važnosti bazira se na rastavljanju tajne poruke na bitove koji se potom pohranjuju na mjesto bita najmanje važnosti u pojedinim oktetima.

Jednostavan primjer LSB supstitucije jest skrivanje slova G unutar zadanog niza okteta:

10010101 00001101 11001001 10010110 
00001111 11001011 10011111 00010000

Ako u obzir uzmemo ASCII (eng. American Standard Code for Information Interchange) standard iz kojeg slijedi da slovo G možemo zapisati kao binarni niz 01000111, tada tih 8 bitova zapisujemo na mjesto bitova najmanje važnosti u izvornom skupu okteta i dobivamo sljedeće:

10010100 00001101 11001000 10010110 
00001110 11001011 10011111 00010001

Pri ovakvim radnjama dobro je pripaziti pri odabiru metode skupa ciljnih okteta jer pri analizi slike taj dio slike imat će drukčije statistike od ostatka, pa će možda privući pozornost na sebe i time direktno ugroziti tajnost skrivene poruke. Najbolje je koristiti neku metodu nasumičnog odabira, što zapravo i čini detekciju steganografskih poruka izrazito kompliciranom.

Velika mana LSB supstitucije jest osjetljivost i na najmanje operacije nad slikom (kompresija, uklanjanje određenih dijelova slike, konvertiranje slike u drugi format i vraćanje u početni), jer pri istima može doći do uništavanja informacija zapisanih u bitovima najmanje važnosti.


Parafrazirano prema: https://www.cis.hr/www.edicija/LinkedDocuments/CCERT-PUBDOC-2006-04-154.pdf

Sortiranje paleta

Kao što je prethodno rečeno, nekolicina slika koristi palete boja korištenih unutar slike. Te palete sadrže samo podskup cjelovitog prostora boja unutar 24-bitnog prikaza te je svaka boja unutar palete predstavljena s 24-bitnim vektorom koji definira RGB vrijednosti te boje i indeksom odnosno lokacijom u paleti. Taj indeks pohranjuje se unutar svakog piksela slike i na osnovu njega određuje se boja tog piksela.

Prvi korak u primjeni ove steganografske tehnike je izrada kopije izvorne palete boja te promjena lokacija boja u novoj paleti. Novi raspored boja određuje se na način da boje koje se nalaze blizu unutar RGB sustava budu blizu i u paleti, nakon čega se primjenjuje standardna LSB supstitucija. U sljedećem koraku locira se RGB boja s novo dobivenim indeksom unutar nove palete. Za kraj se dotična RGB boja identificira i u izvornoj paleti te se njen indeks u izvornoj paleti koristi kao nova vrijednost piksela.

Transformacije domena

Transformacije domena još je jedna od steganografskih tehnika, a bazira se na skrivanu podataka pomoću matematičkih funkcija koje se koriste u algoritmu kompresije. Osnovni princip je da se bitovi tajne poruke umeću na mjesto koeficijenata najmanje važnosti. Prednost ove tehnike u odnosu na tehniku LSB supstitucije je ta da ne ovisi o formatu slike, pa tajna poruka ostaje sačuvana i nakon konverzije između formata.

Maskiranje i filtriranje

Za tehnike maskiranja i filtriranja uobičajeno je da se koriste samo na 24-bitnim i crno-bijelim slikama te za umetanje digitalnog vodenog pečata. Umetnuta poruka integrirana je u nositelj na način da dodaje određenu redundanciju skrivenoj informaciji, iz čega slijedi da također pridonosi zaštiti od gubljenja umetnute informacije tijekom procesuiranja slike.

Model proširenog spektra

Modeli proširenog spektra kao steganografski nositelj koriste signal širokog spektra, a poruka koja se umeće je signal uskog spektra. Tajni podaci prostiru se preko dijelova nositelja koji imaju najveću važnost, najčešće najveći DCT (eng. discrete cosine transform) koeficijenti. Na taj način otežava se njihovo otkrivanje. Ovi modeli polaze od činjenice da se manje distorzije na slikama ili zvučnim zapisima najteže otkrivaju u dijelovima nositelja koji nose najvišu energiju. Također vrlo popularna tehnika za kreiranje digitalnog vodenog pečata.

Kvantizacija

U svakom kvantizacijskom koraku javlja se kvantizacijska greška. Za visoko korelirane signale dotični signal razlike odnosno pogreške biti će blizu nule pa se za njih može efikasno koristiti entropijski koder. Za potrebe steganografije, kvantizacijska pogreška u predvidljivoj shemi kodiranja može se iskorititi tako da signal razlike prenosi veću količinu informacije.

Binarne slike

Binarne slike (npr. podaci dobiveni faksom) sadrže određenu količinu redundancije u distribuciji crnih i bijelih piksela. Upravo ta količina idealna je za pohranjivanje tajnih informacija koristeći broj crnih piksela u određenom dijelu slike.

Steganaliza

Steganaliza je proces detektiranja steganografskih datoteka baziran na proučavanju varijacija uzoraka bitova i neobičnovelikih datoteka. Ciljevi steganalize su:

Sam proces steganalize otežava činjenica da informacije mogu biti skrivene gotovo svugdje na internetu. Ako uzmemo za primjer web stranicu, tada podaci mogu biti skriveni na sljedećim mjestima: tekst, ne-tekstualni elementi, linkovi, komentari, strukturni elementi, okviri...

Oblici napada (otkrivanja steganografije)

Tri su aktivnosti koje čine steganalitički napad. To su: detekcija, izdvajanje, onemogućavanje ili uništavanje skrivene poruke. Vrste steganalitičkog napada ovise dostupnim informacijama, pa tako postoje sljedeće vrste napada:


Parafrazirano prema: https://www.cis.hr/www.edicija/LinkedDocuments/CCERT-PUBDOC-2006-04-154.pdf

Osnovne tehnike steganalize

Najpoznatije tehnike steganalize su tehnika neobičnih uzoraka i tehnika vizualne detekcije. Svaka od njih opisana je u nastavku.

Neobični uzorci

Neobični uzorci unutar steganografskih nositelja impliciraju na potencijalno postojanje skrivene poruke unutar istih. Upotrebom raznih alata i tehnika moguće je identificirati te uzorke te otkriti što nose. Ako uzmemo za primjer skrivanje informacija unutar nekorištenih particija diska, iste možemo otkriti alatima za analizu diska. Na sličan način, korištenjem pojedinih filtera može se otkriti i skrivena poruka u slučaju skrivanja iste unutar zaglavlja TCP/IP paketa. Dodatnim pregledom teksta unutar nekog tekstualnog procesora moguće je pronaći male nepravilnosti kod razmještaja riječi i redaka ili suvišne razmake koji impliciraju na postojanje skrivene poruke. Kao što su nepravilnosti vidljive u tekstu, vidljive su i u slučaju sa slikama pri čemu se očituju u izobličenjima te varijacijama u bojama.

Vizualna detekcija

Analizom ponavljajućih uzoraka moguće je identificirati alat korišten za skrivanje informacije kao i samu informaciju. Ovakav napad bazira se na usporedbi izvorne datoteke i datoteke nositelja, a zove se napad s poznatim nositeljem. Takav način detekcije potpisa može se automatizirati korištenjem specijalnih alata za detekciju steganografije koji koristeći različite uzorke paleta i potpisa pronalaze piksele koji odstupaju od neke standardne vrijednosti u određenom dijelu slike. Osim tog, jedan od najočitijih pokazatelja postojanja prikrivene informacije unutar datoteke jest velika razlika u veličini izvorne i steganografske datoteke.

Praktični primjeri

Skrivanje teksta unutar slike

U prvom primjeru koristit ćemo tehniku korištenja LSB supstitucije spomenutu već prije. Koraci su sljedeći:

Prikažimo sada ove korake kroz slike. U prvom i drugom koraku u datoteku dodajemo željenu sliku i tekstualnu datoteku s porukom koju dodajemo u RAR arhivu desnim klikom na nju te pritiskom na Add to „tajna_poruka.rar“.

Steganografija1.png


SteganografijaCMD.png


U „Command Prompt“ potrebno je ući u kreiranu datoteku pomoću naredbe „cd“ (eng. change directory). Sada kada se nalazimo željenoj mapi možemo izvršiti treći korak spajanja slike i tekstualne datoteke. To izvršavamo naredbom copy /b nazivslike.format + nazivekstualnedatoteke.txt nazivnoveslike.format. Cijela naredba u našem slučaju izgleda ovako: copy /b armadillo.jpg + tajna_poruka.rar armadillo_copy.jpg


SteganografijaSlika.png


Možemo primijetiti da je uspješno kreirana nova slika naziva armadillo_copy.jpg kako smo i zadali. Slike su naizgled iste, međutim armadillo_copy.jpg je slika nositelj tajne poruke.

U zadnjem koraku otvaramo sliku armadillo._copy.jpg pomoću RAR-a i u njemu nalazimo našu tekstualnu datoteku s tajnom porukom.


SteganografijaTajnaPoruka.png


SteganografijaTekst.png


Izrađeno prema YouTube tutorialu: https://www.youtube.com/watch?v=VBKtCCsqAtM


Skrivanje slike unutar zvučnog zapisa

U ovom primjeru koristit ćemo se sa dva alata. Alat CoagulaLight koristit će pošiljatelj tajne poruke, a alat Audacity koristit će primatelj tajne poruke. Krenimo od pošiljatelja tajne poruke.

Otvaramo program Coagula i unutar njega otvaramo kreiranu sliku sa našom porukom.

Coagula open img.PNG

Nakon što smo otvorili sliku klikom na Render image without blue/noise renderiramo sliku bez šuma.

Coagula render.PNG

Za kraj, dobiveni rezultat spremit ćemo kao zvučni zapis u željeni direktorij.

Coagula save sound.PNG


Slika i audio file.png


Pošiljatelj je ovime obavio svoj posao i sada je red na primatelja da pročita skrivenu poruku. Primatelj je primio zvučni zapis i isti će otvoriti unutar programa Audacity klikom na File u glavnom izborniku te potom Open... kao što je prikazano na slici.


Audacity open file.PNG


Nakon uspješnog učitavanja zvučne datoteke ista je prikazana u obliku vala (eng. Waveform). Odabirom na opciju prikaza Spectogram prikazuje se poruka skrivena unutar zvučnog zapisa.


Audacity spectogram.PNG


Audacity final.PNG


Izrađeno prema YouTube tutorialu: https://www.youtube.com/watch?v=teShYhts2So

Zaključak

Pored ova dva alata koja smo mi koristili u primjerima steganografije, ima još mnogo alata koji omogućuju skrivanje informacija u raznim oblicima. Ti alati su pretežito jednostavni za uporabu što je privlačna činjenjica za nove korisnike. Prednosti steganografije nad ostalim tehnikama skrivanja informacija, kao npr. kriptografijom, je ta što steganografski nositelj tajne poruke najčešće ne privlači pažnju na sebe, dok je u kriptografiji očigledno da je poruka kriptirana. Drugim riječima, teško je prostim okom uvidjeti razlike u izvornoj datoteci i datoteci koja u sebi sadrži skrivenu poruku. Najočitiji pokazatelj toga bila bi uočljiva razlika u veličini datoteka. Riješenje toga programi su koji omogućuju proces steganalize, a isti je opisan prije.

Literatura

--Brukrneti 03:29, 18. siječnja 2018. (CET)

Osobni alati
Imenski prostori
Inačice
Radnje
Orijentacija
Traka s alatima