finalised the work on tex

This commit is contained in:
surtur 2020-05-03 23:39:45 +02:00
parent 08d487a928
commit 23d8b5ff49
Signed by: wanderer
GPG Key ID: 19CE1EC1D9E0486D
4 changed files with 106 additions and 55 deletions

@ -58,10 +58,10 @@
\nastavautora{Adam Mirre} \nastavautora{Adam Mirre}
\nastavnazevcz{Bezdrôtová bezpečnosť} \nastavnazevcz{Bezdrôtová bezpečnosť}
\nastavnazeven{Wireless security} % Jen u anglicky psané práce \nastavnazeven{Wireless security} % Jen u anglicky psané práce
\nastavabstraktcz{Text abstraktu česky} %\nastavabstraktcz{Text abstraktu česky}
\nastavabstrakten{Text of the abstract} %\nastavabstrakten{Text of the abstract}
\nastavklicovaslovacz{freenet, WEP, WPA, WPA2} %\nastavklicovaslovacz{freenet, WEP, WPA, WPA2}
\nastavklicovaslovaen{freenet, WEP, WPA, WPA2} %\nastavklicovaslovaen{freenet, WEP, WPA, WPA2}
% Následující příkaz nastaví standard PDF/A-1b % Následující příkaz nastaví standard PDF/A-1b
\aplikujpdfa \aplikujpdfa

@ -473,24 +473,24 @@
} }
% Strana s abstraktem a klíčovými slovy v češtině a angličtině %% Strana s abstraktem a klíčovými slovy v češtině a angličtině
\newcommand{\abstraktaklicovaslova}{ %\newcommand{\abstraktaklicovaslova}{
\clearpage % \clearpage
\thispagestyle{empty} % \thispagestyle{empty}
\nm{Abstrakt} % \nm{Abstrakt}
\abstraktcz % \abstraktcz
%
\vspace{1cm} % \vspace{1cm}
Klíčová slova: \klicovaslovacz % Klíčová slova: \klicovaslovacz
%
\vspace{3cm} % \vspace{3cm}
%
\nns{Abstract} % \nns{Abstract}
\abstrakten % \abstrakten
%
\vspace{1cm} % \vspace{1cm}
Keywords: \klicovaslovaen % Keywords: \klicovaslovaen
} %}
% ============================================================================ % % ============================================================================ %

@ -230,15 +230,15 @@ Autori týchto prác sa podrobne venujú rôznym metódam, vďaka ktorým je mo
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. 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. 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} \n{2}{Zlepšenia oproti WEP}
\begin{itemize} \begin{itemize}
\item key mixing funkcia \item key mixing funkcia
\item implementácia \it{sequence countera} \item implementácia \it{sequence countera}
\item použitie \it{MIC} \item použitie MD5 \it{MIC}
\end{itemize} \end{itemize}
Jedno zo zlepšení (oproti WEP) prichádza v spôsobe \it{mixovania kľúča} (key mixing). Jedno zo zlepšení (oproti WEP) prichádza v spôsobe \it{mixovania kľúča} (key mixing).
@ -248,12 +248,14 @@ Pôvodne sa pri WEPe jednalo len o jednoduchú konkatenáciu dvoch hodnôt, čo
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}. 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. \\ 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. WPA utilizuje HMAC s MD5 hashom, WEP používa CRC-32.
\n{2}{pbkdf2} \n{2}{pbkdf2}
\n{2}{4-way handshake} \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). \\ 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. Predtým ako dôjde k zakončeniu handshaku, musí nastať výmena EAPOL paketov.
@ -262,7 +264,7 @@ Prebieha vzájomná autentikácia hneď po asociácii (pripojení klienta).
Celý proces názorne: Celý proces názorne:
\begin{enumerate} \begin{enumerate}
\item $Client station \xleftarrow[]{Anonce} AP$ \item $Client station \xleftarrow[]{Anonce} AP$
\item PTK Client station $\xrightarrow[]{Snonce + MIC}$ AP \item PTK, KCK Client station $\xrightarrow[]{Snonce + MIC}$ AP
\item $Client station \xleftarrow[]{GTK + key install} AP$ \item $Client station \xleftarrow[]{GTK + key install} AP$
\item Client station $\xrightarrow[]{ACK}$ AP \item Client station $\xrightarrow[]{ACK}$ AP
\end{enumerate} \end{enumerate}
@ -271,7 +273,7 @@ Celý proces názorne:
\begin{itemize} \begin{itemize}
\item AP vygeneruje Anonce. \item AP vygeneruje Anonce.
Anonce je kryptograficky náhodná hodnota o veľkosti 64 bitov generovaná Authenticatorom (AP). \\ Anonce je kryptograficky náhodná hodnota o veľkosti 64 bitov generovaná Authenticatorom (AP). \\
\item Klient prijme Anonce, vygeneruje Snonce a následne PTK a MIC. \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). \\ 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. \\ \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 generovaný 4096 iteráciami pbkdf2(PSK+SSID). \\
@ -281,7 +283,7 @@ Celý proces názorne:
Klient pošle vygenerovaný MIC na AP spolu s Snonce ako súčasť správy 2. \\ Klient pošle vygenerovaný MIC na AP spolu s Snonce ako súčasť správy 2. \\
\n{3}{Krok 3} \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 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ŕavu 3 s inštrukciou "key: install" AP Vygeneruje GTK a klientovi odošle správu 3 s inštrukciou "key: install"
\n{3}{Krok 4} \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ľúč. 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ľúč.
@ -297,20 +299,52 @@ Pri úspešnom prevedení celého útoku dochádza k odhaleniu kľúča bezdrôt
% %
%\end{minted} %\end{minted}
\obr{airodump-ng}{fig:airodump}{1}{graphics/airodump-ng.png}
Názvy cudzích sietí boli rozostrené.
\obr{airodump-ng príkaz na monitoring AP}{fig:airodump_command}{1}{graphics/airodump-ng_command.png} \obr{airodump-ng príkaz na monitoring AP}{fig:airodump_command}{1}{graphics/airodump-ng_command.png}
\obr{aireplay -> deauth}{fig:aireplay}{1}{graphics/aireplay-ng.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} \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 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} \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} \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. 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.
@ -320,32 +354,50 @@ WPA2 CCMP pre MIC utilizuje HMAC so SHA1 hashom.
\n{2}{Zmena vo 4-way handshake oproti WPA} \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} \n{2}{KRACK}
krack \cite{krack} V roku 2017 sa podarilo belgickému výskumníkovi M. Vanhoefovi objaviť chybu v štandarde Wi-Fi.
krack url \cite{krackurl} 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.
%%%%%%%%% %%%%%%%%%
\n{1}{testing}
text
Tato sekce obsahuje ukázku vložení tabulky (Tab. \ref{tab:priklad}).
% Tabulku lze vkládat pomocí následujícího zjednodušeného stylu, nebo klasickým LaTex způsobem
\tab{Popisek tabulky}{tab:priklad}{0.65}{|l|c|c|c|c|c|r|}{
\hline
& 1 & 2 & 3 & 4 & 5 & Cena [Kč] \\ \hline
\emph{F} & (jedna) & (dva) & (tři) & (čtyři) & (pět) & 300 \\ \hline
}
% ============================================================================ % % ============================================================================ %
%\cast{Analytická část} %\cast{Analytická část}
% ============================================================================ % % ============================================================================ %
\nn{Závěr} \nn{Závěr}
Text závěru 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é pruchá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.
% ============================================================================ % % ============================================================================ %

@ -11,20 +11,19 @@
AP & access point \\ AP & access point \\
CBC & cipher-block chaining \\ CBC & cipher-block chaining \\
CBC-MAC & cipher-block chaining with message authentication code \\ CBC-MAC & cipher-block chaining with message authentication code \\
CRC & Cyclic Redundancy Check \\
CTR & counter mode \\ CTR & counter mode \\
EAP & Extensible Authentication Protocol (IETF RFC 3748) \\ EAP & Extensible Authentication Protocol (IETF RFC 3748) \\
EAPOL & Extensible Authentication Protocol over LANs (IEEE P802.1X-REV) \\ EAPOL & Extensible Authentication Protocol over LANs (IEEE P802.1X-REV) \\
GTK & group temporal key \\ GTK & group temporal key \\
KCK & EAPOL-Key confirmation key \\ KCK & EAPOL Key confirmation key \\
KEK & EAPOL-Key encryption key \\ KEK & EAPOL Key encryption key \\
LON & longitude \\ LON & longitude \\
LAT & latitude \\ LAT & latitude \\
ALT & altitude \\ ALT & altitude \\
MIC & message integrity code \\ MIC & message integrity code \\
PSK & preshared key \\ PSK & preshared key \\
PMK & pairwise master key \\ PMK & pairwise master key \\
PMKID & pairwise master key identifier \\
PMKSA & pairwise master key security association \\
PTK & pairwise transient Key \\ PTK & pairwise transient Key \\
SNonce & Supplicant nonce \\ SNonce & Supplicant nonce \\
SPA & Supplicant address \\ SPA & Supplicant address \\