Application Security Testing: виды, особенности, кейсы
Узнать большеПрактически любое современное приложение содержит сторонние компоненты с открытым исходным кодом. Эти артефакты повсеместно используются разработчиками при создании собственного программного обеспечения.
Однако библиотеки с открытым кодом несут определенные риски для безопасности компаний, которые используют их в своих разработках. Например, в последнее время участились угрозы, связанные с open source, которые направлены на компании из России и Белоруссии. В ходе таких атак небезопасные сторонние компоненты активируются при запуске программы с российского/белорусского IP-адреса, и могут привести к удалению файлов, получению доступа к конфиденциальной информации и другим проблемам.
Как работают закладки в open-source-коде
Ключевая угроза, связанная со сторонними компонентами кода – это возможность внедрения непроверенных и возможно небезопасных компонентов кода в свое ПО.
Используя уязвимые файлы, злоумышленники могут совершить следующие действия:
- Компрометация легитимного пакета. Это возможно, если разработчика open-source-компонентов взломали, или имеет место подмена пакета. В результате внутри приложения оказывается вредоносный код, который злоумышленник может использовать для кражи информации или реализации нелегальных схем обогащения.
- Создание «однофамильцев». Злоумышленники создают пакеты с именами, схожими с легитимными, – пишут их на других языках программирования либо выкладывают на других платформах. В таком случае разработчики ПО рискуют загрузить уязвимый пакет и внедрить этот код в свое приложение.
- Использование неотслеживаемых зависимостей. В этом случае в open-source-код внедряются сторонние компоненты, в которых сложно отследить зависимости – те открытые библиотеки, на которые ссылаются компоненты и с которыми они связаны.
В результате мы не можем быть уверены, что все эти компоненты безопасны и безвредны для нашего ПО.
Еще одним фактором, повышающим риски, связанные с кодом open source, является использование старых версий библиотек, разработчики которых уже прекратили поддержку компонентов и перестали обновлять пакеты. В таком случае библиотека не проверяется на текущие уязвимости, которые выявили уже после прекращения поддержки, поэтому является потенциально небезопасной.
Чем опасны open-source-компоненты
ПО с открытым исходным кодом применяется во многих информационных системах. Использование непроверенного общедоступного ПО может привести к серьезным негативным последствиям для всей компании:
- Удаление файлов с жесткого диска (они могут содержать финансовые данные, конфиденциальную документацию, базы данных и многое другое).
- Денежные и репутационные потери.
- Утечка конфиденциальной информации, включая персональные данные.
- Снижение работоспособности или полная остановка сервиса.
Как защититься от угроз, распространяемых через библиотеки с открытым кодом
В условиях, когда использование open-source-решений при разработке связано с повышенным риском, контроль безопасности сторонних компонентов становится жизненно необходимым. Один из основных шагов при обеспечении безопасной разработки ПО – внедрение и регулярное использование надежного сканера библиотек и приложений – Software Composition Analysis (SCA).
Проверка кода с помощью SCA
Этот инструмент предназначен для выявления сторонних компонентов в разрабатываемом приложении, а также для обнаружения уязвимостей и опасных участков кода в этих компонентах. Еще одна функция SCA – контроль лицензионной чистоты библиотек, которые разработчики используют в своем ПО.
Решение можно интегрировать в цикл разработки ПО и таким образом обеспечить своевременный контроль безопасности используемых сторонних библиотек.