De Whonix-route.
Het kiezen van je Host OS (het OS dat geïnstalleerd is op je laptop).
Deze route maakt uitgebreid gebruik van virtuele machines, ze vereisen een host OS om de virtualisatiesoftware te draaien. Je hebt 3 aanbevolen keuzes in dit deel van de gids:
- Een Linux-distributie naar keuze (exclusief Qubes OS)
- Windows 10 (bij voorkeur de Home-editie vanwege de afwezigheid van Bitlocker)
- MacOS (Catalina of hoger)
Bovendien is de kans groot dat je Mac gekoppeld is of is geweest aan een Apple account (op het moment van aankoop of na aanmelding) en daarom kunnen de unieke hardware-identifiers naar jou leiden in het geval van een lek in hardware-identifiers.
Linux is ook niet noodzakelijk de beste keuze voor anonimiteit, afhankelijk van je bedreigingsmodel. Dit komt omdat we met Windows gemakkelijk Plausible Deniability (ook wel Deniable Encryption) kunnen gebruiken op OS-niveau. Windows is helaas tegelijkertijd ook een privacy-nachtmerrie, maar is de enige (handige) optie voor het gebruik van plausibele ontkenning op OS-niveau. Windows telemetrie en telemetrie blokkering is ook uitgebreid gedocumenteerd wat veel problemen zou moeten verminderen.
Dus, wat is plausibele ontkenning? Het is de mogelijkheid om samen te werken met een tegenstander die toegang vraagt tot je apparaat/gegevens zonder je ware geheim te onthullen. Dit alles met behulp van Deniable Encryption.
Een zachte legale tegenstander zou kunnen vragen om het wachtwoord van je versleutelde laptop. In eerste instantie zou je kunnen weigeren om een wachtwoord te geven (met behulp van je "recht om te zwijgen", "recht om jezelf niet te beschuldigen"), maar sommige landen implementeren wetten om dit vrij te stellen van dergelijke rechten (want terroristen en "denk aan de kinderen"). In dat geval moet je misschien het wachtwoord onthullen of misschien een gevangenisstraf krijgen wegens minachting van de rechtbank. Dit is waar plausibele ontkenning om de hoek komt kijken.
Je zou dan een wachtwoord kunnen onthullen, maar dat wachtwoord geeft alleen toegang tot "plausibele gegevens" (een nep-OS). De forensische onderzoekers zullen zich er terdege van bewust zijn dat het mogelijk is dat je gegevens verborgen hebt, maar ze zouden niet in staat moeten zijn om dit te bewijzen
(als je dit goed doet). Je hebt meegewerkt en de onderzoekers hebben toegang tot iets, maar niet tot wat je eigenlijk wilt verbergen. Aangezien de bewijslast aan hun kant zou moeten liggen, zullen ze geen andere keuze hebben dan je te geloven, tenzij ze een bewijs hebben dat je verborgen gegevens hebt.
Deze functie kan worden gebruikt op OS-niveau (een aannemelijk OS en een verborgen OS) of op bestandsniveau, waarbij je een versleutelde bestandscontainer hebt (vergelijkbaar met een zip-bestand) waarin verschillende bestanden worden weergegeven, afhankelijk van het versleutelingswachtwoord dat je gebruikt.
Dit betekent ook dat je je eigen geavanceerde "plausibele ontkenning" setup kunt opzetten met elk Host OS door bijvoorbeeld Virtuele Machines op te slaan op een Veracrypt verborgen volume container (wees voorzichtig voor sporen in het Host OS die zouden moeten worden schoongemaakt als het host OS persistent is, zie
Enkele aanvullende maatregelen tegen forensisch onderzoek sectie verderop). Er is een project om dit binnen Tails te bereiken
(https://github.com/aforensics/HiddenVM [Archive.org]) dat je host OS niet persistent maakt en plausibele ontkenning binnen Tails gebruikt.
In het geval van Windows is plausibele ontkenning ook de reden dat je idealiter Windows 10 Home zou moeten hebben (en niet Pro). Dit komt omdat Windows 10 Pro van nature een volledig schijfversleutelingssysteem (Bitlocker) biedt, terwijl Windows 10 Home helemaal geen volledige schijfversleuteling biedt. We zullen later open-source software van derden gebruiken voor encryptie die volledige schijfversleuteling mogelijk maakt op Windows 10 Home. Dit geeft je een goed (plausibel) excuus om deze software te gebruiken. Terwijl het gebruik van deze software op Windows 10 Pro verdacht zou zijn.
Opmerking over Linux: Dus, hoe zit het met Linux en plausibele ontkenning? Ja, het is min of meer mogelijk om plausibele ontkenning ook met Linux te bereiken. Maar het is gecompliceerd om op te zetten en IMHO vereist een dusdanig hoog vaardigheidsniveau dat je deze gids waarschijnlijk niet nodig hebt om het te proberen.
Helaas is encryptie geen magie en zijn er risico's aan verbonden:
Bedreigingen met encryptie.
De 5$ moersleutel.
Onthoud dat encryptie met of zonder plausibele ontkenning geen wondermiddel is en van weinig nut zal zijn in geval van marteling. Afhankelijk van wie je tegenstander is (je bedreigingsmodel), kan het zelfs verstandig zijn om Veracrypt (voorheen TrueCrypt) helemaal niet te gebruiken, zoals deze demonstratie laat zien:
https://defuse.ca/truecrypt-plausible-deniability-useless-by-game-theory.htm [Archive.org].
Plausibele ontkenning is alleen effectief tegen zachte legale tegenstanders die geen fysieke middelen zullen gebruiken.
Vermijd, indien mogelijk, het gebruik van software die tot plausibele ontkenning in staat is (zoals Veracrypt) als je bedreigingsmodel harde tegenstanders omvat. Windows-gebruikers moeten in dat geval dus Windows Pro installeren als host-OS en in plaats daarvan Bitlocker gebruiken.
Zie https://en.wikipedia.org/wiki/Rubber-hose_cryptanalysis [Wikiless] [Archive.org].
Evil Maid Aanval.
Evil Maid Attacks worden uitgevoerd wanneer iemand met je laptop knoeit terwijl je weg bent. Om te installeren om je harde schijf te klonen, malware of een key logger te installeren. Als ze je harde schijf kunnen klonen, kunnen ze een afbeelding van je harde schijf vergelijken op het moment dat ze hem meenamen terwijl je weg was met de harde schijf op het moment dat ze hem van je in beslag nemen. Als je de laptop tussendoor nog een keer hebt gebruikt, kunnen forensische onderzoekers misschien het bestaan van de verborgen gegevens bewijzen door te kijken naar de variaties tussen de twee afbeeldingen in wat een lege/ongebruikte ruimte zou moeten zijn. Dit kan leiden tot sterk bewijs voor het bestaan van verborgen gegevens. Als ze een key logger of malware in je laptop installeren (software of hardware), kunnen ze eenvoudig het wachtwoord van je krijgen voor later gebruik wanneer ze de laptop in beslag nemen. Dergelijke aanvallen kunnen plaatsvinden bij je thuis, in je hotel, bij een grensovergang of overal waar je je apparaten onbeheerd achterlaat.
Je kunt deze aanval beperken door het volgende te doen (zoals eerder aanbevolen):
- Zorg voor een basis sabotagebeveiliging (zoals eerder uitgelegd) om fysieke toegang tot de interne onderdelen van de laptop te voorkomen zonder dat je het weet. Dit voorkomt dat ze je schijven klonen en een fysieke key logger installeren zonder dat je het weet.
- Schakel alle USB-poorten uit (zoals eerder uitgelegd) in een BIOS/UEFI met wachtwoordbeveiliging. Nogmaals, ze zullen ze niet kunnen inschakelen (zonder fysiek toegang te krijgen tot het moederbord om het BIOS te resetten) om een USB-apparaat op te starten dat je harde schijf kan klonen of op software gebaseerde malware kan installeren die kan fungeren als een key logger.
- Stel BIOS/UEFI/Firmware-wachtwoorden in om onbevoegd opstarten van een onbevoegd apparaat te voorkomen.
- Sommige besturingssystemen en encryptiesoftware hebben een anti-EvilMaid bescherming die ingeschakeld kan worden. Dit is het geval met Windows/Veracrypt en QubeOS.
Cold-Boot aanval.
Cold Boot aanvallen zijn lastiger dan de Evil Maid aanval, maar kunnen deel uitmaken van een Evil Maid aanval omdat het vereist dat een tegenstander in het bezit komt van je laptop terwijl je je apparaat actief gebruikt of kort daarna.
Het idee is vrij eenvoudig, zoals te zien is in deze video, een tegenstander kan theoretisch snel je apparaat opstarten met een speciale USB-sleutel die de inhoud van het RAM (het geheugen) van het apparaat kopieert nadat je het hebt afgesloten. Als de USB-poorten zijn uitgeschakeld of als ze meer tijd nodig hebben, kunnen ze het apparaat openen en het geheugen "afkoelen" met behulp van een spray of andere chemicaliën (vloeibare stikstof bijvoorbeeld) waardoor het geheugen niet vervalt. Ze zouden dan de inhoud kunnen kopiëren voor analyse. Deze geheugendump zou de sleutel kunnen bevatten om je apparaat te ontsleutelen. We zullen later een paar principes toepassen om dit tegen te gaan.
In het geval van Plausible Deniability, zijn er enkele forensische studies geweest over het technisch bewijzen van de aanwezigheid van de verborgen gegevens met een eenvoudig forensisch onderzoek (zonder een Cold Boot/Evil Maid aanval), maar deze zijn betwist door andere studies en door de beheerder van Veracrypt, dus ik zou me daar nog niet te veel zorgen over maken.
Dezelfde maatregelen die worden gebruikt om Evil Maid aanvallen te beperken zouden ook van toepassing moeten zijn op Cold Boot aanvallen met enkele extra maatregelen:
- Als je besturingssysteem of encryptiesoftware het toelaat, zou je moeten overwegen om de sleutels ook in RAM te versleutelen (dit is mogelijk met Windows/Veracrypt en wordt later uitgelegd)
- Je moet het gebruik van Slaapstand beperken en in plaats daarvan Afsluiten of Slaapstand gebruiken om te voorkomen dat de versleutelingscodes in het RAM blijven als je computer in slaapstand gaat. De reden hiervoor is dat slaapstand de stroom naar je geheugen zal behouden om je activiteit sneller te hervatten. Alleen slaapstand en afsluiten wissen de sleutel uit het geheugen.
Zie ook
https://www.whonix.org/wiki/Cold_Boot_Attack_Defense [Archive.org] en
https://www.whonix.org/wiki/Protection_Against_Physical_Attacks [Archive.org].
Hier zijn ook een aantal interessante tools om te overwegen voor Linux gebruikers om zich hiertegen te verdedigen:
Over slapen, slaapstand en afsluiten.
Als je een betere beveiliging wilt, moet je je laptop volledig afsluiten elke keer dat je hem onbeheerd achterlaat of het deksel sluit. Dit zou het RAM-geheugen moeten opschonen en/of vrijgeven en zorgen voor mitigaties tegen cold boot aanvallen. Dit kan echter een beetje lastig zijn, omdat je dan helemaal opnieuw moet opstarten en een heleboel wachtwoorden in verschillende apps moet invoeren. Verschillende VM's en andere apps opnieuw opstarten. Dus in plaats daarvan zou je ook hibernation kunnen gebruiken (niet ondersteund op Qubes OS). Aangezien de hele schijf versleuteld is, zou de slaapstand op zich geen groot veiligheidsrisico moeten vormen, maar het zal toch je laptop afsluiten en het geheugen wissen, terwijl je daarna gemakkelijk je werk kunt hervatten.
Wat je nooit moet doen is de standaard slaapstand gebruiken, waardoor je computer aan blijft en het geheugen blijft werken. Dit is een aanvalsvector tegen de eerder besproken evil-maid en cold-boot aanvallen. De reden hiervoor is dat uw ingeschakelde geheugen de encryptiesleutels van uw schijf bevat (versleuteld of niet) en dan toegankelijk zou kunnen zijn voor een ervaren tegenstander.
Deze gids zal later richtlijnen geven over hoe de slaapstand in te schakelen op verschillende host OSen (behalve Qubes OS) als je niet elke keer wilt afsluiten.
Lokale datalekken (sporen) en forensisch onderzoek.
Zoals eerder kort vermeld, zijn dit datalekken en sporen van je besturingssysteem en apps wanneer je een activiteit op je computer uitvoert. Deze zijn meestal van toepassing op versleutelde bestandscontainers (met of zonder plausibele ontkenning) dan OS-brede versleuteling. Zulke lekken zijn minder "belangrijk" als je hele besturingssysteem versleuteld is (als je niet gedwongen bent om het wachtwoord te onthullen).
Laten we bijvoorbeeld zeggen dat je een Veracrypt versleutelde USB-sleutel hebt met plausibele ontkenning ingeschakeld. Afhankelijk van het wachtwoord dat je gebruikt bij het mounten van de USB-sleutel, zal het een decoy map of de gevoelige map openen. Binnen die mappen heb je lokdocumenten/gegevens in de lokmap en gevoelige documenten/gegevens in de gevoelige map.
In alle gevallen zul je (hoogstwaarschijnlijk) deze mappen openen met Windows Verkenner, MacOS Finder of een ander hulpprogramma en doen wat je van plan was te doen. Misschien bewerk je een document in de gevoelige map. Misschien doorzoek je een document in de map. Misschien verwijder je een document of bekijk je een gevoelige video met VLC.
Al die apps en je besturingssysteem kunnen logs en sporen bijhouden van dat gebruik. Dit kan onder andere het volledige pad van de map/bestanden/schijven zijn, de tijd waarop deze werden geopend, tijdelijke caches van deze bestanden, de "recente" lijsten in elke app, het bestandsindexeringssysteem dat de schijf kan indexeren en zelfs miniaturen die kunnen worden gegenereerd.
Hier zijn enkele voorbeelden van zulke lekken:
Windows.
- Windows ShellBags die zijn opgeslagen in het Windows Register en die stilletjes verschillende geschiedenissen van geraadpleegde volumes/bestanden/mappen opslaan.
- Windows Indexering die standaard sporen bijhoudt van de bestanden die aanwezig zijn in je gebruikersmap.
- Recente lijsten (ook wel Jump Lists genoemd) in Windows en verschillende apps die sporen bijhouden van recent gebruikte documenten.
- Er zijn nog veel meer sporen in verschillende logboeken, zie deze handige interessante poster voor meer inzicht: https://www.sans.org/security-resources/posters/windows-forensic-analysis/170/download [Archive.org].
MacOS.
- Gatekeeper290 en XProtect houden je downloadgeschiedenis bij in een lokale database en bestandskenmerken.
- Spotlight indexering
- Recente lijsten in verschillende programma's die sporen bijhouden van recent gebruikte documenten.
- Tijdelijke mappen houden verschillende sporen bij van app- en documentgebruik.
- MacOS logboeken
- ...
Linux.
- Tracker-indexering
- Bash geschiedenis
- USB-logboeken
- Recente lijsten in verschillende apps die sporen bijhouden van recent geraadpleegde documenten.
- Linux logboeken
- ...
Forensisch onderzoek zou al deze lekken kunnen gebruiken (zie
Lokale gegevenslekken en forensisch onderzoek) om het bestaan van verborgen gegevens aan te tonen en je pogingen tot plausibele ontkenning te verslaan en om achter je verschillende gevoelige activiteiten te komen.
Het is daarom belangrijk om verschillende stappen toe te passen om te voorkomen dat forensisch onderzoek dit doet door deze lekken/sporen te voorkomen en op te ruimen en, nog belangrijker, door gebruik te maken van volledige schijfversleuteling, virtualisatie en compartimentering.
Forensische onderzoekers kunnen geen lokale datalekken uit een OS halen waar ze geen toegang toe hebben. En je zult in staat zijn om de meeste van deze sporen op te ruimen door de schijf te wissen of door je virtuele machines veilig te wissen (wat niet zo eenvoudig is als je denkt op SSD schijven).
Sommige schoonmaaktechnieken zullen echter worden behandeld in het "Cover your Tracks" deel van deze gids helemaal aan het einde.
Online datalekken.
Of je nu eenvoudige versleuteling of plausibele ontkenning gebruikt. Zelfs als je je sporen hebt gewist op de computer zelf. Er bestaat nog steeds een risico op online datalekken die de aanwezigheid van verborgen gegevens kunnen onthullen.
Telemetrie is je vijand. Zoals eerder uitgelegd in deze gids, kan de telemetrie van besturingssystemen maar ook van apps duizelingwekkende hoeveelheden privégegevens online versturen.
In het geval van Windows kunnen deze gegevens bijvoorbeeld worden gebruikt om het bestaan van een verborgen OS / Volume op een computer aan te tonen en zijn ze direct beschikbaar bij Microsoft. Daarom is het van cruciaal belang dat je telemetrie uitschakelt en blokkeert met alle middelen die je tot je beschikking hebt. Het maakt niet uit welk besturingssysteem je gebruikt.
Conclusie.
Je moet nooit gevoelige activiteiten uitvoeren vanaf een niet-versleuteld systeem. En zelfs als het versleuteld is, moet je waarschijnlijk nooit gevoelige activiteiten uitvoeren vanaf het host-OS zelf. In plaats daarvan zou je een VM moeten gebruiken om je activiteiten efficiënt te kunnen isoleren en compartimenteren en lokale datalekken te voorkomen.
Als je weinig tot geen kennis hebt van Linux of als je OS brede plausibele ontkenning wilt gebruiken, zou ik aanraden om voor Windows te gaan (of terug naar de Tails route) voor het gemak. Deze gids zal je helpen om het zoveel mogelijk te harden om lekken te voorkomen. Deze gids zal je ook helpen om MacOS en Linux zoveel mogelijk te harden om soortgelijke lekken te voorkomen.
Als je geen interesse hebt in OS brede plausibele ontkenning en Linux wilt leren gebruiken, zou ik je sterk aanraden om voor Linux of de Qubes route te gaan als je hardware het toelaat.
In alle gevallen moet het host OS nooit gebruikt worden om direct gevoelige activiteiten uit te voeren. Het host OS wordt alleen gebruikt om verbinding te maken met een openbaar Wi-Fi Access Point. Het wordt ongebruikt gelaten terwijl je gevoelige activiteiten uitvoert en wordt idealiter niet gebruikt voor je dagelijkse activiteiten.
Overweeg ook om
https://www.whonix.org/wiki/Full_Disk_Encryption#Encrypting_Whonix_VMs [Archive.org] te lezen.