
Polští vědci navrhli nový způsob síťové steganografie, který je založen na zvláštnostech fungování široce využívaného transportního protokolu TCP. Autoři tohoto výzkumu se domnívají, že jejich schéma by mohlo být například použito k přenosu skrytých zpráv v totalitních zemích, které zavádějí přísnou internetovou cenzuru. Pojďme se podívat na to, v čem spočívá novinka a jak užitečná skutečně je.
Nejdříve je třeba definovat, co je steganografie. Takže, steganografie je věda o skrytém přenosu zpráv. To znamená, že při použití jejích metod se strany snaží skrýt sám fakt přenosu. A v tom tkví rozdíl mezi touto vědou a kryptografií, která se snaží učinit obsah zprávy nepřístupným pro čtení. Je třeba poznamenat, že profesionální kryptografická komunita se na steganografii dívá s určitým pohrdáním, vzhledem k blízkosti její ideologie k principu „Bezpečnost skrze neznalost“. Tento princip například používá společnost Skype Inc. — zdrojový kód populární telefonní aplikace je uzavřen a nikdo přesně neví, jakým způsobem je zajištěno šifrování dat. Nedávno se o tom mimochodem zmiňovali v NSA, o čemž známý odborník Bruce Schneier napsal na svém blogu.
Když se vrátíme ke steganografii, odpovězme na otázku, proč je vůbec potřebná, když existuje kryptografie. Opravdu, lze zašifrovat zprávu pomocí nějakého moderního algoritmu a s použitím dostatečně dlouhého klíče si nikdo tuto zprávu přečíst nemůže, pokud si to nepřejete. A přesto, někdy může být užitečnější skrýt samotný fakt tajného přenosu. Například, pokud příslušné orgány zachytí vaši zašifrovanou zprávu, nemohou ji dešifrovat, ale pokud si velmi přejí, existují i jiné, počítačově nevyžadující metody ovlivňování a získávání informací. Zní to dystopicky, ale, souhlasíte, taková situace je v zásadě možná. Proto by bylo lepší udělat to tak, aby ti, kdo nemají žádné oprávnění, vůbec netušili, že k přenosu došlo. Polští vědci právě navrhli takovou metodu. A to navrhují provést pomocí protokolu, který každý uživatel internetu používá tisíckrát denně.
Zde jsme se blízko přiblížili k protokolu Transmission Control Protocol (TCP). Vysvětlovat všechny jeho detaily, samozřejmě, nedává smysl – je to dlouhé, nudné a ti, kdo to potřebují, to už dávno znají. Stručně řečeno, TCP je protokol transportní vrstvy (tj. funguje „nad“ IP a „pod“ aplikačními protokoly, jako jsou HTTP, FTP nebo SMTP), který zajišťuje spolehlivé doručení dat od odesílatele k příjemci. Spolehlivé doručení znamená, že pokud se nějaký datový paket ztratí nebo dorazí s chybami, TCP se postará o jeho opětovné odeslání. Je třeba poznamenat, že „změny“ v paketu zde odkazují na nezamýšlené zkreslení dat, nikoli na úmyslné chyby, které vznikají na fyzické úrovni přenosu. Například, zatímco paket putoval po měděných drátech, mohly se některé bity změnit na opačné hodnoty nebo se úplně ztratit mezi šumem (mimochodem, pro Ethernet je hodnota Bit Error Rate obvykle přijímána jako přibližně 10-8). Ztráta paketů během cesty je také poměrně častým jevem na internetu. Může k ní dojít například kvůli přetížení routerů, což vede k přetečení bufferingu a v důsledku toho k odmítnutí všech nově příchozích paketů. Obvykle podíl ztracených paketů činí kolem 0,1 %, a při hodnotě několika procent TCP zcela přestává normálně fungovat – uživateli všechno šíleně zamrzá.
Takže vidíme, že retransmise paketů je pro TCP častým a v podstatě potřebným jevem. Proč tedy nevyužít TCP pro potřeby steganografie, když už bylo zmíněno, že je široce používaný (podle různých odhadů dnes tvoří podíl TCP na internetu 80-95 %)? Podstata navržené metody spočívá v tom, že do odesílané zprávy se posílají nikoli data obsažená v původním paketu, ale ta, která se snažíme skrýt. Objevování takové náhrady však není tak jednoduché. Je třeba vědět, kam se dívat – počet souběžných TCP připojení procházejících poskytovatelem je zcela obrovský. Pokud znáte přibližnou úroveň retransmise v síti, můžete přizpůsobit mechanismus steganografické retransmise tak, aby vaše připojení nijak nevynikalo od ostatních.
Samozřejmě, že tato metoda není bez nedostatků. Například z praktického hlediska nebude její zavedení tak jednoduché — to si bude vyžadovat změny v síťovém zásobníku operačních systémů, ačkoli na tom není nic extrémně složitého. Kromě toho, pokud máte dostatek zdrojů, lze stále odhalit "skryté" pakety; k tomu je nutné procházet a analyzovat každý paket v síti. Ale zpravidla je to prakticky nemožné, proto se obvykle hledají nějaké výjimečné pakety a spojení, a navrhovaná metoda činí vaše spojení nepřipomínajícím nic zvláštního. A nikdo vám také nebrání zašifrovat skrytá data pro všechny případy. Samotné spojení však může zůstat nezašifrované, aby vzbuzovalo méně podezření.
Autoři práce (mimochodem, pro zajímavost, to) na úrovni simulací ukázali, že navrhovaná metoda funguje, jak bylo zamýšleno. Možná, že v budoucnu se někdo ujme realizace jejich myšlenky v praxi. A pak, doufejme, na internetu bude o něco méně cenzury.
Zdroj: habr.com
