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

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

Веб-приложения и сферы их применения

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

Веб-приложения включают фронтенд- и бэкенд-части.

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

Цели использования приложений могут быть разными: развлечения, онлайн-оплата, поиск работы, жилья, товаров и услуг. Также существуют бизнес-сервисы, которые помогают эффективно выполнять бизнес-задачи. Например, «Битрикс24» для планирования рабочего дня и проектов, Trello для формирования рабочих досок с содержанием задач для каждого сотрудника, система Asana, предоставляющая ИТ-инструменты для компаний.

Преимущества веб-приложений:

  • Позволяют оптимизировать большинство бизнес-процессов в разных сферах деятельности.
  • Не требуют установки на рабочие устройства пользователей.
  • Доступны при подключении к интернету практически из любой точки мира.
  • Позволяют сохранять данные на сервере.

Приложения используются во всех сферах бизнеса: торговле, финансах, медицине, производстве и т. д.

важность безопасности веб-приложений

Почему важна безопасность веб-приложений

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

По данным исследования, проведенного экспертами Solar JSOC, около 56% корпоративных веб-приложений содержат критичные уязвимости, которые позволяют хакерам взламывать ПО. Например, злоумышленники могут получить доступ к учетным записям путем эксплуатации такой уязвимости, как межсайтовый скриптинг, войти в приложение и завладеть корпоративной информацией и базами данных для использования в преступных целях. Учитывая распространенность уязвимостей в веб-приложениях, важно регулярно проверять код на безопасность на всех этапах разработки.

Методы обеспечения безопасности веб-приложений

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

SAST

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

В каких ситуациях будет полезен статический анализ:

  • Необходимо проверить код на уязвимости на начальных этапах разработки, когда другие тестирования пока использовать невозможно.
  • Заказчику необходимо провести приемку веб-приложения, разработанного подрядчиком.
  • Компания использует наследованные продукты, безопасность которых под вопросом, но из эксплуатации их исключить нельзя.

SAST практически на 100% покрывает код, быстро выполняется, показывает достоверные результаты, легко интегрируется цикл разработки в рамках подхода DevSecOps, проводится без необходимости развертывания отдельной среды для сканирования. Благодаря этим плюсам такой анализ применяется разработчиками и ИБ-специалистами чаще всего. Но у него есть минус — большая вероятность ложноположительных срабатываний. Анализатор может сигнализировать о недочетах в коде, которых фактически нет. В таких случаях приходится тратить время на ручную проверку срабатываний и тратить на это время.

DAST

Dynamic Application Security Testing — динамический анализ, предполагающий имитацию атаки на веб-приложение в то время, как оно выполняется в отдельно развернутой среде. Тестирование относится к стратегии черного ящика, поскольку для запуска сканирования не нужен доступ к исходному коду, анализ приложения проводится извне.

DAST позволяет выявить уязвимости, которые могут проявиться только в процессе эксплуатации веб-приложения, и дополняет возможности SAST-анализа для наилучшего результата.

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

Преимущества динамического сканирования для обеспечения безопасности веб-приложений:

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

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

OSA

Open Source Analysis — исследование состава программ, направленное на поиск элементов с открытым исходным кодом и проверку их безопасности. С его помощью можно определить потенциально опасные и устаревшие компоненты, найти проблемы с лицензированием и пробелы в безопасности веб-приложений.

К преимуществам OSA-анализа относятся:

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

Solar appScreener для безопасности разработки веб-приложений

Выполнять все перечисленные виды сканирований можно в одном инструменте — Solar appScreener. Это российский продукт с единым интерфейсом, в котором можно управлять сканированиями SAST, DAST и OSA.

Все эти технологии подходят для полноценного анализа безопасности веб-сервисов.

Преимущества продукта:

  • Легкая интеграция в цикл безопасной разработки.
  • Возможность проверять бинарный код веб-приложений, если нет доступа к исходному.
  • Корреляция результатов разных видов тестирования, экспертные рекомендации по устранению обнаруженных пробелов в безопасности ПО.
  • Комплексный подход к анализу безопасности приложений, благодаря чему не нужно внедрять другие анализаторы кода.

В Solar appScreener есть уникальный алгоритм Fuzzy Logic Engine. С его помощью удается решить главную проблему сканирований — минимизировать количество ложных срабатываний в статическом анализе и анализе сторонних компонентов.

Solar appScreener с открытым встроенным API интегрируется со всеми часто используемыми инструментами разработки и обеспечения безопасности веб-приложений: системами отслеживания ошибок, репозиториями Subversion и Git, VCS-хостингами и др.

обеспечение безопасности веб приложений

Рекомендации по обеспечению безопасности кода при разработке веб-приложений

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

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

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

ЗАКЛЮЧЕНИЕ

Одна из ключевых задач разработчиков ПО и команды ИБ — обеспечение безопасности кода веб-приложений. Мероприятия по обнаружению и ликвидации слабых сторон должны начинаться с первых этапов создания продуктов и включаться на протяжении всего цикла. Для реализации проверок не нужно использовать разрозненные инструменты — достаточно внедрить комплексный продукт, например, Solar appScreener, позволяющий обеспечить всесторонний контроль безопасности веб-приложений. Для удобства изучения результатов можно коррелировать отчеты по проведенным тестированиям.

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

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

Zero Day уязвимость: что такое уязвимость нулевого дня

Zero Day уязвимость: что такое уязвимость нулевого дня

Узнать больше
White Box-тестирование: что это такое, и когда применяется

White Box-тестирование: что это такое, и когда применяется

Узнать больше
Cross Site Scripting: что такое XSS-атаки и как от них защититься

Cross Site Scripting: что такое XSS-атаки и как от них защититься

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