Ответ 1

Отличное резюме изменений происходит от http://musingmarc.blogspot.com/2010/09/ms10-070-post-mortem-analysis-of-patch.html

  • Не утечка информации об исключении - это предотвращает обнаружение уязвимостей.
  • Не выполняйте короткое замыкание при проверке набивки (принимайте такое же количество времени, чтобы отменить правильное стихотворение прокладок) - Это предотвращает обнаружение разницы во времени для неправильного заполнения.
  • Не будьте слишком придирчивы к облову исключений в IHttpHandler.ProcessRequest - это предотвращает возможность использования вами каких-либо исключений (исключений CryptographicException) вместо всех исключений.
  • Переключение с векторов инициализации на основе Hash на Random IVs - это предотвращает использование эксплойтами связи между данными и хэшем для более быстрого расшифровки.
  • Разрешить обратную совместимость. В случае, если это что-то сломает, разрешите повторное восстановление нового поведения.
  • При выполнении кода проверки кода измените, чтобы было ясно, что вы рассмотрели новые параметры.

Ответ 2

Основной: подписывать любые зашифрованные данные, отправленные в браузер. Это предотвращает беспорядок со значениями, подобными атаке, чтобы получить информацию о действительном или недопустимом заполнении, т.е. Поскольку подпись не будет соответствовать во всех этих случаях.

Важно отметить, что дыра в webresource и scriptresource, которая разрешала поиск файлов, не должна была произойти. Простое шифрование не предназначено для защиты от несанкционированного доступа. Другими словами, это не был надзор за расширенным сценарием, как и остальная атака оракула (которая по-прежнему полагалась на тот же факт, отправляя обратно модифицированные зашифрованные данные в приложение без защиты от несанкционированного доступа на сервере).

Помимо основного исправления выше, ожидаемые вещи, например, попытки скрыть дополнительные боковые каналы шифрования и убедиться, что они не нарушают другие функции, которые полагаются на одни и те же вызовы шифрования (например, членство asp.net).

Ответ 3

Уязвимость связана с недостатками, введенными CBC Padding. Полную теорию атаки можно найти здесь здесь. Однако сначала вы должны прочитать режимы блочного шифрования.