Mój system jest szyfrowany przy użyciu pełnego szyfrowania dysku, tzn. Wszystko oprócz / boot jest szyfrowane przy użyciu dmcrypt / luks. Obawiam się ataków Cold Boot , w których badacze wykazali , że zawartość można wyodrębnić przez około 5 minut .
Czy możesz podać instrukcje dotyczące:
- jak wyzwolić Kexec w nowym jądrze na ostatnich etapach procesu zamykania / ponownego uruchamiania (aby zapewnić czyste odinstalowanie, aby zapobiec uszkodzeniu systemu plików, aby stare jądro zostało zastąpione)
- jak stworzyć jądro, które usuwa wszystkie pamięci RAM
tj. Czy możesz wyjaśnić, jak zrobić to samo na Ubuntu?
Jak wykryć zamknięcie? Jak rozpocząć czyszczenie pamięci RAM? Pamięć RAM powinna zostać wyczyszczona, gdy użytkownik kliknie „zamknij” lub jeśli uruchomi „skrypt antypaniczny”.
Dziękuję za Twój wysiłek!
Wcześniejsza praca:
- Wprowadzenie do czyszczenia pamięci Tails RAM
- Więcej informacji na temat implementacji czyszczenia pamięci RAM w ogonach
- Wprowadzenie do czyszczenia pamięci RAM w systemie Liberte Linux
- Więcej szczegółów dotyczących implementacji czyszczenia pamięci RAM w Liberte Linux
- memtest nie kasuje wszystkiego
- Sprawdź, czy działa czyszczenie pamięci RAM
- Dyskusja o liście mailowej Tails
- Kolejna dyskusja o liście mailowej Tails
- Raport o błędzie jądra
Jeśli chcesz, aby ta funkcja stała się rzeczywistością, głosuj na Ubuntu Brainstorm!
security
memory
encryption
James Mitch
źródło
źródło
Odpowiedzi:
Jeśli nie używasz starej pamięci RAM, takiej jak DDR2, 512 MB lub 1024 MB, nie powinieneś się martwić CBA.
Zobacz oryginalne badanie tutaj (PDF).
Jeśli dokładnie go przeczytasz, przekonasz się, że tylko DDR2 i starsze są podatne na ten atak. DDR3 zbyt szybko traci napięcie, aby umożliwić demontaż i zamrożenie obudowy komputera. Więc po prostu wyciągnij wtyczkę przed otwarciem drzwi.
Ponadto ten dokument potwierdza, że DDR3 nie jest podatny na CBA. Jeśli faktycznie chcesz się zabezpieczyć, ponieważ masz pamięć DDR2 RAM, włącz w BIOS:
i postępuj tak samo jak w przypadku DDR3, ale po wyciągnięciu wtyczki podłącz ją ponownie. Komputer uruchomi się i wyczyści pamięć RAM, sprawdzając ją. Jeśli nie wyczyści wystarczająco skutecznie, proces rozruchu ponownie załaduje system do pamięci RAM. To będzie zbyt szybkie, aby pozwolić na CBA.
Z linku podanego w komentarzach:
Również jeśli sprawdzisz wyniki eksperymentu, zdasz sobie sprawę, że udało im się wyodrębnić klucze AES tylko w systemie 2 i 6, a były to ataki Warm Boot, gdy spojrzysz na specyfikację systemu 2 - 1024 MB RAM 533 MHz - to jest stare rzeczy. Drugi system - system 6 z 256 RAM / 128 RAM - Myślę, że ten jest oczywisty.
Właśnie dlatego ich wniosek był następujący:
Właściwie uważam, że jeśli masz bardzo, bardzo ważne dane, powinieneś nie tylko użyć pełnego szyfrowania dysku, ale także przechowywać go w osobnym zaszyfrowanym pliku. Zaszyfrowane algorytmami kaskadowymi i innym hasłem niż hasło używane podczas szyfrowania dysku. Chcesz bezpieczny sposób wyłączania komputera? Oto on:
Dla Windowsa:
W systemie Linux:
Wyczyść pamięć podręczną zapewnia, że wrażliwe dane nie pozostaną w pamięci RAM po wyłączeniu. Jeśli ktoś wykona Atak Zimnego Rozruchu, będzie miał co najwyżej dostęp do Twojego Systemu. Nie będą mieć danych zapisanych w osobnie zaszyfrowanym pliku.
źródło
Peter AH Peterson z UCLA napisał dowód koncepcji technologii i opracował teorię bezpiecznego działania systemu z zaszyfrowaną pamięcią RAM, a rozwiązanie zostało wyraźnie zaprojektowane, aby zapobiegać atakom z zimnym bootowaniem. Jego artykuł nazywa się Cryptkeeper. Nie wiem, czy udostępnia oprogramowanie do pobrania, czy można licencjonować je z UCLA. Jednak najwyraźniej możliwe jest, przynajmniej w zasadzie, zaprojektowanie kryptosystemu dla pamięci RAM, który jest bezpieczny, nawet jeśli cała zawartość pamięci RAM zostanie ujawniona.
Zmierzony wpływ tego rozwiązania na wydajność wynosi między 9% narzutu a spowolnieniem o współczynnik 9 , w zależności od tego, jak „patologiczny” jest scenariusz. Liczba 9% jest cytowana jako odnosząca się do przeglądania Internetu za pomocą Firefoksa, ale nie podają, jaki przypadek użycia spowolniłby wydajność 9 razy.
Rozwiązanie Petersona nie „usuwa” pamięci RAM, jak sugerujesz. Zamiast tego używa „bezpiecznego mechanizmu ukrywania klucza”, aby zapobiec ujawnieniu klucza deszyfrującego tylko dzięki uzyskaniu zawartości pamięci RAM. Nie jestem pewien szczegółów wdrożenia, ale zakładam, że wyjaśniono to w artykule.
Artykuł został opublikowany w 2010 roku.
Można go kupić na stronie internetowej IEEE ieeexplore. Jest również dostępny do bezpośredniego pobrania jako plik PDF bez opłat z czyjejś strony internetowej; jest tam w wynikach wyszukiwania Google dla „cryptkeeper RAM” ... ale nie jestem pewien, jak długo ten wynik pozostanie tam.
Kusiło mnie, aby uczynić to komentarzem, a nie odpowiedzią, ponieważ to rozwiązanie nie „wyczyści” pamięci RAM, o co prosiłeś. Uważam jednak, że jeśli badania Petersona są technicznie poprawne, będzie to miało taki sam praktyczny efekt - a może nawet „lepszy” efekt niż czyszczenie pamięci RAM. Powodem jest to, że wykwalifikowany fizyczny napastnik może prawdopodobnie przerwać próbę wyczyszczenia pamięci RAM przez program systemowy, jeśli spodziewał się wystąpienia takiej operacji - na przykład wyciągając baterię z urządzenia lub przytrzymując przycisk zasilania, zanim operacja będzie mogła kompletny. Rozwiązanie Petersona jest bezpieczniejsze, ponieważ nie jest oparte na niezbędnym okresie czasu, w którym komputer może kontynuować wykonywanie instrukcji w celu zakończenia czyszczenia. Zamiast tego pamięć jest stale chroniony, nawet jeśli sam procesor zostanie natychmiast zabity przez jakiś niesamowity wyczyn technologii, zanim zdążysz zareagować na atakującego.
I przez „niesamowity wyczyn technologii” mam na myśli coś takiego jak Stuxnet.
źródło
Wyobrażam sobie, że memtest86 byłby całkiem dobry w czyszczeniu pamięci RAM. Zawsze chciałem spróbować poniżej, ale nie zrobiłem tego. Jeśli spróbuję, zaktualizuję go.
Przeczytaj
kexec
stronę podręcznika . I nie próbujkexec
.iso, ale musisz rozpakować plik ISO i zaczepić bootowalny plik binarny. Na stronie memtest86 powyżej możesz po prostu pobrać plik binarny.Musisz użyć
kexec
polecenia, aby załadować to, co uruchamiasz jako pierwsze.Myślę więc, że możesz:
kexec -l {path-to-memtest86-bootable-binary} --append=console=ttyS0,115200n8
a kiedy będziesz gotowy pociągnąć za spust:
kexec -e
Myślę (ale może się mylić), że
--append=console=ttyS0,115200n8
memtest86 działa na porcie szeregowym. Więc jeśli masz taki, możesz sprawdzić, czy działa, nawet jeśli nie wyświetla się na wyjściu wideo, co jest możliwe, ponieważ memtest86 nie wykonuje inicjalizacji wideo. Zabicie dowolnych uruchomionych instancji X jest prawdopodobnie dobrym pomysłem.kexec-tools
Pakiet Debian (dostępny również w Ubuntu) łączy to ze skryptami zamykającymi, więc jeśli edytujesz/etc/default/kexec
, możesz powiedzieć procesowi zamykającemu, aby uruchomił siękexec
jako ostatnia rzecz zamiast ponownego uruchamiania. To znaczy, jeśli jesteś zainteresowany czystym zamknięciem.W nagłych wypadkach
sync; kexec -e
zadziałałoby.Jednak możliwe jest, że niektóre chipsety po ich zainicjowaniu powodują zawieszanie się, jeśli określone obszary pamięci zostaną zaadresowane. Nie wiem, jak to by działało w praktyce.
Dobrym kompromisem, jeśli
kexec
nie działa, jest zainstalowanie memtest86 w bootloaderze, ustawienie go jako domyślnego elementu rozruchowego i opóźnienie 1 sekundy do automatycznego wyboru (lub bez opóźnienia i poleganie na naciśnięciu klawisza, aby wywołać memu). To może doprowadzić cię do memtest86 ze stanu „świeżego rozruchu” dość szybko, ale nie natychmiast.Pamiętaj, że nie uwzględnia to pamięci RAM wideo. Rozwiązaniem tego jest skonfigurowanie pamięci RAM wideo jako urządzenia blokowego i wysyłanie
/dev/random
do urządzenia blokowego na kilka iteracji.źródło
To stare pytanie, ale myślę, że mogę wnieść swój wkład. Jak wspomniano wcześniej, czyszczenie pamięci oparte na oprogramowaniu nie jest najlepszym rozwiązaniem, po prostu dlatego, że zasilanie może zostać nagle odcięte, więc oprogramowanie czyszczenia nie zostanie uruchomione.
Mogę wyobrazić sobie najlepszy scenariusz ilustrujący problem: Prowadzisz nielegalną działalność na swoim komputerze w domu. Pewnego dnia energia elektryczna nagle zanika, a następnie oddział FBI szturmuje drzwi twojego domu, aresztuje cię, a następnie technik-frajer szybko otwiera obudowę komputera i używa w nim zimnego gazu, aby zamrozić stan pamięci, aby kupić trochę czas na atak Cold Boot.
Najlepszym sposobem rozwiązania tego problemu jest zwiększenie bezpieczeństwa obudowy komputera, utrudniając jej otwarcie (coś w rodzaju skarbca), a nawet niszczenie pamięci przez ogrzewanie płyty przy użyciu rezystancji zasilanej z akumulatora, zapalonej przez sabotaż przełącznik w obudowie. Kilka sekund w wysokich temperaturach może zniszczyć dane, a nawet zniszczyć układy scalone, co w tej sytuacji nie stanowi dużego problemu.
źródło
Problem polega na tym, że komputer działa, a ekran jest zablokowany. W tym momencie klucz AES jest przechowywany w pamięci RAM, a użytkownik jest z dala od komputera. Intruz może otworzyć obudowę komputera i usunąć moduły RAM, jednocześnie utrzymując je pod napięciem i umieszczając je w oddzielnym urządzeniu, które odczytuje ich zawartość. Nie ma potrzeby wyłączania systemu ani zamrażania modułów przed ekstrakcją. Pamięć RAM nie ma zaufania do przechowywania klucza AES, ale pamięć podręczna procesora jest podobna do rozwiązania o nazwie TRESOR. Niestety wymaga to starego jądra Linuksa i zaawansowanej wiedzy o łataniu i kompilowaniu jądra.
źródło
Przepraszam, ale jesteś paranoikiem. Po pierwsze, jak wskazali inni użytkownicy, najwyraźniej atak z zimnego rozruchu działa tylko na starszym sprzęcie.
Jeśli nadal uważasz, że jest to zagrożenie, czyszczenie nie jest rozwiązaniem.
Atak Cold Boot obejmuje:
Jeśli komuś uda się wykonać zimny rozruch, to oczywiście Twoja wycieraczka nie będzie miała możliwości uruchomienia. Dlatego nie ma sensu go instalować.
To jest główny przypadek ataku. Załóżmy teraz, że atakujący nie chce samodzielnie uruchamiać uruchomionego serwera (np. Ponieważ spowodowałoby to alert monitorowania), zamiast tego czeka na wykonanie ataku w ciągu 5 minut od czystego wyłączenia. W tym przypadku:
truecrypt /wipecache
wyczyści resztę pamięci RAM (np. Wspomniany przez mnmnc), może utrudnić zadanie atakującemu. Nadal:Tak więc, jeśli naprawdę martwisz się tym atakiem, sugeruję, abyś uczył się kung-fu i stał na straży przez 5 'obok maszyny za każdym razem, gdy ją wyłączasz. A może użyj hasła rozruchowego w systemie BIOS? Oba sugerowane środki nie muszą być w 100% skuteczne: osoby atakujące nadal mogą cię pokonać i odczytać hasło systemu BIOS z MB przy użyciu środków technicznych. Musisz tylko opóźnić je o 5 ', aby wygasło okno czasu ataku.
Wreszcie, jeśli martwisz się, że ktoś wykona cały wyczyn zdalnie, masz już dość.
źródło