
Lengyel kutatók új módszert javasoltak hálózati steganográfiára, amely a TCP szintű átviteli protokoll munkájának sajátosságain alapul. A munka szerzői úgy vélik, hogy sémájuk például használható elrejtett üzenetek továbbítására totalitárius államokban, ahol szigorú internetes cenzúra van érvényben. Nézzük meg, mi is az újdonság lényege, és mennyire hasznos valójában.
Először is meg kell határoznunk, mi az a steganográfia. Tehát a steganográfia az üzenetek elrejtett továbbításáról szóló tudomány. Vagyis ennek módszereivel a felek megpróbálják elrejteni maga az átvitel tényét. Ez a tudomány különbözik a kriptográfiától, amely arra törekszik, hogy a küldemény tartalmát olvashatatlanná tegye. Érdemes megjegyezni, hogy a kriptográfusok szakmai közössége meglehetősen megvetően szemléli a steganográfiát, mivel ideológiája közel áll a „Security through obscurity” (magyarul talán „Biztonság a tudatlanság révén”) elvéhez. Ezt az elvet például a Skype Inc. használja — a népszerű telefonáló alkalmazás forráskódja zárt, és senki sem tudja pontosan, hogyan történik az adatok titkosítása. Nemrég egyébként erről panaszkodtak az NSA-nál, amiről a neves szakértő, Bruce Schneier a blogján.
Visszatérve a steganográfiára, válaszoljunk arra a kérdésre, hogy miért van rá szükség, ha van kriptográfia. Valóban, titkosíthatunk egy üzenetet valamilyen modern algoritmus segítségével, és ha elegendő hosszú kulcsot használunk, senki sem tudja elolvasni, hacsak ön ezt nem kívánja. Mégis, néha hasznosabb, ha magát a titkos átvitel tényét rejtjük el. Például, ha az illetékes hatóságok elkapták az ön titkosított üzenetét, és nem tudják dekódolni, de nagyon szeretnék, akkor végül is léteznek nem számítógépes módszerek az információk megszerzésére és befolyásolására. Dystopikusnak hangzik, de nézze, ilyen alapvetően elképzelhető. Ezért jobb lenne úgy eljárni, hogy azok, akik nem illetékesek, ne tudják, hogy az átvitel valójában megtörtént. Lengyel kutatók éppen ezt a módszert javasolták. Ráadásul ezt a protokollt használva, amelyet minden internetező naponta ezerszer használ.
Itt közel kerültünk a Transmission Control Protocolhoz (TCP). Az összes részletet kifejteni természetesen nincs értelme - hosszan tartó és unalmas, akit érdekel, annak úgyis világos. Röviden elmondható, hogy a TCP egy szállítási szintű protokoll (azaz az IP felett és az alkalmazási szintű protokollok, például a HTTP, FTP vagy SMTP alatt működik), amely biztosítja az adatok megbízható továbbítását az elküldőtől a címzettig. A megbízható továbbítás azt jelenti, hogy ha egy csomag elveszett vagy megváltozott, a TCP gondoskodik róla, hogy azt újra elküldje. Meg kell jegyezni, hogy a csomagok megváltozása itt nem szándékos adathamisítást jelent, hanem a fizikai szinten fellépő átvitel során bekövetkező hibákat. Például miközben a csomag a rézvezetéken haladt, néhány bit értéke megváltozott az ellenkezőjére, vagy teljesen elveszett a zaj között (egyébként az Ethernet esetében a Bit Error Rate értékét általában 10-8 körüli értékre veszik). A csomagok elvesztése az úton viszonylag gyakori jelenség az interneten. Ez például a routerek túlterheltségéből adódhat, ami a pufferek túlcsordulásához és így az újonnan érkező csomagok eldobásához vezet. Általában a veszteséges csomagok aránya körülbelül 0,1%, és ha ez a szám pár százalékra emelkedik, a TCP gyakorlatilag nem működik normálisan - a felhasználó számára minden csodálatosan lelassul.
Így láthatjuk, hogy a csomagok átküldése (retranzmisszió) a TCP esetében gyakori és alapvetően szükséges esemény. Tehát miért ne lehetne ezt használni a steganográfiai célokra, figyelembe véve, hogy a TCP, ahogy már említettük, széles körben elterjedt (különböző becslések szerint a TCP aránya az interneten 80-95% között mozog). A javasolt módszer lényege, hogy a továbbított üzenetben nem azt küldjük el, ami az eredeti csomagban volt, hanem azokat az adatokat, amelyeket el szeretnénk rejteni. És nem is olyan egyszerű felfedezni ezt a megtévesztést. Tudni kell, hová kell nézni - a szolgáltató által kezelt egyidejű TCP kapcsolatok száma hatalmas. Ha tudjuk a hálózati retranzmissziók körüli körülbelüli szintet, akkor a steganográfiai átküldési mechanizmust úgy tudjuk beállítani, hogy a kapcsolatunk ne különbözzön másoktól.
Természetesen ennek a módszernek is vannak hátrányai. Például, gyakorlati szempontból nem olyan egyszerű bevezetni — ez megkívánja a hálózati stack módosítását az operációs rendszerekben, bár nem is annyira bonyolult. Ezen kívül, ha elegendő erőforrás áll rendelkezésre, akkor is lehet „titkos” csomagokat felfedezni, ehhez szükséges minden egyes csomagot átvizsgálni és elemezni a hálózatban. De általában ezt gyakorlatilag lehetetlen megtenni, ezért általában a kiemelkedő csomagokat és kapcsolódásokat keresik, amit ez a módszer éppen arra szolgál, hogy a kapcsolatod ne tűnjön különlegesnek. És senki sem akadályozhat meg abban, hogy titkos információkat titkosítson, minden esetre. Eközben magának a kapcsolatonak lehet, hogy titkosítatlan marad, hogy kevesebb gyanút keltsen.
A munka szerzői (tudomásul vesszük, hogy akit érdekel, ez) szimulációs szinten megmutatták, hogy a javasolt módszer úgy működik, ahogyan azt megálmodták. Lehetséges, hogy a jövőben valaki foglalkozik az ötletük gyakorlati megvalósításával. És akkor remélhetőleg a interneten egy kicsit kevesebb lesz a cenzúra.
Forrás: habr.com
