Menu

Bezpečnost sítí a Facebook pod palbou

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.

Ú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.

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.

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.

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).

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í.

 

Komentáře

anonymous

anonymous

21.2.2012 0:38

Článek pro veřejnost pěný, jen bych si dovolil poupravit, prolomení zabezpečení WEP = záležitost pár, desítek, vteřin, WPA/WPA2= záležitost v řádech minut. Ale někdy to není ani potřeba, stačí se dostat do konfigurace AP přes webové rozhraní (tj přes :80), což obvykle bývá i paradoxně jednodušší…

n0

n0

21.2.2012 0:59

Jo tohle mně nedávno vrtalo hlavou, jestli applikace používají https. V prohlížeči je to lehký zjistit, u Gmailu a spol. předpokládám, že je to standard, ale co zbytek? Všichni ti IM kecálkové, FB frontendy atd. čekal bych od článku právě nějaký větší zkoumání, které aplikace nás vystavují riziku. Ať už je provedeno sniffingem na AP nebo přímo zcheckováním připojení v androidu.

pRo_lama

pRo_lama

21.2.2012 6:25

FaceNiff som v praxi testovala funguje dobre. Celkom sranda sa potom pozerať na ľudí čo netušia čo sa deje si ich účtom pred vlastnými očami. :-D

Fery

Fery

21.2.2012 6:51

No rozhodně by to umožnilo postrašit pár lidí aby si zapnuli šifrování. A jen otázka, funguje ten program i na ofiko ROM nebo jen a alternativní?

Fllip

Fllip

21.2.2012 8:35

funguje na všech ROM, včetně ofiko, je ovšem za potřebí root

v6ak

v6ak

21.2.2012 9:49

No hlavní je, že když píšu adresu, tak napíšu i to “https://” a nespoléhám se, že budu přesměrován. Existují i sofistikovanější útoky, které pozměňují obsah komunikace (stručně: mám namysli SSL strip) a které zde mohou zabrat. Stručně jde o toto:
* Komunikace přes https je (zjednodušeně řečeno) zabezpečená a nelze přes ji číst či pozměňovat, aniž by to bylo odhaleno.
* Komunikace přes http je nezabezpečená a každý, kdo má dostatečný přístup k síti, jí může číst či pozměnit.
* Když zadám adresu bez protokolu (gmail.com, facebook.com, …), běžně jde prohlížeč na verzi s http.
* Pokud po zadání adresy bez protokolu jsem přesměrován na verzi s https, neznamená to, že se na toto mohu spolehnout. Často to funguje prostě tak, že prohlížeč jde na verzi s http://, dostane (přes http, tedy nezabezpečeně) přesměrování a pak jde na https. Když se na to ale spolehnu a nezkontroluju, útočník může při pozměnění komunikace místo přesměrování na verzi s https udělat něco jiného. Třeba může téměř identický přihlašovací formulář zobrazit na nezabezpečeném spojení.
* Existují i jiné možnosti než toto přesměrování, ale uživatel AFAIK nemá moc šanci to zjistit, takže je lepší se na to nespoléhat.

Standa

Standa

21.2.2012 9:53

@anonymous
WPA2-AES zatím prolomeno nebylo a TKIP rozhodně není záležitost na pár minut. A každý normální člověk si změní defaultní heslo k AP (a změní port správy). Ideální je fuknce AP izolace klientů – připojená zařízení se navzájem nevidí.

ic

ic

21.2.2012 11:10

Facebook nabízí ještě možnost dvoustupňové autentizace, kdy v ideálním případě při pokusu o přihlášení dostanete na mobil SMS s kódem, který musíte také (včetně normálního hesla) zadat a teprve pak proběhne přihlášení.

V praxi to ale funguje tak, že na SMS čekáte několik dní až týdnů a stránka na které jde tohle vypnout už nefunguje.

czechiaa

21.2.2012 13:25

Autor článku zapoměl dodat, že FaceNiff lze využívat na “dostání” se na mnoho webů (např. YouTube, Amazon, Twitter, Blogger, Tumblr, apod.)

Shark.jd

Jan Dolejšexternista 0

21.2.2012 13:29

czechiaa
Díky za doplnění. Facebook jsem si vzal jako příklad vzhledem k jeho rozšíření.

PykaDroid

PykaDroid

21.2.2012 21:55

Mno proti Faceniffu už nějakou dobu nestačí ani zaškrtnutí HTTPS. Nevím co to máte za starou verzi, ale v nejnovější je podpora SSL Strip, se kterou už to jde v pohodě prolomit. Ale stále to neumí účty přihlášené přes mobil.

Ajfl

Ajfl

21.2.2012 22:49

Veškeré protokolární zabezpečení lze ještě zvýšit možností připojení pouze na určité MAC adresy, kde je znalost připojovaných zařízení podmínkou. Ve firemní síti nutnost, v domácí doporučení. Ano, člověk si přidělá pár starostí správou adres, ale to už je otázka každého, za co mu stojí vlastní virtuální bezpečí. Nejlépe je se připojovat na veřejné wifi bez šifrované komunikace, firewallu atp …

v6ak

v6ak

22.2.2012 7:52

Na SSL strip jsem upozorňoval v komentáři výše, i když jsem nevěděl, že to tato aplikace umí. Člověk musí zadat adresu i s “https://” a pak SSL strip nemá jak fungovat.

eRko

eRko

23.2.2012 0:12

pro me je hlavne nepochopitelny, kdyz FB v nastaveni uctu umoznuje zapnout HTTPS, proc to nepodporuje FB aplikace pro android…
aspon na moji Xperii Ray, kdyz mam v uctu zapli HTTPS, tak se nepripoji.
kdyz HTTPS vypnu (pres prohlizec v pc) a chci ho zapnout pres mobilni app, tak to hlasi ze nelze/nepodporuje…

VB

VB

24.2.2012 1:46

Při používání (a také pouhé instalaci) tohoto programu pak samozřejmě pozor na příslušné paragrafy trestního zákoníku (ve znění platném od 01.01.2010):

§ 230
Neoprávněný přístup k počítačovému systému
a nosiči informací

(1) Kdo překoná bezpečnostní opatření, a tím neoprávněně získá přístup k počítačovému systému nebo k jeho části, bude potrestán odnětím svobody až na jeden rok, zákazem činnosti nebo propadnutím věci nebo jiné majetkové hodnoty.
(2) Kdo získá přístup k počítačovému systému nebo k nosiči informací a
a) neoprávněně užije data uložená v počítačovém systému nebo na nosiči informací,
b) data uložená v počítačovém systému nebo na nosiči informací neoprávněně vymaže nebo jinak zničí, poškodí, změní, potlačí, sníží jejich kvalitu nebo je učiní neupotřebitelnými,
c) padělá nebo pozmění data uložená v počítačovém systému nebo na nosiči informací tak, aby byla považována za pravá nebo podle nich bylo jednáno tak, jako by to byla data pravá, bez ohledu na to, zda jsou tato data přímo čitelná a srozumitelná, nebo
d) neoprávněně vloží data do počítačového systému nebo na nosič informací nebo učiní jiný zásah do programového nebo technického vybavení počítače nebo jiného technického zařízení pro zpracování dat,

bude potrestán odnětím svobody až na dvě léta, zákazem činnosti nebo propadnutím věci nebo jiné majetkové hodnoty.

(3) Odnětím svobody na šest měsíců až tři léta, zákazem činnosti nebo propadnutím věci nebo jiné majetkové hodnoty bude pachatel potrestán, spáchá-li čin uvedený v odstavci 1 nebo 2
a) v úmyslu způsobit jinému škodu nebo jinou újmu nebo získat sobě nebo jinému neoprávněný prospěch, nebo
b) v úmyslu neoprávněně omezit funkčnost počítačového systému nebo jiného technického zařízení pro zpracování dat.
(4) Odnětím svobody na jeden rok až pět let nebo peněžitým trestem bude pachatel potrestán,
a) spáchá-li čin uvedený v odstavci 1 nebo 2 jako člen organizované skupiny,
b) způsobí-li takovým činem značnou škodu,
c) způsobí-li takovým činem vážnou poruchu v činnosti orgánu státní správy, územní samosprávy, soudu nebo jiného orgánu veřejné moci,
d) získá-li takovým činem pro sebe nebo pro jiného značný prospěch, nebo
e) způsobí-li takovým činem vážnou poruchu v činnosti právnické nebo fyzické osoby, která je podnikatelem.
(5) Odnětím svobody na tři léta až osm let bude pachatel potrestán,
a) způsobí-li činem uvedeným v odstavci 1 nebo 2 škodu velkého rozsahu, nebo
b) získá-li takovým činem pro sebe nebo pro jiného prospěch velkého rozsahu.

§ 231
Opatření a přechovávání přístupového zařízení a hesla k počítačovému systému a jiných takových dat

(1) Kdo v úmyslu spáchat trestný čin porušení tajemství dopravovaných zpráv podle § 182 odst. 1 písm. b), c) nebo trestný čin neoprávněného přístupu k počítačovému systému a nosiči informací podle § 230 odst. 1, 2 vyrobí, uvede do oběhu, doveze, vyveze, proveze, nabízí, zprostředkuje, prodá nebo jinak zpřístupní, sobě nebo jinému opatří nebo přechovává
a) zařízení nebo jeho součást, postup, nástroj nebo jakýkoli jiný prostředek, včetně počítačového programu, vytvořený nebo přizpůsobený k neoprávněnému přístupu do sítě elektronických komunikací, k počítačovému systému nebo k jeho části, nebo
b) počítačové heslo, přístupový kód, data, postup nebo jakýkoli jiný podobný prostředek, pomocí něhož lze získat přístup k počítačovému systému nebo jeho části,

bude potrestán odnětím svobody až na jeden rok, propadnutím věci nebo jiné majetkové hodnoty nebo zákazem činnosti.

(2) Odnětím svobody až na tři léta, zákazem činnosti nebo propadnutím věci nebo jiné majetkové hodnoty bude pachatel potrestán,
a) spáchá-li čin uvedený v odstavci 1 jako člen organizované skupiny, nebo
b) získá-li takovým činem pro sebe nebo pro jiného značný prospěch.
(3) Odnětím svobody na šest měsíců až pět let bude pachatel potrestán, získá-li činem uvedeným v odstavci 1 pro sebe nebo pro jiného prospěch velkého rozsahu.

Majk

Majk

25.2.2012 17:44

Díky za článek…Za přečtení opravdu stálo :)

RSS (komentáře k článku)