← На главную

Модель угрозы создаёт passkeys и разоблачает пустые споры

04.07.2026 00:35 · hackernews

Всё начинается с простого вопроса: что такое угроза (threat model) и зачем она нужна? Большинство людей использует это словосочетание как модный жаргон, не понимая сути. Минимальная модель угрозы должна отвечать на семь пунктов: что мы защищаем, кто или что хочет это атаковать, как именно атака может произойти, что мы сделаем для защиты, как активы связаны между собой, какие допущения мы делаем, и от каких угроз мы сознательно отказываемся. Если не записать допущения, модель бесполезна — как в случае с невидимой саламандрой (Invisible Salamanders attack), которая ломает репортинг в E2EE-мессенджерах из-за нарушения исходного допущения AEAD-схем.

Хороший пример документа — угроза для проекта key transparency в Fediverse. Она разбита на разделы: допущения, активы, акторы с ролями, и четыре статуса риска: prevented by design, mitigated (если допущение верно), addressable (требует усилий оператора) и open (атаки, которые мы не можем предотвратить).

Плохой пример — угроза Matrix (версия 1.18). Это просто список типов атак (DoS, spoofing, spamming, spying) без единого списка допущений, активов или их связей. Документ почти не менялся с v1.1 (2021), несмотря на две криптоатаки от Lotte и раскрытия уязвимостей. Такой угрозе автор ставит оценку C-. Но даже паршивая модель лучше, чем её отсутствие: у Signal, например, вообще нет публичного документа, только технические спецификации.

Как модель угрозы помогает строить лучше? Пример с credential stuffing: если вы проектируете приложение, требовать passkeys (а не пароли) убивает сразу несколько классов атак. А при создании распределённого E2EE (ActivityPub, ATProto, BlueSky) использование MLS натыкается на проблемы: нужно решать вопрос Authentication Service и порядка сообщений. Для ATProto, где нет инстансов, а есть глобальное состояние (как в блокчейне), это особенно сложно — возможно, придётся вообще отказаться от группы.

Но модель угрозы полезна не только для инженерных решений. Она помогает распознавать чушь в технических спорах. Взять текущую дискуссию в IETF: последний звонок по RFC для non-hybrid ML-KEM. Дэниел Бернстайн (DJB) организовал кампанию против — вызвал случайных людей из Twitter, которые кричат «hybrids good, pure PQ bad». На деле: ML-KEM не разработан NSA, его подал Питер Швабе из Германии, информация исключает бэкдор. Гибрид PQ+ECDH не даёт никакого выигрыша после Q-Day (квантового перелома) — ECDH становится бесполезен. Если уж бояться взлома ML-KEM, правильный интеллектуально честный аргумент — тройной гибрид ML-KEM + HQC + ECDH. Но никто из противников RFC этого не предлагает. Упражнение с моделью угрозы сразу подсвечивает пустые аргументы.

Читать оригинал →