Безопасный взлом через GPRS Крис Касперски ака мыщъх Спецвыпуск: Хакер, номер #056, стр. 056-074-3 Внутри сотового телефона Идентификационный номер состоит из двух частей: ESN (Electronic Serial Number – электрический серийный номер) и MIN (Mobile Identification Number – мобильный идентификационный номер). Обычно они обозначаются как ESN/MIN и у наших зарубежных хакерских коллег называются парой (pair). Конструктивно MIN хранится в модуле NAM (Number Assignment Module – модуль назначения номеров) - микросхеме постоянной памяти c емкостью не менее 32 байт, которая облачена в пластиковую или керамическую "обертку" и расположена на печатной плате. Обычно это EEPROM (то есть многократно перепрограммируемое ПЗУ) или PROM (однократно программируемое ПЗУ). Отождествить эту микросхему очень просто - эдакий мелкий таракан с восемью ногами. Помимо MIN'а, здесь находится SIHD и другая служебная информация, приблизительный формат которой приведен в таблице. Некоторые мобильники позволяют перепрограммировать NAM прямо с клавиатуры телефона! Впрочем, количество циклов перепрограммирования обычно очень невелико (от трех до 20-ти в зависимости от настроения производителя) - за это отвечает микропроцессорная прошивка, также называемая firmware. Ресурс самой микросхемы намного больше и практически неограничен. Но для долговременного хакерствования такой способ решительно не годится, и приходится искать обходные пути. Одни хакеры выпаивают микросхему и перепрограммируют ее на программаторе вручную (хотя выпаивать микросхему для этого в общем-то необязательно), другие - модифицируют прошивку, запрещая ей блокировать NAM. Первое требует умения держать паяльник в руках, второе - дизассемблера. Исследование прошивок – это высший пилотаж хакерства, требующий обширных познаний и высочайшей квалификации. Для начала необходимо опознать процессор. Даже если оригинальная маркировка микросхемы не была "заботливо" уничтожена производителем телефона, не факт, что описание машинных команд удастся найти в Сети. Техническая документация на многие мобильные процессоры засекречена или распространяется только по подписке, то есть за деньги (причем физические лица отдыхают). Тем не менее, системные команды многих процессоров довольно похожи, и при достаточной настойчивости разобраться в них можно и без описания. Но что это дает? Любая прошивка буквально нашпигована командами взаимодействия с портами ввода/вывода, управляющими электронной начинкой телефона. За что они отвечают, непонятно. Это сплошное нагромождение головоломок, и на анализ своей "первой" прошивки можно потратить целый год. Двенадцать месяцев, триста шестьдесят пять дней и никак не меньше! |