tévék. Konzolok. Projektorok és tartozékok. Technológiák. Digitális TV

Szteganográfia: adatok elrejtése JPEG-ben. A modern nyomtatókban. Információkódoló algoritmus

Szerintem mindenki hallott már legalább egyszer a szteganográfiáról. A szteganográfia (τεγανός - rejtett + γράφω - írok, szó szerint „rejtett írás”) interdiszciplináris az átadás tudománya és művészete rejtett adatok, mások belsejében, nem rejtett adat. A rejtett adatokat általában ún stego üzenetés az azt tartalmazó adatokat stego üzenet hívott tartály.

A Habrahabrról sok különböző cikk jelent meg konkrét algoritmusokról információs szteganográfia, például DarkJPEG, „TCP szteganográfia”, és természetesen a kurzustervezés során minden hallgató által kedvelt „LSB algoritmus” (például LSB szteganográfia, szteganográfia GIF-ben, futtatható.net kód kotfuszkálása)

Számtalan szteganográfiai módszer létezik. E cikk írásakor már legalább 95 szteganográfiai szabadalmat tettek közzé az Egyesült Államokban, és legalább 29 szabadalmat tettek közzé Oroszországban. Leginkább a szabadalom tetszett Kursh K.És Lav R. Varchney "Élelmiszer szteganográfia"("Élelmiszer szteganográfia", PDF)

Egy kép egy „élelmiszer” szabadalomból a figyelem felkeltésére:

A szteganográfiával foglalkozó cikkek és munkák tisztességes számának elolvasása után azonban szerettem volna rendszerezni az ezen a területen szerzett ötleteimet és ismereteimet. Ez a cikk tisztán elméleti és a következő kérdéseket szeretném megvitatni:

  1. A steganográfia céljai- valójában három van belőlük, nem egy.
  2. Gyakorlati alkalmazás szteganográfia- 15-öt számoltam.
  3. A szteganográfia helye a XXI- Technikai szempontból ezt hiszem modern világ már készen van, de "társadalmilag" A steganográfia még mindig „lemaradt”.

Megpróbáltam összefoglalni a kutatásomat ezt a kérdést. (Ez azt jelenti, hogy sok a szöveg)
Ésszerű kritikát és tanácsot remélek a habro közösségtől.

A steganográfia céljai

Cél egy absztrakt feladat, amelyre vonatkozóan tudományos elméletet és módszertant dolgoznak ki e cél elérésére. Nem kell összezavarodni célÉs alkalmazás. Cél rendkívül elvont, ellentétben alkalmazásokat.

Ahogy korábban mondtam, a szteganográfiában három cél van.

Digitális ujjlenyomat (digitális ujjlenyomat)

Az ilyen típusú szteganográfia jelenlétet jelent különféle szteganográfiai üzenetcímkék ehhez minden példányt tartály. Például a CO-k alkalmazhatók egy kizárólagos jog védelmére. Ha valamilyen algoritmus segítségével az ellenfél képes kinyerni a CO-t a tartályból, akkor lehetetlen azonosítani az ellenséget, de amíg az ellenfél nem tanulja meg a CO hamisítását, addig nem tudja észlelés nélkül szétosztani a védett tartályt.

Így a CO kinyerésekor egy harmadik fél (azaz egy ellenfél) két célt követhet:

  1. a központi fűtőegység eltávolítása a tartályból ( "gyenge célpont");
  2. egy központi fűtési központ cseréje egy másik központi fűtési központtal ( "erős cél").

A CO-ra példa az elektronikus könyvek értékesítése (például *.PDF formátumban). Amikor fizet egy könyvért, és elküldi a címzettnek, megteheti *.pdf az e-mailekkel kapcsolatos információk beillesztése; IP; a felhasználó által megadott adatok stb. Természetesen ezek nem ujjlenyomatok vagy DNS-elemzések, de látod, ez jobb, mint a semmi. Talán Oroszországban az eltérő kultúra és a kizárólagos jogokhoz való eltérő, történelmileg kialakult attitűd miatt a szteganográfia ilyen alkalmazása irreleváns; de például Japánban, ahol a torrentfájlok letöltése börtönbüntetést vonhat maga után, valószínűbb a szteganográfiai központok alkalmazása.

Szteganográfiai vízjelek (SVZ) (Stego Watermarking)

A CO-val ellentétben az SVZ jelenlétet jelent azonos címkék ehhez minden példányt tartály. Különösen az SVZ használható a szerzői jogok megerősítésére. Például, ha videokamerával rögzít, minden képkockába beleszúrhat információkat a felvételi időről, a videokamera modelljéről és/vagy a videokamera kezelőjének nevéről.
Ha a felvétel egy versengő cég kezébe kerül, megpróbálhatja az SVZ segítségével megerősíteni a felvétel szerzőségét. Ha a kulcsot titokban tartják a kamera tulajdonosa előtt, akkor az SVZ segítségével ellenőrizheti a fotók és/vagy videoképek hitelességét. Egyébként kollégánk az üzletben, Dmitrij Vitalievics Sklyarov, sikeresen megszakította a szteganográfiát egyes Canon fényképezőgép-modelleken. A probléma valójában hardveres volt, Dmitrij Vitalievics nem nyúlt magához a paplanhoz, ennek ellenére szteganográfiailag „bizonyította” Sztálin hitelességét az iPhone-nal.

Fotó Sztálinról iPhone-nal, D. V. Sklyarov (megfelelő SVZ-vel)


Rejtett adatátvitel (SDT)

Ez az Aeneas Tacticus (Αινείας ο Τακτικός, lásd egyszerű szteganográfiai technikákat tartalmazó munkáját:) óta ismert szteganográfia „klasszikus” célja. A feladat az adatok továbbítása, hogy az ellenség ne vegye észre, hogy az üzenet megjelent.

A szteganográfiának szentelt modern orosz nyelvű művekben ezt a kifejezést gyakran használják DWW (digitális vízjelek). Ez a kifejezés SVZ-t vagy központi fűtési központot jelent. (És néha SVZ és DH egyszerre, sőt egy cikkben!) Ennek ellenére a DH és SVZ implementációja során a felmerülő problémák és feladatok alapvetően mások! Valóban, SVZ minden példányon elektronikus dokumentum ugyanaz, de a CO minden dokumentummásolaton eltérő. Emiatt pl. összeesküvés támadás alapvetően lehetetlen az SVZ-ben! Legalább emiatt különbséget kell tenni az SVZ és a CO között. Nyomatékosan ajánlom mindenkinek, aki a szteganográfia területén fog dolgozni, hogy ne használja beszédében a digitális aláírás kifejezést.

Ez a kézenfekvőnek tűnő ötlet még mindig zavart okoz sokakban. Hasonló álláspontot fogalmaztak meg az SVZ és a CO megkülönböztetésének szükségességéről olyan szűk körökben ismert „szteganográfusok”, mint Cachin, Petitcolas, Katzenbeisser.

E három cél mindegyikéhez ki kell dolgozni a saját kritériumait a szteganográfiai rendszer erősségére és formális információelméleti modelleket ezek elérésére, mert A szteganográfia használatának jelentése más. Az SVZ és a CO közötti alapvető különbséget fentebb írtuk. De talán van értelme az SPD-t a központi fűtéssel vagy az SVZ-vel kombinálni? Nem! A lényeg az, hogy az SOP jelentése az maga a rejtett adatátvitel, valamint a CO és az SVZ védelmet szolgálnak maga a tartály. Ráadásul a CO vagy az SVZ létezésének ténye nem biztos, hogy titkos, ellentétben az SPD legtöbb feladatával. Ebből az okból kifolyólag annak a lehetőségéről beszélni, hogy a legtöbb gyakorlati probléma központi vagy központi irányítása érdekében tökéletes sztegoszisztémát lehet létrehozni (Cachen szerint), nincs gyakorlati értelme.

4. A kizárólagos jog védelme (PR)

Egy lehetséges alkalmazás a Holographic Versatile Disc (HVD). (Van azonban olyan álláspont, hogy ez a technológia kezdetben „halva született”) A jelenleg fejlesztés alatt álló HVB-k patrononként akár 200 GB adatot is tartalmazhatnak. Ezeket a technológiákat a televíziós és rádiós műsorszolgáltató cégek feltehetően video- és hanginformációk tárolására használják. A CO-k jelenléte ezeknek a lemezeknek a korrekciós kódjaiban elsődleges vagy kiegészítő eszközként használható a licencjogok védelmére.

Egy másik példa, ahogy korábban írtam, az online értékesítés információs források. Ez lehet könyv, film, zene stb. Minden másolatnak tartalmaznia kell a személyazonosításra szolgáló CO-t (legalábbis közvetve), vagy egy speciális jelölést, amely ellenőrzi, hogy licencelt példány-e vagy sem.

Ezt a célt az amazon.com cég 2007-2011-ben próbálta megvalósítani. Idézet arttytól az amazon.com-on található „Mp3 fájlok védelme” című cikkéből:

Oroszul: a letöltött fájl egyedi vásárlási azonosítót, a vásárlás dátumát/időpontját és egyéb információkat (...) fog tartalmazni.

Ezeket a kompozíciókat nem lehetett közvetlenül letölteni (az Amazon esküszik, és azt mondja, hogy csak az Egyesült Államokban tudja eladni). Meg kellett kérdeznem az amerikai barátaimat, és egy idő után ugyanaz a dal volt a kezemben, de két különböző ember töltötte le egymástól függetlenül, különböző Amazon fiókokból. A fájlok pontosan ugyanúgy néztek ki, a mérete bájtig azonos volt.

Hanem mert Az Amazon azt írta, hogy minden mp3-ban tartalmaz egy letöltési azonosítót és néhány egyéb adatot. Úgy döntöttem, hogy apránként ellenőrizem a két meglévő fájlt, és azonnal különbségeket találtam.

5. Szerzői jogvédelem (CPR)

IN ebben az esetben A tartalom minden példánya egy jellel védett. Ez lehet például egy fénykép. Ha egy fényképet a fotós engedélye nélkül tesznek közzé, mondván, hogy nem ő a szerzője, a fotós szteganográfia segítségével kísérelheti meg igazolni szerzőségét. Ebben az esetben minden fényképnek tartalmaznia kell információt a kamera sorozatszámáról és/vagy bármely más olyan adatról, amely lehetővé teszi a fénykép „összekapcsolását” egyetlen kamerához; és a fényképezőgépen keresztül a fotós megpróbálhatja közvetve bizonyítani, hogy ő a fénykép szerzője.

6. A dokumentumok hitelességének védelme (POA)

A technológia ugyanaz lehet, mint a szerzői jogi védelem. Csak ebben az esetben a szteganográfiát nem a szerzőség, hanem a dokumentum hitelességének megerősítésére használják. A CVZ-t nem tartalmazó dokumentum „nem valósnak” minősül, pl. hamisítvány. A fentebb már említett Dmitrij Sklyarov az ellenkező problémát oldotta meg. Sebezhetőséget talált egy Cannon kamerában, és képes volt meghamisítani a Sztálinról készült fotó hitelességét egy iPhone-nal.

7. Egyéni ujjlenyomat az EDMS-ben (CO)

IN elektronikus dokumentumkezelő rendszer(EDMS) egyéni ujjlenyomatot használhat a *.odt, *.docx és más dokumentumokban, amikor a felhasználó velük dolgozik. Ehhez speciális alkalmazásokat és/vagy illesztőprogramokat kell írni, amelyek telepítve vannak és futnak a rendszeren. Ha ez a feladat befejeződött, akkor használja egyéni ujjlenyomat azonosítható lesz, hogy ki dolgozott a dokumentummal és ki nem. Persze ebben az esetben hülyeség a szteganográfiát szabni az egyetlen kritériumnak, de hogyan további tényező a dokumentummal dolgozó résztvevők azonosítása hasznos lehet.

8. Vízjel a DLP rendszerekben (SVZ)

A szteganográfia használható információszivárgás megakadályozása(Data Leak Prevention, DLP). Ellentétben egyéni ujjlenyomat az EDMS-ben, a szteganográfia ezen alkalmazásában a bizalmas jellegű dokumentum létrehozásakor egy bizonyos jelölést kell beilleszteni. Ebben az esetben a címke nem változik, függetlenül a dokumentum másolatainak és/vagy revízióinak számától.

A címke eltávolításához kulcsra van szükség. A stegokeyt természetesen titokban tartják. A DLP-rendszer a dokumentum külső jóváhagyása vagy kiadásának megtagadása előtt ellenőrzi a vízjel meglétét vagy hiányát. Ha a jel megvan, akkor a rendszer nem teszi lehetővé a dokumentum rendszeren kívüli küldését.

9. A vezérlőjel rejtett átvitele (SPT)

Tegyük fel, hogy a fogadó valamilyen rendszer (például műhold); a feladó pedig az operátor. Ebben az esetben a szteganográfia használható bármilyen vezérlőjel továbbítására a rendszerhez. Ha a rendszer különböző állapotú lehet, és azt akarjuk, hogy az ellenség észre se vegye, hogy a rendszer egy másik állapotba került, használhatjuk a szteganográfiát. Ha csak titkosítást használunk, szteganográfia nélkül, az ellenségnek információt adhat arról, hogy valami megváltozott, és nemkívánatos cselekedetekre késztetheti.

Azt hiszem, senki sem vitatja, hogy a katonai szférában ez a feladat hihetetlenül releváns. Ez a feladat a bűnszervezetek számára is releváns lehet. Ennek megfelelően a bűnüldöző szerveknek fel kell fegyverkezniük egy bizonyos elmélettel ebben a kérdésben, és elő kell segíteni a programok, algoritmusok és rendszerek kifejlesztését a szteganográfia e használatának megakadályozására.

10. Szteganográfiai botnet hálózatok (SBN)

Hogy pedáns legyek, ez az alkalmazás különleges esetnek tekinthető a vezérlőjel rejtett átvitele. Úgy döntöttem azonban, hogy ezt az alkalmazást külön kiemelem. Kollégám innen TSU küldött nekem néhány nagyon érdekes cikket Shishir Nagaraja, Amir Houmansadr, Pratch Piyawongwisal, Vijit Singh, Pragya AgarwalÉs Nyikita Boriszov"és "Stegobot: egy rejtett közösségi hálózati botnet". Nem vagyok a botnet hálózatok szakértője. Nem tudom megmondani, hogy ez egy szar vagy egy érdekes funkció. Csak a habra közösség véleményét fogom hallani!

11. A továbbított információ (CO) megbízhatóságának megerősítése.

A stego üzenet ebben az esetben olyan adatokat tartalmaz, amelyek megerősítik a továbbított konténeradatok helyességét. Példaként ez lehet egy ellenőrző összeg vagy egy hash függvény (kivonat). Az érvényesség ellenőrzése akkor releváns, ha az ellenfélnek szüksége van a konténeradatok meghamisítására; ezért ezt az alkalmazást nem szabad összetéveszteni dokumentum-hitelesség-védelemmel! Például, ha egy fényképről beszélünk, akkor a hitelesség védelme annak bizonyítéka, hogy ez a fénykép valódi, nem hamisított Photoshopban. Úgy tűnik, hogy megvédjük magunkat magától a feladótól (jelen esetben a fotóstól). Ha a hitelesség megerősítést nyer, meg kell szervezni a harmadik felekkel szembeni védelmet (man in a középső), amely képes adatokat hamisítani a küldő és a címzett között.

Ennek a problémának számos klasszikus megoldása van, beleértve a kriptográfiai megoldásokat is. A probléma megoldásának másik módja a szteganográfia használata.

12. Funkspiel („Rádiójáték”) (SPD)

A Wikipédiából:

A Funkspiel definíciója

Rádiójáték (a német Funkspiel nyomkövető példánya – „rádiójáték” vagy „rádiójáték”) – a 20. századi hírszerzés gyakorlatában a rádiókommunikáció használata az ellenséges hírszerző szervek félretájékoztatására. Egy rádiójátékhoz gyakran használnak egy rádiós operátort vagy kettős ügynököt, akit a kémelhárítás elfogott és megtért. A rádiójáték lehetővé teszi egy megsemmisült vagy soha nem létező hírszerző hálózat tevékenységének szimulálását (és ezzel csökkenti az ellenség aktivitását új hírszerző tisztek küldésében), dezinformáció továbbítását az ellenség felé, információkat szerezhet hírszerző szerveinek szándékairól, és elérheti. egyéb hírszerzési és elhárítási célok.

A felderítési műveletek tervezésekor figyelembe vették a meghibásodás lehetőségét és az azt követő rádiójátékot. A rádiógramon előre meghatározták a különféle jeleket, amelyek jelenlétéből vagy hiányából érteni lehetett, hogy a rádiós az ellenség irányítása alatt dolgozik.

Stego üzenet ebben az esetben olyan adatokat tartalmaz, amelyek jelzik, hogy érdemes-e elfogadni az információt tartály komolyan. Ez lehet valamilyen hash függvény is, vagy egyszerűen egy előre beállított bitsorozat. Az átvitel kezdési időpontjának hash függvénye is lehet (ebben az esetben, hogy a küldő és a címzett közötti idő-deszinkronizálás problémáját kiküszöböljük, az időt percek vagy akár órák pontossággal kell felvenni, nem pedig másodperc vagy ezredmásodperc pontossággal).

Ha a stego üzenet ellenőrzése sikertelen, a címzettnek figyelmen kívül kell hagynia a tárolót, függetlenül annak tartalmától. Ebben az esetben a szteganográfia használható az ellenség félretájékoztatására. Például a tároló lehet egy kriptográfiai üzenet. Ebben az esetben a küldő félre akarva vezetni az ellenséget, valamilyen, az ellenség által ismert, kompromittált kriptográfiai kulccsal titkosítja az adatokat, és a stego üzenettel megakadályozza, hogy a címzett hamis tárolót fogadjon el.

Tegyük fel, hogy az ellenség képes elpusztítani a CO-t. Ebben az esetben funkspiel a feladó érdekei ellenében használható fel. A címzett anélkül, hogy megtalálná a címkét, nem hagyja figyelmen kívül a kapott tárolót. Talán néhány gyakorlati döntésben ésszerű funkspiel együtt használni a hitelesség megerősítése. Ebben az esetben minden olyan információt figyelmen kívül hagyunk, amely nem tartalmaz megbízhatósági jelölést; és ennek megfelelően egy rádiójátéknál egyszerűen nem szabad beletenni a címkét az üzenetbe.

13. Az információ elidegeníthetetlensége (INI)

Számos olyan dokumentum van, amelynél fontos az integritás. Ezt az adatok biztonsági mentésével lehet megtenni. De mi a teendő, ha olyan formájú dokumentumokra van szükség, hogy lehetetlen elválasztani egy információt a többi információtól? Ilyen például az orvosi fényképek. A megbízhatóság érdekében sok szerző javasolja a páciens nevére, vezetéknevére és egyéb adataira vonatkozó információk feltüntetését a képeken. Lásd például Stefan Katzenbeisser és Fabien A. P. Petitcolas "Információs elrejtési technikák a steganográfia és a digitális vízjelek számára" című könyvét:

Kivonat a szteganográfia orvosi alkalmazásáról. az "Információrejtés technikái a steganográfia és a digitális vízjelek készítéséhez" című könyvből

Az egészségügyi ipar és különösen az orvosi képalkotó rendszerek profitálhatnak az információrejtő technikákból. Olyan szabványokat használnak, mint a DICOM (digitális képalkotás és kommunikáció az orvostudományban), amely elválasztja a képadatokat a felirattól, például a beteg nevét, dátumát és orvosát. Néha elveszik a kapcsolat a kép és a páciens között, így a beteg nevének beágyazása a képbe hasznos biztonsági intézkedés lehet. Továbbra is nyitott kérdés, hogy ez a jelölés hatással lenne-e a diagnózis pontosságára, de Cosman et al. Felfedve, hogy a veszteséges tömörítésnek csekély hatása van, higgyük el, hogy ez megvalósítható. Az egészségügyi ágazattal kapcsolatos másik feltörekvő technika az üzenetek DNS-szekvenciákba való elrejtése. Ezt fel lehetne használni a szellemi tulajdon védelmére az orvostudományban, a molekuláris biológiában vagy a genetikában.

Hasonló érveket lehet felhozni a modern csillagászatról is. Íme egy idézet Vladimir Georgievich Surdin orosz csillagásztól ( link a videóhoz):

Irigylem azokat, akik most lépnek be a tudományba. Az elmúlt 20 évben mi [csillagászok] általában megjelöltük az időt. Most azonban megváltozott a helyzet. Több, teljesen egyedi tulajdonságú teleszkóp épült a világon. Szinte az egész eget látják, és minden este hatalmas mennyiségű információt kapnak. Elég azt mondani, hogy az elmúlt 200 év során a csillagászok több ezer objektumot fedeztek fel. (...) Ez 200 év! Ma minden este háromszáz új objektumot fedezünk fel a Naprendszerben! Ez több, mint amennyit egy ember tollal le tudna írni egy katalógusba. [naponta]

Gondoljunk csak bele, minden este 300 új objektum érkezik. Egyértelmű, hogy különféle kis űraszteroidákról van szó, és nem új bolygók felfedezéséről, de mégis... Valóban, ésszerű lenne közvetlenül a képbe ágyazni információkat a felvétel idejéről, a lövés helyéről és egyéb adatokról? Ezután a csillagászok közötti képcsere során a tudósok mindig megértették, hol, mikor és milyen körülmények között készült egy adott kép. Akár kulcs nélkül is beszúrhat információkat, hisz abban, hogy nincs ellenség. Azok. csak a képek „elidegenítésének” érdekében használja a szteganográfiát további információk, remélve a felhasználók őszinteségét; talán ez sokkal kényelmesebb lenne, mintha minden fényképet információval kísérne.

A világból számítógépes játékok Idézheti a WoW-ot. Ha képernyőképet készít a játékról, a rendszer automatikusan egy SVZ-t implementál, amely tartalmazza a felhasználónevet, a képernyőkép készítésének idejét (perc és IP pontossággal) és a szerver címét.

14. Szteganográfiai figyelemelvonás (?)

Ahogy a feladat neve is sugallja - elvonja az ellenség figyelmét. Ezt a feladatot akkor lehet feltenni, ha bármilyen más oka van a szteganográfia használatának. Mert szteganográf figyelemelterelés Szükséges, hogy a stegocontainerek előállítása lényegesen „olcsóbb” legyen (gép- és időerőforrás tekintetében), mint a szteganográfia ellenség általi észlelése.

Durván szólva, szteganográf figyelemelterelés némileg a DoS-re emlékeztet és DDoS támadások. Eltereli az ellenség figyelmét azokról a konténerekről, amelyekben valóban van valami értékes.

15. Szteganográfiai követés (STD)

Ez az alkalmazás némileg hasonlít a 7. lépéshez egyéni ujjlenyomat az EDMS-ben, csak a cél más - elkapni az információt „kiszivárogtató” bűnözőt. Példa hozható a való világból jelzett bankjegyek(„megjelölt pénz”). Használják rendvédelmi szervek, így az a bûnözõ, aki bármilyen illegális tevékenységért pénzt kapott, késõbb ne állíthassa, hogy ez a pénz nála volt a tranzakció elõtt.

Miért ne alkalmazhatnánk az „igazi kollégák” tapasztalatait virtuális világunkba? Így szteganográfiai követés Valami olyasmire emlékeztet, mint egy mézesedény.

Előrejelzés a szteganográfia jövőjéről a 21. század első negyedében

Miután elolvastam ötven különböző cikket a foltvarrásról és számos könyvet, megkockáztatom, hogy elmondjam a szteganográfiával kapcsolatos véleményemet. Ez a véleményem csak az én véleményem és nem erőltetem rá senkire. Készen áll az építő kritikára és párbeszédre.

Tézis.Úgy gondolom, hogy a világ technikailag készen áll a szteganográfiára, de kulturálisan modern információs társadalom még nem érett. Úgy gondolom, hogy a közeljövőben (2015-2025) történik valami, amit a jövőben úgy hívnak, hogy " szteganográfiai forradalom„… Ez egy kicsit arrogáns kijelentés, de megpróbálom négy ponttal alátámasztani álláspontomat.

Első. Jelenleg a szteganográfia egységes elmélete nem létezik. Egy szigorúan titkos sztegoszisztéma (Cashen szerint) természetesen jobb a semminél, de véleményem szerint ez egy fekete-fehér fénykép egy gömb alakú virtuális ló farkáról vákuumban... Mittelholzer megpróbált némileg javítani Christian eredményein Cashen, de ez eddig egy nagyon tág elmélet.

Az egységes elmélet hiánya fontos akadály. Matematikailag bebizonyosodott, hogy a Vernam-rejtjel (= „egyszeri betét”) nem törhető fel, emiatt a kapcsolat V.V. Putyin és Barack Obama pontosan ennek az algoritmusnak a segítségével valósul meg. Van egy bizonyos elmélet, amely absztrakt (matematikai) kriptográfiai objektumokat hoz létre és tanulmányoz (Bent függvények, LFSR, Facestyle ciklusok, SP készletek stb.). A szteganográfiában a kifejezések és modellek állatkertje van, de ezek többsége alaptalan, nem teljesen tanulmányozott vagy messzemenő.

Ennek ellenére már vannak bizonyos elmozdulások ebbe az irányba. Szerény próbálkozások már folynak a szteganográfia, ha nem is fő, vagy akár egyetlen megoldásként, de segédeszközként. Hatalmas elméleti váltás történt az elmúlt tizenöt évben (2000-2015), de szerintem ez egy külön poszt lehetne, ezt nehéz dióhéjban megmondani.

Második. Szteganográfia – tudomány interdiszciplináris! Ez az első dolog, amit minden törekvő szteganográfusnak meg kell értenie. Ha a kriptográfia képes elvonatkoztatni a hardvertől, és kizárólag a diszkrét matematika világának problémáit oldja meg, akkor a szteganográfusnak a környezetet kell tanulmányoznia. Bár természetesen számos probléma adódik a kriptorendszerek felépítésében, például az oldalcsatornás támadások; de ez nem a rejtjel minőségének a hibája. Úgy gondolom, hogy a szteganográfia a rejtett üzenetek továbbítására szolgáló környezet tanulmányozásának fejlődésével összhangban fog fejlődni. Így indokolt lehet számítani a „kémiai szteganográfia”, „képekben a szteganográfia”, „hibajavító kódok szteganográfia”, „élelmiszer szteganográfia” stb.

2008 körül mindenki rájött erre. Nemcsak matematikusok-kriptográfusok, hanem nyelvészek, filológusok és vegyészek is érdeklődtek a szteganográfia iránt. Szerintem ez egy pozitív változás, ami sokat mond.

Harmadik. A modern virtuális világ túl van telítve szövegekkel, macskaképekkel, videókkal és így tovább és így tovább... Egy YouTube-oldalon minden percben Több mint 100 órányi videó feltöltve! Gondolj csak minden percben! Hány perce olvasta ezt a terjedelmes opust?.. Most szorozza meg ezt a számot 100-zal! Annyi órányi különböző videó jelent meg csak a YouTube-on ennyi idő alatt!!! El tudod képzelni? De ez egy hatalmas „talaj” az adatok elrejtéséhez! Vagyis „technikailag” a világ már régen készen áll a szteganográfiára. És hogy őszinte legyek, mélyen bízom benne, hogy a szteganográfia és a szteganográfia elleni küzdelem a közeljövőben ugyanolyan sürgető problémává válik, mint a BigData Colossus problémája...

Ez az információ, ha emlékezetem nem csal, csak a 2000-es években szűnt meg titkosnak lenni. Egy másik történelmi példa az RSA algoritmus, amelyet a második világháború végén találtak fel brit kriptográfusok. De nyilvánvaló okokból a katonaság besorolta a világ első aszimmetrikus titkosítási algoritmusát, és a pálmát Diffie, Helman, majd Rivest, Shamir és Adleman kapta.

Miért mondom ezt? A lényeg az, hogy be információbiztonság minden ki van találva minimális kétszer: egyszer „zárva”, másodszor pedig „nyitva”; és egyes esetekben akár kétszer is. Ez rendben van. Szerintem a szteganográfia is vár (már nem lehet).

A modern nyugati irodalomban valamilyen oknál fogva sok tudós, aki 1998-2008-ban nagyon érdekes ötleteket javasolt, „eltűnt” (vagyis abbahagyta a publikálást). (pl. Peter Weiner, Michelle Elia). Nagyjából hasonló helyzet állt fenn az atomfegyverek feltalálása előtt is... Ki tudja, lehet, hogy a tökéletes sztegoszisztémákat már feltalálták, és a GRU és/vagy az NSA sikeresen alkalmazza őket? Mi pedig a bejegyzés elolvasása és a karóráink nézése után kiszámoljuk, hogy még hány órányi doromboló macskát töltöttek fel több millió felhasználó a YouTube-ra, és hogy vannak-e köztük terroristák levelezésével ellátott macskák; parancsok botnet hálózathoz vagy Vernam titkosítással titkosított RT-2PM2 rajzokhoz.

A biztonságos információtovábbítás fontos feladat a mai digitális világban. Az egyik módszer információvédelem az üzenettovábbítás tényének elrejtése. Így egy nyilvánosan közzétett képen belül tetszőleges szöveg rejthető el, kihasználva magának a képnek a redundanciáját.

A szteganográfia (a görög στεγανός szóból - rejtett + γράφω - írok; szó szerint „titkos írás”) az információ továbbításának vagy tárolásának módja, figyelembe véve az ilyen továbbítás (tárolás) tényének titokban tartását. Ezt a kifejezést 1499-ben Johannes Trithemius vezette be varázskönyvként kódolt Steganographia című értekezésében.

A probléma megfogalmazása

Olyan programot kell megvalósítani, amely a forrásszöveget digitális képbe helyezi, vagy szöveget tároló képből szöveget nyer. A képeket veszteségmentes tárolási formátumban (pl. bmp) javasolt használni. A kép egy pixelébe egy bájt szöveg kerül kódolásra. Tehát egy bájt szöveg 10 101 010 a következőképpen fog elhelyezkedni a képpixelben:

R: 111100 10
G: 00001 101
B: 11001 010

Információk kódolási algoritmusa:

  1. Töltse be a képet a program memóriájába
  2. Határozza meg a képen elérhető képpontok számát
  3. Határozza meg maximális hossza szöveg
  4. Szöveg betöltése a programmemóriába a konzolból vagy fájlból
  5. Ha a szöveg meghaladja a maximálisan megengedett hosszt, értesítse a felhasználót, és fejezze be a programot
  6. Szövegbájtokra és képpixelekre hurkot szervezünk, egy szövegbájtot kódolunk a 2-3-3 bites séma szerint minden pixelcsatornához
  7. Mentse a képet a lemezre eredeti formátumában

A dekódoló algoritmus is hasonló módon történik. A kép bmp formátumú olvasásához a fájlok bináris beolvasását használják, amelyek fejlécét ismertetjük következő szerkezetet 32 bites architektúrához:

#pragma pack(push, 1) typedef struct ( unsigned char b1,b2; unsigned long bfSize; unsigned short bfReserved1; unsigned short bfReserved2; unsigned long bfOffBits; ) BITMAPFILEHEADER; typedef struct ( unsigned int biSize; int biWidth; int biHeight; unsigned short biPlanes; unsigned short biBitCount; unsigned int biCompression; unsigned int biSizeImage; int biXPelsPerMeter; int biYPelsPerMeter; int biYPelsPerMeter; int biYPelsPerMeter; int biYPelsPerMeter; int biYPelsPerMeter; int biYPelsPerMeter; int biYPelsPerMeter; unsigned int IrrUsedant; #pragma csomag (pop)

Programkövetelmények

Alapvetően a programnak lehetőséget kell biztosítania arra, hogy egy ASCII-táblázatból szöveget kódoljon BMP-képbe tömörítés nélkül egy szabványos palettán. A program bonyolítása érdekében a következőket lehet végrehajtani:

  • Bármilyen szöveg kódolása korábban ismert kódolásokból (UTF-16, CP-1251, UTF-8)
  • Más veszteségmentes képformátumok használata
  • Az információátvitel nagyobb biztonsága érdekében titkosítsa a szöveget, mielőtt képpé kódolná
  • Más sémák használata pixelenként bájt szöveg írására egy képen, például 1 bit szöveg 1 pixelenként, így a kódolás kevésbé észrevehető, de jelentősen csökkenti a kódolható szöveg méretét

Jelentési követelmények

A jelentés formátumban kerül végrehajtásra docx vagy odt másolattal együtt pdf. A jelentésnek a következő részeket kell tartalmaznia:

  1. A probléma megfogalmazása
  2. Szteganográfiai problémák elméleti leírása
  3. Az elkészült munkában az információk kódolásának kiválasztott módszerei a kódolási és dekódolási algoritmus részletes leírásával
  4. A program működésének főbb pontjait bemutató műsorrészek
  5. A program leírása a felhasználói interakció szempontjából: hívás, érvek, képernyőképek stb.
  6. Következtetés az elvégzett munkáról

Önellenőrző kérdések

  • Miért használják a #pragma pack(push, 1) funkciót?
  • Hogyan történik a bináris fájlok olvasása és írása?
  • Mi az a veszteségmentes tárolási formátum?
  • Mi a formátum bmp?
  • Mi az a bit/byte szöveg?
  • Mely csatornákat használják a pixel színinformációinak tárolására?
  • Hogyan adódnak át argumentumok egy programnak, amikor meghívják?
  • Milyen lehetőségek vannak a rejtett szöveg tárolására a képeken kívül?
  • Milyen információkat lehet elrejteni?

Googlálni érdemes kérdések

  • c++ beolvassa a bináris fájlt a struct-ba
  • miért van szükségem a pragma push c++-ra
  • bmp formátum szerkezet
  • szteganográfia a bmp-hez

Kinek, kedves olvasók, nincs titka? És kinek ne kellett volna életében legalább egyszer rábíznia valakire valami fontosat, megígérve, hogy titokban tartja? Azt hiszem, egyetért velem: az információvédelem mindenkit érintő ügy.

Szteganográfia a távoli és közelmúltban

A tárolt és továbbított adatok titkosságának biztosításának problémája a modern információs világban különösen akuttá vált. Ha vannak olyan információk, amelyekhez a hozzáférést korlátozni kell, mindenki hozzáértő ember Először is azt fogja tanácsolni, hogy titkosítsa. Ekkor a támadó még a titkosítás kézhezvétele után sem tud hozzáférni annak tartalmához. Ezek az adatok többé-kevésbé biztonságosan tárolhatók és nyilvános kommunikációs csatornákon továbbíthatók. Az információ védelmének ezt a módszerét, amelyet kriptográfiai védelemnek neveznek, széles körben alkalmazzák mind a számítógépes, mind az emberi társadalom életének más területein.

Mi a teendő, ha nem csak a hozzáférést kell blokkolnia minősített információ, hanem a titok jelenlétének tényét is elrejteni? Ez a probléma nem olyan elvont, mint amilyennek első pillantásra tűnik. Tegyük fel, hogy személyes leveleket küld a munkahelyéről, és minden kimenő levelet a vezetőség felülvizsgál. Természetesen az ilyen levelek titkosíthatók, de ez nagy valószínűséggel még nagyobb érdeklődést vált ki a főnökből: hivatali titkokat adsz át? Általánosságban elmondható, hogy ez a feladat nagyon kényes, és a szteganográfia ebben segít.

Ez a szó görögről fordításban azt jelenti, hogy „titkos írás”. A szteganográfia első technikái, amint azt a történészek hiszik, az ókori Egyiptomban jelentek meg, majd mindenütt használták, ahol létezett írás.

Mi volt a szteganográfia a számítógépezés előtti korszakban? Szinte lehetetlen osztályozni az információk elrejtésének minden módszerét – számtalan és változatos. Annak egyértelművé tétele érdekében, hogy ezeknek a módszereknek a teljes skáláját egyetlen dolog egyesíti - használatuk célja, néhány történelmi példát adunk.

Az ókorban, amikor viaszos táblákat használtak írásra, a titkos információkat közvetlenül a hátlapra írhatták, majd viasszal kenték fel, és írhattak rá valami ártalmatlan szöveget. Ha egy ilyen táblát az ellenségnek adnak, nem sejtették volna, hogy ott titkok vannak. A középkorban, sőt később is nagy népszerűségnek örvendett a különleges, a kíváncsi szem számára láthatatlan tinta. A segítségükkel írt üzenetet csak speciális papírfeldolgozás után lehetett elolvasni.

Emlékszel a híres történetre az okos Leninről és a hülye csendőrről? Tehát Vlagyimir Iljics éppen egy ilyen szteganográfiai eszközt használt - a tejfestéket, amely szárítás után szinte láthatatlanná vált, és melegítéskor tiszta barna betűkkel jelent meg. Az ilyen egyszerű módszerek mellett összetett készítményeket is feltaláltak, amelyek megnyilvánulásához kémiai reakciót kellett végrehajtani.

A fontos adatok továbbítására gyakran idegen szöveget használtak (könyv, újságcikk, ártalmatlan levél az időjárásról stb.), amelyek betűi és szimbólumai bizalmas információkat kódoltak. És itt a képzelet tere egyszerűen óriási: a rejtett szöveg olvasható a szavak első betűivel (az akrosztisz elv), vagy előre egyeztetett szabály szerint meghatározható. Az általánosan elfogadott kódok (például Morse-kód) feltalálása után lehetővé vált a titkos szöveg felismerése szóhosszak szerint: 4-5 betű - kötőjel, 5-6 betű - pont, 7 vagy több - szóköz, kevesebb, mint 4 betű - figyelmen kívül hagyva).

A számítástechnika széles körű elterjedése új távlatokat nyitott a titkos írásmódok feltalálói előtt. Egyrészt a régi módszerek egy részét adaptálták, finomították, másrészt új, csak a számítástechnika területén alkalmazható algoritmusokat fejlesztettek ki.

A szteganográfia modern megközelítései

Mielőtt elkezdenénk áttekinteni a számítógépes titkosírás ma létező megközelítéseit, állapodjunk meg az alapfogalmakban. A szteganográfiában mindig két összetevő van: mit kell elrejteni, és hol fogjuk elrejteni. Az első komponenst üzenetnek vagy steganogramnak, a másodikat pedig konténernek nevezzük. Az üzenet lehet szöveges vagy bejövő általános eset, egy tetszőleges fájl, valamint szöveges vagy multimédiás (audio, videó, grafikus) fájlok, valamint (külső vagy beépített) adathordozók általában konténerként használatosak.

A konténer típusától függően a számítógépes szteganográfiai algoritmusok kényelmesen három fő csoportra oszthatók.

1. A szöveges fájlok tárolóként való használata magában foglalja a számítógép előtti módszerek vagy azok témájának variációinak használatát. Ha egy szöveges üzenet rejtett, akkor anélkül modern technológiák megúszhatod – egy hagyományos akrosztikus vers vagy valami, mint a láthatatlan tinta (fehér betűk fehér alapon) jól jön. Speciális betűtípusokat is használnak, amelyekben ugyanannak a betűnek több, kissé eltérő stílusa is lehet.

A fejlesztő fantáziája jól jöhet, ha bináris adatokat kell elrejteni a szövegben. Ha egy tetszőleges fájlt használnak steganogramként, akkor azt egyedi bitek sorozatának vagy rövid bitsorozatnak (két vagy három bites csoportok) tekintik. Kódolásukhoz szóközöket (egy szóköz 0, két szóköz 1) vagy nem nyomtatható karaktereket (például null karaktert) használnak. A fenti példa Morse kóddal alkalmas lehet ennek a problémának a megoldására: ekkor a szavak hosszúsága vagy első betűje rövid bitsorozatok kódolására szolgál.

E csoport összes módszerének nyilvánvaló egyszerűsége ellenére van egy nagyon komoly hátránya - a rejtett üzenetet még a laikusok is könnyen észlelhetik, ezért csak akkor van értelme használni őket, ha nem lehet nem szöveges információt használni. tartály.

2. Az adatok elrejtése a médiák használaton kívüli területeire az előző algoritmuscsoporttal ellentétben a számítástechnika korszakának know-howja. Ezek a módszerek a fájlrendszerek sajátosságain alapulnak. Először is, a fájlok mindig egész számú klasztert foglalnak el, így két fájl között általában van szabad hely, amely az üzenet elhelyezésére szolgál. Másodszor, a lemez nulla sávja használható információk átvitelére. Lehetőség van egy fájl fejlécrekordjának eltávolítására is az adathordozóról, és a fájlrendszer szabadnak tekinti a fájl által elfoglalt területet.

Gyenge oldal A felsorolt ​​módszerek mindegyike könnyen észlelhető, mivel az üzenet elhelyezési helyek nyilvánvalóak. Ráadásul ez utóbbi módszer megköveteli a fájl fejléc részének elküldését a médiától elkülönítve, ami egyáltalán nem növeli a titkosítás mértékét. Az ebbe a csoportba tartozó algoritmusok használata a titkos információcsere megszervezésére magában foglalja a külső meghajtók használatát, amelyek általában kis kapacitásúak, ami jelentős korlátozásokat ír elő a rejtett adatok méretére vonatkozóan. Ezért ésszerűbb lenne az adathordozót tárolóként csak abban az esetben választani, ha a továbbított, nem pedig a tárolt adatok osztályozását tervezik.

3. A konténerek harmadik és legelterjedtebb osztálya a multimédiás fájlok (főleg grafikus fájlokról lesz szó, de mindaz, ami elhangzott, igaz az audio- és videoadatokra is). Hagyományosan az ilyen konténerfájlok nagy mennyisége lehetővé teszi nagyméretű üzenetek becsomagolását, és a különféle, folyamatosan fejlődő formátumok és szabványok számos szteganográfiai algoritmus megjelenéséhez vezettek. De bármennyire is széles ezeknek a módszereknek a skálája, szinte mindegyik két alapvető megközelítés valamelyikén alapul.

3.1. Az egyszerű, nem kereskedelmi célú szteganográfiai programokban a grafikus fájlok területeit gyakran tárolóként használják, amelyek megváltoztatása nincs hatással a képre. A rejtett információk a képadatok vége után, illetve között helyezhetők el külön képek egy fájlt (például egy animált GIF-et), és a megjegyzésmezőkben, amelyeket a rendszer figyelmen kívül hagy a rajzoláskor. Az ilyen szteganogramok könnyen észlelhetők, ezért általában úgy vannak megtervezve, hogy senki se keresse őket.

3.2. A Least Significant Bit (LSB) módszer a legelterjedtebb módszer az elektronikus szteganográfiában. Azon alapul fogyatékosok az emberi érzékszervek, ami miatt az emberek nem képesek megkülönböztetni a színek és hangok finom eltéréseit. A leírás egyszerűsítése érdekében egy 24 bites RGB raszterkép példáján mutatjuk be ennek a módszernek a működési elvét. Ebben a formátumban egy képpontot három bájt kódol, amelyek mindegyike felelős a három összetevő színe egyikének intenzitásáért (1. ábra).

A piros (R), zöld (G) és kék (B) csatorna színeinek keverése eredményeként a pixel megkapja a kívánt színárnyalatot. Hogy tisztábban lássuk az LSB módszer működési elvét, írjuk fel mindhárom bájtot bit formában (2. ábra). Az alacsony rendű bitek (az ábrán jobb oldalon találhatók) kevésbé befolyásolják a végső képet, mint a magasabb rendűek. Ebből arra következtethetünk, hogy ha a legkisebb jelentőségű bitek közül egyet vagy kettőt más tetszőleges bitekre cserélünk, akkor a pixel színárnyalata olyan enyhén torzul, hogy a néző egyszerűen nem veszi észre a változást.

Tegyük fel, hogy hat bitet kell elrejtenünk a kép egy adott pontján: 101100. Ehhez három párra bontjuk őket (3. ábra), és minden csatornában a két legkisebb jelentőségű bitre cseréljük őket (4. ábra). ).

Ennek eredményeként egy új, az eredetihez nagyon hasonló árnyalatot kapunk. Ezeket a színeket még nagy kitöltési területen is nehéz megkülönböztetni, bár a különbség egy-egy ponton észrevehető lesz (5. ábra). A gyakorlat azt mutatja, hogy a két legkevésbé jelentős bit cseréjét az emberi szem nem érzékeli. Ha szükséges, három számjegyet is elfoglalhat, ami nagyon csekély hatással lesz a kép minőségére.

Rizs. 5. Bal eredeti szín, módosítás után jobb szín

Számítsuk ki most egy ilyen RGB konténer hasznos térfogatát. Csatornánként a nyolc bitből kettőt elfoglalva három bájtot el tudunk majd rejteni hasznos információkat a kép minden négy pixelére, ami a képtérfogat 25%-ának felel meg. Így, miután képfájl 200 KB méretű, akár 50 KB tetszőleges adatot is elrejthetünk benne, hogy ezek a változások szabad szemmel ne legyenek észrevehetők.

Az LSB módszer egy módosítása a tömörített multimédiás adatokhoz kifejlesztett szteganográfiai algoritmusok. Különösen népszerű a szteganográfiai fejlesztők körében szoftver algoritmus az adatok elrejtésére JPEG képekben. Mivel a kép JPEG formátumba konvertálása információvesztéssel jár, nincs értelme steganogramot beágyazni az eredeti képbe, mivel akkor lehetetlen visszaállítani. A megoldást magában a tömörítési algoritmusban találtuk meg - anélkül, hogy a JPEG specifikáció részleteibe mennénk, tegyük fel, hogy itt a tömörítés három szakaszban zajlik: diszkrét koszinusz transzformáció (DCT), kvantálás és másodlagos tömörítés (Huffman kódolás), valamint a harmadik. szakasz adatvesztés nélkül megy végbe, ezért a kvantálás utáni DCT együtthatók konténerként kerülnek felhasználásra, vagyis ezen együtthatók alacsony rendű számjegyeit felhasználói információkkal helyettesítik.

Ilyen képességeket szinte minden veszteséges tömörítési séma biztosítja, beleértve az audio- és videoformátumokat is. Mi magyarázza az LSB módszer vezető szerepét a szteganográfiai algoritmusok között? Először is, a multimédiás konténerek nem keltenek gyanút: könnyedén elküldheti fényképét vagy szép tájképét ismerősének. Másodszor, a digitalizált kép, hang vagy videó legkevésbé jelentős bitjei eltérő eloszlásúak lehetnek a használt analóg-digitális átalakítási paraméterektől függően.

számítógépes feldolgozás

A steganogramok kimutatására irányuló műveletek elve általában nem bonyolult. Először is meg kell találnia az összes lehetséges helyet, ahol a tárolófájl formátuma lehetővé teszi az idegen információk tárolását. Ezután adatokat kell kinyernie ezekről a helyekről, és elemeznie kell tulajdonságaikat a szabványos értékeknek való megfelelés érdekében. Az első probléma megoldásához elegendő alaposan tanulmányozni a használt fájlformátumok specifikációit, a másodikat pedig általában statisztikai elemzési módszerekkel oldják meg. Például, ha el kell rejteni egy bizonyos szövegrészletet, akkor egy ilyen üzenet csak szimbolikus információkat tartalmaz: 52 latin karakter, 66 cirill karakter, írásjelek és néhány szolgáltatási karakter. Egy ilyen üzenet statisztikai jellemzői élesen eltérnek egy véletlenszerű bájtsorozat jellemzőitől, amelyeknek az együtt gyűjtött RGB-kép legkevésbé jelentős bitjeihez kell hasonlítaniuk (LSB-módszer esetében).

Az adatrejtés megbízhatóságának növelése és leállítása

A potenciális konténerek titkos csatolmányok jelenlétére vonatkozó elemzési módszerei alapján több tippet is megfogalmazhatunk az adatrejtés megbízhatóságának növelésére. Először is meg kell nehezítenie a tárolófájl azon területeinek megtalálását, amelyek a steganogram töredékeit tartalmazzák. Ez teljesen megvalósítható az LSB módszerrel. Ebből a célból az üzenetbitek nem egymás után kerülnek a kép összes bájtjába, hanem résekkel, ami bonyolítja az elemzést. Komolyabb verzióban a mellékletet tartalmazó bájtok címét egy bizonyos függvény fogja kiszámolni, amely argumentumként kapja mondjuk a felhasználó jelszavát.

Az üzenet statisztikai tulajdonságait ezután közelebb kell hozni ahhoz, amit az elemző vár a sértetlen tárolófájlban. Ha megjegyzés szövegmezőket kíván használni a bináris adatok továbbítására, akkor érdemes Base64 vagy hasonló kódolást használni, hogy a bináris sorozat karakterkarakterekkel legyen írva. Bár ez nem fogja megtéveszteni a szakembert, lehetővé teszi bizonyos szoftverszűrők megkerülését.

A legkisebb jelentőségű bitek módszere ennek az ellenkezőjét követeli meg – az üzenetet a lehető leghasonlatosabbá kell tenni egy véletlenszerű bitkészlethez. Ehhez az archiválási algoritmusok egyikével tömörítheti a steganogramot, amely kisimítja a melléklet statisztikai jellemzőit, és emellett kompaktabbá teszi, hogy több felhasználói adatot csomagoljon egy azonos kapacitású tárolóba. Az archívumok nagyon emlékeztetnek az egyformán valószínű szekvenciákra, de mégis megvannak a saját szolgáltatási formátumai (fejlécek, markerek stb.), ezért ahhoz, hogy az üzenet végre véletlenszerű adatfolyam tulajdonságait adja, javasoljuk egy titkosító algoritmus használatát. Ebben az esetben ugyanazt a jelszót használhatja, mint a hordozó bájtok címének kiszámításához. Amellett, hogy növeli a szteganográfiai algoritmus megbízhatóságát, a titkosítás egy második védelmi vonalat is létrehoz: még ha egy támadó megtalálja is az Ön adatait, a jelszó ismerete nélkül továbbra sem tudja visszafejteni azokat.

Az LSB módszer használatával kapcsolatban van még néhány egyszerű tipp, amelyek lehetővé teszik a szteganográfiai vezérlés megkerülését:

Egy üzenet tárolásához ne használjon több mint három bitet minden konténerbájtból, de jobb, ha kettőre korlátozódik, egy nagy üzenetet több kicsire bont, vagy nagyobb kapacitású hordozófájlt választ. Ezenkívül ne töltse fel a tartályt a felhasználói adatokkal „teljesítményig” - minél kisebb a fontos információk aránya az átvitt fájl teljes mennyiségében, annál nehezebb felismerni a könyvjelzővel való elhelyezés tényét.

A gyakorlatban általában javasolt az üzenetek elrejtése, hogy azok mérete ne haladja meg a tároló méretének 10%-át;

Nem ajánlott mesterségesen létrehozott képeket vagy fényképeket szteganográfiai célokra használni, amelyek jelentős egyszínű területeket tartalmaznak (például kék ég). A nagyszámú apró tarka részlet éppen ellenkezőleg, növeli az elrejtés megbízhatóságát; Rossz tároló az üzeneted számára nyilvános, jól ismert médiafájlok, mivel a fájl egyszerű összehasonlítása az eredetivel azonnal felfedi a szteganogramot. Ezekre a célokra jobb, ha saját készítésű terméket használ. digitális kép

A steganográfia különböző bonyolultságú és megbízhatóságú eszközöket biztosít azoknak, akik titokban akarják tartani levelezésüket - használhatja a tucatnyi kész ingyenes vagy kereskedelmi program egyikét, vagy saját maga is megvalósíthatja a fent leírt algoritmusokat (az ilyen megoldások néha megbízhatóbbak, mint széles körben használtak). De mit tegyenek a vállalkozások információbiztonsági részlegeinek dolgozói, akiknek éppen az a feladata, hogy elnyomják az alkalmazottak titkos levelezését a szivárgások megelőzése érdekében? bizalmas információkat a cégtől? Először is szerencsét kell próbálnia (ha a támadó felkészültsége meglehetősen gyengének bizonyulna), és ellenőriznie kell a leginkább elérhető tárhelyet: megjegyzésmezőket és különféle fájlformátumok kiterjesztési mezőit, hogy megbizonyosodjon arról, hogy a levelezésben nincsenek indokolatlanul nagy mellékletek. . A szöveges üzeneteknek értelmesnek kell lenniük, és az olyan értelmetlen mondatoknak, mint „a színész gyorsan húzza a hatodik hadsereg görögdinnyéjét”, azonnal fel kell hívniuk a figyelmet – ezeket a szótárak segítségével speciális szteganográfiai programok automatikusan generálhatják. Az LSB módszerrel csomagolt steganogramokat nehéz felismerni, különösen, ha ezt a módszert helyesen használják.

A helyzetből való kiutat éppen az az elv sugallja, amely a legkisebb szignifikáns bitek algoritmusának alapját képezi: ha egy multimédiás fájl egyes bájtjainak alacsony rendű bitjeinek megváltoztatása nem befolyásolja a kép vagy a hang minőségét, akkor tiszta lelkiismerettel lecserélheti ezeket a biteket nulla bitekre. Ezzel nem rontunk el egy ártalmatlan képet, de az illetéktelen adatátvitelt mindenképpen megállítjuk.

Példák a szteganográfia alkalmazására Annak érdekében, hogy a szteganográfia elmélete ne tűnjön spekulatívnak, mivel semmi köze a gyakorlathoz, példát adunk az alkalmazására. A bemutatóhoz a több tucat ingyenes és shareware program egyikét használtuk, amelyek szteganográfiai információrejtő szolgáltatást nyújtanak, és letölthetők az internetről. Konténerként a fent leírt szabályok szerint egy körülbelül 1 MB méretű BMP 24 bites formátumú fényképet választottak, amelyet a cikk szerzőjének személyes fotóalbumából választottak ki a nagy monokromatikus kép hiányának elve alapján. kitöltések és apró részletek jelenléte. Az üzenet véletlenszerű volt a megadott programot a Blowfish algoritmus segítségével. Tehát minden biztonsági követelmény teljesül, és két kép, amelyek közül az egyikben az információ tizede ki van cserélve tetszőleges adatok, gyakorlatilag megkülönböztethetetlenek – nézze meg saját szemével (6. ábra).

Rizs. 6. Jobb oldali eredeti kép; bal oldali kép melléklettel

Az információk titkos továbbítása és tárolása mellett a szteganográfiának van egy másik alkalmazási területe - a szerzői jogvédelem. Mivel az üzenet olyan módon adható hozzá kép-, hang- vagy videofájlhoz, amely nem rontja a megtekintési/hallgatási élményt, és mivel egy ilyen mellékletet gyakorlatilag lehetetlen észlelni és eltávolítani, az üzenet aláírásként is használható. Az ilyen „vízjelek” segítenek bebizonyítani, hogy például egy Ön által készített fényképet illegálisan használtak fel egy bizonyos jól ismert webhely tervezésére. Jelenleg számos program van folyamatban elektronikus aláírás multimédiás adatok szteganográfiai módszerekkel, valamint az internet átvizsgálása az engedély nélkül használt művek észlelésére.

Konklúzió helyett

Az emberiség történetének minden nagy találmányát – a keréktől a puskaporig, az írástól az atomhasadásig – a társadalom javára és kárára egyaránt felhasználták, és ez alól a szteganográfia sem kivétel. Korábban ez a tudásterület csak kevesek számára volt elérhető, de a „virtuális korszak” eljövetelével, amikor szinte minden asztalon személyi számítógépek vannak, a szteganográfia tömegcikké válik.

A hűséges alkalmazottnak pedig az a feladata, hogy elbújjon főnöke gyanakvó tekintete elől, a jó főnöknek pedig az a célja, hogy ne engedje, hogy egy tisztességtelen alkalmazott céges titkokat adjon el a versenytársaknak. A mi feladatunk pedig az, hogy emlékezzünk a szteganográfia évszázados történetére, ismerjük módszereit és tudjunk alkalmazni magunk és mások javára.

A szteganográfia előnye a tiszta kriptográfiával szemben, hogy az üzenetek nem vonják magukra a figyelmet. Azok az üzenetek, amelyek nem rejtve vannak a titkosítás elől, gyanúsak, és önmagukban is terhelőek lehetnek azokban az országokban, ahol tilos a titkosítás. Így a kriptográfia védi az üzenet tartalmát, a szteganográfia pedig magát az esetleges rejtett üzenetek jelenlétét védi.

Hogy ne terheljem az olvasót, a képletek és egyéb szigorú matematikai számítások használatára szorítkozom. A felhasznált források listája olyan könyvekre mutató hivatkozásokat tartalmaz, amelyekben részletesen le van írva a szteganorendszer matematikai modellje. A cikk két részre oszlik:
1. Elméleti: egy tipikus szteganorendszer diagramja;
2. Példa egy adott szteganorendszerre (JPEG képek alapján) és megvalósításának diagramja.

A szteganorendszer leírása

Tekintsük egy tipikus szteganorendszer blokkdiagramját. Általánosságban elmondható, hogy a szteganorendszer kommunikációs rendszernek tekinthető.

A fő szteganográfiai fogalmak az üzenet és a konténer. Az üzenet minősített információ, amelynek jelenlétét el kell rejteni. A tároló olyan besorolatlan információ, amely egy üzenet elrejtésére használható. Az üzenet és a tároló lehet egyszerű szöveges vagy multimédiás fájlok.

Az üres konténer (vagy ún. eredeti konténer) olyan tartály, amely nem tartalmaz rejtett információ. A megtöltött tartály (eredménytároló) egy olyan tároló, amely rejtett információkat tartalmaz. Az egyik beállított követelmény az, hogy a kapott tartály vizuálisan ne legyen megkülönböztethető az eredeti tartálytól. Két fő típusú tároló létezik: streaming és rögzített.

A stream konténer egy folyamatosan változó bitsorozat. Az üzenet valós időben van beágyazva, így a kódoló nem tudja előre, hogy a konténer elég nagy-e a teljes üzenet továbbításához. Egy tartályban nagy méretű Több üzenet is beágyazható.

A fő probléma a szinkronizálás végrehajtása, a sorozat kezdetének és végének meghatározása. Ha a konténeradatokban szinkronizálási bitek, csomagfejlécek stb. vannak, akkor a rejtett információ azonnal követheti őket. A szinkronizálás megszervezésének bonyolultsága előnyt jelent az átviteli titok biztosítása szempontjából.

Rögzített tartályban ez utóbbi méretei és jellemzői előre ismertek. Ez lehetővé teszi az adatok optimális (bizonyos értelemben) egymásba ágyazását. Ezután a rögzített konténereket vizsgáljuk meg.

Mielőtt egy üzenetet csatolna egy konténerhez, azt egy speciális, csomagoláshoz kényelmes formára kell konvertálni. Ezenkívül a konténerbe történő csomagolás előtt a titkos információk biztonságának növelése érdekében ez utóbbiakat egy meglehetősen erős kriptográfiai kóddal lehet titkosítani. Sok esetben az is kívánatos, hogy az eredményül kapott steg üzenet ellenálljon a torzításoknak (beleértve a rosszindulatúakat is).

Az átviteli folyamat során a hang, kép vagy bármely más, konténerként használt információ különféle átalakulásokon eshet át (beleértve az adatvesztéssel járó algoritmusok használatát is): a hangerő megváltoztatása, konvertálás más formátumba stb. – ezért a beágyazott üzenet, szükség lehet hibajavító kód használatára (zajjavító kódolás). A rejtett információ kezdeti feldolgozását az ábrán látható előkódoló végzi.

Megjegyzendő, hogy a beágyazás biztonságának növelése érdekében az előfeldolgozást gyakran kulcs segítségével végzik.

Az üzenet konténerbe történő csomagolása (a tárolót reprezentáló adatok formátumának figyelembevételével) stegan kódoló segítségével történik. A beágyazás például a tároló legkisebb jelentőségű bitjeinek módosításával történik. Általában az üzenetelemek tárolóba való bevitelére szolgáló algoritmus (stratégia) határozza meg a szteganográfiai módszereket, amelyek viszont bizonyos csoportokra vannak osztva, például a tárolóként kiválasztott fájlformátumtól függően.

A legtöbb steganorendszer kulcsot használ az üzenetek becsomagolására és lekérésére, amely előre meghatároz egy titkos algoritmust, amely meghatározza az üzenet tárolóba való beillesztési sorrendjét. A kriptográfiával analóg módon a kulcs típusa kétféle szteganorendszer létezését határozza meg:

  • titkos kulccsal – egy kulcsot használnak, amelyet a szteganogram cseréje vagy biztonságos csatornán történő továbbítása előtt határoznak meg;
  • nyilvános kulccsal - különböző kulcsokat használnak az üzenet be- és kicsomagolására, amelyek oly módon különböznek egymástól, hogy számítások segítségével nem lehet egyik kulcsot a másiktól megszerezni, így az egyik kulcs (a nyilvános) szabadon továbbítható nem biztonságos csatornán keresztül.

A bitekből álló pszeudovéletlen sorrendgenerátor (PSG) titkos algoritmusként használható. Az információbiztonsági rendszerekben való felhasználásra szánt, kiváló minőségű PSP generátornak meg kell felelnie bizonyos követelményeknek. Soroljunk fel néhányat közülük:

  • A kriptográfiai erősség az, hogy a támadó képtelen megjósolni a következő bitet az általa ismert korábbi bitek alapján 1/2-től eltérő valószínűséggel. A gyakorlatban a kriptográfiai erősséget statisztikai módszerekkel értékelik.
  • Jó statisztikai tulajdonságok – a PSP statisztikai tulajdonságaiban nem térhet el jelentősen egy valóban véletlenszerű sorozattól.
  • A kialakult sorozat hosszú periódusa.
  • Hatékony hardver és szoftver megvalósítás.

A statisztikailag (kriptográfiailag) biztonságos PSP-generátornak meg kell felelnie a következő követelményeknek:

  • egyetlen statisztikai teszt sem határoz meg semmilyen mintát a PSP-ben, más szóval nem különbözteti meg ezt a sorozatot a valóban véletlenszerű sorozattól;
  • véletlen értékekkel inicializálva a generátor statisztikailag független pszeudovéletlen sorozatokat generál.

Meg kell jegyezni, hogy a beágyazott bitek közötti intervallum véletlenszerű kiválasztásának módszere nem túl hatékony. A rejtett adatokat el kell oszlatni a tárolóban, így az intervallumhosszak egyenletes eloszlása ​​(a legkisebbtől a legnagyobbig) csak megközelítőleg érhető el, mivel biztosnak kell lennie abban, hogy a teljes üzenet be van ágyazva (vagyis belefér a tárolóba).

A rejtett információk a kulcsnak megfelelően kerülnek be azokra a bitekre, amelyek módosítása nem vezet a tároló jelentős torzulásához. Ezek a bitek alkotják az úgynevezett quilt path-t. „Szignifikáns” alatt olyan torzulást értünk, amely a szteganalízis után egy rejtett üzenet jelenlétének felfedésének valószínűségének növekedéséhez vezet.

A szteganográfiai csatorna egy eredménytároló továbbítására szolgáló csatorna (általában a csatorna, mint szigorúan vett vevő léte a legáltalánosabb eset, mivel egy megtöltött tartályt például a „küldő” tárolhat, aki bizonyos információkhoz való jogosulatlan hozzáférés korlátozását tűzte ki célul Ebben az esetben a küldő jár el a címzettként).

A szteganodetektor érzékeli a rejtett adatok jelenlétét egy tárolóban (esetleg már módosított). Vannak steganodetectorok, amelyeket csak a beágyazott üzenet jelenlétének észlelésére terveztek, és olyan eszközök, amelyek ezt az üzenetet kinyerik a tárolóból - steganodekóderek.

Tehát a szteganorendszerben kétféle információ kombinálódik oly módon, hogy az alapvetően eltérő detektorok eltérően érzékelik őket. Az egyik detektor egy rejtett üzenet elkülönítésére szolgáló rendszer, a másik pedig egy személy.

Az üzenetbeágyazási algoritmus a legegyszerűbb esetben két fő szakaszból áll:

  1. Titkos üzenet beágyazása az eredeti tárolóba egy steganocoderben.
  2. Rejtett titkosított üzenet észlelése (kivonása) a szteganodetektorban (dekóderben) lévő eredménytárolóból.

A JPEG-ről

Munkánkban egy JPEG alapú szteganorendszert fogunk megvalósítani. A JPEG egy veszteséges képtömörítési módszer. Kiváló munkát végez a folyamatos tónusú képek tömörítésében, amelyekben a közeli pixelek általában hasonló színűek, de nem tesz túl jó munkát a kétszintű fekete-fehér képekkel.

Először is nézzük meg röviden a JPEG algoritmust, többet részletes leírás példák pedig a forrásokban hivatkozott könyvekben találhatók. A 8 bites RGB képek kódolója hét pontban írható le (a képösszetevők tömbje bemenetként szolgál):

  1. Színtér átalakítás. A színes képet RGB-ből fénysűrűség/krominancia megjelenítéssé alakítja a rendszer. A szem érzékeny a pixelek fényerejének kis változásaira, de a színárnyalatra nem, így jelentős mennyiségű információ távolítható el a chroma komponensből, így nagy tömörítés érhető el a képminőség észrevehető vizuális romlása nélkül. Ez a lépés nem kötelező, de nagyon fontos, mivel az algoritmus többi része az egyes színkomponenseken függetlenül fog működni. A színtér átalakítása nélkül sok információ nem távolítható el az RGB összetevőkből, ami megakadályozza a sok tömörítést.
  2. Almintavétel. A hatékonyabb tömörítés érdekében színes kép nagy pixelekre van bontva. A pixelnagyítás vagy egyáltalán nem történik meg (nagyítás 1hv1 vagy „4:4:4”), vagy 2:1 arányban történik vízszintesen és függőlegesen (nagyítás 2h2v vagy „4:1:1”), vagy 2 arányban: 1 vízszintesen és 1:1 függőlegesen (nagyítás 2h1v vagy „4:2:2”).
  3. Csatlakozás blokkokhoz. Az egyes színösszetevők képpontjait 8x8-as blokkokba gyűjtik, amelyeket Minimum Coded Unitsnak neveznek. Ha a kép sorainak vagy oszlopainak száma nem 8 többszöröse, akkor a legalsó sor és a jobb szélső oszlop ismétlődik a szükséges számú alkalommal.
  4. Diszkrét koszinusz transzformáció. Minden adategységre diszkrét koszinusz transzformációt (DCT) alkalmazunk, ami 8x8 adategység-frekvenciás blokkot eredményez. Tartalmazzák az adategységek átlagos pixelértékét és a következő javításokat magas frekvenciák. Ez lehetővé teszi az adatok olyan formában történő megjelenítését, amely lehetővé teszi a hatékonyabb tömörítést.
  5. Kvantálás. Az adategységek 64 frekvenciakomponensének mindegyike egy speciális számmal van osztva, amelyet kvantálási együtthatónak (QC) neveznek, és amelyet a legközelebbi egész számra kerekítenek. Itt az információ helyrehozhatatlanul elveszett. De a kódolónkban ezt a lépést kihagyjuk a rögzített információ mennyiségének növelése érdekében (azaz minden kvantálási együttható eggyel egyenlő, a JPEG minősége 100%).
  6. Veszteségmentes tömörítés. Az egyes adategységek mind a 64 kvantált frekvencia együtthatója az RLE és a Huffman-módszer kombinációjával van kódolva.
  7. Fejlécek hozzáadása és írás a fájlhoz. Az utolsó lépés az, hogy a használt JPEG paraméterekből fejlécet kell hozzáadni, és az eredményt egy tömörített fájlba nyomtatni.

Az algoritmus szimmetrikus, így a kódoló az ellenkezőjét fogja tenni.

Szteganográfia JPEG-ben

Kezdjünk el egy steganorendszert nézni JPEG képek alapján. Az alapja legegyszerűbb módszer LSB (Least Significant Bit, legkevésbé jelentős bit).

Az LSB módszer lényege, hogy az esetek többségében az ember nem tudja észrevenni a kép színösszetevőinek utolsó bitjében bekövetkező változásokat. Valójában az LSB egy zaj, így információ beágyazására használható, ha a képpixelek kevésbé jelentős bitjeit a titkos üzenet bitjeivel helyettesíti. A módszer tömörítetlen formátumban (például BMP) bemutatott raszterképekkel működik. A módszer fő hátránya a nagy érzékenység a tartály legkisebb torzulására.

Szteganorendszerünkben DCT LSB szteganográfiát fogunk használni. A fő különbség az, hogy az adatok nem színkomponensekben, hanem diszkrét koszinusz transzformációs együtthatókban vannak írva. Nézzük meg a kódoló áramkört (a dekóder mindent ugyanúgy csinál, de fordított sorrendben).

A bemenetnél: színes kép, rejtett adatok, jelszó.
Kimenet: JPEG kép rejtett adatokkal.

  1. Kulcsgenerálás. A kódoló működéséhez 2 kulcsra van szükség: egy quilt-kulcsra és egy titkosítási kulcsra. Vegyük a felhasználó által beírt jelszó SHA-256 hash-jét. Az első 16 bájtot a steg kulcshoz, a másodikat a titkosítási kulcshoz fogjuk használni.
  2. Szöveg előfeldolgozás (előkódoló). Ismét vesszük a kriptokulcs hash összegét, és új 32 bájtot kapunk, amelyet már az adatok titkosítására használunk. Az adatokat az AES-256 algoritmussal titkosítjuk.
  3. Kezdjük el a kép kódolását. Elvégezzük a korábban tárgyalt JPEG algoritmus első 4 lépését.
  4. A JPEG algoritmus ötödik lépése (kvantálás) helyett adatainkat elrejtjük.
    • Formátumelemző. Annak érdekében, hogy a képen tapasztalható interferencia észrevehetetlen legyen, „vizuális” elemzést végzünk. A blokk-együttható minden utolsó bitje megfordul, és kiszámítja az eredeti és módosított blokkok PSNR-metrikáját. Ha a metrikus érték kisebb, mint 55 dB, akkor ezt a blokkot nem készül felvétel. Mert 40 dB-nél nagyobb metrikus értékeknél a képeket szinte teljesen azonosnak tekintik az emberi szemmel, majd 55 dB-nél a különbség a szem számára biztosan láthatatlan.
    • Steppelt ösvény. A stegan kulcs bináris formában van ábrázolva, és minden blokkhoz hozzá van rendelve a bináris sorozat (modulo) megfelelő bitje. Ha a bit egyenlő eggyel, akkor a blokkot írásra használjuk, ha nulla, akkor eldobjuk.
    • Szteganokóder. Minden 8x8-as blokkhoz a szabványos LSB eljárást hajtjuk végre: minden egyes elemhez adatot írunk, amelynek értéke nagyobb, mint egy.
  5. Folytatjuk a JPEG algoritmus végrehajtását (veszteségmentes tömörítés és fájlba írás).

Következtetések és következtetések

A steganorendszer adott diagramját felhasználva könnyen írhatunk programot. A megvalósításom forráskódja megtalálható a GitHubon. A program nem nevezhető teljes értékűnek, inkább alfa verziónak, de a fő funkcionalitás benne van megvalósítva. A negyedik pont a kódolóhoz és a dekódolóhoz valósul meg. A JPEG, SHA-256, AES-256 kész implementációit vesszük alapul.

Kódolás-dekódolás

Void jpeg_encoder::code_block(int komponens_száma) ( DCT2D(m_minta_tömb); load_quantized_coefficients(component_num); double psnr = 0; for (int i = 0; i< 64; i++) { if (m_coefficient_array[i] >1) ( short t = m_sample_array[i]; bit_stream::write_bit(t, bit_stream::read_bit(t) == 1 ? 0: 1); psnr += (t - m_sample_array[i]) * (t - m_sample_array [i]); ) psnr /= 64;< 8; i++) { for (int j = 0; j < 8; j++) { if (m_coefficient_array >[< m_blocks_per_mcu; mcu_block++) { idct(pSrc_ptr, pDst_ptr, m_mcu_block_max_zag); double psnr = 0; for (int i = 0; i < 64; i++) { if (pSrc_ptr[i] >else code_coefficients_pass_two(komponens_szám); ) void jpeg_decoder::transform_mcu(int mcu_row) ( jpgd_block_t* pSrc_ptr = m_pMCU_együtthatók; uint8* pDst_ptr = m_pSample_buf + mcu_row * m_blocks_per_mcu * 64; mblock =bint0 mcu_;< 8; i++) { for (int j = 0; j < 8; j++) { if (pSrc_ptr] >1) ( short t = pDst_ptr[i]; bit_stream::write_bit(t, bit_stream::read_bit(t) == 1 ? 0:1); psnr += (t - pDst_ptr[i]) * (t - pDst_ptr [i]); ) psnr /= 64;

if (psnr != 0) psnr = 20 * log10(255 / sqrt(psnr));

  • különben psnr = 70;
  • if (!kész && psnr > 55) ( for (int i = 0; i
  • 1) ( int bitek = bit_stream::read_bit(pSrc_ptr]); if (bitstr->set_next_bit(bits) == -1) ( kész = igaz; int méret = bitstr->get_readed_size(); char* str = új karakter bitstr->get_data(str = ""; m_stparams->stego_data = str ) ) ) pSrc_ptr += 64;
  • pDst_ptr += 64;
  • ) )
  • Összefoglalva, az eredményül kapott termék jellemzői:

JPEG (DCT LSB) szteganográfia;

  1. Kétszintű információvédelem;
  2. SHA-256 használata kulcsok generálásához;
  3. Szimmetrikus szövegtitkosítás AES-256;

A rejtett információ legfeljebb 30%-a a tároló méretéből, a kép típusától függően;

Zaj immunitás hiánya.

Források és további linkek

  • Kokhanovich G.F., Puzyrenko A.Yu. Számítógépes szteganográfia. Elmélet és gyakorlat. – K.: „MK-Press”, 2006.
  • D. Salomon. Adatok, képek és hangok tömörítése. Moszkva: Techno-szféra, 2004.
  • Vatolin D., Ratushnyak A., Smirnov M., Yukin V. Adattömörítési módszerek. Archív eszköz, kép- és videótömörítés. - M.: DIALOG-MEPhI, 2003.

Kokhanovich G.F., Puzyrenko A.Yu. Számítógépes szteganográfia. Elmélet és gyakorlat. – K.: „MK-Press”, 2006.

Szteganográfia

A szteganográfia osztályozása A 90-es évek végén a szteganográfia számos területe jelent meg: a szimpatikus (láthatatlan) tinta használata. Az ilyen tintával írt szöveg csak bizonyos körülmények között jelenik meg (fűtés, világítás, vegyi előhívó stb.) A Kr.u. I. században találták fel. e. Alexandriai Philón, továbbra is használták őket mind a középkorban, mind a modern időkben, például az orosz forradalmárok börtöneiből származó levelekben. A szovjet iskolai tantervben egy irodalomtanfolyamon azt a történetet tanították, hogyan írt Vlagyimir Lenin tejjel a sorok közé, lásd: Történetek Leninről. A tej lángon hevítve fejlődött ki.

Vannak kémiailag instabil pigmenteket tartalmazó tinták is. Amit ezzel a tintával írunk, az úgy néz ki, mint valami normál tollal, de egy bizonyos idő elteltével az instabil pigment lebomlik, és nyoma sem marad a szövegnek. Bár hagyományos golyóstollal a papír deformációjából a szöveg rekonstruálható, ez a hátrány kiküszöbölhető puha íróegység, például filctoll használatával.

Egyéb szteganográfiai módszerek

  • írás a megállapodás szerinti sorrendben elhelyezett kártyapakli oldalára;
  • felvétel főtt tojás belsejében;
  • „szlengrejtjelek”, ahol a szavak eltérő meghatározott jelentéssel bírnak;
  • sablonok, amelyeket a szövegre helyezve csak a jelentős betűk láthatók;
  • csomók a szálakon stb.

Jelenleg alatt szteganográfia leggyakrabban speciális szoftverek segítségével érti meg az információk elrejtését szöveges, grafikus vagy hangfájlokban.

Szteganográfiai modellek

Szteganográfiai modellek- használt általános leírás szteganográfiai rendszerek.

Alapfogalmak

Simmons 1983-ban javasolta az ún. "a foglyok problémája". Lényege, hogy van egy személy szabadlábon (Alice), egy fogoly (Bob) és egy őr Willie. Alice üzeneteket akar továbbítani Bobnak a biztonsági őr beavatkozása nélkül. Ez a modell bizonyos feltételezéseket tesz: feltételezzük, hogy a következtetés előtt Alice és Bob megállapodnak egy kódszimbólumban, amely elválasztja a levél szövegének egyik részét a másik résztől, amelyben az üzenet el van rejtve. Willie-nek joga van elolvasni és megváltoztatni az üzeneteket. 1996-ban az Információs Rejtőzés: Első Információs Műhely konferencián egységes terminológiát fogadtak el:

  • A szteganográfiai rendszer (stegosystem) olyan módszerek és eszközök kombinációja, amelyek segítségével titkos csatorna jön létre az információtovábbításhoz. Egy ilyen rendszer felépítésénél megállapodtak abban, hogy: 1) az ellenség a szteganográfiai rendszer munkáját képviseli. Az ellenség számára ismeretlen a kulcs, amellyel a titkos üzenet létezéséről és tartalmáról tájékozódhat. 2) Ha egy ellenfél egy rejtett üzenet jelenlétét fedezi fel, akkor nem szabad tudnia kinyerni az üzenetet, amíg meg nem kapja a kulcsot. 3) Az ellenségnek nincsenek technikai vagy egyéb előnyei.
  • Az üzenet a továbbított rejtett információ általános nevére használt kifejezés, legyen az tejlap, rabszolgafej vagy digitális fájl.
  • Tároló – ez a neve a titkos üzenetek elrejtésére használt információknak. Az üres tároló olyan tároló, amely nem tartalmaz titkos üzenetet. A megtöltött tartály (stegocontainer) egy titkos üzenetet tartalmazó tartály.
  • A szteganográfiai csatorna (stegochannel) a stegocontainer átviteli csatornája.
  • Kulcs (stegokey) - a stegocontainer elrejtéséhez szükséges titkos kulcs. A sztegorendszerekben kétféle kulcs létezik: titkos és nyilvános. Ha a sztegorendszer titkos kulcsot használ, akkor azt vagy az üzenetváltás előtt létre kell hozni, vagy biztonságos csatornán kell továbbítani. A nyilvános kulcsot használó sztegorendszert úgy kell megtervezni, hogy abból ne lehessen privát kulcsot szerezni. Ebben az esetben nyilvános kulcs nem biztonságos csatornán tudjuk továbbítani.

D. Salomon. Adatok, képek és hangok tömörítése. Moszkva: Techno-szféra, 2004.

D. Salomon. Adatok, képek és hangok tömörítése. Moszkva: Techno-szféra, 2004.- a klasszikus szteganográfia iránya, a számítógépes platform adottságai alapján. Példák - StegFS fájlrendszer Linuxhoz, adatok elrejtése a fájlformátumok nem használt területein, karaktercsere a fájlnevekben, szövegszteganográfia stb. Íme néhány példa:

  • Számítógépes fájlformátumok lefoglalt mezőinek használata - a módszer lényege, hogy a kiterjesztés mező azon része, amely nincs kitöltve kiterjesztés információval, alapértelmezés szerint nullákkal van kitöltve. Ennek megfelelően ezt a „nulla” részt használhatjuk adataink rögzítésére. Ennek a módszernek a hátránya az alacsony titkosság és a kis mennyiségű továbbított információ.
  • Módszer az információk elrejtésére a hajlékonylemezeken lévő nem használt helyeken - ennek a módszernek a használatakor az információ a lemez nem használt részeire íródik, például a nulladik sávra. Hátrányok: alacsony teljesítmény, kis üzenetek továbbítása.
  • Felhasználási mód speciális tulajdonságok formátumú mezők, amelyek nem jelennek meg a képernyőn – ez a módszer speciális „láthatatlan” mezőkön alapul a lábjegyzetek és indexek beszerzéséhez. Például fekete alapon fekete betűtípussal írva. Hátrányok: alacsony teljesítmény, kis mennyiségű továbbított információ.
  • A fájlrendszerek funkcióinak felhasználásával - ha merevlemezen tárolják, egy fájl mindig (egyes fájlrendszereket, például a ReiserFS-t nem számítva) egész számú fürtöt foglal el (minimális címezhető információmennyiség). Például a korábban széles körben használt fájlrendszer FAT32 (Windows98-ban használt //) szabványos fürtméret - 4 KB. Ennek megfelelően 1 KB információ tárolására a lemezen 4 KB információ van lefoglalva, amelyből 1 KB szükséges a mentett fájl tárolásához, a maradék 3 pedig nem használható semmire - ennek megfelelően az információ tárolására is használható. . A módszer hátránya: könnyű felismerés.

Vatolin D., Ratushnyak A., Smirnov M., Yukin V. Adattömörítési módszerek. Archív eszköz, kép- és videótömörítés. - M.: DIALOG-MEPhI, 2003.

Egy fa képe, amelybe egy másik kép van elrejtve digitális szteganográfia segítségével. A képet úgy rejti el, hogy minden színösszetevőből eltávolítja a legkisebb jelentőségű két bitet, majd normalizálja.

A macskakép a fenti faképből kinyerve

Vatolin D., Ratushnyak A., Smirnov M., Yukin V. Adattömörítési módszerek. Archív eszköz, kép- és videótömörítés. - M.: DIALOG-MEPhI, 2003.- a klasszikus szteganográfia iránya, amely a digitális objektumok elrejtésén vagy további információk bevitelén alapul, ami ezeknek az objektumoknak némi torzulását okozza. De ezek az objektumok általában multimédiás objektumok (képek, videó, hang, 3D objektumok textúrái), és az átlagember érzékenységi küszöbe alatti torzítások bevezetése nem vezet észrevehető változásokhoz ezekben az objektumokban. Ezenkívül a digitalizált objektumok, amelyek eredetileg analóg jellegűek, mindig tartalmaznak kvantálási zajt; továbbá ezen objektumok reprodukálásakor további analóg zajok és a berendezés nemlineáris torzulásai jelennek meg, mindez hozzájárul a rejtett információk nagyobb láthatatlanságához.

Algoritmusok

A rejtett információk beágyazására szolgáló összes algoritmus több alcsoportra osztható:

  • Magával a digitális jellel dolgozik. Például az LSB módszer.
  • Rejtett információk „beforrasztása”. Ebben az esetben a rejtett kép (hang, néha szöveg) az eredeti tetejére kerül. Gyakran használják digitális vízjelek beágyazására.
  • A fájlformátumok funkcióinak használata. Ez magában foglalhatja az információ rögzítését a metaadatokban vagy a fájl számos más, nem használt fenntartott mezőjében.

Az információ beágyazásának módja alapján a stegoalgoritmusok lineáris (additív), nemlineáris és másokra oszthatók. Az additív információbeágyazás algoritmusai magukban foglalják az eredeti kép lineáris módosítását, és a dekódolóban való kinyerését korrelációs módszerekkel hajtják végre. Ilyenkor a digitális festményt általában a konténerképpel kombinálják, vagy „beolvadják” abba. A nemlineáris információbeágyazási módszerek skaláris vagy vektorkvantálást használnak. Más módszerek mellett különösen érdekesek azok a módszerek, amelyek a fraktálképkódolás ötleteit használják fel. Az additív algoritmusok a következők:

  • A17 (Cox)
  • A18 (Barni)
  • L18D (Lange)
  • A21 (J. Kim).
  • A25 (S. Podilchuk).

LSB módszer

LSB(Least Significant Bit, legkevésbé jelentős bit) - ennek a módszernek a lényege, hogy a tároló utolsó jelentős bitjeit (kép-, hang- vagy videófelvétel) a rejtett üzenet bitjeivel helyettesítjük. Az üres és a megtöltött tartályok közötti különbség nem lehet észrevehető az emberi felfogás számára.

A módszer lényege a következő: Tegyük fel, hogy van egy 8 bites szürkeárnyalatos kép. A 00h (00000000b) feketét, az FFh (11111111b) fehéret jelent. Összesen 256 fokozat van (). Tételezzük fel azt is, hogy az üzenet 1 bájtos – például 01101011b. Ha 2 legkisebb jelentőségű bitet használunk a pixelleírásokban, akkor 4 pixelre van szükségünk. Tegyük fel, hogy feketék. Ekkor a rejtett üzenetet tartalmazó pixelek így fognak kinézni: 000000 01 00000010 00000010 00000011 . Ezután a pixelek színe megváltozik: az első - 1/255, a második és a harmadik - 2/255, a negyedik pedig 3/255. Az ilyen, nem csak az ember számára láthatatlan árnyalatok előfordulhat, hogy egyáltalán nem jelennek meg gyenge minőségű kimeneti eszközök használatakor.

Az LSB metódusok instabilok minden típusú támadáshoz, és csak akkor használhatók, ha nincs zaj az adatátviteli csatornában.

Az LSB-kódolt stego észlelését a digitális jelminták alacsony rendű bitjei tartományának értékeinek eloszlásának rendellenes jellemzői alapján hajtják végre.

Az összes LSB módszer általában additív (A17, L18D).

A grafikus fájlok információinak elrejtésének egyéb módszerei a veszteséges fájlformátumokra, például a JPEG-re összpontosítanak. Az LSB-vel ellentétben jobban ellenállnak a geometriai átalakulásoknak. Ezt variálással érik el széles körű képminőség, ami lehetetlenné teszi a kép forrásának meghatározását.

Echo módszerek

Echo módszerek a digitális hangszteganográfiában használják, és szabálytalan szóközöket használnak a visszhangok között egy értéksorozat kódolásához. Számos korlátozás előírásakor betartják az emberi észlelés láthatatlanságának feltételét. A visszhangot három paraméter jellemzi: kezdeti amplitúdó, csillapítás mértéke, késleltetés. Amikor elér egy bizonyos küszöböt a jel és a visszhang között, keverednek. Ezen a ponton az emberi fül már nem tud különbséget tenni e két jel között. Ennek a pontnak a meglétét nehéz meghatározni, és az eredeti felvétel minőségétől és a hallgatótól függ. A leggyakrabban használt késleltetés 1/1000 körül van, ami a legtöbb felvétel és hallgató számára teljesen elfogadható. Két különböző késleltetést használnak a logikai nulla és az egyes jelzésére. Mindkettőnek kisebbnek kell lennie, mint a hallgató fülének a vett visszhangra vonatkozó érzékenységi küszöbértéke.

Az echo módszerek ellenállnak az amplitúdó- és frekvenciatámadásoknak, de nem ellenállnak az időbeli támadásoknak.

Fáziskódolás

Fáziskódolás(fáziskódolás, fáziskódolás) - a digitális hangszteganográfiában is használatos. Az eredeti hangelemet egy relatív fázis váltja fel, ami a titkos üzenet. Az egymást követő elemek fázisát úgy kell hozzáadni, hogy az eredeti elemek közötti relatív fázis megmaradjon. A fáziskódolás az információ elrejtésének egyik leghatékonyabb módja.

Spread spektrum módszer

Üzenetbeágyazási módszer abból áll, hogy egy speciális véletlenszerű sorozatot beágyaznak egy tartályba, majd egy illesztett szűrő segítségével ezt a sorozatot észlelik. Ez a módszer lehetővé teszi nagyszámú üzenet beágyazását egy tárolóba anélkül, hogy azok zavarnák egymást. A módszert a szélessávból kölcsönözték.

Sztegoszisztémák elleni támadások

A sztegoszisztéma elleni támadás egy rejtett szteganográfiai üzenet észlelésére, kinyerésére és megváltoztatására irányuló kísérlet. Az ilyen támadásokat steganalízisnek nevezik, hasonlóan a kriptográfiai kriptográfiai elemzéshez. A szteganográfiai rendszer azon képességét, hogy ellenálljon a támadásoknak, szteganográfiai erőnek nevezzük. A legegyszerűbb támadás szubjektív. Gondosan megvizsgálják a képet, és meghallgatják a hangfelvételt, hogy megpróbálják megtalálni a benne rejtett üzenet létezésének jeleit. Egy ilyen támadás csak a teljesen védtelen sztegorendszereknél sikeres. Általában ez az első lépés a sztegoszisztéma megnyitásához. A következő típusú támadásokat különböztetjük meg.

  • Támadás egy ismert tele tartályon;
  • Ismert beágyazott üzenet támadás;
  • Támadás a kiválasztott rejtett üzenet alapján;
  • Adaptív támadás a kiválasztott rejtett üzenet alapján;
  • Támadás a kiválasztott töltött tartály alapján;
  • Ismert üres konténer támadás;
  • Támadás a kiválasztott üres konténer alapján;
  • Egy konténer jól ismert matematikai modelljén alapuló támadás.

Nézzünk ezek közül néhányat:

Támadás ismert teli tartályon- a betörőnek egy vagy több stegoja van. Több stego esetén úgy tekintendő, hogy a rejtett információk rögzítését a küldő azonos módon végezte. A támadó feladata egy stego csatorna létezésének észlelése, valamint az ahhoz való hozzáférés vagy a kulcs meghatározása. A kulccsal más stego üzenetek is felfedhetők.

Támadás egy konténer jól ismert matematikai modellje alapján- a támadó megállapítja a különbséget a gyanús üzenet és az általa ismert modell között. Például hagyja, hogy egy képmintán belüli bitek legyenek korrelációban. Ekkor a korreláció hiánya egy rejtett üzenet jelenlétének jelzéseként szolgálhat. Ebben az esetben az üzenetmegvalósító feladata, hogy ne sértse meg a konténerben lévő statisztikai törvényeket.

Ismert üres konténer támadás- ha a támadó tudja üres konténer, akkor a várt sztegóval összehasonlítva megállapítható egy stego csatorna jelenléte. A módszer látszólagos egyszerűsége ellenére van elméleti igazolása a módszer hatékonyságának. Különösen érdekes az az eset, amikor a konténert valamilyen hibával ismerjük (ez akkor lehetséges, ha zajt adunk hozzá).

Szteganográfia és digitális vízjel

A torzítással szembeni ellenállás növelésére gyakran használnak zajálló kódolást vagy szélessávú jeleket. A rejtett üzenet kezdeti feldolgozását az előkódoló végzi el. A digitális hullámforma fontos előfeldolgozása az általánosított Fourier-transzformáció kiszámítása. Ez növeli a zaj elleni védelmet. Az elsődleges feldolgozás gyakran kulcs használatával történik a titkosság növelése érdekében. Ezután a vízjelet „becsomagolják” a tartályba (például a legkisebb jelentőségű bitek megváltoztatásával). Itt az emberi képészlelés sajátosságait használják fel. Köztudott, hogy a képek óriási pszichovizuális redundanciával rendelkeznek. Az emberi szem olyan, mint egy aluláteresztő szűrő, amely átengedi a kép apró elemeit. A torzítások a képek nagyfrekvenciás tartományában a legkevésbé észrevehetők. A CVS megvalósítása során figyelembe kell venni az emberi észlelés tulajdonságait is.

Sok sztegorendszerben kulcsot használnak digitális digitális képek írására és olvasására. Lehet, hogy korlátozott számú felhasználó számára készült, vagy titkos lehet. Például a DVD-lejátszókban kulcsra van szükség ahhoz, hogy olvassák a lemezeken található digitális kiállításokat. Mint ismeretes, nincsenek olyan sztegorendszerek, amelyekben más információra lenne szükség a vízjel olvasásakor, mint írásánál. A stegodetektor digitális vízjeleket észlel egy általa védett fájlban, amelyet esetleg megváltoztathattak volna. Ezek a változások a kommunikációs csatorna hibáinak vagy szándékos interferenciának a következményei lehetnek. A legtöbb sztegoszisztéma modellben a konténer jele additív zajnak tekinthető. Ebben az esetben a stego üzenet észlelésének és kiolvasásának feladata már nem nehéz, de nem vesz figyelembe két tényezőt: a konténer jelének véletlenszerűségét és a minőség megőrzésére irányuló kéréseket. Ezen paraméterek figyelembe vétele lehetővé teszi számunkra, hogy jobb sztegorendszereket építsünk. A vízjel létezésének észleléséhez és olvasásához speciális eszközöket használnak - sztegodetektorokat. A vízjel meglétére vagy hiányára vonatkozó döntés meghozatalához például a Hamming-távolságot, a vett jel és az eredeti jel közötti interkorrelációt használják. Kezdeti jel hiányában kifinomultabb statisztikai módszerek lépnek életbe, amelyek a vizsgált jelek osztályának modelljére épülnek.

A szteganográfia alkalmazása

A modern nyomtatókban

Néhány modern nyomtatóban a szteganográfiát használják. Nyomtatáskor kis pontok jelennek meg minden oldalon, amelyek információkat tartalmaznak a nyomtatás idejéről és dátumáról, valamint sorozatszámát nyomtató.

A digitális szteganográfia alkalmazása

A digitális szteganográfia keretei közül a legnépszerűbb jogi irányvonal – a digitális vízjelek (watermarking) beágyazása – jött létre, amely a szerzői jogvédelmi rendszerek és a DRM (Digital Rights Management) rendszerek alapja. Az ilyen irányú módszerek úgy vannak beállítva, hogy olyan rejtett markereket ágyazzanak be, amelyek ellenállnak a különféle konténer-átalakításoknak (támadásoknak).

A félig törékeny és törékeny digitális digitális aláírásokat analóg digitális aláírásként használják, amely információkat tárol a továbbított aláírásról, és megkísérli megsérteni a tároló (adatátviteli csatorna) integritását.

Például a Digimarc fejlesztései az Adobe Photoshop szerkesztő bővítményei formájában lehetővé teszik, hogy magába a képbe ágyazzon be információkat a szerzőről. Az ilyen jegy azonban instabil, akárcsak abszolút többségük. A Stirmark program, amelyet Fabien Petitcolas tudós fejlesztett ki, sikeresen támad hasonló rendszerek, elpusztítja a szarvasbikákat.

A terroristák állítólagos felhasználása

Példa, amely bemutatja, hogyan használhatnak terroristák avatárokat rejtett üzenetek közvetítésére. Ez a kép a következőt tartalmazza: "A főnök azt mondta, hogy éjfélkor robbantsuk fel a hidat." A http://mozaiq.org/encrypt használatával titkosítva, a "växjö" karakterkombinációval jelszóként.

A szteganográfia terroristák általi használatáról szóló pletykák azóta jelentek meg, hogy 2001. február 5-én megjelent a USA Today két cikk: "A terroristák utasításokat rejtenek el az interneten" és "Terrorista csoportok rejtőznek a webes titkosítás mögött". 2002. július 10-én ugyanez az újság közzétette a „Militants Cover the Web with Jihad Links” című cikket. Ez a cikk arról számolt be, hogy a terroristák fényképeket használtak az eBay-en, hogy rejtett üzeneteket közvetítsenek. Sok sajtóorgánum újranyomta ezeket a jelentéseket, különösen a szeptember 11-i terrortámadások után, bár ezt az információt nem erősítették meg. A USA Today cikkeit Jack Kelly külföldi tudósító írta, akit 2004-ben menesztettek, miután kiderült, hogy ezt az információt gyártották. 2001. október 30-án a The New York Times megjelentette az „Álruházott terrorista üzenetek rejtőzködhetnek a kibertérben” című cikket. A cikk azt sugallta, hogy az al-Kaida szteganográfiát használt az üzenetek képekben való elrejtésére, majd e-mailben és Usenet útján továbbította azokat a szeptember 11-i támadásokra való felkészülés során. A terrorista kiképzési kézikönyvben „Technological Mujahid, képzési kézikönyv a dzsihádért” című fejezetben található a szteganográfia használatáról szóló fejezet.

Hírszerző ügynökségek állítólagos felhasználása

  • A hírhedt görög milliomos, Arisztotelész Onassis többször használt egy szimpatikus tintával ellátott tollat ​​a szerződések aláírásakor.
  • A "Genius" című filmben a főszereplő - Alekszandr Abdulov karaktere - megtéveszti a rendőrséget azzal, hogy szimpatikus tintával vallomást ír.

Linkek

Szoftver implementációk

  • OpenPuff: Double Steganography, Bmp, Jpeg, Png, Tga, Pcx, Aiff, Mp3, Next, Wav, 3gp, Mp4, Mpeg I, MPEG II, Vob, Flv, Pdf, Swf

Cikkek

  • A szteganográfia által elrejtett anyagok keresésére szolgáló programok áttekintése

Más

  • Szteganográfia (orosz), Johannes Trithemius


Kapcsolódó kiadványok