Secure Boot Battlefield 6 - зачем нужен, если читы уже есть? [лонг]

😳 Рассмотрим как всё работает, какая магия происходит за кулисами игры, и в очередной раз убедимся, что тру-ПК-бояре могут то, что остальным не по силам.

😎 Настоящий прожжённый геймер не просто нажимает кнопку “Играть” — он умеет включить Secure Boot в BIOS, проверить TPM, и, возможно, даже знает(ну, или умеет гуглить), почему игра против читеров заводит свой ядровой античит.

🤔 А массовый игрок? Чаще всего — бедняга, пытающийся понять, зачем вообще эта кнопка в BIOS, и почему игра вдруг не запускается, когда в Windows всё работает “на автомате”. В эпоху повсеместного упращения и автоматизации многие и понятия не имеют, что значит “работать на уровне ядра”. Не говоря уже про то, как всё это связано с тем, что Battlefield 6 требует включенный Secure Boot и почему иногда помогает простая перезагрузка или отключение интернета(пока что).

Secure Boot Battlefield 6 - зачем нужен, если читы уже есть? [лонг]

Что такое Secure Boot и почему он такой важный?

Будет немного душно, а потом всё поймёте.

🔐 Secure Boot — встроенная функция в BIOS/UEFI, которая проверяет подписи всех компонентов, участвующих в запуске системы, чтобы не дать вредоносным программам, руткитам и читам запустить свой код раньше операционной системы.

🧙‍♂ Как тот стражник из игры The Elder Scrolls III: Morrowind на воротах вашего ПК, который говорит: «Хорошо, я пущу только проверенных ребят, а всякие подозрительные типы — не пройдут пока не получат необходимые сертификаты».

🔗 Если хотите углубиться - читайте тут - но это не обязательно.

Интерфейс BIOS и UEFI
Интерфейс BIOS и UEFI

Упрощенно алгоритм такой:

  1. ⚡ Запустив ПК сначала запускается код прошивки UEFI, хранящийся во внутренней памяти материнской платы. Она запускается до ОС.
  2. 📑 UEFI содержит много всего и, в том числе, базу доверенных сертификатов цифровых подписей. В эту базу сертификатов обычно входят ключи крупных поставщиков операционных систем, таких как Microsoft, что позволяет UEFI проверять подписи драйверов и загрузчиков Windows и обеспечивать безопасность загрузки. Secure Boot с помощью этой базы проверяет, что исполняемый код подписан доверенным ключом, и запрещает загрузку неподписанных или вредоносных компонентов.
  3. 🔍 Когда UEFI находит загрузчик ОС, он извлекает из него цифровую подпись и проверяет её по алгоритму: вычисляет хеш-код файла, расшифровывает подпись открытым ключом из базы и сверяет результаты.
  4. ✅ Если подпись корректная — загрузчик считается доверенным и получает разрешение на исполнение.

  5. 💼 После этого загрузчик запускает ядро операционной системы, а ядро проверяет подписи своих компонентов (драйверов, служб и т.п.).

Таким образом, Secure Boot действует на уровне прошивки UEFI до запуска ядра, проверяя загрузчик и ранние драйверы, а затем эти проверки продолжаются на этапе загрузки ядра ОС и начальной инициализации системы.

Процесс называется "цепочкой доверия": каждый следующий компонент проверяется и запускается только если подтверждена его подлинность. Если хоть один компонент не проходит проверку (отсутствие подписи, неправильная подпись или ключ в "чёрном списке"), загрузка прекращается, и система выводит ошибку о нарушении безопасности.

Упрощенная схема запуска ПК работы Secure boot
Упрощенная схема запуска ПК работы Secure boot

На каком этапе драйверы античита начинают быть активными?

  1. В Windows базовые драйверы ядра, такие как драйверы устройств (дисков, сети, видео), загружаются во время инициализации ядра системы. Это происходит примерно в фазе инициализации ядра, когда операционная система только готовится к работе. Драйверы этой категории обычно имеют тип запуска BOOT_START и загружаются до запуска большинства других служб и приложений;
  2. Драйвер античита загружается как раз таки в ранних этапах инициализации ядра, сразу после проверки безопасности на уровне загрузчика(смотрите на схеме выше);
  3. Он проходит проверку подписей и безопасности, аналогично загрузчику и другим драйверам, на этапе включения Secure Boot или его аналоге — это обязательное условие, чтобы античит-драйвер был загружен и активен.

Ну, ок, а зачем вся эта инфа про ядро и драйверы?

В игре используется специализированный подписанный драйвер ядрового уровня, связанный с античитом Javelin, для обеспечения контроля целостности системы и предотвращения читерских вмешательств, работая с высокими системными привилегиями.

Точные имена драйверов EA не раскрываются публично, но известно, что они подписываются цифровыми сертификатами и проходят сертификацию Microsoft для загрузки в режиме ядра Windows.

👑 Javelin имеет привилегии контролировать системные процессы и память, не позволяя читам тайно вмешиваться. Если кто-то пытается изменить память игры для читерства (например, чтобы видеть сквозь стены), Javelin на уровне ядра это увидит и заблокирует.

🧭 Например, вы играете в настольную игру, где есть ведущий. Он следит за честностью и правильностью игрового процесса. Если ведущий заметит, что кто-то из игроков жульничает, и это не предусмотрено правилами, попытка обмана будет пресечена. Однако, если кому-то удастся обхитрить ведущего и избежать обнаружения, значит он успешно схитрил.

Почему может возникнуть ошибка запуска, если ОС работает отлично и Secure boot активен?

😕 Драйвер античита не может быть «интегрирован в систему» сразу при установке игры и без какой-либо перезагрузки ПК, если говорить о полной загрузке драйвера в ядро Windows. Вот пояснение, как это происходит на практике:

  1. Первичная установка драйвера античита. Когда вы устанавливаете игру с античитом, драйвер античита копируется в систему и регистрируется в её компонентах (например, в реестре и сервисах Windows). Однако, чтобы драйвер ядра действительно начал работать на уровне ядра (kernel mode), обычно требуется перезагрузка компьютера. Это связано с особенностями работы Windows: драйверы ядра загружаются в память операционной системы при старте или при вручную вызванной загрузке.
  2. После перезагрузки драйвер становится активным. После перезагрузки Windows загружает драйвер античита во время инициализации ядра или рано в процессе загрузки — до запуска большинства пользовательских приложений, что позволяет античиту эффективно контролировать систему и предотвращать ПО читеров.
  3. Дальнейшие запуски игры без перезагрузки. После того, как драйвер уже загружен и активен, каждый следующий запуск игры не требует перезагрузки ПК, потому что драйвер уже находится в памяти и работает постоянно. Античит-клиент просто взаимодействует с уже загруженным драйвером.
  4. Динамическая загрузка драйверов (реже). Некоторые античиты могут использовать техники динамической загрузки драйверов (через службы Windows или специальные системные вызовы), чтобы загрузить необходимые системные модули уже после загрузки ОС без перезагрузки. Но обычно это требует либо специальных разрешений, либо временных обходов системы безопасности, что не всегда возможно или безопасно.

🙃 Ну, и? Всё равно необходимо выполнять перезагрузку ПК, чтобы все компонеты запускались полноценно - и это касается не только игр с античитом. Старое доброе правило о перезагрузке от тех. поддержки стало им не просто так. Вы не сможете движущему поезду прицепить вагон в середину состава не остановив его.

😛 Поэтому - сохранитесь и перезагрузитесь, а если не помогло - обновитесь и снова перезагрузитесь.

Почему же тогда не все программы могут работать на уровне ядра?

Доступ на уровень ядра — это большая ответственность. Чтобы драйвер получил доступ, он должен быть сертифицирован и подписан Microsoft, иначе Windows его не пустит. Это предотвращает вредоносные программы и неподписанные читерские драйверы.

🔗 Супер подробно обо всем этом читайте у Microsoft тут

Почему так быстро создали читы, если все так круто?

Античит EA Javelin, работающий на уровне ядра, хотя и мощный, не является «закрытым» от исследования. Опытные злоумышленники быстро анализируют трафик игры, поведение клиентских и системных компонентов, находят уязвимости и обходные пути. И программные и апаратные части имеют множество дыр в самых разных местах.

🤥 Уже в первые часы и сутки бета-тестирования Battlefield 6 были опубликованы видео работы читов, включая wallhack (видение сквозь стены), подтверждающие обход защит. Это частый сценарий для новых игр с античитами — хакеры в первую очередь нацеливаются на бета-версии и быстро находят лазейки, которые разработчики еще не закрыли.

EA отмечает, что античит Javelin требует постоянных обновлений и работы с сообществом для адаптации к новым читам, то есть борьба с читерами — непрерывный процесс, а не разовое решение.

🤨 Некоторые читеры используют компрометацию цифровых сертификатов драйверов или обходы защиты, хотя это рискованно и сложно.

Несмотря на сильный античит на уровне ядра с требованиями Secure Boot и TPM 2.0, первые версии античита Battlefield 6 были быстро взломаны в бета-тесте из-за быстрого анализа и экспериментов со стороны читеров. Разработчики EA используют обратную связь и данные для постоянного улучшения защиты к официальному релизу и далее.

😒 Быстрое появление читов — обычное явление на старте новых игр с продвинутыми античитами, представляя собой часть постоянной «гонки вооружений» между защитой и читерами.

Онлайн-валидация Secure Boot и конфликты с другим ПО

Battlefield 6 проверяет Secure Boot и детали безопасности не только локально, но и с серверов EA. Если другие программы (например, КриптоПро для подписания документов цифровой подписью или античит Valorant, антивирусы) тоже работают на уровне ядра, могут возникать конфликты при запуске игры, и она может выдавать ошибки.

😅 Поэтому иногда приходится отключать сторонние программы, чтобы игра запустилась нормально или даже полностью удалять, как показала практика(привет Линку).

Проблемы запуска battlefield 6 из-за КриптоПро и прочих программ
Проблемы запуска battlefield 6 из-за КриптоПро и прочих программ

Как обойти ограничение отключив интернет(пока что)?

Коротко и понятно в этом посте

Пример другого античита на уровне ядра — Valorant Vanguard

Valorant Vanguard — ещё один пример античита с драйвером vgk.sys, загружающимся вместе с ОС и постоянно мониторящим систему. Он работает даже когда игра не запущена, чтобы предотвратить читерские вмешательства в максимально ранний момент.

🔗 Подробнее ситуацию с Vanguard - читайте тут

Сообщение Vanguard о необходимости перезагрузки для работы античита
Сообщение Vanguard о необходимости перезагрузки для работы античита

Это все интересно, но почему мое железо тянет игру, но я не могу пограть в нее?

😣 Хех, старость - не радость.

Процессор и материнская плата могут быть достаточно устаревшими, чтобы не поддерживать функцию Secure Boot. Secure Boot — это технология безопасности, реализуемая на уровне прошивки UEFI (замена старого BIOS), поэтому для поддержки Secure Boot материнская плата должна иметь прошивку с UEFI (версия не ниже 2.3.1 Errata C) и соответствующую сигнатурную базу ключей безопасности.

Secure Boot в первую очередь зависит от UEFI и BIOS материнской платы, но процессор также должен быть совместим с современными технологиями, связанными с безопасностью платформы (например, поддержка TPM 2.0). Старые процессоры могут не поддерживать нужные современные функции безопасности, что ограничит возможность включения Secure Boot.

😕 Иногда на старых, но поддерживающих UEFI материнских платах, для активации Secure Boot может потребоваться обновление прошивки BIOS. Без обновления функция может быть либо недоступна, либо отключена по умолчанию.

Secure Boot Battlefield 6 - зачем нужен, если читы уже есть? [лонг]

Что в итоге?

Ни одна система не может быть защищена полностью, но создание последовательных и разнообразных рубежей защиты значительно повышает уровень безопасности и снижает уязвимость к атакам. И Secure boot, и прочие штуки всего лишь рубежи.

Конечно, 💪 Гигачады ПК-мира с проблемами справляются, а массовый игрок остаётся в недоумении: «Где нажать волшебную кнопку, чтобы всё само заработало и запустилось?»

Такие ситуации отлично показывают, почему консольный гейминг так популярен — и это неспроста. Купил игру и не думаешь о том, как она запустится — она просто запускается и играется. Это здорово!

Но что же касается элиты иерархии гейминга — Пекарей, мы можем и в ПК, и в консоли, а вот консольщики зачастую не справляются с ПК, как показало большинство негативных отзывов о Battlefield 6. За такую свободу на ПК приходится платить — постоянной борьбой с читерами, тратой времени и иногда нервами.

😶 И помните: сохранился, обновился, перезагрузился.😄 Ну, или закупился, затем установился.

18
12
4
4
40 комментариев