понедельник, 4 марта 2013 г.

Основы тестирования безопасности web-приложений

Структура статьи:
1. Основные понятия.
2. Инструменты для тестирования безопасности.
3. Тестирование безопасности web-приложений при помощи инструментария OWASP LiveCD.
4. Тестирование безопасности web-приложений при помощи сканера Acunetix WVS.

1. Основные понятия

Под тестированием безопасности будем понимать стратегию тестирования, направленную на выявление уязвимостей, присущих информационной системе (ИС), которые злоумышленник потенциально сможет эксплуатировать и реализовать определенные угрозы информационной безопасности (ИБ).
Под угрозой ИБ (Threat) понимают совокупность условий и факторов, которые прямо или косвенно могут стать причиной нарушения целостности, доступности или конфиденциальности информации в ИС, или выхода из строя элемента или всей системы. Эти угрозы также называют базовыми угрозами ИБ (Base Threats). 
Любая угроза ИБ реализуется, с некоторой степенью «возможности» или вероятности, через конкретную уязвимость (Vulnerability) – некоторое «неудачное» свойство системы защиты информации (СЗИ) или самой ИС.
Три основных источника уязвимостей информации в ИС:
  1. Подверженность физическому искажению или уничтожению. 
  2. Возможность несанкционированной, случайной или предумышленной, модификации. 
  3. Возможность несанкционированного, случайного или умышленного, получения информации лицами, для которых она не предназначена. 
В информационной безопасности защите подлежат три свойства, присущие информации и информационной системе:
  • конфиденциальность,
  • целостность,
  • доступность.
По этим же направлениям предлагается проводить и тестирование безопасности web-приложений, как один из видов информационных систем. При этом тестирование web-приложения должно выполняться в комплексе с тестированием всей сетевой структуры, в которой развернуто приложение.

2. Инструменты для тестирования безопасности

Для автоматизации тестирования безопасности применяются специализированные средства – сканеры безопасности: 
  1. XSpider, Zenmap, Metasploit – сетевые сканеры, для тестирования уязвимостей, присущих сетевой инфраструктуре. 
  2. Acunetix Web Vulnerability Scanner, XSpider, MaxPatrol, инструментарий OWASP Live CD – специализированный набор инструментов для тестирования безопасности и логики работы web-приложения. 
Для ручного и полуавтоматического тестирования безопасности на стороне клиента могут быть использованы: 

  1. Intercepter-NG, WinDump, WireShark и др. – снифферы для перехвата и анализа сетевого траффика. 
  2. FireBug, Web Developer – плагины для Firefox, которые можно использовать для изменения логики работы клиентской части приложения. 
  3. Selenium-тесты для подсистемы безопасности. 

В настоящее время используется классификатор сетевых уязвимостей и угроз «The WASC Threat Classification v2.0» (The Web Application Security Consortium,http://projects.webappsec.org/w/page/13246978/Threat-Classification). Для проверки их реализации можно использовать сканеры безопасности NMap, Acunetix WVS, Metasploit, XSpider, MaxPatrol и др. 
Примеры уязвимостей по классификатору WASC: Application Misconfiguration, Directory Indexing, Improper Filesystem Permissions, Insecure Indexing, Insufficient Anti-automation, Insufficient Authentication / Authorization, Insufficient Password Recovery, Insufficient Session Expiration, Insufficient Transport Layer Protection, Server Misconfiguration и др. 
Примеры угроз по классификатору WASC: Abuse of Functionality, Brute Force, Buffer Overflow, Content Spoofing, Credential/Session Prediction, Denial of Service, OS Commanding, SQL Injection, Cross-Site Scripting и др. 

3. Тестирование безопасности web-приложений при помощи инструментария OWASP LiveCD

Ознакомиться с подходами к тестированию безопасности OWASP (The Open Web Application Security Project) можно на сайте: https://www.owasp.org/index.php/Main_Page
Инструмент OWASP LiveCD:
  • cодержимое диска и предназначение его инструментов OWASP Live CD Content: http://appseclive.org/node/46
  • скачать OWASP Live CD, который содержит автозагрузочный диск с Ubuntu и инструменты для тестирования web-приложений: https://www.owasp.org/index.php/Category:OWASP_Live_CD_Project (раздел OWASP Download внизу);
  • Запустить OWASP Live CD можно, например, на виртуальной машине VMware.

4. Тестирование безопасности web-приложений при помощи сканера Acunetix WVS

Об инструменте Acunetix WVS: http://www.acunetix.com/
По результатам тестирования безопасности формируется отчет. Обычно его требуется предварительно проанализировать, интерпретировать соответствующим образом и поставить разработчикам задачи по исправлению ошибок. Поэтому наибольший интерес представляют результаты работы сканера Acunetix WVS, который позволяет не только формировать отчеты различных уровней детализации (краткий для руководства, подробный для инженеров, сравнительный, по результатам предыдущего сканирования и т.п.), но и выдаёт рекомендации по устранению уязвимостей и ссылки на соответствующие ресурсы в Интернете.
Отчет сканера безопасности Acunetix WVS содержит:
  • детали сканирования (Scan details – дату, время, конфигурацию приложения и сервера, профиль тестирования и т.п.);
  • общий уровень угроз (Threat level) с комментарием;
  • обобщенную информацию о потенциальных уязвимостях (Alerts summary);
  • детализированную техническую информацию об уязвимостях (Alert details);
  • рекомендации по устранению уязвимостей (Recommendation).