2017/09/13

Titok 1 - Szteganográfia bitmapre

Ok-ok, már az ókorban ugye... Disclaimer: a bejegyzésben a kriptográfria és a steganográfia  össze fognak olykor mosódni. Kéretik a helyükön értelmezni. 

Bizalmas információt sokfelé el lehet rejteni egy hírvivőn, pl. lenyeletni a futárral, lám Henri Charrière, a Pillangó is retikülnek használta a végbelét. Vagy simán csak bemagoltatni a futárral valami hülye archaikus szöveget. Hérodotoszék korában kifejezetten ráérősek lehettek, ugyanis a rabszolga fejére tetováltatták az üzenetet, majd figyelték, hogy nő(l) a haja. A modern korban sokkal gyorsabban lehet titkot továbbítani és az a trükk, hogy a hírvivő fileokat sokkal nehezebb vallatni, nem elég hozzá a hóhéri brutalitás, kell némi intelligencia is. 

A láthatatlan tintás módszert például minden gyermek ismeri. Mi leginkább citromlevet használtunk, bár nem tudom honnét szereztünk, mert akkoriban még kenyeret is csak bonra lehetett venni, pláne nem lehetett kapni fluoreszkáló festékeket, amit azóta a bankszektor is használ. Spéci előhívóra reagáló titkos tintáink sem voltak, cserébe saját írásjeleket használtunk Hatalmas Összeesküvéseink leplezésére, de ez többnyire megbukott azon, hogy beavatott elvtársaink lusták voltak megtanulni az írásjeleket. 

Aztán van olyan titkosítás is, amit álprüdériából kifejezetten motivátorként használnak. Felhívás a megfejtésre. A szöveges szteganográfia amúgy is egy jó móka, s ha már meghivatkoztuk az imént Lúcia pogány farának recsegős bumbummját, ímé itt egy másik Janus-versbe kódolt titkos üzenet a szóközökbe kódolva, bocsesz a béna tördelésért, de átalakítva nem működne a dolog:

ISMÉT ORSOLYA MINDZSÓJÁRÓL      
Mint amilyen magasan nyúlik föl az
égbe Olympus,  
 kétszer olyan mélység nyílik öledben  
elém.  
Ekkora barlangot nem ugatna be       
Cerberus, és nem  
foghatná be kilenc ággal a Styx vize
sem.       
Váltani testvérét nem húzná semmi ki
Castort,
s Alcidest sem erő, s ének a Tráciait.
Hogyha a Főisten, ki felülről szórja a    
három-       
csúcsú s cyklopsok-verte tüzes    
nyilakat,       
ismeri ezt a lyukat, nyilván a  
gigászokat ebbe  
szórja, ahogy Coeust és Iapetust is  
ide.
És ha Apolló ismeri már, Tityust ide
zárja:  
újra-növő máját tépje a saskeselyű.  
Plutó is szivesen látná itt annak az  
ötven-    
torkú kígyónak tátogató fejeit.  
Ám, ha az összes szörny itt  
egybeszaladna is, órjás
mindzsód félig sem lenne velük,
kicsikém.
Na jó, ez így nem fair, adok hozzá kicsikanalat is. Úgyse fejtitek meg. Ugyanitt a spam-mimikri is egy csodálatos ötlet.

Ha neten utánanézel a képekben elrejthető információknak, nyilván a legbanálisabból találsz a legtöbbet. Könnyen belátható, hogy egy lossless képállományban helyezhető el legegyszerűbben a tartalom, ugyanakkor ezek a módszerek a legkevésbé alkalmasak megtéveszteni a gyanakvókat. Mindenesetre, mivel a JPEG fileformátum szerkezetébe már egyszer beletörött Grimpix bicskája, azért megnéztük, miről is szól egy mezei BMP. Készítettünk tehát egy 2x2 pixeles bitmappet és a BMP wiki szócikk alapján dekonstruáltuk annak tartalmát hexeditorral. Nem egy nagy cucc, az ábra mutatja mire lehet számítani egy ilyen állományban.

Ha a színezés nem tenné egyértelművé melyik byte mit kódol, akkor a wiki alapján értelmezhető.

A legprimitívebb módszer, hogy simán a file végére odaírjuk, amit szeretnénk. A képnéző szoftvereket nem fogja zavarni, hogy a kódolt fileméret nem egyezik a valóságossal, simán megjeleníti a képet, hexeditorban pedig feltárul az üzenetünk is.
Az fenti amanitás képet letöltve még az exiftool sem fogja jelezni, hogy üzenetet rejtettünk el benne. Viszont megmutatom mi látszik hexeditorban a file végén, mert úgyse fogjátok magatoktól megnézni, az fix, * UPDATE ráadásul a google a fenti BMP-met úgy átalakította JPG-nek mint a pinty.

Gyakorlatilag még hexeditor sem szükséges, a szöveg hozzáadása elvégezhető command promptból is a copy /b parancs segítségével. Nem nagy varázslat. Ha csak Kovács Jánosnénak kell ezt elküldeni, úgy, hogy Kovács János ne vegye észre az idillt, akkor mondjuk megteszi, bár azért a szöveget nem ártana még rejtjelezni is valamivel, de egy felszarvazásnál komolyabb konspirációra azért már ne nagyon használjátok. Meg aztán ki olyan hülye, hogy manapság BMP-ben küldözgeti a cicis cicás képeket, vagy a szelfiket, mi?

Egy másik érdekes BMP módszer, aminek a megtekintését senkinek sem spórolnám meg, mert segítheti a layerek összhatásának megértését, azon alapul, hogy az elrejtendő tartalmat Index módban néhány (pl. 8) színre redukálja, majd ezen végzett zsonglőrködéssel eléri, hogy gyakorlatilag egyszínűnek tűnjön a kép, de azért mégis őrizze a 8 tónust. Pl. osztja tízzel mind a 8 index-szín RGB értékeit, ettől nettó feketének tűnik a payload, de egy-két bit eltérés mégis megmarad a tónusok között.

Az oldalsó ábrán tehát a legfölső kép a carrier, az alatta levő a payload, amit Grimpixet ábrázolja és preparáltuk 8 színre.

Ezután a payloadot a carrierre tesszük layerként és Difference összhatást alkalmazunk. A bökkenő az, és erre nem tér ki a videóban a kolléga, viszont látszik, hogy olyan példafotókat választott amelyekkel jól működik a módszere, hogy kontrasztos payload esetén, kevesebb átvihető tónussal kell megelégedni, illetve kevés részletet, nagy homogén felületeket tartalmazó carrier nem használható. Jól megfigyelhető Grimpix szeme a harmadik képen, ahogyan átfigyel a narancssárga párán.

Bár a képen észrevehető, hogy valami trükk van vele, a visszafejtés csak az eredeti carrier birtokában (kulcs) lehetséges, ugyancsak a Difference összhatás alkalmazásával. A visszakapott majdnem fekete payloadot ezután Auto Contrasttal, vagy Levels segítségével lehet ismét értékelhetővé rugdosni.

Ám a visszakódolásnál is lehet gubanc, ugyanis amennyiben a carrier hasonló tónusokat tartalmazott mint a payload, ott a visszaállítás hiányos lehet, ez történt a legalsó képen, Grimpix fotója sérült a templom megegyező tónusa miatt.

Bár a módszer érdekes, tekintve, hogy csak BMP-re működik, illetve a fent említett nehézségek miatt, ugyancsak használhatatlan. A téma folytatódik a combosabb JPG-re is működő szteganográfiával, addigis bárki hozzáfűzheti mondandóját, mert mi is csak most mélyedünk el a témában. 

Nincsenek megjegyzések:

Megjegyzés küldése