9 Уязвимостей Android нулевого дня
Этичный Хакер
Эксклюзивное исследование обнаружило 9 критических уязвимостей Android VoIP нулевого дня системного уровня, которые позволяют злоумышленникам выполнять вредоносные операции, включая отказ в голосовых вызовах, подделку идентификатора вызывающего абонента, несанкционированные операции вызова, DOS-атаку и удаленное выполнение кода.
Команда ученых и исследователей из Лаборатории кибербезопасности OPPO ZIWU, Китайского университета Гонконга и Сингапурского университета менеджмента обнаружила эти серьезные уязвимости Android и успешно протестировала их в Android версии 7.0 до последней версии 9.0.
VoIP - это новая технология, которая обеспечивает передачу голоса, факсов, SMS и голосовых сообщений на мобильные устройства по IP-сети с коммутацией пакетов. VoIP также поддерживает Android, который включает стандарты VoLTE и VoWiFi.
Исследователи обнаружили эти уязвимости, углубившись в безопасность VoIP на системном уровне, чтобы проанализировать стек протоколов Android VoIP и все его четыре поверхности атаки.
Все 4 поверхности атаки, обнаруженные исследователями, позволят злоумышленникам физически, локально, удаленно атаковать близлежащие поверхности против устройств Android VoIP.
Большая часть исследований была сосредоточена на новом подходе к оценке уязвимостей, называемом фаззингом, автоматизированном методе тестирования программного обеспечения, который включает предоставление неверных, неожиданных или случайных данных в качестве входных данных. Относительно к этому исследованию подходили с помощью фаззинга Intent / API, фаззинга пакетов на стороне сети и целевого аудита кода.
Исследователи обнаружили 2 уязвимости с помощью метода фаззинга на устройстве, 4 уязвимости были обнаружены с помощью фаззинга на стороне сети, а остальные 3 уязвимости были обнаружены с помощью аудита кода.
Из 9 уязвимостей Android нулевого дня восемь из них были признаны системными уязвимостями и признаны Google наградами за ошибки, а одна уязвимость затронула стороннее приложение 3rd.
Почти 6 уязвимостей могут быть использованы сетевым злоумышленником, что позволяет локальным и удаленным злоумышленникам использовать Android VoIP, а 7 из 9 уязвимостей отмечены Google как “Критические” и “Серьезные”.
Две удаленные уязвимости могут срабатывать только тогда, когда телефон подключен к ближайшему устройству HFP (профиль громкой связи) на базе Bluetooth.
Давайте рассмотрим все 9 уязвимостей нулевого дня
1. Злонамеренный запуск VoIP-вызова в приложении VK (низкий)
Уязвимость находится в типе данных vk.voip, а наличие экспортируемого компонента LinkRedirActivity позволяет локальному злоумышленнику напрямую совершать VoIP-звонки в учетную запись пользователя VK, установив вредоносное приложение без согласия пользователя, и даже экран мобильного телефона выключен.
По словам исследователей, “пользователь-жертва мог подслушивать, если учетная запись вызываемого абонента VK была настроена на учетную запись, находящуюся под контролем злоумышленника, идея которой похожа на атаку CSRF (подделка межсайтового запроса) в веб-безопасности”. Уязвимость, обнаруженная с помощью метода фаззинга на устройстве.
2. Несанкционированная передача вызовов в интерфейсе IMS (умеренная)
Системная служба Android под названием “QtilMS”, реализованная Qualcomm, предоставила два API-интерфейса VoIP (SendCallTransferRequest и SendCallForwardUncondTimer) для любых сторонних приложений 3rd.
Эти 2 API очень чувствительны и доступны только тем, у кого есть разрешение CALL_PRIVILEGES. Из-за сбоя QtilMS, проверяющей привилегии, любое приложение без разрешения также может вызывать API, а вредоносные приложения злоупотребляют API и выполняют несанкционированную передачу вызовов.
3. Неоспоримый спам VoIP-звонков из-за длинного имени SIP (высокий)
Еще одна интересная уязвимость нулевого дня, обнаруженная исследователями, использующими размывание SIP, чтобы злоумышленник выполнял неоспоримый VoIP-вызов, заполненный очень длинным именем SIP.
Эта атака не позволяет пользователю ни принять участие в вызове, ни отклонить вызов, потому что не будет кнопки для выполнения задачи. исследователи называют это “бомбой для VoIP-звонков”
“Если злоумышленник часто запускает этот неоспоримый спам VoIP-звонков, жертва должна отключить сетевое подключение или выключить свой телефон”
4. Удаленный DoS в телефонии после принятия вызова (высокий)
Удаленная DoS-атака через неверно сформированный файл конфигурации: $./uac.sh -f malformed.cfg, который может привести к сбою телефона Android жертвы, как только он / она примет участие в вызове.
Исследователи сказали: ”Наша фаззинг выявила две слабые стороны в уязвимом модуле телефонии, одна из которых может быть использована для атаки, а другой способ - использовать неверное описание SDP.
5. Удаленное выполнение кода из-за переполнения буфера стека (критическое)
Эта уязвимость RCE может быть запущена злоумышленником только тогда, когда телефон жертвы подключен к ближайшему устройству Bluetooth.
“Таким образом, переполнение буфера стека происходит, когда вводится номер вызывающего абонента, содержащий более 513 байт. Эта уязвимость позволяет злоумышленнику перезаписать адрес возврата функции ClccResponse, вызывая удаленное выполнение кода ”. Google пометил эту уязвимость как “критическую” серьезность.
6. Удаленный DoS через Bluetooth после получения вызова (высокий)
Очень похоже на предыдущую уязвимость, она может срабатывать при изменении состояния вызова BTHF_CALL_INCOMING и только тогда, когда телефон подключен к ближайшему устройству Bluetooth.
По сравнению с DoS в версии 4, для запуска DoS в версии 6 требуется просто получить, а не ответить на вызов, и уязвимость можно исправить, ограничив длину ввода номера вызывающего абонента в модуле Bluetooth.
7. Утечка данных и постоянный DoS из-за обхода пути (высокий)
Исследователи используют эту уязвимость из-за несоответствия между SIP URI и каталогом файлов Android / Linux, и это может привести к постоянному DoS, что также может произойти, если “ip-адрес сервера” настроен на перезапись файла другого системного приложения.
“Из-за этого поддельного файла mmssms.db невозможно создать настоящий и, таким образом, запретить любую функциональность SMS. Только сброс настроек может восстановить телефон ”.
8. Подмена идентификатора вызывающего абонента из-за неправильного синтаксического анализа “&” (высокий)
Эта уязвимость затронула устройства Android из-за несоответствия между URI SIP и PSTN Формат номера (телефонная сеть общего пользования) и связан с определенным символом “&” в номере вызывающего абонента.
В соответствии с соглашением ТСОП ”номер вызывающего абонента с “&”, приложение для набора номера системы обрабатывает номер перед “&” как фактический номер вызывающего абонента, а номер после “&” - как номер перевода вызова “,
Злоумышленник может злоупотребить им, просто добавив символ “&” в конце, что приведет к атаке с подменой идентификатора вызывающего абонента.
9. Подмена идентификатора вызывающего абонента из-за “телефонного контекста” (высокий)
Как и в предыдущей атаке, в этой атаке имеет место еще одно несоответствие из-за “телефонного контекста”, который в основном используется для упоминания префикса телефонного номера.
В этом случае Google автоматически выполняется механизмом CallerID Android, который пытается сопоставить известные телефонные номера или пометить номера спама в обычном сценарии.
“Новая основная причина - несовместимая обработка между вызовами VoIP и PSTN, что приводит к шести уязвимостям VoIP и требует от разработчиков дополнительного внимания при их будущем проектировании и внедрении”. Исследователи пришли к выводу.