неавторизованное проникновение в мобильное устройство

Одна из распространенных атак использует возможность неавторизованного проникновения в мобильное устройство жертвы с целью скрытой передачи файлов. Эта атака похожа на другие, использующие уязвимость Bluetooth. Различие между ними состоит в том, что используется не уязвимость при получении файлов с телефона, а уязвимость при их передаче. Механизм подобного проникновения использует уязвимость FTP-сервера OBEX, который часто устанавливается на сотовый телефон некоторых производителей вместо описанного ранее стандартного ОВЕХ-протокола. Подобный сервер позволяет поддерживать функциональные возможности, во многом схожие со стандартным FTP-протоколом. Особенностью уязвимых OBEX FTP-серверов в мобильных аппаратах является возможность неавторизованного доступа с последующим выполнением таких действий как создание, редактирование и удаление файлов. При этом файлы могут располагаться и в памяти телефона, и на внешних носителях, таких как memory stick или SD.

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

Для программной реализации он использует набор функций свободно распространяемой библиотеки ObexFTP операционной системы типа UNIX. Итак, рассмотрим фрагменты вредоносной программы, которые позволяют понять принцип скрытого проникновения в мобильный телефон жертвы.

Начинается программа злоумышленника с инициализации клиента OBEX FTP на своем компьютере. Происходит это с помощью следующей команды:

obexftp_client_t *cli = NULL;

После того как клиент инициализирован, злоумышленник осуществляет открытие устройства с помощью команды obexftp_open, указывая тем самым на то, что будет осуществляться соединение через Bluetooth.

Полный вариант команды выглядит следующим образом:

cli = obexftp_open(OBEX_TRANS_BLUETOOTH, NULL, NULL, NULL);

Для подключения к серверу, находящемуся на мобильном телефоне пользователя, необходимо указать адрес устройства и канала, по которому работает OBEX FTP-сервер:

ret = obexftp_connect(cli, device, channel);

Узнать номер этого канала можно используя данные о модели мобильного телефона. Если подключение прошло успешно, то выполняется запрос на передачу файлов на атакуемое устройство. Делается такой запрос с помощью команды obexftpput:

ret = obexftp_put(cli, pathname, filename);

В параметре filename записывается имя передаваемого файла, а в переменной pathname — каталог на телефоне. Разрыв соединения и отключение от сервера выполняется с помощью следующей последовательности команд:

ret = obexftp_disconnect(cli);
obexftp_close(cli);

Аналогичную атаку злоумышленник может осуществить, не создавая собственного приложения, а используя утилиту obexftp, входящую в стандартный набор утилит библиотек Bluetooth под операционную систему семейства UNIX. Атака может быть произведена с ноутбука.  Обзор нетбук lenovo s100, который тоже может быть использован, вы найдете по ссылке. Утилита obexftp позволяет обращаться к профилю ОРР для доступа к данным телефона.

Фактически, вся атака заключается в вызове утилиты obexftp с определенными параметрами. Рассмотрим данную атаку.

# obexftp -b 00:0A:D9:15:0B:1C -channel 10 -p telecom/pb.vcf

Как видно, злоумышленник определил, что профиль ОРР находится по каналу 10 и указал это в параметрах утилиты с помощью директивы channel. Адрес устройства был передан с использованием параметра -Ь, а указание на то, что с устройства требуется забрать файл pb.vcf было выполнено с использованием директивы -р, что означает команду PUT.

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

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

ЗАЩИТА ОТ АТАКИ

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