Исследование SIM-карт в рамках проведения судебной компьютерно-технической экспертизы
Судебная компьютерно-техническая экспертиза (далее — СКТЭ) основывается на специальных знаниях в сфере электроники, электротехники, информационных систем и процессов, радиотехники и связи, вычислительной техники и автоматизации.
Типовыми объектами СКТЭ являются персональные компьютеры, периферийные устройства (принтеры, модемы и т.д.), микросхемы, мобильные телефоны и т.п.
Одним из типовых объектов СКТЭ является и SIM-карта, которая в рамках уголовного дела может фигурировать как вещественное доказательство, хранящее в себе криминалистически значимую информацию. Особенностями данного типа объектов является возможность их использования мобильными телефонами и иными объектами СКТЭ, оснащенными GSM модулем, как средством доступа к сети связи. Необходимость доступа к вышеназванным сетям и обуславливает наличие SIM-карты в подавляющем большинстве поступающих на исследования мобильных телефонах. При исследовании мобильного телефона эксперт тщательно проверяет наличие в «лотках», предназначенных для подключения SIM-карты, соответствующей контактной смарт-карты. Для проверки наличия SIM-карты эксперт использует соответствующую документацию на мобильный телефон (Например: руководство пользователя) и изучает все описанные в ней возможности подключения SIM-карты. В ряде случаев на телефонах может использоваться нестандартное расположение «лотка» для SIM-карты, а также не исключена возможность модификации внутреннего строения телефона с целью скрыть факт подключения SIM-карты и как следствие, возможность доступа к сети связи. К самой SIM-карте в процессе исследования применяются обычные правила исследования информационных компьютерных средств, в частности: описание объекта с фото и текстуальной фиксацией информации, извлечение информации из объекта средствами аппаратно-программных комплексов, анализ извлеченных данных для ответа на поставленные перед экспертом вопросы, составление заключения. Вне зависимости от наличия SIM-карты в списке поступивших на исследование объектов, эксперт в тексте заключения описывает и исследует ее как самостоятельный объект с привязкой к объекту, поступившему на исследование. Так достаточно типовым является фрагмент заключения в формулировке «из лотка SIM-карты исследуемого объекта исследования была извлечена». После привязки объекта исследования к поступившему объекту SIM-карта может фигурировать в тексте экспертного заключения как самостоятельный объект и все вопросы, поставленные перед экспертом, подлежат разрешению в том числе и в её отношении.
Целью данной статьи является описание способа получения доступа к криминалистически значимой информации (в рамках данной статьи акцент делается на получении информации содержащейся в тестовом SMS сообщении), хранящейся на SIM-карте, средствами программируемой платы Arduino, а также сопоставление полученных данных с реально хранимыми на исследуемом носителе информации.
Источниками исследования является научная литература, в которой освещаются вопросы применения компьютерных технологий в судебно-экспертной деятельности, а также методическая литература, содержащая основные положения производства СКТЭ.
Результаты исследования и их анализ
SIM-карта — это контактная смарт-карта с собственным процессором, способная регистрироваться в мобильной сети. SIM-карта имеет постоянную (энергонезависимую) и оперативную память. Также есть модуль аппаратного шифрования и аппаратный генератор случайных чисел. Процессор SIM-карты работает на частоте до 10 МГц. Постоянная память делится на области: примерно 60% занимают данные оператора, 20% — операционная система, остальное — данные пользователя.
С помощью SIM-карты обеспечивается идентификация абонентского устройства, ее доступ к сети связи, а также защита от несанкционированного использования абонентского номера. Идентификация SIM-карты осуществляется с использованием международного идентификационного номера IMSI, однозначно соответствующего пользовательскому (абонентскому) номеру. Международный идентификатор IMSI, наряду с серийным номером телефонного аппарата IMEI, задействуется в идентификации пользователя коммутационным оборудованием сети при установлении и поддержании соединения.
На SIM-карте как самостоятельном объекте исследования могут храниться электронные следы. В частности, информация, вводимая абонентом, информация, накопленная на носителе при работе в сетях электросвязи, а также иная криминалистически значимая информация.
Изучая процедуру получения доступа к информации, хранящейся на SIM-карте, следует упомянуть, что аппаратно-программные комплексы, а также программные продукты, которые применяются в судебно-экспертных учреждениях, являются достаточно дорогостоящими (например, Encase Smartphone Examiner, MOBILedit! Forensic, и т.п.). Однако существуют иные способы и методы получения доступа к такой информации, например, с использованием аппаратной платформы Arduino.
Следует отметить, что перед проведением исследования необходимо изучить стандарт ISO-7816, который закрепляет основные положения протокола обмена данными с SIM-картой, а также ряд особенностей, связанных с непосредственной работой SIM-карты.
Кроме того, для верного извлечения и изучения информации с SIM-карты нужно знать:
1. Устройство SIM-карты.
2. Значение контактов SIM-карты.
3. Команды, с помощью которых происходит общение SIM-карты с мобильным устройством.
4. Файловую систему SIM-карты.
Необходимо подготовить к проведению исследования аппаратную часть, подключив SIM-карту к Arduino. Для этого определяется, какие выводы имеет SIM-карта (см. илл. 1).
Илл. 1. Распиновка SIM-карты.
При установлении подключения между платой Arduino и SIM-картой используются следующие контакты:
1 — неиспользуемый контакт.
2 — I/O — линия последовательного интерфейса ввода/вывода.
3 — VPP — контакт программирования, который используется при записи служебной информации.
4 — GND — «земля».
6 — CLK — синхросигнал (тактирование).
7 — Reset — контакт сброса.
8 — VCC — питание.
Установление подключения происходит посредством пайки к указанным в стандарте контактам и соединением с выводами платы Arduino по следующей схеме:
Илл. 2. Подключение SIM–карты к Arduino Uno.
Илл. 3. Внешний вид подключения SIM–карты к Arduino Uno.
Так как SIM-карта является разновидностью Smart-карт, вся технология снятия будет полностью основываться на стандарте ISO–7816. Обмен данными производится с использованием USART интерфейса со следующими параметрами: скорость передачи = 9600 Бод, частота = 3,5МГц.
Для начала работы с SIM-картой ее требуется «активировать». Для этого необходимо подать на RST низкий уровень, на VCC подать питание, начать «щелкать» синхросигналом CLK с заданной частотой. Через 4000 циклов перехода синхросигнала CLK подать на RST высокий уровень.
Илл. 4. Временная диаграмма включения SIM–карты.
После «активации» SIM-карты нужно выставить RST на низкий уровень, затем SIM-карта отправит ATR (Answer–to–Reset) — ответ с информацией о частоте синхронизации, списком поддерживающих протоколов передачи и т.д.
В ATR первый байт (8 бит) говорит о том, какая кодировка применятся SIM-картой (прямая или инверсная). При прямом кодировании первый байт равен 0×3B, при инверсном — 0×3F. Инверсное кодирование означает, что логическая 1 (единица) кодирует в себе логический 0 (ноль) и наоборот.
Когда ATR получен, можно продолжить «общение» с SIM-картой, основываясь на подобранной кодировке. Общение происходит при помощи встроенного терминала в программное обеспечение «Arduino IDE», с помощью которого происходит программирование платы «Arduino UNO».
Общение с SIM-картой осуществляется с помощью передаваемых команд. Команды состоят из заголовка команды (4 байта) и тела команды. Пример команд и их соответствующий код можно посмотреть в таблице, которая представлена ниже.
Структура памяти SIM- карты состоит из файлов-каталогов и элементарных файлов. В структуре файловой системы имеются:
— корневой файл-каталог — «Master File» («MF»);
— выделенные файлы-каталоги «Dedicated File» («DF»);
— элементарные файлы (записи) «Elementary File» («EF»).
Выделенный файл («DF») — это функциональная группа файлов, состоящая из него самого и всех тех файлов, которые он в себя включает (то есть он состоит из «DF» и его полного «поддерева»). Такой файл состоит только из заголовочной части. Заголовок файла содержит информацию о структуре и атрибутах файла.
Все элементарные файлы состоят из заголовка и части данных файла.
Элементарные файлы различаются по своей структуре. В стандарте «GSM» используются следующие три структуры элементарных файлов:
1. Прозрачный «EF» — имеет структуру заголовка, в котором содержится смещение начала данных файла и общая длина этих данных, а сами данные представляют собой последовательность байт.
2. Линейный фиксированный «EF» — имеет структуру последовательности записей одинаковой (фиксированной) длины. Первой записью является запись номер 1. Длина записи, а также это значение, умноженное на количество записей, указывается в заголовке файла.
3. Циклический «EF» — используется для записей, хранящихся в хронологическом порядке. Когда все пространство записи занято, новые сохраненные данные будут перезаписать самую старую информацию.
Каждый файл имеет идентификатор. Идентификатор файла используется для адресации и идентификации каждого конкретного файла. Такой идентификатор состоит из двух байтов и закодирован в шестнадцатеричной системе счисления.
Первый байт идентификатора указывает на тип файла:
— »3F»: мастер-файл;
— »7F»: выделенный файл;
— »2F»: элементарный файл в основном мастер-файле;
— »6F»: элементарный файл в выделенном файле.
В качестве эксперимента в ходе написания статьи был получен текст первого SMS–сообщения, которое содержится на SIM-карте. Для этого был отправлен заголовок команды «Select» — A0 A4 00 00 02. После чего необходимо дождаться ответа от SIM-карты (3 байта). После получения ответа было отправлено тело команды — 7F 10 (7F — id файла, 10 — тело файла (каталога) «MF»), далее была отправлена команда A0 A4 00 00 02, 6F 3C — таким образом был совершён переход из корневого каталога в каталог «EF sms». После проведения подготовительных действий по переходу в интересующий нас каталог была отправлена команда «READ RECORD»: A0 B2 01 04 B0.
После получения команды по считыванию указанной записи, SIM-карта отправляет ответ в виде кодированных данных (Илл. 5).
Илл. 5. Окно терминала программы «Arduino IDE» с полученным сообщением с SIM–карты.
Ответ в виде кодированных данных о первом SMS-сообщении выглядит следующим образом:
«B2 07 07 91 97 61 55×3 XX FX 11 FF 09 81 97 71 29×8 XX FX 00 08 FF 0C 04 1F 04 40 04 38 04 32 04 35 04 42 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 90 00».
В представленных данных, отправленных SIM-картой, можно выделить следующие области:
B2 07 — идентификатор начала сообщения;
97 61 55×3 XX FX — номер получателя 7 916 553 XX XX (младший байт — старший);
97 71 29×8 XX FX — номер отправителя 7 917 928 XX XX;
08 — кодировка (08 — кириллица);
0C — длина сообщения (12 байт);
04 1F 04 40 04 38 04 32 04 35 04 42 — содержимое сообщения: «Привет».
В ходе проведенного исследования был проведен эксперимент по извлечению данных с SIM-карты путем установления «общения» между аппаратной платой Arduino и исследуемой SIM-картой. В результате было подтверждено, что полученные данные в точности соответствовали данным, реально хранимым на исследуемом носителе информации. Именно это позволяет сделать вывод о возможности применения экспертом вышеописанного метода в качестве альтернативного при исследовании SIM-карты в рамках проведения им судебной компьютерно-технической экспертизы.