Aplikacje Google Camera i Samsung Camera udostępniają intencje aparatu i wideo aplikacjom innych firm

Aplikacje Google Camera i Samsung Camera ujawniły swoje zamiary związane z kamerą i wideo aplikacjom innych firm, powodując lukę w zabezpieczeniach umożliwiającą obejście uprawnień.

W porównaniu z iOS, Android zapewnia aplikacjom wiele sposobów wzajemnej interakcji, umożliwiając programistom tworzenie niektórych z bardziej powszechnych funkcji Androida, których oczekujemy i które kochamy. Jest to możliwe dzięki systemowi Intent systemu Android, który pozwala dowolnej aplikacji wysyłać dowolne intencje i umożliwia aplikacjom odbierającym obsługę tych intencji w kreatywny sposób. Okazuje się jednak, że aplikacje Google Camera i Samsung Camera udostępniają dane dotyczące aparatu i wideo osobom trzecim apps, co pozostawia otwarte drzwi do potencjalnych nadużyć poprzez omijanie krytycznych uprawnień, jak wykazali badacze bezpieczeństwa w Sprawdźmarx.

Intencje na Androidzie są opisane jako „obiekty komunikacyjne, które ułatwiają komunikację pomiędzy komponentami aplikacji", co w uproszczeniu oznacza, że ​​Intent umożliwia aplikacjom przesyłanie sobie danych. Na przykład, gdy próbujesz udostępnić plik z poziomu menedżera plików aplikacji takiej jak WhatsApp, wysyłasz zamiar do WhatsApp z plikami jako danymi. Każda aplikacja może wysłać dowolną intencję i to aplikacja odbierająca decyduje, jakich intencji chce nasłuchiwać, definiując to samo w swoim pliku manifestu. Aplikacja odbierająca decyduje również, jak zareagować na te intencje. Co więcej, aplikacja odbierająca może również zapewnić, że działania zostaną wykonane tylko wtedy, gdy zostanie wysłana intencja określonych aplikacji znajdujących się na białej liście (wyraźne zamiary) lub z aplikacji posiadających określone uprawnienia (chronione zamiary). Jak się okazuje, niechronione intencje we wspomnianych aplikacjach aparatu mogą zostać wykorzystane przez złych aktorów.

Sprawdźmarx odkryło, że aplikacje Aparat Google i Aparat Samsung miały niechronione intencje wywoływania takich działań, jak zrobienie zdjęcia i nagranie wideo. Niechroniony zamiar w tym kontekście oznacza, że ​​aplikacja odbierająca nie sprawdza, czy aplikacja wysyłająca zamiar ma wymagane uprawnienia do samodzielnego podjęcia działania -- pozwolenie na Androida. KAMERA w tym przypadku. Aktywność kamery, com.google.android. Kamera Google/com.android.camera. Aktywność aparatu, również było działaniem wyeksportowanym, co oznacza, że ​​inne aplikacje mogły tego wymagać. Niechroniony zamiar i wyeksportowana aktywność prowadzą zatem do luki w zabezpieczeniach umożliwiającej obejście uprawnień.

W ten sposób można by skonstruować złośliwą aplikację, która nie miałaby uprawnień CAMERA, a mimo to mogłaby działać w określony sposób funkcje aparatu, kierując je przez te aplikacje aparatu, wykorzystując ich niechronione zamiary i eksportując działalność.

Jako dowód koncepcji, Sprawdźmarx stworzył fikcyjną aplikację pogodową, która nie miała pozwolenia CAMERA, ale miała jedno pozwolenie na STORAGE, które nie wydawało się nie działać prawidłowo dla aplikacji pogodowej. Bez pozwolenia aparatu aplikacja pogodowa mogła uruchomić Aparat Google i Aparat Samsung w celu robienia zdjęć i nagrywania filmów. Pozwolenie STORAGE ma znaczenie przy uzyskiwaniu dostępu do tego, a także wszystkich innych zdjęć i filmów zapisanych w /DCIM - nie jest potrzebne do klikania zdjęć i nagrywania filmów.

W najgorszym przypadku lukę tę można wykorzystać do takich celów, jak nagrywanie wideo użytkownika podczas połączenia, pobieranie lokalizacji informacje z metadanych GPS zdjęć, jeśli w aplikacji aparatu włączone jest oznaczanie lokalizacji (i skutecznie pobierają aktualną lokalizację telefonu), i więcej.

To prawda, interfejs użytkownika wskazuje, że uzyskiwany jest dostęp do kamery, ale można to również obejść, wykonując polecenie wykorzystanie czujnika zbliżeniowego do sprawdzenia, kiedy wyświetlacz telefonu jest wyłączony, a tym samym do uniknięcia użytkownika uwaga. Złośliwa aplikacja może również wyciszyć głośność telefonu i skutecznie wyciszyć urządzenie podczas robienia zdjęcia lub nagrywania wideo.

Sprawdźmarx twierdzi, że luka, oznaczona jako CVE-2019-2234, występuje również w aplikacjach aparatu innych dostawców smartfonów. Badacze nie podali jednak, jakich dostawców i urządzeń dotyczy problem, poza Google i Samsungiem. Jeśli inne aplikacje Aparatu wyeksportowały działania w celu rozpoczęcia robienia zdjęć i nagrywania wideo i mają niezabezpieczone intencje, które nie sprawdzają uprawnień dostępnych dla aplikacji wywołującej, one również są dotknięty.

Ponieważ nie jest to luka w platformie Android ani w jądrze Linuksa, nie można jej uwzględnić i wdrożyć w ramach pakietu Biuletyn dotyczący bezpieczeństwa Androida. Luka została naprawiona w aplikacji Aparat Google poprzez aktualizację aplikacji w lipcu 2019 r. zostało naprawione w aplikacji Samsung Camera, chociaż nie ma konkretnych informacji na temat daty wprowadzenia tej aktualizacji na zewnątrz.

W niezałatanych wersjach Aparatu Google możesz wymusić nagrywanie wideo poprzez tę lukę, uruchamiając następujące polecenie ADB:

adb shell am start-activity -n
com.google.android.GoogleCamera/com.android.camera.CameraActivity --ez
extra_turn_screen_ontrue-aandroid.media.action.VIDEO_CAMERA--ez
android.intent.extra.USE_FRONT_CAMERAtrue

Jeśli korzystasz z Aparatu Google lub Aparatu Samsung, upewnij się, że zaktualizowałeś aplikację aparatu do najnowszej wersji na swoim urządzeniu, dostępnej w Sklepie Play lub za pośrednictwem OTA, w zależności od przypadku.