Линейный криптоанализ
- 1 year ago
- 0
- 0
Акустический криптоанализ ( англ. Acoustic cryptanalysis ) — разновидность пассивной атаки по сторонним каналам , направленная на получение информации из звуков, производимых компьютерами или иными шифрующими устройствами . Изначально данная атака использовалась для взлома электромеханических шифровальных машин и . Однако в современном акустическом криптоанализе основной упор производится на шумы, создаваемые клавиатурой или внутренними компонентами компьютера.
В 1974 году Виктору Марчетти ( англ. Victor Marcetti ) и Джону Д. Марксу удалось добиться рассекречивания использования ЦРУ звуков, перехваченных при распечатывании шифромашиной открытого текста . Данный метод стал возможен с появлением достаточно дешёвых устройств, реализующих быстрое преобразование Фурье , что в данном случае произошло в конце 1960-х — в середине 1970-х годов.
Однако подобные акустические атаки с использованием более примитивных способов уже осуществлялись в середине 1950-х годов. Бывший агент MI5 в своей книге «Spycatcher» описывает использование криптоанализа против египетских шифромашин Хагелина . Данная операция получила кодовое название «ENGULF».
В ходе операции в 1956 году в Лондонском посольстве Египта были размещены прослушивающие устройства, которые перехватывали шумы, издаваемые шифромашинами. Это позволило британским разведчикам получить секретную информацию, что повлияло на позицию Великобритании в Суэцком кризисе .
MI5 также успешно использовала данный метод в операции «STOCKADE» по прослушке французского посольства в Лондоне.
В 2004 году Дмитрий Асонов и Ракеш Агравал, работавшие в Almaden Research Center, IBM , объявили, что клавиатуры компьютеров, телефонов и банкоматов уязвимы для атак по звукам нажатий различных клавиш . Анализируя аудиозапись при помощи нейронной сети , им удалось воссоздать текст, набранный на другом компьютере. Данный метод позволяет злоумышленникам узнать пароли, ПИН-коды и иную информацию, вводимую с клавиатур.
В 2005 году группа учёных из Калифорнийского университета в Беркли провела серию практических экспериментов, подтвердив возможность атаки, предложенной Асоновым и Агравалом.
Многие элементы компьютера во время работы испускают высокочастотный звук. Однако это не просто шум — из него можно получить данные о запущенных программах, а в частности, защищённую информацию о вычислениях системы безопасности.
В 2004 году Ади Шамир и продемонстрировали возможность атаки по времени по анализу побочных каналов ЦПУ , производящего криптографические операции. При этом анализировались не электромагнитное излучение компьютера или уловимый гул системы охлаждения, а ультразвук , издаваемый конденсаторами и катушками индуктивности на материнской плате в цепях питания ЦПУ.
В качестве шифроалгоритма был выбран RSA в реализации GnuPG . Эксперимент проводился как с недорогим общедоступным оборудованием, так и с более чувствительным, но дорогостоящим. В первом случае дешёвый микрофон был расположен на расстоянии 20 см от открытого корпуса с выключенными вентиляторами. Во втором же случае условия были приближены к реальным — взламываемый компьютер располагался на расстоянии 1—2 метра и находился в собранном состоянии. В обоих случаях были достигнуты схожие результаты.
Объединившись с Дэниелем Генкином, Ади Шамир и Эран Тромер продолжили исследование вопроса. В итоге они успешно реализовали данную атаку и опубликовали в декабре 2013 года статью с результатами.
Благодаря проведённой работе им удалось значительно усовершенствовать атаку. Данный метод может за 1 час работы извлечь целиком 4096- бит овый RSA- ключ с ноутбука жертвы. Для этого достаточно положить мобильный телефон рядом с ноутбуком. Более чувствительный же микрофон можно установить на расстоянии 4 метра от компьютера.
Обычно атаки по стороннему каналу требуют замеров с разрешением по времени, близким ко времени исполнения одной операции. Но в компьютерах операции проходят значительно быстрее (порядка ГГц), чем частота приёма микрофонов (до 20 кГц — для обычных микрофонов, и до нескольких сотен кГц — для ультразвуковых микрофонов). Однако даже при помощи таких измерений возможно полное извлечение ключа.
В ходе исследований было обнаружено, что операция шифрования RSA (пакета GnuPG) обладает характерным частотным спектром . Более того, спектр во многих случаях проявляет зависимость по ключу, то есть, различные ключи издают различные звуки.
В основе процесса извлечения ключа лежит атака на основе адаптивно подобранного шифротекста . Благодаря особенностям реализации алгоритма шифрования, в цикле алгоритма появляется серия нулей. Один проход по циклу выполняется слишком быстро для улавливания микрофоном. Но при повторении этого события в течение нескольких тысяч проходов утечка по акустическому каналу становится значительной, позволяя побитово получать информацию о ключе.
Время выполнения атаки и её успешность зависят от многих параметров — положения микрофона, внешних шумов, акустики комнаты, модели атакуемой машины и даже температуры окружающей среды. В среднем же время атаки на ноутбук Lenovo ThinkPad T61 в обычных офисных условиях с портативным микрофоном занимало 1 час.
Помимо акустической атаки, исследователями был предложен аналогичный метод взлома по флуктуациям потенциала . Злоумышленник может измерить изменения потенциала на конце кабеля, подключённого к компьютеру (например, Ethernet ) и тем самым провести успешную атаку.
Также возможен футуристичный метод взлома в одно касание — злоумышленник дотрагивается до корпуса компьютера/ноутбука и получает необходимую информацию, измеряя потенциал своего собственного тела.
Исследователи поставили в известность разработчиков GnuPG и основных производителей об уязвимости и предложили возможные контрмеры. Одновременно с публикацией статьи (декабрь 2013 года) вышли обновления для GnuPG 1.x, GnuPG 2.x и libcrypt, в которых были реализованы данные контрмеры. Однако стоит заметить, что полностью от этой акустической атаки это не защищает (к примеру, всё ещё можно отличить один RSA ключ от другого).
Интересно, что защита от атак по сторонним каналам, появившаяся в GnuPG до этого, не только не защищала от данной атаки, но и облегчала распознавание ключа.
Несмотря на то, что атака — физическая, в данном случае защита на программном уровне более эффективна ввиду высоких затрат при малой выгоде. Любое остаточное излучение зачастую можно усилить до приемлемого уровня, при этом большая часть шумов не несёт в себе какую-либо информацию. Защитой на программном уровне можно добиться, что утёкшая информация будет бесполезна для злоумышленника.
Для защиты от подслушивания звуков нажатия клавиш клавиатуры можно проигрывать звуки той же частоты и формы. Воспроизведя звуки нажатий клавиш в случайном порядке, можно значительно снизить вероятность успешного проведения этого типа атак. Желательно использовать как минимум 5 различных записей для каждой кнопки, чтобы уменьшить риск распознания при помощи быстрого преобразования Фурье . В качестве альтернативы, белый шум достаточной громкости (что технически проще реализовать) может скрыть звуки нажатий кнопок.
Против атак, использующих шумы работающих компонентов, можно использовать специальные шумоподавляющие корпусы, способные заглушить издаваемые звуки характерной частоты. Можно также воспользоваться генератором белого шума, однако этот способ может оказаться непривлекательным с эргономической точки зрения. Кроме этого, использование высококачественных радиодеталей и специально спроектированных электросхем может способствовать уменьшению амплитуды издаваемых шумов.
Также можно реализовать защиту на программном уровне, модифицировав программное обеспечение. Изменения, внесённые в работу алгоритма, могут ограничить полезность информации, которую может перехватить злоумышленник. Эти модификации обычно сказываются на производительности, но позволяют сделать поведение криптографического алгоритма независимым от входных данных.