% ============================================================================ %
% Encoding: UTF-8 (žluťoučký kůň úpěl ďábelšké ódy)
% ============================================================================ %
% !TEX root = prace.tex
% ============================================================================ %
\nn{Úvod}
Cieľom tohto textu je pokúsiť sa nahliadnuť aktuálnu situáciu v oblasti bezdrôtovej bezpečnosti, pozrieť sa na potenciálne riziká, s ktorými je možné prísť do kontaktu (mnohokrát bez väčšej námahy alebo tiež neúmyselne) v domácnosti, na pracovisku alebo vo verejných priestranstvách, akými sú napríklad kaviarne alebo letiská, či tiež verejná doprava alebo dokonca námestia.

Pojednávať bude prevažne o bezdrôtových technológiách štandardu Wi-Fi™, \\
respektíve spôsoboch zabezpečenia tohto štandardu, ktoré sa bežne použivajú ako teraz tak aj historicky. \\
Povenujem sa taktiež tomu, aké riziká predstavuje zaužívaná prax používania legacy hardwaru, staršich protokolov zabezpečenia (častokrát napriek výslovnému odporúčaniu Institute of Electrical and Electronics Engineers (IEEE) kvôli mnohonásobne \\ preukázaným či neodstrániteľným 
zraniteľnostiam takpovediac vyplývajúcim z designu protokolu) pre bežného 
používateľa bezdrôtovej siete Wi-Fi™

Venovať sa v tejto práci \b{nebudem} celulárnym rádiovým sietiam (takzvaným mobilným sietiam).


%% ============================================================================ %
%\cast{Teoretická část}

\n{1}{Rizikové zóny}

S trochou zveličenia môžeme pod rizikovými zónami rozumieť oblasti s dosahom predmetného typu bezdrôtovej siete. Mám na mysli tieto konkrétne typy sietí: Freenet (Open net), WPA, WPA2. Samozrejme, mimo Freenetu závisí od partikulárnej implementácie bezpečnostných protokolov, t.j. že nálepka na škatuľke Wi-Fi™ routra s názvom protokolu neznamená automaticky aj maximálnu mieru teoretickej bezpečnosti poskytovanú spomínaným protokolom. Riziko, o ktorom je reč, môže existovať v podobe pasívneho zberu dát na sieti, manipulácie sieťovej komunikácie medzi účastníkmi a AP, takisto v podobe miery rizika pre poskytovateľa siete samotného (či už ide o verejnú alebo neverejnú službu).

Niektoré rizikové zóny sa typický vyskytujú vo sfére hoteliérstva, gastroslužieb, pohostinstiev a zariadení cestovného ruchu častejšie ako kdekoľvke inde.

\vspace{2cm}\obr{Hotel Free Wi-Fi™}{fig:mariott}{1}{graphics/mariott.jpeg}


\n{1}{Freenet}

V nasledujúcej časti budem venovať téme Freenetu, spomeniem, kde je možné prísť s Freenetom do styku a tiež ako je dobré reagovať. \\
Popíšem tiež vlastné pozorovanie ako aj skúsenosť s nástrojom, ktorým som pozorovanie vykonával.

\n{2}{Čo je to Freenet?}

Pre potreby tohto dokumentu budeme Freenetom označovať \it{nezabezpečené}, voľne prístupné Wi-Fi™ siete.
Prístup do takýchto sietí nevyžaduje znalosť prístupového hesla alebo frázy ani iné overenie. \\
Captive portal s tlačidlom "Na Internet", ako to mnohokrát môžeme vidieť, sa zo zjavných dôvodov nepočíta ako overenie a siete takto \it{zabezpečené} nie sú bezpečnejšie ako "voľné siete". Komunikácia účastníkov siete je zo strany \it{access pointu} (AP, t.j. prístupového bodu) a z pohľadu vonkajšieho pozorovateľa nechránená (myslí sa payload framu [rámca], nie \it{komunikácia} en block) na L2 (OSI referenčného modelu) úplne rovnako.

\n{2}{Stručná história bezplatného internetu}

90. roky znamenali nebývalý rozmach využívania Internetu najmä vďaka komerčnej sfére a prostrediu veľkých a stredných korporácií.
Postupne sa Internet stával nevyhnutnou súčasťou dennodenného života firiem v kontexte rozvinutého západného sveta a súvzťažne s tým vznikol dopyt po masovom využívaní Internetu v domácnostiach. V roku 1991 bol v USA prijatý \it{High Performance Computing Act} a začali sa budovať prvé infraštruktúrne fundamenty siete NREN (\it{National Research and Education Network}), ktorá bola prvou výraznou sieťou s gigantickou rýchlosťou.
V r. 1992 vznikla v tej dobe najvýznamnejšia Spoločnosť pre Internet (\it{Internet Society}), ktorej prezidentom sa stal Vinton Cerf (ten už v roku 1980 inicioval prepojenie ARPAnet a CSnet prostredníctvom TCP/IP protokolov, čím sa zapísal do dejín ako tvorca skutočného Internetu ako súboru viacerých nezávislých sietí).

\it{Internet Society} mala na svedomí najvýznamnejšie internetové aktivity a dá sa povedať, že dobrovoľne prevzala morálnu zodpovednosť za ďalší vývoj Internetu.
Rovnako sa v r. 1992 objavili grafické prehliadače www, kde sa okrem textu nachádzali aj obrázky, čím sa stal vzhľad obsahu atraktívnejší a urobil výmenu informácií prístupnejšou.
Takisto spoločnosť NCSA (\it{National Center for Supercomputing Applications}) vytvorila a prezentovala browser \it{NCSA Mosaic}, ktorý znamenal veľkú explóziu vo využívaní Internetu. Hoci sa nám to v našom geografickom priestore môže zdať nevídané, v USA už v 90. rokov vďaka Internetu nastal čas na využívanie videokonferencií, no Internet sa využíval aj v prostredí vzdelávania napr. na testovanie/skúšanie študentov, či v prevádzkach na komunikáciu so zákazníkmi atď.
V r. 1994 sa v USA zrodil tak trochu megalomanský projekt všeobecnej informatizácie sveta pod názvom \it{Globálna informačná infraštruktúra}, cieľom ktorého bolo predovšetkým odstrániť akékoľvek limity prístupu k informáciám a ich zdrojom a tým ich absolútne a maximálne demokratizovať.
Postupne sa vďaka týmto informačným zdrojom vytvára akási „superdiaľnica“ dát a "virtuálna knižnica", kde budú všetky informácie prístupné pre každého.
Hovoríme tu stále o platenom Internete, ktorý sa postupne z USA šíril do západného sveta a rozvinutých častí južnej pologule.
Ako to bolo s bezplatným Freenetom?

Už v roku 1993 – keď väčšina nemala na Slovensku ani potuchy vôbec o koncepte Wi-Fi™, Henrik Sjödin, ktorý na konferencii the NetWorld+Interop v San Franciscu navrhol myšlienku verejných bezplatných sietí (free public access Wireless Local Area Networks [WLANs]), ku ktorým by mali používatelia prístup zadarmo.
Hoci ešte nepoužil termín "hotspot", všeobecne sa táto jeho myšlienka považuje za začiatok konceptu bezplatného používania verejnej siete.
Netrvalo dlho, kým sa poskytovatelia Internetovej služby chytili príležitosti a začali zavádzať bezplatné hotspoty na verejných priestranstvách, kde sa denne premelie masa ľudí.
Tak napríklad priekopníkom v tejto oblasti bola firma MobileStar Networks - významný americký poskytovateľ bezdrôtového Internetu.
MobileStar sa stala prvou spoločnosťou, ktorá poskytovala Wi-Fi™ hotspoty na letiskách, v hoteloch, kaviarňach, a podpísala kontrakty s gigantmi ako American Airlines, Hilton Hotels a Starbucks™.
V r. 2001 bola firma predaná Deutsche Telecomu, ktorý premenoval firmu MobileStar na "T-Mobile Hotspot".
Tento termín sa ujal vo verejnosti ako referencia na miesto, kde sa každý môže verejne pripojiť a ako taký vstúpil do väčšiny svetových jazykov.

Samozrejme, konkurencia nenechala na seba dlho čakať a koncom 90. a začiatkom nultých rokov sa vynorilo množstvo poskytovateľov Internetu, ktorý priamo alebo sprostredkovane umožňovali verejnosti či svojim klientom využívať bezdrôtový Internet zadarmo.
Do roku 2010 dosiahol počet bezplatných hotspotov po celej zemi jeden milión.
Zo začiatku si poskytovatelia Internetu vo verejných priestoroch ako letiská, štadióny, vojenské základne, mestské komunity ako napr. Boingo & Aircell za používanie Internetu nechávali zaplatiť.
Avšak keď značky ako Starbucks™, Chick-Fil-A™, McDonalds™ a i. spomenuté vyššie prelomili tento model a znášali všetky pridružené náklady za poskytovanie Internetu zadarmo, museli zareagovať aj ostatní.
Čoskoro totiž prišli na to, že vďaka bezplatnej sieti a boomu smart telefónov (ktorých počet má v r.2020 celosvetovo presiahnuť 6 miliárd) sa z ich príležitostných hostí stanú zaručení a verní klienti a z nich sa časom stanú nadšení "závisláci" na ich produktoch.
Za pár rokov sa stalo tou najbežnejšou a najpredpokladanejšou vecou (z pohľadu zákazníka), aby ste sa dostali na Internet hneď a zadarmo, kdekoľvek ste, ak kupujete alebo využívate produkty či služby rôzneho druhu - vrátane supermarketov, veľkých obchodných domov či fitness centier.

Poskytovanie bezplatnej Wi-Fi™ priamo v prevádzkových priestoroch či na verejnosti v podobe hotspotov prispelo vo výraznej miere k našej informačnej a internetovej závislosti, bez pripojenia  a častokrát bez pripojenia zadarmo, si svoj život už ani nevieme predstaviť. Skrátka dnes – ak v niečom podnikáte – či už predávate tovar alebo službu - a nefunguje vám bezplatný Internet, je s vami (a vašimi tržbami) takmer amen. \cite{history1}\cite{history2}\cite{history3}

\obr{Pseudomaslowova pyramída. Zdroj: \cite{history3}}{fig:pseudomaslow}{0.65}{graphics/pseudomaslow.png}

%\newpage
\n{2}{Hľadá sa Freenet}

Ako som naznačoval už skôr a tiež ako mnohí z vás budú vedieť - Freenet nie je nedostatkovým tovarom. \\
Každá dobrá i horšia kaviareň alebo reštaurácia ponúka dnes (2020) internetové pripojenie vo svojich priestoroch úplne bežne ako očakávanú súčasť servisu zákazníkom.
Vlakoví či autobusoví dopravcovia, verejní alebo súkromní, mestskí, regionálni či celoštátni dopravcovia majú vo svojich vozidlách prítomné siete Wi-Fi™. \\
Nezabezpečené, dostupné na \it{verejné} používanie, zväčša naozaj "obmedzené" (maximálne) len Captive portálom. V prípade sofistikovanejších nastavení je v zariadení prítomný software, ktorý časovo limituje prítomnosť jednotlivých zariadení na sieti a dohliada na prípadné dátové kvóty (po prekročení časového alebo dátového limitu je zariadenie odpojené). Tieto systémy pracujú s MAC adresami zariadení ako identifikátorom. Ak mám možnosť \it{\href{https://duckduckgo.com/?q=MAC+address+spoofing}{spoofovať}} MAC adresu svojho zariadenia, môžem sa spokojne tváriť ako nové zariadenie.

\n{2}{WiGLE}
Venujem sa dohromady približne dva roky amatérsky \it{\href{https://duckduckgo.com/?q=DEF+CON+25+Wifi+Village+-+Aardvark+Darkmatter+-+WIGLE+Like+You+Mean+It+Maximizing+Your+Wardriving}{wardrivingu}} respektíve, nakoľko nie som šofér a ani nevlastním motorové vozidlo, \it{warwalkingu}. \\
V skratke, ide o proces/aktivitu vyhľadávania bezdrôtových sietí a ich párovanie s GPS údajmi (LON,LAT,ALT) pomocou počítača alebo smartphonu, zväčša s využitím špecializovaného softwaru ako je napríklad \href{https://www.kismetwireless.net/}{Kismet} alebo \href{https://wigle.net/}{WiGLE}.

Len pre ilustráciu, táto relatívne mladá databáza (približne štvormesačná) má veľkosť 24MB.

\obr{WiGLE databáza}{fig:wigledb}{1}{graphics/wigledb.png}

Nachádza sa v nej 33489 unikátnych záznamov typu Wi-Fi™ (databáza obsahuje tiež záznamenané údaje o celulárnych vežiach a Bluetooth™ zariadeniach).

\obr{WiGLE net count}{fig:wiglenetcount}{1}{graphics/wigle_net_count.png}

Z toho počet hotspotov, ktoré vytvárajú výhradne nezabezpečené siete je 4129, pričom ide len o moje obmedzené niekoľkomesačné sporadické pozorovanie.

\begin{minted}[breaklines,lineos,numbersep=5pt,framesep=2mm,frame=single]{sql}

SELECT COUNT(*) FROM network WHERE type LIKE 'W' AND capabilities = '[ESS]';

\end{minted}

Priamo z aplikácie WiGLE je možné povoliť nahrávanie dát (opt-in) na wiggle.com, kde sú ďalej štatisticky spracovávané, ide vlastne o donáciu dát.
Používateľ má tiež na výber povoliť prípadné komerčné nakladanie s predmetnými dátami, takisto priamo z aplikácie.
Odosielanie dát na portál nie je ale v tomto prípade jednostranná záležitosť. Po zriadení účtu je možné zapájať sa formou súťaže a najúspešnejší prispievatelia sa dostanú do automaticky aktualizovaného rebríčka.
Predvolene je možne dáta nahrávať pod používateľom "Anonymous" - anonymným používateľom - bez prihlásenia. \\
Tento používateľ v rebríčkoch, samozrejme, vedie :)))

Nasleduje SQL query nad WiGLE databázou, ktorá nám na ukážku dodá prvých (reálnych) 30 záznamov o nezabezpečených Wi-Fi™ sieťach. \\
Dobrovoľne som vynechal GPS údaje o zemepisnej šírke a dĺžke, nakoľko by to pre niekoho mohlo byť citlivé (hoci ide o de facto verejné dáta). \\
\it{bssid} predstavuje pole obsahujúce MAC adresy. \\
Stĺpec \it{ssid} zas obsahuje "názvy" sietí (SSIDs/ESSIDs). \\
Ďalej som vyberal frekvenciu pásma (\it{frequency}), na ktorom bol prenos zachytený, stĺpec \it{capabilities}, teda schopnosti, ktorý bude v tomto prípade potvrdzovať len to, že AP je schopný vytvoriť WLAN a nakoniec \it{bestlevel}, čo je údaj o najlepšej nameranej hodnote sily signálu v dB. Úplne na záver som vybral ešte stĺpec \it{type}, teda typ, ktorý nám ukǎže, že ide naozaj o záznam pojednávajuci o Wi-Fi™.

\newpage
\begin{minted}[breaklines,lineos,numbersep=5pt,framesep=2mm,frame=single]{sql}

SELECT bssid,ssid,frequency,capabilities,bestlevel,type FROM network WHERE type LIKE 'W' AND capabilities = '[ESS]' LIMIT 30;

\end{minted}

\tab{Freenet vzorka tridsiatich zariadení.}{tab:freenet}{0.65}{|llllll|}{
\hline
\b{bssid} & \b{ssid} & \b{frequency} & \b{capabilities} & \b{bestlevel} & \b{type} \\ \hline
00:1d:aa:b5:52:68 & WIFI ZSSK   & 2432 & {[}ESS{]} & -62 & W \\
00:27:22:1a:c5:e0 & racanet6    & 2412 & {[}ESS{]} & -65 & W \\
04:18:d6:56:4e:66 &             & 5680 & {[}ESS{]} & -75 & W \\
24:a4:3c:78:ed:db & SAHARA2     & 5580 & {[}ESS{]} & -88 & W \\
00:0b:6b:35:4d:09 & JUH         & 2432 & {[}ESS{]} & -76 & W \\
44:d9:e7:0e:0b:75 & brd\_ivanka & 5540 & {[}ESS{]} & -82 & W \\
80:2a:a8:6a:9d:de & brd\_drev   & 5260 & {[}ESS{]} & -84 & W \\
f0:9f:c2:b8:ef:e6 & pitstop     & 5320 & {[}ESS{]} & -76 & W \\
44:d9:e7:d2:8e:30 & PAN-VINIC   & 5680 & {[}ESS{]} & -75 & W \\
68:72:51:06:ca:d1 & KocanskaM5  & 5180 & {[}ESS{]} & -79 & W \\
dc:9f:db:34:c6:df & senkvice3   & 5320 & {[}ESS{]} & -81 & W \\
00:0a:52:01:91:1b & framipekptp & 5300 & {[}ESS{]} & -65 & W \\
d4:ca:6d:10:02:cc & netlabptp   & 5260 & {[}ESS{]} & -71 & W \\
44:d9:e7:24:56:0f & senkvice2   & 5280 & {[}ESS{]} & -84 & W \\
68:72:51:06:6d:b1 & KrytonM5    & 5540 & {[}ESS{]} & -75 & W \\
44:d9:e7:d6:6d:ed & senkvice1   & 5180 & {[}ESS{]} & -89 & W \\
00:27:22:e0:3c:b1 & poto\_brd   & 5220 & {[}ESS{]} & -90 & W \\
00:15:6d:e8:b0:d8 & brd\_HRN    & 5280 & {[}ESS{]} & -76 & W \\
24:a4:3c:ea:3d:4a & ubnt        & 5260 & {[}ESS{]} & -78 & W \\
8c:1a:bf:a3:f5:ec & Wifi        & 2437 & {[}ESS{]} & -64 & W \\
00:50:7f:52:80:c0 & Pirelli     & 2437 & {[}ESS{]} & -76 & W \\
64:d1:54:a0:1a:6b & ORANGE-free & 2437 & {[}ESS{]} & -62 & W \\
f4:f2:6d:52:8b:3a & KnowSpot    & 2462 & {[}ESS{]} & -67 & W \\
00:27:22:ca:95:42 & isp.h10film & 5220 & {[}ESS{]} & -74 & W \\
04:18:d6:ee:f5:4a & miskooo     & 5560 & {[}ESS{]} & -84 & W \\
00:15:6d:84:a9:4e & orange-free & 2412 & {[}ESS{]} & -65 & W \\
6c:3b:6b:de:6b:f4 & ORANGE-free & 2412 & {[}ESS{]} & -76 & W \\
6c:3b:6b:15:a7:9e & Orange-Free & 2422 & {[}ESS{]} & -67 & W \\
02:9f:c2:b9:92:48 & KOBE\_FREE  & 2442 & {[}ESS{]} & -77 & W \\
00:02:6f:31:04:75 & wli\_004    & 2437 & {[}ESS{]} & -71 & W \\ \hline
}

%\newpage

\n{2}{Riziká používania}

Ako môžeme z tabuľky vyčítať, natrafil som pri potulkách na viacero sietí s podobným alebo rovnakým SSID.
Prevažne ide o SSIDs používané v regionálnej doprave.
Veľmi ťažko je však možné len tak na pohľad určiť, ktoré zo sietí su autentické (to znamená reálne prevádzkované napríklad dopravcami), ktoré sú potenciálne \it{\href{https://web.archive.org/web/20090918210959/http://www.sans.org/resources/idfaq/honeypot3.php}{honeypots}} a pri~ktorom by sme mohli hovoriť o tzv. \it{"rogue"} - "záškodnom" AP. \\
Týmto pomenovaním sa označuje AP, ktorý vystupuje navonok ako legitímny AP, no beží na ňom škodlivý software a je prevádzkovaný s cieľom získať citlivé informácie alebo kontrolu nad zariadením nič netušiaceho používateľa.
Prevádzkovateľ takéhoto zariadenia si nevyberie SSID náhodou, ale dobre si zváži rozšírenosť práve niektorých konkrétnych názvov, pri ktorých je vysoká šanca, že sú zapamätané na celom množstve zariadení ľudí využivajúcich počas svojej rannej cesty do zamestnania bezplatné internetové pripojenie.
Mobilné operačné systémy Android a iOS so zapnutou Wi-Fi™ vo východzom nastavení hľadajú už asociované siete a sú nastavené na automatické znovupripojenie v prípade, že je zapamätaná sieť opäť v dosahu. \\
Takto nastavené zariadenia sú nebezpečné pre svojich majiteľov práve tým, že sa snažia "uľahčovať" (autoconnect) život.
Zariadenie sa pripojí k útočníkovej sieti úplne rovnako ako k "legitímnej" - zapämatanej, podľa SSID.
Sieť kontrolovaná záškodným útočníkom mu dáva možnosť alterovať obsah správ akéhokoľvek plaintext protokolu - ARP, DNS (bez DNSSEC), HTTP, ktoré môžu byť len vstupnou bránou pre \it{privesc} (privilege escalation - eskalovanie používateľských oprávnení) alebo zneužitie nezaplátaných zraniteľností.

Základnou ochranou proti spomínaným rizikám by bolo vôbec sa nepripájať na verejné resp. nezabezpečené siete (pokiaľ to nie je absolútne nevyhnutné), poprípade manuálne zakázať automatické pripájanie k takýmto sieťam. Ja osobne si tiež na svojích zariadeniach vypínam funkncionalitu oznámení systému o nezabezpečenej sieti v dosahu. \\
Vyhnúť sa riziku nasledovania falošných DNS záznamov od rogue AP dá tiež používaním \it{\href{https://www.torproject.org/download/#android}{Tor Browser for Android}}. Ten sa na zariadení správa ako VPN a všetku internetovú komunikáciu (vrátane DNS) routuje cez \href{https://www.torproject.org/about/history/}{Tor} (celý traffic je chránený TLS spojením medzi klientom a Tor \it{first hop} serverom, prípadne Tor \it{\href{https://support.torproject.org/censorship/censorship-7/}{bridge}}), takže lokálny útočník naň nemá dosah.

\n{2}{Riziká poskytovania Freenetu}

Poskytovaníe Freenetu má rôzne implikácie. Napriek všeobecnej obľube bežných používateľov môcť sa pripojiť na free Wi-Fi™, existujú značné riziká, ktoré sú spojené s potenciálnou trestnoprávnou zodpovednosťou na strane poskytovateľov internetovej služby alebo prinajmenšom s nepríjemnosťami.
Pri poskytovaní takejto služby treba brať do úvahy nemožnosť dokonalo alebo akokoľvek uspokojivo zaručiť bezpečnosť užívateľom. \\
Napríklad: v prípade spáchania trestnej činnosti z internetovej adresy poskytovateľa nezabezpečenej siete bz mohlo prísť k dočasnému uzatvoreniu prevádzky a poskytovateľ by tak musel znášať negatívne nepriame náklady späté s touto službou a tiež prípadne zažívať mediálny tlak a čeliť vyšetrovaniu a zruinovaniu reputácie.
%\newpage
Keďže signál bezdrôtovej siete môže mať alebo štandardne má dosah aj mimo priestorov (až desiatky metrov), pre ktoré je určený, je možné uvažovať o scenári, kde sa útočník pripojí do siete z priestorov mimo prevádzky (veľmi pravdepodobne mimo kamerového záznamu prevádzky), čo môže výsledné pátranie exponenciálne sťažiť až znemožniť.

V závislosti od konkrétneho usporiadania priestoru je viac ako predstaviteľný scenár malého Raspberry Pi naprogramovaného na pasívny automatizovaný zber dát/aktívne ohrozovanie (alebo exploitovanie) klientov dokým by neprišlo k odhaleniu respektíve odpojeniu od siete, alebo skrátka pokým sa nevybije baterka.

Inými slovami, je racionálne uvažovať takým spôsobom, že akékoľvek zneužitie, ktoré by vzišlo z predmetnej internetovej služby alias Freenetu, by bolo primárne najskôr dohľadávané a riešené vyšetrovacími orgánmi s poskytovateľom služby.
Myslím si, že tieto negatívne možné dôsledky si poskytovatelia Freenetu veľakrát vôbec neuvedomujú. \\
Pre úplnosť by som rád dodal, že ani siete využívajúce zabezpečenie nie sú úplne odolné voči potenciálnemu vnútornému útočníkovi ("insider"), ale o tom sa zmienim trochu neskôr.

Na záver by som si vás dovolil odkázať na \href{https://smallbiztrends.com/2015/11/small-businesses-need-offer-free-wifi-customers.html}{\it{webstránku}}, kde je vymenovaných a znázornených značné množstvo dôvodov, prečo nemusí byť dobrý nápad používať Freenet.

\it{"Offering free WiFi does not just benefit the customers. If you can control the network connection, you can set your website as the homepage, accumulate customer data and target ads directly to devices."} \cite{freewifi}

\n{2}{The Cloud}

\obr{\href{https://xkcd.com/908/}{The Cloud: There's planned downtime every night when we turn on the Roomba and it runs over the cord.}}{fig:thecloud}{1}{graphics/the_cloud.png}


\n{1}{WEP}

V tejto kapitole bude pozornosť upriamená na protokol WEP.

\n{2}{Čo je to WEP?}

WEP (Wired Equivalent Privacy) je bezpečnostný algoritmus na zabezpečenie bezdrôtových sietí, pôvodne vydaný ako súčasť špecifikácie 802.11\cite{802.11} z roku 1999. Pracuje s využitím prúdovej šifry RC4.

\bi{V roku 2004 bol oficiálne vyhlásený za zastaraný}, napriek tomu ostáva dodnes využívaný.

WEP v pôvodnom vydaní pracuje so 64 bitovým kľúčom, z čoho používateľom je dodaných len 40 bitov v hexadecimálnej alebo ASCII podobe, teda 10 hexadecimálnych alebo 5 ASCII znakov. 24 bitov kľúča je statických. \\
V revízii z roku 2001 je už schopný pracovať so 128 bitovým kľúčom, z čoho 104 je dodaných poyžívateľom a zvyšných 24 bitov je opäť statických.

Static session keys vs WPA dynamically generated --> fresh key

\n{2}{Problémy WEPu}

Zraniteľnosti protokolu WEP začali vychádzať najavo veľmi skoro po jeho predstavení verejnosti a neprestávali pribúdať.
Problémy sa netýkali len (ako to býva bežne) konkrétnej implementácie konkrétneho výrobcu na konkrétnom modeli ale aj súčastí protokolu samotného.

Medzi najznámejšie práce pojednávajúce o závažných problémoch týkajúcich sa protokolu WEP by som sa odvážil zaradiť:

\begin{itemize}
	\item (2001) - Weakness in the key scheduling algorithm of RC4 \cite{FMS}
	\item (2001) - Using the Fluhrer, Mantin and Shamir Attack to break WEP \cite{SIR}
	\item (2004) - KoreK \cite{korek1}\cite{korek2}
	\item (2005) - Attacks on the RC4 stream cipher \cite{KleinRC4}
	\item (2007) - Breaking 104 bit WEP in less than 60 seconds \cite{PTW}
\end{itemize}

Autori týchto prác sa podrobne venujú rôznym metódam, vďaka ktorým je možné za kratší alebo dlhší čas odhaliť kľúč siete a dešifrovať všetku komunikáciu.


\n{1}{WPA}

Pre neudržateľnosť protokolu WEP sa IEEE (za podpory Wi-Fi Alliance) rozhodla predčasne vydať nový protokol ako rýchlu záplatu - WPA. Malo ísť o dočasné riešenie na prechodné obdobie.

TKIP bol IEEE vyhlásený za zastaraný v roku 2009. \\
Napriek rozšírenému názoru, že WPA+CCMP dáva úroveň zabezpečenia WPA2 s CCMP, opak je pravdou. WPA aj s použitím AES zdedila chyby od svojho predchodcu a zároveň WPA2 je rozšírená o viac ako len zmenené underlying crypto. Odporúčam v každom možnom prípade WPA2.

\n{2}{Zlepšenia oproti WEP}

\begin{itemize}
	\item key mixing funkcia
	\item implementácia \it{sequence countera}
	\item použitie MD5 \it{MIC}
\end{itemize}

Jedno zo zlepšení (oproti WEP) prichádza v spôsobe \it{mixovania kľúča} (key mixing).
Nová implementácia skombinuje tajný root key s inicializačným vektorom (IV) predtým ako výslednú hodnotu predá rutine RC4.
Pôvodne sa pri WEPe jednalo len o jednoduchú konkatenáciu dvoch hodnôt, čo umožnilo prevažnú väčšinu útokov na RC4 - "útoky príbuzných kľúčov".

Sequence counter sa využíva na odmietnutie paketov, ktoré na access point prídu poprehadzované (out of order). Je to ochrana proti \it{replay útokom}.

Nakoniec sa na zozname vylepšení ocitá aj MIC - Message Integrity Check, ktorý, ako názov napovedá, je implementáciou digitálneho podpisu - kontrola integrity správy. \\
WPA utilizuje HMAC s MD5 hashom, WEP používa CRC-32.


\n{2}{pbkdf2}

\it{Password based key derivation function} je zodpovedná za generovanie 256 bitového PMK z hesla premenlivej dĺžky (8-64 znakov) a SSID premenlivej dĺžky 4096 iteráciami.

\n{2}{4-way handshake} \label{4wh}

Asociáciu klienta s vybraným AP predchádza štandarný komunikačný pár Probe Request (klient) - Probe Response (AP). \\
Predtým ako dôjde k zakončeniu handshaku, musí nastať výmena EAPOL paketov.
Prebieha vzájomná autentikácia hneď po asociácii (pripojení klienta).

Celý proces názorne:
\begin{enumerate}
	\item $Client station \xleftarrow[]{Anonce} AP$
	\item PTK, KCK Client station $\xrightarrow[]{Snonce + MIC}$ AP
	\item $Client station \xleftarrow[]{GTK + key install} AP$
	\item Client station $\xrightarrow[]{ACK}$ AP
\end{enumerate}

\n{3}{Krok 1}
\begin{itemize}
	\item AP vygeneruje Anonce.
	Anonce je kryptograficky náhodná hodnota o veľkosti 64 bitov generovaná Authenticatorom (AP). \\
	\item Klient prijme Anonce, vygeneruje Snonce a následne PTK. Z PTK vygeneruje KCK a z neho MIC.
	Snonce je kryptograficky náhodná hodnota o veľkosti 64 bitov generovaná Client station (používateľským zariadením). \\
	\item PTK (Pairwise Transient Key) je odvodený z 256 bitového PMK (Pairwise Master Key), Anonce, Snonce, Client a AP MAC adries. \\
	PMK je generovaný 4096 iteráciami pbkdf2(PSK+SSID). \\
	PMK je teda viazaný na konkrétnu dvojicu PSK a názvu siete. Prípadné rainbow tables je tak možné predpočítať až so znalosťou SSID. \\
\end{itemize}
\n{3}{Krok 2}
Klient pošle vygenerovaný MIC na AP spolu s Snonce ako súčasť správy 2. \\
\n{3}{Krok 3}
AP vygeneruje PTK za použitia Snonce od klienta a overí jeho validitu za pomoci MIC. Tým sa zároveň overí, že klient aj AP majú rovnaké heslo, na základe ktorého vygenerovali rovnaký kľúč (PMK a následne PTK) a nakoniec aj validný podpis (MIC). \\
AP Vygeneruje GTK a klientovi odošle správu 3 s inštrukciou "key: install"

\n{3}{Krok 4}
AP vygeneruje za pomoci Snonce od klienta PTK a overí, že MIC vygenerovaný klientom sa rovná MIC hodnote, ktorú vygeneruje on sám. Ak sú rovnaké MIC hodnoty, bude rovnaký aj kľúč.

\n{2}{Deauthentication}

Deautentikácia je veľmi bežná udalosť vo svete Wi-Fi™. Kvalita signálu býva kolísavá, so zariadeniami sa často pohybujeme a meníme polohu vzhľadom na AP, deauthu (odpojeniu) sa skrátka nevyhneme. V našom prípade sa však pokúsime v tejto zariadeniu deauth umelo vyvolať a tak ho odpojiť zo siete (a dostať na našu sieť).
Pri úspešnom prevedení celého útoku dochádza k odhaleniu kľúča bezdrôtovej siete Wi-Fi™.

%\begin{minted}[breaklines,lineos,numbersep=5pt,framesep=2mm,frame=single]{bash}
%
%airodump-ng -c 6 -b 64:7C:34:A4:7B:DE wlp2s0mon
%
%\end{minted}

\obr{airodump-ng príkaz na monitoring AP}{fig:airodump_command}{1}{graphics/airodump-ng_command.png}

Cieľom našej snahy je zachytiť 4-way handshake, vďaka ktorému sa budeme môcť pokúsiť slovníkovým útokom získať heslo siete. \\
Príkazom airodump-ng z obrázka \ref{fig:airodump_command} začneme počúvať prioritne na kanáli 6 (-c 6) a sledujeme prioritne pakety odoslané zariadením so špecifikovanou MAC adresou za prepínačom "-b", ktoré vysiela sieť z názvom "AM2".

\obr{airodump-ng}{fig:airodump}{1}{graphics/airodump-ng.png}
Názvy cudzích sietí boli rozostrené, sledovaná sieť AM2 je na vrchu zoznamu na obrázku \ref{fig:airodump}.
Ako môžeme z obrázku vyčítať, ide o WPA zabezpečenú sieť využívajúcu CCMP, no handshake prebieha rovnako ako pri použití TKIP. \\
V tejto chvíli potrebujeme už len náš falošný hotspot, ktorý vytvoríme s rovnakým názvom a typom zabezpečenia ako má pôvodná sieť, aby sme docielili, že sa k nám v~ďalšej fáze klient pripojí.
Použitý príkaz je na obrázku \ref{fig:airbase}, pre podrobnosti odporúčam nahliadnuť do manuálu airbase-ng (\it{"read the fine manual"}) - \texttt{man airbase-ng}.

Na obrázku \ref{fig:aireplay} je za prepínačom \texttt{-c} upresnená MAC cieľového zariadenia, ktoré vy výstupe airodump-ng figurovalo ako asociované s predmetnou sieťou a chceme ho dostať na našu sieť.
\obr{aireplay \longrightarrow{} deauth}{fig:aireplay}{1}{graphics/aireplay-ng.png}

Týmto príkazom začneme okamžite (\texttt{-0}) vysielať nepretržitý prúd (\texttt{0} hneď za \texttt{-0}, pozitívne celé číslo by bol počet paketov) deautentifikačných správ zariadeniu za \texttt{-c}.

Správy sa budú javiť ako odosielané legitímnym AP s MAC za prepínačom \texttt{-a} (skopírovanú napr. z výstupu airodump-ng) a obetné zariadenie sa teda bez problému odpojí z pôvodnej siete.
Po dobu trvania vysielania nášho deauth streamu sa naspäť k pôvodnej sieti nepripojí.

\obr{airbase}{fig:airbase}{1}{graphics/airbase-ng.png}
Keďže naša sieť nesie rovnaký názov, obeť sa pokúsi pripojiť a my zachytíme 4-way handhsake, ako je to znázornené ďalej na obrázku \ref{fig:airbase}.
V tejto chvíli skontrolujeme, \texttt{cap} súbor, ktorý by už mal obsahovať handshake. \\
Fake AP môžeme vypnúť, rovnako aj prestať s deautentifikáciou. \\
V našom konkrétnom prevedení predstavuje vlastne dočasný DOS.


\newpage
\texttt{cap} súbor s odchytenými paketmi otvoríme v programe \texttt{Wireshark} a vyfiltrujeme pakety handshaku (EAPOL), ako je znázornené na obr. \ref{fig:wireshark}.
Môžeme vidieť, že sa nám podarilo zachytiť len pakety správy 1/4 a správy 2/4 (retransmitované pakety som pre stručnosť v náhľade schoval).
Keďže nepoznáme heslo siete, nedokážeme overiť validitu MIC a nemohli sme teda klientovi poslať správu 3/4 (viď \ref{4wh}) ani očakávať potvrdzujúci \texttt{ACK}.
Tie však nie sú pre nás potrebné, v tejto chvíli už máme všetko.

\obr{Wireshark EAPOL náhľad}{fig:wireshark}{1}{graphics/wireshark-overview.png}

Poznáme MAC hotspotu (to sme my - Source paketu 1) aj MAC klienta (spomínané vyššie pri deauth). \\
Podľa obr. \ref{fig:wireshark-packet1} zobrazujúceho rozkliknutý detail správy-paketu 1 poznáme našu vlastnú \it{nonce} (Anonce).
Z ďalšieho obrázka - \ref{fig:wireshark-packet2} - (správa/packet 2) môžeme vyčítať \it{nonce} klienta (Snonce) a tiež Message Integrity Check (MIC) hodnotu.

\obr{Wireshark 4-way handshake message 1}{fig:wireshark-packet1}{0.91}{graphics/wireshark-packet1.png}

\obr{Wireshark 4-way handshake message 2}{fig:wireshark-packet2}{0.91}{graphics/wireshark-packet2.png}

Za pomoci nástrojov ako sú \texttt{hashcat}, \texttt{john} alebo \texttt{aircrack-ng} sa môžeme pustiť do lúskania za pomoci kvalitného slovníka.
Treba podotknúť, že ak sa heslo nenachádza v slovníku, nebudeme schopný zistiť.

\newpage
\n{1}{WPA2}

CCMP (Counter Mode with Cipher block Chaining Message) využíva AES Counter Mode, ktorý funguje ako bloková šifra a je schopný šifrovať 128 bitové bloky dát 128 bitovým kľúčom.

Session key (kľúč jednotlivého "sedenia" - pripojenia) sa strieda pri každom novom pripojení a je zároveň unikátný pre každého klienta. \\
WPA2 CCMP pre MIC utilizuje HMAC so SHA1 hashom.

\n{2}{Zmena vo 4-way handshake oproti WPA}

Po odvodení KCK z PTK sa za pomoci HMAC-SHA1 vygeneruje MIC. Pri WPA bola použitá namiesto SHA1 metóda MD5.

\n{2}{KRACK}

V roku 2017 sa podarilo belgickému výskumníkovi M. Vanhoefovi objaviť chybu v štandarde Wi-Fi.
Napáda 4-way handshake novátorským spôsobom. Výsledkom je umožnená packet injection, nie však odhalenie hesla siete.

Zakaždým, keď sa do siete pripojí nový klient, musí prebehnúť 4-way handshake na vygenerovanie nového kľuča pre šifrovanie komunikácie.
Kľúč je na klienta inštalovaný po správe 3.
Akonáhle je kľúč inštalovaný, začne sa používať na šifrovanie data framov (rámcov) za použitia predmetného šifrovacieho protokolu. \\
Bežne sa však stáva, že sa správa stratí, alebo je odmietnutá, AP pošle správu 3 viackrát ak nedostane korektný ACK (potvrdenie protokolu TCP).
Vo výsledku tak klient môže prijať správu 3 viac krát.
Každý krát, keď prijme správu, znovu nainštaluje ten istý šifrovací kľúč a tak resetne inkrementálny počet retransmisii paketu (konkr. nonce) a počítadlo opakovaného prijatia paketu. Útok ukazuje, že útočník si môže tieto \it{nonce resety} vynútiť zozbieraním a zopakovaním retransmisie správy 3 z 4-way handhsake. Prinútením AP prijať konkrétne nonce takýmto spôsobom je možné útočiť na šifrovací protokol, výsledkom čoho je možnosť retransmisie (replay) paketov, dešifrovanie a/alebo podvrhovanie úplne nových paketov. Rovnakú techniku je tiež možné využiť proti GTK, PeerKey, TDLS a \it{fast BSS transition handhsake} (využíva sa pri rapid roamingu klientov medzi mesh hotspotmi).

V praxi to znamená, že útočník, ktorý si dokáže vynútiť použitie konkrétnej \it{nonce} spôsobí \b{znovupoužitie rovnakého šifrovacieho kľúča s rovnakými nonce hodnotami, ktoré už boli použité v minulosti.} \\
To ďalej znamená, že všetky WPA2 protokoly znovupoužívajú \it{keystream} pre šifrovanie paketov.
V prípade, že správa, ktorá znovupoužíva keystream, má známy obsah, stáva sa triviálnym derivácia použitého keystreamu. \\
Tento keystream môže byť následne použitý na dešifrovanie správ s rovnakou \it{nonce}.
Tam, kde je neznámy obsah. je náročnejšie dešifrovať pakety, no napríklad anglický text je stále možné dešifrovať.
V praxi tiež nie je problém nájsť (odchytiť) pakety so známym obsahom, takže by sme mali predpokladať, že je možné dešifrovať akýkoľvek paket.

Ak by sme dešifrovali SYN pakety, môže to napríklad viesť k \it{hijacked} (ukradnutým) TCP spojeniam.

V prípade použitia TKIP alebo GCMP ako šifrovacieho protokolu je následok tohto útoku horší ako pri použití AES-CCMP.
Proti týmto protokolom je možné zneužiť znovupoužitie nonce na injektovanie a falzifikovanie paketov.

V tomto čase by mali byť dostupné aktualizácie od väčšiny výrobcov, to je zároveň jediným riešením a ochranou proti tomuto útoku. \cite{krack}\cite{krackurl}

To zároveň znamená, že pri použití WPA2-AES a posledných bezpečnostných aktualizácii by šlo o najbezpečnejšiu zónu z tých, ktoré sme sledovali.

%%%%%%%%%


% ============================================================================ %
%\cast{Analytická část}
% ============================================================================ %
\nn{Závěr}
Na uplynulých pár stranách som sa pokúsil zľahka nasvietiť najbežnejšie problémy, s ktorými sa môže používateľ potýkať pri riešení vlastnej bezpečnosti v bezdrôtovom svete, prípadne ak zodpovedá za ďalších ľudí na pracovisku alebo aj v domácnosti. Pojednával som o problémoch, ktoré prichádzaju s používaním otvorených sietí (freenetu) ale tiež s ich poskytovaním.

Spomenul som najbežnejšie útoky, ktorým sa dá predpokladať, že používateľ bude čeliť a praktickou ukážkou som predviedol, ako jednoducho je možné ohroziť sa pri použití slabého hesla.

Svet rádiových vĺn je divoké miesto, a v rukách nosíme skôr asi neuvedomelo mocné nástroje a využívame rozsiahlu spleť veľmi komplexných technológií.

Kiež by sme ich vedeli používať múdro pre posun a blaho ľudstva.


% ============================================================================ %
