Predator sieje spustoszenie. Smartfony z iOS zagrożone
Oprogramowanie szpiegowskie Predator potrafi pokonać warstwę zabezpieczeń iOS, dzięki której wiemy, że aplikacje wykorzystują mikrofon i kamery. Sposób obejścia sugeruje, że obecne zabezpieczenia są niewystarczające.
Badacze Jamf opisali, że Predator obchodzi wskaźniki nagrywania w iOS, które od lat sygnalizują użycie kamery (zielona kropka) i mikrofonu (pomarańczowa kropka). Narzędzie działa po uzyskaniu uprawnień na poziomie jądra i przechwytuje sygnały aktualizujące interfejs, przez co kontrolki nie pojawiają się na ekranie. Kluczowy ma być moduł HiddenDot, który integruje się z warstwą odpowiedzialną za ekran główny systemu.
Jak Predator ukrywa wskaźniki nagrywania w iOS?
Jamf wskazuje na hook (HiddenDot::setupHook()') w aplikacji SpringBoard odpowiedzialnej za działanie interfejsu systemu. Gdy aparat lub mikrofon się aktywują, funkcja przecina przepływ danych o zmianie statusu czujników.
Co z tą sztuczną inteligencją? O szansach i zagrożeniach
Predator przechwytuje wywołanie _handleNewDomainData:, po czym zeruje obiekt SBSensorActivityDataProvider. Połączenia do pustego obiektu Objective-C są ignorowane, więc SpringBoard nie rejestruje ruchu i nie wyświetla kropek. To obejście jednocześnie wycisza wskaźniki dla obu sensorów, bo dostawca agreguje cały ruch.
Moduł Predatora przechwytuje także połączenia wykonywane przez VoIP. Nie ma jednak osobnego mechanizmu dla tej ścieżki – polega nadal na HiddenDot, który ukrywa wizualny ślad na interfejsie. Dodatkowy komponent wyszukuje wewnętrzne funkcje aparatu wzorcami instrukcji ARM64, a następnie przekierowuje Pointer Authentication Code (PAC). Dzięki temu omija systemowe sprawdzanie uprawnień dostępu do kamery i nagrywa treści.
Choć dla użytkownika aktywność pozostaje niewidoczna, Jamf opisuje artefakty w systemie: nieoczekiwane mapowania pamięci lub porty wyjątków w SpringBoard i mediaserverd. Analitycy wspominają też o plikach dźwiękowych zapisywanych przez mediaserverd w nieoczekiwanych lokalizacjach. To może sugerować działanie modułów odpowiedzialnych za nagrywanie i strumieniowanie.
Jamf zauważył również nieaktywny fragment próbujący wykorzystać SBRecordingIndicatorManager. Ten kod miał wyglądać na porzucony kierunek rozwoju na wczesnym etapie i nie ma wpływu na działające obejście. Apple, do czasu publikacji analizy, nie odniosło się do ustaleń badaczy.