<q>все содержимое внутреннего пакета в открытом виде, или ICMP сообщение об ошибке могут быть отправлены атакующему. </q> Четта не пойму я эту багу. Согласно RFC 792 и RFC 1122 в ICMP сообщении об ошибке содержится заголовок IP убитого пакета + 64 бита (8 байт) тз данных датаграммы. Итого мы получаем заголовки IP + номера TCP портов + текущий SN. Конечно неприятно, но ихмо - не смертельно.
>"Обычно ESP использует CBC режим шифрования для обеспечения конфиденциальности. Без защиты целостности, зашифрованные данные в режиме CBC могут быть модифицированы атакующим."
Это откуда же такая информация? Насколько я помню, CBC (сцепление блоков) присуще определенным симметричным алгоритмам шифрования (например - 3DES-CBC,AES_CBC), а никак не ESP как таковому.
И что, кому то может прийти в голову использовать ESP без аутентификации?
ESP - это протокол, который использует блочные шифры - DES, 3DES, CAST (насколько я помню по RFC). В большинстве реализаций ESP по умолчанию контролирует целосность, но "дуракам закон не писан", можно и отключить (как и шифрование, впрочем).
Сергей Макаркин пишет: А источник данной информации кто нибудь может подсказать. Потому как я вэтой тексте не совсем понял, в чем же, собственно, уязвимость....
Хм! Хм! Где же логика? Все параметры туннеля, кроме IP адресов точек терминирования, и типа протокола (в данном случае: 50 - esp), скрыты (зашифрованы) в инкапсулированной датаграмме. Не имея (не зная) сессионного ключа шифрования невозможно внести в неё осмысленные изменения. Какой ICMP error при этом мы рассчитываем получить? Внося изменения в "прицепленный" в tunnel режиме заголовок, как я понимаю, мы должны получить ICMP error с частью инкапсулированной датаграммы. Так она же зашифрована. В чем бага? IP стек получает расшифрованную датаграмму и откликается ICMP error с её фрагментом? Не могу поверить!
offtopic пишет: Логика как-раз есть. Почитай про bit-flipping. У циски довольно популярно изложено.
Почитал и у "сиськи", но сначала о баге http://www.kb.cert.org/vuls/id/302220 Там авторы ссылаются на пустяковое по сложности внесение изменение в зашифрованную с использованием CBC датаграмму. Что такое "голый" CBC я не понял. В умных книжках пишут: Режим CBC (рис. 2) решает проблему одинаковых шифрованных блоков соответствующих одинаковым блокам открытого текста. Этого добиваются с помощью режима сцепленного шифрования. Входное значение алгоритма шифрования задаётся XOR-суммой текущего блока открытого текста и полученного на предыдущем шаге блока шифрованного текста. Дешифрование происходит по аналогичной схеме: блок открытого текста получается как XOR-сумма выходного блока алгоритма дешифрования и предыдущего блока шифрованного текста. Чтобы получить первый блок шифрованного текста, рассматривается XOR-сумма некоторого инициализационного вектора (IV) и первого блока открытого текста. При дешифровании, для восстановления первого блока открытого, необходимо также выполнить операцию XOR по отношению к тому же вектору IV и первому блоку на выходе алгоритма дешифрования. В связи с этим значение IV, также как и ключ шифрования, должно быть известно как отправителю, так и получателю сообщения. Ну и везде типа этого. Однако, как я понял, CBC - есть дополнение блочному симметричному алгоритму шифрования, как раз призванное усилить его защищенность. Кому верить?
Не указано какие именно алгоритмы шифрования уязвимы к bit-flipping attack, и в приведенной ими ссылке http://en.wikipedia.org/wiki/Cipher_Block_Chaining, как и у "сиськи" нет ничего ни про 3DES, ни про AES, ни про BLOWFISH или другие. Уязвимы все использующие данный метод?
А еще подразумевается, осмысленное (или условно осмысленное) внесение изменений в зашифрованную датаграмму, с целью получения ожидаемого ICMP ответа. 1.Destination Address Rewriting 2.IP Options modification 3.Protocol Field modification
Посему, лично я пока сомневаюсь в применимости bit-flipping к используемым в IPSec алгоритмам.
Единственно в данном случае: Еще один метод активной атаки – Bit-Flip attack. Алгоритм действий следующий. В перехваченном фрейме, зашифрованном WEP, произвольно меняется несколько битов в поле «данные», пересчитывается контрольная сумма CRC-32 и посылается обратно на точку доступа. Точка доступа принимает фрейм на канальном уровне, поскольку контрольная сумма верна, пытается дешифровать данные и отвечает заранее известным текстом, например: «Ваш ключ шифрования неверен». Далее сравнение текста в зашифрованном и не зашифрованном виде может позволить вычислить ключ
А впрочем, и фиг бы с ним. Всё равно ESP без аутентификации не использую ведь. Да и в первом посте всё сказано было:
Цитата
offtopic пишет: <q>все содержимое внутреннего пакета в открытом виде, или ICMP сообщение об ошибке могут быть отправлены атакующему. </q> Четта не пойму я эту багу. Согласно RFC 792 и RFC 1122 в ICMP сообщении об ошибке содержится заголовок IP убитого пакета + 64 бита (8 байт) тз данных датаграммы. Итого мы получаем заголовки IP + номера TCP портов + текущий SN. Конечно неприятно, но ихмо - не смертельно.
"Без защиты целостности, зашифрованные данные в режиме CBC могут быть модифицированы атакующим."-нетрудо провести аналогию-к примеру,есть 2 большинства-те кто не использует службу N и те кто про эту службу не знает.И тут появляется баг!Уже побежал отключать "защиту целостности" и тестить:)Вот блин денёк то а..
Сергей Макаркин пишет: А источник данной информации кто нибудь может подсказать. Потому как я вэтой тексте не совсем понял, в чем же, собственно, уязвимость....