При обмене сертификатами X.509 можно скрытно передать информацию

При обмене сертификатами X.509 можно скрытно передать информацию

Исследователь в области безопасности опубликовал код, демонстрирующий, что обмен сертификатами X.509 может скрытно передать информацию. Джейсон Ривс из Fidelis Cybersecurity раскрыл скрытый вектор, который использует поля в расширениях X.509 для переноса данных.

X.509 представляет собой стандарт для инфраструктуры открытого ключа и инфраструктуры управления привилегиями. X.509 определяет стандартные форматы данных и процедуры распределения открытых ключей с помощью соответствующих сертификатов с цифровыми подписями.

Как объясняет Ривс, злоумышленник может скрытно получить данные компании по пути X.509. TLS использует X.509 для обмена сертификатами в процессе handshake, который устанавливает зашифрованное соединение.

«Проще говоря, сертификаты TLS X.509 имеют много полей, где могут быть сохранены строки. Поля включают версию, серийный номер, название выпустившего сертификат органа, срок действия и тому подобное. Описанное в нашем исследовании злоупотребление сертификатами использует этот факт, чтобы скрыть передачу данных в одном из этих полей», — объясняют в Fidelis.

Основное эксплуатируемое экспертов поле — class=wrap_text>SubjectKeyIdentifier, в то время как «большинство библиотек» пытаются ограничить размер пакета во время handshake, «расширение в самом сертификате может быть длины, ограничиваемой только размером памяти».

Код proof-of-concept, по словам исследователя, использует самоподписанные сертификаты. Для противодействия таким атакам надо блокировать их, уточняет эксперт.