Zapory ogniowe nie uszczelnią w pełni strefy bezpieczeństwa. Drugą linię obrony stanowią sieciowe systemy wykrywania włamań (IDS - Intrusion Detection System).
Pierwsze rozwiązania systemów wykrywania włamań (IDS - Intrusion Detection System) skupiały się głównie na analizie zdarzeń post factum. Dzisiejsze aplikacje IDS monitorują, wykrywają i reagują w czasie rzeczywistym na nieautoryzowane działania w sieci.
Większość ataków mieści się w jednej z trzech kategorii:
IDS rozpoznaje takie działania, skanując ruch i poszukując sygnatur znanych ataków, anomalii w ruchu i stosowania protokołów oraz oznak nieuzasadnionych działań, które mogą doprowadzić do ataku z zewnątrz lub wewnątrz sieci.
Każdemu użytkownikowi lub urządzeniu można przypisać pewien wzorzec użytkowania sieci. Nieuzasadnione odchylenie od tego wzorca może być uważane za potencjalną próbę ataku. Z chwilą rozpoznania znamion ataku mogą być podjęte stosowne przeciwdziałania, a zdarzenia takie są rejestrowane w dzienniku do póśniejszej analizy.
Sieciowy IDS składa się zazwyczaj z trzech komponentów:
Sensory są aplikacjami rozproszonymi w sieci, monitorującymi ruch. Moduł zarządzający przechowuje sygnatury ataków oraz gromadzi dane zbierane przez sensory. Konsole służą do zarządzania indywidualnymi sensorami w sieci.
Sensory rozmieszcza się zazwyczaj wewnątrz sieci i poza zaporą ogniową. Te poza zaporą ogniową mogą odpowiadać za kontrolowanie „misji rozpoznawczych” przeprowadzanych przez nieautoryzowanych użytkowników oraz sytuacji, w których napastnik przeszedł przez zaporę. Pozwala to na katalogowanie takich zdarzeń w celu zapobiegania przyszłym incydentom.
Przechodzące przez sensory IDS pakiety TCP są analizowane i porównywane z bazą danych sygnatur ataków. Większość IDS stosuje tutaj kontrolę kontekstową - zawartość pakietu jest rozpatrywana w kontekście wcześniejszych zdarzeń, co pozwala wykrywać bardziej wymyślne ataki, na które składa się seria pakietów osobno nic nieznaczących. Moduł zarządzający może także przechowywać i dynamicznie zmieniać profile ruchu typowe dla różnych dni tygodnia i pór dnia.
Sensor po wykryciu pakietu (pakietów) zgodnych z sygnaturą ataku, wyzwala odpowiedni alarm i może blokować podejrzany strumień pakietów. Zazwyczaj, oprócz różnych form alarmów, zamykana jest podejrzana sesja TCP/IP, a do zapór ogniowych są wysyłane polecenia blokowania podejrzanego ruchu.
Do tradycyjnych systemów Host IDS doszły produkty typu File Integrity Assesment, monitorujące stan plików systemowych i aplikacyjnych, a także rejestrów systemowych. Trzecim typem są produkty Intrusion Prevention Systems (IPS). Tradycyjne Host IDS to systemy reagujące, a nie zapobiegające - oczekują one na wydarzenia związane z wtargnięciem do systemu. Natomiast IPS podejmują próby monitorowania i przechwytywania wywołań funkcji jądra systemowego czy API w celu zapobieżenia atakom. Mogą one monitorować strumienie danych i specyfikę środowisk poszczególnych aplikacji (lokalizacja plików, ustawienia w rejestrach itp.) w celu ochrony tych aplikacji przed atakami, dla których nie istnieją jeszcze sygnatury. Największą zaletą rozwiązań IPS jest to, że są przeznaczone do unieszkodliwiania włamań, a nie do raportowania o nich, jak już się wydarzą. Są też i wady. Niepoprawne skonfigurowanie może spowodować uznanie za DoS potoku pakietów pochodzącego z legalnego źródła i uniemożliwienie mu dostępu do systemu. Inną wadą jest konieczność ścisłej integracji z systemem operacyjnym, co może powodować problemy z uaktualnianiem.
Pojawiła się też kolejna generacja produktów IDS wykorzystująca technikę identyfikacji pasywnej (passive fingerprinting). Identyfikacja pasywna wykorzystuje informacje związane z systemami funkcjonującymi w hostach będących celem ataku w sieci. IDS zbiera dane o systemie operacyjnym, usługach i niektórych aplikacjach pracujące na hoście, a następnie używa tej informacji do ograniczania fałszywych rozpoznań.
Z chwilą wykrycia pakietu przenoszącego podejrzany ruch IDS kojarzy ten ruch z profilem podatności docelowego hosta w celu określenia, czy jest on podatny na potencjalny atak. Jeżeli host zostanie uznany za niewrażliwy na wykryte zagrożenie, to akcja alarmowa będzie zaniechana. IDS może np. Zaniechać alarmu związanego z atakiem wykorzystującym Windows Remote Procedure Call skierowanym do serwera linuksowego.
Identyfikacja pasywna działa na zasadzie porównywania kluczowych informacji nagłówkowych TCP i IP, otrzymanych z hosta źródłowego, z bazą danych sygnatur specyficznych dla danego hosta docelowego. Najbardziej popularne identyfikatory z nagłówka to: rozmiar okna, czas „życia” pakietu, bit DF i całkowita długość pakietu.
Każdy z tych parametrów rozpatrywany osobno nie pozwala na określenie właściwych intencji nadawcy. Jednak wzięte razem i porównane z bazą danych sygnatur systemów operacyjnych, umożliwiają często dokładnie zidentyfikowanie sytemu operacyjnego lub usługi, będących właściwym celem ataku.
I tak motor identyfikacji pasywnej IDS, sprawdzając pakiet z TTL o wartości 64, będzie zawężał zakres możliwych systemów operacyjnych do Linuksa lub OpenBSD - oba używają tej samej wartości TTL. Z kolei wartość wSize pozwoli na wyselekcjonowanie tylko jednego z nich, ponieważ jest różna dla każdego z tych systemów. Kombinacja parametrów identyfikujących jest tym, co tworzy sygnaturę systemu operacyjnego.
Rozpoznanie, czy docelowy host jest podatny na dany typ ataku, przed wygenerowaniem alarmu, w istotny sposób zmniejsza liczbę fałszywych alarmów. W rezultacie nowa generacja produktów IDS charakteryzuje się bardziej dokładnym rozpoznawaniem włamań.