image

Intrusion Detection met Prelude Hybrid IDS: Deel 1

woensdag 29 maart 2006, 10:41 door markui, 5 reacties

Introductie
Intrusion detection is vaag. Het is niet zo dat er uitsluitend intrusions worden gedetecteerd. Meestal komt het neer op een aantal verschillende systemen die elk een enorme lijst aan gebeurtenissen (in de vorm van alerts) genereren die misschien verdacht zijn.

We hebben hier dus twee problemen. Ten eerste hebben we verschillende systemen die elk alerts produceren. Het is fijn wanneer de alerts van verschillende systemen op één plek worden samengevoegd zodat een totaalbeeld kan worden gevormd. Ten tweede genereert elk systeem veel te veel alerts. Alles wat misschien verdacht is wordt omgezet in een alert. Het is belangrijke om normale gebeurtenissen weg te filteren uit deze alerts zodat alleen abnomale gebeurtenissen worden gerapporteerd.

Dit artikel geeft een oplossing voor deze twee problemen door gebruik te maken van het Prelude Hybrid IDS. Dit ids is eigenlijk een framework waarin verschillende sensoren hun alerts naar een centrale server sturen. Deze centrale server zorgt voor het filteren en samenvoegen van deze alerts zodat er een gecombineerde weergave kan worden gegeven van alle abnormale gebeurtenissen. Het zal duidelijk worden dat Prelude geen vervanging maar juist een aanvulling is voor IDS als Snort en Samhain.

Om daadwerkelijk toe te passen wat wordt verteld in dit artikel is een basiskennis nodig van systeembeheer op linux of bsd machines. Alle voorbeelden in dit artikel spelen zich af op een netwerk van freebsd machines en zijn eenvoudig toe te passen op andere bsd of linux netwerken. Windows blijft in dit artikel buiten beschouwing omdat prelude vooralsnog niet is geschreven voor Windows.

Prelude
Ik vond het altijd maar onhandig dat er een aparte 'console' was voor elk IDS. Wanneer ik Snort gebruik heeft dit een aparte logfile of web frontend om de mogelijke aanvallen te bekijken. Mijn firewalls produceren elk ook logfiles, net als samhain etc etc. Het werd tijd om al deze gegevens samen te voegen in één overzichtelijk systeem. In mijn zoektocht naar dit systeem kwam ik uit bij Prelude Hybrid IDS wat eigenlijk een framework is voor andere IDS. Door gebruik te maken van de IDMEF standaard kunnen de berichten van elke IDS eenvoudig worden samengevoegd en gecorreleerd. Het zag er hoopvol uit.

Voordat ik een systeem gebruik maak ik meestal eerst een praatje met de ontwikkelaars. Bijna elk open source product heeft wel een IRC kanaal, zo ook Prelude IDS (#prelude op freenode). De hoofdontwikkelaar, Yoann Vandoorselaere, bleek een gezellige Fransman met een enorm verstand van ontwerpen en programmeren. Mijn eigen interesses liggen voornamelijk in het gebied van hacken en security, en vele vruchtbare gesprekken volgde tussen mij en Yoann.

Naast een praatje met de ontwikkelaars werp ik ook altijd een blik op de source code. Het is nooit mogelijk alle code te onderwerpen aan een audit, maar een paar belangrijke stukjes bekijken is wel altijd mogelijk. Dit geeft ook een beeld of de ontwikkelaars weten wat ze doen, of dat ze maar wat aanprutsen. In het geval van Prelude was ik aangenaam verrast. Yoann is op de hoogte van hoe er veilig geprogrammeerd dient te worden. Er waren natuurlijk wat op een aanmerkingen van mij wegens omstandigheden die extreem onwaarschijnlijk waren maar die hackers misschien wel zouden kunnen produceren. Deze opmerkingen werden snel verwerkt in de source code en ik kreeg een goed gevoel over dit product.

Framework

Prelude bestaat uit een aantal onderdelen die samen het Prelude framework vormen. Globaal gezien zijn er een aantal sensors zoals een logfile analyzer, Snort, Samhain, etc. etc. die allen een verbinding hebben met een Prelude Manager. Over deze (uiteraard versleutelde) verbinding worden IDMEF berichten verzonden. Deze berichten omschrijven de aanvallen die gedetecteerd worden door de sensors. De Manager ontvangt deze berichten en filtert de berichten welke niet interessant zijn eruit. De wel interessante berichten worden opgeslagen in een database. Deze database kan MySQL, PostgreSQL, SQLite, een XML bestand of een tekstbestand zijn. Een frontend (genaamd Prewikka) kan de database benaderen (alleen de SQL databases) en de opgeslagen alerts presenteren in een overzicht.

Onderdelen
Zoals in de voorgaande paragraaf als duidelijk werd is er een aantal onderdelen binnen Prelude, met elk haar eigen taak.

prelude-lml
Dit programma analyseert verschillende soorten logfiles en zet deze om in alerts. Dit is dus een sensor.
prelude-manager
De manager van Prelude ontvangt de alerts van de sensoren en schrijft deze weg in een database (na het wegfilteren van ongewenste alerts).
prewikka
De front-end van Prelude heet Prewikka. Deze web interface, geschreven in python, geeft een overzicht van de alerts en aggregeert deze zodat 500 alerts van één IP adres worden samengevoegd.
Het volgende deel uit deze serie zal ingaan op de installatie en configuratie van Prelude Hybrid IDS
Reacties (5)
29-03-2006, 11:03 door Anoniem
Leuk pakket maar helaas nogal komkommercieel geschreven. De 'gratis'
variant is namelijk zo traag als stront tegen de muur omhoog dat je die
alleen wilt gebruiken als je een netwerk hebt met minder dan 2 nodes.
Alles meer dan 2 nodes en je moet de 'zakelijke' variant gebruiken waarbij
de verwerking wat inteligenter gedaan wordt (katjing).
M.a.w. leuk pakket, maar helaas een beetje te krom geschreven om nuttig
te zijn voor de 'leek/tester/persoon die effe wil kijken hoe het werkt".
29-03-2006, 11:09 door Anoniem
Ik vind het wel een beetje erg veel sales geklets
29-03-2006, 15:28 door Anoniem
Wie aan (n)ids wil beginnen: gebruik geen prelude. Het
klinkt allemaal leuk en aardig maar het komt er in de
praktijk op neer dat deze software nog in de kinderschoenen
staat.
29-03-2006, 20:56 door Dalby
meestal is er nog een server remote die alleen maar alle
alerts verzamelt en die doorstuurt naar de manager ;)
29-03-2006, 23:56 door Bitwiper
Prima artikel Frank!

Ook al zou de commercieele versie van de software
beter zijn en/of nog onvoldoende uitontwikkeld zijn,
ik weet nu dat Prelude-IDS bestaat en wat het ongeveer
inhoudt, en dat een drietal anonieme posters zich er
negatief over uitlaat (meer of minder onderbouwd).

Op
http://www.onlamp.com/pub/a/onlamp/2003/09/18/prelude.html
staat een interview uit 2003 met Yoann Vandoorselaere.
Onderaan klaagt Yoann dat je in Frankrijk geen geld via
vrijwillige donaties kunt binnenhalen. Ik hoop dat het hem
via http://www.prelude-ids.com/ lukt om inkomsten
te genereren (GPL ontwikkelaars willen ook eten en af en toe
op vakantie).

Overigens gaf de URL naar IDMEF een dead link omdat deze
ondertussen door versie 16 is vervangen. Op deze page staan
alle drafts (het betreft dus nog geen standaard maar een
"work in progress"):
http://tools.ietf.org/wg/idwg/draft-ietf-idwg-idmef-xml/.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.