Zespół badawczy firmy Check Point Software Technologies odkrył, iż większość smartfonów LG była narażona na ataki hakerów.  Słabe punkty – klawiatura systemowa – dotyczą urządzeń LG, które stanowią ponad 20% rynku Androida w USA. Badania dowiodły, że można było je wykorzystać we flagowych urządzeniach LG, takich jak G4, G5 oraz LG G6.

Firma Check Point odkryła zagrożenie wynikające z niewłaściwie zabezpieczonej aplikacji klawiatury systemowej już kilka miesięcy temu. Zaraz po wykryciu luk firma poinformowała LG, które – jak zapewnia Check Point – podjęło szybkie działania i wprowadził stosowne poprawki (LG połączył te dwa podatności w jedną łatkę – CVE – CVEXXX).

Obydwie podatności mogły zostać wykorzystane do uzyskania dodatkowych uprawnień na urządzeniach mobilnych LG poprzez manipulowanie procesem aktualizacji klawiatury, włączenie keyloggera i tym samym uzyskanie wrażliwych danych jak np. wszelkie informacje uwierzytelniające (hasła, loginy).

Pierwsza podatność

Eksperci Check Pointa wskazują, że pierwsza z podatności znajdowała się w opcji obsługi pisma odręcznego. Klawiatura ta działa w różnych językach, przy czym domyślnie zainstalowany jest język angielski. Po zainstalowaniu nowego języka lub aktualizacji istniejącego, urządzenie dociera do zakodowanego serwera, z którego pobiera pożądany plik językowy. Pobieranie to odbywa się jednak za pośrednictwem niezabezpieczonego połączenia HTTP, narażając je na ataki typu Man-in-The-Middle i inne manipulacje. Atak taki może spowodować pobranie przez urządzenie złośliwego pliku zamiast pliku językowego, który zamierzało pobrać.

Druga podatność na zagrożenia – Manipulacja lokalizacyjna

Lokalizacja pobranego pliku na dysku jest kontrolowana przez proxy MITM. Co ważne, lokalizacja pliku zasobu zależy od nazwy pliku, jak np. files.txt, będący plikiem metadanych. Dzięki mechanizmowi trawersowania ścieżki, nazwa ta może być traktowana jako lokalizacja i modyfikowana do dowolnej innej ścieżki w sandboksie pakietu klawiatury LG.

Aplikacja klawiatury LG zakłada wtedy, że macierzysty plik „lib” może być częścią pakietu językowego i udziela uprawnień dla wszystkich pobranych plików z rozszerzeniem.so. Tak więc, jeśli plik metadanych zostanie rozszerzony o plik .so, wpis do pliku fałszywej biblioteki zostanie oznaczony na dysku jako tzw. plik wykonywalny, pozwalając na wstawienie dowolnych poleceń w aplikacji klawiatury!