„Projekt i implementacja filtra pakietów dla urządzeń Pocket PC”

Transkrypt

„Projekt i implementacja filtra pakietów dla urządzeń Pocket PC”
„Projekt i implementacja filtra
pakietów dla urządzeń Pocket PC”
Jakub Grabowski
opiekun pracy: prof. dr hab. Zbigniew Kotulski
2005-10-25
Zagrożenia
Ataki sieciowe
Problemy z bezpieczeństwem sieci WLAN
Złośliwe oprogramowanie
Motywacja
Chęć rozwiązania rzeczywistego problemu z
bezpieczeństwem – niekontrolowanego
przepływu pakietów pomiędzy urządzeniem, a
siecią
Brak darmowego oprogramowania typu
„personal firewall” dla Pocket PC
Tylko dwa komercyjne rozwiązania (nie
pozbawione wad)
Chęć poznania możliwości posiadanego
urządzenia PocketPC
Cechy „idealnego” firewalla na
Pocket PC
Monitorowanie i filtrowanie ruchu przychodzącego
i wychodzącego dla stosu TCP/IP
Obsługa interfejsów LAN i WAN
Szybkość działania
Przezroczystość działania
Rozpoczęcie działania przy starcie systemu
Łatwość konfiguracji
Ochrona przed atakami DoS
Podgląd stanu połączeń i otwartych portów w
systemie
Obsługa zaufanych stref
Wybrana architektura
Analiza nagłówków
Ethernet
IP
TCP/UDP
Cel pracy
Stworzenie filtra pakietów, działającego na
rzeczywistym urządzeniu PocketPC
Opracowanie uniwersalnej architektury,
która może zostać wykorzystana w innych
aplikacjach wymagających dostępu do
pakietów
Problemy wpływające na kształt
projektu
Brak interfejsów programistycznych do
przechwytywania i filtrowania pakietów w
systemie Windows Mobile for Pocket PC –
konieczność stworzenia własnego sterownika
Uboga dokumentacja interfejsu NDIS (Network
Driver Interface Specification) – konieczność
wykonania wielu eksperymentów
Wysoki koszt komercyjnego oprogramowania do
tworzenia sterowników – konieczność
konfiguracji darmowych narzędzi tak, aby
możliwe było tworzenie sterowników NDIS
Architektura komunikacyjna
Windows CE
Struktura systemu – pomysł na
filtrowanie pakietów
Struktura systemu – dekompozycja
zadań
Moduły systemu:
Sterownik pośredni
Filtr pakietów
Parser pakietów
Moduł decyzyjny z łańcuchem reguł
Zagadnienia implementacyjne –
rozwiązane problemy
Konfiguracja darmowego środowiska
Embedded Visual C++ tak, aby możliwe było
stworzenie w nim sterownika NDIS.
Zbudowanie sterownika pośredniego i
odpowiednia jego konfiguracja tak, aby
przepływał przez niego cały ruch TCP/IP.
Opracowanie parsera pakietów.
Opracowanie dynamicznej struktury danych
realizującej łańcuch reguł dla firewalla.
Implementacja mechanizmu odrzucania
zablokowanych pakietów wewnątrz sterownika
pośredniego NDIS.
Porównanie z systemami
komercyjnymi
JG Packet Filter
Airscanner Mobile
Firewall
Bluefire Firewall
Filtrowanie ruchu LAN
TAK
TAK
TAK
Filtrowanie ruchu WAN
NIE
NIE
TAK
Rozpoczęcie działania przy starcie systemu
TAK
TAK
TAK
Graficzny interfejs użytkownika
NIE
TAK
TAK
Filtrowanie ze względu na adres IP
TAK
TAK
NIE
Filtrowanie ze względu na stan połączeń TCP
TAK
NIE
NIE
Ochrona przed najpopularniejszymi atakami DoS
NIE
TAK
TAK
Podgląd stanu połączeń i otwartych portów w
systemie
NIE
TAK
NIE
Logowanie zdarzeń
TAK
TAK
TAK
Ocena rozwiązania funkcjonalność
Mocne strony
Filtrowanie ze
względu na adres IP
Filtrowanie ze
względu na stan
połączenia TCP
Słabe strony
Brak graficznego
interfejsu użytkownika
Brak ochrony przed
atakami DoS
Brak filtrowania ruchu
WAN
Ocena rozwiązania – poprawność
działania
Do testów wykorzystane zostały narzędzia:
Telnet
Netcat
Nmap
Ethereal
Plany testów przygotowane w oparciu o
literaturę i podręczniki ww. narzędzi.
Ocena rozwiązania – testy
wydajnościowe
Plan testu:
pomiar opóźnienia wprowadzanego przez filtr przy pobieraniu
dużego pliku binarnego
Wyniki:
Bardzo dobra wydajność modułu decyzyjnego – znikomy wpływ
długości łańcucha reguł na opóźnienie w przetwarzaniu pakietu
Wprowadzane opóźnienie aż 20 razy krótsze niż maksymalne
zalecane przez Microsoft
Bardzo dobra wydajność w porównaniu z konkurencyjnym
Airscanner Mobile Firewall (ok. 4% opóźnienia dla typowych
przypadków, w Airscanner ok. 37% dla najprostszego)
Podsumowanie
Osiągnięcia:
Stworzenie wydajnego, w pełni funkcjonalnego i
działającego na rzeczywistym urządzeniu filtra
pakietów
Opracowanie uniwersalnej architektury,
umożliwiającej dostęp do pakietów sieciowch i
implementacje bardziej zaawansowanych typów
firewalli
Stworzenie środowiska programowania
sterowników NDIS z darmowych komponentów

Podobne dokumenty