Russian-speaking
 Python & Zope User Group

Главная |  Python |  Zope  

Python
Zope
Новости
Copyright
Ответственность  

Допустим, нападающий хочет узнать секретные ключи, находящиеся внутри модуля, защищенного от вторжения: смарт-карты, карты PCMCIA или чего-нибудь подобного. Он не может осуществить криптографический анализ алгоритмов или протоколов (они слишком хороши) и не способен взломать систему сопротивления вторжению. Но атакующий умен; вместо того чтобы анализировать только входные и выходные данные, он обращает внимание также на скорость, с которой модуль проводит операции. Критическое рассмотрение атаки измерения времени показывает, что выполнение многих операций шифрования происходит с различной скоростью для различных ключей. Знание скорости, с которой происходит определенная операция, дает информацию о ключе. Знание множества различных скоростей для различных операций помогает получить полную информацию о ключе.

Представьте себе атаку, направленную против склада: вы хотите узнать, что находится внутри. У вас нет возможности заглянуть на склад, чтобы посмотреть, как там расположены вещи. Однако вы можете попросить служащего «получить» материал для вас. Время, которое ему потребуется для того, чтобы сделать ту или иную вещь, скажет вам многое об этом складе. Он каждый раз тратит много времени на то, чтобы принести картридж? Должно быть, картриджи находятся в самом дальнем углу. Расходует ли он больше времени на то, чтобы принести стопку бумаги, через каждые 10 запросов? Тогда, должно быть, бумага сложена в коробки по 10 пачек. Ему требуется больше времени на то, чтобы принести карандаши, чем на то, чтобы принести резинки? Это говорит о том, какие коробки лежат сверху.

Рассмотрим тайминг-атаку против устройства проверки пароля. Берем случайный пароль и варьируем только первый символ. Так как всего букв 26, можно использовать строчные и прописные, еще 10 цифр, несколько знаков пунктуации, итого около 70 паролей. Возможно, один из них устройство будет проверять дольше, чем остальные, прежде чем отклонить. Возможно, это пароль с правильным первым символом. Повторим то же самое с остальными символами. Если вы предпринимаете попытку атаковать пароль из 8 символов, вам нужно проверить всего 560 паролей и измерить соответствующие задержки.

Атакующий не обязательно должен ограничиться тайминг-анализом. Он может посмотреть, сколько энергии затрачено на различные операции. (В случае, когда модуль потребляет разное количество энергии при осуществлении одинаковых по сути операций, в зависимости от ключа.) Он может исследовать также, сколько тепла излучается и даже где в модуле находится источник излучения. Например, атаки измерения энергии (powerattacks) были применены, чтобы раскрыть секреты почти всех смарт-карт, имеющихся на рынке.

Все эти атаки допустимы, поскольку модуль находится в руках атакующего. Если модуль помещен в хранилище, закрытое на замок, злоумышленник не сможет проводить эти виды атак. (Хотя он, вероятно, окажется в состоянии осуществить нападение против другой копии такого же продукта, которая может обеспечить ему получение некоторой интересной информации.) Но в случае, когда проектировщики систем полагаются на аппаратные средства защиты от вторжения и дают возможность нападающему получить копию модуля, они тем самым убирают препятствия для проведения подобных систематических атак.

Иногда возможно осуществлять некоторые нападения удаленно, через сеть. Здесь не получится наблюдать за потерями тепла и энергопотреблением, но вы сможете измерять временные интервалы. Конечно, в сети всегда присутствует некий шум, что не особенно мешает получить результат математически. Или вы можете наблюдать излучение (военные называют это TEMPEST).

TEMPEST заслуживает более подробных объяснений, если по каким-то причинам различные военные ведомства тратят кучу денег на защиту против него. Система нападения извлекает информацию, содержащуюся в излучении электронной аппаратуры, используя чувствительный радиоприемник, специально настроенный на нужный канал, чтобы воспринимать нужную информацию. (Это излучение также называют излучением ван Эка.) Видеомониторы, возможно, наиболее уязвимы – с «правильным» оборудованием вы сможете читать содержимое экрана чужого компьютера, несмотря на блокировку, – но утечка информации в той или иной степени существует везде. Сотовые телефоны, факсимильные аппараты и коммутаторы – через них тоже утекает информация. Не имеет значения, что данные в этих устройствах могут быть зашифрованы; как зашифрованные, так и «открытые» данные излучают, и обладающий достаточными ресурсами атакующий способен отличить одно от другого. Кабели ведут себя как антенны; от них также распространяется излучение, несущее информацию. Линии электропередач – это трубопроводы, по которым течет информация. Это нетривиальная атака, которая может потребовать массу специального оборудования. Иногда это легко – прочитать информацию с экрана чьего-нибудь компьютера, – но в других случаях оказывается сложным и трудоемким.

Правительственное решение проблемы излучения – это экранирование. Военные покупают компьютерное оборудование, которое экранировано от TEMPEST. Когда они создают оборудование для шифрования, они тратят дополнительные деньги, чтобы быть уверенными, что открытый текст не утекает через линии передачи зашифрованных данных или из устройства для шифрования. Они покупают экранированные кабели и для передачи данных и для электропитания. Они даже строят TEMPEST-экранированные помещения или, в критических случаях, целые здания: все это называется SCIFs (Secure Compartmented Information Facilities, средства безопасности для предотвращения утечки информации).

Существуют и другие атаки с использованием побочных каналов. Иногда нагревание или охлаждение модуля может предоставить в ваше распоряжение интересную информацию; в других случаях результат даст изменение напряжения на входе. Один безопасный процессор, например, предоставлял доступ к секретным данным, если входное напряжение мгновенно понижалось. Другой имел генератор случайных чисел, который выдавал их все, если напряжение медленно понижалось. Другие модули уязвимы, когда вы задействуете тики генератора импульсов синхронизации.

Подумайте обо всем этом как о неагрессивных биологических экспериментах. Вы можете многое узнать об организме, если будете просто наблюдать за ним: что он ест, что он выделяет, когда он спит, сколько времени ему требуется для выполнения определенной задачи в различных случаях, в условиях тепла или холода, сырости или сухости. Нет необходимости его вскрывать: вы можете многое узнать о нем в процессе его нормального функционирования.

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

Анализ ошибок – еще одна мощная атака, поскольку шифрование чувствительно к малым изменениям. В главе 7 я говорил о том, как легко это применить к некорректной системе шифрования, нарушив ее безопасность в процессе функционирования. При анализе ошибок аналитик намеренно вводит ошибки в процесс осуществления шифрования – в особых точках, которые обеспечат максимальную утечку информации. Комбинируя это со взломом системы сопротивления вторжению – действуя на ключевые точки в том и другом направлении (не случайно, но специальным образом), – можно провести разрушительную атаку против безопасных модулей.

Систематические атаки недешевы. Маловероятно, что они будут выполнены преступниками-одиночками или сообществом террористов. Это атаки, которые могут осуществляться хорошо финансируемыми противниками: организованной преступностью, промышленными конкурентами, военными разведывательными организациями и академическими лабораториями. Но они работают, и работают хорошо. Системы, подобные смарт-картам, выполняли бы свои функции надежно, если бы заранее предполагалось, что систематические атаки возможны, и была уверенность, что даже в случае их успешного осуществления безопасность системы не будет нарушена.

Атаки с использованием побочных каналов не всегда можно распространить на любые системы. Нападение, основанное на анализе ошибок, невозможно провести, если процесс шифрования осуществляется таким образом, что атакующий не имеет возможности создать и использовать нужные ошибки. Но эта атака намного сильнее стандартных криптаналитических атак против алгоритмов. Например, известная атака против DES с использованием анализа ошибок требует от 50 до 200 блоков зашифрованного текста (без открытого текста) для того, чтобы восстановить ключ. Она работает только на определенных аутентификаторах DES, будучи выполненной определенным образом. Контраст с этим составляет лучшая атака без использования сторонних каналов, которая требует около 64 Тбайт открытого текста и зашифрованного текста для определения единственного ключа.

Некоторые исследователи заявляют, что это обман. Правильно, но в системах, существующих в реальном мире, атакующие всегда обманывают. Их работа – восстановить ключ, а не следовать неким произвольным правилам выполнения атаки. Дальновидные разработчики систем безопасности понимают это и приспосабливаются к обстановке. Мы верим, что наиболее действенные атаки используют информацию, получаемую через побочные каналы. Звук – тоже побочный канал; о прослушивании вращательного движения роторов электромеханических двигателей упоминал в своей книге «The Codebreakers» Дэвид Кан. Военные Соединенных Штатов долгое время разбирались с TEMPEST. И в своей книге «Охотник за шпионами» («Spycatcher») Питер Райт обсуждает утечку секретных данных через линию передач по побочному каналу (метод, известный среди военных как HIJACK), которая позволила взломать шифровальный механизм, использовавшийся французами.

Осуществить защиту трудно. Вы можете либо сократить количество информации, утекающей через побочные каналы, либо сделать эту информацию не соответствующей действительности. Оба метода имеют свои проблемы, хотя исследователи работают над ними. Более дорогие устройства оборудованы датчиками, позволяющими обнаружить подключение на входе, – регуляторами, определяющими падение напряжения, термометрами, фиксирующими попытки охладить устройство, часами, устойчивыми к внешним сбоям, – и не разрушить свои секреты. Другие устройства чувствуют, что их вскрыли, и реагируют подобающим образом. Но эти виды защитных мер преимущественно используются только в системах, которые покупают военные, и даже не применяются в таких безопасных устройствах, как смарт-карты.

Атаки с использованием побочных каналов очень эффективны, и это будет до тех пор, пока не существует хорошей теории, на которой могла бы строиться защита. В любом случае система, в которой устройство находится в руках одной персоны, а секреты, содержащиеся внутри, принадлежат другой, рискованна.

Атаки против смарт – карт

Смарт-карты могут рассматриваться как своего рода «заговоренные пули» компьютерной безопасности – многоцелевой инструмент, который находит применение для контроля доступа, в электронной коммерции, аутентификации, защите секретности и других приложениях. В основном разработчики используют их свойства безопасной территории: процессор и память, находящиеся внутри, неуязвимы (предположительно) для атак. Также они маленькие, переносимые, дешевые и гибкие. Это делает их привлекательными, но недостатки прямого ввода-вывода, применяемого в смарт-картах, придают им большую уязвимость.

Наиболее интересно в смарт-картах то, что существует большое число сторон, вовлеченных в любую систему на основе смарт-карт. Это означает, что смарт-карты чувствительны ко многим видам атак. Большинство этих атак невозможно в обычных компьютерных системах, так как они могли бы иметь место только в случае проникновения внутрь безопасной территории. Но по отношению к смарт-картам все перечисленные ниже атаки вправе вполне обоснованно считаться опасными.

Страницы:
 
 
Copyright © 2000-2024, Russian-speaking Python & Zope User Group Ответственность