QA Fest 2014. Катерина Овеченко. Безопасность сессий в веб-приложениях: практ...QAFest
"86% всех сайтов имеют хотя бы одну серьезную уязвимость" WhiteHat Security
Уязвимости приложений относящиеся к управлению сессиями занимают 2ое место в десятке самых распространенных уязвимостей. Уязвимые к атаке сессии позволяют злоумышленнику перехватить сессию пользователя, получить его логин-пароль , тем самым полностью завладеть данными пользователя в веб-приложении. •рассмотрим, как вообще устроена сессия в веб-приложении
•на живых примерах изучим распространенные в уязвимости веб-сессий
•разберем рекоммендации по устранению данных уязвимостей
•рассмотрим несколько инструменты необходимых при тестировании безопасности веб-сессий
Будут рассмотрены следующие уязвимости: Session Fixation, Session Hijacking, Cross-Site Request Forgery.
Данный доклад позволит вам не только ознакомиться с теорией, как тестировать безопасность веб-сессии, но и даст "стартовые" знания для того, чтобы попробовать это тестирование на своем проекте.
Тестирование на проникновение в сетях Microsoft (v.2)Dmitry Evteev
Как показывает практика проведения тестирований на проникновение компанией Positive Technologies, всего 4-х часов достаточно атакующему, находящемуся во внутренней сети компании, для того, чтобы получить максимальный уровень привилегий. С чем это связано и можно ли от этого защититься? Данная тема будет освещена в ходе доклада Дмитрия Евтеева. На вебинаре будут подробно рассмотрены типовые успешные сценарии атак в сетях Microsoft, а также действия атакующего, связанные с пост эксплуатацией в Active Directory.
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхDmitry Evteev
Уязвимости и атаки на Web-приложения, общепринятые классификации уязвимостей. Ошибки, допускаемые разработчиками при создании клиентской и серверной частей Web-приложения, их возможные последствия и методы выявления и устранения. Примеры из практики. Обзор специализированных средств защиты Web-приложений: Web Application Firewall (WAF). Стоит ли полагаться на WAF?
Методология выявления уязвимостей в Web-приложениях, в частности, с использованием различных средств автоматического анализа.
QA Fest 2014. Катерина Овеченко. Безопасность сессий в веб-приложениях: практ...QAFest
"86% всех сайтов имеют хотя бы одну серьезную уязвимость" WhiteHat Security
Уязвимости приложений относящиеся к управлению сессиями занимают 2ое место в десятке самых распространенных уязвимостей. Уязвимые к атаке сессии позволяют злоумышленнику перехватить сессию пользователя, получить его логин-пароль , тем самым полностью завладеть данными пользователя в веб-приложении. •рассмотрим, как вообще устроена сессия в веб-приложении
•на живых примерах изучим распространенные в уязвимости веб-сессий
•разберем рекоммендации по устранению данных уязвимостей
•рассмотрим несколько инструменты необходимых при тестировании безопасности веб-сессий
Будут рассмотрены следующие уязвимости: Session Fixation, Session Hijacking, Cross-Site Request Forgery.
Данный доклад позволит вам не только ознакомиться с теорией, как тестировать безопасность веб-сессии, но и даст "стартовые" знания для того, чтобы попробовать это тестирование на своем проекте.
Тестирование на проникновение в сетях Microsoft (v.2)Dmitry Evteev
Как показывает практика проведения тестирований на проникновение компанией Positive Technologies, всего 4-х часов достаточно атакующему, находящемуся во внутренней сети компании, для того, чтобы получить максимальный уровень привилегий. С чем это связано и можно ли от этого защититься? Данная тема будет освещена в ходе доклада Дмитрия Евтеева. На вебинаре будут подробно рассмотрены типовые успешные сценарии атак в сетях Microsoft, а также действия атакующего, связанные с пост эксплуатацией в Active Directory.
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхDmitry Evteev
Уязвимости и атаки на Web-приложения, общепринятые классификации уязвимостей. Ошибки, допускаемые разработчиками при создании клиентской и серверной частей Web-приложения, их возможные последствия и методы выявления и устранения. Примеры из практики. Обзор специализированных средств защиты Web-приложений: Web Application Firewall (WAF). Стоит ли полагаться на WAF?
Методология выявления уязвимостей в Web-приложениях, в частности, с использованием различных средств автоматического анализа.
Ведущий: Эльдар Бейбутов
Интернет приложения - это интерфейс взаимодействия человеческого сознания с информационной системой. Процесс коммуникации людей и машинного кода не поддается формализации, невозможно учесть все возможные состояния системы в ручную, для этого необходимы интеллектуальные средства защиты, которые будут способны к самостоятельному обучению и принятию решений на основе многофакторных моделей. На докладе поговорим о эвристических механизмах обнаружения атак, автоматическом создании позитивной модели и поведенческом анализе.
Waf.js: как защищать веб-приложения с использованием JavaScriptPositive Hack Days
Ведущие: Денис Колегов и Арсений Реутов
Авторы доклада продемонстрируют, как внедрение клиентских сценариев JavaScript может быть использовано для обнаружения и предотвращения различных атак, поиска уязвимых клиентских компонент, определения утечек данных об инфраструктуре веб-приложений, выявления веб-ботов и инструментальных средств нападения. Поделятся собственными методами обнаружения инъекций при помощи синтаксических анализаторов без сигнатур и фильтрующих регулярных выражений, а также рассмотрят реализацию концепции JavaScript-ловушек на стороне клиента для атак SSRF, IDOR, Command Injection и CSRF.
В современном бизнесе все решает время. Доступность корпоративных приложений из любой точки земного шара и с любых мобильных устройств - это и есть облик современного бизнеса. Но как обеспечить подобную доступность? VPN-шлюзы? Доставка приложений через веб-сервисы? Каждая компания свободна в выборе любого из решений. Но насколько безопасны эти решения? В презентации затронута практическая безопасность при организации удаленного доступа к приложениям с использованием решений самых популярных брендов в этой сфере.
Мастер-класс по защите от фишинга, прочитанный на CISO Forum 2017. Подробное описание с демонстрациями того, как реализуется фишинг, и как ему противостоять организационными и техническими мерами
Описание бизнес-модели современной киберпреступности, позволяющее понять, что она сегодня представляет не группу разрозненных хакеров-одиночек, "тырящих" по рублю у пенсионеров, а серьезную многоуровневую структуру, копирующую, а иногда и улучшающую существующие бизнес-модели.
Ведущий: Дан Корецкий
Миллионы устройств на Android содержат уязвимости, которые дают права суперпользователя. Докладчик расскажет о технических причинах проблем безопасности (коллизии хеш-функций, злоупотребление межпроцессорным взаимодействием, ошибки работы с сертификатами приложений). Продемонстрирует атаку на «живое» устройство и предоставит рекомендации для снижения риска. Слушатели узнают, почему нельзя полностью устранить уязвимости. Докладчик также поведает историю о том, как были обнаружены атаки в Google Play.
Популярні способи зломів та шахрайські схемиAvivi Academy
Security Meetup
Іван Бондар
Elogic Commerce - Magento Development
Розробник систем веб-комерції на платформі Magento. 4 роки досвіду роботи з відомими міжнародними брендами, в розподілених командах з Франції, Німеччини, Англії, Італії, Австралії та США
Тези:
– підбір інструментів для зломів;
– доставка експлойта;
– отримання контролю над системою жертви;
– розширення можливостей контролю в атакуючому середовищі;
– крадіжка даних;
– виконання цілей атаки.
В данной сессии мы подробно рассмотрим архитектурные принципы построения защищённого корпоративного периметра, с разбором решения некоторых частных задач, характерных для периметра: контроль доступа пользователей в сеть Интернет, борьба с целенаправленными (APT) угрозами, защита web и email-трафика, средства объективного контроля сетевых процессов.
Ведущий: Эльдар Бейбутов
Интернет приложения - это интерфейс взаимодействия человеческого сознания с информационной системой. Процесс коммуникации людей и машинного кода не поддается формализации, невозможно учесть все возможные состояния системы в ручную, для этого необходимы интеллектуальные средства защиты, которые будут способны к самостоятельному обучению и принятию решений на основе многофакторных моделей. На докладе поговорим о эвристических механизмах обнаружения атак, автоматическом создании позитивной модели и поведенческом анализе.
Waf.js: как защищать веб-приложения с использованием JavaScriptPositive Hack Days
Ведущие: Денис Колегов и Арсений Реутов
Авторы доклада продемонстрируют, как внедрение клиентских сценариев JavaScript может быть использовано для обнаружения и предотвращения различных атак, поиска уязвимых клиентских компонент, определения утечек данных об инфраструктуре веб-приложений, выявления веб-ботов и инструментальных средств нападения. Поделятся собственными методами обнаружения инъекций при помощи синтаксических анализаторов без сигнатур и фильтрующих регулярных выражений, а также рассмотрят реализацию концепции JavaScript-ловушек на стороне клиента для атак SSRF, IDOR, Command Injection и CSRF.
В современном бизнесе все решает время. Доступность корпоративных приложений из любой точки земного шара и с любых мобильных устройств - это и есть облик современного бизнеса. Но как обеспечить подобную доступность? VPN-шлюзы? Доставка приложений через веб-сервисы? Каждая компания свободна в выборе любого из решений. Но насколько безопасны эти решения? В презентации затронута практическая безопасность при организации удаленного доступа к приложениям с использованием решений самых популярных брендов в этой сфере.
Мастер-класс по защите от фишинга, прочитанный на CISO Forum 2017. Подробное описание с демонстрациями того, как реализуется фишинг, и как ему противостоять организационными и техническими мерами
Описание бизнес-модели современной киберпреступности, позволяющее понять, что она сегодня представляет не группу разрозненных хакеров-одиночек, "тырящих" по рублю у пенсионеров, а серьезную многоуровневую структуру, копирующую, а иногда и улучшающую существующие бизнес-модели.
Ведущий: Дан Корецкий
Миллионы устройств на Android содержат уязвимости, которые дают права суперпользователя. Докладчик расскажет о технических причинах проблем безопасности (коллизии хеш-функций, злоупотребление межпроцессорным взаимодействием, ошибки работы с сертификатами приложений). Продемонстрирует атаку на «живое» устройство и предоставит рекомендации для снижения риска. Слушатели узнают, почему нельзя полностью устранить уязвимости. Докладчик также поведает историю о том, как были обнаружены атаки в Google Play.
Популярні способи зломів та шахрайські схемиAvivi Academy
Security Meetup
Іван Бондар
Elogic Commerce - Magento Development
Розробник систем веб-комерції на платформі Magento. 4 роки досвіду роботи з відомими міжнародними брендами, в розподілених командах з Франції, Німеччини, Англії, Італії, Австралії та США
Тези:
– підбір інструментів для зломів;
– доставка експлойта;
– отримання контролю над системою жертви;
– розширення можливостей контролю в атакуючому середовищі;
– крадіжка даних;
– виконання цілей атаки.
В данной сессии мы подробно рассмотрим архитектурные принципы построения защищённого корпоративного периметра, с разбором решения некоторых частных задач, характерных для периметра: контроль доступа пользователей в сеть Интернет, борьба с целенаправленными (APT) угрозами, защита web и email-трафика, средства объективного контроля сетевых процессов.
Мошенничество в системах ДБО. Анализ и контроль операцийКРОК
Вторая межбанковская конференция «Информационная безопасность банков».
Подробнее о мероприятии http://www.croc.ru/action/partners/detail/2618/
Презентация Евгения Чугунова, эксперта направления информационной безопасности компании КРОК
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Ontico
РИТ++ 2017, секция ML + IoT + ИБ
Зал Белу-Оризонти, 5 июня, 13:00
Тезисы:
http://ritfest.ru/2017/abstracts/2798.html
В данном докладе будет рассмотрено множество вопросов, с которыми сталкивается AppSec-отдел - как генерировать анти-CSRF токены, где хранить секретные ключи, как тестировать безопасность в сжатые сроки и многое, многое другое.
Обзор современных технологий и продуктов для защиты от инсайдеров_2014.09.16DialogueScience
современными тенденциями в области защиты информации от внутренних угроз, комплексным подходом к защите от утечки конфиденциальной информации, а также с ведущими разработками в этой области.
Для работы привилегированных пользователей создаются исключения в политиках безопасности и предоставляются преференции в ИТ-процессах. Средства защиты периметра обеспечивают привилегированным пользователям доступ внутрь сети и возможности удаления данных аудита, доступ к данным без уведомления. Получение доступа к контроллеру домена на основании доступного хэша пароля позволяет эскалировать привилегии существующих привилегированных учетных записей и создавать новые. Конечные точки создают плацдарм для атак, доступ к данным и средства эскалации привилегий вглубь инфраструктуры. Хищение привилегированных учетных данных и эскалация привилегий – сегодня являются основными причинами успешности атак.
17 способов проникновения во внутреннюю сеть компанииAleksey Lukatskiy
Презентация, рассматривающая различные нашумевшие инциденты и то, как их можно было бы вовремя обнаружить. Но многие компании эти рекомендации не выполняют, фокусируясь только на защите периметра
Презентация с InfoSecurity Russia 2017, в которой я попробовал описать, какими функциями должен обладать современный NGFW и почему у разных вендоров совершенно разное восприятие этого термина и его наполнения.
2. Содержание
1. Введение в тестирование безопасности
2. Тестирование сессий
• Теория веб-сессий
• Session Hijacking (Перехват сессии)
• Session Fixation (Фиксирование сессии)
• Cross-Site Request Forgery
• Phishing (Фишинг)
3. Практическая часть
• Задание А
• Задание В
4. Инструменты
5. Что дальше?
12/22/2015/ 2
3.
4. Содержание
1. Введение в тестирование безопасности
2. Тестирование сессий
• Теория веб-сессий
• Session Hijacking (Перехват сессии)
• Session Fixation (Фиксирование сессии)
• Cross-Site Request Forgery
• Phishing (Фишинг)
3. Практическая часть
• Задание А
• Задание В
4. Инструменты
5. Что дальше?
12/22/2015/ 4
5. Безопасность
инфраструктуры
Безопасность
приложений
Безопасность
организации
• Тесты на проникновение в
сеть
• Мониторинг уязвимостей
инфраструктуры
• Оценка беспроводного
соединения (Wi-Fi)
• Оценка файрволов
• Оценка VPN соединения
• Тестирование веб и десктоп
приложений
• Тестирование безопасности
облаков
• Тестирование мобильных
приложений
• Анализ исходного кода
• Моделирование атак
• Тестирование бизнес логики
• Тренинги по безопасности
• Политики безопасности
• Управление рисками
• Социальная инженерия
• План реагирования на
инциденты
Области безопасности
12/22/2015/ 5
6. 1) Инъекции
2) Некорректная
аутентификация и
управление сессиями
3) Межсайтовое выполнение
сценариев (XSS)
4) Небезопасные прямые
ссылки на объекты
5) Небезопасная конфигурация
окружения
6) Утечка критичных данных
7) Отсутствие контроля доступа
к функциональному уровню
8) Подделка межсайтовых
запросов (CSRF)
9) Использование компонентов
с известными уязвимостями
10) Невалидируемые
перенаправления
9. Анализ рисков безопасности
Уязвимость != Риску безопасности
Величина риска = вероятность * последствия
Факторы при оценке рисков (по OWASP)
Вероятность
• Уровень взломщика
• Мотивация
• Размер группы
• Возможность обнаружения
• Простота обнаружения
• И др.
Последствия
• Финансовые убытки
• Репутационные убытки
• Личные данные
• Потеря данных
• Потеря конфиденциальности
• И др.
12/22/2015/ 9
10. Содержание
1. Введение в тестирование безопасности
2. Тестирование сессий
• Теория веб-сессий
• Session Hijacking (Перехват сессии)
• Session Fixation (Фиксирование сессии)
• Cross-Site Request Forgery
• Phishing (Фишинг)
3. Практическая часть
• Задание А
• Задание В
4. Инструменты
5. Что дальше?
12/22/2015/ 10
11. Что такое веб-сессия?
“HTTP - это протокол без состояний. Сессии решают эту проблему.”
Веб-сессия – это структура данных конкретного пользователя, которую
приложение использует для хранения временных данных, полезных
только в течение того времени, которое пользователь взаимодействует с
приложением.
12/22/2015/ 11
12. Атрибуты сессии
• ID сессии – это уникальный ID, используемый для идентификации
пользователя при обмене запросами между клиентом и сервером.
Например: PHPSESSID=a2pdlk7jreml0u1m3bccd12551;
• Время действия (Expiry date) – это время окончания сессии.
Может иметь такие параметры:
Фиксированное время после авторизации
Фиксированное время после каждого нового запроса
Закрытие браузера
Выход из приложения (logout)
Никогда
Дополнительная авторизация на какое-то действие
Например: EXPIRES 18.03.2014 16:52:22
12/22/2015/ 12
13. Передача ID сессии
12/22/2015/ 13
• http://www.example.com/index.php?PHPSESSID=a2pdlk7jre
ml0u1m3bccd12551
• http://www.example.com/s(lit3py55t21z5v55vlm
25s55)/orderform.aspx
В URL адресе
• Session-token: SID=lit3py55t21z5v55vlm25s55
• Cookies: PHPSESSID=a2pdlk7jreml0u13bccd12551
В поле
заголовка
запроса (header)
• Login=Username&password=Password&
SessionID=12345678
В теле POST
запроса
14. Хранение ID сессии
12/22/2015/ 14
В cookies
браузера
Скрытое поле
(HTML код)
• ID сессии может храниться в исходном коде самого
приложения на клиентской стороне во время работы
пользователя с приложением.
В самом
приложении
<form method="post" action="url">
<input type="hidden" name="sessionid" value="1111">
...
<input type="submit">
</form>
15. Немного статистики…
• "64% разработчиков не уверены в безопасности приложений, которые
они создают“. (Microsoft Developer Research)
• "60% всех атак в Интернете направлены на взлом веб-приложений“.
(Gartner)
• "Атаки на сессии пользователей и обход системы аутентификации
занимают 2ое место в TOP-10 уязвимостей." (OWASP)
12/22/2015/ 15
16. Когда тестировать сессии?
Приложение с веб доступом
Приложение используется большим количеством
пользователей (внутренних и/или внешних)
Приложение содержит важные персональные данные
пользователей
Пользователи в приложении имеет разные уровни доступа
Комплексное решение с большим количеством интеграций
на разных уровнях
Приложение интегрируется с системой, которая содержит
критические данные
12/22/2015/ 16
17. Последствия
Последствия удачной атаки напрямую зависят от того уровня доступа и
данных, которыми обладает жертва в веб-приложении.
12/22/2015/ 17
Финансовые убытки
Нарушение конфиденциальности
Разрушение репутации
18. Содержание
1. Введение в тестирование безопасности
2. Тестирование сессий
• Теория веб-сессий
• Session Hijacking (Перехват сессии)
• Session Fixation (Фиксирование сессии)
• Cross-Site Request Forgery
• Phishing (Фишинг)
3. Практическая часть
• Задание А
• Задание В
4. Инструменты
5. Что дальше?
12/22/2015/ 18
19. Session Hijacking
Есть несколько способов получения уникального идентификатора
сессии:
• Предсказание идентификатора
• Сниффинг (Sniffing);
• Атака клиентской части (XSS, вредоносный JavaScript код, трояны, etc);
12/22/2015/ 19
20. Предсказуемые токены
Анализ ID сессии на предсказуемость можно делать вручную или с
помощью специальных инструментов.
На что обратить внимание:
• Имя пользователя / логин
• Пароль
• IP адрес
• Время авторизации
12/22/2015/ 20
21. Инструменты анализа
Инструменты анализа ID сессии:
• Burp Sequencer анализирует распредление ID сесиий для определния
уровня случайности.
• SessionID Analysis - модуль WebScarab, позволяющий определить
уровень случайности сгенерированных ID сессий.
• Crowbar - инструмент для брут-форса ID сессий.
12/22/2015/ 21
22. Предсказуемые токены. Пример
12/22/2015/ 22
Логин Пароль ID сессии - время
Melany Test123 98w34_13-05-12-01-14-25_70ac
10/7/2005-10:10
98w34_13-05-12-01-14-25_70ac
10/7/2005-10:11
willy 987654qwerty 98w34_23-09-12-12-25_81ac
10/7/2005-10:12
98w34_23-09-12-12-25_81ac
10/7/2005-10:13
alice Alice ????
23. Предсказуемые токены. Пример
12/22/2015/ 23
Логин Пароль ID сессии - время
Melany Test123 98w34_13-05-12-01-14-25_70ac
10/7/2005-10:10
98w34_13-05-12-01-14-25_70ac
10/7/2005-10:11
willy 987654qwerty 98w34_23-09-12-12-25_81ac
10/7/2005-10:12
98w34_23-09-12-12-25_81ac
10/7/2005-10:13
alice Alice ????
24. Предсказуемые токены. Пример
12/22/2015/ 24
M – 13 e – 5 l – 12 a – 1 n – 14 y – 25 _ sum(Melany) = 70
w – 23 i – 9 l – 12 l – 12 y – 25 _ sum(willy) = 81
Логин Пароль ID сессии - время
Melany Test123 98w34_13-05-12-01-14-25_70ac
willy 987654qwerty 98w34_23-09-12-12-25_81ac
alice Alice ????
25. Предсказуемые токены. Пример
12/22/2015/ 25
A – 01 l – 12 i – 09 c – 03 e – 05
Логин Пароль ID сессии - время
Melany Test123 98w34_13-05-12-01-14-25_70ac
willy 987654qwerty 98w34_23-09-12-12-25_81ac
alice Alice 98w34_01-12-09-03-05_30ac
_ sum(alice) = 70
28. Сниффинг
Сниффинг – это атака направленная на перехват сетевых пакетов в сети
используя сниффинг инструменты, снифферы. При этом злоумышленник
и жертва должны находиться в одной подсети.
Как только пакет перехвачен, его содержимое может быть
проанализировано. Таким образом, возможно перехватить ID сессий,
передаваемые в URL или заголовке запроса.
12/22/2015/ 28
29. Сниффинг
Инструменты для перехвата сетевого трафика:
• Wireshark
• Microsoft Network Monitor
• CommView for WiFi
12/22/2015/ 29
Wireshark
30. Атака клиентской части
Злоумышленник может получить ID сессии используя вредоносный код
или программу, которая будет выполнятся на стороне пользователя
(жертвы).
Самый распространенный пример – Cross-Site Scripting (XSS) атака.
12/22/2015/ 30
Пример:
<SCRIPT>alert(document.cookie);</SCRIPT>
31. Session Hijacking. Контрмеры
• Завершение сеанса (logout) и закрытие браузера должны закрывать
сессию.
• Дополнительный токен: отпечаток браузера (хэшированный User-agent)
или другой уникальный токен
• Дополнительный токен должен передаваться другим способом, чем ID
сессии.
• Запретить одновременную работу под одной сессией с нескольких
агентов
• Шифрование данных передаваемых по сети (https протокол).
• Генерировать ID сессий сложно предсказуемыми
12/22/2015/ 31
32. Содержание
1. Введение в тестирование безопасности
2. Тестирование сессий
• Теория веб-сессий
• Session Hijacking (Перехват сессии)
• Session Fixation (Фиксирование сессии)
• Cross-Site Request Forgery
• Phishing (Фишинг)
3. Практическая часть
• Задание А
• Задание В
4. Инструменты
5. Что дальше?
12/22/2015/ 32
33. Session Fixation
Вместо того, чтобы воровать ID сессии
пользователя, злоумышленник может
зафиксировать ID сессии известный
ему и передать его пользователю.
Этот тип атаки называется
фиксирование сессии.
12/22/2015/ 33
Инструменты для
перехвата запросов:
• OWASP WebScarab
• Fiddler
34. Session Fixation. Контрмеры
• Присваивать новый ID сессии после авторизации
• Проверять дополнительные параметры при авторизации пользователя,
например IP или User-Agent
• Реализовать в приложении механизм Анти-фиксации сессии
• Запретить одновременную работу под одной сессией с нескольких
агентов
• Запрашивать авторизацию при изменении уровня доступа
пользователя
12/22/2015/ 34
35. Содержание
1. Введение в тестирование безопасности
2. Тестирование сессий
• Теория веб-сессий
• Session Hijacking (Перехват сессии)
• Session Fixation (Фиксирование сессии)
• Cross-Site Request Forgery
• Phishing (Фишинг)
3. Практическая часть
• Задание А
• Задание В
4. Инструменты
5. Что дальше?
12/22/2015/ 35
36. Cross-Site Request Forgery
Подделка межсайтовых
запросов (Cross-Site
Request Forgery) занимает
8ое место среди TOP-10
уязвимостей по версии
Open Web-Application
Security Project (OWASP).
Атака является успешной,
если жертва авторизована в
приложении.
12/22/2015/ 36
37. CSRF. Примеры
12/22/2015/ 37
Добавление видео в watch-later список
https://player.vimeo.com/watch_later/ID?callback=cb&
status=1
Выставлять рейтинги фильмам
http://www.kinopoisk.ru/vote.php?film=FILM_ID&film_
vote=VOTE_VALUE
Удаление презентации через GET запрос
http://www.slideshare.net/main/delete/PRESENTATION
ID?ajax=false&redirect=mypage
Добавлять дополнительный e-mail в Facebook
document.submit('<form method="post" action= "http://m.face-
book.com/a/settings.php?refid=31&__ajax__&__m_async_page_
_"> <input type="hidden" name="email"
value="test@example.com"/></form>')
38. CSRF. Контрмеры
Разработчикам:
• Использовать анти-CSRF токен
• Хранить и передавать анти-CSRF токен другим способом, чем ID
сессии (скрытое поле формы, в теле POST запроса)
12/22/2015/ 38
POST https://www.facebook.com:443/ajax/timeline/nav_dropdown_menu/?profileid=100001537070731
HTTP/1.1
Host: www.facebook.com
…
Cookie: datr=xL8hU29G1O2TCE2-E90mpjIO; lu=SgppRetPNnE8PasL9k-pF62A;
fr=0adgb9NSy3JmTXAGc.AWWijC40TCnAprMHFxmeUZIW1DA.BTIb_Q.EK.FMh.AWUHMOUT; locale=en_US;
c_user=100001537070731;
__user=100001537070731&__dyn=7n8a9EAMCBCFUSt2ugByVbGAFpaGEVF4WpUpBw&fb_dtsg=AQDrRHrN&tt
stamp=2658168114827211478&__rev=1162685
39. CSRF. Контрмеры (cont.)
Разработчикам:
• Передавать команды (actions) и параметры для них через POST
запрос, вместо GET запроса.
• Запрашивать дополнительную авторизацию / подтверждение или
использовать CAPTCHA при выполнении важных действий.
12/22/2015/ 39
Confluence Wiki
http://wiki.itera.no/pages/
removepage.action?page
Id=41779352
40. CSRF. Контрмеры (cont.)
Пользователям:
• Выходить из системы (logout) после
окончания работы
• Не разрешать браузеру сохранять
логин/пароль (функция «remember me»)
• Не использовать один и тот же браузер для
доступа к рабочей системе и личным сайтам
12/22/2015/ 40
41. Содержание
1. Введение в тестирование безопасности
2. Тестирование сессий
• Теория веб-сессий
• Session Hijacking (Перехват сессии)
• Session Fixation (Фиксирование сессии)
• Cross-Site Request Forgery
• Phishing (Фишинг)
3. Практическая часть
• Задание А
• Задание В
4. Инструменты
5. Что дальше?
12/22/2015/ 41
42. Phishing
12/22/2015/ 42
Phishing - это способ получения личной информации пользователя, такой
как логин, пароль, номер кредитной карты и т.д., когда злоумышленник
выдает себя за изначальный ресурс (веб-приложение, сайт и т.д.).
Залогом успешной фишинг атаки всегда будет неосторожный
пользователь.
Инструменты:
• OWASP Xenotix – инструмент
автоматически создает дубликат
страницы указанного веб-сайта.
• SpearPhisher – инструмент для
генерации e-mail сообщений
43. Phishing. Контрмеры
• Персональное фото или личное сообщение на странице с важной
транзакцией.
• Использование механизма двойной аутентификации со случайно
сгенерированным одноразовым паролем.
12/22/2015/ 43
44. Phishing. Контрмеры (cont.)
• Логирование сайтов, с которых пользователь перешел на текущий сайт
(Referer website).
• Использование Google Safe Browsing API для проверки является ли
заданный сайт безопасным или нет.
• Иcпользование плагинов браузеров для определения фишинг сайтов.
12/22/2015/ 44
45. Содержание
1. Введение в тестирование безопасности
2. Тестирование сессий
• Теория веб-сессий
• Session Hijacking (Перехват сессии)
• Session Fixation (Фиксирование сессии)
• Cross-Site Request Forgery
• Phishing (Фишинг)
3. Практическая часть
• Задание А
• Задание В
4. Инструменты
5. Что дальше?
12/22/2015/ 45
46. 1. Разбиваемся на 3 группы
WebGoat
2. Разбираем задания
• Группа А. Cross-Site Scripting (XSS): Cross Site Request
Forgery (CSRF)
• Группа B. Session Management Flaws: Spoofing an
Authentication Cookie
• Группа С. Session Management Flaws: Session Fixation
47. Содержание
1. Введение в тестирование безопасности
2. Тестирование сессий
• Теория веб-сессий
• Session Hijacking (Перехват сессии)
• Session Fixation (Фиксирование сессии)
• Cross-Site Request Forgery
• Phishing (Фишинг)
3. Практическая часть
• Задание А
• Задание В
4. Инструменты
5. Что дальше?
12/22/2015/ 47
48. Инструменты
Перечень инструментов, которые могут понадобиться при тестировании
веб-сессий:
• Плагины в браузерах для работы с cookies
– CookiesManager+ (FireFox)
– Cookie Manager (Chrome)
• Перехватчики
– OWASP ZAP
– Fiddler
– Burp
– Wireshark, CommView for WiFi
• Анализаторы session tokens
– Burp
– OWASP WebScarab – Session ID Analysis module
• Анти-фишинг инструменты
– Netcraft Toolbar / Netcraft Extension (Firefox / Chrome)
– FB Phishing Protector (Firefox) – проверяет только Facebook
– Anti-Phishing & Authenticity Checker (Chrome) – проверяет Facebook, Twitter, Youtube
and Google
12/22/2015/ 48
49. Содержание
1. Введение в тестирование безопасности
2. Тестирование сессий
• Теория веб-сессий
• Session Hijacking (Перехват сессии)
• Session Fixation (Фиксирование сессии)
• Cross-Site Request Forgery
• Phishing (Фишинг)
3. Практическая часть
• Задание А
• Задание В
4. Инструменты
5. Что дальше?
12/22/2015/ 49
50. Что дальше?
12/22/2015/ 50
Книги
• Open Web Application Security Testing Guide
• Web Security Testing Cookbook
Интернет ресурсы:
• OWASP сообщество
• Mozilla security check-list
Интерактивные учебные курсы:
• OWASP WebGoat
• OWASP Hackademic Challenge
Сертификаты:
• ISTQB Security Testing – Expert level (анонсирован на 2015 год) – ха!
• Certified Information Systems Professional (CISSP)
• Certified Ethical Hacker (CEH)
Представиться
Что вы ожидаете от этого мастер класса?
Мы живем в эпоху технологий, вокруг нас существует огромное количество сервисов, которые облегчают нашу жизнь: все от социальных сетей до облачных хранилищ данных или электронной коммерции. Однако это не секрет, что мир, построенных на технологиях, имеет ряд серьезных проблем, проблем с безопасностью, проблем с конфиденциальностью данных.
Летом 2015 года, самая купная атака этого года
Завладели данными 22 миллионов не рядовых граждан
Номера соц страхования, военные документы, досье и адреса чиновников
19,7 мил человек, подаваших заявление на работу, 1,1 отпечатков пальцев
Любой человек за послдение 15 лет стал жертвой
Атака происхоила в два этапа: апрель (4,2 мил), затем наняли экспертов за $133 мил, затем новый взлом (еще 19 мил записей)
Скомпрометированые креденшелы одного из подрядчиков
Вина: Китай?
Финансовые потери: след несколько лет, номера соц страхования, тайные агенты, программы защиты свидетелей, военные операции
Безопасность – топ приоритет, цена ошибки может быть высока, до угрозы безопансости и жизни людей.
Комплексный подход
Первая покрывается ИТ отделом, вторая – разработчиками, третья – security officers
Что такое OWASP?
Подходы. Идеи, чем оно отличаетс ято обычного тестирования?
Кто из вас знает, что такое сессия?
Кто когда-то тестировал сессии?
Назовите основную особенность протокола HTTP?
Корзина заказов
Подходы реализации: 1 – в каждом запросе логин-пароль, 2 – логин/pass вначале, потом специальный идентификатор
ID – пара имя-значение. Названия разные
Время действия: заканчиваетя по истечении каокго-то времени или по выполнении какого-то условия. Срок действия истек – ID нельзя использовать
Разница между GET и POST?
Cookies. Set-cookies, cookies – фрагменты данных, хранящихся в браузере пока пользователь на сайте. ID вычитывается из них при след запросе, Почистить cookies
Скрытое поле – ID вместе с другими параметрами в теле POST запроса
Разарботчики часто создают свои механизмы упарвления сессиями. Небезопасны в таких функциях как logout, управление паролями, время действия сессий, remember me
64% не уверены
Сессии – 2 место по OWASP (анализ 500 000 сайтов)
Sony Playstation
Привелигированные аккаунты
FoxNews
LinkedIn
Пока что все понятно? Вопросы?
В феврале 2013 глобальные man-in-the-middle атаки (Белоруссия, Исландия)
Фин и гос учреждения Америки, Чехии, Германии, Ирана и Ливии
В марте прекратилась, не нашли
HTTPS трафик
logout. Нельзя работать из другого устройства или браузера
Никогда не доверяй информации, приходящей с клиента
https. Норвежские газеты (197 компаний, 9 прошли)
All now are fixed
Web page personalization
One simple feature that can be built is to make it harder for people to impersonate a site. One way to achieve this is to personalize the web application for the users. Web sites can use two pages to authenticate the users. The first page can ask the user to provide only the user name. On receiving a valid username the user is given a personalized page for entering password. The second page can be personalized based on some user provided phrase or a user chosen image etc. It would be difficult for a fake site to provide the second page.
Personalization of web pages can also be achieved in other ways. Client side persistent cookies can be used to present a personalized login page to the user. When the user logs in for the first time, the application can set a cookie with a simple personal but non-confidential string (e.g. user's first name). Next time the user comes back, the applications can greet the user with this string before he logs in. A Phishing site will not be able to read the cookie containing the string if it is limited to the right domain. As a result, the user will not see the greeting string and would get tipped off that the site is not genuine. The success of these options again depends a lot on the alertness of the end user.
Two factor authentication = something you know + something you have