Narzędzia obrony przed atakiem

Omówimy teraz niektóre narzędzia pomagające bronić się przed atakami. Nie będziemy się zajmować ochroną komputerów osobistych, ale spojrzymy na ten problem z punktu widzenia administratora sieci.

IDS

IDS -- Intrusion Detection System, czyli system wykrywania włamań. Właściwie nazwa świetnie tłumaczy podstawową funkcjonalność IDS :-) IDS monitoruje pakiety i pliki wędrujące po sieci i wykrywa nieprawidłowości. Zależnie od konfiguracji, może na przykłąd zapisywać komunikaty do plików lub zachowywać w bazie danych podejrzane pakiety. Dzięki temu administrator ma zachowany ślad podejrzanych zachowań. Dzienniki systemowe są raczej niewystarczającym źródłem, bo po włamaniu zwykle można je po prostu zmienić. Poza tym nie przechowują wszystkich ważnych z punktu widzenia bezpieczeństwa informacji.

Jak działa IDS?

IDS zwykle otrzymuje kopie całego ruchu sieciowego i dokonuje jego analizy. Najczęściej stosowane sposoby analizy to: Administrator może zwykle tworzyć własne reguły dla IDS, które pakiety należy uznawać za podejrzane. Dzięki temu IDS jest szalenie elastycznym narzędziem zdolnym do wykrycia wielu rodzajów ataków. W szczególności IDS powinien umieć wykrywać: Dwa główne rodzaje IDS to: NIDS monitorują zarówno ruch przychodzący jak i ruch wewnątrz sieci. To ważne, bo wiele ataków przeprowadzanych jest właśnie z sieci lokalnej, a nie z zewnątrz.

IPS

Dzięki IDS wiadomo, że do sieci dokonano włamania. To oczywiście lepiej, niż nie wiedzieć o tym wcale, jednak dobrze by było mieć narzędzie, które po wykryciu próby włamania, uniemożliwia atak. Taką możliwość oferuje właśnie IPS, czyli Intrusion Prevention System.

IPS analizuje ruch sieciowy w czasie rzeczywistym i odpowiednio reaguje na nieprawidłowości. Najczęściej reakcja polega na automatycznym przekonfigurowaniu firewalla. Na przykład po wykryciu próby włamania z jakiegoś komputera można zablokować dostęp do sieci z tego adresu. IPS może, tak jak IDS, dostawać kopie pakietów, ale wtedy reakcja może nastąpić za późno, już po włamaniu. Dużo lepszą opcją jest włączenie IPS w łącze, tzn. w tryb inline -- wtedy system filtruje pakiety, czyli działa podobnie do firewalla. W takim przypadku IPS wykryje podejrzany pakiet zanim dotrze on do atakowanego komputera! Dzięki temu jest dużo więcej możliwości zapobiegania atakowi. IPS może na przykład nie wysłać podejrzanego pakietu, ale zamienić go na pakiet kończący transakcję. Bardziej zaawansowane IPS potrafią odsyłać do atakującego fałszywe pakiety, przez co jest on przekonany, że atak się udał. Administrator może dzięki temu śledzić działalność intruza i namierzyć go.

Używanie IPS niesie pewne zagrożenia. Jeśli reakcja systemu jest nieprawidłowa, to może to spowodować poważne utrudnienia w korzystaniu z sieci. Przypuśćmy, że IPS po wykryciu próby włamania konfiguruje firewall tak, żeby zablokować dostęp do sieci z podejrzanego IP. Wtedy atakujący może wysyłać pakiety ze sfałszowanymi IP i w krótkim czasie odciąć naszą sieć od świata.

Innym problemem w używaniu zarówno IDS jak i IPS jest właściwe dostrojenie obu systemów. Bardzo często domyślne ustawienia są źle dobrane i generują dużą ilość fałszywych alarmów. Może to uśpić czujność administratora i nie zareaguje on prawidłowo na rzeczywiste zagrożenie.

Najrozsądniejszym chyba rozwiązaniem jest stosowanie zarówno IPS jak i IDS. Ponieważ IPS zwykle działa inline, więc z konieczności nie ma dużo czasu na analizę pakietów, ani tym bardziej na archiwizowanie ich w bazie danych. Natomiast IDS może sprawdzać je dłużej oraz zapisywać do bazy bez obawy, że spowolni to ruch w sieci.

Przykład działania IDS

Niekwestionowanym liderem wśród open-source'owych IDSów jest Snort. Bardzo łatwo jest dostosować go do swoich potrzeb. W szczególności możliwe jest zdefiniowanie dowolnych reguł, według których sprawdzane są pakiety.

Screencast demonstrujący, jak Snort wykrywa próby skanowania portów.

Skanowanie portów samo w sobie nie jest niebezpieczne, jednak najczęściej poprzedza próby włamania się do systemu, dlatego trzeba na nie uważać. W tym przykładzie włączamy Snorta, po czym za pomocą programu nmapfe skanujemy porty jakiegoś serwera. Ponieważ Snort analizuje również pakiety wychodzące z komputera, więc zauważy skanowanie portów i wypisze stosowny komunikat.

Screncast demonstrujący, jak Snort wykrywa ruch wychodzący z jakiegoś komputera

Ten przykład pokazuje, że można zdefiniować własną regułę do kontrolowania pakietów. Zdefiniowaliśmy prostą regułę, która po wykryciu dowolnego pakietu z komputera o podanym IP wypisuje ostrzeżenie 'Aargh!!'. Następnie z tego komputera łączymy się z internetem i widać, że Snort wyłapał ten ruch.

Prezentacja na Systemy Operacyjne 2006/07 - Informatyka MIMUW.
Katarzyna Macioszek (O nas)