Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
WAF - наше все?!



                       Дмитрий Евтеев

                   Positive Technologies
Безопасность веб-приложений как она есть


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

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

                    Утечка информации                              38%

   Предсказуемое расположение ресурсов                21%

        Уязвимые конфигурации сервера                              38%

                               Подбор                     22%

                                         0%   10%   20%     30%   40%    50%    60%
  Наиболее часто встречающиеся уязвимости веб-приложений при проведении анализа
  методом «черного ящика» (данные за 2009 год, http://ptsecurity.ru/analytics.asp)
Куда мы движемся?




   IBM X-Force 2009 Trend and Risk Report
  (http://www.servicemanagementcenter.com/main/pages/IBMRBMS/SMRC/ShowCollateral.aspx?oid=74711)
Что в итоге?

     ScanSafe сообщила о массовом взломе веб-сайтов
      …таковых могло оказаться до 114 тыс… Скорее всего для
       взлома веб-страниц злоумышленники использовали
       методику внедрения SQL-кода…
      http://www.securitylab.ru/news/394644.php


     Клиенты Network Solutions подверглись массированной атаке
      …согласно отчетам Securi Security и Stop Malvertising, массовой компрометации
       подверглись ресурсы, работающие на платформах WordPress, Joomla…
      http://xakep.ru/post/51852/


     Стоимость одной неприкрытой SQL-инъекции
      …Heartland Payment Systems сообщила, что понесла убытки в размере 129
         миллионов долларов… Инцидент был связан с крупной кражей данных
         кредитных и дебетовых карт, которая стала возможной по причине
         использования злоумышленником методики внедрения SQL-кода…
      http://www.bytemag.ru/articles/detail.php?ID=14366


     Хакер осуществил массовый дефейс сайтов
      …несколько сотен сайтов были подвергнуты дефейсу… дефейс
       был осуществлён посредством эксплуатации уязвимостей типа
       Remote File Inclusion…
      http://www.securitylab.ru/news/390028.php


     Ботнет Asprox заражает веб-сайты
      • …Net-Worm.Win32.Aspxor отыскивают уязвимые веб-сайты…и, используя
         SQL-инъекции, внедряют iframe-редиректы…
      http://www.securitylab.ru/news/395378.php
…как следствие…




  Статистика дефейсов zone-h.org (http://zone-h.org/stats/ymd)
Уязвимости, используемые для массовых атак




  Распределение критических уязвимостей на сайтах (данные за 2009 год,
  http://ptsecurity.ru/analytics.asp)
Динамика устранения уязвимостей на сайтах




  % сайтов с уязвимостями различной степени риска (данные за 2009 год,
  http://ptsecurity.ru/analytics.asp)
А может WAF?
Что такое Web Application Firewall (WAF)

                                                                      АТАКА
        http://server/?id=6329&print=Y


                                        WAF               Webserver
        http://server/?id=5351


        http://server/?id=8234

                                                            Нормализация данных
                                                                        Decode HTML entities (e.g. c, ", ª)
                                                                        Escaped characters (e.g. t, 001, xAA, uAABB)
                                                                        Null byte string termination
                                                                        ...
                                                            Поиск сигнатуры
                                                                         /(sel)(ect.+fr)(om)/is
                 http://server/?id=1+union+select...                    /(uni)(on.+sel)(ect)/is
                 http://server/?id="><script>...                        ...
                 http://server/?id=/../../../etc/passwd
Какие они бывают

    По режиму работы:

     • Мост/Маршрутизатор/Обратный прокси-сервер

     • Встроенный (в CMS/на стороне клиента)

    По модели защиты:

     • Основанные на сигнатуре (Signatures&Negative Security)

     • Основанные на правилах (Rules&Positive Model)

     • Обучающиеся (Learning)

        По реакции на «плохой» запрос:

     • Очистка «опасных» данных

     • Блокировка запроса или источника атаки


    Web Application Firewall Evaluation Criteria
    (http://projects.webappsec.org/Web-Application-Firewall-Evaluation-Criteria)
«Ложка дегтя в бочке меда»


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

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

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




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

           **admin, user**, r**t , …
Трудности обнаружения наиболее распространенных уязвимостей


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


     Межсайтовое выполнение сценариев
      • Помимо постоянного развития
       браузеров –

      Dom-based XSS


     Выход за каталог («выше»)
      • Local File Including, PHP wrappers, замена null-byte

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

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




       REGEXP:
 (?:%c0%ae/)|(?:(?:/|)(home|conf|usr|etc|proc|opt|s?bin|local|dev|tmp|kern|[br]oot|sys|system|windows|w
       innt|program|%[a-z_-]{3,}%)(?:/|))|(?:(?:/|)inetpub|localstart.asp|boot.ini)
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
KIS??!

/?id=1 union select password from users




/?id=1+and+(select+(@v:=password)+from+users+limit+0,1)+union+select+@v--

/?id=1+and+(select+(@v:=password)+from+users+limit+1,1)+union+select+@v--

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

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

   Архитектура

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

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

   Поддержка

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

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

   Обнаружение уязвимостей
Эффективное использование 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), закрытие вектора
   атаки до момента устранения
Резюме

    WAF – это не долгожданная "серебряная пуля"

     • В силу своих функциональных ограничений WAF не способен
       защитить веб-приложение от всех возможных уязвимостей,
       которым оно может быть подвержено

     • Необходимо проведение адаптации фильтров WAF под
       защищаемое веб-приложение

    WAF не устраняет уязвимость, а лишь (частично)
    прикрывает вектор атаки

    WAF является полезным инструментом в контексте
    построения эшелонированной защиты веб-приложений

     • Закрытие вектора атаки до момента выхода исправления от
       разработчика, которое устранит уязвимость
Спасибо за внимание!

devteev@ptsecurity.ru
http://devteev.blogspot.com/

More Related Content

Pt devteev-risspa

  • 1. WAF - наше все?! Дмитрий Евтеев Positive Technologies
  • 2. Безопасность веб-приложений как она есть Межсайтовое выполнение сценариев 27% Внедрение операторов SQL 49% Утечка информации 38% Предсказуемое расположение ресурсов 21% Уязвимые конфигурации сервера 38% Подбор 22% 0% 10% 20% 30% 40% 50% 60% Наиболее часто встречающиеся уязвимости веб-приложений при проведении анализа методом «черного ящика» (данные за 2009 год, http://ptsecurity.ru/analytics.asp)
  • 3. Куда мы движемся? IBM X-Force 2009 Trend and Risk Report (http://www.servicemanagementcenter.com/main/pages/IBMRBMS/SMRC/ShowCollateral.aspx?oid=74711)
  • 4. Что в итоге? ScanSafe сообщила о массовом взломе веб-сайтов …таковых могло оказаться до 114 тыс… Скорее всего для взлома веб-страниц злоумышленники использовали методику внедрения SQL-кода… http://www.securitylab.ru/news/394644.php Клиенты Network Solutions подверглись массированной атаке …согласно отчетам Securi Security и Stop Malvertising, массовой компрометации подверглись ресурсы, работающие на платформах WordPress, Joomla… http://xakep.ru/post/51852/ Стоимость одной неприкрытой SQL-инъекции …Heartland Payment Systems сообщила, что понесла убытки в размере 129 миллионов долларов… Инцидент был связан с крупной кражей данных кредитных и дебетовых карт, которая стала возможной по причине использования злоумышленником методики внедрения SQL-кода… http://www.bytemag.ru/articles/detail.php?ID=14366 Хакер осуществил массовый дефейс сайтов …несколько сотен сайтов были подвергнуты дефейсу… дефейс был осуществлён посредством эксплуатации уязвимостей типа Remote File Inclusion… http://www.securitylab.ru/news/390028.php Ботнет Asprox заражает веб-сайты • …Net-Worm.Win32.Aspxor отыскивают уязвимые веб-сайты…и, используя SQL-инъекции, внедряют iframe-редиректы… http://www.securitylab.ru/news/395378.php
  • 5. …как следствие… Статистика дефейсов zone-h.org (http://zone-h.org/stats/ymd)
  • 6. Уязвимости, используемые для массовых атак Распределение критических уязвимостей на сайтах (данные за 2009 год, http://ptsecurity.ru/analytics.asp)
  • 7. Динамика устранения уязвимостей на сайтах % сайтов с уязвимостями различной степени риска (данные за 2009 год, http://ptsecurity.ru/analytics.asp)
  • 9. Что такое Web Application Firewall (WAF) АТАКА http://server/?id=6329&print=Y WAF Webserver http://server/?id=5351 http://server/?id=8234 Нормализация данных 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 http://server/?id=1+union+select... /(uni)(on.+sel)(ect)/is http://server/?id="><script>... ... http://server/?id=/../../../etc/passwd
  • 10. Какие они бывают По режиму работы: • Мост/Маршрутизатор/Обратный прокси-сервер • Встроенный (в CMS/на стороне клиента) По модели защиты: • Основанные на сигнатуре (Signatures&Negative Security) • Основанные на правилах (Rules&Positive Model) • Обучающиеся (Learning) По реакции на «плохой» запрос: • Очистка «опасных» данных • Блокировка запроса или источника атаки Web Application Firewall Evaluation Criteria (http://projects.webappsec.org/Web-Application-Firewall-Evaluation-Criteria)
  • 11. «Ложка дегтя в бочке меда» За универсальность фильтров приходится расплачиваться ошибками первого и второго рода Не все фильтры одинаково полезны Ряд уязвимостей в веб-приложениях нельзя выявить сигнатурным путем
  • 12. Уязвимость уязвимости рознь Неполный список администраторов такого приложения: **admin, user**, r**t , …
  • 13. Трудности обнаружения наиболее распространенных уязвимостей Внедрение операторов SQL • Огромное разнообразие СУБД (гибкость языка SQL) Межсайтовое выполнение сценариев • Помимо постоянного развития браузеров – Dom-based XSS Выход за каталог («выше») • Local File Including, PHP wrappers, замена null-byte • Remote File Including, когда требуется «полный» URL
  • 14. PHPIDS??! Мое приложение сможет работать? REGEXP: (?:%c0%ae/)|(?:(?:/|)(home|conf|usr|etc|proc|opt|s?bin|local|dev|tmp|kern|[br]oot|sys|system|windows|w innt|program|%[a-z_-]{3,}%)(?:/|))|(?:(?:/|)inetpub|localstart.asp|boot.ini)
  • 15. 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
  • 16. KIS??! /?id=1 union select password from users /?id=1+and+(select+(@v:=password)+from+users+limit+0,1)+union+select+@v-- /?id=1+and+(select+(@v:=password)+from+users+limit+1,1)+union+select+@v-- и т.д.
  • 17. Защита веб-приложений должна быть комплексной Требования к ИБ Архитектура Разработка (SDLC) Внедрение (CIS, etc) Поддержка Оценка защищенности Превентивный контроль
  • 18. Эффективное использование WAF (Virtual Patching) Обнаружение уязвимостей
  • 19. Эффективное использование 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), закрытие вектора атаки до момента устранения
  • 20. Резюме WAF – это не долгожданная "серебряная пуля" • В силу своих функциональных ограничений WAF не способен защитить веб-приложение от всех возможных уязвимостей, которым оно может быть подвержено • Необходимо проведение адаптации фильтров WAF под защищаемое веб-приложение WAF не устраняет уязвимость, а лишь (частично) прикрывает вектор атаки WAF является полезным инструментом в контексте построения эшелонированной защиты веб-приложений • Закрытие вектора атаки до момента выхода исправления от разработчика, которое устранит уязвимость