@RDa: S NATem jako bezpečnostní funkcí to nemyslíš vážně, že?
Definujeme si to takhle:
- Bezpečnostní funkce je taková, která:
1) zastaví útočníka (jinak nemá co do činění s bezpečností), a
2) nezabrání legitimnímu využití služby uživatelem (protože to by vypnutí byla ideální bezpečnostní funkce).
- Uživatel je osoba, která chce zařízení využít k jeho účelu a je k tomu oprávněna.
- Útočník je osoba, která má přístup k vnější síti, může odchytávat a posílat pakety a má zájem jakkoliv škodit.
- Protože NAT ovlivňuje průchod paketů v síti, berme oba případy, zdařené užití i zdařený útok doručení paketu s žádostí o navázání TCP spojení na zařízení ve vnitřní síti. Nebudeme uvažovat firewall atd.
Use case 1
Pepa je majitel domku. Udělal si domácí automatizaci, která mj. ovládá topení. Jede na dva týdny lyžovat, tak stáhne na ty dva týdny topení na 10°C. Druhý den si zlomí ruku a jede domů dřív. Protože je automatizace napojená na Ethernet, chce se připojit cestou domů z mobilu a zvednout teplotu dřív, aby nedojel do vymrzlýho baráku.
Nemůže, NAT mu nedovolí navázat spojení s PLC. Pakety končí na NATu, ale ten neví, kam je poslat dál.
V tomto případě jde o legtimní užití - nastavení topení v bytě jeho vlastníkem a obyvatelem. Nebylo umožněno, tj. v tomto bodě NAT nesplnil definici bezpečnostní funkce v bodě 2.
Tohle je Jirsákovo stěhování ledničky skrz turniket.
Use case 2
S Pepou má Lojza nevyřízený účty a ví, že po loňským úraze na lyžích si platí VPSku a jeho domácí automatizace na ni udržuje TCP spojení, kdyby něco. A že znovu odjel na lyže. Chce mu odstavit topení úplně, ať mu zamrznou a popraskají trubky.
Má přístup k lince. Odposlechne IP adresu a port VPSky.
Alternativa 1: V tu chvíli je NAT otevřený pro IP adresu a por VPSky kvůli doručování odpovědí. Pošle SYN paket s IP adresou a portem jeho VPSky, ten projde otevřeným oknem na NATu rovnou na zařízení.
Alternativa 2: Pošle jménem VPSky FIN paket. Spojení se přeruší, automatizace se ho pokusí navázat znovu. Vydává se za VPS a na jeho SYN odpoví ACK. ACK paket projde NATem na zařízení.
Bad boy won. Útočník nebyl zastaven, nebyla splněna ani první podmínka pro bezpečnostní funkci, a to rovnou dvěma různými způsoby.
Tohle je Jirsákův zloděj, co přelezl turniket.
Porovnání s IPv6 bez NATu
Pepa zná IP adresu a přihlašovací údaje k PLC, to je vidět zvenčí, nastaví, co potřebuje.
Lojza nemá spojení, který by shodil, protože PLC je jenom na přjmu a nekomunikuje. Nemá co shodit s tím, že se to k němu připojí. Proskenovat 2^72 adres (prefix /56) během Pepovy dovolené nestihl.
Bez NATu se kupodivu povedlo legitimní užití, ale útočník pohořel. Takže definici bezpečnostní funkce splňuje IPv6, ne NAT. Jak že to říkal ten beránek v bajce? To máš, vlku, bl-béééééé
15. 6. 2024, 23:20 editováno autorem komentáře