Злоумышленник может проникнуть в ваш телефон и совершить телефонный звонок

Представьте себе, что вам на мобильный телефон звонит ваш друг и спрашивает, когда же вы вернете ему деньги, которые он вам перечислил на счет. Проблема в том, что вы его никогда об этом не просили. Да и сумма, мягко говоря, весьма приличная. По его рассказам оказывается, что вы лично, взволнованный и впопыхах, звонили ему вчера и просили срочно перевести эти деньги на счет. Но номер счета вам совершенно не знаком. А звонили вы вашему приятелю с собственного мобильного телефона (номер у него определился). Вы смотрите исходящие звонки: действительно вы звонили вчера. Проблема только в том, что вы этого не делали и точно уверены, что мобильный телефон из рук не выпускали.

А представьте, что буквально через полчаса с аналогичной просьбой звонит еще один ваш приятель и задает те же вопросы. Конфуз.

А что если то же самое произошло бы немного по другому сценарию: скажем ‘вы’ звонили не другу, а вашему неприятелю с оскорблениями? Причем ваш номер явно высветился на экране мобильного телефона человека, которого вы, сами не зная того, оскорбили. В большинстве случаев такого повода может хватить для весьма неприятных ответных действий.

Еще хуже выглядит ситуация в случае, если злоумышленник позвонит в местное отделение милиции с угрозами или, что еще хуже, с ложным предупреждением о том, что некоторое здание в центре города заминировано. Солидный штраф и другие суровые меры наказания обеспечены.

С вашего мобильного телефона могут позвонить в любой момент на произвольный номер, а вы об этом даже не будете знать, хотя и не выпускаете телефон из рук и точно уверены, что к нему никто не прикасался.

Одним словом, последствия подобного недоразумения могут быть весьма и весьма далеко идущими. Такое положение дел можно было хоть как-то оправдать, если бы не номер, определившийся на телефоне человека, которому вы позвонили, и если бы в ваших исходящих вызовах не значился этот звонок.

Сценариев, которые может разыграть злоумышленник, имеющий на руках подобный инструмент атаки, может быть множество. Каждый из них в зависимости от воображения злоумышленника может иметь весьма серьезные последствия.

Рассмотрим причины, позволяющие злоумышленнику получить возможность удаленно звонить с вашего мобильного телефона.

Суть атаки заключается в том, чтобы ваш телефон воспринял Bluetooth-гарнитуру злоумышленника как свое авторизованное внешнее устройство.

Для осуществления описанных действий злоумышленник использует уязвимость телефонов, проявляющуюся при передаче сообщений формата vCard. vCard — это электронная визитка, в которой содержится информация о человеке: его имя, фамилия, номер телефона, дата рождения и другие данные, формат сообщений vCard напоминает XML и является универсальным для всех телефонов. Подчеркнем тот факт, что прием сообщений vCard на ряде моделей разрешен от любого пользователя, причем не обязательно авторизованного. Делается это для того, чтобы любой желающий мог послать информацию о себе на произвольный телефон. На основе информации из vCard по задумке создателей мобильных телефонов пользователь должен сделать вывод о человеке,  приславшем сообщение. Если прочитанная информация об абоненте вызвала доверие, то пользователь может разрешить прием сообщений от него без осуществления авторизации при последующих соединениях.

Опишем механизм работы с vCard более подробно. Когда удаленное устройство пересылает телефону пользователя сообщение формата vCard, он распознает его именно как vCard. После этого мобильный телефон временно присваивает незнакомому удаленному устройству статус авторизованного.

Это означает, что мобильный телефон пользователя полностью «доверяет» авторизованному устройству при обмене информацией по Bluetooth. Устанавливается такой статус лишь на время передачи сообщения vCard. После того, как сообщение прочитано, устройство исключается из списка авторизованных.

Уязвимость же такого механизма заключается в том, что если передача vCard вдруг будет прервана, то запись о передававшем устройстве остается в списке авторизованных аппаратов и не удаляется мобильным телефоном.

Для того чтобы осуществить такую атаку злоумышленник, как правило, создает некоторую утилиту, которая делает несколько попыток отправить на атакуемый телефон сообщение vCard и прерывает эту передачу во время непосредственной отправки сообщения. Одной из основных особенностей данной атаки является своевременный разрыв соединения.

Итак, рассмотрим реализацию данной атаки более подробно. Злоумышленник может вести атаку, используя ноутбук с установленной операционной системой UNIX. Он инициирует соединение через OBEX Push Profile, симулируя посылку vCard. При инициировании отправки злоумышленник устанавливает адрес Bluetooth-адаптера на ноутбуке, идентичный адресу своей Bluetooth-гарнитуры.

Хотя разработчики стандарта Bluetooth подразумевали, что все устройства Bluetooth имеют свой уникальный адрес, но уникальная гибкость настроек операционной системы UNIX позволяет злоумышленникам устанавливать произвольные адреса Bluetooth-устройств вручную. Для этого устанавливается в файле /etc/bluetooth/conf.conf требуемый адрес устройства и перезагружается служба Bluetooth. После начала отправки vCard атакующий компьютер с требуемым адресом инициирует прерывание процесса отправки. После этого адрес атакующего устройства сохраняется в списке авторизованных устройств на атакуемом телефоне.

Для подобной атаки используется утилита obexapp из пакета Bluez. Приведем пример запроса на отправку сообщения типа vCard с помощью утилиты obexapp. Данная команда набирается в консоли UNIX системы.

# obexapp -а 00:80:37:29:19:а4 -С OPUSH
obex> put user.vcard

В качестве параметров утилите передается адрес атакуемого устройства (-а 00:80:37:29:19) и опция OPUSH, указывающая на то, что следует передать некий файл на устройство с указанным ранее адресом. После того, как данная команда будет исполнена, на экране появится приглашение к определению файла для передачи.

В ответ на данное приглашение злоумышленник может ввести команду put user.vcard, указывающую на то, что на телефон с указанным адресом требуется передать файл vcard.

Если после прерывания данного вызова адрес устройства злоумышленника не окажется в списке авторизованных устройств, то он может несколько раз повторить процесс отправки-прерывания, пока устройство не сработает нужным для него образом.

Следующим шагом атаки является получение контроля над устройством. Для этого используется профиль «headset profile», разработанный для того, чтобы управлять телефоном через гарнитуру Bluetooth.

При этом злоумышленник подключается через канал данного профиля, используя тот факт, что он занесен в список «доверенных» устройств, и авторизация со стороны атакуемого устройства не последует. То есть, злоумышленник стремится узнать, по какому каналу у атакуемого телефона находится данный профиль. Затем злоумышленник подсоединяется по выделенному каналу и инициирует звонок, якобы через Bluetooth-гарнитуру. Так как адрес гарнитуры находится в списке «доверенных» устройств атакуемого телефона, то злоумышленник достигнет своей цели.

Защититься от атаки при Bluetooth-передатчике, работающем в активном режиме, практически невозможно. Единственной рекомендацией является перевод Bluetooth в скрытый режим, чтобы злоумышленнику труднее было обнаружить телефон. Отметим, что даже в скрытом режиме и если телефон выключен, злоумышленник все равно может осуществить атаку.