ru:https://highload.today/blogs/testiruem-bezopasnost-veb-prilozhenij-poshagovaya-instruktsiya/ ua:https://highload.today/uk/blogs/testiruem-bezopasnost-veb-prilozhenij-poshagovaya-instruktsiya/
logo
Тестирование      26/05/2021

Тестируем безопасность веб-приложений: пошаговая инструкция

Дмитрий Придатко BLOG

Test Engineer в Sigma Software

На первый взгляд может показаться, что тестирование безопасности веб-приложений — это веселые всплывающие окошки с надписью ‘XSS’, разноцветная раскраска шрифтов, выпадающие тут и там stack trace или чудесным образом срабатывающие SQL-запросы при записи их в обычных полях ввода и добавлении в параметры URL.

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

Шаги для тестирования безопасности

Веб-приложение — это сложная система, состоящая из многих компонентов, и угол атаки на нее может быть разным: прослушивание/изменение незащищенных каналов трафика, взлом серверных ОС, DDoS-атаки, спам, социальная инженерия, подбор паролей, рассылка фишинговых писем, использование уязвимостей в коде веб-приложения/веб-сервисов/API.

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

Примерный список шагов по тестированию безопасности такой:

  1. Определить и обосновать необходимость такого вида тестирования.
  2. Оценить затраты на начальный анализ.
  3. Определить стратегию и приоритеты тестирования безопасности.
  4. Составить и согласовать план и сроки тестирования с менеджментом и product owner.
  5. Подготовить и настроить веб-приложение для аудита безопасности, а также создать или сгенерировать необходимые тестовые данные.
  6. Data Engineering.
    Курс для тих, хто хоче навести лад в архітектурі даних та опанувати ключові інструменти дата-інженера на практиці.
    Реєстрація на курс
  7. Провести тестирование безопасности с использованием специальных сканеров (DetectifyNessusAcunetixQualys и другие).
  8. Выполнить ручное тестирование безопасности, поскольку сканеры подвержены ложным срабатываниям, имеют ограничения и не гарантируют обнаружение всех проблем. При этом можно использовать специальные инструменты: Fiddler, WireShark, Postman, SoapUI, SQL Profiler, встроенные средства браузера (DevTools).
  9. Анализ отчетов и результатов, корректировка стратегии и приоритетов.
  10. Включение тестирования безопасности в планы тестирования релизов.

Что надо знать тестировщику о безопасности веб-приложений

Для успешного тестирования безопасности веб-приложений надо обладать широким набором знаний и навыков. Вот только некоторый базовый набор:

  • Знать основные принципы работы и отличия протоколов HTTP/HTTPS. Если разрабатываемое веб-приложение поддерживает другие протоколы, такие как NET.TCPnamed pipes и другие, нужно также знать и о них.
  • Ознакомиться со списком 10 наиболее актуальных проблем безопасности, публикуемых международным сообществом Open Web Application Security Project.
  • Пройти обучающий курс от Google по XSS.

Выводы

  1. Безопасность веб-приложений не следует игнорировать, поскольку последствия могут быть очень плохими как для бизнеса, так и для поставщиков софта.
  2. Создание безопасного софта требует тесной кооперации разработчиков, тестировщиков, руководства и заказчиков, а также внедрения культуры написания и поставки безопасного кода.
  3. Использование специальных сканеров помогает в выявлении угроз безопасности, однако не исключает необходимости ручной проверки.

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.

Онлайн-курс Pyton.
Опануйте PYTHON з нуля та майте проект у своєму портфоліо вже через 4 місяця.
Приєднатися

Этот материал – не редакционный, это – личное мнение его автора. Редакция может не разделять это мнение.

Топ-5 самых популярных блогеров февраля

Всего просмотровВсего просмотров
229
#1
Всего просмотровВсего просмотров
229
Всего просмотровВсего просмотров
209
#2
Всего просмотровВсего просмотров
209
QA в CodeGeeks Solutions
Всего просмотровВсего просмотров
156
#3
Всего просмотровВсего просмотров
156
Senior Project Manager at Nemesis
Всего просмотровВсего просмотров
99
#4
Всего просмотровВсего просмотров
99
Software Architect at Devlify
Всего просмотровВсего просмотров
95
#5
Всего просмотровВсего просмотров
95
Рейтинг блогеров

Ваша жалоба отправлена модератору

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: