"Убийца SMS" имеет многочисленные уязвимости
19/12/19
Протокол RCS, который должен прийти на смену SMS, внедряется на Android-смартфонах небезопасным способом. Об этом сообщили в Лондоне на конференции Black Hat исследователи безопасности из компании SRLabs, пишет Wired.
Внедрением протокола занимается Google — компания объявила о его запуске в ноябре 2019 г. — и некоторые операторы связи. При этом они допускают ошибки, благодаря которым злоумышленники смогут перехватывать текстовые сообщения и звонки, осуществляемые по RCS, а также изменять их содержание. Для этого хакеру достаточно просто подключиться к тому же Wi-Fi, которым пользуется жертва, и использовать несколько простых трюков.
По словам основателя SRLabs Карстена Нола (Karsten Nohl), специалиста по уязвимостям в телефонных системах, RCS не более безопасен, чем протокол SS7, который был разработан еще в 70-х гг. и до сих пор используется операторами для передачи звонков и сообщений. Напомним, этот протокол давно известен своей уязвимостью к перехвату данных, поэтому сервисы типа iMessage и WhatsApp вынуждены устранять эту проблему с помощью сквозного шифрования.
Нол утверждает, что Google перенесла в RCS все проблемы SS7. Поэтому существующая на данный момент реализация RCS делает его ненамного безопаснее системы SMS, которую протокол должен заменить. На конференции исследователи из SRLabs привели примеры нескольких уязвимостей, появившихся в ходе реализации RCS операторами связи и Google.
Какие возможны атаки
Одна из уязвимостей заключается в следующем. Телефон подает для аутентификации на RCS-сервере оператора связи свои учетные данные, и в дальнейшем сервер использует его IP-адрес и номер телефона в качестве идентификаторов. Благодаря этому злоумышленник, который знает номер телефона пользователя и подключен к тому же самому Wi-Fi, может выдать себя за этого пользователя с помощью этих идентификаторов. В качестве хакера здесь может выступать коллега который пользуется тем же самым офисным Wi-Fi, или просто человек, сидящий за соседним столиком в кафе.
Кроме того, исследователи показали, что нынешние имплементации RCS уязвимы к атакам типа «человек посередине». Если хакер контролирует вредоносную сеть Wi-Fi или сеть интернет-провайдера, он может изменить доменное имя системного запроса, который используется телефоном для поиска RCS-сервера, передающего данные от отправителя к получателю.
Приложение Android, предназначенное для обмена сообщениями по RCS, конечно, проверяет поступающие от серверов TLS-сертификаты, но на деле его устраивает любой действительный сертификат. То есть, это довольно бессмысленная проверка — как если бы охранник сверял лицо посетителя с фотографией на его документах, вместо того чтобы проверить, есть ли его имя в списке, пояснил Нол.
Еще одна уязвимость связана с получением первоначальных настроек RCS-устройств. Когда телефон впервые регистрируется в системе RCS, он скачивает файл конфигурации с учетными данными. Но чтобы скачать этот файл, устройству достаточно идентифицировать себя с помощью IP-адреса, который у оператора будет ассоциироваться с этим телефонным номером. В итоге любая вредоносная программа, которая работает на телефоне, может войти в систему с этого IP-адреса, украсть учетные данные и начать выдавать себя за этого пользователя.
Операторы связи пытаются защититься от этого, высылая на телефон одноразовый пароль. Но в SRLabs обнаружили, что некоторые операторы не ограничили количество попыток угадать этот пароль. Чтобы его подобрать, у хакера уйдет около пяти минут. После этого он сможет украсть файл конфигурации и начать перехватывать все сообщения и звонки пользователя, осуществленные по RCS.
GSM Association, которая занимается разработкой RCS, сообщила, что уже решила некоторые из этих проблем, но не уточнила, какие именно. Ассоциация настаивает, что это проблемы только реализации, а не самого протокола. Нол на это отвечает, что в таком количестве проблемы имплементации уже становится проблемами самого стандарта, особенно с учетом того, что его внедрение к настоящему моменту охватило около миллиарда пользователей.
Что такое RCS
Rich Communication Services (RCS) — это протокол обмена данными между операторами сотовой связи, а также между операторами и устройствами, который должен заменить SMS. Протокол начал разрабатываться GSM Association в 2008 г., первый релиз появился 2012 г.
Google и Microsoft обеспечили его поддержку в Android и Windows 8. В 2016 г. с появлением первого универсального профиля RCS (GSMA Universal Profile 1.0) к инициативе присоединились 47 операторов и 11 производителей техники. RCS известен также под названиями Advanced Messaging, Advanced Communications, joyn, Message+ и SMS+.
В отличие от SMS новый протокол позволяет не только обмениваться отдельными сообщениями, но и вести чаты на двух и более пользователей, обмениваться файлами и контентом, использовать IP-звонки и видеозвонки, обмениваться геолокационными данными, отсылать аудиосообщения, вести черный список и др. RCS не обеспечивает сквозное шифрование.