В настоящее время от игроков, желающих участвовать в онлайновых многопользовательских сеансах, в античитерских движках обязательно требуется включить безопасную загрузку (Secure Boot) и встроенный доверенный платформенный модуль (fTPM). Удастся ли таким образом обуздать читеров, или же это бесплодная попытка купировать разрастающуюся проблему?
Жульничество (читерство) всё сильнее поражает онлайновые многопользовательские игры. Поэтому некоторые поставщики античитерского софта решили бороться с этой проблемой на уровне аппаратного обеспечения и прошивки. Компания Electronic Arts недавно объявила, что в их новейшем продукте Battlefield 6 пользователям будет разрешено участвовать в игре только при условии, что у них будут включены как безопасная загрузка, так и встроенный (прошивочный) доверенный платформенный модуль (поддерживающий спецификацию TPM 2.0). В системе Vanguard от Riot Games выдвигаются схожие требования для игроков, пользующихся Windows 11. Более того, есть основания полагать, что, после грядущего вскоре завершения поддержки Windows 10 компания Riot распространит это требование и на всех остальных игроков. Пока что безопасная загрузка и соответствие TPM 2.0 нестрого требуются при установке Windows 11. Поэтому с окончанием поддержки Windows 10 производителям античитерского софта выпадает удачный шанс перевести эти аспекты безопасности в разряд обязательных.
Правда, это внезапное изменение спровоцировало небольшой ропот в некоторых геймерских сообществах. Некоторые деятельные диссиденты даже пытаются выставить это как банальную наживку, вынуждающую пользователей сидеть в конкретной операционной системе и, следовательно, мешает играть на более старом железе. Другая точка зрения заключается в том, что компании тем самым идут на масштабное самоуправство с единственной целью выудить у пользователей их данные, а затем торговать этой информацией.
Чтобы стало понятнее, почему разработчики античитерского софта сейчас так упирают на эти аспекты безопасности, давайте сначала разберёмся, как эти функции работают (в интересующем нас конкретном контексте), как всё это сказывается на приватности, и почему такие меры могут быть эффективны, особенно в устранении одного специфического вида жульничества.
Важно
Необходимо отметить, что основная цель античитерских движков заключается не в упреждении жульничества, а в возведении технологических барьеров, которые осложняют разработку читерского софта. В частности, они помогают упростить обнаружение читерских пакетов, поймать за руку их разработчиков, отправить их в бан и обеспечить, чтобы изгнанники не могли просочиться обратно.
В любой игре любого типа всегда будут жулики, независимо от того, компьютерная ли это игра и онлайновая ли. Но, принимая нужные меры, разработчики античитерских решений могут добиться, что соблазн сжульничать серьёзно ослабнет. Естественно, читеров тоже станет меньше, а нормальные игроки станут комфортнее себя чувствовать.
Безопасная загрузка
Безопасная загрузка — это просто механизм, встроенный в прошивку материнской платы и позволяющий убедиться, что образ UEFI действительно выполняется в ходе загрузочной последовательности (это может быть загрузчик операционной системы, дополнительное ПЗУ (option ROM) либо любое другое EFI-приложение) и при этом не был изменен в результате вредоносного вмешательства.
При безопасной загрузке эта задача решается с опорой на иерархию ключей, позволяющих определить, кто вправе обновлять базу данных авторизованных цифровых подписей (сертификатов), которые, в конце концов, используются для валидации загрузочного образа.

В самой вершине иерархии располагается ключ владельца платформы (PK). На платформе x86-64 в таком качестве по умолчанию обычно выступает публичный ключ производителя вашей материнской платы. Например, если у вас материнская плата GIGABYTE, то вы можете убедиться, что в стандартной комплектации у неё будет по умолчанию сконфигурирован следующий PK.
Version: 3 (0x02)
Serial number: 252254444493706055650493858147631885892 (0xbdc67056de877e8247ac699c054fee44)
Algorithm ID: SHA256withRSA
Validity
Not Before: 05/09/2023 06:37:57 (dd-mm-yyyy hh:mm:ss) (230905063757Z)
Not After: 05/09/2053 06:37:56 (dd-mm-yyyy hh:mm:ss) (20530905063756Z)
Issuer
CN = GIGABYTE
Subject
CN = GIGABYTE
Fingerprints
MD5: 8b42dd84de1b6d5598f8324227db7d7c
SHA1: fcfc537049ff5260ef60b640c18d994236d60280
SHA256: f260331de605555f2f075028e1adbfffb52cac3a12c5f65f67ab044997f6afc8
Притом, что производитель вашей материнской платы будет по умолчанию поставлять её со своим PK, следует иметь в виду, что обычно вы при желании можете заменить этот PK своим публичным ключом. Для этого потребуется перевести безопасную загрузку в установочный режим (Setup Mode), причём, процедура такого перевода отличается в зависимости от конкретной материнской платы. Обычно для этого требуется очистить ключи безопасной загрузки и отключить безопасную загрузку. Подробнее см. в инструкции к вашей материнской плате. Ключ владельца платформы призван обеспечить необходимое доверие между прошивкой и владельцем платформы. Как правило, на вашем компьютере таким владельцем являетесь вы.
Ключ владельца платформы (PK) указывает, кто вправе вносить изменения в ключи следующего типа, расположенные ниже в иерархии: ключи для обмена ключами (KEK).
Ключи для обмена ключами (KEK) определяют, кто вправе вносить изменения в различные базы данных авторизованных сертификатов. Они призваны обеспечить доверие между операционной системой и прошивкой. По умолчанию база данных должна поставляться с набором KEK от Microsoft, а в некоторых случаях — с KEK от производителя материнской платы. Любые изменения, вносимые в KEK, должны быть подписаны приватным ключом (PKpriv), соответствующим ключу владельца платформы. Таким образом предотвращается возможность изменять переменную KEK со стороны не уполномоченных на это пользователей или стороннего софта.
Это, однако, означает, что любые изменения, вносимые в KEK, должны координироваться с производителями аппаратного обеспечения. Microsoft прямо сейчас занимается вводом нового KEK, так как срок действия старого вот-вот истечёт. Следовательно, эту работу приходится согласовывать с различными производителями, чтобы обновление обязательно было подписано. К счастью, KEK обновляются редко.
Наконец, есть база разрешённых сертификатов (DB) и база запрещённых сертификатов (DBX). В случае с Microsoft Windows эти базы данных подписываются непосредственно KEK от Microsoft и распространяются через службу обновлений Windows.
Теперь закрепим иерархию ключей и вспомним, как она выглядит сверху вниз:
Название | Обозначение | Описание |
Ключ владельца платформы | PK | Обеспечивает доверительное отношение владельца платформы к прошивке этой платформы. Им подписываются ключи для обмена ключами. |
Ключ обмена ключами | KEK | Обеспечивает доверительное отношение между операционной системой и прошивкой платформы |
База разрешённых сертификатов | DB | База публичных сертификатов и сигнатур, используемых для аутентификации UEFI-образов, которые впоследствии будут загружаться |
База запрещённых сертификатов | DBX | База публичных сертификатов и сигнатур, используемых для аутентификации UEFI-образов, которые впоследствии будут загружаться. Если при валидации образа обнаружена запрещённая сигнатура, то его загрузка предотвращается. |
Прежде, чем выполнить образ UEFI (это может быть загрузчик операционной системы, дополнительное ПЗУ или любое другое приложение EFI), ваша прошивка проверит его, сравнив с сертификатами, записанными в базе данных (DB). Если образ не подписан, либо подпись фигурирует в базе данных с запрещёнными сертификатами (DBX), либо сигнатура не проходит проверку по базе данных разрешённых сертификатов (DB), то процесс загрузки прерывается.
Microsoft добавляет сигнатуры в базу данных запрещённых сертификатов (DBX) в тех случаях, когда обнаруживает загрузчик с уязвимостью — такой, через которую злоумышленники могут выполнять неподписанный код. Таким образом, уязвимые версии загрузчика фактически не могут загрузиться.
В загрузчике Windows также используется отдельная база данных, по которой проверяются сигнатуры всех загружаемых им драйверов уровня ядра. Если драйвер уровня ядра не подписан Microsoft, либо его подпись обнаружена в правилах блокировки драйверов, которые Microsoft регулярно обновляет, то этот драйвер загружен не будет.
Существует политика лицензирования CustomKernelSigners, изменив которую, всё-таки можно допускать в систему пользовательские ключи. Но эта политика поддаётся редактированию только в специфических ограниченных SKU из Windows. Кроме того, использование этой политики можно выявить, проверяя логи измеряемой загрузки (Measured Boot) и регистры конфигурации платформы (PCR).
Поскольку авторы читов не могут раздобыть для своих драйверов подписи от Microsoft, принуждение пользователей активировать безопасную загрузку — это действенный способ не позволять читам самостоятельно устанавливаться в пространство ядра (кроме как через какой-то неизвестный или непропатченный эксплойт).
При этом античитерские движки не могут доверять тому, что безопасная загрузка действительно включена, даже если операционная система сообщает, что это так. Например, читер или злоумышленник может при отключённой безопасной загрузке внести в ядро такой драйвер, который уверит операционную систему, что на самом деле режим безопасной загрузки включён. Именно здесь нам пригодится TPM.
Доверенный платформенный модуль
В контексте античитерства доверенный платформенный модуль (TPM) решает две основные задачи:
Предоставляет уникальный идентификатор, привязываемый к железу и при этом неуязвимый для спуфинга или внесения изменений со стороны злоумышленника или читера.
Предоставляет верифицируемое доказательство, позволяющее проверить состояние загрузочного окружения и убедиться в отсутствии всякого вмешательства как в безопасную загрузку, так и в оставшуюся часть загрузочного процесса.
Запрет читерского железа
Имея уникальный идентификатор аппаратного обеспечения, поставщики античитерских технологий фактически получают возможность забанить любого, кто попался на жульничестве. Это особенно важно, поскольку, если блокировать пойманному читеру лишь его аккаунт, то он без труда сможет купить или как-то иначе обзавестись новой копией игры уже под другим аккаунтом (или просто создать новый аккаунт, если речь о бесплатной игре) — и вновь взяться за своё. Бан IP-адресов неэффективен ещё и потому, что ни один провайдер Интернета не предоставляет своим клиентам статических IP-адресов. Кроме того, в условиях исчерпания адресного пространства IPv4, многие интернет-провайдеры в настоящее время развёртывают CGNAT, и поэтому одним и тем же IP-адресом могут совместно пользоваться сразу многие игроки.
Бан читера на уровне железа — единственная эффективная мера, не позволяющая отделаться просто созданием нового аккаунта. Чтобы вернуться к той игре, из которой его изгнали, читер будет вынужден приобретать новое оборудование, а это дорогое удовольствие. Работая с TPM, провайдеры античитерских услуг получают возможность точечно и при этом проверяемо идентифицировать то аппаратное обеспечение, которым пользуется жулик.
Важно отметить, что существует много видов TPM, применяемых для идентификации оборудования. Дискретные TPM (dTPM) — это маленькие модули TPM, которые существуют отдельно от вашего ЦП и материнской платы, просто приобретаете и устанавливаете. Что касается гарантий по части идентификации оборудования, они отличаются от модели к модели; подозреваю, что некоторые поставщики античитерских средств просто не допускают вас в игру, если вы используете подобный модуль.
Примерно с 2017 года AMD и Intel на большинстве своих машин предоставляют в комплекте с процессором прошивочные TPM (fTPM). С 2021 года на всех их настольных и мобильных устройствах присутствует fTPM.
Каждый TPM изготавливается с уникальным ключом подтверждения (EK), изменить который невозможно. Приватная часть этого ключа (EKpriv) неизвлекаема из TPM, а публичную (EKpub) можно программно читать. Именно в fTPM ещё есть EKcert. EKcert — это сертификат, гарантирующий, что EKpub действительно поступил от подлинного fTPM, собранного производителем. Злоумышленник или читер не сможет сгенерировать фальшивый EKpub, поскольку он не прошёл бы валидацию через EKcert от AMD или Intel.
Пользуясь EKpub и сверяя его с EKcert, провайдеры античитерской защиты могут не сомневаться, что EKpub действительно привязан к подлинному оборудованию. Поскольку fTPM входят в состав пакета ЦП, запрет конкретного EKpub фактически означает, что жулику потребуется приобретать новый процессор, чтобы продолжать безобразничать.
Под Windows можно извлечь значения EKpub и EKcert через PowerShell, выполнив следующую команду:
Get-TpmEndorsementKeyInfo -HashAlgorithm SHA256
Под Linux, если у вас установлена tpm2-tools, можно извлечь EKpub и EKcert, выполнив следующие команды. Пакет называется tpm2-tools в Arch Linux, в других дистрибутивах он может называться иначе.
# Зарезервированные дескрипторы см. в документе TCG TPM v2.0 Provisioning Guidance.
# EK находится по адресу 0x81010001
# EKcert может находиться по адресу 0x01C00002 или онлайн, в зависимости от производителя
sudo tpm2_readpublic -c 0x81010001 -o EKpub_TPM2B_PUBLIC.bin
# Чтобы публичный ключ был в формате PEM
sudo tpm2_readpublic -c 0x81010001 --format=pem -o EKpub_pem.pub
# Выборка EKcert
sudo tpm2_getekcertificate -u EKpub_TPM2B_PUBLIC.bin -o EKcert_DER.cer
Измеряемая загрузка
# Фрагмент лога с измеряемой загрузкой Windows (только PCR7 + значение PCR)
# Сконвертировано из двоичного формата при помощи tpm2-tools
# > tpm2_eventlog --eventlog-format=2 file.log
---
version: 2
events:
- EventNum: 3
PCRIndex: 7
EventType: EV_EFI_VARIABLE_DRIVER_CONFIG
DigestCount: 1
Digests:
- AlgorithmId: sha256
Digest: 'ccfc4bb32888a345bc8aeadaba552b627d99348c767681ab3141f5b01e40a40e'
EventSize: 53
Event:
VariableName: 8be4df61-93ca-11d2-aa0d-00e098032b8c
UnicodeNameLength: 10
VariableDataLength: 1
UnicodeName: SecureBoot
VariableData:
Enabled: 'Yes'
- EventNum: 4
PCRIndex: 7
EventType: EV_EFI_VARIABLE_DRIVER_CONFIG
DigestCount: 1
Digests:
- AlgorithmId: sha256
Digest: 'f7605d30894abc33e05fe3b787c340a701bd25b3171337378c554f2b0d456745'
EventSize: 846
Event:
VariableName: 8be4df61-93ca-11d2-aa0d-00e098032b8c
UnicodeNameLength: 2
VariableDataLength: 810
UnicodeName: PK
VariableData:
- SignatureType: a5c059a1-94e4-4aa7-87b5-ab155c2bf072
SignatureListSize: 810
SignatureHeaderSize: 0
SignatureSize: 782
Keys:
- SignatureOwner: e58e05e2-5c43-4ef7-880b-3f06734eb36f
SignatureData: 308202fa308201e2a0030201020210bdc67056de877e8247ac699c054fee44300d06092a864886f70d01010b050030133111300f0603550403130847494741425954453020170d3233303930353036333735375a180f32303533303930353036333735365a30133111300f06035504031308474947414259544530820122300d06092a864886f70d01010105000382010f003082010a0282010100dad146d6482ec8091efee1905cd63d7e4faa74cf1275182a856be0f8e0d8b1da09d51528c739670c7f72ae8c695eb66b1a5e277a9cb493a2477a52ffdc99a0b308bdbc67d92d810e648407ddca88234f3ca786e6b1edc9cc59e93c9d2329a6691abecde7a1caaa888d4008b689768f8ece8672eee88e183224e6ece53f2276cc8058f0a411b724477bafdd9f5e9c50423eb300a6b0ab561b2c38be91251bf606097eaa87cf510b51fd20168216918b70e57cf20762393ee661b98473975833b7f0d57c374d53af9bda2d4e0e826e943c4d5eac3a2dff6cb3886b16a707b1973a3c427eb06080e540d066d58dc8e59f1a465e2f9d594bdef4b14632295281d8d90203010001a348304630440603551d01043d303b801005571702e0b0afd9138699933731f709a11530133111300f0603550403130847494741425954458210bdc67056de877e8247ac699c054fee44300d06092a864886f70d01010b050003820101008d2a3087c57ce79365909630d5a9b2290056587d541e8673d578d4f5fe4af1f659ab1cdcc158c92e503670f26095045d77495b17e73645dd80b632a25b1155143c627db23bab4b286fb8e869fe979101ea61a1f85d697fac18a08d5fa5c655244e971227f8d1b6e60e44f86ffdffb233f8cc57c83901b58f1d10a17c65181fb090c4ab500f59b07618a044a8f6b8a12cf3650f3b1afa23394e5655605bcd7557f89019defa161ca0c7fe59c8dce00770d86a293228db12ca7cc3cc40d68a79f05fb525d1dc60d94582a2b4e316eefe8118e8499096a5078a0b21fefdaed589d04c5fe8e5ede763f6946e6943fd42af52a5c56a37cf9f52db49dd786cc3631378
- EventNum: 5
PCRIndex: 7
EventType: EV_EFI_VARIABLE_DRIVER_CONFIG
DigestCount: 1
Digests:
- AlgorithmId: sha256
Digest: '4ff9961291a19b5d29cfad68f0b0e66790c25f3f6af2fd3bdd5b5901227b0d91'
EventSize: 3922
Event:
VariableName: 8be4df61-93ca-11d2-aa0d-00e098032b8c
UnicodeNameLength: 3
VariableDataLength: 3884
UnicodeName: KEK
VariableData:
- SignatureType: a5c059a1-94e4-4aa7-87b5-ab155c2bf072
SignatureListSize: 1506
SignatureHeaderSize: 0
SignatureSize: 1478
Keys:
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 308205b23082039aa003020102021333000000131416b8616d82824b000000000013300d06092a864886f70d01010b0500305a310b3009060355040613025553311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e312b3029060355040313224d6963726f736f667420525341204465766963657320526f6f742043412032303231301e170d3233303330323230323133355a170d3338303330323230333133355a305c310b3009060355040613025553311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e312d302b060355040313244d6963726f736f667420436f72706f726174696f6e204b454b20324b204341203230323330820122300d06092a864886f70d01010105000382010f003082010a0282010100e35e888b732cc30ac4e9f5ce812df10ff1263537d1495371b15b9352afe115dfde8b39bdaf4c657553e5da0a32982f3326b62bbe94999fecdac28e053492130f63bf74a272a8297e9f3221290859c477c42a924c87b60337eb9ae2c3c9b44821c36194ea1751b1e714e224632ed5f2c6a5f2a25e1f69c6510da729fb520a9be388e868ffbbfa9269afc416ff5de55fe0dfec66550b61c2ac3b206edfb40deb2bc8d0c2344e829639eef13185043defd676fbc3cac1d58c2f0b10289b489ab01014a4d994e5685bcd6ee77aecbca049b8a953d84d2fb27bc8dabcb2e7fcab701077954549fdadd23f17cb669af27d36dd0a2ce2c087212d93db0896d2e85c54e10203010001a382016d30820169300e0603551d0f0101ff040403020186301006092b06010401823715010403020100301d0603551d0e04160414e0ab72bc963effb8669b7d105a433e5c4254875f301906092b0601040182371402040c1e0a00530075006200430041300f0603551d130101ff040530030101ff301f0603551d230418301680148444860600983f2caab3c589f3ac2ec9e69d090330650603551d1f045e305c305aa058a0568654687474703a2f2f7777772e6d6963726f736f66742e636f6d2f706b696f70732f63726c2f4d6963726f736f667425323052534125323044657669636573253230526f6f742532304341253230323032312e63726c307206082b0601050507010104663064306206082b060105050730028656687474703a2f2f7777772e6d6963726f736f66742e636f6d2f706b696f70732f63657274732f4d6963726f736f667425323052534125323044657669636573253230526f6f742532304341253230323032312e637274300d06092a864886f70d01010b0500038202010085020612fa67ae4f39a9b834dc5d2a78197b38ee9c828f1be23c3d320a5ebf5806e76ff88d18a81b84f59bcaad8b08440e268d2cd85f6e232507fa5b4c262e7631432e6ee8c831c14ad2f202b7a6f175e496ed06e2ca957844a83376d42b4dd7bcdc873bab4d29ad9689b7d5c28fab46c35db3fdeda59ef576b72b85ff98a19f6b1c9b3ef7ee0e17a3fd362fe1cd28981c409926ca038da635ead20aa78b16ae2101001e270fb70eb24231562ee6f88eea0c34f04edf70306904d1cfd39c64466fcc21cdcbef0532bb08a6d89f45385d4ed29c9289e973e47a08351e4fa6c2ba6b3eb71f543449fab47acbdaa01f59812b2af68826b0fa6cf2ebc1d8ae41e16ffcbf13e86e14e7e7c7038b40991038066d70bd01c8de8d561d380f4f23a82540debb282d43afa4bc2083b506f905219f3bb9790d706b53c075c21b1013b3e46f09a8cfd1b70e715cb7c98fe51cf01355d993b9ae5d3fca0bb0596a454ac3e1e327780d1681fc582db141ba180dcff0efab081e4ff8fcc6fd4bdd1def30255039a3dffe3fb9faeb9697d0cdf90426fb0d481908d8e193c150c76e6dd8d06b8e95726450c9ed55896ec14ba206d432b5a96d65017af152571805305cb8286611b77af0714e8661607a6d56c75b093ea2efd40e9e92d31f99f69db11d78786bffe82a04af78673ef02a0ba7e05d01e98799353090edd7456b9ccce6a2e4e617a7dd
- SignatureType: a5c059a1-94e4-4aa7-87b5-ab155c2bf072
SignatureListSize: 1560
SignatureHeaderSize: 0
SignatureSize: 1532
Keys:
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 308205e8308203d0a003020102020a610ad188000000000003300d06092a864886f70d01010b0500308191310b3009060355040613025553311330110603550408130a57617368696e67746f6e3110300e060355040713075265646d6f6e64311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e313b3039060355040313324d6963726f736f667420436f72706f726174696f6e205468697264205061727479204d61726b6574706c61636520526f6f74301e170d3131303632343230343132395a170d3236303632343230353132395a308180310b3009060355040613025553311330110603550408130a57617368696e67746f6e3110300e060355040713075265646d6f6e64311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e312a3028060355040313214d6963726f736f667420436f72706f726174696f6e204b454b204341203230313130820122300d06092a864886f70d01010105000382010f003082010a0282010100c4e8b58abfad5726b026c3eae7fb577a44025d070dda4ae5742ae6b00fec6debec7fb9e35a63327c11174f0ee30ba73815938ec6f5e084b19a9b2ce7f5b791d609e1e2c004a8ac301cdf48f306509a64a7517fc8854f8f2086cefe2fe19fff82c0ede9cdcef4536a623a0b43b9e225fdfe05f9d4c414ab11e223898d70b7a41d4decaee59cfa16c2d7c1cbd4e8c42fe599ee248b03ec8df28beac34afb4311120b7eb547926cdce60489ebf53304eb10012a71e5f983133cff25092f687646ffba4fbedcad712a58aafb0ed2793de49b653bcc292a9ffc7259a2ebae92eff6351380c602ece45fcc9d76cdef6392c1af79408479877fe352a8e89d7b07698f150203010001a382014f3082014b301006092b06010401823715010403020100301d0603551d0e0416041462fc43cda03ea4cb6712d25bd955ac7bccb68a5f301906092b0601040182371402040c1e0a00530075006200430041300b0603551d0f040403020186300f0603551d130101ff040530030101ff301f0603551d2304183016801445665243e17e5811bfd64e9e2355083b3a226aa8305c0603551d1f045530533051a04fa04d864b687474703a2f2f63726c2e6d6963726f736f66742e636f6d2f706b692f63726c2f70726f64756374732f4d6963436f725468695061724d6172526f6f5f323031302d31302d30352e63726c306006082b0601050507010104543052305006082b060105050730028644687474703a2f2f7777772e6d6963726f736f66742e636f6d2f706b692f63657274732f4d6963436f725468695061724d6172526f6f5f323031302d31302d30352e637274300d06092a864886f70d01010b05000382020100d48488f514941802ca2a3cfb2a921c0cd7a0d1f1e85266a8eea2b5757a9000aa2da4765aea79b7b9376a517b1064f6e164f20267bef7a81b78bdbace8858640cd657c819a35f05d6dbc6d069ce484b32b7eb5dd230f5c0f5b8ba7807a32bfe9bdb345684ec82caae4125709c6be9fe900fd7961fe5e7941fb22a0c8d4bff2829107bf7d77ca5d176b905c879ed0f90929cc2fedf6f7e6c0f7bd4c145dd345196390fe55e56d8180596f407a642b3a077fd0819f27156cc9f8623a487cba6fd587ed4696715917e81f27f13e50d8b8a3c8784ebe3cebd43e5ad2d84938e6a2b5a7c44fa52aa81c82d1cbbe052df0011f89a3dc160b0e133b5a388d165190a1ae7ac7ca4c182874e38b12f0dc514876ffd8d2ebc39b6e7e6c3e0e4cd2784ef9442ef298b9046413b811b67d8f9435965cb0dbcfd00924ff4753ba7a924fc50414079e02d4f0a6a27766e52ed96697baf0ff78705d045c2ad5314811ffb3004aa373661da4a691b34d868edd602cf6c940cd3cf6c2279adb1f0bc03a24660a9c407c22182f1fdf2e8793260bfd8aca522144bcac1d84beb7d3f5735b2e64f75b4b060032253ae91791dd69b411f15865470b2de0d350f7cb03472ba97603bf079eba2b21c5da216b887c5e91bf6b597256f389fe391fa8a7998c3690eb7a31c200597f8ca14ae00d7c4f3c01410756b34a01bb59960f35cb0c5574e36d23284bf9e
- SignatureType: a5c059a1-94e4-4aa7-87b5-ab155c2bf072
SignatureListSize: 818
SignatureHeaderSize: 0
SignatureSize: 790
Keys:
- SignatureOwner: e58e05e2-5c43-4ef7-880b-3f06734eb36f
SignatureData: 30820302308201eaa003020102021077097d5f2805a3844b6fcabb2308fd69300d06092a864886f70d01010b05003016311430120603550403130b47494741425954452043413020170d3233303930353036333935355a180f32303533303930353036333935345a30133111300f06035504031308474947414259544530820122300d06092a864886f70d01010105000382010f003082010a0282010100ab20e6f5702618414a13887cd8b6631278966d8cf23b5f6b253088416f214a7c99e29d0191f7bcbac92f0f11379bde8f54de3fc4a7d0404634f7dfdd6af3f33325d48dd335a05fe744be7a1ce60374c1340e4e36255aa8e9f7e379518adea52e4c3410b9b58db0d336f9510a051b7e0e7cb04e5984f93eb691df4cf665809998fb9ac4f874426c2fe590733dc8d4da8814e872bfd2b58f145c0757f24cdbaa57da1d1fd7a109f7158255c23d3093b69976877c2a6dc58430660e87dac93acf20988f52975b8910dd5f512d3c53d863555365a58635471eadf91c090185a9f517372e3c419386570091b78e5b585f12aa55ab5ab061ff5ac9ced3ebf783a3ad610203010001a34d304b30490603551d0104423040801045b1d1cf0c71c6848b1f3a965ec8b233a11a3018311630140603550403130d474947414259544520526f6f748210c3882ad639836c9647bb157972b8db11300d06092a864886f70d01010b0500038201010016ab8c5a2a1dfe132b50a1d243fc5597ee76a52ea2ca61a21af20f92083b60bdbcc13383dd3574dbb47256514b92ded7b43f5b810451caada39b1cd21ffde2814d2dc10bd7c6c1f03dd325eb839241bb1009498f42f5c3255497c385e0f701c8d03928b337f4921c44175658795756d0bea9b1186e8bb813befb1c59247b0d7907f954f49cce2cf908fd4bfd9656110c8c5a74d35324c84ab8628654fc75b334eb269dccd375909959637cf99694cab29a8a5dda540219730fffc3c5ca5096f161b5d97b6b5c06672d0ca89f92d6ae54c6a8e2b0717f7f47f65078c6ac8705e0d23e63c7eada342d92ed4c74c674c4770568b61b0df290d00b8d8d12aa84a9d1
- EventNum: 6
PCRIndex: 7
EventType: EV_EFI_VARIABLE_DRIVER_CONFIG
DigestCount: 1
Digests:
- AlgorithmId: sha256
Digest: '02adb325bebf3d5891b691d461fd8d369b11a85a88db3d779cc0757dfcdb5640'
EventSize: 6824
Event:
VariableName: d719b2cb-3d3a-4596-a3bc-dad00e67656f
UnicodeNameLength: 2
VariableDataLength: 6788
UnicodeName: db
VariableData:
- SignatureType: a5c059a1-94e4-4aa7-87b5-ab155c2bf072
SignatureListSize: 1600
SignatureHeaderSize: 0
SignatureSize: 1572
Keys:
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 30820610308203f8a003020102020a6108d3c4000000000004300d06092a864886f70d01010b0500308191310b3009060355040613025553311330110603550408130a57617368696e67746f6e3110300e060355040713075265646d6f6e64311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e313b3039060355040313324d6963726f736f667420436f72706f726174696f6e205468697264205061727479204d61726b6574706c61636520526f6f74301e170d3131303632373231323234355a170d3236303632373231333234355a308181310b3009060355040613025553311330110603550408130a57617368696e67746f6e3110300e060355040713075265646d6f6e64311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e312b3029060355040313224d6963726f736f667420436f72706f726174696f6e2055454649204341203230313130820122300d06092a864886f70d01010105000382010f003082010a0282010100a5086c4cc745096a4b0ca4c0877f06750c43015464e0167f07ed927d0bb273bf0c0ac64a4561a0c5162d96d3f52ba0fb4d499b4180903cb954fde6bcd19dc4a4188a7f418a5c59836832bb8c47c9ee71bc214f9a8a7cff443f8d8f32b22648ae75b5eec94c1e4a197ee4829a1d78774d0cb0bdf60fd316d3bcfa2ba551385df5fbbadb7802dbffec0a1b96d583b81913e9b6c07b407be11f2827c9faef565e1ce67e947ec0f044b27939e5dab2628b4dbf3870e2682414c933a40837d558695ed37cedc1045308e74eb02a876308616f631559eab22b79d70c61678a5bfd5ead877fba86674f71581222042222ce8bef547100ce503558769508ee6ab1a201d50203010001a382017630820172301206092b060104018237150104050203010001302306092b060104018237150204160414f8c16bb77f77534af325371d4ea1267b0f207080301d0603551d0e0416041413adbf4309bd82709c8cd54f316ed522988a1bd4301906092b0601040182371402040c1e0a00530075006200430041300b0603551d0f040403020186300f0603551d130101ff040530030101ff301f0603551d2304183016801445665243e17e5811bfd64e9e2355083b3a226aa8305c0603551d1f045530533051a04fa04d864b687474703a2f2f63726c2e6d6963726f736f66742e636f6d2f706b692f63726c2f70726f64756374732f4d6963436f725468695061724d6172526f6f5f323031302d31302d30352e63726c306006082b0601050507010104543052305006082b060105050730028644687474703a2f2f7777772e6d6963726f736f66742e636f6d2f706b692f63657274732f4d6963436f725468695061724d6172526f6f5f323031302d31302d30352e637274300d06092a864886f70d01010b05000382020100350842ff30cccef7760cad1068583529463276277cef124127421b4aaa6d813848591355f3e95834a6160b82aa5dad82da808341068fb41df203b9f31a5d1bf15090f9b3558442281c20bdb2ae5114c5c0ac9795211c90db0ffc779e95739188cabdbd52b905500ddf579ea061ed0de56d25d9400f1740c8cea34ac24daf9a121d08548fbdc7bcb92b3d492b1f32fc6a21694f9bc87e4234fc3606178b8f2040c0b39a257527cdc903a3f65dd1e736547ab950b5d312d107bfbb74dfdc1e8f80d5ed18f42f14166b2fde668cb023e5c784d8edeac13382ad564b182df1689507cdcff072f0aebbdd8685982c214c332bf00f4af06887b592553275a16a826a3ca32511a4edadd704aecbd84059a084d1954c6291221a741d8c3d470e44a6e4b09b3435b1fab653a82c81eca40571c89db8bae81b4466e447540e8e567fb39f1698b286d0683e9023b52f5e8f50858dc68d825f41a1f42e0de099d26c75e4b669b52186fa07d1f6e24dd1daad2c77531e253237c76c52729586b0f135616a19f5b23b815056a6322dfea289f94286271855a182ca5a9bf830985414a64796252fc826e441941a5c023fe596e3855b3c3e3fbb47167255e22522b1d97be703062aa3f71e9046c3000dd61989e30e352762037115a6efd027a0a0593760f83894b8e07870f8ba4c868794f6e0ae0245ee65c2b6a37e69167507929bf5a6bc598358
- SignatureType: a5c059a1-94e4-4aa7-87b5-ab155c2bf072
SignatureListSize: 1498
SignatureHeaderSize: 0
SignatureSize: 1470
Keys:
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 308205aa30820392a0030201020213330000001a888b9800562284c100000000001a300d06092a864886f70d01010b0500308188310b3009060355040613025553311330110603550408130a57617368696e67746f6e3110300e060355040713075265646d6f6e64311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e31323030060355040313294d6963726f736f667420526f6f7420436572746966696361746520417574686f726974792032303130301e170d3233303631333138353832395a170d3335303631333139303832395a304c310b3009060355040613025553311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e311d301b0603550403131457696e646f77732055454649204341203230323330820122300d06092a864886f70d01010105000382010f003082010a0282010100bcb235d15479b48fcc812a6eb312d69397307c385cbf7992190a0f2d0afebfe0a8d8323fd2ab6f6f81c14d176945cf858027a37cb331cca5a74df943d05a2fd7181bd258960539a395b7bcdd79c1a0cf8fe2531e2b2662a81cae361e4fa1dfb913ba0c25bb24656701aa1d4110b736c16b2eb56c10d34e96d09f2aa1f1eda1150b8295c5ff638a13b592341e315e6111ae5dccf110e64c79c972b2348a82562dab0f7cc04f938e59754186ac091009f2516550b5f521b326398daac491b3dcac642306cd355f0d42499c4f0dce80838259fedf4b44e140c83d63b6cfb4420d395cd242100c08c274eb1cdc6ebc0aac98bbccfa1e3ca78316c5db02dad996df6b0203010001a382014630820142300e0603551d0f0101ff040403020186301006092b06010401823715010403020100301d0603551d0e04160414aefc5fbbbe055d8f8daa585473499417ab5a5272301906092b0601040182371402040c1e0a00530075006200430041300f0603551d130101ff040530030101ff301f0603551d23041830168014d5f656cb8fe8a25c6268d13d94905bd7ce9a18c430560603551d1f044f304d304ba049a0478645687474703a2f2f63726c2e6d6963726f736f66742e636f6d2f706b692f63726c2f70726f64756374732f4d6963526f6f4365724175745f323031302d30362d32332e63726c305a06082b06010505070101044e304c304a06082b06010505073002863e687474703a2f2f7777772e6d6963726f736f66742e636f6d2f706b692f63657274732f4d6963526f6f4365724175745f323031302d30362d32332e637274300d06092a864886f70d01010b050003820201009fc9b6ff6ee19c3b55f6fe8b39dd61046fd0ad63cd17764aa843898df8c6f28c5e90e1e468a515ecb8d3600c40571ffb5e357261de97316c79a0f516ae4b1ced010ceff7570f42301869f8a1a32e9792b8be1bfe2b865e4242118f8e704d90a7fd0163f264bf9be27b0881cf49f23717dff1f972d3c31dc390454de68006bdfde56a69ceb37e4e315b8473a8e8723f2735c97c20ce009b4fe04cb43669cbf734111174127aa88c2e816ca650ad19faa846456fb16773c36be340e82a698f2410e1296e8d1688ee8e7f6693026f5b9e048ccc811cad9754f1182e7e5290bc51de2a0eae66eabc646ea09164e42f12a8bce76bbac71b9b791a6466f143b4d1c346213881794cfaf0310dd379ff7a12a51dd9ddaca20f7182f793ff5ca161ae65f21481ed795a9a87ea607bcbb34f7534cabaa1efa2f6a28045a18b2781cdd577383eca4edd28ea58bac5a029de868c88fc952751ddabd3d05b0d77c76c8f55d7d4a20e5be4344614161de31cd66d99ad4cec71732fabceb2b429de553053393a328bf0ea9c88123b056819bfcf875210fbd61360f34164f4085781cb9d11a58ef4e527f5a33aece43d4ab7cef9880d9fbdca6dd24abc58768e3204946eddf4cf6d476dc2d76adc8771eaa4bfef67979cb8c780362a2a59c9c00ca744a073b58ccf385aaef8bb8695f044ad667a33ed71e4458783e5a7cea240d072d24800faf91a
- SignatureType: a5c059a1-94e4-4aa7-87b5-ab155c2bf072
SignatureListSize: 1543
SignatureHeaderSize: 0
SignatureSize: 1515
Keys:
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 308205d7308203bfa003020102020a61077656000000000008300d06092a864886f70d01010b0500308188310b3009060355040613025553311330110603550408130a57617368696e67746f6e3110300e060355040713075265646d6f6e64311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e31323030060355040313294d6963726f736f667420526f6f7420436572746966696361746520417574686f726974792032303130301e170d3131313031393138343134325a170d3236313031393138353134325a308184310b3009060355040613025553311330110603550408130a57617368696e67746f6e3110300e060355040713075265646d6f6e64311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e312e302c060355040313254d6963726f736f66742057696e646f77732050726f64756374696f6e20504341203230313130820122300d06092a864886f70d01010105000382010f003082010a0282010100dd0cbba2e42e09e3e7c5f79669bc0021bd693333efad04cb5480ee0683bbc52084d9f7d28bf338b0aba4ad2d7c627905ffe34a3f04352070e3c4e76be09cc03675e98a31dd8d70e5dc37b5744696285b8760232cbfdc47a567f751279e72eb07a6c9b91e3b53357ce5d3ec27b9871cfeb9c923096fa84691c16e963c41d3cba33f5d026a4dec691f25285c36fffd43150a94e019b4cfdfc212e2c25b27ee2778308b5b2a096b22895360162cc0681d53baec49f39d618c85680973445d7da2542bdd79f715cf355d6c1c2b5ccebc9c238b6f6eb526d93613c34fd627aeb9323b41922ce1c7cd77e8aa544ef75c0b048765b44318a8b2e06d1977ec5a24fa48030203010001a38201433082013f301006092b06010401823715010403020100301d0603551d0e04160414a92902398e16c49778cd90f99e4f9ae17c55af53301906092b0601040182371402040c1e0a00530075006200430041300b0603551d0f040403020186300f0603551d130101ff040530030101ff301f0603551d23041830168014d5f656cb8fe8a25c6268d13d94905bd7ce9a18c430560603551d1f044f304d304ba049a0478645687474703a2f2f63726c2e6d6963726f736f66742e636f6d2f706b692f63726c2f70726f64756374732f4d6963526f6f4365724175745f323031302d30362d32332e63726c305a06082b06010505070101044e304c304a06082b06010505073002863e687474703a2f2f7777772e6d6963726f736f66742e636f6d2f706b692f63657274732f4d6963526f6f4365724175745f323031302d30362d32332e637274300d06092a864886f70d01010b0500038202010014fc7c7151a579c26eb2ef393ebc3c520f6e2b3f101373fea868d048a6344d8a960526ee3146906179d6ff382e456bf4c0e528b8da1d8f8adb09d71ac74c0a36666a8cec1bd70490a81817a49bb9e240323676c4c15ac6bfe404c0ea16d3acc368ef62acdd546c503058a6eb7cfe94a74e8ef4ec7c867357c2522173345af3a38a56c804da0709edf88be3cef47e8eaef0f60b8a08fb3fc91d727f53b8ebbe63e0e33d3165b081e5f2accd16a49f3da8b19bc242d090845f541dff89eaba1d47906fb0734e419f409f5fe5a12ab21191738a2128f0cede73395f3eab5c60ecdf0310a8d309e9f4f69685b67f51886647198da2b0123d812a680577bb914c627bb6c107c7ba7a8734030e4b627a99e9cafcce4a37c92da4577c1cfe3ddcb80f5afad6c4b30285023aeab3d96ee4692137de81d1f675190567d393575e291b39c8ee2de1cde445735bd0d2ce7aab1619824658d05e9d81b367af6c35f2bce53f24e235a20a7506f6185699d4782cd1051bebd088019daa10f105dfba7e2c63b7069b2321c4f9786ce2581706362b911203cca4d9f22dbaf9949d40ed1845f1ce8a5c6b3eab03d370182a0a6ae05f47d1d5630a32f2afd7361f2a705ae5425908714b57ba7e8381f0213cf41cc1c5b990930e88459386e9b12099be98cbc595a45d62d6a0630820bd7510777d3df345b99f979fcb57806f33a904cf77a4621c597e
- SignatureType: a5c059a1-94e4-4aa7-87b5-ab155c2bf072
SignatureListSize: 1081
SignatureHeaderSize: 0
SignatureSize: 1053
Keys:
- SignatureOwner: e58e05e2-5c43-4ef7-880b-3f06734eb36f
SignatureData: 30820409308201f1a003020102021034cc1b4ef33dfd9648bb8ca68e671d78300d06092a864886f70d01010b050030133111300f060355040313084749474142595445301e170d3232303933303031353531365a170d3237303933303031353531355a30133111300f06035504031308474947414259544530820122300d06092a864886f70d01010105000382010f003082010a0282010100c121245c03a680db08fb352a47d7f79a7bc86ddd61e3c9e529dc03b35e1fb6c51c93c8d28cdbc59cb090009c7331b78ca8626e7648d4324d02b3b70435e2f8d5264a137d6c7179a1009b16cd330e373ae26b695c882a20aa1036d2e0e5571567bf9a32884ddb9f6b5b57f320c9930d5420388ff6234aaf071f4bed7c6fdcd4017e39e57a74f4533d3db8c57a5b91e76523cd77fd1c329353ca6c2f1e475cc142875829ae77d2955efd879fbe9aacfcb5dce3d86f39f0b54c5bcd946e11618677968ad6f7ca08180b144d4c6de3686ac4d4489a106dc89ba68059fcc8616fd418252b8c94e2f99839cc67ba9ea184453b7662de68221733aff9d4fb449e1b9f6d0203010001a3593057300f0603551d130101ff040530030101ff30440603551d01043d303b80106b4a8aec403b7d31852242cbbf70ba0ea11530133111300f060355040313084749474142595445821062841e2126e1f8bb4c4b3fc9f2a50261300d06092a864886f70d01010b050003820201000f28db0bbd7d1f8795671db3101f9301ccd2a50e0366321e3b1ad45fbec53316d1cb681eb4df35a504535a3f793bb54d88c460575ea6c1884176c82069229dc70973e2bf436e04f73a2efe78667f5b3099c1fc15eececb7c4994b89c54cb1751e4924c566b6cfc1621870a4b7c3bddf6d90337ff12e3f58f3602c5e1fb425662363bfffeecc809790a4cb7492c405cdb1acc65816b4ae7d96fc5c51f6ef2db1ea1f916133733f058118a40cb8843f7fdfe7a7440fb07b3217009170b9935182d074188f1eca149b78278b652e18d29e57fc6a9277fb4f2bfbcff1a0ce4721558e97a9b494abbf0a89d69d15f2a4524d2c890bac970cb92879653eb196760f9b70ad345a5595f5f8eecac374ed95efa4b0c381d8958d6a8d5042185a9be9273b9c8ad4d6da6de627bf0c8e974d234ab5ae01688c56f207efa62d559e105aa913f1589dc8287744811bcb8b3685deca3dbeb60f6da646bfa991c59378b5149ea0746d50ac5c675e36da27e9e1295e0238f035f21a23d79ec1598c0bab08a368def48ebe9cae8510d99d0b3b5b1d224474022f9d6cffd19ae2de5c307deb32831b0a497232c95b4c11b0a6cd6b1bf63f7b437b5191dd363d4af54e73f207cad00be41c0bd66e9dee479c2b7f06c33f9de296a8cf70371a962cd208b3bb5427341ba059fc4164b53ce00c4a0552047f280c3a84200b922d1788272901c8e536230f8
- SignatureType: a5c059a1-94e4-4aa7-87b5-ab155c2bf072
SignatureListSize: 1066
SignatureHeaderSize: 0
SignatureSize: 1038
Keys:
- SignatureOwner: e58e05e2-5c43-4ef7-880b-3f06734eb36f
SignatureData: 308203fa308202e2a0030201020210888a6407a51b3a9849d28e290c2db25c300d06092a864886f70d01010b050030133111300f0603550403130847494741425954453020170d3233303930353036343232335a180f32303533303930353036343232325a30133111300f06035504031308474947414259544530820222300d06092a864886f70d01010105000382020f003082020a0282020100d38569b188ba8921f99b0582aeb4ff48f528a75549184aee63e643e8698d6e5e1a7fdfcc7b1b5467f22c3def10548b927aeddfe47e666e67886694306e607561528658e96efeb337f9eff5eb3cc605a1dc60bc0550e586ca56be66b783bbe50f4cc4575c9c7807007949ac6e566edf9cd08a0ee2232fb8db0e77cb73508f98bd2d2c7dea7e9b7d71ec03908397d1919791995b315d83868743571c21a62c1f822782abcd255ab315f3c0f9cd78645c247120bb1d4802223543913824d6115c921e7617ca078c2e50db6ae0b44ceeed56761047a4e28c0fddf87211bff521c00e28eeb9d3883220ccffdf41ddf4b5046ea5e6c20242399c27feb7f78ca8ed3ba33db325e38f6801a180efaf5a5dca7f8bc85582e9fafa03959b2cf2c19911659920986add5370c2a6f682e5ec5934a4c21dd9a531e53d13099f7b2128e2c675bd71efdc78193c00822d0447c57dbd7fbb1db5f26b1914dec3e207c8fb4b8f1586cd37bd6a0b03e49d375e8cc13041ea37a857ce5e4b0145039db0219fe85fbea41bdf0e6e64e689cfaf421cde0ada0aa484447e47c38671a55033795753585162663b985a7250455b8afcdc99f882a0fd9da93ebdb399363c2aa9c2f9949d6c1169d2ae5bf360bf1c07d76c2260a04d23eaaca64dfd106cfd0ddbb520e5f7102c5c31d22403e60df493caccf9991f85e341c25044aa80512fa63634c04ce05b810203010001a348304630440603551d01043d303b8010654b668a864d76e829294fff86019e46a11530133111300f06035504031308474947414259544582107fd057df69b6c68a4e1e27562dcceb6c300d06092a864886f70d01010b05000382010100d3fc01262603dda450c803b06f26a20fd80df144fb60c8f6608171687f6c61ce5c6af3cbe73086072eda1d4db836870f08985c0b0d67cd9e62262335517832d81aa75e2411c0cf0330af54c24d27ae55c3daccb44f2199b58e28c87d3a5d31b22ac36347468827d16f6bf218b9c9b5d27296f55cdfd51b01d6710500bbab59acb1b413d2292df9dd20dcff4f91572926c956d7a050223ecb5934c891a3ba8185a500c761bf4538b11c8324af9ce7259db3895baba5168f2696fd10f7a62da0915d408b011d5445052ae602afd2a6624da434e5fca853fa4cb8808563b4f2272e2ecb60debf94d1f6b2611877baad5a895ef176eacd49d501c26c65c1d4b651bd
- EventNum: 7
PCRIndex: 7
EventType: EV_EFI_VARIABLE_DRIVER_CONFIG
DigestCount: 1
Digests:
- AlgorithmId: sha256
Digest: 'a044b4ce4a4dca9af312c897dc56ee1727c385eb88f7cfb9092b8265029d5b1e'
EventSize: 3762
Event:
VariableName: d719b2cb-3d3a-4596-a3bc-dad00e67656f
UnicodeNameLength: 3
VariableDataLength: 3724
UnicodeName: dbx
VariableData:
- SignatureType: c1c41626-504c-4092-aca9-41f936934328
SignatureListSize: 3724
SignatureHeaderSize: 0
SignatureSize: 48
Keys:
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 80b4d96931bf0d02fd91a61e19d14f1da452e66db2408ca8604d411f92659f0a
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: f52f83a3fa9cfbd6920f722824dbe4034534d25b8507246b3b957dac6e1bce7a
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: c5d9d8a186e2c82d09afaa2a6f7f2e73870d3e64f72c4e08ef67796a840f0fbd
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 363384d14d1f2e0b7815626484c459ad57a318ef4396266048d058c5a19bbf76
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 1aec84b84b6c65a51220a9be7181965230210d62d6d33c48999c6b295a2b0a06
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: e6ca68e94146629af03f69c2f86e6bef62f930b37c6fbcc878b78df98c0334e5
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: c3a99a460da464a057c3586d83cef5f4ae08b7103979ed8932742df0ed530c66
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 58fb941aef95a25943b3fb5f2510a0df3fe44c58c95e0ab80487297568ab9771
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 5391c3a2fb112102a6aa1edc25ae77e19f5d6f09cd09eeb2509922bfcd5992ea
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: d626157e1d6a718bc124ab8da27cbb65072ca03a7b6b257dbdcbbd60f65ef3d1
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: d063ec28f67eba53f1642dbf7dff33c6a32add869f6013fe162e2c32f1cbe56d
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 29c6eb52b43c3aa18b2cd8ed6ea8607cef3cfae1bafe1165755cf2e614844a44
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 90fbe70e69d633408d3e170c6832dbb2d209e0272527dfb63d49d29572a6f44c
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 075eea060589548ba060b2feed10da3c20c7fe9b17cd026b94e8a683b8115238
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 07e6c6a858646fb1efc67903fe28b116011f2367fe92e6be2b36999eff39d09e
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 09df5f4e511208ec78b96d12d08125fdb603868de39f6f72927852599b659c26
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 0bbb4392daac7ab89b30a4ac657531b97bfaab04f90b0dafe5f9b6eb90a06374
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 0c189339762df336ab3dd006a463df715a39cfb0f492465c600e6c6bd7bd898c
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 0d0dbeca6f29eca06f331a7d72e4884b12097fb348983a2a14a0d73f4f10140f
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 0dc9f3fb99962148c3ca833632758d3ed4fc8d0b0007b95b31e6528f2acd5bfc
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 106faceacfecfd4e303b74f480a08098e2d0802b936f8ec774ce21f31686689c
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 174e3a0b5b43c6a607bbd3404f05341e3dcf396267ce94f8b50e2e23a9da920c
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 18333429ff0562ed9f97033e1148dceee52dbe2e496d5410b5cfd6c864d2d10f
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 2b99cf26422e92fe365fbf4bc30d27086c9ee14b7a6fff44fb2f6b9001699939
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 2bbf2ca7b8f1d91f27ee52b6fb2a5dd049b85a2b9b529c5d6662068104b055f8
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 2c73d93325ba6dcbe589d4a4c63c5b935559ef92fbf050ed50c4e2085206f17d
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 2e70916786a6f773511fa7181fab0f1d70b557c6322ea923b2a8d3b92b51af7d
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 306628fa5477305728ba4a467de7d0387a54f569d3769fce5e75ec89d28d1593
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 3608edbaf5ad0f41a414a1777abf2faf5e670334675ec3995e6935829e0caad2
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 3841d221368d1583d75c0a02e62160394d6c4e0a6760b6f607b90362bc855b02
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 3fce9b9fdf3ef09d5452b0f95ee481c2b7f06d743a737971558e70136ace3e73
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 4397daca839e7f63077cb50c92df43bc2d2fb2a8f59f26fc7a0e4bd4d9751692
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 47cc086127e2069a86e03a6bef2cd410f8c55a6d6bdb362168c31b2ce32a5adf
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 518831fe7382b514d03e15c621228b8ab65479bd0cbfa3c5c1d0f48d9c306135
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 5ae949ea8855eb93e439dbc65bda2e42852c2fdf6789fa146736e3c3410f2b5c
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 6b1d138078e4418aa68deb7bb35e066092cf479eeb8ce4cd12e7d072ccb42f66
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 6c8854478dd559e29351b826c06cb8bfef2b94ad3538358772d193f82ed1ca11
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 6f1428ff71c9db0ed5af1f2e7bbfcbab647cc265ddf5b293cdb626f50a3a785e
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 71f2906fd222497e54a34662ab2497fcc81020770ff51368e9e3d9bfcbfd6375
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 726b3eb654046a30f3f83d9b96ce03f670e9a806d1708a0371e62dc49d2c23c1
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 72e0bd1867cf5d9d56ab158adf3bddbc82bf32a8d8aa1d8c5e2f6df29428d6d8
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 7827af99362cfaf0717dade4b1bfe0438ad171c15addc248b75bf8caa44bb2c5
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 81a8b965bb84d3876b9429a95481cc955318cfaa1412d808c8a33bfd33fff0e4
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 82db3bceb4f60843ce9d97c3d187cd9b5941cd3de8100e586f2bda5637575f67
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 895a9785f617ca1d7ed44fc1a1470b71f3f1223862d9ff9dcc3ae2df92163daf
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 8ad64859f195b5f58dafaa940b6a6167acd67a886e8f469364177221c55945b9
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 8bf434b49e00ccf71502a2cd900865cb01ec3b3da03c35be505fdf7bd563f521
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 8d8ea289cfe70a1c07ab7365cb28ee51edd33cf2506de888fbadd60ebf80481c
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 9998d363c491be16bd74ba10b94d9291001611736fdca643a36664bc0f315a42
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 9e4a69173161682e55fde8fef560eb88ec1ffedcaf04001f66c0caf707b2b734
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: a6b5151f3655d3a2af0d472759796be4a4200e5495a7d869754c4848857408a7
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: a7f32f508d4eb0fead9a087ef94ed1ba0aec5de6f7ef6ff0a62b93bedf5d458d
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: ad6826e1946d26d3eaf3685c88d97d85de3b4dcb3d0ee2ae81c70560d13c5720
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: aeebae3151271273ed95aa2e671139ed31a98567303a332298f83709a9d55aa1
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: afe2030afb7d2cda13f9fa333a02e34f6751afec11b010dbcd441fdf4c4002b3
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: b54f1ee636631fad68058d3b0937031ac1b90ccb17062a391cca68afdbe40d55
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: b8f078d983a24ac433216393883514cd932c33af18e7dd70884c8235f4275736
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: b97a0889059c035ff1d54b6db53b11b9766668d9f955247c028b2837d7a04cd9
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: bc87a668e81966489cb508ee805183c19e6acd24cf17799ca062d2e384da0ea7
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: c409bdac4775add8db92aa22b5b718fb8c94a1462c1fe9a416b95d8a3388c2fc
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: c617c1a8b1ee2a811c28b5a81b4c83d7c98b5b0c27281d610207ebe692c2967f
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: c90f336617b8e7f983975413c997f10b73eb267fd8a10cb9e3bdbfc667abdb8b
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: cb6b858b40d3a098765815b592c1514a49604fafd60819da88d7a76e9778fef7
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: ce3bfabe59d67ce8ac8dfd4a16f7c43ef9c224513fbc655957d735fa29f540ce
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: d8cbeb9735f5672b367e4f96cdc74969615d17074ae96c724d42ce0216f8f3fa
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: e92c22eb3b5642d65c1ec2caf247d2594738eebb7fb3841a44956f59e2b0d1fa
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: fddd6e3d29ea84c7743dad4a1bdbc700b5fec1b391f932409086acc71dd6dbd8
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: fe63a84f782cc9d3fcf2ccf9fc11fbd03760878758d26285ed12669bdc6e6d01
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: fecfb232d12e994b6d485d2c7167728aa5525984ad5ca61e7516221f079a1436
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: ca171d614a8d7e121c93948cd0fe55d39981f9d11aa96e03450a415227c2c65b
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 55b99b0de53dbcfe485aa9c737cf3fb616ef3d91fab599aa7cab19eda763b5ba
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 77dd190fa30d88ff5e3b011a0ae61e6209780c130b535ecb87e6f0888a0b6b2f
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: c83cb13922ad99f560744675dd37cc94dcad5a1fcba6472fee341171d939e884
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 3b0287533e0cc3d0ec1aa823cbf0a941aad8721579d1c499802dd1c3a636b8a9
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 939aeef4f5fa51e23340c3f2e49048ce8872526afdf752c3a7f3a3f2bc9f6049
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 64575bd912789a2e14ad56f6341f52af6bf80cf94400785975e9f04e2d64d745
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 45c7c8ae750acfbb48fc37527d6412dd644daed8913ccd8a24c94d856967df8e
- EventNum: 8
PCRIndex: 7
EventType: EV_SEPARATOR
DigestCount: 1
Digests:
- AlgorithmId: sha256
Digest: 'df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b81119'
EventSize: 4
Event: '00000000'
- EventNum: 9
PCRIndex: 7
EventType: EV_EFI_VARIABLE_AUTHORITY
DigestCount: 1
Digests:
- AlgorithmId: sha256
Digest: '4d4a8e2c74133bbdc01a16eaf2dbb5d575afeb36f5d8dfcf609ae043909e2ee9'
EventSize: 1608
Event:
VariableName: d719b2cb-3d3a-4596-a3bc-dad00e67656f
UnicodeNameLength: 2
VariableDataLength: 1572
UnicodeName: db
VariableData:
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 30820610308203f8a003020102020a6108d3c4000000000004300d06092a864886f70d01010b0500308191310b3009060355040613025553311330110603550408130a57617368696e67746f6e3110300e060355040713075265646d6f6e64311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e313b3039060355040313324d6963726f736f667420436f72706f726174696f6e205468697264205061727479204d61726b6574706c61636520526f6f74301e170d3131303632373231323234355a170d3236303632373231333234355a308181310b3009060355040613025553311330110603550408130a57617368696e67746f6e3110300e060355040713075265646d6f6e64311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e312b3029060355040313224d6963726f736f667420436f72706f726174696f6e2055454649204341203230313130820122300d06092a864886f70d01010105000382010f003082010a0282010100a5086c4cc745096a4b0ca4c0877f06750c43015464e0167f07ed927d0bb273bf0c0ac64a4561a0c5162d96d3f52ba0fb4d499b4180903cb954fde6bcd19dc4a4188a7f418a5c59836832bb8c47c9ee71bc214f9a8a7cff443f8d8f32b22648ae75b5eec94c1e4a197ee4829a1d78774d0cb0bdf60fd316d3bcfa2ba551385df5fbbadb7802dbffec0a1b96d583b81913e9b6c07b407be11f2827c9faef565e1ce67e947ec0f044b27939e5dab2628b4dbf3870e2682414c933a40837d558695ed37cedc1045308e74eb02a876308616f631559eab22b79d70c61678a5bfd5ead877fba86674f71581222042222ce8bef547100ce503558769508ee6ab1a201d50203010001a382017630820172301206092b060104018237150104050203010001302306092b060104018237150204160414f8c16bb77f77534af325371d4ea1267b0f207080301d0603551d0e0416041413adbf4309bd82709c8cd54f316ed522988a1bd4301906092b0601040182371402040c1e0a00530075006200430041300b0603551d0f040403020186300f0603551d130101ff040530030101ff301f0603551d2304183016801445665243e17e5811bfd64e9e2355083b3a226aa8305c0603551d1f045530533051a04fa04d864b687474703a2f2f63726c2e6d6963726f736f66742e636f6d2f706b692f63726c2f70726f64756374732f4d6963436f725468695061724d6172526f6f5f323031302d31302d30352e63726c306006082b0601050507010104543052305006082b060105050730028644687474703a2f2f7777772e6d6963726f736f66742e636f6d2f706b692f63657274732f4d6963436f725468695061724d6172526f6f5f323031302d31302d30352e637274300d06092a864886f70d01010b05000382020100350842ff30cccef7760cad1068583529463276277cef124127421b4aaa6d813848591355f3e95834a6160b82aa5dad82da808341068fb41df203b9f31a5d1bf15090f9b3558442281c20bdb2ae5114c5c0ac9795211c90db0ffc779e95739188cabdbd52b905500ddf579ea061ed0de56d25d9400f1740c8cea34ac24daf9a121d08548fbdc7bcb92b3d492b1f32fc6a21694f9bc87e4234fc3606178b8f2040c0b39a257527cdc903a3f65dd1e736547ab950b5d312d107bfbb74dfdc1e8f80d5ed18f42f14166b2fde668cb023e5c784d8edeac13382ad564b182df1689507cdcff072f0aebbdd8685982c214c332bf00f4af06887b592553275a16a826a3ca32511a4edadd704aecbd84059a084d1954c6291221a741d8c3d470e44a6e4b09b3435b1fab653a82c81eca40571c89db8bae81b4466e447540e8e567fb39f1698b286d0683e9023b52f5e8f50858dc68d825f41a1f42e0de099d26c75e4b669b52186fa07d1f6e24dd1daad2c77531e253237c76c52729586b0f135616a19f5b23b815056a6322dfea289f94286271855a182ca5a9bf830985414a64796252fc826e441941a5c023fe596e3855b3c3e3fbb47167255e22522b1d97be703062aa3f71e9046c3000dd61989e30e352762037115a6efd027a0a0593760f83894b8e07870f8ba4c868794f6e0ae0245ee65c2b6a37e69167507929bf5a6bc598358
- EventNum: 23
PCRIndex: 7
EventType: EV_EFI_VARIABLE_AUTHORITY
DigestCount: 1
Digests:
- AlgorithmId: sha256
Digest: '30bf464ee37f1bc0c7b1a5bf25eced275347c3ab1492d5623ae9f7663be07dd5'
EventSize: 1551
Event:
VariableName: d719b2cb-3d3a-4596-a3bc-dad00e67656f
UnicodeNameLength: 2
VariableDataLength: 1515
UnicodeName: db
VariableData:
- SignatureOwner: 77fa9abd-0359-4d32-bd60-28f4e78f784b
SignatureData: 308205d7308203bfa003020102020a61077656000000000008300d06092a864886f70d01010b0500308188310b3009060355040613025553311330110603550408130a57617368696e67746f6e3110300e060355040713075265646d6f6e64311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e31323030060355040313294d6963726f736f667420526f6f7420436572746966696361746520417574686f726974792032303130301e170d3131313031393138343134325a170d3236313031393138353134325a308184310b3009060355040613025553311330110603550408130a57617368696e67746f6e3110300e060355040713075265646d6f6e64311e301c060355040a13154d6963726f736f667420436f72706f726174696f6e312e302c060355040313254d6963726f736f66742057696e646f77732050726f64756374696f6e20504341203230313130820122300d06092a864886f70d01010105000382010f003082010a0282010100dd0cbba2e42e09e3e7c5f79669bc0021bd693333efad04cb5480ee0683bbc52084d9f7d28bf338b0aba4ad2d7c627905ffe34a3f04352070e3c4e76be09cc03675e98a31dd8d70e5dc37b5744696285b8760232cbfdc47a567f751279e72eb07a6c9b91e3b53357ce5d3ec27b9871cfeb9c923096fa84691c16e963c41d3cba33f5d026a4dec691f25285c36fffd43150a94e019b4cfdfc212e2c25b27ee2778308b5b2a096b22895360162cc0681d53baec49f39d618c85680973445d7da2542bdd79f715cf355d6c1c2b5ccebc9c238b6f6eb526d93613c34fd627aeb9323b41922ce1c7cd77e8aa544ef75c0b048765b44318a8b2e06d1977ec5a24fa48030203010001a38201433082013f301006092b06010401823715010403020100301d0603551d0e04160414a92902398e16c49778cd90f99e4f9ae17c55af53301906092b0601040182371402040c1e0a00530075006200430041300b0603551d0f040403020186300f0603551d130101ff040530030101ff301f0603551d23041830168014d5f656cb8fe8a25c6268d13d94905bd7ce9a18c430560603551d1f044f304d304ba049a0478645687474703a2f2f63726c2e6d6963726f736f66742e636f6d2f706b692f63726c2f70726f64756374732f4d6963526f6f4365724175745f323031302d30362d32332e63726c305a06082b06010505070101044e304c304a06082b06010505073002863e687474703a2f2f7777772e6d6963726f736f66742e636f6d2f706b692f63657274732f4d6963526f6f4365724175745f323031302d30362d32332e637274300d06092a864886f70d01010b0500038202010014fc7c7151a579c26eb2ef393ebc3c520f6e2b3f101373fea868d048a6344d8a960526ee3146906179d6ff382e456bf4c0e528b8da1d8f8adb09d71ac74c0a36666a8cec1bd70490a81817a49bb9e240323676c4c15ac6bfe404c0ea16d3acc368ef62acdd546c503058a6eb7cfe94a74e8ef4ec7c867357c2522173345af3a38a56c804da0709edf88be3cef47e8eaef0f60b8a08fb3fc91d727f53b8ebbe63e0e33d3165b081e5f2accd16a49f3da8b19bc242d090845f541dff89eaba1d47906fb0734e419f409f5fe5a12ab21191738a2128f0cede73395f3eab5c60ecdf0310a8d309e9f4f69685b67f51886647198da2b0123d812a680577bb914c627bb6c107c7ba7a8734030e4b627a99e9cafcce4a37c92da4577c1cfe3ddcb80f5afad6c4b30285023aeab3d96ee4692137de81d1f675190567d393575e291b39c8ee2de1cde445735bd0d2ce7aab1619824658d05e9d81b367af6c35f2bce53f24e235a20a7506f6185699d4782cd1051bebd088019daa10f105dfba7e2c63b7069b2321c4f9786ce2581706362b911203cca4d9f22dbaf9949d40ed1845f1ce8a5c6b3eab03d370182a0a6ae05f47d1d5630a32f2afd7361f2a705ae5425908714b57ba7e8381f0213cf41cc1c5b990930e88459386e9b12099be98cbc595a45d62d6a0630820bd7510777d3df345b99f979fcb57806f33a904cf77a4621c597e
pcrs:
sha256:
7: 0x15391ffc742d79dff13c11f33b4f11d116d9ba40b7290747ab0fb0b2e9404c9e
Записываются многочисленные события EV_EFI_VARIABLE_DRIVER_CONFIG, они нужны, чтобы зафиксировать, в каком состоянии в настоящее время находится конфигурация безопасной загрузки. Логируются все следующие ключи: ключ владельца платформы (PK), ключи для обмена ключами (KEK), база разрешённых сертификатов (DB) и база запрещённых сертификатов (DBX) — эта информация нужна для удалённого подтверждения подлинности.
Наконец, после события EV_SEPARATOR всякий раз записывается событие EV_EFI_VARIABLE_AUTHORITY и проверяется драйвер EFI или загрузочное приложение EFI. Здесь содержится подпись того образа, с которым производится сравнение (если применимо).
В PCR 4 записывается событие EV_EFI_BOOT_SERVICES_APPLICATION для каждого выполняемого загрузочного приложения EFI.
# Фрагмент лога с измеряемой загрузкой Windows (PCR4, только одиночные события)
# Сконвертировано из двоичного формата при помощи tpm2-tools
# > tpm2_eventlog --eventlog-format=2 file.log
---
version: 2
events:
- EventNum: 24
PCRIndex: 4
EventType: EV_EFI_BOOT_SERVICES_APPLICATION
DigestCount: 1
Digests:
- AlgorithmId: sha256
Digest: '2e80fa5623ea039ceb999558c98f82e261c03ab56cd5d40d276b2ec69e5fcb3b'
EventSize: 188
Event:
ImageLocationInMemory: 0x82580018
ImageLengthInMemory: 2830752
ImageLinkTimeAddress: 0x10000000
LengthOfDevicePath: 156
DevicePath: 'PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0)/NVMe(0x1,00-25-38-B9-31-A4-FE-FD)/HD(1,GPT,d022bdc9-8147-4835-812a-8f0fa6365b22,0x800,0x32000)/\EFI\Microsoft\Boot\bootmgfw.efi'
Логи измеряемой загрузки
Приведённые выше выдержки логов взяты из полноразмерного лога измеряемой загрузки . В этом посте он сильно усечён.
Также эта информация помогает выявить, не была ли Windows загружена по цепочке с участием другого загрузчика, так как в таком случае имелось бы множество событий EV_EFI_BOOT_SERVICES_APPLICATION.
Античитерские движки также позволяют определить средствами TPM, не выполняется ли Windows через гипервизор. Если TPM хоста передаётся на гостевую машину, то в логах TPM либо обнаружится второе событие загрузки, либо одного такого события будет не хватать, а EV_EFI_BOOT_SERVICES_APPLICATION укажет на иное приложение EFI, которое не прошло валидацию через KEK от Microsoft (это видно по EV_EFI_VARIABLE_AUTHORITY). Если TPM виртуализован (vTPM), то EKpub и EKcert не пройдут валидацию, поскольку у EK не будет подписи AMD или Intel.
Наконец, Windows хранит в специфичных для операционной системы банках PCR некоторую проприетарную информацию. Особенно нас интересует PCR14, где ведётся учёт публичных ключей тех источников загрузок (boot authorities), которые Windows принимает во внимание при валидации драйверов уровня ядра. Таким образом провайдер античитерских механизмов может убедиться, что в системе не развёрнута лицензионная политика CustomKernelSigners.
В следующей таблице указано, какая именно информация логируется в каждом из регистров PCRпод Windows. Обратите внимание: PCRот 0 до 7 зарезервированы для прошивки, в то время как PCR от 8 до 15 могут варьироваться в зависимости от операционной системы/загрузчика. Регистр PCR 16 обычно отводится под отладку, а регистр PCR 23 — под поддержку приложений. Подробнееобэтомсм. вTCG PC Client Platform Firmware Profile Specification.
PCR | Описание |
PCR 0 | Исполняемый код прошивки ядра системы |
PCR 1 | Данные прошивки ядра системы |
PCR 2 | Расширенный или подключаемый исполняемый код |
PCR 3 | Расширенные или подключаемые данные прошивки |
PCR 4 | Менеджер загрузки |
PCR 5 | GPT/таблица разделов |
PCR 6 | Возобновление работы после событий состояния электропитания S4 и S5 |
PCR 7 | Состояние безопасной загрузки |
PCR 8 | Инициализируется в 0 без расширения (зарезервирован на будущее) |
PCR 9 | Инициализируется в 0 без расширения (зарезервирован на будущее) |
PCR 10 | Инициализируется в 0 без расширения (зарезервирован на будущее) |
PCR 11 | Контроль доступа к BitLocker |
PCR 12 | События, связанные с данными, и сильно варьирующиеся события |
PCR 13 | Подробности о загрузочном модуле |
PCR 14 | Источники загрузок |
В Windows можно получить доступ как к актуальным логам событий TPM, так и к их истории (информация в двоичном формате), задав путь %WINDIR%\Logs\MeasuredBoot\.
В Linux информация в банках PCR 8-15 может отличаться в зависимости от того, каким загрузчиком вы пользуетесь. Группа Linux Userspace API Group публикует полезный реестр PCR. К актуальным логам событий TPM можно обратиться, задав путь /sys/kernel/security/tpm0/binary_bios_measurements.
Удалённое подтверждение подлинности
Осталось достроить последний кусочек паззла, чтобы понять, как правильно построить аудит загрузочной среды. Поговорим, как извлекать значения банков PCR таким образом, чтобы можно было убедиться, что они не изменены пользователем. Это можно сделать предусмотренной в TPM командой TPM2_Quote с указанием ключа подтверждения подлинности (AK).
Организуя сложную хореографию криптографических операций (описанных в этом черновом руководящем документе от TCG), провайдер античитерских технологий может верифицировать подлинность логов событий TPM, а также удостовериться, что ваш EKpub действительно привязан к тому самому экземпляру fTPM, при помощи которого измерялись эти события. Если после проверки всех этих логов событий TPM провайдер приходит к выводу, что ваше окружение имеет допустимую конфигурацию для подключения к защищённому игровому серверу, то может выдать вам для такого соединения одноразовый токен (криптографически привязанный к вашему ключу EK).
Обычно провайдер в таком случае удостоверяется, что ваши DB и DBX являются актуальными, и что никакие дополнительные источники загрузок не конфигурировались или не использовались в ходе загрузки Windows для валидации самоподписанных драйверов уровня ядра.
Если такое подтверждение подлинности правильно реализовано на стороне провайдера античитерских технологий и предохраняет вас от любой обширной, но пока не выявленной уязвимости в fTPM AMD или Intel, то это препятствие будет для читеров практически непреодолимым. Притом, что это не остановит читерства как такового (последуют дальнейшие эксплойты уязвимостей в операционной системе, игре или античитерском движке), так удастся, по крайней мере, предохраниться от любых эксплойтов до загрузки. Также такая практика исключительно эффективно предотвращает попытки обойти бан.
Что всё это означает с точки зрения пользователей Linux
Ничего не меняется, если речь идёт только о предотвращении читерства с использованием компонентов уровня ядра, используемых только в Windows. Если провайдер античитерских технологий решает не поддерживать Linux, особо ничего не поделаешь. Так было раньше, так ситуация обстоит и сейчас.
Единственное, что действительно наблюдается на практике — провайдеры античитерских технологий закрывают доступ к игре, если обнаруживают, что вы загружали Windows по цепочке из GRUB2, systemd-boot или любого другого загрузчика для Linux. Это слишком сурово, поскольку через PCR14 всё равно можно было бы убедиться, что загружены были только такие драйверы уровня ядра, которые подписаны Microsoft. Если вы готовы помучиться, то можете загрузить Windows непосредственно из вашего UEFI и в принципе избежать этой проблемы.
Если вы используете systemd-boot, то лёгким выходом из такой ситуации будет добавить опцию reboot-for-bitlocker yes в файле loader.conf. К сожалению, в GRUB2 нет никаких команд, при помощи которых можно было бы устанавливать переменную UEFI BootNext, которая позволяла бы GRUB2 просто перезагрузить компьютер под Windows, а не прибегать ни к каким цепочечным загрузкам.
Правда, вам придётся сконфигурировать установленный у вас дистрибутив Linux так, чтобы в нём поддерживалась безопасная загрузка. Притом, что некоторые дистрибутивы поставляются с shim, я с ним работать не рекомендую, поскольку при обращении с ним приходится управлять ещё одной прослойкой ключей (ключи владельца машины), а это может быть проблематично, если в вашей системе применяются небесплатные модули ядра. Возможно, такая проблема возникает не со всеми дистрибутивами, но она определённо наблюдается в openSUSE при работе на аппаратном обеспечении Nvidia.
По моему опыту оказалось значительно проще завести собственный ключ владельца платформы (PK) при помощи sbctl и подписывать загрузочные образы хуками — и управлять этим в долгосрочной перспективе тоже проще. Придётся чуть больше повозиться с настройкой всех компонентов, но в дальнейшем всё идёт гладко. Не приходится заводить новый MOK при каждом обновлении ядра. Установил и забыл. В вики по Arch Linux есть специальный раздел о том, как сконфигурировать sbctl. Если вы работаете не с Arch, то придётся приспособить эту процедуру к специфике вашего дистрибутива.
Возможно, в будущем мы увидим, как в античитерских движках для Linux потребуется доступ к TPM, чтобы читать EKpub и EKcert. В данном случае хорошо, что всё это можно целиком сделать в пользовательском пространстве, обладая правами обычного пользователя, если только ваш пользователь является членом группы tss.
Здесь также важно отметить, что обновления к базам данных разрешённых подписей (DB) и запрещённых подписей (DBX) от Microsoft распространяются в Linux Foundation через Linux Vendor Firmware Service.
Заключение
Безопасная загрузка и правильная реализация удалённого подтверждения подлинности с применением TPM очень эффективно позволят сократить количество читеров, не пытающихся жульничать на аппаратном уровне. Кроме того, станет значительно сложнее и дороже уклоняться от бана. Кроме того, подтверждение подлинности через TPM целиком осуществимо в пользовательском пространстве и никак не вредит вашей приватности.
Читеров меньше, целостность всей онлайновой среды соблюдается лучше — всё это, в конечном счёте, на пользу геймерам. Я, например, полностью отказался от большинства онлайновых многопользовательских игр из-за беспардонного жульничества и токсичности этих сообществ. Надеюсь, описанные здесь меры помогут потеснить читеров. Цифры от Riot определённо на это указывают (хотя, мне и совершенно неинтересно играть в их игры).
Защита целостности кода на уровне гипервизора (HVCI)
Кроме того, провайдеры античитерских технологий требуют, чтобы игроки включали защиту целостности кода на уровне гипервизора (HVCI).
Эта функция безопасности обеспечивает усиленную защиту от вредоносного ПО и читерского софта, пытающегося эксплуатировать ядро Windows. Дополнительная польза от этой функции в том, что в таком режиме лучше соблюдаются правила блокировки драйверов от Microsoft, что, в свою очередь, не позволяет пользователям устанавливать драйверы с известными уязвимостями, вредоносным поведением или такими вариантами поведения, которые пытаются обойти механизмы безопасности Windows.
Поскольку, по-моему, единственным верным средством от читерства является поведенческий анализ на стороне сервера, особенно печально, что в настоящее время нет средств, позволяющих легко его реализовать — или же расход вычислительных мощностей становится запредельным для разработчика. Кроме того, на данный момент этот механизм не слишком точен.
Для борьбы с читерством в онлайновых играх разработчики должны принимать целый ряд мер, которые в совокупности сужают поле возможностей для читеров. Единого решения этой проблемы не существует, но, если применять эшелонированную оборону, то фактор влияния жульничества на игры можно существенно купировать.