Jak bezpieczny jest zaszyfrowany system plików LUKS?

34

Niedawno zainstalowałem 11.10 na nowym dysku, używając całego szyfrowania dysku. Czy ktoś może mi powiedzieć, jak bezpieczny jest algorytm szyfrowania? Czy wystąpiły jakieś ostatnie naruszenia tego algorytmu? Używam losowego hasła o długości 36 znaków, więc wiem, że to nie jest słaby link. Jakie są szanse na uszkodzenie danych mojego klienta, jeśli dysk twardy zostanie skradziony?

browep
źródło
Lepiej zapytaj, jak długo (średnio) zajmie ktoś złamanie tego hasła. Warto również wiedzieć, czy osoba, która go kradnie, wiedziałaby, że ma na przykład dane karty kredytowej. Myślę, że można argumentować, że jeśli nie są to karty kredytowe, nikt nie będzie brutalnie zmuszany - nie ma w tym pieniędzy.
jcollum
11
Zabezpiecz się przed czym? Złamanie szyfrowania superkomputerem - trudne, ale nie niemożliwe. Złamanie kodu za pomocą klucza 10 USD - łatwiej imgs.xkcd.com/comics/security.png
Panther
Oto jak sprawdzić, jakiego szyfru używasz w LUKS: Czego używa się do szyfrowania pełnego dysku 12.10?
gertvdijk
1
@Panther Czy klucz 10 $ jest naprawdę potrzebny? Jestem pewien, że są tańsze rozwiązania. Wymaganie tak drogiej bariery wejścia do kryptoanalizy jest szkodliwe dla branży.
Mateen Ulhaq,

Odpowiedzi:

31

Tak, jest bezpieczny. Ubuntu używa AES-256 do szyfrowania woluminu dysku i ma szyfrowane sprzężenie zwrotne, aby chronić go przed atakami częstotliwościowymi i innymi atakami ukierunkowanymi na statycznie zaszyfrowane dane.

Jako algorytm AES jest bezpieczny, co zostało udowodnione w testach analizy kryptograficznej. Słabość faktycznie leży w szyfrze i oprogramowaniu do przekazania kluczy. W szczególności znajduje się w magazynie kluczy (który jest przechowywany w nagłówku woluminu), magazyn kluczy jest zabezpieczony hasłem. Hasła są oczywiście otwarte na niektóre ataki, takie jak słownik / brutalna siła (jeśli to się powiedzie, odszyfruje magazyn kluczy). Używanie długich „złożonych” haseł innych niż słowa zmniejszyłoby prawdopodobieństwo takiego zdarzenia.

Jedyną inną możliwością odszyfrowania jest użycie urządzenia rejestrującego lub inżynierii społecznej do ustalenia hasła.

Krótko mówiąc, twój komputer jest wystarczająco bezpieczny, chyba że jesteś przedmiotem poważnej zorganizowanej cyberprzestępczości lub dochodzenia rządowego!

BrownE
źródło
18
Należy jednak pamiętać, że jeśli komputer jest używany podczas pracy lub w trybie zawieszenia (hibernacja jest w porządku), istnieją różne, dość łatwe techniki, aby wyodrębnić hasło z pamięci RAM. Dlatego radziłbym ostrożnie, w jakim stanie zostawić laptopa podczas podróży, ale ogólnie powinieneś być bezpieczny przed większością potencjalnych scenariuszy utraty danych.
ternaryOperator 21.01.12
@ternaryOperator nie bardzo, dotyczy to tylko laptopów. Gdy komputer traci moc, dane RAM rozpadają się dość szybko, aż stają się nieczytelne (dlatego nie używamy RAM zamiast SSD do superszybkiego przechowywania, problemem była nie tylko prędkość; różne firmy próbują znaleźć way way (memristors)) Chyba że przez wzięty miałeś na myśli fizyczny dostęp, gdy wciąż był włączony.
Cestarian
@Cestarian, tak, mam na myśli, że nawet jeśli dysk jest zaszyfrowany, dane są wrażliwe, gdy urządzenie jest włączone (nawet gdy jest zablokowane lub w trybie zawieszenia). Na przykład, jeśli zostawisz komputer włączony lub w trybie zawieszenia na noc, lub z jakiegoś innego powodu ktoś może uzyskać dostęp do twojego komputera, gdy nie jest on całkowicie wyłączony, wtedy będzie miał całkiem spore szanse na dostęp do twoich danych poprzez dostęp do zawartość pamięci RAM (i spryskiwanie pamięci RAM strumieniem chłodziwa znacznie spowalnia rozpad danych w pamięci RAM, co może pozwolić na ponowne uruchomienie komputera w celu uruchomienia oprogramowania do odzyskiwania).
ternaryOperator
@ternaryOperator to jednak długa szansa, aby uzyskać dostęp do niego, gdy jest włączony, należy albo: Zalogować się na mój serwer NAS (co wymaga złamania jednej z dwóch możliwych postaci 10+ i nie jest w tym dogodnym miejscu .. . (małe pomieszczenie do przechowywania) zgadnij, że mogliby spróbować użyć ssh tho) B: Mam nadzieję, że mogą przejąć klucze szyfrujące z mojej pamięci RAM (Czy jednak klucze szyfrujące nie zostały usunięte z pamięci RAM zaraz po ich użyciu? tak się dzieje.), co jest bardziej prawdopodobne, ale wymaga większej wiedzy. Jako zwykły, normalny koleś, nie jestem tego warta.
Cestarian
1
@Cestarian To działa przy opcji B, uzyskując dostęp do kluczy szyfrowania z pamięci RAM. Klucz szyfrowania jest buforowany gdzieś w pamięci RAM, ponieważ system operacyjny potrzebuje go za każdym razem, gdy odczytuje / zapisuje dane na zaszyfrowanym dysku. Zgadzam się, że większość ludzi potrzebuje takiego poziomu paranoi w zakresie szyfrowania dysku, a moje zainteresowania są głównie akademickie, jednak jest to jeden z najbardziej praktycznych scenariuszy atakowania szyfrowania dysku za pomocą przyzwoitego hasła i nie wymaga specjalnego sprzętu. Szczegóły tych ataków zostały omówione w tym artykule w Wikipedii: en.wikipedia.org/wiki/Cold_boot_attack .
ternaryOperator 15.04.16
7

Oto dwa zasoby dotyczące ataków na tego typu system plików, które wydają się interesujące: http://dx.eng.uiowa.edu/dave/luks.php http://www.jakoblell.com/blog/2013/12 / 22 / praktyczny-plastyczność-atak-przeciw-cbc-encrypted-luks-partitions /

W skrócie, ten ostatni dokument opisuje, że możliwe jest wstrzyknięcie backdoora zdalnego wykonania kodu do konfiguracji LUKS utworzonej przez instalator Ubuntu 12.04. Ten atak wymaga jedynie dostępu do zaszyfrowanego dysku twardego (nie polega on na manipulowaniu niezaszyfrowanym/boot partycją ani systemem BIOS).

Chociaż atak jest dość zły, nie dotyczy nowoczesnych konfiguracji LUCS. Atak może być zastosowany tylko wtedy, gdy tryb blokowania jest CBC, na przykład, jeśli aes-cbc-essivużywany jest szyfr . Nowoczesne konfiguracje używają innych trybów blokowania, takich jak szyfr aes-xts-plain64(patrz ten artykuł na wiki ArchLinux) ).

Aby sprawdzić, który szyfr jest używany przez twoją konfigurację, uruchom:

sudo cryptsetup status [device]

gdzie [device]jest twoje mapowanie /dev/mapper/sda3_crypt.

duński
źródło
1
Witamy w Ask Ubuntu! Chociaż teoretycznie może to odpowiedzieć na pytanie, lepiej byłoby zawrzeć tutaj istotne części odpowiedzi i podać odnośnik.
guntbert
Martwię się o praktyczny atak plastyczności, na przykład istnieje ciąg, który można łatwo znaleźć na dowolnej partycji ext4 (utracone + znalezione), ilość możliwych łańcuchów znacznie wzrasta, jeśli jest to partycja systemowa, ale jest bardziej niejasna, jeśli zawartość napędów jest nieznany. Nie trzeba się martwić, że hasło można odzyskać z pamięci RAM, jeśli komputer zostanie przechwycony w trybie online, najprawdopodobniej dyski są już w stanie odszyfrowanym. Dlatego powinieneś tylko upewnić się, że twój system może zostać wyłączony przez naciśnięcie przycisku w momencie, gdy poczujesz się zagrożony.
Cestarian
LUKS, nie LUCS.
Cees Timmerman
1

Stworzyłem program Windows, który przeprowadzi atak słownikowy na woluminy Luksa. http://code.google.com/p/luks-volume-cracker/

Jest powolny z założenia, próbuje około 3 klawiszy na sekundę. Inne ataki słownikowe będą podobnie powolne, więc jeśli nie wybierzesz łatwego hasła, słabością nie będzie algorytm.

Należy jednak pamiętać o kradzieży kluczy z pamięci i buforowaniu plików.

Chris
źródło
1
To nie odpowiada na pytanie, jak bezpieczne jest . To jest odpowiedź na pytanie, jak przeprowadzić atak słownikowy na moim urządzeniu LUKS? .
gertvdijk
2
@gertvdijk Myślę, że to może odpowiedzieć na pytanie. „chyba że wybierzesz łatwe hasło, słabością nie będzie algorytm”. Resztę można uznać za demonstrację tej zasady. Ostatnie zdanie też dotyczy tematu.
Eliah Kagan
1
@EliahKagan Nie zgadzam się. Pytanie dotyczy bezpośrednio samego algorytmu . Samo stwierdzenie, że „słabość nie będzie algorytmem”, nie jest odpowiedzią na to, moim zdaniem. Nie zrozum mnie źle - nadal ma ważne i cenne punkty, ale nie w przypadku tego pytania.
gertvdijk
1
@gertvdijk Ta odpowiedź mierzy również, ile czasu zajmuje złamanie algorytmu, wraz z linkiem do demonstracji. Nie twierdzę, że to najlepsza odpowiedź, ale myślę, że jest to kwestia odpowiedzi (na to pytanie). Ponadto, jak bezpieczny jest algorytm , jest w rzeczywistości tylko jedną z kilku części pytania.
Eliah Kagan
1
Myślę, że to w jakiś sposób pokazuje poziom możliwego ataku na LUKS. 3 próby na sekundę ze słownika nigdy nie złamią na wpół przyzwoitego hasła.
Oli
-2

Metoda szyfrowania LUKS jest potencjalnie niebezpieczna, przynajmniej w sposobie, w jaki obsługuje proces szyfrowania. Dajmy mu tę zaletę, że algorytmy są bezpieczne i możemy porównać je z kodem algorytmu, który został poddany audytowi. Odkładając to na bok, jako użytkownik nie możesz tworzyć klucza, który szyfruje twoje dane. To tak, jakby powiedzieć komuś, hej, stworzę hasło, które szyfruje twoje konto bankowe, a nie ciebie. Ale będę tak miło pozwolić ci stworzyć hasło, które szyfruje moje hasło. Widzę słabość bezpieczeństwa w LUKS.

LUKS używa klucza głównego lub tak zwanego klucza ujednoliconego. Ten klucz jest generowany przy użyciu programów „losowych” i „urandom” zainstalowanych w systemie Linux. Jeśli te programy zostaną w jakiś sposób naruszone, klucz główny stanie się słaby. Bez względu na to, jak silne jest twoje hasło, metoda tworzenia klucza głównego tworzy lukę.

Porównaj to z TrueCrypt, który w tajemniczy sposób zamyka się podczas największych wycieków przeciwko amerykańskim szpiegom. Woluminy TrueCrypt, które zostały prawidłowo zaszyfrowane zgodnie z dokumentacją TrueCrypts, nie zostały podzielone na. Rząd wyrzucił wszystkie pieniądze podatników w ilościach TrueCrypt i nie mógł ich rozbić. To legalny zapis. https://en.wikipedia.org/wiki/TrueCrypt#Legal_cases (TrueCrypt jest 4. poprawką zatwierdzoną)

TrueCrypt pozwala użytkownikowi utworzyć klucz główny. Podczas tworzenia wolumenu TrueCrypt pozwala użytkownikowi poruszać myszą w interfejsie TrueCrypt tak długo, jak chce, co losowo manipuluje wartością tworzonego klucza głównego. To daje siłę chaosu w ręce użytkownika tam, gdzie należy. LUKS nie zezwala na tę łatwą funkcję programową.

Jevan
źródło
4
OSTRZEŻENIE: Korzystanie z TrueCrypt nie jest bezpieczne, ponieważ może zawierać nierozwiązane problemy bezpieczeństwa. Oprócz tego LUKS obsługuje zdefiniowane przez użytkownika hasła <= 512 znaków i pliki kluczy <= 8MiB arbitralnych danych binarnych. Po drugie, losowe urządzenia z Linuksem mogą zostać naruszone, jeśli zagrożony jest system (tj. Konto root). TrueCrypt nie ma magicznej osłony dla tego scenariusza. Na koniec jądro Linuksa automatycznie zbiera swoją entropię dla (u) losowego z wielu urządzeń, w tym myszy. Konkluzja - TrueCrypt jest porzucony i nie należy go używać. Użyj LUKS.
Adrian Günter,
1
Nie rozumiesz, jak działa generowanie kluczy. TrueCrypt (podobnie jak jego następcy) używa tego samego procesu co LUKS do generowania klucza głównego: zbieraj entropię na różne sposoby, w tym ruchy myszy, podaj go do generatora liczb pseudolosowych i używaj danych wyjściowych PRNG jako klucza głównego. Różnica polega na tym, że TrueCrypt używa własnego algorytmu do generowania klucza zamiast systemowego RNG. Algorytm TrueCrypt może być tak samo wadliwy jak RNG dostarczony przez system operacyjny. Ta odpowiedź to FUD i jest niebezpieczna dla niedoinformowanych użytkowników. LUKS jest bezpieczny.
Elzo