AccessGuard
14-10-2003,16:30 doorRedactie
Inleiding

Donker zwart, 4 kilo licht en een afmeting van 10 bij 47 bij 60 centimeter. Dit zijn de gegevens van de AccesGuard, een zwaargewicht die hackers, crackers en ander gespuis buiten de deur moet houden. Ontworpen door het Haagse Access Security Advisors (XSA) hebben we hier te maken met een heus turnkey intrusion prevention system (IPS). Je sluit de doos aan en het werkt. Het apparaat is volledig plug'n play, een keyboard en muis zijn dan ook niet nodig. De AccessGuard is echter geen vervanging van een virusscanner en ook uw firewall kan gewoon blijven draaien als de AccessGuard is geïnstalleerd, als extra apparaat, zo laat de productbeschrijving van XSA ons weten.


Het IPS zelf is een 2U 19’’ rack mountable unit die geplaatst wordt tussen de (enge) buitenwereld en het (veilige) interne netwerk.


Verschillen met bestaande IDSs

Zoals de term Intrusion Prevention System al aangeeft is het eerste grote verschil met andere IDSs dat de AccessGuard niet alleen de aanvallen waarneemt maar ook de mogelijkheid bezit om deze tegen te houden.


Het tweede cruciale verschil is dat de AccessGuard functioneert als een bridge, dit betekend dat in tegenstelling tot andere IDSs dat de AccessGuard zelf geen code hoeft te implementeren voor TCP en IP reassembly. Andere IDSs sniffen meestal het netwerkverkeer en implementeren dan zelf code om het netwerkverkeer te reassemblen, dit is een complex proces en vrijwel onmogelijk om helemaal goed voor elkaar te krijgen. Doordat in het geval van de AccessGuard de kernel van het host OS (FreeBSD) al zorg draagt voor alle TCP en IP specifieke processing, is de AccessGuard niet zo makkelijk te omzeilen als een IDS.


Als laatste valt het op dat het werkelijk een “turnkey” product is, in tegenstelling tot andere IDSs is er aan de gebruikers kant geen specifieke kennis nodig om het IPS aan het werk te zetten, het is een kwestie van aansluiten en weglopen.


Log bestanden

Via de gebruikersvriendelijke web interface van de AccesGuard kunnen de aangemaakte log bestanden bekeken worden. Het is echter niet mogelijk om in deze web interface de huidige lijst van signatures te bekijken, bestaande signatures aan te passen of eigen signatures toe te voegen, iets dat voor de meer technische onderlegde klant kan een probleem kan zijn.


Tevens kan de gebruiker niet in de log bestanden zien wanneer er updates op de IPS zijn geïnstalleerd. Op het moment dat er een software update of een nieuwe signature wordt geïnstalleerd door XSA is dit niet zichtbaar.


Technische Analyse

Security.nl heeft de AccessGuard onderhanden genomen. Tijdens deze tests werd gekeken naar de betrouwbaarheid en effectiviteit van het Intrusion Prevention System (IPS) op een aantal verschillende gebieden. De test is onderverdeeld in drie verschillende subdelen; ‘IPS evasion’, ‘IPS false-positives’ en ‘IPS reliability’.


IPS evasion

In dit gedeelte van de audit wordt er gekeken of het IPS omzeild kan worden; er worden verschillende technieken toegepast die als doel hebben een zwakte in de regels (ruleset) of de implementatie van de IPS te lokaliseren.


Toelichting IPS evasion tests

Security.nl voert standaard de volgende IPS evasion tests uit:


Encoded HTTP requests

De requests worden gecodeerd met een aantal verschillende methodes om te bepalen of het IPS de mogelijkheid bezit deze requests te decoderen en ze dan alsnog tegen de ruleset te valideren.


Doubly encoded HTTP requests

De requests worden dubbel gecodeerd met een aantal verschillende methodes om te bepalen of het IPS in staat is de requests goed te hercoderen voordat deze worden doorgestuurd naar de achterliggende webserver.


Mangled HTTP requests

De requests worden op een aantal verschillende manieren verminkt, op zo’n manier dat de achterliggende webserver ze nog wel accepteert, om te bepalen of het IPS dezelfde request-parsing logica ondersteunt als de achterliggende webserver.


Positioned HTTP requests

Er wordt voor gezorgd dat de requests maar voor een gedeelte in de interne buffer van het IPS passen. Dit wordt bereikt door de interne buffer grote van het IPS te bepalen en daarna de requests te prefixen met het juiste aantal (headers) bytes. Het doel van deze test is om te bepalen wat het IPS in dit geval doet.


Simple IP fragmentation

Dit is de simpelste vorm van de IP fragmentatie tests, de requests worden in een aantal op een volgende IP fragments opgesplitst en daarna normaal sequentieel naar het IPS verstuurd. Het doel van deze test is om te bepalen of het IPS in staat is tot IP reassembly.


Reverse IP fragmentation

Dit is de tweede variant op de IP fragmentatie tests, de requests worden wederom verspreid over een aantal IP fragments maar bij deze tests worden de verschillende fragmenten achterstevoren (last-first) naar het IPS verstuurd. Het doel van deze test is om te bepalen om het IPS ook dit kan reassemblen.


Random duplication fragmentation

Dit is de derde variant van de IP fragmentatie tests, de requests worden wederom verspreid over een aantal IP fragments maar nu worden er willekeurig een aantal fragmenten gedupliceerd. Het doel van deze test is om te bepalen hoe het IPS omgaat met dubbele fragmenten.


Interleaved fragmentation

Dit is de laatste variant van de IP fragmentatie tests, de requests worden wederom verspreid over aantal IP fragments maar nu worden er willekeurig een aantal gedupliceerde fragmenten toegevoegd met een andere payload.


Resultaten IPS evasion






































Uitgevoerde Test Resultaat
Encoded HTTP requests PASS
Doubly encoded HTTP requests PASS
Mangled HTTP requests PASS
Positioned HTTP requests PASS
Simple IP fragmentation PASS
Reverse IP fragmentation PASS
Random duplication fragmentation PASS
Interleaved fragmenetation PASS


IPS false-positives

In dit gedeelte van de audit wordt er gekeken of het IPS (erg) gevoelig is voor het genereren van zogehete ‘false-positives’. Onder een ‘false-positive’ verstaan we het probleem dat het IPS een aanval signaleert terwijl er geen plaatsvindt.


Op het moment dat een IPS erg veel ‘false-positives’ genereert kan dit tot gevolg dat er ongefundeerde stress op de beheerders wordt gelegd en dat legitieme clients toegang wordt ontzegt tot bijvoorbeeld een webserver.
Toelichting IPS false-positives tests


Security.nl voerde de volgende IPS false-positives tests uit:


Failure on common requests

Tijdens deze tests werd gekeken of het IPS, op dat moment, een ruleset bevatte die er voor kon zorgen dat normale, legale, requests werden aangemerkt als een aanval. Het doel is om de kwaliteit van de ruleset te bepalen.


Resultaten false-positives










Uitgevoerde Test Resultaat
Failure on common requests PASS


IPS reliability

In dit gedeelte van de audit wordt er gekeken naar de stabiliteit van het IPS, er worden verschillende technieken gebruikt om de load op het IPS op te voeren waarna er wordt gekeken of het IPS nog steeds zijn functie vervult.


Toelichting IPS reliability tests

Security.nl voert standaard de volgende IPS reliability tests uit:


High traffic load reliability

Tijdens deze test wordt het IPS gebombardeerd met een grote hoeveelheid data waarbij er ondertussen een aantal legale en illegale requests worden geïnjecteerd. Het doel van deze test is om te bepalen of het IPS nog in staat om op dat moment de illegale requests te blokkeren.


High connection load reliability

Tijdens deze test worden er een groot aantal verschillende connecties opgezet naar de achterliggende webserver waarna er over aantal willekeurige connecties illegale requests worden verstuurd. Het doel van deze test is om te bepalen of het IPS onder deze omstandigheden nog in staat is de illegale requests te blokkeren.


Resultaten IPS reliability














Uitgevoerde Test Resultaat
High traffic load reliability PASS
High connection load reliability PASS


Conclusie

Security.nl heeft geen implementatie of deployment fouten kunnen ontdekken in het AccessGuard product van XSA en is dan ook van mening dat het hier een betrouwbaar en effectief product betreft.


Meer informatie over de AccesGuard is op deze pagina te vinden.