Dlaczego dla maksymalnego bezpieczeństwa FileVault2 zaleca się hibernację?

10

Wiele dyskusji na temat bezpieczeństwa FileVault 2 sugeruje użycie:

sudo pmset -a destroyfvkeyonstandby 1 hibernatemode 25

Niektóre z tych dyskusji twierdzą, że klucze FileVault są przechowywane w pamięci RAM podczas normalnego używania w trybie czuwania, podczas gdy inni twierdzą, że są przechowywane w oprogramowaniu układowym EFI.

  1. Gdzie są przechowywane klucze, gdy urządzenie jest w trybie czuwania i działa w pamięci RAM lub oprogramowaniu układowym?

  2. Co dokładnie robi destroyfvkeyonstandby? Na przykład, jeśli usunę plik, mogę go odzyskać, ponieważ nie został wyczyszczony. Czy destroyfvkeyonstandbywykonuje zwolnienie pamięci (usunięcie) lub wyczyszczenie (nadpisanie pamięci, która była używana do przytrzymania klawisza)?

  3. Jeśli skorzystam destroyfvkeyonstandby, jaka jest korzyść z natychmiastowego przejścia w tryb hibernacji (oprócz oszczędzania energii)? Jeśli klucz został wyczyszczony, jakie jest niebezpieczeństwo pozostawienia włączonej pamięci RAM?

Michał
źródło

Odpowiedzi:

3
  1. Podczas normalnego użytkowania klucze są przechowywane w pamięci RAM, co czyni je podatnymi na atak DMA za pomocą Firewire lub Thunderbolt (przy użyciu czegoś takiego jak Inception ). Jest to stary zestaw ataków, a Apple faktycznie wyłącza niektóre funkcje tych urządzeń podczas niektórych trybów uśpienia (np., hibernatemode 25Który usuwa energię z pamięci RAM po zrzuceniu jej zawartości na dysk; dla dodatkowego bezpieczeństwa należy również wyłączyć Fast User Przełączanie , ponieważ jest to kolejny wektor ataku).

  2. Jest to jedyna rzecz, która ma sens dla Apple, ponieważ jest dość trywialna. Więcej szczegółów można znaleźć w tej analizie FileVault 2 , dzięki uprzejmości kilku badaczy bezpieczeństwa z Cambridge.

  3. Pamięć RAM można również zapisać (patrz Incepcja ) w celu ominięcia faktycznego hasła; zrzut na dysk i ponowne załadowanie po przebudzeniu zapewni, że zawartość jest odporna na manipulacje.

roguesys
źródło
Dziękuję za odpowiedź i linki! Te i dodatkowe czytanie sugerują, że oprócz ataku typu początkowego na system, w którym informacje są nadal w pamięci RAM, hasło, które odblokowało klucz ochrony plików, może być również dostępne w pamięci RAM. Dlatego nawet jeśli ktoś niszczy klucz blokady plików za pomocą „destroyfvkeyonstandby 1”, hasło do odblokowania tego klucza może być nadal łatwo dostępne w pamięci RAM, jeśli pamięć RAM jest nadal zasilana. Używając „hibernatemode 25” i tym samym zmniejszając moc pamięci RAM, wszystkie inne hasła w pamięci RAM zostaną również usunięte.
Michael