Мобильный Криминалист

Разблокирование экрана Android-телефона LG с помощью AT-модема

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

Практически каждый модем является Hayes-совместимым, то есть поддерживающим большинство команд языка AT, разработанного в 1977 году компанией Hayes. Каждая конкретная модель поддерживает лишь основные команды языка Hayes. Набор этих команд определяется производителем. Но в дополнение к нему производитель зачастую добавляет набор своих собственных (и весьма полезных) команд. 

Посмотрим на поведение модема современного смартфона LG. При его подключении к компьютеру автоматически появляется доступ к модему (рис. 1). Интересной особенностью LG смартфонов является то, что модем доступен даже при заблокированном экране. 

Рис. 1

Благодаря данной особенности, посредством AT-команд можно получить некоторую информацию даже из телефона, защищенного экраном блокировки (рис. 2). 

Рис. 2

Чтобы понять, какие команды поддерживает конкретная модель, необходимо изучить прошивку модема. В частности, для Android смартфонов достаточно проанализировать файл /system/bin/atd. На рисунках 3-5 изображены некоторые AT-команды смартфона LG G3 D855, найденные в этом файле. 

Рис. 3

Рис. 4

Рис. 5

Очевидно, что телефон поддерживает большинство команд из стан-дартного набора AT+, и ими можно извлечь некоторую информацию о телефоне (рис. 5). Но наибольший интерес представляют собственные команды LG (команды типа AT%). Этими командами (например, AT%IMEIx, AT%SIMID, AT%SIMIMSI, AT%MEID, AT%HWVER, AT%OSCER, AT%GWLANSSID) можно прочитать общую информацию о телефоне. Но с точки зрения криминалиста, самой интересной командой является AT%KEYLOCK (рис. 4). Как можно догадаться по названию, данная команда позволяет управлять блокировкой экрана устройства. Чтобы разобраться, как работает AT%KEYLOCK, достаточно сделать в отладчике переход по перекрестной ссылке. Обработчик команды AT%KEYLOCK приведен на рис. 6. 

Рис. 6

Как видно из рисунка, обработчик команды AT%KEYLOCK в зависимости от количества переданных аргументов вызывает либо lge_set_keylock() либо lge_get_keylock() из /system/lib/libatd_common.so. На рис. 7 изображена функция lge_set_keylock(). 

Рис. 7

Как видно из рис. 8, если передать функции lge_set_keylock() в качестве аргумента "0" = 0x30, то будет вызвана функция, которая снимает блокировку экрана. Далее последует вывод "[0]KEYLOCK OFF" (рис. 8). 

Рис. 8

Таким образом, команда AT%KEYLOCK=0 позволяет снять экран блокировки. Никаких манипуляций с телефоном производить при этом не надо.

Стоит отметить, что данная команда именно снимает экран блокировки, а установленные владельцем пароль, паттерн или PIN при этом остаются. Снятие блокировки происходит следующим образом: в область RAM, которая содержит значение, отвечающее за блокировку экрана, записывается 0 = unlock. Таким образом, команда не вносит изменений в ROM. Во-первых, это гарантирует неизменение пользовательских данных. Во-вторых, после перезагрузки смартфон вернется в прежнее состояние, и для разблокировки экрана запросит ранее установленный password/PIN/pattern. Команда не дает возможности узнать его, а только разблокирует телефон.

Для анализа AT-команд LG смартфонов был использован аппарат LG G3 D855 (версия ПО V20g-SEA-XX), тем не менее, работоспособность изученных AT-команд была проверена и на других LG смартфонах (LG G4 H812, LG G5 H860 и т.д.). Во всех этих моделях присутствуют вышеупомянутые команды. 

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

 

Олег Давыдов, 

Андрей Карондеев.

Февраль 2017.