Padre – это продвинутый инструмент для эксплуатации и атаки Padding Oracle (Атака оракула с заполнением), который может быть использован против шифрования в режиме CBC.
Во многих криптографических системах, особенно тех, которые используют блочные шифры (например, AES), данные должны быть разделены на блоки определенного размера. Если данные не помещаются в этот размер блока, они должны быть “дополнены” дополнительными битами, чтобы заполнить оставшееся пространство. Это дополнение должно быть сделано определенным образом, чтобы его можно было идентифицировать и удалить при расшифровке данных.
В атаке Padding Oracle мы не знаем ключа – но мы имеем доступ к системе, которая знает ключ (оракул) и мы можем использовать информацию из этой системы для расшифровки блока.
Особенности Padre:
- очень быстрая параллельная реализация;
- расшифровка токенов;
- шифрование произвольных данных;
- автоматическое снятие отпечатков (fingerprinting) оракулов заполнения;
- автоматическое определение длины блока шифра;
- если во время операций происходит сбой, Padre подскажет, что можно настроить для успешной атаки;
- поддержка токенов в параметрах GET/POST, cookies;
- гибкая настройка правил кодирования (base64, hex и т.д.).
Влияние атак оракула с заполнением:
- раскрытие зашифрованной информации сессии;
- обход аутентификации;
- создание поддельных токенов, которым доверяет сервер;
- значительное расширение поверхности атаки в целом.
Скачать или узнать больше о Padre можно на странице GitHub .