Claude обнаружил почти 500 проблем безопасности в коде C, Java и Python, в том числе уязвимость 21-летней давности

Claude обнаружил почти 500 проблем безопасности в  коде C, Java и Python, в том числе уязвимость 21-летней давности

изображение: grok

Anthropic проверила с помощью ИИ Claude 25 крупных проектов с открытым исходным кодом и обнаружила почти 500 проблем, связанных с защитой систем. Среди находок оказались ошибочные настройки защитных механизмов, доступ к чувствительным участкам программ до авторизации и конфигурационный конфликт, который оставался незамеченным 21 год. В компании заявили, что вместо бесконечной охоты за отдельными уязвимостями разработчикам разумнее сокращать число участков кода, доступных атакующим.

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

Более 5 млн строк под лупой

Исследование охватило более 5 млн строк на C, C++, Java, PHP и Python. Модель составила перечень из более чем 17 тыс. параметров конфигурации, и 3842 из них относились к механизмам, от которых зависит защита программ. Поиск шёл по трём основным категориям проблем:

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

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

  • 93 участка кода, доступных до проверок;
  • 37 случаев выполнения кода до авторизации;
  • 61 комбинацию настроек, ослаблявшую предварительные защитные проверки.

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

Ошибка возрастом 21 год

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

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

Закрытая дверь в OpenSSH

Отдельный пример Anthropic разобрала на OpenSSH, комплекте программ для защищённого удалённого доступа к системам. Исследователи зафиксировали три детали:

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

Отключённая функция не означала, что связанный с ней код недоступен снаружи. Компонент, который продолжает обрабатывать данные атакующего, остаётся источником угрозы даже при выключенной основной функции. Разработчики OpenSSH подготовили исправление, вошедшее в версию 10.6, и примерно 20% кода стало недоступно неавторизованным клиентам. OpenSSH работает на серверах российских компаний наравне с остальными, поэтому администраторам в России имеет смысл проверить установленную версию.

ИИ ищет лишний доступ

Anthropic планирует собрать использованные методы в инструмент для Claude и позже интегрировать его в OSS-Scanner, бесплатный сервис проверки открытого ПО с добровольным участием. Инструмент должен справляться с тремя задачами:

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

Подозрительный участок не станет поводом для автоматических правок. Anthropic намерена подтверждать результаты динамической трассировкой и проверять исправления на совместимость с существующим поведением продукта, а изменения, способные нарушить работу приложения, останутся на рассмотрении человека. В Anthropic предупредили, что измерить число неизвестных уязвимостей в произвольной кодовой базе едва ли возможно, а современные ИИ-модели потенциально ускоряют работу атакующих. Российским командам, которые собирают продукты из открытых компонентов, стоит заглянуть в настройки по умолчанию используемых библиотек и серверов, где подобные ловушки могут годами оставаться незамеченными.

Эксперты CISOCLUB прокомментировали исследование и отметили, что главный вывод Anthropic связан не с числом найденных ошибок, а со способом думать о защите программ. Сокращение поверхности атаки закрывает целые классы проблем и не требует ждать, пока кто-нибудь обнаружит конкретную дыру. Конфликт параметров возрастом 21 год показывает, что аудит кода без анализа конфигураций оставляет слепую зону.

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

Ранее сообщалось, что Anthropic удалось сократить на 90–99% объём данных, которые конкуренты извлекают из Claude с помощью дистилляции, благодаря внедрению новых защитных механизмов. Компания затруднила автоматизированный сбор внутренних рассуждений нейросети, ограничила массовые запросы через прокси-сети и заблокировала десятки тысяч аккаунтов, связанных с подобными операциями. Об этом 12 октября сообщило Reuters со ссылкой на Anthropic.

Артем
Автор: Артем
Представитель редакции CISOCLUB. Пишу новости, дайджесты, добавляю мероприятия и отчеты.
Комментарии:

Как мы обрабатываем данные: политика обработки персональных данных