Microsoft наконец похоронит RC4 — шифр, который больше 10 лет помогал хакерам

Читать в полной версии

Microsoft заявила о намерении отказаться от устаревшего и уязвимого алгоритма шифрования RC4, который использовался по умолчанию в течение 26 лет. Более десяти лет он являлся причиной мощных хакерских атак, в которых эксплуатировалась его уязвимость; недавно это решение подверг резкой критике американский сенатор.

Источник изображения: BoliviaInteligente / unsplash.com

В 2000 году Microsoft представила службу Active Directory, в которой RC4 был единственным средством защиты компонента Windows, который используется для управления учётными записями администраторов и пользователей. Потоковый шифр RC4 (Rivist Cipher 4) в 1987 году изобрёл математик и криптограф Рон Ривест (Ron Rivest) из RSA Security; в 1994 году была продемонстрирована схема атаки, которая значительно ослабляет защиту, которую должен обеспечивать этот алгоритм. Несмотря на это, RC4 оставался основным протоколом шифрования в SSL и TLS ещё десять лет назад.

Microsoft обновила платформу Active Directory, которая стала поддерживать значительно более надёжный алгоритм AES. При этом по умолчанию серверы на Windows продолжали отвечать на запросы аутентификации по RC4 и возвращать ответы по RC4. Этот алгоритм стал излюбленной мишенью хакеров при взломе корпоративных сетей — из-за него, в частности, пострадала крупная американская система здравоохранения Ascension. В результате взлома возникли опасные для жизни людей сбои в работе 140 больниц; добычей злоумышленников оказались медицинские записи 5,6 млн пациентов. В сентябре американский сенатор Рон Уайден (Ron Wyden) призвал Федеральную торговую комиссию США инициировать в отношении Microsoft проверку в связи с «грубой халатностью в области кибербезопасности» из-за того, что RC4 оставался потоковым шифром по умолчанию.

На минувшей неделе Microsoft, наконец, заявила, что откажется от RC4 из-за уязвимости Kerberoasting — эта известная с 2014 года схема атаки стала первопричиной вторжения хакеров в сети Ascension. «К середине 2026 года мы обновим настройки контроллера домена по умолчанию для центра распределения ключей (KDC) Kerberos в Windows Server 2008 и более поздних версиях, чтобы разрешать только шифрование AES-SHA1. RC4 будет отключён по умолчанию и сможет использоваться только в том случае, если администратор домена явным образом настроит учётную запись или KDC на работу с ним», — пояснили в компании.

Источник изображения: Simon Ray / unsplash.com

Алгоритм AES-SHA1 считается безопасным и поддерживается всеми версиями Windows, начиная с Windows Server 2008; клиентские системы после выхода этой версии стали по умолчанию аутентифицироваться с использованием более безопасного стандарта, и серверы отвечали соответствующим образом. RC4 по умолчанию при запросах аутентификации использовался только серверами Windows, в результате чего сети оказывались уязвимыми для атаки Kerberoasting.

В следующем году принцип работы изменится на обратный: аутентификация по RC4 перестанет работать, если администраторы не проведут дополнительную работу по включению этого алгоритма. Крайне важно, подчёркивают в Microsoft, чтобы администраторы идентифицировали в своих сетях все машины, которые используют этот потоковый шифр. Несмотря на уязвимости, RC4 остаётся основным алгоритмом для устаревших систем — они часто остаются незамеченными в сетях, но продолжают выполнять важные функции для организаций. Для решения этой задачи Microsoft предоставит несколько инструментов. Одним из них станет обновление журналов KDC, с которым будут отслеживаться запросы и ответы с использованием RC4 в Kerberos. Kerberos остаётся единственным способом взаимной аутентификации в Active Directory, и для хакеров это своего рода «Святой Грааль», потому что при взломе они получают значительные полномочия. Microsoft также развернёт новые скрипты PowerShell для анализа журналов событий безопасности, чтобы упростить выявление RC4.

Компания работала над отказом от RC4 последние десять лет, но задача оказалась непростой. Выбор алгоритма и регулирующие его правила охватывают двадцать лет изменений кода, отметили в Microsoft. За эти два десятилетия в RC4 было обнаружено множество критических уязвимостей, которые требовали устранения при помощи «хирургических» методов. Компания хотела отказаться от устаревшего алгоритма в этом году, но не стала делать этого, когда обнаружились уязвимости, требующие ещё большего количества исправлений — она внесла некоторые улучшения, которые способствовали переход на AES, а присутствие RC4 сократилось на несколько порядков — практически до нуля.

В реализации аутентификации Active Directory не используется криптографическая «соль», и применяется только одна итерация хеширования по алгоритму MD4. «Соль» — это метод, при котором к каждому паролю перед хешированием добавляются случайные входные данные, из-за чего от хакеров требуются значительные затраты времени и ресурсов на взлом хеша. MD4 — быстрый алгоритм, который требует умеренных ресурсов. Реализация AES-SHA1 от Microsoft работает намного медленнее, а хеширование производится в несколько итераций, в результате чего взлом усложняется ещё сильнее — необходимо в тысячу раз больше времени и ресурсов.