Как я перестал боятся токенов И полюбил одноразовые пароли
Сергей Гордейчик
Дмитрий Евтеев
Positive Technologies
Кто мы?
Positive Technologies
У этих ребят всегда есть свежая версия XSpider :)
Сергей Гордейчик
когда-то: разработка, bugtraq, pentest, research
теперь: MaxPatrol, MaxPatrol, MaxPatrol, MaxPatrol
Дмитрий Евтеев
pentest, research, pentest, research, MaxPatrol, research, research, penetest….
О чем пойдет речь
Аутентификация
Системы одноразовых паролей
Проблемы реализации
Уязвимости приложений
Атаки на клиентов
Резюме
Аутентификация
Один из базовых защитных механизмов• Как правило, на нем все и заканчивается :)
Основные подходы (факторы)• Нечто, что мы знаем• Нечто, что мы имеем• Нечто, что мы есть (аутентификация?)
Распространенные реализации• Старые добрые пароли (фуууу!)• Цифровые сертификаты, смарт-карты• Одноразовые пароли (One Time Password, OTP)
Системы одноразовых паролей
Достаточно широко распространены
• Невысокая стоимость при потенциальной защищенности
Мало зависят от ОС/Браузера
Вызывают ужас у пентестеров
Возможны разные варианты реализации
• Заранее рассчитанные списки паролей
• Генераторы паролей
• SMS-сервис
Как это работает?
Заранее рассчитанные списки паролей
• клиент получает карточку, содержащую статический набор слов, которые защищены специальным слоем
• система запрашивает индекс ключевого слова
• для доступа к системе используется запрашиваемое ключевое слово
Как это работает?
Автономные генераторы одноразовых паролей
• клиент получает автономный генератор одноразовых паролей
• для доступа к системе используется одноразовый пароль с данного устройства
Компьютер клиента банка или
платежный терминал
Web-серверLDAP, Radius
Проверка OTP
Запрос к Web серверу по протоколу HTTPS
Как это работает?
Почему OTP на token != Сертификат на Smartcard
Однократная проверка аутентичности транзакции• Решение об аутентичности принимает Web-сервер
(приложений) один раз• Цифровую подпись можно проверять на каждом этапе
Уязвимости Web-приложений
• Наличие уязвимости позволяет провести транзакцию без знания пароля
Сетевые проблемы
• Цифровые сертификаты – двухсторонний SSL – NO MITM
Одноразовые пароли тоже пароли
Уязвимости Web-приложений
http://www.webappsec.org/projects/statistics/
При детальной ручной и автоматизированной оценке методами «черного» и «белого» ящика вероятность обнаружения уязвимости высокой степени риска достигает 97%.
Проблемы реализации OTP
OTP – не (всегда) моментальные пароли
Длина пароля – 6 цифр (миллион комбинаций)
Время жизни • секунды (теоретически)• часы (практически)
Можно ограничить диапазон комбинаций•можно существенно сократить диапазон значений
для брутфорса до 151.200 комбинации•Вероятность успешного брутфорса
1 - (1-0,15)^30 = 0,9924 - 15 минут
За приемлемое время можно подобрать несколько «живых паролей»
OTP – не (всегда) одноразовые пароли
При использовании сгенерированных списков зачастую разрешается повторное использование паролей •Удобно. Не ехать же в банк после 60 переводов?
Вероятность повтора: 1-(59/60)^n
При наличии перехваченного пароля•При 100 запросах - 81,376%•При 500 запросах - 99,9%
Уязвимости Web-приложений
http://www.webappsec.org/projects/statistics/
Распределение вероятности обнаружения уязвимости по классам WASC.
Уязвимости OTP-based приложений
Пример аутентификации в одном OTP-based приложении:
Атаки на клиентов
Односторонний SSL•Фишинг, MITM
Уязвимости WEB•XSS – самая распространенная проблема (~60%
сайтов)•CSRF – практически все
Компрометация системы•Специально обученный троян в состоянии
сохранить и использовать OTP (особенно для «карточек»)
Резюме
OTP != Smartcard
Уязвимости Web-приложений
• Наличие уязвимости позволяет провести транзакцию без знания пароля
• Необходимость дополнительного контроля HTTP-сессии
Одноразовые пароли тоже пароли
• Возможен перехват
• Небольшая энтропия – подбор значения
• Большое «окно»
• Необходимы стандартные «парольные» контрмеры
Спасибо за внимание!