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.



