Tekst przeniesiony z like-a-geek.jogger.pl.

Jakiś czas temu miałem okazję przeczytać wyjątkowo interesujący artykuł pana Michała Składnikiewicza dotyczący wykorzystania pomiaru entropii do lokalizowania ukrytych danych.

Niestety, artykuł nie jest publicznie dostępny w internecie, więc nie mogę podlinkować. Generalnie pan Michał sprawdzał jak bardzo zbliżone do ciągu losowego są róże rodzaje danych. Nie zagłębiając się w szczegóły, ani dokładną definicję entropii przyjmiemy, że dane całkowicie uporządkowane, które nie mogą dać nam żadnej nowej informacji mają entropię na poziomie bliskim 0%, a dane całkowicie losowe mają entropię prawie 100% (tak naprawdę około 99,9%). W ramce poniżej zamieściłem typowe wartości entropii różnych rodzajów danych – pochodzą z artykułu pana Michała oraz własnych testów. To tyle tytułem wstępu.

Typowe wartości entropii różnych rodzajów danych.

  • tekst w języku naturalnym, program w języku wysokiego poziomu ~95%
  • tekst wiersza, piosenki (częste powtórzenia słów) ~90%
  • program w asmie 80-98%
  • skompresowane dane – powyżej 99% (zależy od sposobu kompresji)
  • formaty binarne, protokoły 40-75%
  • dane zaszyfrowane np. kodem cezara i innymi prostymi metodami – jak tekst oryginalny
  • dane zaszyfrowane typowymi algorytmami typu AES, twofish – ok 98%

Ale co ma ten krótki wykład do ostatniej wersji Ubuntu? Już wyjaśniam. W nowym Ubuntu pojawiła się możliwość zaszyfrowania całego dysku, łącznie ze swapem i partycją systemową. Niestety w polskim internecie nikt za dużo na ten temat nie napisał, a autorzy anglojęzyczni wolą opisać, jak taką instalację przeprowadzić (klikać „YES” i czekać;). A propos samej instalacji, to opcja szyfrowania dostępna jest tylko z Alternate CD i zaleca się użycie jej na czystym dysku – ja tak zrobiłem i jestem bardzo zadowolony – system chodzi szybko (mam PIII 1GHz i dysk z 8MiB cache’u), nie ma problemów z przenoszeniem i udostępnianiem danych, dysk szyfrowany jest AES-em z 192 bitowym kluczem (w moim przypadku) i ogólnie nie sprawia żadnych problemów. Niestety, instalacja trwa kilka godzin (zależy od wielkości dysku).

Przechodząc do meritum, postanowiłem sprawdzić, jak wygląda rozkład entropii na dysku zaszyfrowanym przez instalator Ubuntu z partycją truecrypta. Jak widać w powyższej tabelce dane zaszyfrowane mają entropię nieco niższą niż dane całkowicie losowe (o ok. 0,5-0,9 punktu procentowego), jednak da się je odróżnić. To jest właśnie największa wada truecrypta – dane, mimo że dobrze chronione są doskonale widoczne (wiadomo, że jest tam coś zaszyfrowane). Szyfrując na początku cały dysk (jak w Ubuntu) obniżamy jego entropię, więc dane na nim nie są już losowe, a to znacząco utrudnia odróżnienie (metodami statystycznymi) zaszyfrowanych danych od zaszyfrowanych losowych śmieci z nieużywanej części dysku.

Podsumowując, polecam zaszyfrowanie całego dysku przed instalacją systemu – dane są praktycznie nieodróżnialne od pustego miejsca, odszyfrowywanie nie spowalnia działania systemu nawet na wolniejszych komputerach i nie utrudnia życia (poza podaniem hasła przy ładowaniu systemu), a instalator można puścić na te parę godzin i np. poczytać książkę;) Zapraszam do komentowania i pytań

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *