Bezpečnost sítí a Facebook pod palbou

icon_256

V dnešní době, kdy téměř každý mobilní telefon disponuje bezdrátovou technologií Wi-Fi,  je zcela běžné, že se uživatelé připojují k neznámým bezdrátovým sítím, které jsou volně přístupné.  V dnešním článku tedy zabrousíme do bezpečnosti bezdrátových sítí, povíme si něco o šifrování, cookies a na závěr si ukážeme mobilní aplikaci, která využívá slabin bezpečnosti sítí a dokáže získat přístup k cizím účtům na Facebooku.

Úvod

Ačkoliv jste možná z úvodního odstavce nabyli dojmu, že dnešním tématem trochu odbočuji od zaměření našeho webu, jsem přesvědčen, že k pochopení a obranou před podobnými aplikacemi a útoky na Vaše data je zapotřebí si povědět něco z teorie fungování sítí a komunikace. Není nutné zabíhat do přílišných detailů, proto si vše povíme jen ve stručnosti.

Trocha teorie

Šifrování

Jelikož je signál bezdrátových sítí šířen v celém okolí vysílače a není možné jej přenášet jen určitým místem a přesně do cíle, je zapotřebí chránit obsah přenášených dat. Zcela skrýt signál je zatím nemožné, proto se signál šifruje (proces, při kterém je série bitů transformována matematickými a logickými operacemi na jinou sérii bitů). Bez znalosti klíče je Vám pak zachycený obsah k ničemu, neboť data tvoří bez rozšifrování jen shluk nesmyslných znaků (zjednodušeně řečeno).

Většina z nás se jistě setkala s pojmy WEP a WPA (WPA2), což jsou protokoly starající se o bezpečný přenos dat v bezdrátové síti. První zmíněný protokol, WEP, je z vypsané trojice nejstarší a jeho použití se již dnes nedoporučuje, protože prolomit šifrování je pro zkušeného uživatele v tomto případě záležitost několika minut. Proniknout do sítě s protokolem WPA a zejména WPA2 je už však velmi problematické.

Druhým účinným stupněm ochrany je šifrování dat přímo pomocí aplikací, které využijí šifrovací protokol SSL, případně novější TLS. Mezi data, která chceme nejčastěji chránit, patři internetová korespondence (email, ICQ, Jabber atp.) a údaje přenášené pomocí prohlížeče. Je proto žádoucí, abychom dali pozor, zda máme v aplikacích nastaveno použití SSL a zda-li v prohlížeči přistupejeme k citlivým datům přes protokol HTTPS, který využívá SSL.

Pojďme si to ukázat v praxi. Použil jsem access point pro vytvoření bezdrátové sítě, jeden notebook s operačním systémem Windows a druhý notebook s linuxovou distribucí Back Track, která obsahuje nástroje pro zkoumání bezdrátových sítí, a program Wireshark, dík němuž můžeme analyzovat pakety. Použil jsem nezabezpečenou Wi-Fi síť, jako je dnes běžné u volně přístupných bezdrátových sítí. Z notebooku s Windows jsem odeslal e-mail přes klienta v Opeře, ve kterém jsem nepoužil šifrování TLS.

4_small

Útočník (notebook s Wiresharkem) naslouchal a zachytával nešifrované pakety. Jelikož jsem odesílal email, stačí ve Wiresharku sledovat protokol SMTP, který se o odesílání a komunikaci mezi e-mailovými servery používá. Jak je patrno na snímku obrazovky Wiresharku, byla zachycena celá komunikace se SMTP serverem.

1_small

Při bližším zkoumání paketů se dozvíme takřka vše – odesílatele, příjemce, předmět i text zprávy.

2_small

O něco zkušenější útočník dokáže snadno nalézt dokonce i přihlašovací jméno a heslo. To se skrývá v údaji AUTH PLAIN při navazování komunikace serveru a klienta. Tato hodnota na první pohled nepřipomíná přihlašovací údaje, protože je zakódovaná metodou base64. Zakódovaná však neznamená zašifrovaná, takže lze velice snadno dekódovat a převést na použitelné znaky, čímž útočník získá login a heslo pro přihlášení k e-mailu.

3_small

Cookies

Teoretickou odbočku zakončím povídáním o sušenkách. Sbíhající sliny můžete opět zahnat, neboť řeč bude o sušenkách, které využívají internetové prohlížeče. Věřím, že se s tímto pojmem už řada z Vás setkala. Cookies jsou data, která se dočasně ukládají do Vašeho počítače a slouží jako jakási paměť prohlížení internetových stránek. Využívají je např. e-shopy pro ukládání vašeho momentálního nákupního košíku, a pak také veškeré servery s registrací. Místo toho, abychom při přechodu na jinou stránku posílali serveru znovu své přihlašovací údaje a zůstali tak stále na webu přihlášení, posíláme serveru jen svoji identitu uloženou v cookies. Toho využívají prohlížeče i k automatickému přihlašování.

FaceNiff

Konečně se dostávám zpět k něčemu ze světa Androida. Představme si situaci, kdy se s notebookem uživatel připojí k nezabezpečené síti, nepoužívá HTTPS a nic zlého netuše brouzdá na svém profilu na sociální síti Facebook. Tato hororová situace nahrává útočníkům, kteří jsou schopni zachytit a přečíst veškerý obsah dat, který sítí putuje. FaceNiff se zaměřuje na pakety, které obsahují cookies ze serveru Facebook. Získanou identitu pošle serveru a ten Vám umožní přístup na odcizený profil. Jak jsem psal v předešlém odstavci, v cookies se přihlašovací údaje nevyskytují, takže útočník údaje k přihlášení nezíská (tedy za předpokladu, že útočník nezachytil paket, kterým se uživatel poprvé na profil přihlásil, tj. ručně zadal přihlašovací údaje). Nyní je však útočník na Vašem profilu přihlášen a může dělat veškerou činnost, ke které nepotřebuje znát heslo – vytvářet, měnit a mazat obsah zdi, přidávat a mazat přátele atp.

Použití v praxi

Aplikace jednoduše odchytává a prohledává pakety, jestli neobsahují cookies ze sítě Facebook. Zachytí-li takový paket, vypíše ID účtu, po tapnutí pošle falešné cookies do prohlížeče a umožní Vám tak přístup na odcizený profil. Ve většině případů je to otázka několika desítek sekund, což dokazuje i mnou natočené video.

Jak se bránit?

V případě Facebooku je nutno použít zabezpečený protokol HTTPS, čehož docílíme v nastavení povolením volby Kdykoli je to možné, používat Facebook prostřednictvím zabezpečeného připojení (HTTPS).

4_small

Ačkoliv jako příklad v dnešním článku uvádím Facebook, je Vám asi jasné, že existují i aplikace, které dokáží odcizit účty z jiných služeb, nemluvě o tom, že útočník může filtrovat a odchytávat ručně všechny pakety třeba ve Wiresharku a získávat data odtud. Je-li to tedy možné, používejte vždy a všude šifrovaný způsob komunikace, ať už je to přihlašování na služby prostřednictvím prohlížeče, e-mailoví klienti nebo internetové komunikační programy (ICQ, jabber, gtalk apod.).

Jakýkoliv pokus o odcizení cizího účtu, je nezákonný a může být považován za trestný čin. Pokud se rozhodnete otestovat zabezpečení Vašeho Facebook účtu, jednáte na vlastní zodpovědnost.

Závěr

Nejlepším řešením by samozřejmě bylo se do nezabezpečených sítí nepřijovat. To je ale obtížné, zvláště když člověk potřebuje internetové připojení a nemá jinou možnost. Šance, že někde narazíte na útočníka, který by byl připojen ve stejné síti, je sice malá, ale právě díky těmto aplikacím, které nepotřebují žádné znalosti uživatele a jejich použití je naprosto triviální, nemusí být takové útoky ojedinělé. Je proto ve Vašem zájmu se proti tomu co nejvíce bránit. Samozřejmě ani v případě zabezpečení nemáte 100% jistotu, že se k Vašim datům nedá dostat, riziko však mnohonásobně snížíte, protože prolomení šifrování už není tak jednoduché a rozhodně to nezvládne aplikace na dvě kliknutí.

Jako autor článku jsem se rozhodoval, zda FaceNiff uvést, nebo jméno této aplikace nezmiňovat. V dnešní době je to však otázkou několika sekund při použití Googlu a k názvu se snadno dopátráte (schválně si zkuste zadat “jak ukrást Facebook účet android”). Proto se omlouvám těm, kteří mají pocit, že zde nabádám čtenáře, aby tuto aplikaci zkusili v praxi. Kdo má nutkání něco podobného zkoušet, už tak dávno učinil nebo si informace stejně najde. Mým cílem bylo pouze upozornit, že podobné věci už dávno nejsou jen v amerických filmech a může se to stát i Vám a je tak žádoucí se proti tomu bránit. Stejně tak předesílám, že použití podobných aplikací k odchytávání cizích dat je trestné. Děkuji za pochopení.

 

Jan Dolejš
O Autorovi - Jan Dolejš

Uchvácen mobilními technologiemi a veškerým dějstvím v oblasti IT. Google Android se stal mojí srdcovou záležitostí a nehodlám se jej jen tak vzdát. S oblibou… více o autorovi

Mohlo by vás zajímat

Komentáře (16)