Spisu treści:
Nowy problem bezpieczeństwa (CVE-2016-0728 dla tych, którzy lubią śledzić te rzeczy) został ogłoszony 14 stycznia przez zespół badawczy ds. Bezpieczeństwa Perception Point. Błąd wpływa na jądra skompilowane z przełącznikiem konfiguracji jądra CONFIG_KEYS ustawionym na „on” i jest obecny we wszystkich jądrach Linuksa od wersji 3.8. Exploit pozwala na eskalację katalogu głównego poprzez przywrócenie 32-bitowej liczby całkowitej do zera. Punkt percepcji twierdzi, że dotyczy to „około dziesiątek milionów komputerów i serwerów z systemem Linux oraz 66 procent wszystkich urządzeń z Androidem”.
Adrian Ludwig z Google, główny inżynier ds. Bezpieczeństwa Androida, odpowiedział, że exploit został załatany i udostępniony na licencji open source od 20 stycznia.
Jak zawsze, wciąż jest mnóstwo pytań. Porozmawiajmy o nich.
Co się dzieje?
W jądrze Linuksa (w wersji 3.8 i nowszej) występuje błąd, który umożliwia osobie atakującej uzyskanie dostępu do konta root. Jądro musi zostać zbudowane z włączoną usługą Keyring, a atak musi wykonać wiele obliczeń matematycznych, aby liczba była tak wysoka, jak to tylko możliwe, a następnie wrócić do zera. Potrzeba 4 294 967 296 obliczeń, aby ponownie wyzerować 32-bitową liczbę całkowitą (dwa do 32-tej mocy). Zajmuje to około 30 minut na zupełnie nowym procesorze Intel i7, ale zajęłoby to znacznie dłużej (jak o wiele dłużej) na procesorze telefonu.
Gdy liczba zmieni się całkowicie (pomyśl o tym, jak automat do gry pinball wraca do zera, gdy twój wynik osiągnie 999, 999, 999) i wraca do zera, atakujący może uzyskać dostęp do przestrzeni pamięci i wykonać kod jako superużytkownik.
Powinieneś się martwić?
Zawsze powinniśmy się martwić, gdy pojawi się exploit bezpieczeństwa. Tym razem nie jest inaczej. Ale jest tu kilka rzeczy, które sprawiają, że wielu kwestionuje liczbę potencjalnie dotkniętych urządzeń.
- Zalecana konfiguracja jądra dla urządzeń z Androidem nie ma włączonej zmiennej CONFIG_KEYS, a to oznacza, że ten exploit nie przyniesie żadnego efektu. Osoby, które wyprodukowały Twój telefon, mogły go włączyć, a także niestandardowe kuchenki ROM.
- Nie ma to wpływu na wszystkie telefony Nexus - używają domyślnej konfiguracji jądra, a kluczowanie nie jest włączone w jądrze.
- SELinux neguje wektor ataku, więc jeśli Twój telefon lub tablet ma system Android 5.0 lub nowszy, nie powinieneś mieć na niego wpływu.
- Większość urządzeń, na których nie działa system Android 5.0 lub nowszy, będzie używać starszej wersji jądra systemu Linux i nie będzie to miało wpływu.
Tak, ten exploit ma wpływ na wiele komputerów, telefonów i tabletów. Wątpimy jednak w liczby, które podał Punkt Percepcji.
Nie możemy przeprowadzić audytu wszystkich 11 000 różnych modeli androidów, ale możemy skierować wszystkich z większą liczbą pytań na odpowiednie forum urządzeń. Krótko mówiąc, jeśli korzystasz z Lollipop, jesteś bezpieczny. Jeśli nie, spójrz na ekran Informacje o urządzeniu i sprawdź wersję jądra. Jeśli jest wcześniejszy niż 3.8, jesteś bezpieczny.
Co powinienem zrobić?
Jest to jeden z tych problemów związanych z bezpieczeństwem, które mogą być wykorzystane przez aplikację - pod warunkiem, że Twój telefon jest podatny na zagrożenia, o czym mówiliśmy powyżej. Ponieważ wiąże się to z licznymi obliczeniami, musiałbyś mieć złą aplikację działającą na pierwszym planie przez długi czas, więc coś w rodzaju gry byłoby dobrą aplikacją do próby włamania się do exploita.
Aby zachować bezpieczeństwo, nie instaluj aplikacji, którym nie ufasz. Zawsze.
Jeśli nie masz pewności, komu możesz zaufać, upewnij się, że nie zezwalasz na instalowanie aplikacji z nieznanych źródeł i trzymaj się Google Play.
Naprawdę tak łatwo jest być w 100 procentach bezpiecznym od tego.
Co z aktualizacjami exploitów?
Ludwig Google'a powiedział, że łatka została wydana 20 stycznia na open source i dostarczona wszystkim partnerom. Producenci będą musieli dołączyć tę poprawkę, aby była zgodna z poziomem poprawki zabezpieczeń z 1 marca 2016 r. I później.