Pełne szyfrowanie sprzętowe realizowane przez układy elektroniczne, które współpracują z procesorem i zainstalowanym systemem operacyjnym, stwarzają pozory bezpiecznego ekosystemu odpornego na ataki. Dowiedzieliśmy się o niedostatecznych zabezpieczeniach na urządzeniach, które są zbudowane z komponentów firmy Qualcomm. W szczególności są to smartfony i tablety. Miliony smartfonów i tabletów. Wszystkie są narażone na odzyskanie kluczy kryptograficznych, które są przechowywane w układzie scalonym w obszarze nazywanym Qualcomm Secure Execution Environment (QSEE) w tak zwanej zaufanej strefie Trusted Execution Environment (TEE). Układy te są montowane w setkach milionów urządzeń z Androidem. Cykl życia nowego smartfonu waha się od jednego roku do trzech lat. Po tym czasie producent zwykle nie udostępnia aktualizacji bezpieczeństwa.

Które urządzenia z układami Qualcomm zawierają lukę CVE-2018-11976?

Wszystkie urządzenia z następującymi układami:

IPQ8074, MDM9150, MDM9206, MDM9607, MDM9650, MDM9655, MSM8909W, MSM8996AU, QCA8081, QCS605, Qualcomm 215, SD 210 / SD 212 / SD 205, SD 410/12, SD 425, SD 427, SD 430, SD 435, SD 439 / SD 429, SD 450, SD 615/16 / SD 415, SD 625, SD 632, SD 636, SD 650/52, SD 712 / SD 710 / SD 670, SD 820, SD 820A, SD 835, SD 845 / SD 850, SD 8CX, SDA660, SDM439, SDM630, SDM660, Snapdragon_High_Med_2016, SXR1130

Jak sprawdzić czy urządzenie jest podatne na atak?

Najprościej zainstalować oprogramowanie CPU-Z dla Androida z oficjalnego sklepu:

CPU-Z Qualcomm luka
Nasze redakcyjne urządzenie wykorzystywane do testów jest podatne na ten atak. To Huawei Nova Plus.

Urządzenia Apple są bezpieczne, ponieważ są zbudowane z zupełnie innych komponentów — procesorów ARM Apple z serii A (np. A12 w iPhone XS). Opis szyfrowania w systemie iOS znajduje się w pliku PDF na stronie 15: https://www.apple.com/business/site/docs/iOS_Security_Guide.pdf

Na czym polega atak?

Na kradzieży danych przez złośliwe oprogramowanie z izolowanego obszaru wbudowanego w układ scalony. Obszar ten zwany Qualcomm Secure Execution Environment (QSEE), został zaprojektowany po to, aby zapobiegać właśnie takim sytuacjom, czyli chronić dane właściciela urządzenia przed utratą kontroli. Oznacza to, że luka w układach Qualcomm, ma wpływ na tajność kluczy szyfrowania i haseł, ale nie tylko. QSEE może obsługiwać właściwie wszystko, co deweloper aplikacji chce ukryć przed złośliwym oprogramowaniem albo też narzędziami używanymi do wyodrębniania danych w informatyce śledczej.

Atak jest trudny do przeprowadzenia zdalnie, ponieważ wymaga uprawnień root. Ale zaraz, zaraz... Przecież sklep Google Play zawiera mnóstwo złośliwych aplikacji, które ukrywają się pod płaszczykiem legalnego oprogramowania. Aplikacja korzystająca z QSEE będzie wymieniała dane pomiędzy sobą a systemem operacyjnym w bezpiecznym środowisku, gdzie ani system, ani żadna inna aplikacja nie będzie mogła dotrzeć do tych poufnych danych. Z wyjątkiem głównej aplikacji, która jako pierwsza umieściła w izolowanym obszarze dane. Luka jest bardzo groźna, ponieważ dowolna aplikacja z uprawnieniami root będzie mogła odczytać dane z QSEE.

Badacz, który zgłosił problem poinformował już, że udało mu wyodrębnić 256-bitowe klucze kryptograficzne (ECDSA).

W warunkach laboratoryjnych, ale jednak. Pomogło mu już dostępne narzędzie o nazwie Cachegrab, które stosuje się do analizy zaufanej strefy w procesorach ARM firmy Qualcomm. Ekspert z powodzeniem zaprezentował atak na urządzenie Nexus 5X, które wspiera szyfrowanie sprzętowe.

Atak jest trudny do przeprowadzenia. Prawdopodobnie mało kto zostanie nim dotknięty, ale jest to kolejny argument dla różnego rodzaju trzyliterowych służb przeciwko obywatelom.

Sprzętowa luka w układzie scalonym Qulcomm może być użyta do zdobycia kluczy kryptograficznych bez fizycznej ingerencji w urządzenie czy poprzez próbę deszyfrowania pamięci telefonów, które przypomnijmy, że w Androidzie od wersji 7+ domyślnie szyfrowana jest pamięć urządzenia kluczem przechowywanym w opisywanym obszarze.

Podsumowując. Luka może być wykorzystana do przełamania zabezpieczeń tzw. full disk encryption, a także odzyskania kluczy kryptograficznych z komunikatorów, które wykorzystują sprzętowe generowanie kluczy.  

Co można jeszcze zrobić?

Jeżeli aktualizacja na podatne urządzenie nie jest dostępna, to nic już nie da się zrobić. Trzeba pogodzić się z utratą bezpieczeństwa na stałe albo kupić nowe urządzenie — takie, które będzie długo wspierane. Przy innych poważnych lukach do tej pory nie nastąpiła żadna mobilna apokalipsa, więc i tym razem świat nie będzie panikował.

Większe powody do zmartwień powinni mieć ludzie będący na celowniku policji, służb, obcego wywiadu. Co z tego, że firma Qualcomm wydała aktualizację dla podatności CVE-2018-11976 w kwietniu 2019 roku, skoro do jej udostępnienia potrzebny jest update systemu od producenta smartfonu.

Brak aktualizacji dla Huawei
Aktualizacji dla starszych urządzeń nie ma i nie będzie.

Właściciele urządzeń z systemem Android, którzy korzystają z jednego z wyżej wymienionych układów i używają swojego smartfonu do wrażliwych operacji np. szyfrują komunikację, powinni sprawdzić aktualność zabezpieczeń. W większości przypadków starsze urządzenia takich aktualizacji nie dostaną. Co to oznacza? Każdy kto używa oprogramowania bazującego na kryptografii np. WhatsApp czy Signal naraża się na wyciek kluczy kryptograficznych. Najbardziej prawdopodobna sytuacja wyodrębnienia takich danych to instalacja złośliwej aplikacji, zdalny atak z podniesieniem uprawnień albo fizyczna ingerencja w urządzenie z nakazu prokuratorskiego przez firmę, która będzie w stanie odzyskać dane.  

AUTOR:

Adrian Ścibor

Podziel się

Dodaj komentarz