
DevOps
Узнать больше01.04.2025
В любом приложении может оказаться такая проблема, как недекларированные возможности (НДВ) — функциональности ПО, отсутствующие в сопроводительной документации или работающие не так, как описаны. Они создают дополнительные риски атак, поскольку хакеры ищут существующие уязвимости и используют их для получения доступа к системам. Чтобы выпускать на рынок надежное ПО с высоким уровнем защищенности, еще на этапе разработки необходимо внедрить контроль недекларированных возможностей. Рассказываем, какие меры можно предпринять для снижения рисков.
Что такое НДВ, описание наиболее распространенных уязвимостей
Недекларированные возможности — функции приложений, которые никак не заявлены, поэтому пользователи изначально о них не знают. Иногда НДВ обнаруживаются случайно уже в процессе эксплуатации ПО. А злоумышленники ищут их намеренно, применяя различные инструменты сканирования приложений на уязвимости. И затем используют для получения несанкционированного доступа к системам и устройствам, а также к персональным и финансовым данным пользователей.
Недекларированные возможности чаще всего появляются уже в процессе эксплуатации ПО в результате внедрения сторонних компонентов. НДВ тесно связаны с программными закладками, которыми, согласно ГОСТ Р 51275−99, называют замаскированные объекты (чаще всего вредоносные), способные при определенных условиях запускать незаявленные функции приложений. Пример — «Троянский конь». Это вредоносное ПО, через которое злоумышленники могут блокировать доступ к информации, красть конфиденциальные данные, выводить системы из строя.
Если в приложениях есть программные закладки и спровоцированные ими НДВ, проблему будет сложно обнаружить стандартными методами, например, путем проверки антивирусным решением. Для контроля недекларированных возможностей необходимы специальные анализаторы, которые учитывают не только признаки уязвимостей, но и качественные характеристики ПО.
Если своевременно не выявить НДВ, значительно повышаются риски для безопасности данных и нарушаются требования регуляторов, например, ФСТЭК России, касающиеся наличия программных закладок в ПО.
Как обнаружить НДВ с помощью анализа приложений на уязвимости
При тестировании приложений на наличие недекларированных возможностей в первую очередь учитывается поведение ПО в эксплуатации. Какие факторы следует брать во внимание:
Анализ развернутого приложения на уязвимости не всегда позволяет выявить все программные закладки и НДВ, поскольку используемые для тестирования анализаторы действуют по определенным и не всегда совершенным алгоритмам. Чтобы не пропустить проблемы, необходимо подключать анализ программного кода и заимствованных компонентов.
Технологии контроля недекларированных возможностей
Чтобы как можно раньше обнаружить недекларированные возможности и программные закладки, необходимо еще на этапе разработки внедрить комплекс анализа безопасности разработки приложений. Он включает статический анализ Static Application Security (SAST), динамическое тестирование Dynamic Application Security Testing (DAST), анализ состава ПО Software Composition Analysis (SCA) и проверку цепочки поставок Supply Chain Security (SCS). Приведем краткое описание, преимущества и минусы каждого вида тестирования.
SAST
Статический анализ позволяет проверять код приложений или его отдельные фрагменты на любом этапе разработки. Для выполнения такого тестирования ПО не нужно запускать в рабочей среде и выделять дополнительные мощности — достаточно иметь доступ к исходному коду. Именно благодаря этому SAST — наиболее используемая технология анализа безопасности разработки приложений. Она позволяет выявлять ошибки кода, уязвимости и НДВ.
Преимущества тестирования:
Основной проблемой такого анализа являются ложноположительные срабатывания — False Positive. Эта ситуации, когда анализатор указывает на уязвимости или НДВ, которых по факту нет. Минус в том, что команде проекта приходится проводить дополнительные проверки, тратить время и ресурсы.
DAST
Динамическое тестирование позволяет осуществлять контроль недекларированных возможностей на финальных этапах разработки и проверять на уязвимости уже завершенное ПО. Анализ заключается в имитации реальных действий в отношении программы, развернутой в тестовой рабочей среде. Анализатор применяет различные сканеры, отправляет на вход приложения случайные или заведомо ложные сведения. Таким образом, удается понять, как ПО поведет себя в эксплуатации.
Сильные стороны DAST:
К слабым сторонам можно отнести необходимость развертывания тестовой среды, низкую эффективность в поиске логических ошибок, достаточно длительный процесс тестирования.
DAST всегда комбинируют с SAST. Комплекс тестирований позволяет выявить максимум уязвимостей и НДВ, выпустить на рынок качественное ПО с высоким уровнем безопасности.
SCA
Анализ состава программного обеспечения позволяет выявить проблемы и уязвимости, связанные с использованием Open Source компонентов. С его помощью можно обнаружить программные закладки и другие слабые места в сторонних библиотеках, оценить лицензионные риски. У анализа SCA важная роль в части контроля недекларированных возможностей, поскольку часто НДВ возникают в результате внедрения заимствованных компонентов кода.
Минус такого анализа в том, что он не может свободно распространяться на весь Open Source. В частности, ограничения касаются оценки лицензионных рисков.
SCS
Это анализ цепочки поставок, под которой подразумевают все этапы пути программного продукта до конечного потребителя. Звеньями пути являются причастные к разработке лица, используемые технологии и инструменты, Open Source-библиотеки. С цепочкой поставок связаны определенные риски ИБ, поскольку злоумышленники могут реализовать атаки Supply Chain, подразумевающие внедрение программных закладок в поставляемые разработчикам компоненты.
Роль SCS в контроле недекларированных возможностей — оценка потенциальных рисков для того или иного звена цепи поставок. Также этот анализ позволяет спрогнозировать проблемы, связанные с использованием заимствованного кода. Чтобы спрогнозировать все возможные риски, необходимы продуманные метрики и специальные инструменты.
Как выбрать инструмент для анализа приложений на уязвимости
Анализатор для проведения тестирований безопасности должен обладать следующими качествами:
Этим требованиям полностью отвечает платформа Solar appScreener. С ее помощью можно интегрировать в цикл разработки все перечисленные виды анализа. Кроме того, в анализаторе реализованы уникальные функции, которых нет в других аналогичных инструментах. Это технология Fuzzy Logic Engine, снижающая количество ложных срабатываний, дающая возможность анализировать бинарный код вместо исходного (опция поможет проверить готовое ПО — наследованное или скачанное из магазинов приложений).
ЗАКЛЮЧЕНИЕ
Контроль недекларированных возможностей — важный аспект разработки программного обеспечения. Также анализ приложений на уязвимости и НДВ могут проводить конечные потребители ПО. Все необходимые для проверки инструменты реализованы в платформе Solar appScreener. В анализаторе есть модули SAST, DAST и OSA, позволяющие комплексно исследовать безопасность программных продуктов. Эти инструменты можно бесплатно протестировать в действии, что поможет принять решение о постоянном использовании Solar appScreener в цикле разработки или для контроля сторонних разработчиков.
Самые важные новости кибербезопасности у вас в почте
Выберите темы, на которые бы вам было интересно получать новости.
Для получения бесплатной консультации заполните форму ниже и отправьте заявку. Наш менеджер свяжется с вами в ближайшее время.