Umetnost skrivanja

Objavljeno: 27.6.2018 | Avtor: Matej Huš | Kategorija: Nove tehnologije | Revija: Julij-avgust 2018

Šifriranje sporočil je z razvojem računalništva in matematike napredovalo do te mere, da poznamo algoritme, za katere lahko matematično dokažemo, da so za vse praktične namene nezlomljivi. Toda včasih to ne zadostuje, saj bi želeli prikriti samo dejstvo, da sploh komuniciramo. Umetnost skrivanja informacij v vsem dostopnih na videz neškodljivih podatkih se imenuje steganografija. Uporablja se že stoletja, osebni računalniki in večpredstavnostne datoteke so ji dodali novo razsežnost, internet pa je postal idealno gojišče zanjo.

Kaj je kaj

Kriptografija je šifriranje sporočila in pošiljanje v šifrirani obliki.

Steganografija je skrivanje sporočila v drugo nedolžno sporočilo.

Vodni znak (watermark) uporabi podpis za sledenje viru informacije (npr. na splet pobeglih filmov).

Moderno šifriranje, ki je s trenutnimi računalniki lahko nezlomljivo, če ga izvedemo pravilno, ne odpravlja potrebe po steganografiji. Predstavljajte si, da doma hranite zelo dragocen nakit ali večje količine gotovine, zato kupite najboljši sef, ki ga nikakor ni mogoče ukrasti ali vanj vdreti. Vseeno tak sef pritegne precej pozornosti: sosede bo zanimalo, zakaj neki ga potrebujete, tatove, kaj neki imate v njem, država pa si utegne podrobneje ogledati vaše finance. To bi bila analogija šifriranja. Če pa dragocenosti res dobro skrijemo, tega ne bo vedel nihče. To je steganografija. Izraz izvira iz grških besed steganos (prikrit) in graphein (pisanje). Seveda lahko pristopa tudi kombiniramo, saj lahko skrijemo cel sef – podatke lahko šifriramo in potem še skrijemo s steganografijo.

Nemški opat Johannes Trithemius je leta 1499 izdal knjigo z naslovom Steganographia, v kateri je pisal o umetnosti šifriranja in skrivanja. Knjiga v treh zvezkih na videz govori o magiji in komuniciranju z duhovi, a je stoletje pozneje postalo jasno, da prva zvezka obravnavata kriptografijo in steganografijo. Petsto let pozneje so analize pokazale, da je tak tudi tretji zvezek. Steganographia ni obskurna knjiga o čarovništvu, temveč prva knjiga o kriptografiji v Evropi, ki za nameček svoje sporočilo skrije s steganografijo.

Steganografijo so v zgodovini na različne načine zelo pogosto uporabljali. Nevidno črnilo, skrita sporočila v da Vincijevih slikah, tetoviranje sporočil na obrito glavo starogrških sužnjev, čez katera so potem zrasli lasje, mikrotočke na dokumentih vohunov v drugi svetovni vojni ali vozli v Morsejevi abecedi na preji so nekateri zgodovinski primeri rabe steganografije. V vseh primerih gre za prenos informacij na način, ki ga nasprotnik ne pričakuje in zato tudi ne preverja.

Zakaj skrivati

Pogosto vprašanje je, zakaj sploh uporabljati steganografijo, če pa kriptografija podatke zanesljivo zavaruje pred nepovabljenimi pogledi. Odgovorov je več, segajo pa od zelo plemenitih do kriminalnih.

Svet ni samo Evropa, temveč tudi precej manj demokratični režimi, kjer je uporaba šifriranja lahko zelo sumljiva ali nezakonita. Šifriranje vam ne pomaga popolnoma nič, če vas režim vtakne v zapor in muči, dokler ne izdate kode. Vse do leta 2000 je bil izvoz programske opreme za močno šifriranje prepovedan celo iz ZDA. Številne države se poigravajo z zamislijo, da bi prepovedale močno šifriranje brez stranskih vrat v programih za hipno komuniciranje.

Steganografijo uporabljajo tudi hekerji, da zlonamerno programsko kodo spravijo mimo protivirusnih programov in požarnih zidov. Kadar želijo krasti podatke iz zaščitenih sistemov, morajo to storiti skrivaj. Prenos velike šifrirane datoteke iz banke bo takoj sprožila varnostne alarme, zato morajo podatke neopazno prenesti prek omrežja.

Baconova šifra

Eden najstarejših načinov skrivanja informacij v besedilo je uporaba Baconove šifre, ki jo je Francis Bacon razvil leta 1605. Če imamo na voljo dvoje različnih pisav, lahko sporočilo skrijemo v povsem običajno besedilo tako, da različne črke zapišemo z eno ali drugo pisavo. Bacon je pokazal, kako lahko besedilo razkosamo v skupke petih črk, tako da vsak tak skupek kodira eno črko skrivnega besedila. V petih znakih lahko z dvema različnim pisava shranimo 32 (2^5) bitov informacij, torej dovolj za zapis z latinično abecedo.

Uspešnost tega početja je odvisna od tega, kako različni sta pisavi. Na primer vzamemo lahko eno serifno in eno neserifno (serifi so tisti zaključki na koncu črk v besedilu, ki omogočajo lažje branje, medtem ko so naslovi običajno natisnjeni brez njih). Če sta pisavi zelo podobni, tvegamo izgubo informacije ob reprodukciji sporočila, če pa sta zelo različni, bo že na daleč vidno, da je s sporočilom nekaj narobe. K Baconovi šifri se bomo še vrnili.

Bacon je leta 1605 predlagal način za skrivanje informacij v besedilo z dvema pisavama.

Digitalna steganografija

Skrivanje informacij v besedilo je težavno, ker ima tekst zelo malo nepotrebne in dodatne informacije (redundance). Poskusimo lahko s spreminjanjem oblike pisave (Baconova šifra) ali z vsebinskim posegom v besedilo, kar pa je zapleteno. K sreči so računalniki z večpredstavnostnimi datotekami (slike, zvok, videoposnetki) poskrbeli za idealne steganografske medije. Vse te vrste datotek imajo ogromno redundance, kamor lahko skrijemo sporočila.

Steganografija popularna med pisci virusov

Lansko poročilo o varnosti, ki ga je izdal McAfee Labs, kaže na povečanje rabe steganografije v internetnih napadih. Virus Duqu iz leta 2011 je bil prvi internetni napad, ki je za komunikacijo uporabljal steganografijo, ko je podatke skrival v JPG-datoteke. Od tedaj steganografija čedalje popularnejša, saj jo uporablja čedalje več virusov in drugega malwara. Veliko virusov redno preverja Twitter, kjer lahko upravljavci v navidezno neškodljivih objavah izdajajo ukaze.

Stegoanaliza je tehnika iskanja skritih sporočil ali vsaj njihovega obstoja. V nasprotju s kriptoanalizo tu ne vemo, ali ima neki vzorec skrito sporočilo ali ne. Pristop je zato statističen. Običajno analiziramo večjo količino varnih datotek iz enakega vira (npr. posnetih z istim fotoapratom) in potem analiziramo, ali neznana datoteka statistično pomembno odstopa v katerem od parametrov. Preproste steganografske metode povzročajo statistično značilne napake, zato jih lahko odkrijemo. Tiste naprednejše pa je zelo težko najti.

Zato se problem rešuje na drugem koncu. Zagotoviti je treba, da programska oprema prihaja iz varnih virov (uradni repozitoriji), izvajati podrobno analizo sumljivih datotek (zlasti slikovnih), biti pozoren na steganografsko programsko opremo in nadzorovati spletni promet. Steganografija je tako trdovratna, ker ni tehnologija, temveč koncept z milijonom različnim implementacij.

Klasičen primer so fotografije, ki jih sestavlja množica (milijon in več) točk oziroma pikslov. Vsaka točka ima informacijo o barvi, ki jo za običajne barvne slike podamo s 24 biti. Če spremenimo en bit, bo fotografija ostala skoraj enaka, saj bo le minimalno drugačen odtenek ene točke. Ker fotografije običajno niso popolne in ker algoritmi za stiskanje z izgubo (npr. JPEG) vedno poskrbijo za popačitev, rahlo deformirane fotografije niso sumljive.

Tehnično lahko podatke v fotografije skrivamo na več načinov: v prostorski domeni (spreminjanje vrednosti točk), frekvenčni domeni (frekvenčna transformacija fotografije), s popačitvijo (zato za razvozlanje sporočila potrebujemo tudi originalno fotografijo) in z maskiranjem ali s filtriranjem (spreminjanje svetlosti ipd.). V vseh primerih je osnovna premisa enaka: rahlo spremenjena fotografija ni sumljiva.

Zelo podobno deluje tudi steganografija na zvočnih datotekah in videoposnetkih. Vedno kadar imamo algoritem za stiskanje z izgubo, kar sta zvok in video pravilo, bo steganografija enostavna. Vsaka datoteka bo namreč »defektna«, zato dodatne distorzije zaradi steganografije niso opazne.

Steganografija je umetnost skrivanja informacij v neškodljive datoteke.

V sliko lahko podatke skrijemo tako, da spremenimo najmanj pomembne barvne bite, kar skoraj ne vpliva na podobo slike.

Omrežna steganografija

Še en zelo zanimiv vektor za skrivanje podatkov so omrežni protokoli. Pri klasični steganografiji podatke skrijemo v digitalni medij (npr. sliko), ki ga prenašamo. Omrežna steganografija, kot jo je leta 2003 poimenoval Krzysztof Szczypiorski, čeprav sega sam koncept v 80. leta, pa izkorišča dejstvo, da imajo omrežni protokoli veliko redundance. Paketki, s katerimi se prenašajo informacije, imajo glavo ter niz prometnih in servisnih podatkov, ki skrbijo za pravilno delovanje. Podatke je zato mogoče skrivati v kontrolne elemente protokola ali v samo logiko protokola.

Možnosti je veliko. Manipuliramo lahko podatke na katerikoli izmed sedmih plasti, ki sestavljajo moderne telekomunikacijske protokole (fizična, povezovalna, mrežna, prenosna, sejna, predstavitvena, aplikacijska plast). Spreminjamo lahko vsebino, zaporedje ali časovni zamik med posameznimi deli paketkov.

Skrivnostni nagrobnik

Na pokopališču v Arlingtonu v ameriški prestolnici sta pokopana tudi William in Elizabeth Friedman, ki sodita med najpomembnejše strokovnjake za kriptografijo v zgodovini. Po Williamovi smrti je njegova žena na nagrobnik vklesala napis Znanje je moč (Knowledge is power). Šele pogled zelo od blizu razkrije, da niso vse črke enake. Nekatere imajo serife, druge pa ne. V resnici piše knowledge is power, kar po Baconovi šifri pomeni WFF – William F. Friedman.

Napis na grobu Friedmanovih vsebuje skrito sporočilo. Slika: Klaus Schmeh

Zaradi svoje popularnosti se je najpogosteje uporabljal TCP/IP, v modernih časih pa se fokus seli v aplikacije. Skype in BitTorrent sta idealna kandidata za prikrito komunikacijo. Vsi ti načini so zelo učinkoviti, ker stegoanaliza (iskanje skritih sporočil) največkrat analizira podatke (datoteke), ne pa minljivih podrobnosti v izvedbi protokola.

FontCode

Poglejmo še en primer moderne steganografije, ki so ga letos razvili raziskovalci na univerze Columbia. Pokazali so, kako je mogoče podatke skriti kar v besedilo. Vzeli so enako zamisel kot Bacon in jo dodelali v skladu z zmožnostmi moderne tehnologije. Pristop so poimenovali FontCode in deluje z vsemi najpriljubljenejšimi pisavami (Times New Roman, Helvetica itd.).

FontCode deluje tako, da informacijo skrije v drobno popačitev črk. Ta ni tako očitna, kot bi bila pri zamenjavi pisave, je pa zadostna za zaznavo. Spreminjajo višino črk, obliko serifov, debelino potez, krivulje ipd. Od Baconove šifre, ki je v znanstvenem članku sploh ne omenijo, kar avtorjem štejemo v zlo, se pristop razlikuje v kompleksnosti, saj so popačitve črk manjše, drugačen pa je tudi algoritem za določanje, katere moramo popačiti in kako. Za zaznavanje teh res majhnih sprememb so izurili nevronsko mrežo, hkrati pa je algoritem tak, da je informacijo moč rekonstruirati tudi če četrtino popačitev napačno preberemo.

Različni načini popačitve črke a v FontCodu. Slika: Columbia University

Kot pojasnjuje vodilni avtor raziskave Čangši Dženg, ima FontCode več možnosti uporabe. Ni nujno, da vedno želimo na skrivaj prenašati podatke. Včasih želimo v besedilo, ki je prvenstveno namenjeno človeškim očem, dodati še informacijo za računalnike. Namenske QR-kode, ki to odlično opravljajo, so pač vidne in moteče. Če bi isto informacijo stlačili v besedilo, bi bil končni izdelek očesu prijetnejši, obstoj skrivnega sporočila pa neznan. Hkrati FontCode podpira tudi šifriranje, tako da je lahko izdelek odporen tudi za odkritje steganografije.

Kako FontCode skriva informacijo v besedilo. Slika: Columbia University.

Steganografija je povsod

Ob tem moramo priznati, da FontCode ni prva izvedba steganografije v besedilu. Znani so primeri, ko so podatki skriti v spreminjajočo se širino presledkov in druge vizualne manipulacije z besedilom. Glavni prednosti FontCoda sta inteligentnejši algoritem in uporaba nevronskih mrež pri iskanju sporočila, kar prinaša določeno mero odpornosti za napake pri prenosu.

V resnici pa bo steganografija na tak ali drugačen način postajala čedalje pomembnejša. V svetu, kjer računska moč nezadržno raste, je včasih skriti ravno tako pomembno kot zaščititi. In ker steganografija ni tehnologija, ampak koncept, je ne moremo izkoreniniti ali ukalupiti.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!
Prijava

ph

Komentirajo lahko le prijavljeni uporabniki