Восстановление данных с SIM-карт.

SIM-карта (Subscriber Identity Module, идентификационный модуль мобильного абонента) является важнейшей частью мобильных телефонов стандарта GSM. Основная ее задача — безопасная идентификация телефона в сети.

SIM-карта относится к категории смарт-карт. К дискам в привычном понимании она никакого отношения не имеет. Накопителем ее справедливо назвать ровно на столько, насколько, например, и нетбук со встроенным твердотельным диском. Хранение данных, например списка телефонных номеров или коротких сообщений, является дополнительной второстепенной функцией.

Тем не менее некоторые пользовательские данные в SIM-картах есть! Иногда возникает потребность в их извлечении, и занимаются этим обычно не «телефонисты», а «компьютерщики».

Архитектура SIM-карты

Несмотря на крошечные размеры, по своей архитектуре SIM-карта является за конченным микрокомпьютером. Он построен на базе 8разрядного процессора, совместимого с системой команд Intel 8051, Motorola 6805 или Hitachi H8. Процессор SIM-карты поддерживает набор из 18 команд стандарта SIM Tool Kit (STK).

Кроме процессора, микрокомпьютер содержит память трех видов: постоянную (ROM, Read Only Memory), перепрограммируемую энергонезависимую (EEPROM, или NVM, NonVolatile Memory) и память с произвольным доступом (RAM, Random Access Memory). Физически все они выполнены в одном бескорпусном чипе вместе с процессором.

Память ROM объемом от 10 до 90 Кбайт хранит операционную систему SIM-карты. Как и на любую другую ОС, на нее возложены задачи ввода/вывода, а главная особенность — обязательные аутентификации по PINкоду и PUKкоду и шифрование всех данных.

В последнее время все большее распространение получают чипы, в которых роль ROM играет часть памяти NVM (NVRAM). Память NVM обладает лучшим быстродействием (3–10 мс на операцию записи), а то, что она перезаписываемая, позволяет оптимизировать процесс производства готовых SIM-карт.

Ячейки NVM общим объемом от 8 до 64 Кбайт несут различную секретную информацию, необходимую для авторизации карты в сети. Энергонезависимая память отчасти программируется дистанционно, оператором сети. В целях безопасности служебная часть перепрограммируемой памяти, в которой хранятся международный идентификационный номер абонента мобильной связи (International Mobile Subscriber Identity, IMSI), его индивидуальный ключ шифрования (Ki) и программа криптографического алгоритма (A3), доступна только внутреннему процессору SIM-карты. Чтобы считать эти данные извне, необходимо сначала передать процессору PIN-код или PUK-код, уникальные для каждого экземпляра устройства. Помимо того, NVM хранит пользовательскую информацию, которая нас обычно и интересует.

Производители гарантируют около 100 000 циклов перезаписи ячеек NVM. Это означает, что реальный срок службы любой смарт-карты ограничен — для SIM-карт он составляет приблизительно 3–5 лет.

Объем оперативной памяти (RAM) на SIM-карте невелик и составляет, как правило, всего от 256 байтов до нескольких килобайт. Память RAM используется для хранения временных переменных.