Trasa Whonix.
Wybór systemu operacyjnego hosta (system operacyjny zainstalowany na laptopie).
Ta trasa będzie szeroko wykorzystywać maszyny wirtualne, które będą wymagać systemu operacyjnego hosta do uruchomienia oprogramowania do wirtualizacji. W tej części przewodnika dostępne są 3 zalecane opcje:
- Wybrana dystrybucja Linuksa (z wyłączeniem Qubes OS)
- Windows 10 (najlepiej Home Edition ze względu na brak Bitlockera)
- MacOS (Catalina lub wyższy)
Ponadto istnieje duże prawdopodobieństwo, że komputer Mac jest lub był powiązany z kontem Apple (w momencie zakupu lub po zalogowaniu), a zatem jego unikalne identyfikatory sprzętowe mogą prowadzić do użytkownika w przypadku wycieku identyfikatorów sprzętowych.
Linux niekoniecznie jest najlepszym wyborem dla zachowania anonimowości w zależności od modelu zagrożeń. Wynika to z faktu, że korzystanie z systemu Windows pozwoli nam wygodnie korzystać z Plausible Deniability (aka Deniable Encryption) na poziomie systemu operacyjnego. Windows jest również niestety jednocześnie koszmarem prywatności, ale jest jedyną (wygodną) opcją korzystania z wiarygodnego zaprzeczenia na poziomie systemu operacyjnego. Telemetria i blokowanie telemetrii w systemie Windows są również szeroko udokumentowane, co powinno złagodzić wiele problemów.
Czym więc jest Plausible Deniability? Jest to zdolność do współpracy z przeciwnikiem żądającym dostępu do urządzenia/danych bez ujawniania prawdziwego sekretu. Wszystko to przy użyciu szyfrowania zaprzeczalnego.
Miękki, zgodny z prawem przeciwnik może poprosić o zaszyfrowane hasło do laptopa. Na początku mógłbyś odmówić podania jakiegokolwiek hasła (korzystając z "prawa do zachowania milczenia", "prawa do nieobciążania siebie"), ale niektóre kraje wdrażają przepisy wyłączające to z takich praw (ponieważ terroryści i "myślą o dzieciach"). W takim przypadku możesz być zmuszony do ujawnienia hasła lub grozi ci kara więzienia za obrazę sądu. W tym miejscu w grę wchodzi wiarygodne zaprzeczenie.
Można wtedy ujawnić hasło, ale da ono dostęp tylko do "wiarygodnych danych" (wabik systemu operacyjnego). Śledczy będą świadomi, że możliwe jest ukrycie danych, ale nie powinni być w stanie tego udowodnić
(jeśli zrobisz to dobrze). Będziesz współpracował, a śledczy będą mieli dostęp do czegoś, ale nie do tego, co faktycznie chcesz ukryć. Ponieważ ciężar dowodu powinien leżeć po ich stronie, nie będą mieli innego wyjścia, jak tylko ci uwierzyć, chyba że będą mieli dowód na to, że masz ukryte dane.
Ta funkcja może być używana na poziomie systemu operacyjnego (wiarygodny system operacyjny i ukryty system operacyjny) lub na poziomie plików, gdzie będziesz mieć zaszyfrowany kontener plików (podobny do pliku zip), w którym różne pliki będą wyświetlane w zależności od użytego hasła szyfrowania.
Oznacza to również, że możesz skonfigurować własną zaawansowaną konfigurację "wiarygodnego zaprzeczenia" przy użyciu dowolnego systemu operacyjnego hosta, przechowując na przykład maszyny wirtualne w kontenerze ukrytego woluminu Veracrypt (uważaj na ślady w systemie operacyjnym hosta, które będą musiały zostać wyczyszczone, jeśli system operacyjny hosta jest trwały, zobacz sekcję
Niektóre dodatkowe środki przeciwko kryminalistyce w dalszej części). Istnieje projekt umożliwiający osiągnięcie tego w Tails
(https://github.com/aforensics/HiddenVM [Archive.org]), który sprawiłby, że system operacyjny hosta nie byłby trwały i używałby wiarygodnego zaprzeczenia w Tails.
W przypadku systemu Windows, wiarygodne zaprzeczenie jest również powodem, dla którego najlepiej jest mieć system Windows 10 Home (a nie Pro). Wynika to z faktu, że Windows 10 Pro natywnie oferuje system szyfrowania pełnych dysków (Bitlocker), podczas gdy Windows 10 Home w ogóle nie oferuje szyfrowania pełnych dysków. Później użyjemy oprogramowania open-source innej firmy do szyfrowania, które pozwoli na pełne szyfrowanie dysku w systemie Windows 10 Home. Da ci to dobrą (wiarygodną) wymówkę do korzystania z tego oprogramowania. Używanie tego oprogramowania w systemie Windows 10 Pro byłoby podejrzane.
Uwaga dotycząca systemu Linux: A co z Linuksem i wiarygodnym zaprzeczeniem? Tak, możliwe jest osiągnięcie wiarygodnego zaprzeczenia również w systemie Linux. Jest to jednak skomplikowane do skonfigurowania i IMHO wymaga na tyle wysokiego poziomu umiejętności, że prawdopodobnie nie potrzebujesz tego przewodnika, aby pomóc ci spróbować.
Niestety, szyfrowanie to nie magia i wiąże się z nim pewne ryzyko:
Zagrożenia związane z szyfrowaniem.
The 5$ Wrench.
Pamiętaj, że szyfrowanie z wiarygodnym zaprzeczeniem lub bez niego nie jest srebrną kulą i będzie mało przydatne w przypadku tortur. W rzeczywistości, w zależności od tego, kim byłby twój przeciwnik (twój model zagrożenia), rozsądnie byłoby w ogóle nie używać Veracrypt (dawniej TrueCrypt), jak pokazano w tej demonstracji:
https://defuse.ca/truecrypt-plausible-deniability-useless-by-game-theory.htm [Archive.org].
Wiarygodne zaprzeczanie jest skuteczne tylko przeciwko miękkim, praworządnym przeciwnikom, którzy nie będą uciekać się do środków fizycznych.
Unikaj, jeśli to możliwe, korzystania z oprogramowania umożliwiającego wiarygodne zaprzeczenie (takiego jak Veracrypt), jeśli twój model zagrożenia obejmuje twardych przeciwników. Dlatego użytkownicy systemu Windows powinni w takim przypadku zainstalować system Windows Pro jako system operacyjny hosta i zamiast tego używać Bitlockera.
Zobacz https://en.wikipedia.org/wiki/Rubber-hose_cryptanalysis [Wikiless] [Archive.org]
Atak Evil-Maid.
Ataki Evil Maid są przeprowadzane, gdy ktoś majstruje przy laptopie, gdy jesteś nieobecny. Aby sklonować dysk twardy, należy zainstalować złośliwe oprogramowanie lub rejestrator kluczy. Jeśli uda im się sklonować dysk twardy, mogą porównać jeden obraz dysku twardego w momencie, gdy go zabrali, gdy cię nie było, z dyskiem twardym, gdy go przejęli. Jeśli w międzyczasie ponownie używałeś laptopa, śledczy mogą być w stanie udowodnić istnienie ukrytych danych, patrząc na różnice między dwoma obrazami w tym, co powinno być pustym / nieużywanym miejscem. Może to prowadzić do mocnych dowodów na istnienie ukrytych danych. Jeśli zainstalują rejestrator kluczy lub złośliwe oprogramowanie na twoim laptopie (oprogramowanie lub sprzęt), będą mogli po prostu uzyskać od ciebie hasło do późniejszego wykorzystania, gdy go przejmą. Takie ataki mogą być przeprowadzane w domu, hotelu, na przejściu granicznym lub w dowolnym miejscu, w którym pozostawisz swoje urządzenia bez nadzoru.
Możesz złagodzić ten atak, wykonując następujące czynności (zgodnie z wcześniejszymi zaleceniami):
- Posiadaj podstawową ochronę antysabotażową (jak wyjaśniono wcześniej), aby zapobiec fizycznemu dostępowi do wewnętrznych elementów laptopa bez Twojej wiedzy. Uniemożliwi to sklonowanie dysków i zainstalowanie fizycznego rejestratora kluczy bez wiedzy użytkownika.
- Wyłącz wszystkie porty USB (jak wyjaśniono wcześniej) w BIOS/UEFI chronionym hasłem. Ponownie, nie będą mogli ich włączyć (bez fizycznego dostępu do płyty głównej w celu zresetowania BIOS-u), aby uruchomić urządzenie USB, które mogłoby sklonować dysk twardy lub zainstalować złośliwe oprogramowanie, które mogłoby działać jako rejestrator kluczy.
- Skonfiguruj hasła BIOS/UEFI/Firmware, aby zapobiec nieautoryzowanemu uruchomieniu nieautoryzowanego urządzenia.
- Niektóre systemy operacyjne i oprogramowanie szyfrujące mają ochronę przed EvilMaid, którą można włączyć. Tak jest w przypadku Windows/Veracrypt i QubeOS.
Atak typu cold boot.
Ataki Cold Boot są trudniejsze niż atak Evil Maid, ale mogą być częścią ataku Evil Maid, ponieważ wymagają od przeciwnika wejścia w posiadanie laptopa podczas aktywnego korzystania z urządzenia lub wkrótce potem.
Pomysł jest dość prosty, jak pokazano na tym filmie, przeciwnik mógłby teoretycznie szybko uruchomić urządzenie na specjalnym kluczu USB, który skopiowałby zawartość pamięci RAM (pamięci) urządzenia po jego wyłączeniu. Jeśli porty USB są wyłączone lub jeśli czują, że potrzebują więcej czasu, mogą je otworzyć i "schłodzić" pamięć za pomocą sprayu lub innych chemikaliów (na przykład ciekłego azotu), zapobiegając rozpadowi pamięci. Następnie mogliby skopiować jej zawartość do analizy. Ten zrzut pamięci może zawierać klucz do odszyfrowania urządzenia. Później zastosujemy kilka zasad, aby je złagodzić.
W przypadku Plausible Deniability przeprowadzono pewne badania kryminalistyczne dotyczące technicznego udowodnienia obecności ukrytych danych za pomocą prostego badania kryminalistycznego (bez ataku Cold Boot/Evil Maid), ale zostały one zakwestionowane przez inne badania i przez opiekuna Veracrypt, więc nie przejmowałbym się nimi zbytnio.
Te same środki stosowane do łagodzenia ataków Evil Maid powinny być stosowane w przypadku ataków Cold Boot z kilkoma dodatkowymi:
- Jeśli system operacyjny lub oprogramowanie szyfrujące na to pozwala, należy rozważyć zaszyfrowanie kluczy również w pamięci RAM (jest to możliwe w systemie Windows/Veracrypt i zostanie wyjaśnione później).
- Powinieneś ograniczyć korzystanie z trybu uśpienia i zamiast tego użyć Shutdown lub Hibernate, aby zapobiec pozostawaniu kluczy szyfrowania w pamięci RAM, gdy komputer przechodzi w stan uśpienia. Wynika to z faktu, że uśpienie utrzyma zasilanie pamięci w celu szybszego wznowienia aktywności. Tylko hibernacja i wyłączenie faktycznie wyczyszczą klucz z pamięci.
Zobacz także
https://www.whonix.org/wiki/Cold_Boot_Attack_Defense [ Archive . org] i
https://www.whonix.org/wiki/Protection_Against_Physical_Attacks [Archive.org].
Oto kilka interesujących narzędzi do rozważenia dla użytkowników Linuksa, aby się przed nimi bronić:
O uśpieniu, hibernacji i wyłączeniu.
Jeśli chcesz zwiększyć bezpieczeństwo, powinieneś całkowicie wyłączać laptopa za każdym razem, gdy pozostawiasz go bez nadzoru lub zamykasz pokrywę. Powinno to wyczyścić i/lub zwolnić pamięć RAM i zapewnić ochronę przed atakami typu cold boot. Może to być jednak nieco niewygodne, ponieważ będziesz musiał całkowicie zrestartować komputer i wpisać mnóstwo haseł do różnych aplikacji. Restart różnych maszyn wirtualnych i innych aplikacji. Zamiast tego można więc użyć hibernacji (nieobsługiwanej w Qubes OS). Ponieważ cały dysk jest zaszyfrowany, hibernacja sama w sobie nie powinna stanowić dużego zagrożenia dla bezpieczeństwa, ale nadal wyłączy laptopa i wyczyści pamięć, umożliwiając wygodne wznowienie pracy po jej zakończeniu.
To, czego nigdy nie powinieneś robić, to używać standardowej funkcji uśpienia, która utrzyma komputer włączony, a pamięć zasilana. Jest to wektor ataku przeciwko atakom evil-maid i cold-boot omówionym wcześniej. Dzieje się tak dlatego, że włączona pamięć przechowuje klucze szyfrowania dysku (zaszyfrowane lub nie) i może być dostępna dla wykwalifikowanego przeciwnika.
Niniejszy przewodnik zawiera wskazówki dotyczące włączania hibernacji w różnych systemach operacyjnych hosta (z wyjątkiem Qubes OS), jeśli nie chcesz wyłączać systemu za każdym razem.
Lokalne wycieki danych (ślady) i badanie kryminalistyczne.
Jak wspomniano pokrótce wcześniej, są to wycieki danych i ślady z systemu operacyjnego i aplikacji podczas wykonywania jakichkolwiek czynności na komputerze. Dotyczą one głównie zaszyfrowanych kontenerów plików (z lub bez wiarygodnego zaprzeczenia) niż szyfrowania całego systemu operacyjnego. Takie wycieki są mniej "ważne", jeśli cały system operacyjny jest zaszyfrowany (jeśli nie jesteś zmuszony do ujawnienia hasła).
Załóżmy na przykład, że masz zaszyfrowany klucz USB Veracrypt z włączoną wiarygodną zaprzeczalnością. W zależności od hasła użytego podczas montowania klucza USB, otworzy on folder wabika lub folder wrażliwy. W tych folderach będą znajdować się dokumenty/dane wabika w folderze wabika i poufne dokumenty/dane w folderze poufnym.
We wszystkich przypadkach (najprawdopodobniej) otworzysz te foldery za pomocą Eksploratora Windows, Findera MacOS lub innego narzędzia i zrobisz wszystko, co zamierzasz. Być może będziesz edytować dokument w folderze poufnym. Być może przeszukasz dokument w folderze. Może usuniesz lub obejrzysz poufne wideo za pomocą VLC.
Cóż, wszystkie te aplikacje i system operacyjny mogą przechowywać dzienniki i ślady tego użycia. Może to obejmować pełną ścieżkę folderu/plików/dysków, czas dostępu do nich, tymczasowe pamięci podręczne tych plików, listy "ostatnich" w każdej aplikacji, system indeksowania plików, który może indeksować dysk, a nawet miniatury, które mogą być generowane
Oto kilka przykładów takich wycieków:
Windows.
- Windows ShellBags, które są przechowywane w rejestrze Windows po cichu przechowując różne historie dostępu do woluminów/plików/folderów.
- Indeksowanie systemu Windows przechowujące domyślnie ślady plików obecnych w folderze użytkownika.
- Ostatnie listy (aka Jump Lists) w systemie Windows i różnych aplikacjach przechowujące ślady ostatnio otwieranych dokumentów.
- Wiele innych śladów w różnych dziennikach, zobacz ten wygodny interesujący plakat, aby uzyskać więcej wglądu: https://www.sans.org/security-resources/posters/windows-forensic-analysis/170/download [Archive.org].
MacOS.
- Gatekeeper290 i XProtect śledzące historię pobierania w lokalnej bazie danych i atrybuty plików.
- Indeksowanie Spotlight
- Listy ostatnio używanych dokumentów w różnych aplikacjach.
- Foldery tymczasowe przechowujące różne ślady użycia aplikacji i dokumentów.
- Dzienniki MacOS
- ...
Linux.
- Tracker Indexing
- Historia Bash
- Dzienniki USB
- Ostatnie listy w różnych aplikacjach przechowujące ślady ostatnio otwieranych dokumentów.
- Dzienniki Linux
- ...
Forensics może wykorzystać wszystkie te wycieki (patrz
Lokalne wycieki danych i Forensics), aby udowodnić istnienie ukrytych danych i pokonać próby zastosowania wiarygodnego zaprzeczenia oraz dowiedzieć się o różnych wrażliwych działaniach.
Dlatego ważne jest, aby zastosować różne kroki, aby uniemożliwić kryminalistyce zrobienie tego poprzez zapobieganie i czyszczenie tych wycieków / śladów, a co ważniejsze, poprzez szyfrowanie całego dysku, wirtualizację i kompartmentalizację.
Śledczy nie mogą wyodrębnić lokalnych wycieków danych z systemu operacyjnego, do którego nie mają dostępu. Większość tych śladów będzie można usunąć poprzez wyczyszczenie dysku lub bezpieczne wymazanie maszyn wirtualnych (co nie jest tak łatwe, jak się wydaje w przypadku dysków SSD).
Niektóre techniki czyszczenia zostaną jednak omówione w części "Zatrzyj ślady" tego przewodnika na samym końcu.
Wycieki danych online.
Niezależnie od tego, czy korzystasz z prostego szyfrowania, czy z szyfrowania umożliwiającego wiarygodne zaprzeczenie. Nawet jeśli zatarłeś ślady na samym komputerze. Nadal istnieje ryzyko wycieków danych online, które mogą ujawnić obecność ukrytych danych.
Telemetria jest twoim wrogiem. Jak wyjaśniono wcześniej w tym przewodniku, telemetria systemów operacyjnych, ale także aplikacji, może wysyłać oszałamiające ilości prywatnych informacji online.
W przypadku systemu Windows dane te mogą być na przykład wykorzystane do udowodnienia istnienia ukrytego systemu operacyjnego / woluminu na komputerze i byłyby łatwo dostępne w firmie Microsoft. Dlatego niezwykle ważne jest, aby wyłączyć i zablokować telemetrię wszystkimi dostępnymi środkami. Niezależnie od używanego systemu operacyjnego.
Wnioski.
Nigdy nie powinieneś wykonywać wrażliwych działań z niezaszyfrowanego systemu. A nawet jeśli jest on zaszyfrowany, prawdopodobnie nigdy nie powinieneś wykonywać wrażliwych działań z samego systemu operacyjnego hosta. Zamiast tego powinieneś używać maszyny wirtualnej, aby móc skutecznie izolować i separować swoje działania oraz zapobiegać lokalnym wyciekom danych.
Jeśli masz niewielką lub żadną wiedzę na temat Linuksa lub jeśli chcesz korzystać z wiarygodnego zaprzeczenia w całym systemie operacyjnym, zalecałbym wybranie systemu Windows (lub powrót do trasy Tails) dla wygody. Ten poradnik pomoże ci zahartować go tak bardzo, jak to możliwe, aby zapobiec wyciekom. Ten przewodnik pomoże ci również w jak największym stopniu wzmocnić MacOS i Linux, aby zapobiec podobnym wyciekom.
Jeśli nie interesuje cię wiarygodne zaprzeczanie w całym systemie operacyjnym i chcesz nauczyć się korzystać z Linuksa, zdecydowanie polecam wybranie Linuksa lub trasy Qubes, jeśli pozwala na to twój sprzęt.
We wszystkich przypadkach system operacyjny hosta nigdy nie powinien być wykorzystywany do bezpośredniego prowadzenia wrażliwych działań. System operacyjny hosta będzie używany tylko do łączenia się z publicznym punktem dostępowym Wi-Fi. Pozostanie nieużywany podczas wykonywania wrażliwych czynności i najlepiej nie powinien być używany do żadnych codziennych czynności.
Rozważ także przeczytanie
https://www.whonix.org/wiki/Full_Disk_Encryption#Encrypting_Whonix_VMs [Archive.org].