Kilka dni temu pokazaliśmy Wam jak wygląda bezpieczeństwo pełnego szyfrowania pamięci zarówno w przypadku iOS 8 jak i Androida w wersji 3.0-4.3 i jak bardzo Android na tym polu przegrywa. Przyszła pora na najnowsze produkty Androida 4.4 oraz L.
Szyfrowanie całego dysku starszych wersji Androida zdecydowanie nie zapewnia wystarczającego bezpieczeństwa Waszych danych. Jak wygląda ta kwestia w najnowszych wydaniach systemu?
Wind of change
Wersja 4.4 przynosi zmiany w stosunku do poprzedniego systemu szyfrowania. W „krypto stopce” (ang. crypto footer) znajduje się tym razem informacja, że PBKDF2 został zastąpiony przez scrypt. Ma to na celu wydłużenie procesu łamania hasła ze względu na skomplikowanie obliczeniowe tej funkcji hashującej, która nie tylko wymaga dużej mocy obliczeniowej ale i dużych zasobów szybkiej pamięci. Tabela poniżej, której autorem jest Colin Percivial, pokazuje, jak w 2009 roku wyglądało zestawienie kosztów niezbędnych do złamania w ciągu roku hasła hashowanego poszczególnymi algorytmami.
Co warto zauważyć, porównywany bcrypt nie nadaje się do hashowania fraz powyżej 55 znaków, gdyż bierze on pod uwagę… tylko pierwsze 55 znaków. Obecnie nie jest to może problem, ale znów przypominając o fragmentacji Androida – telefony nie przechodzą tak szybko procesu aktualizacyjnego, a producenci często pozostają przy tej samej wersji od początku do zakończenia produkcji. Scrypt wydaje się więc tutaj być słusznym wyborem. W stopce zapisano również wszystkie wartości początkowe algorytmu scrypt (N, r, p). Nie ulega również zmianie długość klucza głównego (128 bitów), oraz sposób szyfrowania dysku (aes-cbc-essiv:sha256).
Your powers combined…
Atak siłowy na szyfrowanie Androida 4.4 wygląda podobnie jak w poprzednich wersjach. Pomimo, że hashcat wspiera algorytm scrypt, nie wspiera możliwości wykorzystania go do łamania całego klucza. Stopka nie zawiera również sumy kontrolnej klucza głównego, więc do łamania niezbędny jest również kawałek dysku – podobnie jak poprzednio będzie to nagłówek ext4. Przy użyciu zmodyfikowanego pod scrypt skryptu z Santoku Linux i 3.5 GHz procesora Intel Core i7 badacz uzyskał następujące rezultaty:
$ time python bruteforce_stdcrypto.py header footer 4 Android FDE crypto footer ------------------------- Magic : 0xD0B5B1C4 Major Version : 1 Minor Version : 2 Footer Size : 192 bytes Flags : 0x00000000 Key Size : 128 bits Failed Decrypts: 0 Crypto Type : aes-cbc-essiv:sha256 Encrypted Key : 0x66C446E04854202F9F43D69878929C4A Salt : 0x3AB4FA74A1D6E87FAFFB74D4BC2D4013 KDF : scrypt N_factor : 15 (N=32768) r_factor : 3 (r=8) p_factor : 1 (p=2) ------------------------- Trying to Bruteforce Password... please wait Trying: 0000 Trying: 0001 Trying: 0002 Trying: 0003 ... Trying: 1230 Trying: 1231 Trying: 1232 Trying: 1233 Trying: 1234 Found PIN!: 1234 real 4m43.985s user 4m34.156s sys 0m9.759s
Na powyższym przykładzie widać, że sprawdzenie 1200 kombinacji zajęło niecałe 5 minut, co daje około godzinę na złamanie 4-cyfrowego kodu PIN (po sprawdzeniu wcześniej wszystkich schematycznych PINów jak np. 1234, 2580 czy dat urodzenia). Jak widać jest to znaczący postęp jeśli chodzi o czas, ale nadal mało bezpieczny. Dlatego radzimy nie używać pinu, a jeśli już to co najmniej 6-cyfrowy.
L-L-Lick me like a lollipop
Wersja L, istniejąca dzisiaj w opcji preview, jest już dostępna na rynku od paru miesięcy (ciągle jednak niestabilna). „Krypto stopka” z pewnością uległa zmianie, nie używa już ani PBKDF2 ani scrypt, a szyfrowanie urządzenia nie wymaga obecnie nawet zabezpieczania ekranu PINem czy hasłem, co sugeruje, że klucz główny nie jest generowany przy pomocy tego hasła. Nikolay zaobserwował, że uruchomienie procesu szyfrowania wywołuje następujący efekt logcat’a:
D/QSEECOMAPI: ( 178): QSEECom_start_app sb_length = 0x2000 D/QSEECOMAPI: ( 178): App is already loaded QSEE and app id = 1 D/QSEECOMAPI: ( 178): QSEECom_shutdown_app D/QSEECOMAPI: ( 178): QSEECom_shutdown_app, app_id = 1 ... I/Cryptfs ( 178): Using scrypt with keymaster for cryptfs KDF D/QSEECOMAPI: ( 178): QSEECom_start_app sb_length = 0x2000 D/QSEECOMAPI: ( 178): App is already loaded QSEE and app id = 1 D/QSEECOMAPI: ( 178): QSEECom_shutdown_app D/QSEECOMAPI: ( 178): QSEECom_shutdown_app, app_id = 1
QSEE to Qualcomm Secure Execution Environment który to jest implementacją TEE (Trusted Execution Environment). Jest to bezpieczne i zaufane środowisko do wykonywania zadań, niezależne od standardowego systemu operacyjnego. Technologia ta zabezpiecza poufne dane poprzez uniemożliwienie bezpośredniego dostępu systemowi operacyjnemu podobnie jak ma to miejsce w „enklawie bezpieczeństwa” Apple o której pisaliśmy w pierwszej części artykułu. Poufne dane są w TEE tylko przetwarzane, a system operacyjny ma dostęp do generowanej przez TEE odpowiedzi za pomocą wtyczki programowej TEE Client. Jak wskazuje piąta linijka, do stworzenia KDF używany jest scrypt wraz z kluczem głównym, który tak przekazywany jest do TEE. Niestety brak kodu źródłowego uniemożliwia dalszą analizę czy choćby potwierdzenie tej teorii.
Domyślnie szyfrowany?
Wszystko wskazuje na to, że podobnie jak Apple, Android L również będzie miał domyślnie włączone szyfrowanie. Badacz sprawdził dodatkowo, czy ustawienie blokowania wzorem (pattern lock) przekazuje jakieś dane do modułu szyfrującego.
D/VoldCmdListener( 173): cryptfs changepw pattern {} D/QSEECOMAPI: ( 173): QSEECom_start_app sb_length = 0x2000 D/QSEECOMAPI: ( 173): App is already loaded QSEE and app id = 1 ... D/QSEECOMAPI: ( 173): QSEECom_shutdown_app D/QSEECOMAPI: ( 173): QSEECom_shutdown_app, app_id = 1 I/Cryptfs ( 173): Using scrypt with keymaster for cryptfs KDF D/QSEECOMAPI: ( 173): QSEECom_start_app sb_length = 0x2000 D/QSEECOMAPI: ( 173): App is already loaded QSEE and app id = 1 D/QSEECOMAPI: ( 173): QSEECom_shutdown_app D/QSEECOMAPI: ( 173): QSEECom_shutdown_app, app_id = 1 E/VoldConnector( 756): NDC Command {5 cryptfs changepw pattern [scrubbed]} took too long (6210ms)
Z powyższych danych wynika, że do wygenerowania klucza szyfrującego dysk (poprzez wywołanie cryptfs changepw), wykorzystywany będzie nie tylko PIN/hasło ale również i wzór odblokowania. Dość długi czas w jakim klucz jest generowany (6 sekund) sugeruje, że do generowania wykorzystywany jest scrypt.
Kolejną zmianą jest konieczność pojedynczego przeciągnięcia schematu odblokowującego przy uruchamianiu urządzenia. Dotychczas wykonywane to było dwukrotnie, pierwszy raz przy uruchomieniu, drugi na ekranie blokady.
To będzie bezpiecznie czy nie?
Z badania Nikolaya wynika, że klucz szyfrujący będzie w najnowszych urządzeniach (przynajmniej w tych z górnej półki) zabezpieczony sprzętowo. Co za tym idzie, pozyskanie „krypto stopki” powinno być niemożliwe, a tym samym przekreślona zostaje możliwość łatwego łamania siłowego. Samo szyfrowanie odbywać się będzie zapewne przy wsparciu sprzętowym (wskazuje na to szybkość z jaką udało się zaszyfrować Nexusa 7 (2013) 16GB – 10 minut). Druga możliwość to taka, że szyfrowany będzie tylko faktycznie używany obszar, a nie całość pamięci. Mamy nadzieję, że krok, który uczyniło Apple w kierunku zabezpieczenia urządzeń przed dostępem nie tylko niepowołanych osób, ale i organów ścigania, szybko stanie się standardem. Kierunek, w którym idzie Android, zdaje się to potwierdzać. Tymczasem zmieńcie swoje hasła na trudniejsze, to zawsze jest dobrym pomysłem.
Komentarze
Czy naprawdę w jawny sposób zamierzacie pomagać przestępcom? Rozumiem opisywać aspekty bezpieczeństwa na blogu. Ale tłumaczyć w jaki sposób o swoje bezpieczeństwo mogą dbać osoby, które jawnie przyznają że są oszustami i zdobytą wiedzę wykorzystają w celu zamaskowania swojej niezgodnej z prawem działalności to już coś innego. Mam oczywiście na myśli Twoją działalność w torze.
Nie bardzo widzę jakie ma znacznie czy ktoś ten sam tekst przeczyta w sieci jawnej, Torze czy usłyszy na prezentacji czy tez sobie znajdzie w Google. Możesz rozwinąć?
Różnica jest taka że pisząc na blogu Twoje teksty skierowane są do publiczności zainteresowanej bezpieczeństwem. Tak, przestępcy też mogą tutaj przyjść i szukać ciekawych dla siebie informacji. Jednak niesądzę żeby byli większością czytelników. Natomiast odpowiadając na posty użytkowników, którzy jawnie przyznają się do popełniania przestępstw i to na ich forum, które działa głównie właśnie w celu organizowania działalności przestępczej bezpośrednio pomagasz przestępcom. Tam odsetek uczciwych użytkowników jest już znacznie mniejszy. Większość szuka informacji jak kogoś okraść/oszukać i Ty im tę informację, na ich terenie dostarczasz. Tak żeby nawet nie musieli wysilić się i użyć googla.
Ta postawa mnie, jako Twojemu czytelnikowi, zwyczajnie się nie podoba.
Mimo, iż forum to „działa głównie właśnie w celu organizowania działalności przestępczej” jesteś tam co najmniej częstym gościem. Jednocześnie nie podoba Ci się, że umieściłem tam powszechnie znaną i łatwo dostępną informację. Zostawię to bez komentarza.
Gdyby była powszechnie znana to byś jej nie umieszczał. Umieściłeś ją bo, niektórzy użytkownicy zdawali się nie mieć tej informacji. Jednym słowem dokształciłeś przestępców (bo jak już podkreślałem oni jawnie przyznają się do łamania prawa i to forum służy głównie doskonaleniu technik i poszukiwaniu współpracowników).
Sprawdziłeś przynajmniej w Google czy ta informacja jest dostępna czy nie? Czy tak sobie zgadujesz?
Co robisz na forum dla przestępców? Jesteś jednym z nich? Może ładujesz sobie na lewo kartę na myjnię na BP? Masz może Tora na komputerze? Co masz do ukrycia? :D
Poproszę o link do forum, może być na email ;)
a teraz Ty pokazałeś następnym przestępcom, że takie fora istnieją i oni teraz będą ich szukać, Ty to dopiero jesteś zły!
Pozdrowienia dla KRANGA. jestem Twoim wyznawcą.
A z podręczników biologii należy usunąć opis rozmnażania ssaków bo przecież ktoś może tej wiedzy użyć podczas gwałtu.
W jaki sposób? Założy gumkę?
Sugerujesz że tłumaczenie gwałcicielom żeby nie zostawiali odcisków palców jest ok? To jest powszechnie znany fakt. Mimo to uważam że podpowiadanie gwałcicielowi jak chronić się przed konsekwencjami swoich czynów nie jest właściwe.
przepraszam, że się wtrącę – jako autor tego artykułu. Przekazane w artykule metody, maja za zadanie – pokazać ryzyko, z jakim wiąże się posiadanie danego oprogramowania/sprzętu. Cel edukacyjny i informacyjny jest jak najbardziej spełniony.
Niestety lub stety – ale wiedza informatyczna to podobnie jak nóż produkt podwójnego zastosowania. Mało kto wie, ale taki produkt jak szyfrowanie dysku to również produkt podwójnego zastosowania do ochrony informacji (zgodnie z załącznikiem nr 1 do Rozporządzenia Rady (WE) nr 428/2009, część 2 kategorii 5), i jego import/export np w Polsce wymaga złożenia oświadczenia do ABW.
Demokracja amerykańska to fikcja i to nie od teraz ale od II Wojny Światowej. Dlatego społeczeństwo musi patrzeć na ręce rządom i politykom. Kłamstwo to norma dla nich!
Dlaczego tak wielu uczciwych ludzi walczy o prawdę? Masz przykład w Polsce esbeckie mendy ciągle nie rozliczone!
Ja też się dołączę do dyskusji i dostajesz ode mnie ocenę „niedostateczny” z hakierstwa, he he he!
.
I przestań skakać do Adama, bo jak ci się nie podoba Z3S, to przenieś się do Karachana xD!
.
I jeszcze jedno: zanim znów napiszesz jakąś bzdurę na forum, co najmniej 2 razy się zastanów nad sensem tego co piszesz. Bo teraz po tym co napisałeś, zostałeś forumowym durniem! Nie wstyd ci? Na twoim miejscu, zmieniłbym nicka i zaczął wszystko od nowa, z nowym nickiem, z czystym kontem, możesz znów wejść do gry. Tylko nie zapomnij wchodzić od teraz na Z3S przez proxy lub TOR-a, bo Adam będzie pamiętał twoje stare IP i maskowanie nie wyjdzie, xD!
Hahaha. Równie dobrze można o to oskarżyć wielu profesorów, którzy piszą podręczniki do kryminalistyki. Zazwyczaj nie uświadczysz ich dzieł na półce w księgarni, ponieważ zainteresowanie przestępców jest tak duże, że wykupują od razu cały nakład. Gdyby jednak takie książki nie były wydawane, to wcale liczba niewykrywalnych przestępstw by nie spadła. Wręcz przeciwnie, to organy ścigania nie miały by tej wiedzy, a świat przestępczy wymianiałby się nią w inny sposób. Jeszcze za komuny milicja znajdowała wiele takich specjalistycznych podręczników, np. dla włamywaczy. Proponowałbym zatem odejść od mitu wiedzy zakazanej i traktowania każdego jak potencjalnego przestępcę.
To wszystko tylko dlatego, ze rządy i politycy mogą nas kontrolować a nie powinni!
Dlatego musimy się zabezpieczyć bo inaczej ubezwłasnowolnia wszystkich!
Tym rozumowaniem idąc dalej zakazać oglądać serial kryminalne zagadki las vegas itp bo przestępca coś wykorzysta. Rozbawiła mnie ta teoria prawie jak pani z przedszkola.
mr. „x” napisał: „odpowiadając na posty użytkowników, którzy jawnie przyznają się do popełniania przestępstw […] bezpośrednio pomagasz przestępcom.”
Aresztuj najpierw wszystkich adwokatów, obrońców, doradców. Oni też dostarczają informacji przestępcom jak uniknąć kary, jak się wybronić, co mówić, kiedy mówić, czy mówić w ogóle, itd. prawda?
Wniosek? Udzielenie informacji (tym bardziej jawnej) nie jest przestępstwem ani pomocą przestępcom. Nawet gdyby to była informacja o tym 'jak zrobić bank’. Nie jest, i wbij sobie to do głowy jeśli sam nie potrafisz poszukać infomacji na temat legalności. Nielegalne by było dopiero nakłanianie lub pomoc bezpośrednia.
Przekonaliście mnie. To że z3s podpowiada przestępcom żyjącym z okradania innych np. za pomocą przekrętów na allegro. Przy użyciu schematu:
– włamanie na skrzynkę pocztową,
– wyszukanie konta allegro powiązanego z tą skrzynką,
– wystawienie aukcji, przyjęcie wpłat od użytkowników na konto na słupa,
– przelanie kasy na giełde bitcoinów na konto zarejestrowane na skany dowodów osobistych wykradzionych ze skrzynek pozyskanych z wycieków baz danych i wyprowadzenie kasy.
Nie wiem jak mogłem w ogóle myśleć że zarejestrowanie się na forum gdzie tacy ludzie wymieniają się wiedzą i pomaganie im w zabezpieczaniu takich takich przekrętów jest wątpliwe etycznie. Wszystko jest wporzo.
@bmpte
„Udzielenie informacji (tym bardziej jawnej) nie jest przestępstwem ani pomocą przestępcom. Nawet gdyby to była informacja o tym ‚jak zrobić bank’”
„pomóc” z sjp: „przyczynić się do czegoś, ułatwić coś”
Nie wiem jak dla Ciebie, ale dla mnie informacja „jak obrobić bank” jak najbardziej ułatwia obrobienie banku.
Udzielanie informacji na forum dla allegrowych oszustów raczej nie jest nielegalne, ani strasznie złe, ale przyznam, że nie spodziewałem się tego po autorze mojego ulubionego bloga.
@Duży Pies
Dodaj jeszcze więcej wykrzykników, emotek i wyzwisk i trochę mniej argumentów (oh wait, żadnych nie było), to na pewno zaczniesz być brany na poważnie.
Nie pyskuj!
Do budy!
Chciałem tylko poprosić wszystkich krytyków aktywności na ToRepublic o wskazanie, w którym konkretnie z moich 3 czy 4 wpisów „pomogłem przestępcom” i w jaki sposób.
PS. Zadanie na „6” – uzasadnij konieczność zablokowanie dostępu z sieci Tor do z3s w imię walki z przestępczością internetową.
Z3S to fajny portal, nie psujmy forum jakimiś absurdalnymi zarzutami człowieka mającego problem z perpecją rzeczywistości i właściwą oceną. Ta dyskusja od początku była żenująca na maxa. Najlepiej ją po prostu uciąć i nie karmić trolla. Jak koleżce tak się tutaj nie podoba, to niech idzie na inny mniej „przestępczy” portal.
.
End of transmission!
Jeszcze im zbyt wiele nie pomogłeś. Nie chodzi też o to żeby tam się nie udzielać. Dzięki temu trochę ciekawych informacji możesz wyciągnąć ku zadowoleniu czytelników. Ale nie dawaj tym przestępcom na tacy informacji, które wykorzystają niezgodnie z prawem. Nie ułatwiajmy im ich działalności.
@zygfryd, racja, szczególnie że w Polsce mamy domniemanie niewinności, a jak wiadomo siedziba internetu jest w warszawie ;)
Komentując artykuł, świetny, może coś więcej o enklawie bezpieczeństwa w następnym?
Jestem zupełnie nowym czytelnikiem na tej stronie i jedyny powód, dla którego tu będę wracał to konkretne, techniczne wyjaśnienie metody prowadzonych badań.
W kwestii złego lub dobrego wykorzystania wiedzy – „… bronią może stać się nawet łyżeczka do herbaty jak się jej nie będzie używać zgodnie z przeznaczeniem … :)”
Hej, a jaki to jest sprzęt w tej tabelce i jakie jest źródlo? To jest GPU+oclHashcat?