Да, код уязвим, потому что .NET по умолчанию использует CBC с PKCS # 7-совместимым заполнением по умолчанию.Вы можете легко проверить это, изменив зашифрованный текст (последние 16 байтов) и проверив, что выдается исключение.Обратите внимание, что условия ошибки не требуются для работы оракулов заполнения, различия во времени могут уже дать утечку достаточной информации.
Конечно, это не обязательно означает, что система, использующая код,уязвима.Если код используется для выполнения шифрования данных в состоянии покоя (например, шифрование файла), то вполне вероятно, что оракул заполнения не может быть создан, а необходимые условия для атаки не выполнены.
Обратите внимание, чтоатака с использованием оракула является специфическим типом атаки оракула открытым текстом.Другие атаки могут быть возможны, даже если используется другой режим блочного шифра.Как правило, вам потребуется аутентифицированное шифрование, чтобы убедиться, что открытые текстовые сообщения невозможны: действуйте только после проверки целостности и подлинности сообщения.
Показанный код не является безопасным для безопасности в транспортном режиме.Конечно, чтобы иметь безопасную транспортную безопасность, возможность оракула дополнения CBC - лишь одна из многих уязвимостей;Достаточно сказать, что фрагмент кода вообще не демонстрирует транспортную безопасность.