TLS 1.3 в OpenSSL теперь поддерживает российские стандарты шифрования

TLS 1.3 в OpenSSL теперь поддерживает российские стандарты шифрования

TLS 1.3 в OpenSSL теперь поддерживает российские стандарты шифрования

Специалисты компаний «Криптонит» и «Криптоком» завершили разработку открытой реализации протокола TLS версии 1.3, обеспечивающего защиту данных с использованием российских криптографических алгоритмов. Она доступна как расширение для OpenSSL 1.1.1.

Протокол TLS используется в браузерах, мессенджерах, клиентах электронной почты, IP-телефонии и другими приложениями для обеспечения конфиденциальности данных, передаваемых через интернет. Версия 1.3 этого протокола определена в международном стандарте RFC8446 и является достаточно «революционной». Благодаря ей внесены существенные модификации в протокол, обеспечивающие одновременно усиление безопасности и улучшение его пользовательских характеристик.

TLS 1.3 позволяет использовать различные алгоритмы шифрования, распределения ключей и цифровой подписи. Конкретный набор криптографических алгоритмов (cipher suites), поддерживаемый обеими сторонами, задаётся на этапе «рукопожатия» (Handshake) — согласования параметров соединения.

Стандарт RFC8446 предусматривает использование в протоколе только зарубежных криптоалгоритмов. В России принято расширение RFC8446 — стандарт Р 1323565.1.030-2020. Его основным отличием является использование российских криптографических алгоритмов и поддержка других режимов работы протокола. Отечественный стандарт определяет 4 криптонабора, каждый из которых использует режим MGM (описан в Р 1323565.1.026) со своими уникальными параметрами.

Режим MGM относится к группе алгоритмов AEAD (аутентифицированного шифрования со связанными данными). В нём используется мультилинейный режим с аутентификацией Галуа, позволяющий одновременно обрабатывать конфиденциальные данные (содержимое сетевых пакетов) и вспомогательные технические (заголовки пакетов). Последние не нужно шифровать, но им требуется обеспечить защиту от модификации (целостность) и проверяемое соответствие зашифрованным фрагментам. Иными словами, MGM защищает от несанкционированных изменений метаданных, передаваемых открытым текстом.

Ранее научно-производственная компания «Криптонит» сообщала о создании на базе OpenSSL 1.1.1 реализации с открытым исходным кодом всех актуальных российских алгоритмов шифрования и режимов их использования, включая режим MGM. Следующим шагом стало обеспечение возможности использования этих алгоритмов в протоколе TLS 1.3.

Основным механизмом расширения функциональности библиотеки OpenSSL в версии 1.1.1 и более ранних является механизм «движка» (engine). Значительный объём российских криптографических алгоритмов доступен в OpenSSL через расширение Gost Engine.

Специалистами компаний «Криптонит» и «Криптоком» были выполнены следующие доработки Gost Engine, а также исходного кода самой библиотеки OpenSSL:

  • добавлен алгоритм кодировки открытого эфемерного ключа в расширении key_share (на этапе Handshake);
  • добавлен алгоритм выработки общего секретного значения ECDHE, при использовании протокола Диффи-Хеллмана;
  • реализован алгоритм TLSTREE, используемый для порождения ключей защиты записей из корневого ключа;
  • доработан механизм согласования алгоритма в расширении signature_algorithms (потребовало правки кода OpenSSL);
  • доработана встроенная система тестов.

«За относительно короткое время после выхода официального стандарта мы сделали open-source реализацию протокола TLS 1.3 с отечественной криптографией. Мне кажется, это хорошая работа и отличный задел на будущее для научного сообщества, разработчиков, а также пользователей, которые должным образом относятся к безопасности своих коммуникаций», — поясняет Александр Спиридонов, руководитель лаборатории информационной и сетевой безопасности НПК «Криптонит».

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

На заключительном этапе согласно методическим рекомендациям ТК26 была проведена проверка полученной реализации протокола TLS 1.3 на контрольных примерах. Дополнительно выполнено её тестирование с использованием формального языка первичных спецификаций криптографических протоколов. Разработанную реализацию протокола TLS 1.3 планируется использовать на стенде тестирования совместимости криптографических средств, также разработанного в НПК «Криптонит».

Параллельно для текущей ветки OpenSSL 3.0 уже ведётся аналогичная работа по внедрению российских стандартов шифрования.

Positive Technologies научила ИИ замечать подозрительные сценарии в коде

Positive Technologies сообщила о разработке нейросети MOLOT, предназначенной для поиска вредоносного кода в проектах на Python, JavaScript и TypeScript. Технология уже используется в составе анализатора исходного кода PT Application Inspector версии 6.0.

В отличие от традиционных инструментов статического анализа, которые ищут опасные конструкции по заранее заданным правилам, новая модель анализирует последовательность действий, выполняемых программой.

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

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

 

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

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

 

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

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

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

Интерес к подобным инструментам растёт на фоне увеличения числа атак через цепочки поставок ПО, вредоносные пакеты в публичных репозиториях и распространения ИИ-инструментов для генерации программного кода.

RSS: Новости на портале Anti-Malware.ru