Атака BEAST
Что такое Атака BEAST?
Атака BEASTАтака с выбранным открытым текстом (Rizzo и Duong, 2011; CVE-2011-3389) на SSL 3.0 и TLS 1.0 CBC, восстанавливающая HTTPS-куки через предсказуемый IV.
BEAST (Browser Exploit Against SSL/TLS) была представлена на Ekoparty 2011 Хулиано Риццо и Таем Дуонгом и получила идентификатор CVE-2011-3389. В SSL 3.0 и TLS 1.0 векторы инициализации CBC связаны между записями: IV записи N — это просто последний блок шифротекста записи N−1, поэтому сетевому атакующему он известен ещё до отправки следующей записи. Это превращает шифрование в схему CBC с предсказуемым IV, уязвимую к поблочной адаптивной атаке с выбранным открытым текстом.
Практический эксплойт сочетает атаку «человек посередине» с управляемым атакующим JavaScript (изначально это был Java-апплет, эксплуатировавший слабости политики одного источника), выполняющимся в браузере жертвы. Атакующий выравнивает неизвестный секретный байт — скажем, один байт куки сессии — так, чтобы он оказался в конце блока CBC, а затем угадывает этот байт: догадка подтверждается, когда полученный блок шифротекста совпадает с ранее наблюдавшимся. Сдвигая границу по одному байту за раз, всю куки удаётся восстановить примерно за 256 попыток на байт вместо 256^n.
Меры защиты: TLS 1.1+ использует явные, случайные для каждой записи IV и не подвержен атаке; браузеры внедрили разделение записи 1/n−1 (отправка одного байта в отдельной записи для рандомизации следующего IV); RC4 был временным решением, пока его собственные смещения не сделали его небезопасным. Долговременным решением является TLS 1.2/1.3 с AEAD-шифрами (AES-GCM, ChaCha20-Poly1305), которые отказываются от CBC для шифрования записей.
flowchart TD
M[MITM observes TLS 1.0 CBC records] --> J[Attacker JS injects chosen plaintext]
J --> A[Align secret cookie byte at block boundary]
A --> G[Guess byte using prior ciphertext block as known IV]
G --> C{Ciphertext block matches?}
C -->|Yes| R[Byte recovered, shift boundary]
C -->|No| G
R --> D{Cookie complete?}
D -->|No| A
D -->|Yes| S[Session cookie stolen]● Примеры
- 01
Восстановление куки аутентификации на банковском сайте TLS 1.0 через вредоносный Java-апплет.
- 02
Побайтное дешифрование заголовков HTTP в сессии HTTPS на CBC.
● Частые вопросы
Что такое Атака BEAST?
Атака с выбранным открытым текстом (Rizzo и Duong, 2011; CVE-2011-3389) на SSL 3.0 и TLS 1.0 CBC, восстанавливающая HTTPS-куки через предсказуемый IV. Относится к категории Атаки и угрозы в кибербезопасности.
Что означает Атака BEAST?
Атака с выбранным открытым текстом (Rizzo и Duong, 2011; CVE-2011-3389) на SSL 3.0 и TLS 1.0 CBC, восстанавливающая HTTPS-куки через предсказуемый IV.
Как защититься от Атака BEAST?
Защита от Атака BEAST обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Атака BEAST?
Распространённые альтернативные названия: BEAST.