Анализ уязвимостей: Тестирование на проникновение».

Download Report

Transcript Анализ уязвимостей: Тестирование на проникновение».

Анализ уязвимостей:
Тестирование на проникновение
Тимур Ханнанов
Руководитель направления по
информационной безопасности
In theory there is very little difference between
theory and practice; in practice there's a hell of a
lot of difference
Softline. Сеть представительств по всему
миру
По oценке CNews Analytics, компания Softline вошла
в 4-ку крупнейших IT-компаний по направлению
«Информационная
безопасность»
согласно
финансовых итогов 2012 года.
О SolidLab
SolidLab – команда профессионалов, специализирующаяся
на аудите безопасности приложений, тестировании на
проникновение, а
также предлагающая полный комплекс
услуг по аудиту безопасности
кода.
Основу
команды
составляет
группа выпускников ВМК МГУ
имени М.В. Ломоносова, а также
выпускники
информационной
кафедры
безопасности
МГТУ им. Н.Э. Баумана.
О SolidLab
SolidLab входит в top 15 лучших команд в международных
соревнованиях по ИБ (CTF events), например:

6th place at the final of ruCTF 2012;

8th place at the qualification of ruCTF 2012;

5th place at the PHD CTF 2011;

1st place at the qualification of Swiss
Cyber ​Storm Car Game Challenge 2011;

4th place at the final of ruCTF 2011;

1st place at the qualification of ruCTF 2011;

2nd place at the Deutsche Post Security Cup 2010;

3rd place at the RusCrypto CTF 2010;

4th place at the qualification ruCTF 2010.
Также специалисты компании принимают участие в основных
конференциях по информационной безопасности: DefCon (USA),
Confidence (Poland), OWASP AppSec (Europe), ZeroNights (Russia),
Positive Hack Days (Russia). Опубликовано более 20 научных работ,
большая часть из которых за последние три года.
От чего защищаемся?
Направленные
Ненаправленные
Внутренние
Внешние
Уровни защиты клиентов
Security Level
клиента
Описание
Уровень 0. Незащищенный
Незащищенный
Уровень 1. Защита от
ненаправленных атак
Система защищена от простых
ненаправленных атак. Угрозы, как правило,
исходят от вирусов, червей и хакеровлюбителей.
Уровень 2. Защита от
направленных атак.
Система защищена от направленных атак.
Угрозы, как правило, исходят от
квалифицированных хакеров, которые
имеют определенную мотивацию для атаки
на конкретную систему.
Уровень 3. Защита от
направленных атак +
социальной инженерии.
Система защищена от направленных атак +
социальной инженерии.
Наша модель сервисов
Сервис
Security Level
клиента
Описание сервиса
SL Security
Baseline
Уровень 0
Уровень 1
Цель: определить security baseline
(базовый уровень ИБ). Сканирование с
помощью инструментов, ручной анализ
результатов.
SL Security
Assessment
Уровни 2,3
Цель: найти как можно больше уязвимостей.
Анализ исходного кода/анализ методом
«черного ящика», комплексный технический
аудит, эксплуатация уязвимостей и т.п.
SL Penetration
testing
Уровни 2,3
Цель: достижение поставленной задачи.
Проект заканчивается как только поставленная
задача будет достигнута (например, получение
административных прав или нарушение
работоспособности сервиса).
SL Code
Analysis
Для всех
уровней
Цель: поиск уязвимостей в исходном коде.
SL
Compliance
Для всех
уровней
Цель: выполнение требований какого-либо
стандарта (например, PCI DSS).
Области компетенций
 Анализ защищенности:
 ДБО, и других платежных приложений
 корпоративных и веб-приложений
 мобильных решений
 беспроводных сетей
 Тестирование на проникновение (в том числе в
соответствии с требованиями PCI DSS)
 Комплексные услуги по деобфускации,
декомпиляции и анализу кода.
Наши преимущества
 Используем
наш
тестированию.
уникальный
подход
к
 Используем
обширную
документированную
методологию, основанную на структурированных
процедурах, ручной проверке, проверке на новые
уязвимости.
 Используем большое сочетание коммерческих и
собственно разработанных инструментов для
оценки уровня безопасности.
 Используем большую базу вариантов ручных тестов.
 Используем разнообразные креативные тесты.
 Обеспечиваем контроль качества каждого проекта
посредством обратной связи с клиентами.
Методика тестирования
Формальных методов не существует!
Но существуют рекомендации
 Обычно включает в себя 7 этапов







Определение границ тестирования
Сбор информации
Обнаружение уязвимостей
Анализ найденного и планирование
Проведение атак
Анализ результатов и отчёты
«Уборка»
ПОВТОР
Мифы и реальность
Автоматические сканеры безопасности
помогут определить реальный уровень
защищенности…
Пример - сканеры
Web-приложений



Общего назначения:
W3AF, Skipfish, GrendelScan, Arachni, Wapiti,
Secubat
Специализированные:
sqlMap, hexjector, SQLiX
Коммерческие: IBM
AppScan, Acunetix, HP
WebInspect
Реальность*
 Лишь 29% уязвимостей
XSS и 46% уязвимостей
SQLi были обнаружены
автоматическими
сканерами
 Из 615 обнаруженных
уязвимостей контроля
доступа (insufficient
authorization) при
автоматическом
сканировании
обнаружено всего 14,
т.е. около 3%
* По статистике Web Application Security Consortium за 2008 год
(самая последняя доступная редакция)
Уязвимости авторизации - пример
 Система онлайн-обучения, студенты могут
изучать различные курсы под руководством
инструкторов
 Роли: «администратор», «инструктор» или
«студент»
 Уязвимости:
 Студент может удалить любой курс,
который никому не назначен
 Инструктор может назначить курс
любому студенту, а не только своему
 Инструктор может аннулировать
назначение студента инструктору
Accorute – автоматическое обнаружение
уязвимостей авторизации



Разработка команды
SolidLab
На вход: роли и их
привилегии
На выходе: перечень
возможных
неавторизованных действий
между ролями
С помощью Accorute автоматически найдены ранее неизвестные
уязвимости в WordPress, Easy JSP Forum, PyForum
Демо №1
Как искать уязвимости, если
автоматические сканеры не помогают?




Реальный пример:
Есть «озабоченный
клиент»
Его сайт регулярно
попадает в чёрные
списки поисковых
систем за WEB Malware
Чистка и восстановление
из резервных копий не
помогает – вскоре сайт
снова заражён
Автоматическое
сканирование ничего не
показывает
Демо №1
 1 У клиента видим
сайт на
«самописной» CMS
 2. Составляем карту
ролей и карту сайта
использования для
каждой роли
 3. Получаем:
 Интерфейс
администратора
sitename/ajax.php не
виден в
пользовательской
части, но при
обращении
напрямую доступ
разрешён
Пробуем:
POST /ajax.php HTTP/1.1
Host: sitename.ru
Content-Length: 80
Content-Type: application/x-www-formurlencoded
X-Requested-With: XMLHttpRequest
fio=adm&login=adm1&psw=adm&ok_block
=off&comment=&method=add_admin&mod
ul=security
Результат: кто угодно
(любой пользователь)
может создать себе
Администратора
Демо №2
 Не столь озабоченный клиент
 Экспресс-анализ системы ДБО
 Сайт тесно интегрирован с СКЗИ,
существенные
действия
подписываются ЭП
Простой HTTP
Шифрованный
протокол
Браузер
Криптоклиент
Крипто
сервер
WEB приложение
Демо №2
 Шаг 1 – обнаруживаем уязвимость авторизации
POST http://192.168.0.1/dbo/user_rights HTTP/1.1
Host: 192.168.0.1
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0
Keep-Alive: 115
Proxy-Connection: keep-alive
Content-Length: 142
Content=Other&sess=AAAA0W6BBBBBBBB&Action=Save&UID=666&Pass=qw
erty&ConfPass=qwerty&Role=1&Name=User1&Fname=User1&Last=12345
 Результат – любой пользователь может поменять
пароль любому другому и/или повысить себе
привилегии, изменив роль на администратора
 Но залогиниться нельзя, т.к. сервер проверяет ЭП
Демо №2
 Шаг 2 – создаём диссектор шифрованного протокола, чтобы
видеть содержимое криптотуннеля
 Анализируем, какие элементы GET и POST запросов
подписываются ЭП
 Обнаруживаем, что если в одном TCP-соединении отправить
подряд два запроса, то подписывается только первый
 При этом на сервере успешно выполняется проверка ЭП
первого запроса, а второй проходит через крипто-сервер без
изменений
Проходят все, но
проверка ЭП
только в первом
Подписан
только первый
запрос в сессии
Браузер
Криптоклиент
Крипто
сервер
WEB приложение
Тест-драйв тестирования на проникновение
 Опросник
 Коммерческое
предложение
 Договор
 Этапы:
Первый этап. SL Penetration testing или Baseline.
Если мы достигнем цели, то переходим ко
второму этапу.
 Второй этап. SL Security Assessment.
Спасибо за внимание!
Вопросы, пожалуйста ;)
Тимур Ханнанов
Руководитель направления по
информационной безопасности
[email protected]