Клептография и криптовирология
30 мая 2022
В современной криптографии широко используются асимметричные алгоритмы шифрования и электронной подписи. Большинство их реализаций имеет зарубежное происхождение и вызывает обоснованные сомнения в надёжности.

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

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

Термин «Клептография» был введён в 1996 году Адамом Янгом и Моти Юнгом — известными консультантами по криптографии, работающими на Министерство обороны США и частные компании.

Изначально они называли клептографией внедрение трудно выявляемого бэкдора исключительно в схемы асимметричной криптографии. Такой бэкдор давал возможность вычислить секретный ключ пользователя по его открытому ключу, но только тем, кто знал некий секрет. Как вариант — это был ещё один секретный ключ, общий для бэкдоров одного типа и не зависящий от действий пользователя.

Шифрование для малвари

Клептография стала теоретической основой криптовирологии — методов разработки вредоносного ПО, шифрующего свой код и/или трафик на открытом ключе. К примеру, в последние годы распространились трояны-вымогатели.

В отличие от предшественников, они уже не просто выполняют на компьютере жертвы шифрование файлов, используя блочный алгоритм (AES, ThreeFish, Serpent, «Кузнечик»). Если бы они этим ограничивались, то вирусный аналитик смог бы проанализировать код трояна и его действия, чтобы найти ключ Ksym — общий для операций шифрования и расшифрования, поскольку все эти алгоритмы симметричные.

Для усложнения атаки современные вирмейкеры прибегают к хитрости: они дополнительно зашифровывают Ksym на открытом ключе (Ko) и отправляют его создателю трояна, после чего удаляют с затиранием свободного места случайными данными. Восстановить Ksym как удалённый файл становится невозможно. Теперь он существует только в зашифрованном виде.

Чтобы расшифровать Ksym, а затем и файлы, аналитику потребуется парный Ko секретный ключ (Ksec), который известен лишь автору трояна, никогда не передавался и не хранился ни на одном заражённом компьютере.

Другой пример из области криптовирологии — бэкдоры, крадующие конфиденциальную информацию. Они отправляют данные как трафик, зашифрованный открытым ключом. Такой метод широко применяется в легитимных коммуникациях (TLS/IPSec/PGP), поэтому не выделяется на общем фоне. При использовании клептографических бэкдоров сложно даже обнаружить факт утечки данных, не говоря уже о попытке выяснить, что и куда передавалось с компьютера жертвы.

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

Почти клептография

Близко к клептографии примыкают классические программные и аппаратные закладки, зачастую устанавливаемые самими разработчиками, или их контрагентами. Вспомните скандал с бэкдорами в оборудовании Cisco, или аналогичные обвинения компании Huawei правительством США.

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

Например, только в 2014 году выяснилось, что по требованию Агентства национальной безопасности США компания RSA Security ослабила генератор псевдослучайных чисел Dual_EC_DRBG таким образом, чтобы он проходил все стандартные проверки надёжности, но имел «математическую особенность», на порядки снижающую реально выдаваемое количество вариантов. К моменту публикации этот ГПСЧ использовался на протяжении двенадцати лет в популярной криптографической библиотеке BSAFE, а также в OpenSSL, ОС Windows и других массовых продуктах.

Иногда в своём стремлении сохранить возможность расшифровки трафика без ведома пользователя западные спецслужбы готовы применять клептографию на аппаратном уровне. В начале девяностых правительство США инициировало массовый выпуск микросхемы Clipper (VLSO MYK-78). Предполагалось, что она будет устанавливаться во все телефоны и шифровать голосовую связь, оставляя АНБ возможность простой расшифровки за счёт встроенного бэкдора. Только исключительная дороговизна проекта не позволила превратить его в жизнь.

В современных материнских платах есть другая микросхема, в которой легко реализовать скрытый криптографический функционал. Речь идёт о TPM (модуль доверенной платформы), наличие которого проверяет при установке Windows 11.

Дополняет картину технология Intel ME и система исправлений микрокода в процессорах AMD, которые дают возможность внедрить клептографический бэкдор непосредственно в них уже после выпуска, любых проверок и начала использования.

Скрытые каналы в мобильных сетях

Усилиями независимых исследователей программные закладки всё чаще находятся и в других популярных криптографических системах. Недавно такой бэкдор был обнаружен в алгоритмах шифрования GEA-1 и GEA-2, которые применялись в сетях GSM первых трёх поколений. С приходом LTE они должны были кануть в лету, но по факту многие мобильные операторы продолжают использовать их и сейчас ради совместимости со старым оборудованием.

Новое исследование показало, что алгоритм GEA-1 был намеренно ослаблен так, чтобы вместо 2^64 теоретически возможных вариантов ключа на практике было не более 2^40 (то есть, в 16 777 216 раз меньше).

Для реализации атаки на соединение, зашифрованное GEA-1, вообще не требуется активных методик атаки. Достаточно пассивно перехватить всего 65 бит зашифрованных данных, для которых известен открытый текст. Это легко выполнимо, поскольку в начале каждого соединения идёт стандартный обмен данными с достаточно длинными заголовками пакетов предсказуемого содержания.

Атака на соединение с шифрованием GEA-2 сложнее, но принципиально такая же. Разница в том, что нужно перехватить уже 1600 бит ключевого потока (зашифрованных данных с известным содержимым), а затем перебрать 2^45 вариантов ключа. С учётом доступности программно-определяемых радиосистем (SDR), это вполне осуществимо за разумное время (часы, дни) даже без наличия у атакующей стороны собственных многопроцессорных кластеров — спасибо сервисам облачных вычислений.

Перечисленные выше примеры приводят к простому выводу: нет оснований доверять зарубежным криптографическим продуктам. Нужно разрабатывать собственные!

Доверять нельзя разрабатывать

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

Её суть в том, что благодаря асимметричным алгоритмам всегда возможна незаметная модификация компонентов криптографических систем таким образом, чтобы создать в них обходные пути и скрытые каналы передачи данных. Качественно реализованная клептографическая закладка не позволяет обнаружить статистическими методами открытые ключи, по которым, зная секрет, можно быстро восстановить закрытый ключ пользователя.

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