2013-06-17 16 views
5

Czy istnieje sposób ochrony kluczy szyfrowania, które są przechowywane w pamięci RAM z ataku zamrażarki? (Naklejenie komputera w zamrażarce przed ponownym uruchomieniem złośliwego kodu w celu uzyskania dostępu do zawartości pamięci RAM)Ochrona kluczy kryptograficznych w pamięci RAM?

To wydaje się być uzasadnionym problemem z bezpieczeństwem w mojej aplikacji.

EDYCJA: warto również wspomnieć, że prawdopodobnie wykonam proof of concept OS, aby zrobić to na gołym metalu, więc należy pamiętać, że im mniej zależności, tym lepiej. Jednak TRESOR brzmi naprawdę interesująco i mogę przesłać kod źródłowy tego do mojego proof of concept OS, jeśli wygląda na to, że można go zarządzać, ale jestem otwarty na inne rozwiązania (nawet te z dużymi zależnościami).

+2

Prawdopodobnie lepiej dla [security.SE]? – djechlin

+0

ah. tak, zgadzam się. jeśli administrator chce przenieść to tam, to jest w porządku ze mną. – coder543

Odpowiedz

9

Można użyć coś jak TRESOR Linux aktualizacja jądra do utrzymania przycisku wewnątrz pierścienia 0 (najwyższy poziom uprawnień) debug CPU rejestruje tylko, co w połączeniu z procesorem Intel który obsługuje instrukcję AES-NI, nie musi powodować kary za wydajność (pomimo potrzeby ponownej kalkulacji klucza) w porównaniu z ogólną implementacją szyfrowania.

+0

+1 za wzmiankę o TRESOR, chociaż nigdy z niego nie korzystałem. – Xaqq

+0

To brzmi najbardziej obiecująco ze wszystkich dotychczasowych odpowiedzi, ale będę czekał dzień lub dłużej, aby sprawdzić, czy ktoś inny może wymyślić coś jeszcze lepszego. – coder543

+0

Oczywiście, teraz twój atakujący użyje ciekłego helu ~ zero absolutne, aby zamrozić twój procesor i zbadać go za pomocą mikroskopów elektronowych i SQUID - i nareszcie będą mieć twoje facebookowe hasło :) –

0

Jak wskazuje Sergey, nie można powstrzymać nikogo przed atakowaniem pamięci RAM, jeśli sprzęt jest w ich posiadaniu. Jedynym możliwym rozwiązaniem do obrony sprzętu jest odporny na manipulację sprzętowy moduł zabezpieczeń. Na rynku jest kilka odmian: przychodzą na myśl układy TPM i karty inteligentne. Inteligentne karty mogą działać lepiej, ponieważ użytkownik powinien usunąć je z urządzenia, gdy odejdzie, a po usunięciu karty można po prostu usunąć te klucze.

Zrobiłbym trochę więcej analizy ryzyka, która pomogłaby ci ustalić prawdopodobieństwo zamrożonego ataku pamięci RAM. Które komputery są najbardziej narażone na kradzież? Laptopy, serwery, tablety lub smartfony? Jaką wartość mogą uzyskać napastnicy z skradzionego komputera? Czy chcesz zapobiec odszyfrowaniu zaszyfrowanego obrazu dysku? Od odzyskiwania dokumentu, który jest aktualnie załadowany do pamięci RAM? Od odzyskiwania klucza, który może doprowadzić do odszyfrowania całego dysku? Od odzyskiwania poświadczeń, które zapewniłyby poufny dostęp do twojej sieci?

Jeśli ryzyko jest naprawdę wysokie, ale firma potrzebuje zdalnego dostępu, należy rozważyć zachowanie tajemnic tylko na zabezpieczonych serwerach firmowych i zezwolić na dostęp tylko do przeglądarki. Użyj uwierzytelniania dwuskładnikowego, takiego jak token dostępu do sprzętu. Być może wtedy wymagane jest uruchamianie urządzeń zdalnych tylko z nośników tylko do odczytu i list zakładek do odczytu, aby zapobiec atakom wirusów i innych ataków opartych na przeglądarce.

Jeśli możesz wystawić wartość pieniężną na ryzyko, powinieneś być w stanie uzasadnić dodatkową infrastrukturę potrzebną do obrony danych.

Powiązane problemy