Нужна консультация?

Нужна консультация?
Позвоните нам

+7 (495) 161-97-84

Получить консультацию по Solar appScreener

Исследование экспертов «Солара» показало, что более 80% ПО и информационных систем имеют уязвимости, которые становятся причинами хакерских атак и утечек. Для профилактики инцидентов лучше позаботиться о выявлении слабых мест еще на этапе разработки. Чтобы ускорить процесс поиска, можно автоматизировать анализ кода с помощью анализатора Solar appScreener.

Типы уязвимостей информационных систем и ПО

Уязвимости информационных систем и ПО можно классифицировать по происхождению и по типу действий злоумышленников.

Категория

Тип уязвимости

Примеры

По происхождению

Технические

Ошибки разработки, дефекты в коде, сбои в архитектуре, неправильные настройки серверов и ПО, уязвимости в open-source-компонентах.

Организационные

Слабый контроль доступа, ошибки в управлении, низкий уровень мониторинга.

Человеческий фактор

Слабые пароли, фишинг, неправильное обращение с данными.

Логические

Некорректная проверка условий, обход ограничений, неверная обработка процессов.

Криптографические

Использование слабых алгоритмов шифрования, неправильное хранение ключей.

По типу действия злоумышленника

Инъекции (SQL, XSS, Code Injection)

Внедрение вредоносного кода через пользовательский ввод для возможности читать, изменять или удалять данные, выполнять команды на сервере.

Уязвимости контроля доступа

Получение доступа к чужим данным через ошибки в механизмах авторизации и аутентификации.

Уязвимости нулевого дня

Активное использование уязвимостей, которые еще неизвестны разработчикам.

Вредоносное ПО

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

Между уязвимостью и угрозой есть разница. Уязвимость — это просто слабое место в системе. Угроза — наличие реальных условий для потенциальной эксплуатации уязвимости с целью нанести вред бизнесу.

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

Методы выявления уязвимостей информационных систем на уровне кода

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

уязвимости систем информационной безопасности

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

SAST

Static Application Security Testing, или статический анализ — мощный инструмент разработчиков, цель которых — обнаружить ошибки, потенциальные бреши безопасности и недекларированные возможности, а также улучшить качество кода. Выявление уязвимостей информационных систем методом статистического анализа происходит без запуска ПО — анализатор будет читать код, подобно тому, как человек проверяет каждую букву в тексте.

Как происходит статический анализ с помощью сканера Solar appScreener:

  • Трансформация кода. Анализатор трансформирует исходный код во внутреннее представление с помощью лексического, синтаксического и семантического методов.
  • Применение инструментов. В зависимости от целей тестирования анализатор использует различные методы анализа, например, анализ потока управления для поиска нелогичных ветвлений, анализ потока данных для выявления неинициализированных переменных, Taint-анализ для поиска уязвимостей, которые могут стать причиной утечки информации.
  • Применение преднастроенных правил. Solar appScreener транслирует на код известные уязвимости, фиксирует совпадения и формирует отчеты с результатами.
  • Работа с бинарным кодом. Уникальная технология в Solar appScreener, благодаря которой можно проверить безопасность ПО, когда нет доступа к его исходному коду. Например, если разработка уже завершена или код разрабатывал подрядчик, а исходников не осталось.

В процессе выявления уязвимостей информационных систем статическим методом анализатор может принимать истинные условия за бреши безопасности и выдавать False Positive, FP (ложноположительные срабатывания). В Solar appScreener их количество уменьшается за счет технологии Fuzzy Logic Engine, Бблагодаря которой можно получать достоверные результаты SAST и избавить команду от необходимости постоянно перепроверять якобы проблемные участки кода.

SAST-анализ имеет много преимуществ

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

Екатерина Черномырдина

PMM Solar appScreener

DAST

Dynamic Application Security Testing — это динамический анализ развернутого в рабочей среде (обычно тестовой) ПО. В ходе проверки имитируются действия потенциальных злоумышленников, чтобы обнаружить такие проблемы, как некорректная работа функций, ошибки в управлении сессиями, инъекции и другие уязвимости, которые проявляются только при эксплуатации.

Как происходит выявление и анализ уязвимостей информационной системы с помощью Solar appScreener:

  • Применение методов анализа. Например, инструментов фаззинга, AJAX-веб-сканера для проверки работы кнопок, форм и операций, которые осуществляются без перезагрузки страницы. Также в модуле DAST есть три вида сканеров для выбора режима атаки: традиционный, активный и агрессивный.
  • Авторизация. При динамическом анализе Solar appScreener авторизуется на проверяемых сервисах с помощью реальных логинов и паролей, токенов аутентификации, заголовков из JSON-формы и др.
  • Подготовка документации. После сканирования анализатор генерирует отчеты с описанием обнаруженных проблем безопасности.

Выявление уязвимостей информационных систем методом DAST не требует доступа к исходному коду. Но такой метод можно подключать только на завершающих этапах разработки, когда ПО уже готово или находится на финальной стадии. Также DAST-анализ полезен для проверки наследованных систем и программ от подрядчиков. Однако все существующие уязвимости с его помощью обнаружить не получится, поэтому необходимо комбинировать DAST и SAST. Это удобно делать с помощью платформы Solar appScreener, которая создает коррелированные отчеты по результатам двух тестирований.

OSA

Open Source Analysis, или контроль безопасности сторонних компонентов — комплекс эффективных методов оценки рисков, связанных с использованием open-source-библиотек. В Solar appScreener модуль OSA для выявления уязвимостей информационных систем представлен тремя видами анализа:

  • Software Composition Analysis (SCA) — поиск заимствованных компонентов в составе ПО и выявление уязвимостей в них, обнаружение зависимостей и связей с другими open-source-библиотеками внутри одной программы.
  • Анализ лицензионных рисков — дополнение к SCA. Этот метод позволяет выявить и оценить потенциальные риски, связанные с лицензиями open-source-компонентов. С помощью такого анализа удается обнаружить нарушения лицензионных политик, наличие устаревших или несовместимых у разных заимствованных компонентов в одной разрабатываемой системе лицензий.
  • Supply Chain Security (SCS) — оценка рисков атак на цепочку поставок, выявление проблемных open-source-компонентов.

Для выявления связанных с open-source уязвимостей информационных систем необходимо загрузить в Solar appScreener SBOM-файл либо архив с кодом. Для SCA-проверки и анализа лицензионных рисков анализатор использует общедоступные и собственные базы брешей безопасности. При проведении SCS-анализа платформа выставляет компонентам ПО оценки доверия на основе таких метрик, как дата создания библиотеки, авторский состав, количество версий, отношение к проблемам безопасности и др. Всего Solar appScreener использует 8 метрик.

Преимущество тестирований OSA заключается в том, что уже на первых этапах разработки можно выявить небезопасные open-source-компоненты и отказаться от их использования.

Комплексный подход к выявлению и анализу уязвимостей информационных систем

Чтобы составить полное представление об уровне защищенности ПО, необходимо комбинировать разные виды анализа, поскольку у каждого метода своя важная задача. Некоторые разработчики используют для сканирований разрозненные инструменты, но это неудобно. Лучше применять одну комплексную платформу — Solar appScreener. Ее можно использовать как в процессе разработки, так и для профилактического контроля безопасности информационных систем, проверки новых версий ПО.

Платформа Solar appScreener удобна не только для разработчиков, но и для сотрудников службы ИБ. Поскольку анализатор выдает подробные рекомендации, компетенций безопасников будет достаточно для интерпретации результатов проверки информационных систем.

Solar appScreener для выявления уязвимостей информационных систем

Комплексная сертифицированная ФСТЭК России платформа с несколькими технологическими модулями позволяет ответственно подходить к контролю защищенности ПО и соблюдать требования регуляторов. Какие еще преимущества Solar appScreener стоит отметить:

  • Поддержка большого количества языков программирования (36 языков).
  • Поддержка 10 форматов исполняемых файлов.
  • Полная автоматизация анализа безопасности кода.
  • Запуск сканирования в два клика без сложных настроек.
  • Использование собственных баз уязвимостей от экспертов «Солара».
  • Удобный интерфейс с функцией быстрого переключения между вкладками.
  • Тестирование одной системы в среднем за 30–40 минут.
  • Корреляция результатов разных видов анализа.
  • Подготовка экспертных рекомендаций для разработчиков и безопасников.

Solar appScreener для выявления уязвимостей информационных систем легко встраивается в процесс безопасного создания ПО за счет интеграции со всеми распространенными инструментами разработки и сборки, платформами оценки качества, серверами CI/CD.

Уязвимости под контролем

Раннее выявление уязвимостей информационных систем позволяет выпускать на рынок защищенное ПО и соблюдать нормативные требования. Лучше всего действовать комплексно — сочетать разные виды анализа кода и получать коррелированные результаты проверок. Платформа Solar appScreener предоставляет все необходимые для этого инструменты.

выявление анализ уязвимостей информационной системы

Оцените возможности анализатора — протестируйте продукт и получите экспертную консультацию по устранению уязвимостей.

FAQ

Какие уязвимости может обнаружить Solar appScreener?

Анализатор выявляет уязвимости из списка OWASP, такие как SQL и Command Injection, внедрение XPath и LDAP-запросов, нарушение контроля доступа и механизмов аутентификации, ошибки конфигурации. Также можно обнаружить проблемы с памятью и ресурсами, бреши безопасности в open-source-компонентах.

Как часто нужно проводить анализ безопасности?

Универсального графика нет — есть устоявшиеся практики. Целесообразно применять анализатор перед каждым значимым изменением кода, новым этапом разработки, релизом, обновлениями ПО.

Можно ли интегрировать Solar appScreener с существующими системами разработки?

Анализатор может интегрироваться со всеми популярными репозиториями, системами отслеживания ошибок, средствами разработки и сервисами CI/CD.

ДРУГИЕ СТАТЬИ ПРОДУКТА

Еще больше о наших возможностях

Требования к безопасности программного обеспечения: полный гайд и практика внедрения

Требования к безопасности программного обеспечения: полный гайд и практика внедрения

Узнать больше
Сканер уязвимостей кода: весь код под контролем

Сканер уязвимостей кода: весь код под контролем

Узнать больше
Тестирование веб-приложений: выявляем ошибки до релиза

Тестирование веб-приложений: выявляем ошибки до релиза

Узнать больше
PCI DSS: что это и как происходит проверка на соответствие стандарту

PCI DSS: что это и как происходит проверка на соответствие стандарту

Узнать больше