Исследователи компании Nightwatch Cybersecurity раскрыли подробности об уязвимости в Android, позволяющей следить за местонахождением пользователей. С помощью уязвимости (CVE-2018-9581) злоумышленник вблизи Wi-Fi маршрутизатора может отслеживать передвижение пользователей в зоне действия сигнала беспроводной сети.
Проблема связана с утечкой информации через межпроцессное взаимодействие. Как правило, на Android-устройствах приложения отделяются операционной системой как друг от друга, так и от самой ОС. Тем не менее, в случае необходимости они могут обмениваться информацией между собой с помощью специальных механизмов.
Один из таких механизмов предполагает использование объекта обмена сообщениями Intent. С помощью Intent приложение или сама ОС может отправлять сообщения, распространяющиеся на всю систему, которые могут "слушать" другие приложения. При отсутствии надлежащих ограничений доступа к этому механизму вредоносные приложения могут воспользоваться им для перехвата информации, доступа к которой у них быть не должно.
Как пояснили в Nightwatch Cybersecurity, существуют специальные функции, позволяющие ограничивать доступ к сообщениям Intent, однако разработчики приложений часто ими пренебрегают. В результате возникает распространенная уязвимость, позволяющая вредоносному приложению следить и перехватывать сообщения, предназначенные для других приложений на одном с ним устройстве.
В случае с CVE-2018-9581 вина лежит на разработчиках самой ОС. По словам исследователей, Android регулярно транслирует информацию о подключении Wi-Fi с помощью двух объектов Intent. В частности, ОС сообщает всем приложениям данные об индикаторе мощности принимаемого сигнала (RSSI), который не всегда совпадает с транслируемым сигналом.
Чем ближе мобильное устройство к маршрутизатору, тем сильнее сигнал. Поскольку данные о RSSI транслируются на всю систему, вредоносное приложение может использовать их для определения местоположения пользователя относительно маршрутизатора. Таким образом, с помощью уязвимости начальник, например, может следить за сотрудниками в офисе и знать, как часто и как надолго они отходят от своего рабочего места. Кроме того, данные о текущем расположении жителей в доме будет на руку грабителям.
Уязвимость затрагивает все версии Android, однако неизвестно, планирует ли Google выпускать патч. Сведений о реальных атаках с ее использованием пока нет.
Межпроцессное взаимодействие – обмен данными между потоками одного или разных процессов. Реализуется посредством механизмов, предоставляемых ядром ОС или процессом, использующим механизмы ОС и реализующим новые возможности для взаимодействия.