Развитие систем анализа защищенности. Взгляд в...
DESCRIPTION
Системы анализа защищенности являются удобным и простым инструментом, помогающим своевременно обнаруживать уязвимости в информационных системах. Они прошли долгий путь от утилит из набора "для хакера" до систем обеспечения информационной безопасности в инфраструктуре любой сложности. Как все было на самом деле, что мы имеем сейчас и что нас ждет в будущем? Именно об этом и пойдет речь в этом выступлении.TRANSCRIPT
Развитие систем анализа защищенности. Взгляд в будущее!
Дмитрий Евтеев
Positive Technologies
С чего все начиналось…
С чего все начиналось…
…но многое ли изменилось с тех времен? :)
2010 поставит рекорд по количеству уязвимостей!http://xakep.ru/post/53070/
И появились они – сканеры!
Первые системы анализа защищенности в информационном мире
SATAN появился в 1995 г. (первое упоминание - 1993 г.)
Последующий продукт: SAINT Network Vulnerability Scanner (1998 г.)
Nessus Vulnerability Scanner (1998 г.)
Дальнейшее развитие: OpenVAS (2007 г.)
и Tenable SecurityCenter (2004 г.)
Xspider появился в 2001 г. (первая сборка - 1998 г.)
Дальнейшее развитие: MaxPatrol (2007 г.)
Nmap - Free Security Scanner (1997 г.)
Shadow Security Scanner, Retina Network Security Scanner, пр.
Работа сетевого сканера защищенности «на пальцах»
Обнаружение узла и сканирование сетевых портов
Поиск уязвимостей на сетевом уровне (TCP hijacking, ICMP timestamp, пр.)
Идентификация протокола и его окружения (включая эвристическое подтверждение)
Поиск уязвимостей на основе баннера (эвристики)
Поиск уязвимостей на прикладном уровне (на основе базы знаний или по эвристическому методу)
• Известные уязвимости
• Подбор (идентификаторы, пароли, пр.)
• Неизвестные уязвимости (eq buffer overflow)
• DoS-атаки
Определение ОС на основе собранной информации
Проблемы такого подхода
Появление ошибок первого и второго рода (ложные срабатывания и ненайденные уязвимости)
Негативное влияние на объект сканирования (небезопасные проверки, состояние DoS)
Продолжительность сканирования
Пример сканирования крупной сети:
• Host discovery (ping) [65536 hosts @ 1sec per host = ~ 18 hours]
• TCP Port discovery (scanner) [1 port @ 1sec per port, 65536 hosts = ~ 18 hours per port]
• Banner recon (scanner) [1 service @ 2 sec per port, 10 services per host @ 65536 hosts = ~ 15 days]
http://blog.tenablesecurity.com/2010/08/scanning-large-networks-with-nessus.html
Сложность в реализации качественного анализа всех возможных прикладных систем
На пороге 2000 года на рынке появляются узкоспециализированные системы анализа защищенности
Сетевые сканеры защищенности (включая комплексные)
Сканеры защищенностивеб-приложений
Сканеры защищенности СУБД
Сканеры защищенностиспециализированных систем (eq ERP)
От «пентеста» к «аудиту»
Анализ защищенности системы в режиме «белого ящика»
• Достоверность результатов сканирования
• Безопасность процесса анализа по отношению к объекту сканирования (safe scan)
• Максимально быстрая и полная оценка защищенности узла (требуется только проверить «транспорт», ~2 минуты на узел)
Новые подходы требуют новых решений
Современные подходы к анализу защищенности веб-приложений
AcuSensor Technology
http://www.acunetix.com/websitesecurity/rightwvs.htm
Так выглядит анализ веб-приложения методом «черного ящика»
Веб-сервер
Сканер уязвимостей
Этап 2: Web CrawlerПостроение структуры сайта (включая подбор имен каталогов, файлов и параметров)
Этап 3: подбор идентификаторов и паролей (если требуется аутентификация)Form-based/Basic/Digest/NTLM
Этап 5: поиск новых уязвимостей Механизм fuzzing
Этап 1: анализ веб-сервера и его окруженияИспользуется база знаний
Этап 4: поиск известных уязвимостейИспользуется база знаний
Результат такого анализа – обнаружено до 80% всех уязвимостей.
А так выглядит анализ веб-приложения методом «серого ящика»
Этап 2: получение реальной структуры сайта(ов)Включая особенности реализации (например, используется mod_rewrite)
Этап 4: локальный (!) и удаленный подбор идентификаторов и паролейForm-based/Basic/Digest/NTLM
Этап 7: верифицикация выявленных на предыдущих этапах уязвимостейМеханизм fuzzing
Этап 1: получение реальных данных о веб-сервере и его окруженииИспользуется база знаний
Этап 5: поиск известных уязвимостейИспользуется база знаний
Результат такого анализа – обнаружено до 90% всех уязвимостей сминимальным количеством ошибок первого рода.
Этап 9: аудитПолноценный аудит используемых конфигураций, разграничения доступа, пр.
Этап 6: анализ кода (!)Статический или динамический
Этап 3: Web CrawlerПостроение структуры сайта
Этап 8: поиск новых уязвимостей (уменьшение числа ошибок второго рода)Механизм fuzzing
Сокращая время сканирования
время сканирования = ~2 минуты * число узлов / число сканеров
Повышая эффективность
Процесс сканирования
Вендор выпускает критическое обновление
С
кани
ровани
е п
род
ол
жаетс
я
с н
овой
базо
й з
нани
й
Перерасчет уровня опасности на основе собранных данных и произошедших изменений
Пассивные сканеры защищенности
Пассивный сканер используется для решения следующих задач:
• инвентаризация (поиск новых сетевых узлов, служб);
• контроль соответствия заданной политике безопасности (отклонение от заданного профиля);
• базовые функции обнаружения атак.
В качестве источников данных пассивный сканер использует:
• сетевой трафик сегмента (broadcast);
• данные из внешних источников (SNMP, Netflow);
• зеркалирование портов (SPAN) .
Существующие решения:
• Sourcefire RNA (http://www.sourcefire.com/products/rna.html)
• Passive Vulnerability Scanner (http://www.tenablesecurity.com/products/pvs.shtml)
Пример работы пассивного сканера защищенности
Эпоха менеджмента информационной безопасности
Анализ информационных рисков (Risk management)
Комплексная оценка рисков, связанных с угрозой
• Метрика риска (CVSS)
• Вероятность реализации угрозы (экспертиза, например, наличие вируса)
• Учет топологии (открыт ли там порт 2002?)
• Учет количества/типа пользователей
• Учет предыдущих инцидентов
• Учет ценности ресурса (стоимости/критичности)
• …
• Учет ресурсов на устранение
РЕАЛЬНЫЕ ЦИФРЫ В ДЕНЬГАХ
Проверка уровня соответствия требованиям регуляторов (Compliance management)
NIST 800/CIS/NVD?...
PCI DSS/ISO 2700x/152 ФЗ?...
Пример проверки соответствия ресурсов по стандарту PCI DSS
Ориентация на собственные политики ИБ
Повсеместная интеграция
Система контроля защищенности
Обнаружение уязвимостей (+инвентаризация)
Системы управления инцидентами и событиями ИБ (SIEM)
WAF
<Location /injectblind.asp>
SecRule ARGS:id "!^\d{1,8}$" "deny,log,status:403,msg:'just-in-time patching #1'"
</Location>
Переход от сканирования (поиска) к мониторингу (постоянному аудиту) и от него к управлению
Заглядывая в будущее
Заглядывая в будущее
Поддержка IPv6 …задача инвентаризационного сканирования сети в
случае с IPv6 будет весьма затруднена, поскольку стандартное количество адресов в одной подсети равняется 2^64…
http://www.securitylab.ru/contest/264659.php
Развитие пассивных сканеров защищенности
Заглядывая в будущее
Современные атаки в большей степени направлены на• конечного пользователя (client-side attack)• веб-технологии
Обнаружение уязвимостей на стороне клиента
Secunia (http://secunia.com/vulnerability_scanning/online/)
Qualys (https://browsercheck.qualys.com/)
Positive Technologies (http://surfpatrol.ru/)
Дальнейшее развитие – интеграция в крупные веб-проекты (поисковые системы, часто посещаемые ресурсы); для корпоративного сектора – интеграция с proxy-шлюзами
Развитие систем анализа защищенности в отношении веб-технологий
Переход от модели «черного ящика» к «белому ящику»
Использование уязвимостей в качестве транспорта (SQLi, LFI/RFI, command exec)
Расширенный режим фаззинга (например, для сайтов, «защищенных» ModRewrite)
Веб–декомпиляция и разбор активного client-side (javascript, ajax, json, java, silverlight, flash)
Режим самообучения (!)
Ваши вопросы?
Спасибо за внимание!
[email protected]://devteev.blogspot.com/