31
Безопасность веб-приложений сегодня Дмитрий Евтеев (Позитив Текнолоджиз)

безопасность веб приложений сегодня. дмитрий евтеев. зал 4

  • Upload
    rit2011

  • View
    1.226

  • Download
    1

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

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

Дмитрий Евтеев (Позитив Текнолоджиз)

Page 2: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

По данным компании Positive Technologies

– более 80% сайтов содержат критические уязвимости

– вероятность автоматизированного заражения страниц

уязвимого веб-приложения вредоносным кодом

составляет сегодня приблизительно 15-20%

http://ptsecurity.ru/analytics.asp

Page 3: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Распределение веб-уязвимостей по данным VERACODE

http://info.veracode.com/rs/veracode/images/soss-v3.pdf

Page 4: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Что такое уязвимость типа «Внедрение операторов SQL»

Web-сервер СУБДhttp://web/?id=6329&print=Y

….SELECT * from news where id = 6329….

Page 5: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Что такое уязвимость типа «Внедрение операторов SQL»

Web-сервер СУБДhttp://web/?id=6329+union+select+id,pwd,0+from...

….SELECT * from news where id = 6329 union select id,pwd,0 from…….

Page 6: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Что такое уязвимость типа «Межсайтовое выполнение сценариев»

Web-серверhttp://web/?search=secureweb

…print "<b>secureweb</b>";…

Page 7: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Что такое уязвимость типа «Межсайтовое выполнение сценариев»

Web-сервер

1. fuzzing, поиск уязвимости

2. Передача «заряженной» ссылки:http://web/?search=secureweb"><script>...</script>

3. Переход по ссылке

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

5. Например, передача Web-сессии (cookies)

6. Работа с Web-приложением от имени атакованного пользователя

Page 8: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

По данным всех авторитетных источников, наиболее распространено использование следующих уязвимостей:

– Внедрение операторов SQL

– Межсайтовое выполнение сценариев

– Выход за каталог веб-сервера (и Local/Remote File Including)

– Подбор

– Выполнение команд на сервере

Page 9: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Распределение использования веб-уязвимостей по данным подразделения IBM X-Force

http://public.dhe.ibm.com/common/ssi/ecm/en/wgl03007usen/WGL03007USEN.PDF

Page 10: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Использование уязвимости SQL Injection

http://public.dhe.ibm.com/common/ssi/ecm/en/wgl03007usen/WGL03007USEN.PDF

Page 11: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Как «рождаются» уязвимости

http://info.veracode.com/rs/veracode/images/soss-v3.pdf

Page 12: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Как «рождаются» уязвимости (2)

• Более 40% паролей можно взломать из-за простоты• Статистика по паролям низкой стойкости у администраторов:

Данные основываются на анализе более 185 тысяч паролей пользователей (http://www.ptsecurity.ru/download/PT-Metrics-Passwords-2009.pdf).

Page 13: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Как «рождаются» уязвимости (3)

Распределение уязвимостей согласно классам WASC WSTCv2 (обобщенные результаты по данным Positive Technologies за 2009 год) http://ptsecurity.ru/analytics.asp

Page 14: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Какие цели преследует злоумышленник взламывая ваш сайт?

– Black SEO

– Распространение вредоносного кода

– Кража и подмена информации

– Проведение атаки типа DoS

– Использование сайта в качестве плацдарма для проведения атак на внутренние ресурсы компании

– Ради шутки

Page 15: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Пути компрометации данных держателей карт по данным VERIZON

http://www.verizonbusiness.com/resources/reports/rp_data-breach-investigations-report-2011_en_xg.pdf

Page 16: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Взломы ради шуток…

Статистика дефейсов zone-h.org (http://zone-h.org/stats/ymd)

Page 17: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Какие методы использует злоумышленник при взломе вашего сайта?

– Уязвимости «нулевого» дня

– Тестирование функций (fuzzing)

– Поиск уязвимостей на основе анализа исходного кода, используемого приложения на вашем сайте (включая его компоненты)

– Взлом вашего сайта путем проведения атаки на другие сайты, расположенные на shared-хостинге

Page 18: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Подходы по снижению угроз

Директивный подход (Directive)

• Software Development Life Cycle (SDLC), «бумажная безопасность», выстраивание высокоуровневых процессов

Детективный подход (Detective)

• Тестирование функций (black/white-box), фаззинг (fuzzing), статический/динамический/ручной анализ исходного кода

Профилактический подход (Preventive)

• Intrusion Detection/Prevention Systems (IDS/IPS), Web Application Firewall (WAF)

Корректирующий подход (Corrective)

• Ведение журналов событий, обработка инцидентов

Подход к восстановлению (Recovery)

• Резервное копирование, стратегия обеспечения непрерывности бизнес-процессов (BS25999)

Page 19: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Современный (детективный) подход обнаружения уязвимостей в веб-приложениях

Page 20: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

А может WAF?

Page 21: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Что такое Web Application Firewall (WAF)

http://server/?id=6329&print=Y

АТАКА

WAF Webserverhttp://server/?id=5351

http://server/?id=8234

http://server/?id="><script>...

http://server/?id=1+union+select...

http://server/?id=/../../../etc/passwd

Нормализация данныхDecode HTML entities (e.g. &#99;, &quot;, &#xAA;)Escaped characters (e.g. \t, \001, \xAA, \uAABB)Null byte string termination...

Поиск сигнатуры /(sel)(ect.+fr)(om)/is/(uni)(on.+sel)(ect)/is...

Page 22: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

«Ложка дегтя в бочке меда»

• За универсальность фильтров приходится расплачиваться ошибками первого и второго рода

• Не все фильтры одинаково полезны

• Ряд уязвимостей в веб-приложениях нельзя выявить сигнатурным путем

• Появление уязвимостей 0day!

Page 23: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Уязвимость уязвимости рознь

Неполный список администраторов такого приложения:

**admin, user**, r**t , …

Page 24: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Трудности обнаружения наиболее распространенных уязвимостей

• Внедрение операторов SQL

Огромное разнообразие СУБД (гибкость языка SQL)

• Межсайтовое выполнение сценариев

Помимо постоянного развития браузеров – Dom-based XSS

• Выход за каталог («выше»)

Local File Including, PHP wrappers, замена null-byte

Remote File Including, когда требуется «полный» URL

Page 25: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

PHPIDS??!

Мое приложение сможет работать?

REGEXP:(?:%c0%ae\/)|(?:(?:\/|\\)(home|conf|usr|etc|proc|opt|s?bin|local|dev|tmp|kern|[br]oot|sys|system|windows|winnt|program|%[a-z_-]{3,}%)(?:\/|\\))|(?:(?:\/|\\)inetpub|localstart\.asp|boot\.ini)

Page 26: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

ModSecurity??!• Универсальный способ проведения SQL-инъекций с обходом фильтров по

умолчанию

/*!sql-code*/ и /*!12345sql-code*/

• XSS over SQLi

/?id=-1/*!+union+select+'%3Cscri'+'pt%3Eal'+'ert(1)%3C/script%3E',2,3*/

• Выполнение команд на сервере over unserialize(), пример:

O:8:"Database":1:{s:8:"shutdown";a:2:{i:0;s:6:"system";i:1;s:2:"ls";}}cookie[sessid]=Tzo4OiJEYXRhYmFzZSI6MTp7czo4OiJzaHV0ZG93biI7YToyOntpOjA7czo2OiJzeXN0ZW0iO2

k6MTtzOjI6ImxzIjt9fQ0KDQo=

• HTTP Parameter Pollution, HTTP Parameter Fragmentation, замена null-byte, etc

Page 27: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Защита веб-приложений должна быть комплексной

•Требования к ИБ

•Архитектура

•Разработка (SDLC)

•Внедрение (CIS, etc)

•Поддержка

•Оценка защищенности

•Превентивный контроль

Page 28: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Эффективное использование WAF (Virtual Patching)

Page 29: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Эффективное использование WAF (Virtual Patching)

Система контроля защищенности (eq MaxPatrol)

Обнаружение уязвимости, решение по устранению, правила фильтрации для Web Application Firewall

Пример:

<Location /injectblind.asp>

SecRule ARGS:id "!^\d{1,8}$" "deny,log,status:403,msg:'just-in-time patching #1'"

</Location>

WAF (eq ModSecurity), закрытие вектора атаки до момента устранения

Page 30: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Что нас ждет впереди?

– Перерождение известных уязвимостей (фрагментированные SQL-инъекции, HTML5)

– Развитие комплексных и более сложных атак (одновременное использование уязвимостей кода и среды функционирования)

– Развитие направления уязвимостей типа «Race Condition»

– Массовые атаки на веб-приложения станут повседневной нормой

Page 31: безопасность веб приложений сегодня. дмитрий евтеев. зал 4

Спасибо за внимание!

[email protected]://devteev.blogspot.com