Оценка защищенности Web-приложений

Содержание

Слайд 2

О чем пойдет речь

Насколько уязвимы Web-приложения?
Что такое «безопасное приложение»?
Методики и подходы
Критерии качества

О чем пойдет речь Насколько уязвимы Web-приложения? Что такое «безопасное приложение»? Методики и подходы Критерии качества

Слайд 3

Уязвимости Web-приложений

Мировая статистика
Mitre: более четверти уязвимостей, обнаруженных в 2006 году приходится на

Уязвимости Web-приложений Мировая статистика Mitre: более четверти уязвимостей, обнаруженных в 2006 году
Web-приложения [1].
Symantec «Internet Security Threat Report»: до 70% уязвимостей, используемых злоумышленниками, связаны с Web-приложениями [2].
Web Application Security Consortiums: 70% приложений имеют проблемы с безопасностью [3].
Российская действительность
До 65% Web-приложении содержат уязвимости высокой степени риска [4].
[1] http://cwe.mitre.org/documents/vuln-trends.html
[2] http://www.symantec.com/specprog/threatreport/ent-whitepaper_symantec_internet_security_threat_report_x_09_2006.en-us.pdf
[3] http://www.webappsec.org/projects/threat/
[4] http://www.ptsecurity.ru/stat2007.asp

Слайд 4

Уязвимости Web-приложений

Уязвимости Web-приложений

Слайд 5

Подходы к защите
Выработка и контроль требований по безопасности приложений учитывающих качество реализации
Элемент

Подходы к защите Выработка и контроль требований по безопасности приложений учитывающих качество
Secure SDLC
Крайне ресурсоемкое решение
Тяжело интегрируется во многие модели разработки
«Оценка защищенности», «тесты на проникновение» и т.д.
Уязвимости обнаруживаются после «сдачи» приложения
Зачастую уязвимости не устраняются (15% уязвимостей были обнаружены повторно)
Может быть весьма ресурсоемким решением (особенно в случае анализа кода)
Сканеры уязвимостей
Достаточно бюджетное решение
Позволяют обнаруживать до 70% уязвимостей (по отношению к Pentest)
Многие типы уязвимостей (особенно связанные с бизнес-логикой) не могут быть найдены сканером
Web Application Firewall
Бюджетное решение
Весьма «капризно» в настройке
Низкая эффективность
Качество реализации защитных механизмов «непрозрачно»

Слайд 6

«Безопасное»???

Что такое безопасное Web-приложение???

«Безопасное»??? Что такое безопасное Web-приложение???

Слайд 7

«Безопасное»???

Проектирование («Фичесет»)
ГОСТ Р ИСО/МЭК 15408 (Common Criteria)
набор функций безопасности (аутентификация, аудит и

«Безопасное»??? Проектирование («Фичесет») ГОСТ Р ИСО/МЭК 15408 (Common Criteria) набор функций безопасности
т.д.)
Реализация и поддержка
OWASP top 10
http://www.owasp.org/index.php/OWASP_Top_Ten_Project
Web Security Threat Classification
http://www.webappsec.org/projects/threat/

Слайд 8

OWASP vs WSTC

OWASP top 10
http://www.owasp.org/index.php/OWASP_Top_Ten_Project
Поддерживается (последняя версия 2007 года)
Только 10 уязвимостей
Web

OWASP vs WSTC OWASP top 10 http://www.owasp.org/index.php/OWASP_Top_Ten_Project Поддерживается (последняя версия 2007 года)
Security Threat Classification
http://www.webappsec.org/projects/threat/
Текущая версия 1 – 2004/2004 год
Готовится к выходу 2 версия

Слайд 9

WSTC v 2.0

WSTC v 1.0
6 классов уязвимостей
24 типа атак/уязвимостей
1 Authentication
2 Authorization
3 Client-side

WSTC v 2.0 WSTC v 1.0 6 классов уязвимостей 24 типа атак/уязвимостей
Attacks
4 Command Execution
5 Information Disclosure
6 Logical Attacks

WSTC v 2.0
9 классов уязвимостей
37 типа атак/уязвимостей
1 Authentication
2 Authorization
3 Client-Side
4 Command Execution
5 Information Disclosure
6 Logical Flaws
7 Misconfiguration
8 Protocol Abuse
9 XML Attacks

Слайд 10

Методы и подходы

Анализ спецификации/проекта
Тестирование функций
Фаззинг (fuzzing)
Анализ исходного кода

Методы и подходы Анализ спецификации/проекта Тестирование функций Фаззинг (fuzzing) Анализ исходного кода

Слайд 11

Анализ спецификации

Экспертная оценка архитектуры с точки зрения безопасности
Что хорошо:
Выявляются фундаментальные проблемы
Что плохо:
«Сплошное

Анализ спецификации Экспертная оценка архитектуры с точки зрения безопасности Что хорошо: Выявляются
экспертное мнение», нет понимания реализации
Инструменты:
Office, Adobe Reader, диктофон

Слайд 12

Тестирование функций

Проверка качества реализации механизмов безопасности
Что хорошо:
Authentication
Authorization
Logical Flaws
Что плохо:
Много ручной работы +

Тестирование функций Проверка качества реализации механизмов безопасности Что хорошо: Authentication Authorization Logical
нет четких критериев
Инструменты:
Браузер + расширения
Proxy

Слайд 13

Тестирование функций

Инструменты:
Plugins
Selenium
TamperData
FireBug
Chickenfoot
Proxy
WebSacarab
Praos
Sniffers
IE Inspector HTTP Analyzer

Тестирование функций Инструменты: Plugins Selenium TamperData FireBug Chickenfoot Proxy WebSacarab Praos Sniffers IE Inspector HTTP Analyzer

Слайд 14

Fuzzing

Передача «хорошо известных» плохих параметров на вход приложению
Что хорошо:
Client Side (Cross-Site Scripting,

Fuzzing Передача «хорошо известных» плохих параметров на вход приложению Что хорошо: Client
и т.д)
Code Execurition (SQL Injection, и т.д)
Information Disclosure
XML
Protocol Abuse
Что плохо:
Все остальное
Проблемы с сессиями
Хорошее добавление – журналы аудита + grep
(СУБД, Web-сервер, сервер приложений, ОС)

Слайд 15

Fuzzing

Инструменты
Сканеры уязвимостей Web-приложений:
XSpider
WebInspect (HP)
Watchfire AppScan (IBM)
OWASP WebScarab
...
Дополнительно
Требуется понимание структуры приложения

Fuzzing Инструменты Сканеры уязвимостей Web-приложений: XSpider WebInspect (HP) Watchfire AppScan (IBM) OWASP

Слайд 16

Анализ исходного кода

Проверка исходного кода на предмет наличия уязвимостей
Что хорошо:
Облегчение поиска

Анализ исходного кода Проверка исходного кода на предмет наличия уязвимостей Что хорошо:
любых уязвимостей
Что плохо:
Большой объем ручной работы

Слайд 17

Статический vs Динамический

Статический анализ
Широко распространен
Большое количество инструментов
Большое количество ложных срабатываний
Отсутствие анализа DataFlow
Динамический

Статический vs Динамический Статический анализ Широко распространен Большое количество инструментов Большое количество
(гибридный) анализ
Позволяет отсеивать ложные срабатывания
Слабо распространен для Web-приложений

Слайд 18

Анализ исходного кода

Инструменты
Coverity
Valgrind
Insure++
Checkmarx
CUTE
Fortify PTA
Open
FindBugs (Java)
LAPSE: Web Application Security Scanner for Java
Microsoft

Анализ исходного кода Инструменты Coverity Valgrind Insure++ Checkmarx CUTE Fortify PTA Open
FxCop (.NET)

Слайд 19

Качество качества?

Вопрос об эффективности тех или иных подходов остается открытым.
Taking the Blinders

Качество качества? Вопрос об эффективности тех или иных подходов остается открытым. Taking
off Black Box Security Testing, Fortify Software

Слайд 20

Резюме

Большинство Web-приложений содержит серьезные уязвимости
XSS, CSRF
Разнообразные утечки информации
SQL Injection
Ошибки авторизации/аутентификации
Оптимальным является «Gray

Резюме Большинство Web-приложений содержит серьезные уязвимости XSS, CSRF Разнообразные утечки информации SQL
box» тестирование
Сканеры
Ручной анализ
Анализ исходного кода
Степень покрытия функций приложения 20-50%
Имя файла: Оценка-защищенности-Web-приложений.pptx
Количество просмотров: 188
Количество скачиваний: 2