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

Летом 2021 года ФБР совместно с Агентством по кибербезопасности и защите инфраструктуры США, британским Национальным центром кибербезопасности, а также Австралийским центром кибербезопасности проанализировали самые атакуемые уязвимости программного обеспечения по итогам 2020–2021  гг. Выяснилось, что многие обнаруженные эксплуатируемые злоумышленниками баги связаны с активным переходом компаний на удаленную работу, использованием облачных сервисов и VPN. В топ популярных проблем вошли обнаруженные уязвимости в продуктах таких вендоров, как VMware, Microsoft (в частности, Exchange Server), Fortinet, Pulse Secure, Accellion.  А ведь это крупные игроки рынка, которые тратят немалые ресурсы на контроль уязвимостей программного обеспечения. Что говорить о менее масштабных разработчиках, которые не всегда уделяют этому вопросу должное внимание? Поэтому даже компаниям, являющимися конечными пользователям ПО или заказывающими услуги разработки на аутсорсе, есть смысл перестраховаться, подумать о самостоятельном поиске и нейтрализации уязвимостей. Идеальных программ без дефектов не бывает. Рано или поздно какая-нибудь проблема всплывает.

Контроль и устранение уязвимостей ПО в процессе разработки

Затраты на устранение проблемы на этапе разработки включают аналитику, внесение изменений в проблемный код, а также повторную проверку (тестирование). Если же уязвимость будет выявлена в процессе эксплуатации, добавляются расходы на:

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

Организовать эффективное обнаружение и устранение уязвимостей программного обеспечения поможет внедрение безопасной разработки ПО SSDLC (Secure Software Development Lifecycle). Она включает несколько фаз, которые проходит продукт. Среди них:

  • формулирование требований к продукту в области безопасности и конфиденциальности,
  • определение уровня безопасности с опорой на действующие стандарты криптографии, метрик и критериев, по которым оценивается соответствие стандартам, 
  • оценка рисков.

Кроме того, безопасная разработка подразумевает использование инструментов статического (SAST) и динамического (DAST) анализа кода.

SAST (статическое или тестирование методом белого ящика) позволяет организовать проверку кода на соответствие стандартам, а также на наличие ошибок без его фактического исполнения. С его помощью можно организовать поиск проблемных мест уже на ранних этапах разработки – когда программа еще не работает.

DAST (динамическое или тестирование методом черного ящика) обеспечивает поиск (контроль) уязвимостей программного обеспечения при выполнении кода. Для этого применяются методы внедрения ошибок в работающее приложение и анализ реакции на них.

SAST и DAST при внедрении SSDLC могут использоваться совместно или по-отдельности. На практике (если речь о раздельном использовании) статический анализ применяется чаще – его предпочитают около 69% компаний-разработчиков – так как реализовать этот подход проще. Не нужно разворачивать дополнительные мощности для запуска отдельной копии приложения для тестирования. Метод позволяет покрыть практически 100% кода анализируемого приложения. Кроме того, SAST характеризуется универсальностью. Один инструмент, реализующий такой подход, одновременно может использоваться для контроля уязвимостей и поиска проблемных мест в нескольких приложениях. Все это – за счет поддержки разных языков программирования (например, с мая 2021 г. наше решение Solar AppScreener  поддерживает 36 ЯП).

Контроль и устранение уязвимостей ПО при эксплуатации

Обнаружить абсолютно все возможные проблемы на этапе разработки невозможно. Даже внедрение SSDLC не гарантирует 100-процентной защиты от уязвимостей (но минимизирует их возникновение). Поэтому контроль должен продолжаться и в процессе эксплуатации.

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

Что касается внедрения анализаторов, реализующих подход белого ящика, проблем с этим не возникает. Их можно интегрировать практически с любой корпоративной IT-инфраструктурой: менять бизнес-процессы для обеспечения контроля уязвимостей приложений с помощью таких инструментов не требуется.

Поиск проблемных мест в приложениях должен быть реализован на всех этапах жизненного цикла ПО. И организовать его может даже конечный пользователь (эксплуатирующая компания). Если вы хотите быть уверенными в том, что используемое вашей организацией программное обеспечение безопасно, есть смысл внедрить SAST в свою IT-инфраструктуру. Нужно организовать постоянное статическое тестирование приложений и своевременную реакцию на обнаруженные проблемы. В некоторых случаях целесообразно заняться этими вопросами самостоятельно (тем более это не так сложно), а не просто полагаться на разработчиков.

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

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

Open source: что это и зачем его используют при разработке

Open source: что это и зачем его используют при разработке

Узнать больше
Анализ безопасности ПО методом черного ящика (Black Box Testing)

Анализ безопасности ПО методом черного ящика (Black Box Testing)

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

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

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