Claude нашёл почти 500 дыр в популярном ПО — одной из них оказался 21 год

1 час назад 3

Инженеры Anthropic изучили с помощью модели искусственного интеллекта Claude 25 крупных проектов с открытым исходным кодом, написанных на языках C, C++, Java, PHP и Python, на предмет проблем в области безопасности. Были обнаружены почти 500 угроз, в том числе отключённые механизмы защиты из-за конфликтов в настройках, доступ к критически важным фрагментам кода до аутентификации и даже уязвимость, которой уже 21 год.

 Mohammad Rahmani / unsplash.com

Источник изображения: Mohammad Rahmani / unsplash.com

На этот раз в Anthropic решили не ограничиваться стандартным поиском уязвимостей — выявление их по отдельности в рамках данного исследования охарактеризовали как «сизифов труд», потому что такой подход плохо масштабируется и не даёт гарантий безопасности. Эксперты сделали акцент на сокращении поверхности атаки в ПО и ограничении ненужного доступа к коду, который могли использовать злоумышленники. В 25 изученных проектах содержались более 5 млн строк кода. Claude составил список из более чем 17 000 параметров конфигурации, 3842 из которых относятся к механизмам и функциям, влияющим на безопасность.

Исследование затронуло три сценария, при которых доступ к некоторым фрагментам кода оказывается неоправданным: наличие функций, которые включены по умолчанию, но не требуются для работы; сочетания настроек, которые вместе ослабляют защиту; а также наличие излишне сложных и критически важных фрагментов кода, которые выполняются до проведения проверок безопасности. Все 11 проектов, предназначенных для работы с авторизованными пользователями, содержали код, доступ к которому был возможен, когда этого быть не должно. Выявлены 93 поверхности атаки, доступные до аутентификации в конфигурациях по умолчанию; 37 случаев выполнения кода до прохождения аутентификации; а также 61 комбинация настроек, которая приводила к ослаблению механизмов защиты, действующих до аутентификации.

 Fotis Fotopoulos / unsplash.com

Источник изображения: Fotis Fotopoulos / unsplash.com

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

В качестве примера приводится OpenSSH — программа безопасного удалённого доступа содержала компонент (демон), который мог обращаться к 4500 строкам экспериментального кода — реализации постквантового алгоритма цифровой подписи — до проверки того, разрешена ли такая операция конфигурацией сервера. Сам алгоритм был по умолчанию отключён, но код, предназначенный для обработки его данных, был доступен неавторизованным клиентам. После сообщения от Anthropic разработчики OpenSSH устранили уязвимость в версии 10.6 — около 20 % кода стали недоступны для неавторизованных пользователей.

Сформированные в ходе исследования методы инженеры Anthropic объединили в специализированный инструмент для Claude. Вскоре его интегрируют в OSS-Scanner — бесплатный сервис для проверки безопасности проектов с открытым исходным кодом. Новый инструмент анализирует конфигурации по умолчанию, доступные для проверок безопасности фрагменты кода и противоречащие друг другу настройки. Система будет проверять выявленные уязвимости через динамическое отслеживание выполнения программы, сопоставляя их с текущим поведением системы — об изменениях, которые могут нарушить работу ПО, сообщат разработчикам.

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

Источник