Андрей Петухов / Александр Раздобаров, 3 курс, sec-sem

На этом форуме публикуются и уточняются постановки задач студентам, а также отслеживается ход их выполнения

Модератор: staff

Закрыто
Бычков Иван
Аспирант
Сообщения: 179
Зарегистрирован: 23 сен 2008 01:19 pm

Андрей Петухов / Александр Раздобаров, 3 курс, sec-sem

Сообщение Бычков Иван »

Тема: Cравнение сканнеров веб-приложений

Расшифровка (для внутреннего пользования):
Мы хотим научиться сопоставлять веб-сканеру вектор его возможностей. Каждый элемент вектора будет показывать, как хорошо сканер решает определенную задачу. Соответственно, сначала надо определиться с размерностью вектора – то есть перечислить все виды задач, которые умеют решать веб-сканеры. Потом для каждой задачи необходимо определиться с тем, как замерять качество её решения. Очень хочется получить не бинарную шкалу («умеет/не умеет»), а более гранулированную.

Трудность состоит в том, что для решения некоторых задач сканер требует вмешательство оператора. При этом часто качество решения задачи прямо пропорционально квалификации оператора: к примеру, для некоторых задач требуется предоставить сканеру регулярное выражение, или осуществить ручную навигацию по интерфейсам веб-приложения. Таким образом, возможности сканнера можно разделить на два класса – настраиваемые и нет. Например, умение обнаруживать blind sql injection или возможность интерпретации AJAX являются ненастраиваемыми возможностями сканнера.

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

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

Scope of View: Пока в списке сканнеры Rational AppScan 7.7, Acunetix 6.5, WebInspect.

Ожидаемый результат:
• набор функциональных тестов для проверки возможностей сканнеров по обнаружению SQL injection и XSS;
• результат прогона сканнеров на нем и интерпретация результатов.

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

Цель: Возможность обоснованного сравнения ненастраиваемых возможностей сканнеров веб-приложений. Описание возможностей сканнеров в отношении сбора информации о точках ввода данных в веб-приложение.

План работы:
  1. Theoretical Track первого семестра.
    a. Изучение возможностей веб-сканнеров.
    Срок: 1 октября.
    b. Изучение проблематики проведения сравнительного анализа сканнеров.
    Срок: 15 октября.
    c. Изучение и описание нюансов уязвимости SQLI, затрудняющих её 100% обнаружение.
    Срок: 1 ноября.
    d. Изучение и описание нюансов уязвимости XSS, затрудняющих её 100% обнаружение.
    Срок: 15 ноября.
  2. Practical Track первого семестра.
    a. Научиться применять сканнеры из списка к синтетическим (серия HacMe) и реальным веб-приложениям (их можно взять из проекта NIST SATE или найти по CVE).
    Срок: 15 ноября.
    b. Спроектировать набор функциональных тестов и обосновать проект.
    Срок: конец семестра.
  3. Второй семестр
    a. Реализовать набор функциональных тестов и прогнать на нем веб-сканнеры.
    Срок: 1 апреля.
    b. Проинтерпретировать результаты и описать опыт применения веб-сканнеров (что декларируется в документации, а что есть на самом деле). Попытаться определить эвристики при обнаружении уязвимостей, используемых сканнерами, сделать вывод относительно классов обнаруживаемых уязвимостей (использовать прокси для протоколирования работы сканнеров и изучения передаваемых ими запросов).
    Срок: 15 апреля.
    c. Написать текст курсовой.
    Срок: до упора.
Литература (в порядке следования пунктов ПЗ):
1. Документация сканнеров
2. Обзоры функциональностей сканнеров
3. Проект NIST SAMATE в разделе веб-сканнеров
4. Web Application Security Scanner Evaluation Criteria
5. OWASP Web Application Scanner Specification Project
6. Web Application Vulnerability Scanners - a Benchmark
7. Отчет Larry Suto, критика отчета Ларри ("Better Untaught Than Ill-Taught" и "Analysis of Larry Suto’s Oct/2007 web scanner review")
8. http://www.cgisecurity.com/2009/01/web- ... rison.html
9. http://www.owasp.org/index.php/Testing_ ... SP-DV-005) + библиография
10. http://www.ngssoftware.com/papers/advan ... ection.pdf
11. http://www.net-security.org/dl/articles ... ection.pdf
12. http://www.blackhat.com/presentations/b ... chkies.pdf
13. [2007] [Syngress Publishing] Xss Exploits and Defense
14. http://www.owasp.org/index.php/Cross-si ... ting_(XSS) + библиография
15. Advanced Cross Site Scripting (http://www.net-security.org/dl/articles/AdvancedXSS.pdf)
Закрыто