Програми Google Camera та Samsung Camera розкрили камеру та відеопрограми стороннім розробникам

Програми Google Camera та Samsung Camera розкрили свої наміри Camera та Video стороннім програмам, що призвело до вразливості обходу дозволів.

Порівняно з iOS, Android надає додаткам багато способів взаємодії один з одним, дозволяючи розробникам створювати деякі з більш поширених функцій Android, які ми звикли очікувати і любимо. Це стало можливим завдяки системі намірів Android, яка дозволяє будь-якій програмі надсилати будь-які наміри, які вона хоче, і дозволяє програмам-одержувачам обробляти ці наміри творчо. Але, як виявилося, програми Google Camera та Samsung Camera залишили доступ до камери та відео для сторонніх розробників. програми, що залишає двері відкритими для потенційного зловживання шляхом обходу критичних дозволів, як продемонстрували дослідники безпеки на Checkmarx.

Наміри на Android описуються як "об’єкти обміну повідомленнями, які полегшують зв’язок між компонентами програми", що простіше означає, що Intent дозволяє програмам надсилати дані одна одній. Наприклад, коли ви намагаєтеся надати спільний доступ до файлу з файлового менеджера до програми, як-от WhatsApp, ви надсилаєте намір у WhatsApp із файлами як даними. Будь-яка програма може надсилати будь-які наміри, які вона хоче, і програма-одержувач сама вирішує, які наміри вона хоче прослуховувати, визначаючи те саме у своєму файлі маніфесту. Програма-одержувач також вирішує, як реагувати на ці наміри. Крім того, програма-одержувач також може гарантувати, що дії виконуються лише тоді, коли надіслано намір певні програми з білого списку (явні наміри) або з програм, які мають певні дозволи (захищені наміри). Як виявилося, незахищені наміри у вищезгаданих додатках камери можуть використовуватися зловмисниками.

Checkmarx виявили, що програми Google Camera і Samsung Camera мали незахищені наміри ініціювати такі дії, як фотографування та запис відео. Незахищений намір у цьому контексті означає, що програма-одержувач не перевіряє, чи має програма, яка надсилає намір, необхідний дозвіл для виконання самої дії -- android.permission. КАМЕРА в цьому випадку. Активність камери, com.google.android. GoogleCamera/com.android.camera. CameraActivity, також була експортованою діяльністю, тобто інші програми могли її викликати. Таким чином, незахищений намір і експортована діяльність призводять до вразливості обходу дозволу.

Таким чином може бути створена шкідлива програма, яка не матиме дозволу CAMERA, але все одно зможе працювати з певними функції камери, направляючи їх через ці програми камери та використовуючи переваги їхніх незахищених намірів і експортуючи діяльність.

Як доказ концепції, Checkmarx створив фіктивну програму прогнозу погоди, яка не мала дозволу CAMERA, але вона постачала з одним дозволом STORAGE, який не здавався несправним для програми погоди. Без дозволу камери програма погоди змогла запустити Google Camera та Samsung Camera для фотографування та запису відео. Дозвіл STORAGE використовується для доступу до цього, а також до всіх інших фотографій і відео, збережених у /DCIM – він не потрібен для дій, пов’язаних із натисканням фотографій і записом відео.

У найгіршому випадку цією вразливістю можна скористатися, щоб записувати відео користувача під час розмови, зчитувати місцезнаходження інформацію з метаданих GPS фотографій, якщо в додатку камери ввімкнено теги розташування (і фактично отримати поточне місцезнаходження телефону), і більше.

Звичайно, інтерфейс користувача вказує на те, що доступ до камери здійснюється, але це також можна вирішити, зробивши використання датчика наближення, щоб визначити, коли дисплей телефону вимкнено, і, таким чином, уникнути доступу користувача уваги. Шкідлива програма також може вимкнути гучність телефону та фактично вимкнути звук пристрою, коли він фотографує чи записує відео.

Checkmarx стверджує, що вразливість, позначена CVE-2019-2234, також існує в додатках камери від інших постачальників смартфонів. Але дослідники не назвали постачальників і пристроїв, які постраждали, крім Google і Samsung. Якщо інші програми камери експортували дії для початку фотозйомки та відеозапису, і незахищені наміри, які не перевіряють наявність дозволу для програми, що викликає, також є постраждали.

Оскільки це не вразливість платформи Android або ядра Linux, її не можна включити та розгорнути як частину Бюлетень безпеки Android. Цю вразливість було усунено в додатку Google Camera через оновлення додатка в липні 2019 року. було виправлено в програмі Samsung Camera, хоча немає конкретної інформації про те, коли було запущено це оновлення поза.

У невиправлених версіях Google Camera ви можете примусово зняти відео через цю вразливість, виконавши таку команду 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

Якщо ви користуєтеся Google Camera або Samsung Camera, переконайтеся, що ви оновили програму камери до останньої версії на своєму пристрої, випущену через Play Store або через OTA, залежно від обставин.