30.03.2017

О нетрадиционном применении криптографии

Модерируя секцию по нестандартному применению криптографии на Рускрипто, и слушая доклады Руслана Иванова из Cisco и Федора Синицина из Лаборатории Касперского, я в очередной раз задумался о роли криптографии в обеспечении информационной безопасности в России.


Вообще, я начинал свою деятельность на ИБ-поприще как раз с разработки СКЗИ в одном из московских "ящиков" в далеком 91-м году. С тех пор я не очень люблю эту тему, так как считаю, что она излишне жестко зарегулирована в России, а местами даже хиреет.

У нас в России признано всего три стандарта (открытых) по криптографии - на блочные шифры (Кузнечик), на хеш (Стрибог) и на электронную подпись (кстати, у него есть неформальное название?). Разработка, производство, распространение, техобслуживание СКЗИ - лицензируемый вид деятельности и "чужие там не ходят". ФСБ признает только сертифицированные СКЗИ, число которых очень ограничено, а под многие применения их попросту нет. При этом у нас есть федеральный государственный образовательный стандарт (ФГОС) по этому направлению, по которому готовятся и выпускаются молодые специалисты, которые непонятно для чего нужны (без обид). Разработка СКЗИ ограничена только разрешенными стандартами, а их применение описано в ТУ на СКЗИ - никакой свободы творчества.

При этом на РусКрипто активно обсуждаются SNP-шифры, гомоморфное шифрование, постквантовые алгоритмы, блокчейн и многое другое. По сути РусКрипто - это такая отдушина для тех, кто занимается направлениями, не имеющими практического смысла в России в обозримом будущем (по крайней мере мне так кажется). Любая же секция, на которой поднимаются вопросы практического применения криптографии (в финансовых операциях, в Интернет, в облаках, в АСУ ТП, в Интернете вещей, в блокчейне, в виртуализации, в трансграничном обмене...) разбивается об отсутствие четкой сформулированной позиции регулятора и его нежелание (как мне кажется) хоть что-то делать в этой области.

Да, ТК26 работает, выпускает различные рекомендации, методические документы, но крутятся все эти документы вокруг тех же трех стандартов и носят скорее теоретический характер, чем нечто прикладное и применимое в реальной жизни. Я помню свои дискуссии с покойным Кузьминым Алексеем Сергеевичем еще несколько лет назад на CTCrypt в Екатеринбурге. Поднималось некоторое количество вопросов "от потребителей", о которых 8ка обещала подумать и... воз и ныне там. И, видимо, уже там и останется :-(

Но оставим в стороне это лирическое отступление, поговорим о теме, вынесенной в заглавии заметки. Очень интересными оказались два доклада, которые показали криптографию немного с иной стороны. В докладе Руслана Иванова рассматривалось исследование (видео на английском), в котором была продемонстрирована возможность обнаружения вредоносного кода в зашифрованном TLS-трафике. Когда эта тема только заявлялась на РусКрипто, мне задавали вопросы, как это вообще возможно, ведь суть шифрования именно в том, чтобы нельзя было без ключа понять, что скрывается в закрытом потоке данных. Ну так вот исследования показали, что никакого ключа знать не надо и никакого перебора всех возможных вариантов тоже не требуется. Просто изучаются комбинации различных атрибутов сетевого трафика, по которым и принимается решение о наличии или отсутствии вредоносной активности. Эффективность детектирования для разных семейств вредоносного кода показана в таблице (все разъяснения даны в исследовании по ссылке выше):

Надо признать, что показатели в 99+% выглядят очень и очень многообещающе в условиях роста зашифрованного трафика в Интернет и пересечении 50%-го рубежа.

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

Из доклада Федора я сделал несколько выводов:
  • Авторы вредоносного кода сами не разрабатывают алгоритмы шифрования и криптобиблиотеки тоже не пишут. Они предпочитают использовать готовые инструменты - CryptoAPI, OpenSSL, LibTomCrypt и т.д.).
  • Используются различные схемы распределения ключей, сложность которых растет. Например, многие вредоносы используют отдельный ключ на каждый шифруемый файл и сам ключ генерится на командном C&C-сервере и отправляется вредоносному ПО по запросу (а не хранится на зараженном ПК, как это было раньше).
  • Хорошая реализация криптофункций в вредоносе приводит к невозможности расшифрования/дешифрования файлов. Таких случаев все больше. Злоумышленники стали применять очень непростые схемы и протоколы.
  • Злоумышленники применяют только западную криптографию в своих творениях. Федор упомянул только один случай, когда вредоносное ПО использовало наш ГОСТ и то только потому, что автор вредоноса задействовал библиотеку Delphi, содержащую набор реализаций криптоалгоритмов, включая и отечественный ГОСТ.
  • Злоумышленникам не нужны никаких лицензии на разработку или распространение, а также не требуется сертификация на законченные изделия - они не скованы никакими ограничениями, присущими законопослушными потребителями СКЗИ. Это дает авторам вредоносного ПО большую фору и только случайность или невнимательность разработчиков вредоносного ПО позволяет антивирусным компаниям найти в них изъяны.
  • От себя добавлю, что в условиях активного развития схемы Ransomware-as-a-Service, злоумышленникам вообще не требуется никаких знаний криптографии - все за них делают специально обученные люди.

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

2 коммент.:

Lu Cisco комментирует...

«-Мы пахали!», сказала муха сидя на плуге.»
Согласен с автором, что доклады Руслана Иванова из Cisco и Федора Синицина из Лаборатории Касперского действительно представляют определенный интерес, хотя автор очень скудно описывает полученные результаты. Лучше найти презентации, опубликованные на сайте РусКрипто, и ознакомиться с ними самостоятельно.
С другой стороны, вызывает недоумение неосведомленность автора, работающего в компании Cisco, достижениями своих коллег.
Лирическое отступление и послесловие, ставшее уже традиционными для автора, вызывают раздражение, т.к. содержат как всегда не конструктивную критику и значительное число фактических ошибок. К сожалению автор за два года так и не узнал, что национальных стандартов Российской Федерации в области криптографии - четыре, а не три, как пишет автор.
«Разработка СКЗИ ограничена только разрешенными стандартами...», хотелось бы напомнить, что родина той компании, в которой работает автор, также имеет замкнутую систему криптографических стандартов и сводится к AES, SHA, RSA и EDSA. Дальнейшее перечисление ошибок считаю избыточным...
В заключение, хотелось бы предложить автору сосредоточить усилия на своих конкретных Действиях, которые можно описывать в начале публикаций, вместо указанных «лирических отступлений».

Алексей Лукацкий комментирует...

Вы криптограф и я задел вас своей заметкой?

1. Я не пересказываю доклады Руслана и Федора и не планировал - я поделился своими впечатлениями. Желающие смогут сами их посмотреть на сайте конференции.
2. О работах своих коллег я осведомлен и писал о них уже - еще в прошлом году. Как и многом, о чем я пишу, но о чем не осведомлены некоторые читатели.
3. Лирические отступления и послесловия могут вас раздражать, но к счастью для меня, я не заставляю вас читать себя. Вы можете перестать это делать и сможете меньше раздражаться.
4. Автор прекрасно знает о 4-м стандарте о режимах блочных шифров, но забыл про это написать и на суть заметки это мало влияет. К прикладной криптографии, описанной в заметке, это не имеет отношения.
5. На Родине компании, в которой я работаю, нет требований по обязательной крипте для гражданского применения, как в России. И можно применять разные алгоритмы, что многие и делают, применяя всяческие RC4 (да, он ломается, я знаю), Blowfish и т.п.
6. В заключение хочу сообщить, что я сам решу, что, как и когда мне делать. И уж точно к мнению анонимов я не прислушиваюсь.