Исследователи обобщают эти методы, относя к ним нападения на системы с помощью измерения энергопотребления, уровня излучения и использования других
Допустим, нападающий хочет узнать секретные ключи, находящиеся внутри модуля, защищенного от вторжения: смарт-карты, карты PCMCIA или чего-нибудь подобного. Он не может осуществить криптографический анализ алгоритмов или протоколов (они слишком хороши) и не способен взломать систему сопротивления вторжению. Но атакующий умен; вместо того чтобы анализировать только входные и выходные данные, он обращает внимание также на скорость, с которой модуль проводит операции. Критическое рассмотрение атаки измерения времени показывает, что выполнение многих операций шифрования происходит с различной скоростью для различных ключей. Знание скорости, с которой происходит определенная операция, дает информацию о ключе. Знание множества различных скоростей для различных операций помогает получить полную информацию о ключе.
Представьте себе атаку, направленную против склада: вы хотите узнать, что находится внутри. У вас нет возможности заглянуть на склад, чтобы посмотреть, как там расположены вещи. Однако вы можете попросить служащего «получить» материал для вас. Время, которое ему потребуется для того, чтобы сделать ту или иную вещь, скажет вам многое об этом складе. Он каждый раз тратит много времени на то, чтобы принести картридж? Должно быть, картриджи находятся в самом дальнем углу. Расходует ли он больше времени на то, чтобы принести стопку бумаги, через каждые 10 запросов? Тогда, должно быть, бумага сложена в коробки по 10 пачек. Ему требуется больше времени на то, чтобы принести карандаши, чем на то, чтобы принести резинки? Это говорит о том, какие коробки лежат сверху.
Рассмотрим тайминг-атаку против устройства проверки пароля. Берем случайный пароль и варьируем только первый символ. Так как всего букв 26, можно использовать строчные и прописные, еще 10 цифр, несколько знаков пунктуации, итого около 70 паролей. Возможно, один из них устройство будет проверять дольше, чем остальные, прежде чем отклонить. Возможно, это пароль с правильным первым символом. Повторим то же самое с остальными символами. Если вы предпринимаете попытку атаковать пароль из 8 символов, вам нужно проверить всего 560 паролей и измерить соответствующие задержки.
Атакующий не обязательно должен ограничиться тайминг-анализом. Он может посмотреть, сколько энергии затрачено на различные операции. (В случае, когда модуль потребляет разное количество энергии при осуществлении одинаковых по сути операций, в зависимости от ключа.) Он может исследовать также, сколько тепла излучается и даже где в модуле находится источник излучения. Например,
Все эти атаки допустимы, поскольку модуль находится в руках атакующего. Если модуль помещен в хранилище, закрытое на замок, злоумышленник не сможет проводить эти виды атак. (Хотя он, вероятно, окажется в состоянии осуществить нападение против другой копии такого же продукта, которая может обеспечить ему получение некоторой интересной информации.) Но в случае, когда проектировщики систем полагаются на аппаратные средства защиты от вторжения и дают возможность нападающему получить копию модуля, они тем самым убирают препятствия для проведения подобных систематических атак.
Иногда возможно осуществлять некоторые нападения удаленно, через сеть. Здесь не получится наблюдать за потерями тепла и энергопотреблением, но вы сможете измерять временные интервалы. Конечно, в сети всегда присутствует некий шум, что не особенно мешает получить результат математически. Или вы можете наблюдать излучение (военные называют это TEMPEST).
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии