Что такое SCA и зачем он вам нужен

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

Дни программного обеспечения, такого как qmail Дэниела Бернштейна, давно прошли. Когда в 1995 году блестящий математик Бернштейн построил свой популярный почтовый сервер, он написал все с нуля — каждую функцию. Он вообще не использовал сторонний код. Это был гениальный подход Бернштейна к безопасности, который очень хорошо сработал — qmail очень долгое время не имел никаких уязвимостей.

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

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

Вот почему вам нужен анализ программных компонентов (SCA — software composition analysis).

Традиционный анализ программных компонентов

Концепция анализа программных компонентов не нова, и программное обеспечение, созданное специально для этой цели, существует уже давно. Однако такое программное обеспечение всегда было статичным, как и инструменты SAST.

Инструменты SCA работают очень просто. Обычно они взаимодействуют с менеджерами пакетов программного обеспечения, которые используются в текущих средах разработки для импорта компонентов. Они проверяют все импортированные программные пакеты и сравнивают эту информацию с существующими базами данных уязвимостей. Например, они могут определить, что ваш диспетчер пакетов импортирует jQuery 2.2.4, а затем найти CVE-2015-9251, в котором говорится, что версии jQuery до 3.0.0 уязвимы для межсайтовых скриптингов (XSS).

Динамический анализ программных компонентов

Динамический подход к SCA — это новая концепция, представленная Acunetix, которая включает в себя объединение возможностей IAST и SCA вместе. AcuSensor, модуль Acunetix IAST, имеет доступ к информации об установленных пакетах программного обеспечения. Таким образом, он может сразу идентифицировать все компоненты, которые вы используете для своего веб-приложения.

После того, как AcuSensor идентифицирует компоненты, он проверяет их безопасность с помощью отраслевого стандарта NVD (национальной базы данных уязвимостей), расширенной командой экспертов Acunetix для включения других известных уязвимостей. В результате сканирование уязвимостей включает информацию не только об уязвимостях, но и об уязвимых компонентах.

Что вы получаете с динамическим SCA

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

Самым большим преимуществом использования Acunetix SCA является то, что вам не нужно никакого дополнительного программного обеспечения, каких-либо дополнительных интеграций, вашей команде безопасности не нужно запускать какие-либо дополнительные сканирования или получать какие-либо дополнительные отчеты — информация SCA включена в ваш обычный Acunetix + AcuSensor отчет. Это экономит ваше время и деньги. Вы получаете передовой инструмент SCA как часть вашего DAST + IAST.

Подписаться на новости