Технологии индуцирования сбоев,где, напротив, используют нештатные условия эксплуатации, чтобы вызвать ошибки в работе процессора и открыть таким образом дополнительные каналы доступа к защищенной информации.
   Все технологии микрозондирования по сути своей являются разрушающими атаками. Это значит, что для их реализации требуются многие часы, иногда недели работы в условиях специализированной лаборатории, а сам исследуемый чип при этом разрушается. Остальные три категории относятся к неразрушающим атакам. Иначе говоря, после того, как злоумышленник подготовил такую атаку в отношении конкретного типа процессора и уже известной версии программного обеспечения, он может с легкостью воспроизвести ее в течение минут или даже нескольких секунд в отношении любой другой карты того же типа. При этом атакуемая карта физически не повреждается, а оборудование, использованное для атаки, обычно можно замаскировать под обычный ридер, т.е. считыватель смарт-карт.
   Очевидно, что неразрушающие атаки особо опасны, поскольку не оставляют за собой следов компрометации. Но понятно и то, что сама природа атак такого рода подразумевает детальное знание как процессора, так и программного обеспечения конкретной карты. С другой стороны, для разрушающих атак микрозондированием требуется очень мало исходных знаний о конкретной конструкции, поэтому при относительно небольшом наборе приемов они обычно срабатывают в отношении весьма широкого ряда разных чипов. Таким образом, можно говорить, что атака на новую смарт-карту обычно начинается с разрушающей обратной инженерной разработки, результаты которой помогают создать более дешевые и быстрые неразрушающие атаки. В частности, именно такая последовательность событий многократно отмечена при вскрытии карт условного доступа в системах платного телевидения [КК99].
 
Разрушающие атаки
 
   Итак, к этому типу атак принято относить такие способы компрометации смарт-карт, которые сопровождаются вскрытием корпуса устройства. Публичное представление таких методов, применяемых в кракерском подполье, впервые, похоже, было сделано в 1996 году исследователями из Кембриджского университета Россом Андерсоном и Маркусом Куном в ходе Второго семинара USENIX по электронной коммерции. Еще более подробно эти технологии описаны в совместной статье Куна и Оливера Кеммерлинга 1999 года «Принципы конструирования защищенных процессоров смарт-карт», а также в последующей докторской диссертации Куна, которая, правда, в отличие от первых двух статей в Интернете не опубликована. В самом кратком изложении суть этих работ примерно такова [АК96][КК99].
   Типичный чиповый модуль смарт-карты имеет тонкое пластиковое основание размером около квадратного сантиметра с контактными зонами с обеих сторон. Одна сторона модуля видна на самой смарт-карте и контактирует со считывателем; кремниевая матрица приклеена к другой стороне основания, подсоединяясь с помощью тонких золотых или алюминиевых проводов. Та сторона пластины, где находится чип, покрыта эпоксидной смолой, там чиповый модуль вклеивается в карту. Вынуть чип из карты легко. Прежде это делали с помощью острого ножа или ланцета, срезая пластик тыльной стороны карты до тех пор, пока не покажется эпоксидная смола. Потом научились быстро вынимать чип, просто разогревая пластмассу до мягкого состояния. Далее удаляют эпоксидный слой, нанося несколько капель концентрированной азотной кислоты (» 98%). Прежде, чем кислота успевает растворить слишком много эпоксидного слоя и затвердеть, кислоту и смолу смывают ацетоном. Эта процедура повторяется от 5 до 10 раз, пока полностью не покажется кремниевая матрица. Если все было сделано аккуратно и соединительная проводка осталась неповрежденной, то чип остается полностью функциональным.
    Полностью функциональный процессор смарт-карты, пластиковый корпус которой удален для экспериментов с микропробником.
   Следующим этапом, если процессор совершенно новый и неизвестный, становится создание карты его схем. Сейчас для этого обычно применяют оптический микроскоп и цифровую камеру, с помощью которых делают большую, размером несколько метров, мозаику из высокого разрешения снимков поверхности чипа. У большинства чипов имеется защитный поверхностный слой (пассивация) из оксида или нитрата кремния, который предохраняет их от излучений оборудования и диффузии ионов. Азотная кислота на него не действует, поэтому для его удаления специалисты используют сложный метод сухого травления. Но это не единственная возможность для доступа к поверхности. Другим методом, особенно когда схема в целом известна, является использование игл-микропробников, которые с помощью ультразвуковой вибрации удаляют защитный слой непосредственно под точкой контакта. Кроме того, для локального удаления защитного слоя применяются лазерные резаки-микроскопы, используемые в лабораториях клеточной биологии.
   Описанная техника вскрытия успешно применяется любителями-кракерами. Далее же вкратце будут описаны некоторые технологии, доступные хорошо оснащенным лабораториям, занимающимся изучением полупроводников. В мире сейчас насчитываются сотни таких лабораторий - в университетах и промышленных исследовательских центрах, к примеру. Имеется достоверная информация, что наиболее продвинутые кракеры арендуют эту технику и тщательно изучают новейшие промышленные технологии обратной инженерной разработки (подробнее об этом в следующем разделе «Возня в подполье, война на небесах»).
    Микрозондирование чипа, извлеченного из смарт-карты
   В начале 1990-х годов в Кавендишской лаборатории Кембриджа создана технология обратного восстановления схемы сложных кремниевых чипов, позволяющая аккуратно снимать слои микросхемы один за другим. Одно из примененных там новшеств - техника показа примесных N и Р слоев на основе эффекта Шоттки: тонкая пленка из золота или палладия накладывается на чип, образуя диод, который может быть виден в электронном луче. Изображения последовательных слоев чипа вводятся в компьютер, специальное программное обеспечение очищает первоначально нечеткие образы, выдает их ясное представление и распознает стандартные элементы чипа. Данная система была протестирована на процессоре Intel 80386 и ряде других устройств. Работа над восстановлением 80386 заняла две недели, причем для правильной реконструкции обычно требуется около шести образцов чипа. Результатом работ могут быть диаграммы масок и схем или даже список библиотечных ячеек, из которых чип был сконструирован.
   В условиях, когда конструкция и принципы функционирования чипа уже известны, существует очень мощная технология, разработанная в ШМ для исследования чипа в работе даже без удаления защитного слоя. Для измерения рабочих характеристик устройства над ним помещают кристалл ниобата лития. Показатель преломления этой субстанции изменяется при изменении электрического поля, и потенциал находящегося под ней кремния может считываться с помощью ультрафиолетового лазерного луча, проходящего через кристалл под скользящим углом наклона. Возможности этой технологии таковы, что можно считывать сигнал в 5 В и с частотой до 25 МГц. По сути дела, это стандартный путь для хорошо оснащенных лабораторий при восстановлении криптоключей в чипах, конструкция которых известна.
   Исследование техники разрезания чипа ведет к более общей (и сравнительно меньше изученной) проблеме - атакам, которые включают в себя активную модификацию исследуемого чипа, а не просто пассивное его исследование. К примеру, есть все основания полагать, что некоторые успешные атаки пиратов на систему платного ТВ проводились с использованием рабочих станций с фокусированием ионного пучка (Focused Ion Beam workstation - FIB). Такой аппарат может вырезать траки в металлизированном слое чипа и формировать новые траки или изолирующие слои. Кроме того, FIB может имплантировать ионы для изменения толщины слоя кремния и даже строить сквозные переходы к проводящим структурам в нижележащих слоях чипа. Такие аппараты стоят несколько миллионов долларов, но, как показывает практика, не слишком богатые злоумышленники арендуют дорогое оборудование на некоторое время у крупных полупроводниковых компаний.
    Снимок электронным микроскопом, демонстрирующий результаты обработки чипа сфокусированным ионным пучком ( FIB )
   Обеспеченные таким инструментарием атаки на смарт-карты становятся более простыми и мощными. Типичная атака заключается в отсоединении почти всех процессов ЦПУ от шины, кроме памяти EEPROM и той компоненты ЦПУ, что генерирует доступ по чтению. Например, программный счетчик может быть оставлен подсоединенным таким образом, что области памяти становятся по порядку доступны на считывание по мере подачи тактовых импульсов.
   Как только это сделано, атакующему требуется лишь одна игла микропробника для считывания всего содержимого EEPROM. В результате процесс анализа становится более легким, чем при пассивном исследовании, когда обычно анализируется только трасса выполнения. Также это помогает избежать чисто механических трудностей одновременной работы с несколькими иглами-микропробниками на линиях шины, ширина которых составляет лишь несколько микрон.
    Program Counter
   load
   load low high
    Microcode Control Unit
   1
   земля
   X X
   шина данных (8 bit)
   адресная шина (16 bit)
   игла микропробника
   сигнал синхронизации
   EEPROM
   X-удалeнное соединение, *-созданное новое соединение
    Модифицированная атака на криптопроцессор с помощью рабочей станции FIB , позволяющая легко осуществить доступ к засекреченному содержимому EEPROM , используя единственную иглу-микропробник
 
Индуцирование сбоев (глич-атаки)
 
   В принципе, создателям вычислительной техники давно известно, что к инженерно-защищенным устройствам типа смарт-карт, которые обычно малы и компактны, с целью вызова вычислительной ошибки можно применить некоторые уровни радиационного облучения или нагревания, подачу неправильного напряжения питания или нестандартную тактовую частоту. Известно также и то, что при возникновении сбоя в вычислениях компьютерное устройство может выдать информацию, полезную для восстановления секретных данных. Однако, насколько серьезна эта угроза в действительности, долгое время мало кто подозревал.
   В конце сентября 1996 г. коллектив авторов из Bellcore, научно-исследовательского центра американской компании Bell, сообщил о том, что обнаружена серьезная потенциальная слабость общего характера в защищенных криптографических устройствах, в частности, в смарт-картах для электронных платежей. Авторы - Бонэ, ДеМилло и Липтон - назвали свой метод вскрытия «криптоанализом при сбоях оборудования», суть же его в том, что искусственно вызывая ошибку в работе электронной схемы с помощью ионизации или микроволнового облучения, а затем сравнивая сбойные значения на выходе устройства с заведомо правильными значениями, теоретически можно восстанавливать криптографическую информацию, хранящуюся в смарт-карте [BD97].
   Исследования ученых показали, что новой угрозе подвержены все устройства, использующие криптоалгоритмы с открытыми ключами для шифрования информации и аутентификации пользователя. Это могут быть смарт-карты, применяемые для хранения данных (например, электронных денег); SIM-карточки для сотовой телефонии; карточки, генерирующие электронные подписи или обеспечивающие аутентификацию пользователя при удаленном доступе к корпоративным сетям. Правда, разработанная в Bellcore атака была применима для вскрытия ключей исключительно в криптосхемах с открытым ключом - RSA, алгоритм цифровой подписи Рабина, схема идентификации Фиата-Шамира и тому подобные конструкции.
   Главным же результатом публикации Bellcore стало то, что к известной, вообще говоря, в узком кругу проблеме было привлечено внимание гораздо большего числа исследователей. И меньше чем через месяц после появления статьи Бонэ и его коллег, в октябре 1996 г., стало известно и о разработке аналогичной теоретической атаки в отношении симметричных шифров, т.е. криптоалгоритмов закрытия данных с общим секретным ключом. Новый метод был разработан знаменитым тандемом израильских криптографов Эли Бихамом и Ади Шамиром, получив название «Дифференциальный анализ искажений» или ДАИ (по-английски DFA).
   На примере самого распространенного блочного шифра DES эти авторы продемонстрировали, что в рамках той же «беллкоровской» модели сбоя в работе аппаратуры можно «вытащить» полный ключ DES из защищенной смарт-карты путем анализа менее 200 блоков шифртекста (блок DES - 8 байт). Более того, впоследствии появился еще ряд работ Бихама-Шамира с описанием методов извлечения ключа из смарт-карты в условиях, когда о реализованной внутри криптосхеме не известно практически ничего [BS97].
   Наиболее часто критика в адрес ДАИ, особенно со стороны выпускающих смарт-карты фирм, сводилась к тому, что вся эта методика носит сугубо теоретический характер. Ведь никто, дескать, не продемонстрировал на практике, что сбойные ошибки можно вызывать именно в криптосхеме, причем конкретно в алгоритме разворачивания ключа…
   Но уже весной 1997 года появилось описание не теоретической, а весьма практичной атаки, получившей название «усовершенствованный метод ДАИ». Авторы атаки, уже упоминавшиеся кембриджский профессор Росс Андерсон и его (в те времена) аспирант из Германии Маркус Кун, продемонстрировали, что могут извлекать ключ из смарт-карты менее чем по 10 блокам шифртекста. В основу нового метода была положена модель принудительных искажений или «глич-атак» (от английского glitch - всплеск, выброс), реально практикуемых кракерами при вскрытии смарт-карт платного телевидения. Под глич-атаками понимаются манипуляции с тактовой частотой или напряжением питания смарт-карт, что позволяет выдавать дампы с ключевым материалом на порт выхода устройства. Эффективность глич-атак продемонстрирована кембриджскими авторами как на симметричных криптосхемах, так и на вскрытии алгоритмов с открытым ключом [АК97].
 
Анализ побочных каналов утечки
 
   Летом 1998 г. пришло известие еще об одном методе вскрытия смарт-карт, также более чем успешно реализованном на практике. Совсем небольшая, состоящая из 4 человек консалтинговая криптофирма Cryptography Research из Сан-Франциско разработала чрезвычайно эффективный аналитический инструментарий для извлечения секретных ключей из криптографических устройств. По словам главы фирмы Пола Кочера, которому в ту пору было 25 лет, исследователям «не удалось найти ни одной карты, которую нельзя было бы вскрыть».
   Кочер, надо отметить, по образованию биолог, а хакерством занимался с детства как хобби. Не исключено, что именно биологическое образование помогло ему выработать собственный стиль анализа «черных ящиков», относясь к ним как к живым организмам и внимательно исследуя все доступные признаки их «жизнедеятельности». В традиционном анализе криптоустроиств и защищенных протоколов принято предполагать, что входное и выходное сообщения доступны злоумышленнику, а какая-либо информация о хранимых внутри данных (криптоключах, например) ему неизвестна. Однако, любое электронное устройство состоит из конкретных элементов, выдающих в окружающую среду информацию о своей работе. А значит на самом деле атакующей стороне может быть доступна и всевозможная побочная информация, выдаваемая криптоустройством: электромагнитное излучение, сигналы об ошибках или об интервалах времени между выполняемыми инструкциями, колебания в потреблении электропитания и другие данные.
   Вообще говоря, все это очень хорошо известно военным и спецслужбам, где разработаны специальные методы работы с побочными каналами утечки информации, но тема эта - под кодовым наименованием Tempest - строго засекречена и открытых публикаций о ней очень мало (подробнее см. раздел «Мужчины с ошеломительным оснащением»).
   Кочер и его коллеги, можно сказать, переизобрели секретные методы спецслужб и научились вскрывать защиту смарт-карт с помощью привлечения аппарата математической статистики и алгебраических методов исправления ошибок для анализа флуктуации в потреблении чипом электропитания. Делалось это примерно в течение полутора лет с 1996 по 1998 год, когда специалисты Cryptography Research занимались задачей о том, каким образом можно было бы повысить стойкость портативных криптографических жетонов, включая смарт-карты. Не предавая свои исследования широкой огласке, они знакомили сообщество производителей смарт-карт с разработанными в фирме видами атак, получившими названия ПАП (простой анализ питания) и ДАЛ (дифференциальный анализ питания, или DPА) [KJ99].
   Вполне очевидно, что данные методы анализа заслуживают самого серьезного внимания, поскольку атаки такого рода можно проводить быстро и используя уже готовое оборудование ценой от нескольких сотен до нескольких тысяч долларов. Базовые же концепции новой методики вскрытия сформулированы в более ранней и достаточно известной работе Пола Кочера «Криптоанализ на основе таймерной атаки» [РК96], где было продемонстрировано, что можно вскрывать криптоустройства, просто точно замеряя интервалы времени, которые тем требуются на обработку данных.
   Что же касается ПАП-атак, то здесь аналитик непосредственно наблюдает за динамикой потребления энергии системой. Количество расходуемой энергии изменяется в зависимости от выполняемой микропроцессором инструкции, а для точного отслеживания флуктуации в потреблении питания можно использовать чувствительный амперметр. Так выявляются большие блоки инструкций- циклы DES, операции RSA и т.д., - поскольку эти операции, выполняемые процессором, имеют внутри себя существенно различающиеся по виду фрагменты. При более сильном усилении удается выделять и отдельные инструкции. В то время как ПАП-атаки главным образом строятся на визуальном анализе с целью выделения значимых флуктуации питания, значительно более эффективный метод ДАЛ построен на статистическом анализе и технологиях исправления ошибок для выделения информации, имеющей корреляции с секретными ключами.
 
Кое-что новое
 
   В июне 2002 г. был обнародован еще один метод вскрытия смарт-карт и защищенных микроконтроллеров, получивший название «атака оптическим индуцированием сбоев» (optical fault induction attack). Этот класс атак был обнаружен и исследован в Кембриджском университете русским аспирантом Сергеем Скоробогатовым и его руководителем Россом Андерсоном. Суть метода в том, что сфокусированное освещение конкретного транзистора в электронной схеме стимулирует в нем проводимость, чем вызывается кратковременный сбой. Такого рода атаки оказываются довольно дешевыми и практичными, для них не требуется сложного и дорогого лазерного оборудования.
   Например, сами кембриджские исследователи в качестве мощного источника света использовали фотовспышку, купленную в магазине подержанных товаров за 20 фунтов стерлингов. Для иллюстрации мощи новой атаки была разработана методика, позволяющая с помощью вспышки и микроскопа выставлять в нужное значение (0 или 1) любой бит в SRAM-памяти микроконтроллера. Методом «оптического зондирования» (optical probing) можно индуцировать сбои в работе криптографических алгоритмов или протоколов, а также вносить искажения в поток управляющих команд процессора. Понятно, что перечисленные возможности существенно расширяют уже известные «сбойные» методы вскрытия криптосхем и извлечения секретной информации из смарт-карт [SA02].
   Индустрия, как обычно, пытается всячески принизить значимость нового метода вскрытия, поскольку он относится к классу разрушающих атак, сопровождающихся повреждением защитного слоя в чипе смарт-карты. Однако, по свидетельству Андерсона, злоумышленники могут обойтись и минимальным физическим вмешательством: кремний прозрачен в инфракрасном диапазоне, поэтому атаку можно проводить прямо через кремниевую подложку с задней стороны чипа, сняв лишь пластик. Используя же рентгеновское излучение, карту и вовсе можно оставить нетронутой.
   Этими же специалистами из Кембриджа совместно с учеными компьютерной лаборатории Лувенского университета (Бельгия) недавно разработаны еще несколько новых методов считывания информации из защищенных чипов смарт-карт. Общим для данных методов является то, что они индуцируют поддающиеся замерам изменения в аналоговых характеристиках ячеек памяти. Например, сканируя ячейки сфокусированным лазером или наводя в них вихревые токи с помощью индуктивной спирали на игле микропробника, можно повысить электромагнитные утечки, выдающие записанное там значение бита, но при этом само это значение сохраняется в ячейке ненарушенным. Сильным охлаждением чипа в нужный момент времени можно «заморозить» содержимое интересующего регистра и считать из него (ключевую) информацию, обычно хранящуюся или передаваемую в зашифрованном виде. Эта технология применима к самым разным типам памяти от RAM до FLASH и реально продемонстрирована считыванием ключей DES из ячеек RAM без какого-либо физического контакта с чипом [SQ02].
   Данная работа проведена учеными по заказу проекта Евросоюза GSCard и ставит перед собой цель создания смарт-карт следующего поколения, способных максимально противостоять современным атакам вплоть до «полуразрушающих». Создание абсолютной защиты, естественно, не является реалистичным для реально применяемых устройств, одно из главных достоинств которых - дешевизна.
 
Наглядно и убедительно, но - для своих
 
   Арсенал средств защиты смарт-карт на сегодняшний день весьма разнообразен. Разрушающим методам вскрытия могут противостоять емкостные датчики или оптические сенсоры под светонепроницаемой оболочкой (что кракеры давно научились обходить), либо «специальный клей» - особое покрытие для чипов, которое не только непрозрачно и обладает проводимостью, но также надежно противостоит попыткам уничтожить его, обычно разрушая кремниевый слой, находящийся под ним. Такие покрытия относятся к федеральному стандарту США FIPS 140-1 и широко используются в американской военной промышленности, но повсеместно распространенными в быту их назвать нельзя.
   Ряд недорогих и эффективных методов противодействия методам ДАЛ и ДАИ известен по разработкам Cryptography Research. В частности, созданы особые аппаратные и программные методы, обеспечивающие значительно меньший уровень утечек компрометирующей информации, внесение шума в измерения, декоррелирование (разделение взаимозависимостей) внутренних переменных и секретных параметров, а также декоррелирование по времени криптографических операций. Значительный ряд новых методов защиты предложен компьютерными лабораториями Лувена и Кембриджа [http://www.dice.ucl.ac.be/crypto; http://www.cl.cam.ac.uk/Research/Security/tamper/].
   Разработкой мер защиты смарт-карт от вскрытия, конечно же, занимаются не только в университетах или маленьких фирмах вроде Cryptography Research Пола Кочера или Advanced Digital Security Research Оливера Кеммерлинга. Большая работа ведется и непосредственно в смарт-карточной индустрии, где, правда, предпочитают эту деликатную тему публично не обсуждать. Но иногда кое-какая информация все же просачивается. Так, на криптографической выставке-конференции RSA-2002 интереснейшая экспозиция была устроена компанией Datacard Group, специализирующейся на разработке смарт-карт.
   На своем выставочном стенде сотрудники фирмы развернули некий «полевой вариант» небольшой электронной лаборатории. Буквально на глазах изумленной публики демонстрировалось вскрытие смарт-карт с помощью описанных выше методов ДАЛ и ДАИ. Оборудования для этих работ требовалось совсем немного - осциллограф, компьютер да несколько «специальных коробочек».
   Для зрителей процесс вскрытия смарт-карты выглядел примерно так: «Сейчас вы видите на экране осциллографа последовательность вертикальных всплесков. Это циклы DES-алгоритма, шифрующего информацию в чипе карты. Давайте увеличим разрешение картинки. Внутри цикла вы видите пики характерной формы - это S-боксы, преобразующие нужный нам ключ. Давайте запустим программу вскрытия, которая по особенностям этих сигналов отыскивает биты секретной информации, и вот через минуту или две мы получаем ключ на выходе программы».
   Значительно более стойкий криптоалгоритм Triple-DES вскрывался аналогично, но примерно раза в 3 раза больше по времени. Те же самые несколько минут уходили у аналитиков Datacard на отыскание пары больших простых чисел, образующих ключ в алгоритме RSA. Для этого не использовались, ясное дело, ужасно трудоемкие методы факторизации (разложения числа на множители), а «просто» внимательно анализировались реакции чипа смарт-карты на небольшие варьирования в напряжении и частоте при подаче питания…
   Самый эффектный, пожалуй, трюк - это извлечение информации из бесконтактных смарт-карт, когда вскрытие устройства и считывание секретного ключа делается с помощью специального радиочастотного интерфейса - дистанционно и абсолютно незаметно для владельца [СР02].