Chyby ve firewall

Zdroj: SOOM.cz [ISSN 1804-7270]
Autor: kasper
Datum: 2.10.2004
Hodnocení/Hlasovalo: 1/1

www.pcsvet.cz (Miroslav Kubík)

Slabé místo ve většině osobních firewallů pro platformu Windows

Firewall je bezesporu velmi důležitým pomocníkem, který tvoří obranou linii proti nejrůznějším útokům vedených ze síťového prostředí. Je tedy naprosto nezbytné, aby tyto produkty pracovaly naprosto spolehlivě. Bohužel ne vždy tomu tak je. Nehodlám se zde nyní zabývat konkrétními bezpečnostními trhlinami v jednotlivých produktech, cílem je poukázat na problém samotné architektury firewallů platformy Microsoft Windows.

V poslední době, zvláště pak s uvedením Service Packu 2 pro Windows XP, se hodně diskutovalo o problému firewallu ICF, který je integrován v operačních systémech Windows XP a Windows 2003. Velmi zjednodušeně řečeno je nedostatek způsoben opožděným startem firewallu. To znamená, že existuje krátký časový interval, kdy už běží síťové služby operačního systému popřípadě některých aplikací, avšak firewall stále nefunguje. V tomto kritickém bodě je možné provést celou řadu útoků, přestože by měla být stanice plně chráněna. Důkazem mohou být systémy napadané červem Blaster, přestože byly chráněné pomocí ICF, a měly tedy uzavřen port 135/TCP, na který škodlivý kód útočil. I krátký okamžik během startu operačního systému tak stačil k infekci nezáplatovaného systému.

Společnost Microsoft slíbila tento problém odstranit updatovaným firewallem ICF v Service Packu 2. Tato skutečnost mne přivedla na myšlenku, jestli se jedná skutečně pouze o problém ICF, nebo má tento nedostatek společného jmenovatele i s firewally ostatních výrobců. Rozhodl jsem se tedy učinit test několika nejpoužívanějších zástupců osobních firewallů pro platformu Windows

ZoneAlarm 4.5.538.000 Kerio Personal Firewall 4.0.10 Sygate Personal Firewall 5.5 build 2516

Firewally jsem nastavil na nejvyšší úroveň zabezpečení a sledoval jsem, jak se budou chovat k přicházejícím datům typu ICMP ECHO REQUEST generovaných příkazem ping. Testování probíhalo v prostředí místní sítě LAN 10Mbps se dvěma prvky typu HUB a jedním SWITCHem. Požadavky jsem odesílal z operačního systému Windows XP Professional a posléze i z OpenBSD 3.3, který mi umožnil jemněji nastavit interval mezi odesíláním jednotlivých požadavků. Firewally chránily stanici s instalovaným operačním systémem Microsoft Windows Professional se všemi dostupnými hotfixy.

Testu jsem nejprve podrobil ZoneAlarm 4.5.538.000. Po instalaci tohoto produktu jsem provedl příslušná nastavení a pro zkoušku jsem na chráněnou stanici odeslal několik ICMP požadavků, abych se ujistil, že firewall správně blokuje příchozí dopravu. Poté jsem stanici s instalovaným ZoneAlarmem restartoval a současně jsem na ni začal posílat příslušná data. Během nabíhání operačního systému jsem na ICMP požadavky dostal několik odpovědí!!! Znamená to tedy, že i ZoneAlarm trpí stejným nedostatkem jako ICF Microsoftu. Vše jsem raději ještě několikrát zopakoval, nicméně výsledek byl vždy totožný. Při vypínání operačního systému však produkt stanici chránil až do posledního okamžiku a na ICMP požadavky jsem odpověď nedostal, přestože jsem snížil interval odesílání až na 0.2 sekund

Stejnému testu jsem podrobil i Kerio Personal Firewall 4.0.10. Bohužel i tento produkt se choval velmi podobně, avšak naneštěstí dopravu propouštěl i během vypínání operačního systému. Také doba zranitelnosti byla o poznání delší než u ZoneAlarmu

Posledním testovaným produktem byl Sygate Personal Firewall 5.5 build 2516. Již předem jsem očekával, že chování bude opět velmi podobné…nezmýlil jsem se. Firewall propouštěl data chvíli při startu operačního systému i během jeho vypnutí.

Z testů vyplynulo, že výše uvedené firewally nejsou schopny dokonale ochránit stanici. Během startu a ukončení operačního systému existují krátké časové okamžiky, kdy je stanice firewallem zcela nechráněna. Tato kritická doba by mohla být zneužita k útokům typu buffer overrun, DoS a dalších v různých aplikacích nebo samotném operačním systému. Stejnou hrozbu mohou představovat i červi jako Blaster apod. Je otázkou, zda se jedná o chybu výrobců firewallů, nebo jde-li o architektonický nedostatek operačního systému. Avšak vzhledem k tomu, že jednotlivé firewally se vůči tomuto problému chovají různě (ZoneAlarm dopravu při vypínání OS blokuje; ICF v SP2 tímto problémem nemá trpět vůbec), přikláněl bych se spíše k první možnosti.

Také bude zajímavé sledovat, jak toto slabé místo odstraní aktualizovaný ICF v Service Packu 2, a zda-li bude schopen dopravu blokovat i během ukončení běhu operačního systému. I když zde asi tak vysoké riziko vzhledem k ukončování služeb a aplikací nehrozí, nicméně i tak by se jednalo o nedostatek, který by mohl být potencionálně zneužit.

kasper