Дело в трубке

Skylord (sky_lord@mail.ru)

Xakep, номер #053, стр. 053-060-1


Пара слов о взломе мобильников

Мало кого сейчас можно удивить снятием шароварного предупреждения в программе или надписью "Hacked by me!" на каком-нибудь сайте. Мы все привыкли резво набирать пальцами команды SoftIce'у и держать на привязи стайку-другую сплоитов. Но технологии не стоят на месте, и чем дальше идет прогресс, тем шире и разнообразнее становится возможная сфера интересов хакера. Теперь на очереди - мобильные телефоны...

А что у нее внутри?

А внутри у нее, мирно лежащей в твоем кармане или опрометчиво оставляемой в чехле на поясе, весь набор полноценного компа: процессор, оперативка, флеш-память в качестве ПЗУ и куча всякой периферии для общения с окружающим миром - начиная с экрана и заканчивая радиочастью (мобила, как-никак). Естественно, это на словах все просто. В телефонах в качестве процессоров используются специальные микроконтроллеры, основанные обычно на архитектуре ARM и заточенные специально для выполнения функций мобилы. Памяти обычно имеется порядка 512 Кб, флешки - где-то в среднем от 1 Мб и до 16 Мб - телефонов много, и обо всех сразу не расскажешь. И именно поэтому я сразу ограничу сегодняшний круг исследований - мы попробуем расковырять мобильники фирмы Siemens, как довольно распространенные и, кроме того, удобные для взлома и изучения. Хотя, конечно же, много интересного можно найти и в телефонах Nokia, Motorola, Sony... Но об этом - как-нибудь в другой раз.

Что же наши подопытные? А все они, начиная с моделей x25 (т.е. C25 и S25) и заканчивая последними х55, основаны на семействе 16-битных микроконтроллеров Infineon C166 и чипсетах группы Gold (HiGold в x25, EGold в x35, EGold+ в x45 и т.п.). Сименс в этом плане кстати "оригинальничает" по сравнению с другими производителями: C166 - это никаким боком не ARM, не x86, а вообще совершенно самостоятельный RISC-процессор, но фишка в том, что Infineon - это "дочка" Siemens, а своя рубашка к телу всегда ближе ;-).

А теперь давай определимся с основными терминами, чтобы убрать все неясности. А если ты уже искушен и все знаешь, то можешь перечитать и удостовериться в собственной правоте.

С чего начинается хак

Что такое прошивка телефона, я думаю, объяснять тебе не нужно - не хуже меня знаешь, что это внутренний софт мобилы: его ОС и прикладные программы в одном лице. Прошивки - это действительно обычные программы, которые пишут на компах на C или C++ и компилируют под соответствующее железо - в нашем случае, под C166.

Следующим важным термином является понятие "фулфлеш" (от full flash или же, как обычно говорят на зарубежных форумах, - fubu - от full backup) - полная копия содержимого флеш-памяти телефона со всем, что там есть - прошивкой, различными данными, содержимым внутреннего диска телефона и т.д. и т.п. Наличие фулфлеша от твоей мобилы гарантирует, что ты в дальнейшем точно сможешь восстановить ее после неудачных экспериментов, обычно заканчивающихся безмолвной и бездыханной трубкой. И стоит отметить, что подобные результаты наблюдаются процентах в 70 случаев первого более или менее низкоуровнего общения человека со своим телефоном ;-).

Содержание  Вперед на стр. 053-060-2