Анализ побочных каналов утечки
Летом 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 и ставит перед собой цель создания смарт‑карт следующего поколения, способных максимально противостоять современным атакам вплоть до «полуразрушающих». Создание абсолютной защиты, естественно, не является реалистичным для реально применяемых устройств, одно из главных достоинств которых – дешевизна.