Aangifte computer criminaliteit, wat heb je nodig
27-10-2006,16:26 doorRedactie
Dit artikel geeft handvatten voor bedrijven en instellingen die te maken krijgen met computercriminaliteit. Punten die van belang zijn als men overweegt om bij de politie aangifte te doen of zelf het incident wil (laten) onderzoeken. Het benaderd een incident vanuit de kant van de opsporing en geeft een overzicht van welke informatie vastgelegd moet worden en een beschrijving van tools die daarbij gebruikt kunnen worden.

Over de auteur: Johan ten Houten is Manager ICT Forensics bij Deloitte Bijzonder Onderzoek & Integriteitsadvies en Deloitte Enterprise Risk Services


Inleiding
In het geval dat een server wordt gehackt is een van de eerste acties van de systeembeheerder om de betreffende server offline te halen, uit te schakelen en opnieuw te configureren. De server moet weer snel online zijn. Immers het bedrijf moet doorgaan. Echter door deze acties zijn waardevolle sporen die van belang kunnen zijn bij de opsporing en vervolging van de dader verloren gegaan.

Nadat de server weer normaal functioneert en de bedrijfprocessen hun doorgang vinden, zal bij het slachtoffer de behoefte ontstaan om deze schade op de dader te verhalen. Een stap in dit proces kan zijn dat men naar de politie gaat voor het doen van aangifte. Maar de eventuele sporen die de dader achter gelaten heeft zijn verdwenen. Dit geeft de politie dan weinig mogelijkheden om tot een succesvolle opsporing te komen. Een schade vergoeding zit er dan dus niet meer in.

Ook kan de dader de gehackte server gebruikt hebben als een stepping stone. Hij heeft dan via uw server ingebroken in een ander bedrijf. Als dit bedrijf of een opsporingsinstantie het spoor terug volgt en bij u uitkomt, is het zeer moeilijk om de onschuld aan te tonen. Het bewijs is immers al vernietigd.

Door het niet onderzoeken van een dergelijk incident kan het doel en motief van de dader niet meer achterhaald worden. Er bestaat nog steeds de kans op herhaling.

In de omschreven situatie waren de handelingen, begrijpelijk, volledig gericht op de continuïteit van de informatie voorziening. Deze handelingen zijn vaak het gevolg van het ontbreken van een incident response plan. Het hebben van een degelijk incident response plan helpt om de schade te beperken, maar biedt ook een kans om de ontstane schade op de dader te verhalen, door het veilig stellen van sporen.

Voor de politie begint een onderzoek met het stellen van een aantal vragen: “Wat?”, “Waar?”, “Wanneer?”, “Waarmee?”, “Waarom?” en “Hoe?”. Deze vragen moeten uiteindelijk leiden tot een antwoord op de ultieme vraag “Wie heeft het gedaan?”

Het goed onderzoeken van een incident begin bij de voorbereiding! Dit artikel is een aanzet daartoe. Het is niet de bedoeling om een compleet incident response plan neer te leggen.

Wat?
De vraag "Wat is er gebeurd?" kan alleen betrouwbaar beantwoord worden als het bewijs op integere en transparante wijze veiliggesteld is. De volgende 4 soorten data kunnen worden veiliggesteld:

1. data uit het geheugen (memory)
2. vluchtige data
3. data op de harde schijf
4. netwerkverkeer

Het is niet verplicht om bij elk incident deze 4 stappen te doorlopen. Dit zal sterk afhangen van het soort incident. Als het een werknemer betreft die fraude heeft gepleegd met facturen is het voldoende om het onderzoek tot stap 3 te beperken. Bij een hacking incident is het juist zeer aan te bevelen om alle stappen te doorlopen

Memory
Het onderzoeken van het geheugen van een computer is een relatief nieuwe ontwikkeling binnen het digitaal onderzoek. Daarom wil ik dit niet te uitgebreid behandelen. Vooral voor Windows systemen zijn er interessante ontwikkelingen op dit gebied.

In het kort komt het er op neer dat er een dump van het geheugen wordt gemaakt. Deze dump wordt verder geanalyseerd. Het is daarbij mogelijk om bijvoorbeeld programma’s te reconstrueren.

Interessante links voor dit onderwerp zijn: Forensikblog.de en dfrws.org

vluchtige data
Op een computer is systeem ook vluchtige data aanwezig die voor het onderzoek belangrijke informatie kan bevatten. Deze informatie is bij het uitschakelen van het systeem niet meer aanwezig en moet dus veiliggesteld worden voordat het systeem uitgeschakeld wordt. Hierbij valt te denken aan:
  • Route tabel
  • Arp tabel
  • Lopende processen
  • Open poorten
  • Ingelogde gebruikers

    In verband met de mogelijke aanwezigheid van rootkits moet voor het veiligstellen van deze data gebruik gemaakt worden van vertrouwde, schone programma’s. Bij Windows kunnen deze van een vertrouwd systeem op een cd-rom gekopieerd worden. Vergeet daarbij niet om de cmd.exe mee te kopiëren. Voor Unix moeten static linked binaries gemaakt worden. Voorbeelden van programma’s die gebruikt kunnen worden:

    WindowsUnix
    datedate
    netstatnetstat
    psloggedonw
    pslistdf
    fportlsof
    nbtstat ifconfig
    arparp
    routeroute
    cmd.exe
    Voor Unix systemen is het aan te raden om ook de inhoud van /etc/fstab/ vast te leggen. Dit scheelt later tijd en moeite bij het mounten van de bestands systemen op een forensische computer.

    De programma’s kunnen het beste in een script gedraaid worden, waarbij het script begint en eindigt met de vermelding van datum en tijdstip. De output wordt dan in een bestand opgeslagen. Deze programma’s zullen wel kleine wijzigingen op de harddisk tot gevolg hebben, daarom moeten alle handelingen goed gedocumenteerd worden. Het output bestand moet in ieder geval niet op het gehackte systeem opgeslagen worden. Daar kan het immers data overschrijven die van belang zou kunnen zijn. Maar ik heb ook al meegemaakt dat het door de hacker ontdekt werd en vervolgens overschreven werd. Mijn aanbeveling is om met programma’s zoals netcat en cryptcat de output te redirecten naar een remote systeem. Om routing en firewall problemen te voorkomen moet het forensische systeem in hetzelfde subnet geplaatst worden als het gehackte systeem.

    Beperk dit onderzoek altijd tot data die echt vluchtig is. Ik heb vaak genoeg handleidingen gezien waarbij werd aangeraden om bijvoorbeeld bepaalde settings uit het register op te vragen of een dump van de password file te maken. Een dergelijk onderzoek kan altijd leiden tot het vernietigen van sporen. Het is een stuk analyse wat ook heel goed achteraf uitgevoerd kan worden zonder dat het tot data verlies leidt.

    Voor Windows systemen zijn er een aantal programma’s die dit proces ondersteunen. Mijn persoonlijke favoriet is de Windows Forensic Toolchest. Dit programma staat op het Helix boot cd die in het volgende gedeelte aangehaald wordt. Een andere goede oplossing is het Forensic Server Project:

  • http://sourceforge.net/project/showfiles.php?group_id=164158

    Als alle data verzameld is kan het systeem afgesloten worden. Dit kan op 2 manieren: de correcte wijze of de juiste wijze. De correcte wijze is de shutdown procedure zoals die in de handleiding van het besturings systeem staat. De juiste is het stroomsnoer uit het systeem te trekken. De juiste wijze is gezien vanuit een forensisch oogpunt. Het is altijd mogelijk dat het systeem zodanig is gemanipuleerd dat bij het afsluiten er een script in werking treed dat alle bestanden overschrijft. Maar vanuit het oogpunt van continuïteit van de informatie voorziening kan een dergelijke wijze van afsluiten ook onherstelbare schade tot gevolg hebben, bijvoorbeeld bij een database. Hier zal dus een afweging gemaakt moeten worden, waarbij het financiële belang vooropstaat.

    harde schijf
    De beste methode voor het veiligstellen van bewijsmateriaal is het verwijderen van de harde schijf uit de server en de server te herinstalleren op een nieuwe harde schijf.

    De originele harde schijf is dan ter beschikking voor het “post-mortem” onderzoek. Om geen risico te lopen zal er een kopie van de harde schijf gemaakt moeten worden. De kopie wordt dan gebruikt voor het onderzoek en het origineel kan in een kluis worden opgeborgen. Het maken van deze kopie moet op een forensisch verantwoorde manier gebeuren. Het is van belang om te waarborgen dat er geen data verloren of gewijzigd wordt.

    Het kan natuurlijk gebeuren dat de harde schijf niet bewaard kan worden en dat deze weer gebruikt moet worden. Dit hoeft op zich geen probleem te zijn voor het verder onderzoek. Het bewaren van de originele harde schijf biedt alleen meer zekerheid. Het is nu mogelijk om te allen tijde de situatie weer te reconstrueren.

    Het maken van de kopie gebeurd door het maken van een bitstream image. Een bitstream image houdt in dat er een kopie wordt gemaakt van de harde schijf van de eerste bit tot en met de laatste bit. Bij het maken de image is zeer belangrijk dat dit zodanig gebeurd dat de data op originele harde schijf integer en ongewijzigd blijft. Dit kan worden bereikt door gebruik te maken van een hardwarematige of softwarematige schrijfbeveiliging.

    Software matige schrijfbeveiliging kan onder Unix door het bestands systeem read only te mounten:

  • mount –t vfat -o ro,noexec,nodev /dev/hda1 /mnt/forensic

    Onder DOS kan er gebruik gemaakt worden van een bootdiskette van Encase van Guidance Software. Deze plaatst bij het opstarten een lock op alle in het systeem aanwezige harde schijven.

    Voor hardwarematige schrijfbeveiliging kan gebruik gemaakt worden van:
  • De Fastblock van Guidance software.
  • Writeblockers van Tableau
  • De AEC-7720WP (Write Protect) SCSI-IDE brigde van Acard.

    Voor het daadwerkelijk maken van de image kan gebruik gemaakt worden van:
    • Encase van Guidance Software
    • DD vanaf bootable Linux Cd’s:
      • http://www.e-fense.com/helix/ HELIX cd
      • http://www.d-fence.be/ FCCU cd
      • http://www.linux-forensics.com/downloads.html
    • Forensic Toolkit van Access Data
    In niet alle gevallen is het niet mogelijk of gewenst om nieuwe harde schijven te gebruiken voor de herinstallatie. Hierbij valt te denken aan een hardware matige raidsystemen. Het vervangen van de schijven is zeer kostbaar en de afzonderlijke schijven zijn moeilijk terug te bouwen tot een leesbaar systeem zonder beschikking te hebben over de raidcontroller. Bij een raidsysteem is het daarom aan te bevelen om gelijk een image te maken. Dit kan het beste gedaan worden in het systeem zelf door deze vanaf een diskette of CD op te starten en de aanwezige raidcontroller de vertaling te laten doen. Mogelijkheden zijn:

  • Een IDE schijf van voldoende grootte in het systeem opnemen. De beschikbaarheid van een IDE controller kan een probleem zijn. In sommige systemen kan dan de controller kabel van de CD speler gebruikt worden.

  • Een SCSI controller met een SCSI schijf van voldoende grootte in het systeem opnemen (zorg wel voor DOS drivers bij gebruik van een DOS boot diskette).

    Met name HP servers zijn gevoelig voor het toevoegen van extra hardware. In die gevallen kan een image gemaakt worden via een netwerk verbinding. Een goede methode en populaire manier om dit te doen is om gebruik te maken van dd en de output via netcat over het netwerk te versturen.

    Het kan zo zijn dan een server zodanig belangrijk is voor een bedrijf dat deze ten alle tijde online moet blijven. In die gevallen rest ons niks anders dan op het live systeem de image te maken. Ook hier biedt de combinatie van dd en netcat weer redding.

    Voor Windows systemen is er ook een goede versie van dd beschikbaar. Netcat is zelfs geïntegreerd in deze versie:

  • http://users.erols.com/gmgarner/forensics/

    Monitoren netwerkverkeer
    Op het moment dat een gecompromitteerd systeem ontdekt wordt gaat er vaak enige tijd overheen voordat er daadwerkelijk actie ondernomen wordt. Deze tijd kan gebruikt worden om extra informatie over het incident te verzamelen of om zelfs de hacker op heterdaad te betrappen. Het monitoren, sniffen van het ingaande en uitgaande netwerkverkeer kan informatie verschaffen over verbindingen van de hacker, speciale programma’s (DDOS software of beveiligings scripts). De mogelijkheid bestaat dat de hacker net inlogt of nog ingelogd is.

    Het sniffen van het netwerkverkeer moet gebeuren vanaf een apart systeem. De kans is zeer groot dat door de hacker een rootkit is geïnstalleerd. De rootkit schermt de aanwezigheid van de hacker af voor de legitieme gebruikers. Door de hacker worden bepaalde systeembeheer programma’s vervangen door eigen versies. Hierdoor zijn de processen, bestanden en verbindingen van de hacker onzichtbaar. Ook kan de rootkit bestaan uit een zogenaamde kernel module. Deze module wordt in het geheugen geladen en vangt alle verwijzingen naar de hacker af. Door te sniffen vanaf het gehackte systeem bestaat daardoor de kans dat het netwerkverkeer van de hacker niet zichtbaar is. Maar de hacker zou wel kunnen zien dat het netwerkverkeer gelogd wordt en kunnen overgaan tot minimaal het vernietigen van bewijs en misschien tot het vernielen van het gehele systeem. Porbeer altijd te voorkomen dat de netwerkverbinding van het gehackte systeem verbroken wordt. De hacker zou bijvoorbeeld een ping script gemaakt kunnen hebben dat bij het wegvallen van de verbinding het systeem overschrijft en daarmee alle data vernietigd.

    Voor het ontdekken van de aanwezigheid van rootkits op Unix systemen kan meer informatie worden verkregen op de website:

  • www.chkrootkit.org

    Het sniffen van het netwerkverkeer kan in een geswitcht netwerk lastig zijn. Gebruik in geen geval oplossingen waarbij netwerkverkeer via spoofing wordt omgeleid. De meeste managed switches bieden de mogelijkheid om netwerkverkeer om een poort te kopiëren. Maak hier gebruik van. Een andere methode om toegang te krijgen tot het netwerkverkeer kan zijn door gebruik te maken van een ethernettap. Het is alleen niet mogelijk om deze te plaatsen zonder het netwerkverkeer te onderbreken. Dergelijke taps worden o.a. geleverd door Netoptics.

    Voor het opslaan van het netwerkverkeer kan gebruikt gemaakt worden van:
  • Tcpdump
  • Wireshark
  • Windump