Laboratórna úloha č. 4

Bezpečnosť sieťovej vrstvy

Návrh, správa a bezpečnost počítačových sítí (MPC-NSB)

Úvod

Cieľom laboratórnej úlohy je zoznámiť sa s možnými hrozbami a analyzovať zraniteľnosti, ktoré ohrozujú sieťovú vrstvu počítačových sietí, predovšetkým s útokom IP spoofing, a tiež demonštrovať spôsoby kryptografického zabezpečenia dátových prenosov s využitím technológie IPsec.

V prvej časti laboratórnej úlohy pomocou vhodných nástrojov vo virtuálnom stroji Kali Linux najskôr realizujete simuláciu sieťového útoku IP spoofing s cieľom demonštrovať spôsob manipulácie s riadiacimi informáciami obsiahnutými v IP záhlaví prenášaného dátového paketu, a to konkrétne generovaním paketov s podvrhnutou zdrojovou IP adresou zariadenia, ktoré má byť cieľom tohto útoku. Okrem vykonania samotného útoku budete jeho priebeh monitorovať a následne analyzovať v prostredí sieťového analyzátora Wireshark. Nakoniec sa budete venovať implementácii bezpečnostného rozšírenia IPsec za účelom zabezpečenia dátových prenosov na úrovni sieťovej vrstvy, a to najskôr v transportnom a neskôr i v tunelovom režime.

Teoretický úvod

V tejto laboratórnej úlohe budete oboznámení s problematikou týkajúcou sa možných bezpečnostných hrozieb na úrovni sieťovej vrstvy referenčného modelu ISO/OSI. Budete oboznámení so základným princípom útoku IP spoofing, u ktorého si vyskúšate aj jeho praktickú simuláciu. V druhej časti počítačového cvičenia sa pokúsite za účelom ochrany prebiehajúcich dátových prenosov na úrovni sieťovej vrstvy implementovať bezpečnostné rozšírenie IPsec ktoré prostredníctvom kryptografických mechanizmov zaisťuje dôvernosť a tiež autentickosť IP prenášaných paketov.

Hrozby na sieťovej vrstve: IP spoofing

IP spoofing je typ sieťového útoku, ktorý spočíva vo falšovaní (resp. podvrhnutí) zdrojovej IP adresy v IP záhlaví odosielaných paketov v snahe vzbudiť dojem, že tieto pakety sú odosielané z iného zariadenia než je zariadenie útočníka. Táto technika umožňuje útočníkovi obísť určité bezpečnostné opatrenia, akými môžu byť pravidlá firewallu pre filtrovanie komunikácie alebo mechanizmy autentifikácie, ktoré používajú ako identifikátor v procese overovania identity práve IP adresu. IP spoofing môže byť útočníkom využitý napr. pri realizácii DDoS útokov Typicky sa s IP spoofingom môžeme stretnúť pri realizácii SYN flood útoku ([2], [3]), alebo pri útoku ICMP flood či Smurf útoku. , kedy je spravidla cieľom útočníka dosiahnuť zahltenie cieľovej stanice (obete) v dôsledku generovania a odosielania falošných požiadaviek s podvrhnutými IP adresami.

Základný mechanizmus IP spoofing útoku spočíva odosielaní IP paketov, v ktorých IP záhlaví útočník manuálne, cielene upraví informácie prenášané v poli zdrojovej IP adresy napr. na skutočnú IP adresu obete (t. j. konkrétneho zariadenia v sieti) alebo legitímneho servera. [1]

Vhodnou ochranou proti popísanému typu útoku môže byť použitie techník ako napr.  ingress filtering, Viac informácií o technike Network Ingress Filtering sa môžete dočítať v oficiálnom RFC dokumente. ktoré umožnia blokovať príjem prichádzajúcich paketov so zdrojovou IP adresou, ktorá nezodpovedá očakávanej adrese pre dané rozhranie, alebo použitie bezpečnostného rozšírenia IPsec (Internet Protocol Security) pre zabezpečenie komunikácie pomocou mechanizmov autentizácie a šifrovania prenášaných dát.

Pozn.: Zabezpečeniu dátových prenosov pomocou IPsec rozšírenia bude venovaná ďalšia časť tejto laboratórnej úlohy.

Technológia IPsec

IPsec (Internet Protocol Security) predstavuje bezpečnostné rozšírenie sieťového IP protokolu. Jedná sa o sadu protokolov, ktoré spoločne poskytujú kombináciu bezpečnostných mechanizmov pre komplexné zabezpečenie dátových prenosov prebiehajúcich na úrovni sieťovej vrstvy počítačových sietí s využitím IP protokolu. IPsec je používaný v rôznych prostrediach, spravidla sa s jeho implementáciou môžeme stretnúť napr. pri zabezpečovaní virtuálnych privátnych sietí VPN.

IPsec umožňuje zaistiť integritu a autentizáciu prenášaných IP paketov a tiež ich šifrovanie, a to na úrovni IP protokolu, čím chráni dátové prenosy pred neoprávneným prístupom a manipuláciou.

Protokol IPsec môže byť implementovaný pre fungovanie v dvoch základných módoch (tzv. režimoch). Rozlišujeme:

Tunelový a transportný režim
IPsec: transportný a tunelový režim.

Súčasti protokolu IPsec

Bezpečnostné rozšírenie IPsec poskytuje možnosti komplexného zabezpečenia prenášaných dátových jednotiek prostredníctvom dvoch hlavných protokolov:

Zapuzdrenie prenášaného IP paketu, ktoré spočíva v pridaní odpovedajúcich záhlaví a zápätí nesúcich riadiace informácie, pri použití AH a/alebo ESP protokolu pre zabezpečenie ním prenášaného dátového obsahu, je znázornené pre oba prenosové IPsec režimy (transportný o tunelový) na obr. 2.

Podrobnejší popis technológie IPsec možno nájsť napr. v tejto literatúre.

Schematické znázornenie zapuzdrovania IPsec paketu
Schematické znázornenie zapuzdrovania IPsec paketu

Použité nástroje

V  tejto laboratórnej úlohe budú pre útok IP spoofing, záznam a analýzu prebiehajúcej dátovej komunikácie a neskôr pre implementáciu bezpečnostného rozšírenia IPsec postupne využité nižšie uvedené nástroje:

Nástroj hping3

hping3 je flexibilný nástroj vhodný pre použitie ku generovaniu TCP/IP paketov. Umožňuje simuláciu rôznych typov útokov, ako sú napríklad IP spoofing, port scanning či rôzne typy DoS útokov, môže byť použitý i za účelom testovania firewallov. Pomocou nástroja hping3 je možné vytvárať vlastné pakety s upraveným IP záhlavím a sledovať, ako cieľové systémy reagujú na neštandardné sieťové pakety (napríklad či odpovedajú, blokujú komunikáciu alebo generujú chyby apod.).

Pri práci s nástrojom hping3 je možné využiť „pomocníka“ k zobrazeniu dostupných príkazov podporujúcich rozličné funkcie tohto nástroja, a to pomocou príkazu:

hping3 --help

Nástroj hping3 tiež možnosť pre overenie dostupnosti cieľovej služby (napr. webového servera). Pomocou nižšie uvedeného príkazu je možné overiť, či je daná testovaná služba aktuálne dostupná a či firewall umožňuje, resp. neblokuje prístup k uvedenému portu:

sudo hping3 -S 192.168.126.130 -p 80 -c 3

kde prepínač -S zaistí odoslanie postupne troch TCP/IP paketov s nastaveným príznakom SYN = 1 na port 80 cieľového zariadenia s uvedenou IP adresou

Pre účely simulácie IP spoofingu je možné hping3 použiť nasledovne:

sudo hping3 -a 192.168.126.129 -S 192.168.126.130 -p 80 -c 5

Uvedený príkaz vygeneruje celkom päť TCP SYN paketov smerovaných na port 80 cieľovej IP adresy 192.168.126.130, pričom do záhlavia týchto paketov bude vložená (pomocou prepínača -a) falošná zdrojová IP adresa s hodnotou 192.168.126.129.

Vysvetlenie použitých prepínačov príkazu a ich parametrov:

Wireshark

Wireshark je pokročilý sieťový analyzátor, ktorý umožňuje zachytávať, vizualizovať a analyzovať sieťovú prevádzku v reálnom čase. Je vhodný pre analýzu komunikačných protokolov a obsahu prenášaných dátových jednotiek, detekciu podozrivých paketov a identifikáciu sieťových problémov. Tento nástroj ponúka možnosť filtrovať zachytenú komunikáciu na základe rôznych kritérií (napr. zdrojová/destinovaná IP, protokol, port, ...).

S nástrojom Wireshark ste sa oboznámili už v predošlom cvičení, v rámci ktorého ste si tiež vyskúšali jeho praktické použitie. Pre potreby praktickej časti tejto laboratórnej úlohy je v tabuľke nižšie uvedený prehľad niekoľkých možných filtrov pre selektívne zobrazenie vhodných paketov zo zaznamenanej komunikácie.

Wireshark : príklady použitých filtrov komunikácie.
účel filter
zobrazenie všetkých paketov ICMP protokolu: icmp
sledovanie dátovej komunikácie medzi dvoma IP adresami: ip.src == 192.168.126.129 &&
ip.dst == 192.168.126.130
zobrazenie všetkých ESP paketov: esp

Strogswan

strongSwan je open-source implementácia protokolov IPsec a  IKE (Internet Key Exchange) IKE (Internet Key Exchange) je protokol používaný v rámci IPsec spojenia pre bezpečnú výmenu kryptografických kľúčov a vyjednanie bezpečnostných parametrov medzi dvoma komunikujúcimi stranami. Jeho cieľom je vytvoriť a spravovať tzv. Security Associations (SA), ktoré definujú, aké kryptografické mechanizmy budú použité k zaisteniu dôvernosti a integrity prenášaných dát. V rámci knižnice strongSwan predstavuje IKE nevyhnutnú súčasť, ktorá zaisťuje bezpečné nadviazanie IPsec spojenia a následné obnovenie a/alebo ukončenie vytvoreného tunela. , ktorá umožňuje vytvoriť bezpečné prepojenie dvoch alebo viacerých uzlov, resp. zariadení, na sieťovej vrstve. Podporuje IPv4 aj IPv6, transportný aj tunelový režim IPsec, a v rámci protokolu IKE podporuje statickú i dynamickú výmenu kľúčov.

Pre konfiguráciu bezpečnostného rozšírenia IPsec k zabezpečeniu sieťovej komunikácie je kľúčová práca s nižšie uvedenými konfiguračnými súbormi:

Pre prácu s knižnicou strongSwan je nutné spustiť samotnú službu pomocou príkazu:

sudo systemctl start strongswan

Knižnica strongSwan umožňuje vytváranie IPsec spojení (tunelov) medzi dvoma koncovými bodmi komunikácie. Spustenie, resp. manuálne vytvorenie zabezpečeného spojenia je možné príkazom:

sudo ipsec up <názov_spojenia>

Taktiež je možné zobraziť stav implementovaných IPsec tunelov vytvorených medzi zariadeniami:

sudo ipsec statusall

Praktická časť

V rámci praktickej časti počítačového cvičenia bude vytvorená simulácia útoku IP spoofing pomocou nástroja hping3 s následnou analýzou komunikácie cez Wireshark. Simulovaný útok bude prebiehať vo virtuálnej sieti pozostávajúcej z troch virtuálnych strojov s Kali Linux (klient, server a útočník), ktorej topológia je schematicky znázornená na obrázku nižšie. Komunikácia medzi uvedenými virtuálnymi strojmi prebieha skrz virtuálny prepínač VMware virtual switch, ako je znázornené na uvedenom obrázku. Cieľom IP Spoofingu v dôsledku generovania IP paketov s podvrhnutou zdrojovou IP adresou môže byť vyvolanie nadväzujúceho DDoS útoku s cieľom zapríčiniť nemožnosť plnohodnotného fungovania zariadenia, ktoré je cieľom zamýšľaného útoku.

Následne si v nadväzujúcej ďalšej časti za účelom zabezpečenia prebiehajúcich dátových prenosov na úrovni sieťovej vrstvy vyskúšate konfiguráciu bezpečnostného rozšírenia IPsec, ktoré zaisťuje v rámci komunikácie medzi dvoma zariadeniami dôvernosť prenášaných IP paketov prostredníctvom šifrovania a tiež ich autentickosť a odolnosť voči narušeniu integrity.

Topológia virtuálnej siete a nastavenie virtuálnych strojov

Použité virtuálne stroje:

Sieťová konfigurácia:

Všetky virtuálne stroje musia byť prepojené v rovnakej virtuálnej podsieti pomocou sieťového režimu Host-Only alebo NAT, aby mohlo byť na VM predstavujúcom „útočníka“ realizované zachytávanie dátových prenosov (komunikácie) medzi klientom a serverom.

Topológia
Topológia siete laboratórnej úlohy.

Zoznámenie sa s použitými nástrojmi

Prehľad základných príkazov pre jednotlivé používané nástroje

Postup pre vypracovanie laboratórnej úlohy

A) Príprava prostredia

Spustenie virtuálnych strojov

Prihlasovacie údaje:

VM „útočník“ Username: kali Password: kali
VM „klient“ Username: klient Password: kali
VM „server“ Username: server Password: kali

Overenie sieťovej konektivity

B) IP spoofing útok pomocou hping3

Pomocou nástroja hping3 na VM útočníka je možné simulovať IP spoofing útok generovaním IP paketov s podvrhnutou zdrojovou IP adresou. Cieľom je odosielať pakety vzbudzujúce dojem, akoby boli odoslané samotným klientom. Týmto útokom je možné overiť, že cieľové zariadenie (server) nedokáže rozpoznať skutočného odosielateľa – teda útočníka. Prebiehajúca komunikácia vo vytvorenej sieti bude monitorovaná pomocou nástroja Wireshark.

Použitie nástroja hping3

hping terminal
Spustenie IP spoofing útoku v termináli Kali Linux.

Sledovanie prichádzajúcej komunikácie (server) vo Wiresharku

Wireshark server IP spoofing
Ukážka zachytenej komunikácie po spustení útoku IP Spoofing (server).

C) Zabezpečenie komunikácie s využitím IPsec

V nasledujúcej časti laboratórnej úlohy si vyskúšate prácu s knižnicou strongSwan podporujúcu implementáciu IPsec-u.

Konfigurácia IPsec v transportnom režime

Pripojenie a overenie konfigurácie IPsec

klient ipsec status
Overenie vytvorenia IPsec spojenia (klient).
tcpdump server
Výpis nástroja tcpdump: sledovanie komunikácie prostredníctvom vytvoreného IPsec tunela (server).
Wireshark ipsec
Ukážka zachytenej komunikácie – prenos cez šifrovaný IPsec tunel (server).

Zadanie samostatnej úlohy

D) Implementácia IPsec v tunelovom režime

V poslednej časti laboratórnej úlohy si vyskúšate praktické nasadenie bezpečnostného rozšírenia IPsec v tunelovom režime pre zabezpečenie komunikácie odosielanej cez simulovanú „verejnú sieť“.

Cieľom vašej samostatnej práce bude najskôr simulovať vlastnú verejnú sieť a následne správnym spôsobom nakonfigurovať IPsec rozšírenie v tunelovom režime pre zabezpečenie komunikácie medzi klientom a serverom.
Po implementácii otestujete a porovnáte výkon siete pri použití transportného a tunelového IPsec režimu, a to najmä z pohľadu latencie komunikácie, spoľahlivosti prenosu a stability vytvoreného spojenia.
Zachytenú komunikáciu analyzujte vo Wiresharku a porovnajte rozdiely medzi oboma režimami. Pri analýze venujte pozornosť aj štruktúre paketov (napr. viditeľnosť vnútorných záhlaví, šifrovanie obsahu a použité protokoly).

Kontrolné otázky

Poznámka: Niektoré otázky môžu mať viac než jednu správnu odpoveď. Pre správne zodpovedanie otázky je nutné označiť všetky správne odpovede.

Záver

V tejto laboratórnej úlohe ste sa zoznámili s problematikou bezpečnosti sieťovej vrstvy počítačových sietí a v tejto súvislosti tiež s rizikami spojenými s podvrhnutím IP adresy (tzv. IP spoofing), čo predstavuje častý spôsob narušenia integrity alebo dôvernosti komunikácie na sieťovej vrstve.

V praktickej časti ste pomocou nástroja hping3 realizovali simuláciu útoku, ktorý ilustruje, akým spôsobom je možné oklamať cieľové zariadenie použitím falošnej zdrojovej IP adresy uvedenej v záhlaví odosielaných dátových jednotiek. Následne ste si vyskúšali praktickú implementáciu rozšírenia IPsec, ktorý umožňuje komplexné zabezpečenie IP komunikácie, a to vrátanie šifrovania dát, autentizácie a zaistenia integritu prenosu. Porovnaním transportného a tunelového IPsec režimu ste získali prehľad o rôznych spôsoboch ochrany dátovej prevádzky a taktiež o ich vplyve na výslednú podobu paketov či celkový výkon počítačovej siete.