← Все новости

SecFlowX История № 1 — Уязвимые пакеты без CVE

SecFlowX · История № 1
Ключевые выводы
  • Атаки на цепочку поставок ПО нацелены на пакеты, от которых зависят тысячи проектов.
  • Инструменты SCA полагаются на наличие CVE в NVD — вредоносные пакеты без CVE остаются незамеченными.
  • Учёт инвентаря пакетов (как в SecFlowX) выявляет известные вредоносные зависимости вообще без CVE.

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

Это половина стакана, которая полна. На пустой стороне находятся злоумышленники. Библиотеки, о которых известно, что ими пользуются тысячи — и даже миллионы — людей, являются привлекательной целью для того, чтобы разом охватить большую аудиторию или проникнуть в их системы. Именно поэтому сегодня атакующие нацеливаются на проекты, размещённые в реестрах пакетов, таких как NPM, PyPI и GitHub.

Если атакующему удаётся скомпрометировать пакет или приложение, он одновременно получает доступ ко всем системам, которые от него зависят — в этом суть атаки на цепочку поставок программного обеспечения.

CVE → NVD → SCA

Путь от обнаружения уязвимости в библиотеке до её регистрации в NVD (National Vulnerability Database) и до момента, когда она становится пригодной для использования инструментами сканирования, позволяет нам применять инструменты SCA (Software Composition Analysis), чтобы определить, присутствует ли уязвимость, о которой сообщил исследователь, в проектах нашей организации.

Где здесь SecFlowX

SecFlowX предоставляет детальное представление как на уровне проекта, так и на уровне организации. Зависимости приложений и их статус уязвимости можно получить либо через интеграцию с CI/CD, либо через сканирования, запускаемые напрямую из SecFlowX.

Уязвимости без CVE

Но как быть со вредоносным пакетом или приложением, у которого нет идентификатора CVE? Одна из самых тревожных проблем для организаций сейчас — это вредоносные пакеты без CVE. Вредоносный код, внедрённый в LiteLLM, является одним из самых наглядных примеров — на тот момент CVE ещё не был присвоен.

Сканирование grype тестового проекта, зафиксировавшего litellm==1.82.8, не выявляет уязвимый пакет. Это не вина grype или какого-либо инструмента SCA — в базе данных просто нет такой записи.

Так как же это решить? Ответ очевиден: через учёт инвентаря пакетов. Если мы знаем все зависимости и сведения о версиях в проектах нашей организации, мы можем проверить, присутствует ли какой-либо затронутый компонент. Сканирование того же проекта через SecFlowX подтверждает, что известная уязвимая библиотека litellm==1.82.8 присутствует в нашем инвентаре — и это достигнуто без необходимости в каком-либо идентификаторе CVE.

Итог

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

Часто задаваемые вопросы

Почему SCA-инструменты не находят уязвимый пакет без CVE?

Инструменты SCA, такие как grype, сопоставляют ваши зависимости с базами уязвимостей вроде NVD. Если для вредоносного или уязвимого пакета нет записи CVE, сопоставлять не с чем — сканирование чистое, хотя риск реален.

Чем помогает учёт инвентаря пакетов?

Точно зная, какие пакеты и версии работают в организации, вы проверяете затронутый компонент сразу при раскрытии — не дожидаясь CVE. SecFlowX подтвердил известный уязвимый litellm==1.82.8 только по инвентарю.

Источники

Ещё из лаборатории

Все новости →