finalised the work on tex
This commit is contained in:
parent
08d487a928
commit
23d8b5ff49
@ -58,10 +58,10 @@
|
||||
\nastavautora{Adam Mirre}
|
||||
\nastavnazevcz{Bezdrôtová bezpečnosť}
|
||||
\nastavnazeven{Wireless security} % Jen u anglicky psané práce
|
||||
\nastavabstraktcz{Text abstraktu česky}
|
||||
\nastavabstrakten{Text of the abstract}
|
||||
\nastavklicovaslovacz{freenet, WEP, WPA, WPA2}
|
||||
\nastavklicovaslovaen{freenet, WEP, WPA, WPA2}
|
||||
%\nastavabstraktcz{Text abstraktu česky}
|
||||
%\nastavabstrakten{Text of the abstract}
|
||||
%\nastavklicovaslovacz{freenet, WEP, WPA, WPA2}
|
||||
%\nastavklicovaslovaen{freenet, WEP, WPA, WPA2}
|
||||
|
||||
% Následující příkaz nastaví standard PDF/A-1b
|
||||
\aplikujpdfa
|
||||
|
@ -473,24 +473,24 @@
|
||||
}
|
||||
|
||||
|
||||
% Strana s abstraktem a klíčovými slovy v češtině a angličtině
|
||||
\newcommand{\abstraktaklicovaslova}{
|
||||
\clearpage
|
||||
\thispagestyle{empty}
|
||||
\nm{Abstrakt}
|
||||
\abstraktcz
|
||||
|
||||
\vspace{1cm}
|
||||
Klíčová slova: \klicovaslovacz
|
||||
|
||||
\vspace{3cm}
|
||||
|
||||
\nns{Abstract}
|
||||
\abstrakten
|
||||
|
||||
\vspace{1cm}
|
||||
Keywords: \klicovaslovaen
|
||||
}
|
||||
%% Strana s abstraktem a klíčovými slovy v češtině a angličtině
|
||||
%\newcommand{\abstraktaklicovaslova}{
|
||||
% \clearpage
|
||||
% \thispagestyle{empty}
|
||||
% \nm{Abstrakt}
|
||||
% \abstraktcz
|
||||
%
|
||||
% \vspace{1cm}
|
||||
% Klíčová slova: \klicovaslovacz
|
||||
%
|
||||
% \vspace{3cm}
|
||||
%
|
||||
% \nns{Abstract}
|
||||
% \abstrakten
|
||||
%
|
||||
% \vspace{1cm}
|
||||
% Keywords: \klicovaslovaen
|
||||
%}
|
||||
|
||||
|
||||
% ============================================================================ %
|
||||
|
110
tex/tex/text.tex
110
tex/tex/text.tex
@ -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.
|
||||
|
||||
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}
|
||||
|
||||
\begin{itemize}
|
||||
\item key mixing funkcia
|
||||
\item implementácia \it{sequence countera}
|
||||
\item použitie \it{MIC}
|
||||
\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).
|
||||
@ -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}.
|
||||
|
||||
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}{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). \\
|
||||
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:
|
||||
\begin{enumerate}
|
||||
\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 $\xrightarrow[]{ACK}$ AP
|
||||
\end{enumerate}
|
||||
@ -271,7 +273,7 @@ Celý proces názorne:
|
||||
\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 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). \\
|
||||
\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). \\
|
||||
@ -281,7 +283,7 @@ Celý proces názorne:
|
||||
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ŕ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}
|
||||
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}
|
||||
|
||||
\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{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}
|
||||
|
||||
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.
|
||||
@ -320,32 +354,50 @@ 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}
|
||||
|
||||
krack \cite{krack}
|
||||
krack url \cite{krackurl}
|
||||
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.
|
||||
|
||||
%%%%%%%%%
|
||||
|
||||
\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}
|
||||
% ============================================================================ %
|
||||
\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 \\
|
||||
CBC & cipher-block chaining \\
|
||||
CBC-MAC & cipher-block chaining with message authentication code \\
|
||||
CRC & Cyclic Redundancy Check \\
|
||||
CTR & counter mode \\
|
||||
EAP & Extensible Authentication Protocol (IETF RFC 3748) \\
|
||||
EAPOL & Extensible Authentication Protocol over LANs (IEEE P802.1X-REV) \\
|
||||
GTK & group temporal key \\
|
||||
KCK & EAPOL-Key confirmation key \\
|
||||
KEK & EAPOL-Key encryption key \\
|
||||
KCK & EAPOL Key confirmation key \\
|
||||
KEK & EAPOL Key encryption key \\
|
||||
LON & longitude \\
|
||||
LAT & latitude \\
|
||||
ALT & altitude \\
|
||||
MIC & message integrity code \\
|
||||
PSK & preshared key \\
|
||||
PMK & pairwise master key \\
|
||||
PMKID & pairwise master key identifier \\
|
||||
PMKSA & pairwise master key security association \\
|
||||
PTK & pairwise transient Key \\
|
||||
SNonce & Supplicant nonce \\
|
||||
SPA & Supplicant address \\
|
||||
|
Reference in New Issue
Block a user