SAMSUNG_042024 Advertisement SAMSUNG_042024 Advertisement SAMSUNG_042024 Advertisement

Python a kybernetická bezpečnosť / 5. časť

0

V predošlých častiach seriálu sme vysvetlili a prakticky predviedli niektoré možnosti získavania informácií o počítačových sieťach nachádzajúcich sa v našom okolí. Skenovanie je jedna z prvých aktivít v rámci prípravy na možné útoky. Poskytuje nám obrovské množstvo informácií, niektoré menej podstatné, ale niektoré veľmi dôležité, ba dokonca také, ktoré nám naše budúce obete ponúkajú nevedome a nechcene. Naším cieľom je nájsť takú bezdrôtovú sieť, ku ktorej by sme sa mohli pripojiť. V prípade otvorených, tzv. Free Wi-Fi sietí, resp. sietí chránených šifrovaním WEP/WPA, sme vyhrali hneď na začiatku a môžeme sa venovať ďalším aktivitám. V prípade sietí so šifrovaním WPA2 alebo najnovším WPA3 je to už zložitejšie. Čo však znamenajú tieto skratky?

Šifrovanie

Kryptografia navrhuje a skúma kryptografické konštrukcie, ktorých vstupom je otvorený = čitateľný text (plaintext) a výstupom zašifrovaný = nečitateľný text (ciphertext). Prevod (transformácia) otvoreného textu na zašifrovaný sa nazýva šifrovanie (encryption). Opačný proces prevodu zašifrovaného textu na otvorený nazývame dešifrovanie (decryption). Šifrovanie transformuje údaje pomocou šifrovacieho algoritmu. Šifrovacím algoritmom sme sa podrobne venovali v samostatnom seriáli, a preto ich nebudeme znovu rozoberať. Zopakujme si iba ich základné rozdelenie na:

1. symetrické algoritmy – používajú rovnaký kľúč na šifrovanie aj dešifrovanie,

2. asymetrické algoritmy – používajú tzv. Public-Private kľúčový pár; Public Key je určený na šifrovanie a Private Key (tajný kľúč) na dešifrovanie; z verejného kľúča nemožno vygenerovať súkromný kľúč.

Šifrovanie WLAN

Už od samého vzniku bezdrôtových sietí bolo jasné, že údaje budú zasielané vzduchom a ktokoľvek ich môže prijať. Vývojári na to mysleli, a preto zadefinovali tzv. WLAN šifrovacie štandardy, resp. protokoly, ktoré využívajú rôzne postupy a najmä rôzne šifrovacie algoritmy, resp. šifry. Medzi prvé štandardy patrili WEP (Wired Equivalent Privacy) – šifra RC4 a TKIP (Temporal Key Integrity Protocol) – šifra RC4. Z dôvodu bezpečnostných chýb a prelomenia štandardov WEP a TKIP bol neskôr definovaný štandard WPA (Wi-Fi Protected Access), ktorý síce takisto využíval TKIP a šifru RC4, ale s 256-bitovou dĺžkou kľúča a ďalšími zlepšeniami (napr. MIC). Najnovšie stále využívané štandardy sú WPA2 a WPA3. Najdôležitejší rozdiel WPA2 oproti WPA je zmena šifry na AES, na ktorej je postavený mechanizmus Counter Cipher Mode with Block Chaining Message Authentication Code Protocol (CCMP). Najnovší štandard WPA3 umožňuje pri 4-Way Handshake použiť kľúč vo forme QR kódu alebo NFC tagu (Wi-Fi Device Provisioning Protocol). Na doplnenie spomeňme, že štandard WPA priniesol síce zaujímavú, ale nebezpečnú funkcionalitu, nazývanú WPS (Wi-Fi Protected Setup). Tá na jednej strane umožňuje jednoducho pripojiť nové zariadenie, no predstavuje vážny bezpečnostný problém a mnohí odborníci ju odporúčajú vypnúť. Navyše musíme spomenúť aj autentifikačný framework EAP (Extensible Authentication Protocol), ktorý definuje množstvo rôznych autentifikačných metód, pričom autentifikácia klientov je riešená prostredníctvom autentifikačného servera.

 


Obr. 1 Výstup príkazu airodump-ng s informáciami o šifrovaní

 

Free Wi-Fi vs. WEP vs. WPA/WPA2/WPA3

Ako sme ukázali, existuje množstvo veľmi jednoduchých spôsobov, ako zistiť typ šifrovania, ktorý používa konkrétna sieť. V prípade otvorených sietí vlastne nemáme čo riešiť a môžeme sa okamžite pripojiť. Vtedy by nás malo zaujímať najmä zabezpečenie nášho zariadenia, a nie zabezpečenie siete a ostatných zariadení. Šifrovanie WEP, resp. WPA bolo prelomené už dávno. Na internete existuje obrovské množstvo rôznych nástrojov na lámanie kľúčov WEP/WPA. Túto funkcionalitu ponúka dokonca aj nami predstavený balík Aircrack-ng. Najsilnejšie šifrovanie ponúka WPA2 (šifra AES/CCMP), resp. moderný WPA3. Pri WPA2 môžeme skonštatovať, že toto šifrovanie bežný „smrteľník“ s obyčajným počítačom neprelomí, iba keby bol kľúč veľmi jednoduchý. Achillovou pätou šifrovania WPA2 sú teda slabé kľúče.

Poznámka: Nástroj WiGLE eviduje informácie približne o 25 miliónoch otvorených sietí, takmer 38 miliónoch sietí WEP, 37 miliónoch sietí WPA a približne 770 miliónoch sietí WPA2. To znamená, že stále existuje množstvo nezabezpečených sietí, resp. sietí zabezpečených veľmi slabým šifrovaním.

Autentifikácia

Predstavme si, že chceme vstúpiť do tajnej miestnosti. V prípade otvorených sietí nemá táto miestnosť žiadnu ochranu a my jednoducho vojdeme. Zatvorená miestnosť má dvere, ku ktorým existuje kľúč, a ten, kto ho vlastní, môže vstúpiť. V prípade šifrovania WEP majú dvere jednoduchý zámok, ku ktorému dokážeme celkom ľahko nájsť správny kľúč a vojsť. Pri WPA/WPA2 je zámok zložitejší, nie neprekonateľný, ale na nájdenie správneho kľúča musíme vynaložiť viac námahy. Navyše aj v prípade zložitejšieho zámku možno použiť jednoduchý „slabý“ kľúč.

Autentifikácia je vopred dohodnutý viackrokový proces, ktorý opisuje spôsob odomykania zámku pomocou kľúča. V prípade WPA2 sa používa 4-krokový proces, tzv. 4-Way Handshake (obr. 2), v ktorom sa zúčastňujú okrem iných najmä nasledujúce premenné:

PSK

Pre-Shared Key

SSID

Názov siete

PBKDF2

Password Based Key Derivation Function 2

PMK

Pairwise Master Key = PBKDF2(PSK + SSID)

PTK

Pairwise Transient Key

MIC

Message Integrity Check

BSSID

MAC adresa Access Pointu = Authenticator

Station MAC

MAC adresa klienta = Supplicant

ANonce, SNonce

Authenticator, Supplicant Nonce (náhodné číslo)

EAPOL

Extensible Authentication Protocol Over LAN

 

Obr. 2 802.11 WPA2 4-Way Handshake

 

WPA2 Cracking

Na prípravu PTK je potrebný PMK a 5 ďalších parametrov: SSID, ANonce, SNonce, BSSID a Station MAC. Všetky tieto parametre možno získať pri pasívnom skenovaní siete. Jedinou neznámou je PMK. Ten sa vypočítava pomocou funkcie PBKDF2 z PSK a SSID. Pri lámaní zabezpečenia WPA2 sa používa tzv. slovníkový útok (Dictionary Attack), pri ktorom sa pomocou databázy známych hesiel (kľúčov) a takisto známeho SSID vytvára zoznam kľúčov PMK. Ku každému PMK sa pripraví PTK a následne sa vypočíta MIC. V prípade kladnej verifikácie MIC v rámci 4-Way Handshake vieme, že sme našli správny kľúč.

 

Marek Sopko

Zobrazit Galériu

Marek Sopko

Všetky autorove články

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať