ZeroNights2014

ZeroNights2014
В четверг выступали с Мишей на конференции . Кто не смог присутствовать, но сильно хотел, выкладываю презентацию и демонстрационное видео.
Презентация:



Демонстрационное видео, традиционно, у Миши в канале:
Извлечение неэкспортируемого контейнера секретного ключа из APDU-трафика:
http://www.youtube.com/watch?v=9ugl1Xwh5s4
Извлечение неэкспортируемого контейнера секретного ключа при помощи утилиты Antitoken (эмуляция работы приложения криптопровайдера):
http://www.youtube.com/watch?v=TrcBM_bBq6E
Извлечение неэкспортируемого контейнера секретного ключа при помощи утилиты secretdump4cp (патчинг флага неэкспортируемаости в памяти процесса):
http://www.youtube.com/watch?v=7Jg73qbZqC0
Атаки на пароль пользователя:
http://www.youtube.com/watch?v=v4Q4d-i04lk

Все используемые утилиты доступны в Git: https://github.com/votadlos/Antitoken

Выступление снималось, вероятно, будет видео.

Несколько слов об обсуждении с залом.
Посыл из зала 1: Данная схема с токенами не предполагает использование на скомпрометированном компьютере.
Ответ 1: Вся презентация про то, что токен нужен только для того, чтобы ключ там хранился неизвлекаемым образом. Если ключ из токена неизвлекаем, то токен безопасно вставлять в скомпрометированный компьютер - ключ из токена не будет утащен. Верно и другое утверждение: если для использования токена мы требуем доверенность компьютера (т.е., что токен можно использовать исключительно на нескомпрометированном компьютере), то токен нам не нужен: действительно, если компьютер не может быть взломан, то ключ из компьютера не может быть извлечен :)
Посыл из зала 1': Если токен, даже с неизвлекаемым ключом будет использоваться на скомпрометированном компьютере, то эта схема не будет безопасной, так как злоумышленник сможет генерить подпись (и прочие криптопреобразования) не экспортируя при этом ключ.
Ответ 1': Вот с этим согласен! Но этот случай несколько более сложен, чем просто скопировать (экспортировать) ключ и далее использовать его по своему усмотрению.
Посыл из зала 2: То что вы показали - это верно для КС1, а для КС2 так не сработает.
Ответ 2: Во-первых, я не знаю где взять нормальное техническое описание КС1, КС2 и пр. Технические спецификации этих КС* также защищены "дополнительным уровнем защиты" о котором упомянуто на слайде 8. А во-вторых, мы исследовали самую распространенную схему применения ГОСТовой криптографии, причем эта схема позволяет подпись считать квалифицированной . В моем понимании безопасность должна постоянно адаптироваться под среду, о чем я не раз писал , поэтому надо строить защиту не от каких-то сферических моделей нарушителей в вакууме, а от наиболее распространенных сценариев атак. К сожалению, на практике мы имеем, что самая распространенная схема использования ГОСТовой криптографии с токенами вместе с тем является самой небезопасной, при том, что есть более безопасные схемы .


Alt text

Если вам нравится играть в опасную игру, присоединитесь к нам - мы научим вас правилам!

Подписаться

Сергей Солдатов

REPLY-TO-ALL is a double language blog (English/Russian) run by three information security practitioners. Want to discuss information security problems? This is the place.