Берд Киви - Гигабайты власти. Информационные технологии между свободой и тоталитаризмом
Типичная смарт-карта - это 8-битный микропроцессор, постоянное запоминающее устройство (ROM), оперативная память (RAM), электрически перепрограммируемая память (EEPROM или Flash, где, в частности хранится криптографический ключевой материал), последовательные вход и выход. Все это хозяйство размещается в одном чипе, заключенном в корпус - обычно, пластиковую карту размером с кредитку.
Нравится это кому-то или нет, но в действительности вскрытие смарт-карт - явление весьма давнее и распространенное повсеместно. Как свидетельствуют специалисты, примерно с 1994 года практически все типы смарт-карточных чипов, использовавшихся, к примеру, в европейских, а затем в американских и азиатских системах платного телевидения, были успешно вскрыты кракерами (т.е. криминальными хакерами) методами обратной инженерной разработки. Скомпрометированные секреты карт - схема и ключевой материал - затем продавались на черном рынке в виде нелегальных клон-карт для просмотра закрытых ТВ-каналов без оплаты компании-вещателю. Менее освещенной в прессе остается такая деятельность, как подделка телефонных смарт-карт или электронных кошельков, однако известно, что и в этой области далеко не все в порядке с противодействием взлому. Индустрии приходится регулярно заниматься обновлением технологий защиты процессора смарт-карт, кракеры в ответ разрабатывают более изощренные методы вскрытия, так что это состязание еще далеко не закончено.
Смарт-карты в своих потенциальных возможностях имеют целый ряд очень важных преимуществ в сравнении с другими технологиями. Обладая собственным процессором и памятью, они могут участвовать в криптографических протоколах обмена информацией, и, в отличие от карточек с магнитной полоской, здесь хранимые данные можно защищать от неавторизованного доступа. Серьезная проблема лишь в том, что реальная стойкость этой защиты очень часто переоценивается. Далее будет представлен краткий обзор наиболее важных технологий, используемых при вскрытии смарт-карт. Эта информация важна для любого человека, желающего получить реальное представление о том, как происходит вскрытие защищенных устройств и каких затрат это стоит.
Вскрытие бывает разноеКлассификация методов вскрытия смарт-карт может несколько различаться у разных авторов, однако наиболее часто выделяются следующие категории атак, которые обычно применяются в разных сочетаниях друг с другом.
Технологии микрозондирования, с помощью микроскопа и иглы микропробника позволяющие получить доступ непосредственно к поверхности чипа, где атакующий может регистрировать прохождение битов информации, манипулировать ими и вмешиваться в работу интегральной схемы.
Программные атаки, использующие обычный коммуникационный интерфейс процессора смарт-карты и эксплуатирующие уязвимости защиты, выявленные в протоколах, криптографических алгоритмах и других особенностях конкретной реализации схемы. Чем более зрелой является технология защиты, тем чаще приходится сочетать этот метод с двумя следующими методами атак.
Анализ побочных каналов утечки информации, когда атакующий с высокой по времени частотой снимает аналоговые характеристики колебаний в питании и интерфейсных соединениях, а также любые другие электромагнитные излучения, порождаемые элементами схемы процессора (транзисторами, триггерами и т.д.) в ходе обычной работы.
Технологии индуцирования сбоев, где, напротив, используют нештатные условия эксплуатации, чтобы вызвать ошибки в работе процессора и открыть таким образом дополнительные каналы доступа к защищенной информации.
Все технологии микрозондирования по сути своей являются разрушающими атаками. Это значит, что для их реализации требуются многие часы, иногда недели работы в условиях специализированной лаборатории, а сам исследуемый чип при этом разрушается. Остальные три категории относятся к неразрушающим атакам. Иначе говоря, после того, как злоумышленник подготовил такую атаку в отношении конкретного типа процессора и уже известной версии программного обеспечения, он может с легкостью воспроизвести ее в течение минут или даже нескольких секунд в отношении любой другой карты того же типа. При этом атакуемая карта физически не повреждается, а оборудование, использованное для атаки, обычно можно замаскировать под обычный ридер, т.е. считыватель смарт-карт.
Очевидно, что неразрушающие атаки особо опасны, поскольку не оставляют за собой следов компрометации. Но понятно и то, что сама природа атак такого рода подразумевает детальное знание как процессора, так и программного обеспечения конкретной карты. С другой стороны, для разрушающих атак микрозондированием требуется очень мало исходных знаний о конкретной конструкции, поэтому при относительно небольшом наборе приемов они обычно срабатывают в отношении весьма широкого ряда разных чипов. Таким образом, можно говорить, что атака на новую смарт-карту обычно начинается с разрушающей обратной инженерной разработки, результаты которой помогают создать более дешевые и быстрые неразрушающие атаки. В частности, именно такая последовательность событий многократно отмечена при вскрытии карт условного доступа в системах платного телевидения [КК99].
Разрушающие атакиИтак, к этому типу атак принято относить такие способы компрометации смарт-карт, которые сопровождаются вскрытием корпуса устройства. Публичное представление таких методов, применяемых в кракерском подполье, впервые, похоже, было сделано в 1996 году исследователями из Кембриджского университета Россом Андерсоном и Маркусом Куном в ходе Второго семинара USENIX по электронной коммерции. Еще более подробно эти технологии описаны в совместной статье Куна и Оливера Кеммерлинга 1999 года «Принципы конструирования защищенных процессоров смарт-карт», а также в последующей докторской диссертации Куна, которая, правда, в отличие от первых двух статей в Интернете не опубликована. В самом кратком изложении суть этих работ примерно такова [АК96][КК99].
Типичный чиповый модуль смарт-карты имеет тонкое пластиковое основание размером около квадратного сантиметра с контактными зонами с обеих сторон. Одна сторона модуля видна на самой смарт-карте и контактирует со считывателем; кремниевая матрица приклеена к другой стороне основания, подсоединяясь с помощью тонких золотых или алюминиевых проводов. Та сторона пластины, где находится чип, покрыта эпоксидной смолой, там чиповый модуль вклеивается в карту. Вынуть чип из карты легко. Прежде это делали с помощью острого ножа или ланцета, срезая пластик тыльной стороны карты до тех пор, пока не покажется эпоксидная смола. Потом научились быстро вынимать чип, просто разогревая пластмассу до мягкого состояния. Далее удаляют эпоксидный слой, нанося несколько капель концентрированной азотной кислоты (» 98%). Прежде, чем кислота успевает растворить слишком много эпоксидного слоя и затвердеть, кислоту и смолу смывают ацетоном. Эта процедура повторяется от 5 до 10 раз, пока полностью не покажется кремниевая матрица. Если все было сделано аккуратно и соединительная проводка осталась неповрежденной, то чип остается полностью функциональным.
Полностью функциональный процессор смарт-карты, пластиковый корпус которой удален для экспериментов с микропробником.
Следующим этапом, если процессор совершенно новый и неизвестный, становится создание карты его схем. Сейчас для этого обычно применяют оптический микроскоп и цифровую камеру, с помощью которых делают большую, размером несколько метров, мозаику из высокого разрешения снимков поверхности чипа. У большинства чипов имеется защитный поверхностный слой (пассивация) из оксида или нитрата кремния, который предохраняет их от излучений оборудования и диффузии ионов. Азотная кислота на него не действует, поэтому для его удаления специалисты используют сложный метод сухого травления. Но это не единственная возможность для доступа к поверхности. Другим методом, особенно когда схема в целом известна, является использование игл-микропробников, которые с помощью ультразвуковой вибрации удаляют защитный слой непосредственно под точкой контакта. Кроме того, для локального удаления защитного слоя применяются лазерные резаки-микроскопы, используемые в лабораториях клеточной биологии.
Описанная техника вскрытия успешно применяется любителями-кракерами. Далее же вкратце будут описаны некоторые технологии, доступные хорошо оснащенным лабораториям, занимающимся изучением полупроводников. В мире сейчас насчитываются сотни таких лабораторий - в университетах и промышленных исследовательских центрах, к примеру. Имеется достоверная информация, что наиболее продвинутые кракеры арендуют эту технику и тщательно изучают новейшие промышленные технологии обратной инженерной разработки (подробнее об этом в следующем разделе «Возня в подполье, война на небесах»).