“Antiforensic tools have rendered file systems as no longer being an accurate log of malicious system activity."
Under the current computing infrastructure, data is untrustworthy, then. The implications of this, of courts limiting or flat-out denying digital forensics as reliable evidence, can’t be understated. Without the presumption of reliability, prosecution becomes a more severe challenge and thus, a less appealing option. Criminals reasonably skilled with antiforensics would operate with a kind of de facto legal immunity.
Wat is het?
Anti-forensics is het frustreren dan wel bemoeilijken van forensics welke wordt toegepast om bewijs te vergaren voor een rechtzaak/interne sancties.
De primaire doelen van anti-forensics zijn:
- het vertrouwen in de juistheid en volledigheid van data/bewijs in twijfel laten trekken waardoor het niet in een rechtzaak wordt toegelaten
- de opsporing zo veel tijd te laten kosten dat het financieel niet meer te verantwoorden is om uit te voeren.
Gebruikte Methodes
Overschrijven van data
Ook wel bekend als "wiping". Over het algemeen zijn er 3 verschillende modus:
1. Het gehele medium overschrijven.
2. Het overschrijven van individuele bestanden.
Een journaling bestandssysteem kan hierbij een complicatie geven. Het bestand zal overschreven worden maar kan ook nog (deels) blijven bestaan in een journal.
3. Het overschrijven van bestanden welke verwijderd zijn, met name dus slackspace e.d.
Overschrijven van metadata
Vaak zal een onderzoeker proberen om een tijdslijn op te bouwen van een aanval. Om dit onderzoek te frusteren kan men gebruik maken van software welke timestamps kan manipuleren.
Een voorbeeld is Timestomp. Dit programma kan NTFS “create,” “modify,” “access,” and “change” timestamps bewerken.
The Defiler’s Toolkit kan inode timestamps op Unix systemen aanpassen. Een andere methode is het gebruiken van het touch commando in Unix/Linux.
In Windows kun je de registry key HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate op “1” zetten zodat last-accessed timestamps niet geupdate worden. Dit staat default aan in Windows Vista.
Diverse software waaronder Encase kan dit echter makkelijk detecteren en zal dan ook duidelijk alarm slaan. Het kan dus verstandig zijn om juist geen timestamp informatie aan te passen.
Voorkomen van data opslag
Als er geen data wordt opgeslagen valt er ook niks te restoren d.m.v. forensics. Bij deze methodes kun je denken aan het werken vanaf een bootcd waarbij dus alleen data in het geheugen geschreven word.
Er is echter wel een rest-risico.
- Men kan een geheugendump maken van het systeem terwijl het draait en daar informatie uit halen. Dit kan door middel van de methode welke hier is beschreven: http://taosecurity.blogsp...ic-tools-offensively.html
- Als de onderzoeker snel genoeg ter plaatse is kan geheugen bevroren worden zodat het data langer vasthoudt en wellicht uitgelezen kan worden.
- Je blijft kwetsbaar voor (met name hardware)keyloggers.
- Er is informatie te halen uit de processor en andere componenten. Zie bijvoorbeeld het boek Silence on The Wire welke dit uitgebreider beschrijft.
Cryptography, Steganography, en Data Hiding technieken
Data Encryptie
Het versleutelen van data of een complete harddisk maakt het zo goed als onmogelijk om binnen een wenselijke tijd de data te achterhalen. Op termijn zal de encryptie echter zo goed als zeker te kraken zijn. Veel hangt dan ook af van gekozen wachtwoorden en eventueel keyfiles danwel tokens, fingerprint, etc.
Uiteraard zijn er altijd wel extreme manieren om iemand te overtuigen zijn wachtwoord af te geven. Deze methodes zullen echter over het algemeen niet in een rechtzaak geaccepteerd worden ;-) Mocht je het wachtwoord domweg opgeschreven hebben tja....
(Encrypted) Network Protocols
Door het gebruik van SSL/SSH of bijvoorbeeld VPN is het moeilijker om data te onderscheppen en af te luisteren. Bron en destination IP zijn makkelijk te achterhalen door de onderzoeker maar de communicatie in de tunnel kan hij niet (makkelijk) achterhalen. Via tunneling is het mogelijk om dit zelfs door firewalls heen te krijgen. Zolang er maar minimaal 1 protocol door komt zijn er mogelijkheden om data naar buiten te transporteren.
Een techniek die hier verwant aan is, is het maken van speciale netwerk pakketjes waarbij data geinjecteerd wordt in bijvoorbeeld de header of in optionele velden. Door middel van packet captures valt dit te achterhalen. Stopt men er encrypted data in dan maakt het weinig uit aangezien ze dan alsnog onleesbare data overhouden. Zie bijvoorbeeld: http://www.berghel.net/co...illage/apr-07/dv_4-07.php
Het nadeel van bovengenoemde technieken is dat men wel traffic analysis kan toepassen aangezien men bron en doelcomputer makkelijk kan achterhalen. Doormiddel van Onion Routing is dit een stuk moeilijker geworden. Een voorbeeld van deze techniek is Tor.
Steganography
Met stenography kunnen bestanden verborgen worden in, op het eerste gezicht, onschuldige bestanden zoals bijvoorbeeld afbeeldingen, documenten en muziek. Er zijn uiteraard programma's die dit kunnen detecteren.
Algemene Data Hiding
Het is ook mogelijk om data te verstoppen op plaatsen waar forensische programma's niet kijken. Uiteraard worden deze programma's wel geupdate dus een groot deel van de voorbeelden kunnen zeker wel gevonden worden.
Metasploit’s Slacker: verbergt data in slack space van FAT of NTFS.
FragFS: verbergt data in de NTFS Master File Table.
RuneFS: verbergt data in bad blocks.
Waffen FS: verbergt data in een ext3 journal file.
KY FS: verbergts data in directories.
Data Mule FS: verbergt data in inode space.
Data kan verder worden opgeslagen in de Host Protected Area (HPA) en Device Configuration Overlay (DCO) gebieden van ATA hard disks. Data in de HPA en DCO zijn niet zichtbaar voor het BIOS of OS, wel zichtbaar te maken met forensische software.
VMWare detectie en response
Doormiddel van bijvoorbeeld LiveView is het mogelijk om een forensisch image in VMWare in te laden zodat de onderzoeker het systeem op kan starten en er in rond kan kijken. Uiteraard vormt dit een gevaar en is het mogelijk om hier actie op te ondernemen.
Er zijn dus 2 belangrijke stappen:
- het detecteren dat het OS gevirtualiseerd is opgestart
- het uitvoeren van een bepaalde actie als de machine gevirtualiseerd draait.
Detectie
Er zijn diverse technieken om te achterhalen of het OS virtueel draait:
1. Look for VM artifacts in processes, file system, and/or registry
2. Look for VM artifacts in memory
3. Look for VM-specific virtual hardware
4. Look for VM-specific processor instructions and capabilities
Zie uitgebreide info in de volgende link:
http://handlers.sans.org/...ection_Liston_Skoudis.pdf
Response
Bovengenoemde methodes kunnen gebruikt worden in een applicatie welke bijvoorbeeld gelijk het systeem uitschakeld.
Individuele Programma's verbergen
Van veel hacking tools zijn inmiddels de MD5 hashes wel bekend en als je deze achterlaat op een pc zullen ze ook vrij snel opgespoord worden. Uiteraard zijn hier diverse dingen aan te doen.
Verander in ieder geval de naam van de applicatie. Gebruik vervolgens een "packer" zodat de MD5 hash niet meer matcht en men tevens niet op trefwoorden in de broncode kan zoeken.
Program Packers: deze comprimeren het bestand, kunnen het versleutelen, reverse engineering moeilijker maken en debugging hinderen. Uiteraard is het door middel van reverse engineering mogelijk om de werking van het programma te achterhalen. Hier gaat echter veel tijd in zitten en er is de nodige kennis voor nodig.
Mocht je tot hier gekomen zijn en tijd over hebben dan is het volgende artikel zeker aan te raden.
http://www.csoonline.com/..._of_Anti_Forensics?page=1
Under the current computing infrastructure, data is untrustworthy, then. The implications of this, of courts limiting or flat-out denying digital forensics as reliable evidence, can’t be understated. Without the presumption of reliability, prosecution becomes a more severe challenge and thus, a less appealing option. Criminals reasonably skilled with antiforensics would operate with a kind of de facto legal immunity.
Wat is het?
Anti-forensics is het frustreren dan wel bemoeilijken van forensics welke wordt toegepast om bewijs te vergaren voor een rechtzaak/interne sancties.
De primaire doelen van anti-forensics zijn:
- het vertrouwen in de juistheid en volledigheid van data/bewijs in twijfel laten trekken waardoor het niet in een rechtzaak wordt toegelaten
- de opsporing zo veel tijd te laten kosten dat het financieel niet meer te verantwoorden is om uit te voeren.
Gebruikte Methodes
Overschrijven van data
Ook wel bekend als "wiping". Over het algemeen zijn er 3 verschillende modus:
1. Het gehele medium overschrijven.
2. Het overschrijven van individuele bestanden.
Een journaling bestandssysteem kan hierbij een complicatie geven. Het bestand zal overschreven worden maar kan ook nog (deels) blijven bestaan in een journal.
3. Het overschrijven van bestanden welke verwijderd zijn, met name dus slackspace e.d.
Overschrijven van metadata
Vaak zal een onderzoeker proberen om een tijdslijn op te bouwen van een aanval. Om dit onderzoek te frusteren kan men gebruik maken van software welke timestamps kan manipuleren.
Een voorbeeld is Timestomp. Dit programma kan NTFS “create,” “modify,” “access,” and “change” timestamps bewerken.
The Defiler’s Toolkit kan inode timestamps op Unix systemen aanpassen. Een andere methode is het gebruiken van het touch commando in Unix/Linux.
In Windows kun je de registry key HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate op “1” zetten zodat last-accessed timestamps niet geupdate worden. Dit staat default aan in Windows Vista.
Diverse software waaronder Encase kan dit echter makkelijk detecteren en zal dan ook duidelijk alarm slaan. Het kan dus verstandig zijn om juist geen timestamp informatie aan te passen.
Voorkomen van data opslag
Als er geen data wordt opgeslagen valt er ook niks te restoren d.m.v. forensics. Bij deze methodes kun je denken aan het werken vanaf een bootcd waarbij dus alleen data in het geheugen geschreven word.
Er is echter wel een rest-risico.
- Men kan een geheugendump maken van het systeem terwijl het draait en daar informatie uit halen. Dit kan door middel van de methode welke hier is beschreven: http://taosecurity.blogsp...ic-tools-offensively.html
- Als de onderzoeker snel genoeg ter plaatse is kan geheugen bevroren worden zodat het data langer vasthoudt en wellicht uitgelezen kan worden.
- Je blijft kwetsbaar voor (met name hardware)keyloggers.
- Er is informatie te halen uit de processor en andere componenten. Zie bijvoorbeeld het boek Silence on The Wire welke dit uitgebreider beschrijft.
Cryptography, Steganography, en Data Hiding technieken
Data Encryptie
Het versleutelen van data of een complete harddisk maakt het zo goed als onmogelijk om binnen een wenselijke tijd de data te achterhalen. Op termijn zal de encryptie echter zo goed als zeker te kraken zijn. Veel hangt dan ook af van gekozen wachtwoorden en eventueel keyfiles danwel tokens, fingerprint, etc.
Uiteraard zijn er altijd wel extreme manieren om iemand te overtuigen zijn wachtwoord af te geven. Deze methodes zullen echter over het algemeen niet in een rechtzaak geaccepteerd worden ;-) Mocht je het wachtwoord domweg opgeschreven hebben tja....
(Encrypted) Network Protocols
Door het gebruik van SSL/SSH of bijvoorbeeld VPN is het moeilijker om data te onderscheppen en af te luisteren. Bron en destination IP zijn makkelijk te achterhalen door de onderzoeker maar de communicatie in de tunnel kan hij niet (makkelijk) achterhalen. Via tunneling is het mogelijk om dit zelfs door firewalls heen te krijgen. Zolang er maar minimaal 1 protocol door komt zijn er mogelijkheden om data naar buiten te transporteren.
Een techniek die hier verwant aan is, is het maken van speciale netwerk pakketjes waarbij data geinjecteerd wordt in bijvoorbeeld de header of in optionele velden. Door middel van packet captures valt dit te achterhalen. Stopt men er encrypted data in dan maakt het weinig uit aangezien ze dan alsnog onleesbare data overhouden. Zie bijvoorbeeld: http://www.berghel.net/co...illage/apr-07/dv_4-07.php
Het nadeel van bovengenoemde technieken is dat men wel traffic analysis kan toepassen aangezien men bron en doelcomputer makkelijk kan achterhalen. Doormiddel van Onion Routing is dit een stuk moeilijker geworden. Een voorbeeld van deze techniek is Tor.
Steganography
Met stenography kunnen bestanden verborgen worden in, op het eerste gezicht, onschuldige bestanden zoals bijvoorbeeld afbeeldingen, documenten en muziek. Er zijn uiteraard programma's die dit kunnen detecteren.
Algemene Data Hiding
Het is ook mogelijk om data te verstoppen op plaatsen waar forensische programma's niet kijken. Uiteraard worden deze programma's wel geupdate dus een groot deel van de voorbeelden kunnen zeker wel gevonden worden.
Metasploit’s Slacker: verbergt data in slack space van FAT of NTFS.
FragFS: verbergt data in de NTFS Master File Table.
RuneFS: verbergt data in bad blocks.
Waffen FS: verbergt data in een ext3 journal file.
KY FS: verbergts data in directories.
Data Mule FS: verbergt data in inode space.
Data kan verder worden opgeslagen in de Host Protected Area (HPA) en Device Configuration Overlay (DCO) gebieden van ATA hard disks. Data in de HPA en DCO zijn niet zichtbaar voor het BIOS of OS, wel zichtbaar te maken met forensische software.
VMWare detectie en response
Doormiddel van bijvoorbeeld LiveView is het mogelijk om een forensisch image in VMWare in te laden zodat de onderzoeker het systeem op kan starten en er in rond kan kijken. Uiteraard vormt dit een gevaar en is het mogelijk om hier actie op te ondernemen.
Er zijn dus 2 belangrijke stappen:
- het detecteren dat het OS gevirtualiseerd is opgestart
- het uitvoeren van een bepaalde actie als de machine gevirtualiseerd draait.
Detectie
Er zijn diverse technieken om te achterhalen of het OS virtueel draait:
1. Look for VM artifacts in processes, file system, and/or registry
2. Look for VM artifacts in memory
3. Look for VM-specific virtual hardware
4. Look for VM-specific processor instructions and capabilities
Zie uitgebreide info in de volgende link:
http://handlers.sans.org/...ection_Liston_Skoudis.pdf
Response
Bovengenoemde methodes kunnen gebruikt worden in een applicatie welke bijvoorbeeld gelijk het systeem uitschakeld.
Individuele Programma's verbergen
Van veel hacking tools zijn inmiddels de MD5 hashes wel bekend en als je deze achterlaat op een pc zullen ze ook vrij snel opgespoord worden. Uiteraard zijn hier diverse dingen aan te doen.
Verander in ieder geval de naam van de applicatie. Gebruik vervolgens een "packer" zodat de MD5 hash niet meer matcht en men tevens niet op trefwoorden in de broncode kan zoeken.
Program Packers: deze comprimeren het bestand, kunnen het versleutelen, reverse engineering moeilijker maken en debugging hinderen. Uiteraard is het door middel van reverse engineering mogelijk om de werking van het programma te achterhalen. Hier gaat echter veel tijd in zitten en er is de nodige kennis voor nodig.
Mocht je tot hier gekomen zijn en tijd over hebben dan is het volgende artikel zeker aan te raden.
http://www.csoonline.com/..._of_Anti_Forensics?page=1

This signature has been taken down by the Dutch police in the course of an international lawenforcement operation.