2. По данным компании Positive Technologies более 80% сайтов содержат критические уязвимости вероятность автоматизированного заражения страниц уязвимого веб-приложения вредоносным кодом составляет сегодня приблизительно 15-20% http://ptsecurity.ru/analytics.asp
4. Что такое уязвимость типа «Внедрение операторов SQL » Web- сервер СУБД http://web/? id=6329&print=Y … . SELECT * from news where id = 6329 … .
5. Что такое уязвимость типа «Внедрение операторов SQL » Web- сервер СУБД http://web/? id=6329+union+select+id,pwd,0+from... … . SELECT * from news where id = 6329 union select id,pwd,0 from… … .
6. Что такое уязвимость типа «Межсайтовое выполнение сценариев» Web- сервер http://web/?search=secureweb … print "<b>secureweb</b>"; …
7. Что такое уязвимость типа «Межсайтовое выполнение сценариев» Web- сервер 1. fuzzing, поиск уязвимости 2. Передача «заряженной» ссылки : http://web/?search=secureweb"><script>...</script> 3. Переход по ссылке 4. Выполнение исполняемого кода в браузере пользователя 5. Например, передача Web-сессии (cookies) 6. Работа с Web-приложением от имени атакованного пользователя
8. По данным всех авторитетных источников, наиболее распространено использование следующих уязвимостей : Внедрение операторов SQL Межсайтовое выполнение сценариев Выход за каталог веб-сервера (и Local/Remote File Including ) Подбор Выполнение команд на сервере
12. Как «рождаются» уязвимости (2) Более 40% паролей можно взломать из-за простоты Статистика по паролям низкой стойкости у администраторов : Данные основываются на анализе более 185 тысяч паролей пользователей ( http://www.ptsecurity.ru/download/PT-Metrics-Passwords-2009.pdf ).
13. Как «рождаются» уязвимости (3) Распределение уязвимостей согласно классам WASC WSTCv2 (обобщенные результаты по данным Positive Technologies за 2009 год) http://ptsecurity.ru/analytics.asp
14. Какие цели преследует злоумышленник взламывая ваш сайт ? Black SEO Распространение вредоносного кода Кража и подмена информации Проведение атаки типа DoS Использование сайта в качестве плацдарма для проведения атак на внутренние ресурсы компании Ради шутки
15. Пути компрометации данных держателей карт по данным VERIZON http://www.verizonbusiness.com/resources/reports/rp_data-breach-investigations-report-2011_en_xg.pdf
16. Взломы ради шуток… Статистика дефейсов zone-h.org ( http://zone-h.org/stats/ymd )
17. Какие методы использует злоумышленник при взломе вашего сайта ? Уязвимости «нулевого» дня Тестирование функций (fuzzing) Поиск уязвимостей на основе анализа исходного кода, используемого приложения на вашем сайте (включая его компоненты) Взлом вашего сайта путем проведения атаки на другие сайты, расположенные на shared- хостинге
18. Подходы по снижению угроз Директивный подход ( 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 )
21. Что такое Web Application Firewall (WAF) http:// server /?id=6329&print=Y АТАКА WAF Webserver http:// 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. c, ", ª) Escaped characters (e.g. , 01, AA, AABB) Null byte string termination ... Поиск сигнатуры /(sel)(ect.+fr)(om)/is /(uni)(on.+sel)(ect)/is ...
22. «Ложка дегтя в бочке меда» За универсальность фильтров приходится расплачиваться ошибками первого и второго рода Не все фильтры одинаково полезны Ряд уязвимостей в веб-приложениях нельзя выявить сигнатурным путем Появление уязвимостей 0day!
24. Трудности обнаружения наиболее распространенных уязвимостей Внедрение операторов SQL Огромное разнообразие СУБД (гибкость языка SQL ) Межсайтовое выполнение сценариев Помимо постоянного развития браузеров – Dom-based XSS Выход за каталог («выше») Local File Including , PHP wrappers, замена null-byte Remote File Including , когда требуется «полный» URL
25. 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|localstartasp|bootini)
26. ModSecurity??! Универсальный способ проведения SQL- инъекций с обходом фильтров по умолчанию /*!sql-code*/ и /*! 12345 sql-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]=Tzo4OiJEYXRhYmFzZSI6MTp7czo4OiJzaHV0ZG93biI7YToyOntpOjA7czo2OiJzeXN0ZW0iO2k6MTtzOjI6ImxzIjt9fQ0KDQo= HTTP Parameter Pollution , HTTP Parameter Fragmentation , замена null-byte , etc
27. Защита веб-приложений должна быть комплексной Требования к ИБ Архитектура Разработка ( SDLC) Внедрение ( CIS, etc) Поддержка Оценка защищенности Превентивный контроль
29. Эффективное использование WAF (Virtual Patching) Система контроля защищенности ( eq MaxPatrol ) Обнаружение уязвимости, решение по устранению, правила фильтрации для Web Application Firewall Пример : <Location /injectblind.asp> SecRule ARGS:id "!^{1,8}$" "deny,log,status:403,msg:'just-in-time patching #1'" </Location> WAF (eq ModSecurity), закрытие вектора атаки до момента устранения
30. Что нас ждет впереди ? Перерождение известных уязвимостей (фрагментированные SQL -инъекции, HTML5 ) Развитие комплексных и более сложных атак ( одновременное использование уязвимостей кода и среды функционирования ) Развитие направления уязвимостей типа « Race Condition » Массовые атаки на веб-приложения станут повседневной нормой