Shredinger ishonchli yuklab olish. Intel Boot Guard

Shredinger ishonchli yuklab olish. Intel Boot Guard
Biz yana past darajaga tushishni va x86-ga mos keladigan kompyuter platformalari uchun dasturiy ta'minot xavfsizligi haqida gapirishni taklif qilamiz. Bu safar tadqiqotning asosiy tarkibiy qismi Intel Boot Guard (Intel BIOS Guard bilan adashtirmaslik kerak!) - kompyuter tizimi sotuvchisi ishlab chiqarish bosqichida doimiy ravishda yoqishi yoki o'chirib qo'yishi mumkin bo'lgan apparat tomonidan qo'llab-quvvatlanadigan ishonchli BIOS yuklash texnologiyasi. Xo'sh, tadqiqot retsepti bizga allaqachon tanish: teskari muhandislik yordamida ushbu texnologiyani amalga oshirishni ingichka bo'laklarga bo'ling, uning arxitekturasini tasvirlab bering, uni hujjatsiz tafsilotlar bilan to'ldiring, tatib ko'rish va aralashtirish uchun hujum vektorlari bilan ziravorlang. Keling, bir nechta ishlab chiqaruvchilarning ishlab chiqarishida yillar davomida klonlangan xato potentsial tajovuzkorga ushbu texnologiyadan tizimda yashirin rootkit yaratish uchun foydalanishga imkon berishi haqidagi hikoyaga yoqilg'i qo'shaylik (hatto dasturchi bilan ham).

Aytgancha, maqola konferentsiyadan olingan "Rootkitlardan ehtiyot bo'lish: Intel BootGuard" ma'ruzalariga asoslanadi. ZeroNights 2016 va 29-uchrashuv DefCon Rossiya (ikkala taqdimot shu yerda).

Intel 64 arxitekturasiga ega kompyuter platformasi uchun proshivka

Birinchidan, savolga javob beraylik: Intel 64 arxitekturasiga ega zamonaviy kompyuter platformasining dasturiy ta'minoti nima? Albatta, UEFI BIOS. Ammo bunday javob aniq bo'lmaydi. Keling, ushbu arxitekturaning ish stoli (noutbuk) versiyasini ko'rsatadigan rasmni ko'rib chiqaylik.

Shredinger ishonchli yuklab olish. Intel Boot Guard
Buning asosi havola:

  • Protsessor (CPU, markaziy protsessor), u asosiy yadrolarga qo'shimcha ravishda o'rnatilgan grafik yadroga (barcha modellarda emas) va xotira boshqaruvchisiga (IMC, Integrated Memory Controller) ega;
  • Chipset (PCH, Platform Controller Hub), periferik qurilmalar bilan o'zaro ishlash va quyi tizimlarni boshqarish uchun turli kontrollerlarni o'z ichiga oladi. Ular orasida taniqli Intel Management Engine (ME) bor, u ham proshivkaga ega (Intel ME proshivka).

Noutbuklar, yuqoridagilarga qo'shimcha ravishda, quvvat quyi tizimi, sensorli panel, klaviatura, Fn tugmachalari (ekran yorqinligi, ovoz balandligi) ishlashi uchun javobgar bo'lgan o'rnatilgan kontrollerni (ACPI EC, Advanced Control and Power Interface Embedded Controller) talab qiladi. , klaviatura yoritgichi va boshqalar ) va boshqa narsalar. Va u ham o'z proshivkasiga ega.

Shunday qilib, yuqoridagi proshivkaning umumiy dasturi umumiy SPI flesh-xotirasida saqlanadigan kompyuter platformasi (tizim proshivka) proshivkasidir. Ushbu xotira foydalanuvchilari uning qayerda ekanligi haqida chalkashmasliklari uchun ushbu xotira tarkibi quyidagi hududlarga bo'lingan (rasmda ko'rsatilganidek):

  • UEFI BIOS;
  • ACPI EC proshivka (Skylake protsessor mikroarxitekturasi bilan alohida mintaqa paydo bo'ldi (2015), lekin tabiatda biz hali undan foydalanish misollarini ko'rmadik, shuning uchun o'rnatilgan kontrollerning proshivkasi hali ham UEFI BIOS-ga kiritilgan) ;
  • Intel ME proshivka;
  • o'rnatilgan GbE (Gigabit Ethernet) tarmoq adapterining konfiguratsiyasi (MAC manzili va boshqalar);
  • Flash deskriptorlari flesh-xotiraning asosiy hududi boʻlib, unda boshqa hududlarga koʻrsatgichlar hamda ularga kirish ruxsatnomalari mavjud.

Shredinger ishonchli yuklab olish. Intel Boot Guard
Ushbu xotiraga kirish mumkin bo'lgan chipsetga o'rnatilgan SPI boshqaruvchisi bo'lgan SPI avtobus ustasi mintaqalarga kirishni cheklash uchun javobgardir (belgilangan ruxsatnomalarga muvofiq). Agar ruxsatlar Intel tomonidan tavsiya etilgan (xavfsizlik nuqtai nazaridan) qiymatlarga o'rnatilgan bo'lsa, har bir SPI flash foydalanuvchisi faqat o'z mintaqasiga to'liq kirish (o'qish/yozish) huquqiga ega. Qolganlari esa faqat o'qish uchun mo'ljallangan yoki kirish imkonsiz. Ma'lum fakt: ko'pgina tizimlarda protsessor UEFI BIOS va GbE-ga to'liq kirish huquqiga ega, faqat flesh-deskriptorlarni o'qishga kirish huquqiga ega va Intel ME hududiga umuman kirish imkoni yo'q. Nega hammada emas, ko'pchilikda? Tavsiya etilgan narsa talab qilinmaydi. Keyinchalik maqolada batafsil aytib beramiz.

Kompyuter platformasi proshivkasini modifikatsiyadan himoya qilish mexanizmlari

Shubhasiz, kompyuter platformasining proshivkalari mumkin bo'lgan murosasizlikdan himoyalangan bo'lishi kerak, bu esa potentsial tajovuzkorga o'z o'rnini egallashga imkon beradi (OS yangilanishi/qayta o'rnatilishi), o'z kodini eng imtiyozli rejimlarda bajarishi va hokazo. Va SPI flesh-xotira hududlariga kirishni cheklash, albatta, etarli emas. Shuning uchun mikrodasturni o'zgartirishlardan himoya qilish uchun har bir operatsion muhitga xos bo'lgan turli mexanizmlar qo'llaniladi.

Shunday qilib, Intel ME proshivkasi yaxlitlik va haqiqiylikni nazorat qilish uchun imzolanadi va har safar ME UMA xotirasiga yuklanganida ME kontrolleri tomonidan tekshiriladi. Ushbu tekshirish jarayoni biz tomonidan allaqachon muhokama qilingan maqolalar, Intel ME quyi tizimiga bag'ishlangan.

Va ACPI EC proshivka, qoida tariqasida, faqat yaxlitlik uchun tekshiriladi. Biroq, bu ikkilik UEFI BIOS-ga kiritilganligi sababli, u deyarli har doim UEFI BIOS ishlatadigan himoya mexanizmlariga bo'ysunadi. Keling, ular haqida gapiraylik.

Ushbu mexanizmlarni ikki toifaga bo'lish mumkin.

UEFI BIOS hududida yozish himoyasi

  1. SPI flesh-xotirasi tarkibini yozishdan himoya qiluvchi jumper bilan jismoniy himoya qilish;
  2. PRx chipset registrlari yordamida CPU manzil maydonida UEFI BIOS mintaqasining proektsiyasini himoya qilish;
  3. Chipset registrlarida BIOS_WE/BLE va SMM_BWP bitlarini o'rnatish orqali mos keladigan SMI uzilishini yaratish va qayta ishlash orqali UEFI BIOS mintaqasiga yozishga urinishlarni bloklash;
  4. Ushbu himoyaning yanada rivojlangan versiyasi Intel BIOS Guard (PFAT) hisoblanadi.

Ushbu mexanizmlarga qo'shimcha ravishda, sotuvchilar o'zlarining xavfsizlik choralarini ishlab chiqishlari va amalga oshirishlari mumkin (masalan, UEFI BIOS yangilanishlari bilan kapsulalarni imzolash).

Shuni ta'kidlash kerakki, ma'lum bir tizimda (sotuvchiga qarab) yuqorida ko'rsatilgan himoya mexanizmlarining hammasi ham qo'llanilmasligi mumkin, ular umuman qo'llanilmasligi yoki zaif tarzda amalga oshirilishi mumkin. Ushbu mexanizmlar va ularni amalga oshirish bilan bog'liq vaziyat haqida ko'proq o'qishingiz mumkin Ushbu maqola. Qiziqqanlar uchun UEFI BIOS xavfsizligi bo'yicha barcha maqolalar seriyasini o'qishni tavsiya qilamiz CodeRush.

UEFI BIOS autentifikatsiyasi

Ishonchli yuklash texnologiyalari haqida gapirganda, aqlga kelgan birinchi narsa Secure Boot. Biroq, arxitektura nuqtai nazaridan, u proshivkaning o'zi emas, balki UEFI BIOS-ga (drayvlar, yuklash moslamalari va boshqalar) tashqi komponentlarning haqiqiyligini tekshirish uchun mo'ljallangan.

Shuning uchun Intel, Bay Trail mikroarxitekturasi (2012) bo'lgan SoC-larda yuqorida aytib o'tilgan Secure Boot texnologiyasi bilan hech qanday umumiylikga ega bo'lmagan o'chirilgan Secure Boot (Verified Boot) uskunasini amalga oshirdi. Keyinchalik (2013) bu mexanizm takomillashtirildi va Haswell mikroarxitekturasiga ega ish stoli kompyuterlari uchun Intel Boot Guard nomi ostida chiqarildi.

Intel Boot Guard-ni tavsiflashdan oldin, keling, Intel 64 arxitekturasidagi ijro muhitlarini ko'rib chiqaylik, ular birgalikda ushbu ishonchli yuklash texnologiyasi uchun ishonchning ildizlari hisoblanadi.

Intel CPU

Cap protsessor Intel 64 arxitekturasida asosiy ijro muhiti ekanligini ko'rsatadi.Nega bu ishonchning ildizi? Ma'lum bo'lishicha, uni shunday qiladigan narsa quyidagi elementlarga ega:

  • Microcode ROM - bu mikrokodni saqlash uchun uchuvchan bo'lmagan, qayta yozilmaydigan xotira. Mikrokod eng oddiy ko'rsatmalar yordamida protsessor buyruqlar tizimini amalga oshirishdir, deb ishoniladi. Mikrokodda ham sodir bo'ladi xatolar. Shunday qilib, BIOS-da siz mikrokod yangilanishlari bilan ikkilik fayllarni topishingiz mumkin (yuklash paytida ustiga qo'yilgan, chunki ROMni qayta yozish mumkin emas). Ushbu ikkilik fayllarning mazmuni shifrlangan bo'lib, bu tahlilni sezilarli darajada murakkablashtiradi (shuning uchun mikrokodning o'ziga xos tarkibi faqat uni ishlab chiquvchilarga ma'lum) va butunlik va haqiqiylikni nazorat qilish uchun imzolanadi;
  • mikrokod yangilanishlari tarkibini shifrlash uchun AES kaliti;
  • mikrokod yangilanishlarining imzosini tekshirish uchun foydalaniladigan RSA ochiq kalitining xeshi;
  • RSA ochiq kalit xeshi, Intel tomonidan ishlab chiqilgan ACM (Authenticated Code Module) kod modullarining imzosini tekshiradi, protsessor BIOS-ni ishga tushirishdan oldin (salom mikrokod) yoki uning ishlashi paytida, muayyan hodisalar sodir bo'lganda ishga tushirishi mumkin.

Intel ME

Bizning blogimiz ushbu quyi tizimga bag'ishlangan edi две maqolalar. Eslatib o'tamiz, ushbu bajariladigan muhit chipsetga o'rnatilgan mikrokontrollerga asoslangan va tizimda eng yashirin va imtiyozli hisoblanadi.

Maxfiyligiga qaramay, Intel ME ham ishonchning ildizidir, chunki u quyidagilarga ega:

  • ME ROM - boshlang'ich kodini, shuningdek, Intel ME mikrodasturining imzosini tasdiqlovchi RSA ochiq kalitining SHA256 xeshini o'z ichiga olgan o'zgaruvchan, qayta yozilmaydigan xotira (yangilash usuli taqdim etilmaydi);
  • Maxfiy ma'lumotlarni saqlash uchun AES kaliti;
  • ba'zi ma'lumotlarni, shu jumladan kompyuter tizimining sotuvchisi tomonidan belgilangan ma'lumotlarni doimiy saqlash uchun chipsetga integratsiyalangan sigortalar to'plamiga (FPFs, Field Programmable Fuses) kirish.

Intel Boot Guard 1.x

Kichik rad etish. Ushbu maqolada biz foydalanadigan Intel Boot Guard texnologiyasi versiya raqamlari ixtiyoriydir va Intelning ichki hujjatlarida ishlatiladigan raqamlash bilan hech qanday aloqasi bo'lmasligi mumkin. Bundan tashqari, ushbu texnologiyani amalga oshirish bo'yicha bu erda keltirilgan ma'lumotlar teskari muhandislik jarayonida olingan va Intel Boot Guard spetsifikatsiyasi bilan solishtirganda noaniqliklarni o'z ichiga olishi mumkin, bu hech qachon nashr etilishi dargumon.

Shunday qilib, Intel Boot Guard (BG) apparat tomonidan qo'llab-quvvatlanadigan UEFI BIOS autentifikatsiyani tekshirish texnologiyasidir. Kitobdagi qisqacha tavsifiga ko'ra [Platformaga o'rnatilgan xavfsizlik texnologiyasi oshkor bo'ldi, butunlik bilan yuklash yoki yuklanmagan bo'lim], u ishonchli yuklash zanjiri sifatida ishlaydi. Va undagi birinchi havola protsessor ichidagi yuklash kodi (mikrokod) bo'lib, u RESET hodisasi tomonidan ishga tushiriladi (BIOS-dagi RESET vektori bilan adashtirmaslik kerak!). Protsessor SPI flesh-xotirasida Intel (Intel BG startup ACM) tomonidan ishlab chiqilgan va imzolangan kod modulini topadi, uni keshiga yuklaydi va tekshiradi (yuqorida protsessorda ACMni tasdiqlovchi ochiq kalit xeshi borligi yuqorida qayd etilgan edi) imzo) va boshlanadi.

Shredinger ishonchli yuklab olish. Intel Boot Guard

Ushbu kod moduli UEFI BIOS ning kichik boshlang'ich qismini - Initial Boot Block (IBB) ni tekshirish uchun javobgardir, bu esa o'z navbatida UEFI BIOS-ning asosiy qismini tekshirish uchun funksionallikni o'z ichiga oladi. Shunday qilib, Intel BG OSni yuklashdan oldin BIOS-ning haqiqiyligini tekshirish imkonini beradi (bu Secure Boot texnologiyasi nazorati ostida amalga oshirilishi mumkin).

Intel BG texnologiyasi ikkita ish rejimini ta'minlaydi (va biri boshqasiga xalaqit bermaydi, ya'ni ikkala rejim ham tizimda yoqilishi yoki ikkalasi ham o'chirilishi mumkin).

O'lchangan yuklash

Measured Boot (MB) rejimida har bir yuklash komponenti (CPU yuklash ROMidan boshlab) TPM (Ishonchli platforma moduli) imkoniyatlaridan foydalangan holda keyingisini “o‘lchaydi”. Bilmaganlar uchun tushuntirib beray.

TPMda PCR (Platforma konfiguratsiya registrlari) mavjud bo'lib, ularda xeshlash jarayonining natijasi quyidagi formula bo'yicha yoziladi:

Shredinger ishonchli yuklab olish. Intel Boot Guard

Bular. joriy PCR qiymati avvalgisiga bog'liq va bu registrlar faqat tizim RESET qilinganida qayta o'rnatiladi.

Shunday qilib, MB rejimida, bir vaqtning o'zida, PCRlar "o'lchangan" kod yoki ma'lumotlarning noyob (xeshlash operatsiyasi imkoniyatlari doirasida) identifikatorini aks ettiradi. PCR qiymatlari ba'zi ma'lumotlarni shifrlash (TPM_Seal) operatsiyalarida ishlatilishi mumkin. Shundan so'ng, ularning shifrini ochish (TPM_Unseal) faqat yuklash natijasida PCR qiymatlari o'zgarmagan taqdirdagina mumkin bo'ladi (ya'ni, biron bir "o'lchangan" komponent o'zgartirilmagan).

Tasdiqlangan yuklash

UEFI BIOS-ni o'zgartirishni yoqtiradiganlar uchun eng yomon narsa bu Verified Boot (VB) rejimi bo'lib, unda har bir yuklash komponenti keyingisining yaxlitligi va haqiqiyligini kriptografik tarzda tekshiradi. Va tekshirish xatosi bo'lsa, (biri) sodir bo'ladi:

  • 1 daqiqadan 30 minutgacha bo'lgan vaqt tugashi bilan o'chirish (foydalanuvchi kompyuteri nima uchun ishga tushmayotganini tushunishga vaqt topadi va iloji bo'lsa, BIOS-ni qayta tiklashga harakat qiladi);
  • zudlik bilan o'chirish (foydalanuvchi hech narsani tushunishga vaqt topa olmasligi uchun);
  • xotirjam ifoda bilan ishlashni davom ettirish (xavfsizlik uchun vaqt yo'q bo'lganda, chunki muhimroq ishlar bor).

Harakatni tanlash, kompyuter platformasi sotuvchisi tomonidan maxsus mo'ljallangan saqlash - chipset sigortalarida (FPF) doimiy ravishda qayd etilgan Intel BG-ning belgilangan konfiguratsiyasiga bog'liq (ya'ni, ijro siyosati deb ataladi). Bu haqda keyinroq batafsilroq to‘xtalamiz.

Konfiguratsiyaga qo'shimcha ravishda, sotuvchi ikkita RSA 2048 kalitini ishlab chiqaradi va ikkita ma'lumotlar tuzilmasini yaratadi (rasmda ko'rsatilgan):

  1. Sotuvchining asosiy manifesti (KEYM, OEM Root Key Manifest), unda ushbu manifestning SVN (Xavfsizlik versiya raqami), keyingi manifestning ochiq kalitining SHA256 xeshi, RSA ochiq kaliti (yaʼni, umumiy kalitning umumiy qismi) mavjud. sotuvchining asosiy kaliti) ushbu manifestning imzosini va imzoning o'zini tekshirish uchun;
  2. IBB manifesti (IBBM, Initial Boot Block Manifest), unda ushbu manifestning SVN, IBB ning SHA256 xeshi, ushbu manifest imzosini tekshirish uchun ochiq kalit va imzoning o‘zi mavjud.

OEM Root Key ochiq kalitining SHA256 xeshi Intel BG konfiguratsiyasi kabi doimiy ravishda chipset sigortalarida (FPF) qayd etiladi. Agar Intel BG konfiguratsiyasi ushbu texnologiyani kiritishni nazarda tutsa, bundan buyon faqat OEM Root Key shaxsiy qismining egasi ushbu tizimdagi BIOS-ni yangilashi mumkin (ya'ni, ushbu manifestlarni qayta hisoblash imkoniyatiga ega), ya'ni. sotuvchi.

Shredinger ishonchli yuklab olish. Intel Boot Guard

Rasmga qaraganingizda, bunday uzoq tekshirish zanjiriga ehtiyoj borligiga shubhalar darhol paydo bo'ladi - ular bitta manifestdan foydalanishlari mumkin edi. Nima uchun narsalarni murakkablashtirish kerak?

Aslida, Intel shunday qilib sotuvchiga o'z mahsulotlarining turli qatorlari uchun turli xil IBB kalitlaridan foydalanish imkoniyatini beradi va bitta asosiy kalit sifatida. Agar IBB kalitining shaxsiy qismi (ikkinchi manifest imzolangan) sizib chiqsa, hodisa faqat bitta mahsulot qatoriga ta'sir qiladi va faqat sotuvchi yangi juftlikni yaratmaguncha va qayta hisoblangan manifestlarni keyingi BIOS yangilanishiga kiritmaguncha.

Ammo agar ildiz kaliti (birinchi manifest imzolangan) buzilgan bo'lsa, uni almashtirish mumkin bo'lmaydi, bekor qilish tartibi ko'zda tutilmagan. ushbu kalitning umumiy qismining xeshi bir marta va umuman FPFga dasturlashtirilgan.

Intel Boot Guard konfiguratsiyasi

Endi Intel BG konfiguratsiyasi va uni yaratish jarayonini batafsil ko'rib chiqamiz. Agar siz Intel System Tool Kit (STK) dan Flash Image Tool yordam dasturining grafik interfeysidagi tegishli yorliqni ko'rib chiqsangiz, Intel BG konfiguratsiyasi sotuvchining ildiz kalitining umumiy qismining xeshini o'z ichiga olganligini ko'rasiz, bir nechta. noaniq qiymatlar va boshqalar. Intel BG profili.

Shredinger ishonchli yuklab olish. Intel Boot Guard

Ushbu profilning tuzilishi:

typedef struct BG_PROFILE
{
	unsigned long Force_Boot_Guard_ACM : 1;
	unsigned long Verified_Boot : 1;
	unsigned long Measured_Boot : 1;
	unsigned long Protect_BIOS_Environment : 1;
	unsigned long Enforcement_Policy : 2; // 00b – do nothing
                                              // 01b – shutdown with timeout
                                              // 11b – immediate shutdown
	unsigned long : 26;
};

Umuman olganda, Intel BG konfiguratsiyasi juda moslashuvchan ob'ektdir. Masalan, Force_Boot_Guard_ACM bayrog'ini ko'rib chiqing. U olib tashlanganda, SPI chirog'idagi BG ishga tushirish ACM moduli topilmasa, ishonchli yuklash sodir bo'lmaydi. U ishonchsiz bo'ladi.

Yuqorida biz VB rejimini qo'llash siyosatini tekshirish xatosi bo'lsa, ishonchsiz yuklab olish sodir bo'lishi uchun sozlanishi mumkinligini allaqachon yozgan edik.

Bunday narsalarni sotuvchilarning ixtiyoriga qoldiring...

GUI yordam dasturi quyidagi "tayyor" profillarni taqdim etadi:

soni
rejimi
tavsifi

0
No_FVME
Intel BG texnologiyasi o'chirilgan

1
VE
VB rejimi yoqilgan, vaqt tugashi bilan o'chirish

2
VME
ikkala rejim ham yoqilgan (VB va MB), vaqt tugashi bilan o'chirish

3
VM
ikkala rejim ham tizimni o'chirmasdan yoqilgan

4
FVE
VB rejimi yoqilgan, darhol o'chirish

5
FVME
ikkala rejim ham yoqilgan, darhol o'chirish

Yuqorida aytib o'tilganidek, Intel BG konfiguratsiyasi tizim sotuvchisi tomonidan chipset sigortalariga (FPF) bir marta va umuman yozilishi kerak - dasturlash mumkin bo'lgan chipset ichidagi ma'lumotlarning kichik (tasdiqlanmagan ma'lumotlarga ko'ra, atigi 256 bayt) apparat xotirasi. Intel ishlab chiqarish ob'ektlaridan tashqarida (shuning uchun aynan Dasturlashtiriladigan maydon Sigortalar).

Bu konfiguratsiyani saqlash uchun juda yaxshi, chunki:

  • ma'lumotlarni saqlash uchun bir martalik dasturlashtiriladigan maydonga ega (aynan Intel BG konfiguratsiyasi yozilgan joyda);
  • Uni faqat Intel ME o'qiy oladi va dasturlashi mumkin.

Shunday qilib, ma'lum bir tizimda Intel BG texnologiyasi uchun konfiguratsiyani o'rnatish uchun ishlab chiqarish jarayonida sotuvchi quyidagilarni amalga oshiradi:

  1. Flash Image Tool yordam dasturidan (Intel STK'dan) foydalanib, u Intel ME mintaqasidagi o'zgaruvchilar ko'rinishida ma'lum Intel BG konfiguratsiyasi bilan proshivka tasvirini yaratadi (FPF uchun vaqtinchalik oyna deb ataladi);
  2. Flash dasturlash vositasi yordam dasturidan (Intel STK-dan) foydalanib, u ushbu tasvirni tizimning SPI flesh-xotirasiga yozadi va deb ataladigan narsani yopadi. ishlab chiqarish rejimi (bu holda tegishli buyruq Intel ME-ga yuboriladi).

Ushbu operatsiyalar natijasida Intel ME ko'rsatilgan qiymatlarni ME mintaqasidagi FPF-lar uchun oynadan FPF-ga o'tkazadi, SPI flesh-deskriptorlari o'lchamlarini Intel tomonidan tavsiya etilgan qiymatlarga o'rnatadi (boshida tavsiflangan). maqola) va tizimni RESET ni bajaring.

Intel Boot Guard dasturini amalga oshirish tahlili

Muayyan misol yordamida ushbu texnologiyaning amalga oshirilishini tahlil qilish uchun biz Intel BG texnologiyasining izlari uchun quyidagi tizimlarni tekshirdik:

tizim
nota

Gigabayt GA-H170-D3H
Skylake, qo'llab-quvvatlash bor

Gigabayt GA-Q170-D3H
Skylake, qo'llab-quvvatlash bor

Gigabayt GA-B150-HD3
Skylake, qo'llab-quvvatlash bor

MSI H170A Gaming Pro
Skylake, qo'llab-quvvatlash yo'q

Lenovo ThinkPad 460
Skylake, qo'llab-quvvatlanadi, texnologiya yoqilgan

Lenovo Yoga 2 Pro
Haswell, qo'llab-quvvatlash yo'q

Lenovo U330p
Haswell, qo'llab-quvvatlash yo'q

"Qo'llab-quvvatlash" deganda biz Intel BG ishga tushirish ACM modulining mavjudligini, yuqorida aytib o'tilgan manifestlarni va BIOS-dagi tegishli kodni nazarda tutamiz, ya'ni. tahlil qilish uchun amalga oshirish.

Misol tariqasida ofisdan yuklab olinganini olaylik. Gigabyte GA-H170-D3H uchun SPI flesh-xotirasining sotuvchisi veb-sayti tasviri (F4 versiyasi).

Intel CPU yuklash ROM

Avvalo, agar Intel BG texnologiyasi yoqilgan bo'lsa, protsessorning harakatlari haqida gapiraylik.

Shifrlangan mikrokod namunalarini topishning iloji bo'lmadi, shuning uchun quyida tavsiflangan harakatlar qanday amalga oshiriladi (mikrokod yoki apparatda) ochiq savol. Biroq, zamonaviy Intel protsessorlari bu harakatlarni "bajarishlari" haqiqatdir.

RESET holatidan chiqqandan so'ng, protsessor (flesh-xotira tarkibi allaqachon manzillar maydoniga joylashtirilgan) FIT (Firmware Interface Table) jadvalini topadi. Uni topish oson, unga ko'rsatgich FFFF FFC0h manzilida yozilgan.

Shredinger ishonchli yuklab olish. Intel Boot Guard
Ko'rib chiqilayotgan misolda FFD6 9500h qiymati ushbu manzilda joylashgan. Ushbu manzilga kirish orqali protsessor FIT jadvalini ko'radi, uning mazmuni yozuvlarga bo'linadi. Birinchi yozuv quyidagi strukturaning sarlavhasidir:

typedef struct FIT_HEADER
{
	char           Tag[8];     // ‘_FIT_   ’
	unsigned long  NumEntries; // including FIT header entry
	unsigned short Version;    // 1.0
	unsigned char  EntryType;  // 0
	unsigned char  Checksum;
};

Shredinger ishonchli yuklab olish. Intel Boot Guard
Noma'lum sabablarga ko'ra bu jadvallarda nazorat summasi har doim ham hisoblanmaydi (maydon nol qoldiriladi).

Qolgan yozuvlar BIOS-ni bajarishdan oldin tahlil qilish/bajarish kerak bo'lgan turli ikkilik fayllarga ishora qiladi, ya'ni. eski RESET vektoriga (FFFF FFF0h) o'tishdan oldin. Har bir bunday yozuvning tuzilishi quyidagicha:

typedef struct FIT_ENTRY
{
	unsigned long  BaseAddress;
	unsigned long  : 32;
	unsigned long  Size;
	unsigned short Version;     // 1.0
	unsigned char  EntryType;
	unsigned char  Checksum;
};

Shredinger ishonchli yuklab olish. Intel Boot Guard
EntryType maydoni sizga ushbu yozuv ko'rsatadigan blok turini bildiradi. Biz bir nechta turlarini bilamiz:

enum FIT_ENTRY_TYPES
{
	FIT_HEADER = 0,
	MICROCODE_UPDATE,
	BG_ACM,
	BIOS_INIT = 7,
	TPM_POLICY,
	BIOS_POLICY,
	TXT_POLICY,
	BG_KEYM,
	BG_IBBM
};

Endi ma'lum bo'lishicha, yozuvlardan biri Intel BG ACM ikkilik ishga tushirilishi joylashgan joyga ishora qiladi. Ushbu binarning sarlavha tuzilishi Intel tomonidan ishlab chiqilgan kod modullari uchun xosdir (ACMlar, mikrokod yangilanishlari, Intel ME kod bo'limlari, ...).

typedef struct BG_ACM_HEADER
{
	unsigned short ModuleType;     // 2
	unsigned short ModuleSubType;  // 3
	unsigned long  HeaderLength;   // in dwords
	unsigned long  : 32;
	unsigned long  : 32;
	unsigned long  ModuleVendor;   // 8086h
	unsigned long  Date;           // in BCD format
	unsigned long  TotalSize;      // in dwords
	unsigned long  unknown1[6];
	unsigned long  EntryPoint;
	unsigned long  unknown2[16];
	unsigned long  RsaKeySize;     // in dwords
	unsigned long  ScratchSize;    // in dwords
	unsigned char  RsaPubMod[256];
	unsigned long  RsaPubExp;
	unsigned char  RsaSig[256];
};

Shredinger ishonchli yuklab olish. Intel Boot Guard
Protsessor bu ikkilik faylni keshiga yuklaydi, uni tekshiradi va ishga tushiradi.

Intel BG ishga tushirish ACM

Ushbu ACM ishini tahlil qilish natijasida u quyidagilarni amalga oshirishi ma'lum bo'ldi:

  • chipset sigortalariga (FPF) yozilgan Intel BG konfiguratsiyasini Intel ME-dan oladi;
  • KEYM va IBBM ni topadi va ularni tekshiradi.

Ushbu manifestlarni topish uchun ACM tuzilma ma'lumotlarini ko'rsatish uchun ikkita kirish turiga ega FIT jadvalidan ham foydalanadi (yuqoridagi FIT_ENTRY_TYPES-ga qarang).

Keling, manifestlarni batafsil ko'rib chiqaylik. Birinchi manifest tuzilmasida biz bir nechta noaniq konstantalarni, ikkinchi manifestdagi ochiq kalitning xeshini va ichki o'rnatilgan tuzilma sifatida imzolangan ochiq OEM ildiz kalitini ko'ramiz:

typedef struct KEY_MANIFEST
{
	char           Tag[8];          // ‘__KEYM__’
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 0
	unsigned char  : 8;             // 1
	unsigned short : 16;            // 0Bh
	unsigned short : 16;            // 20h == hash size?
	unsigned char  IbbmKeyHash[32]; // SHA256 of an IBBM public key
	BG_RSA_ENTRY   OemRootKey;
};

typedef struct BG_RSA_ENTRY
{
	unsigned char  : 8;             // 10h
	unsigned short : 16;            // 1
	unsigned char  : 8;             // 10h
	unsigned short RsaPubKeySize;   // 800h
	unsigned long  RsaPubExp;
	unsigned char  RsaPubKey[256];
	unsigned short : 16;            // 14
	unsigned char  : 8;             // 10h
	unsigned short RsaSigSize;      // 800h
	unsigned short : 16;            // 0Bh
	unsigned char  RsaSig[256];
};

Shredinger ishonchli yuklab olish. Intel Boot Guard
OEM Root Key ochiq kalitini tekshirish uchun biz eslaymizki, biz hozirda Intel ME-dan olingan SHA256 sigortalar xeshini ishlatamiz.

Keling, ikkinchi manifestga o'tamiz. U uchta tuzilmadan iborat:

typedef struct IBB_MANIFEST
{
	ACBP Acbp;         // Boot policies
	IBBS Ibbs;         // IBB description
	IBB_DESCRIPTORS[];
	PMSG Pmsg;         // IBBM signature
};

Birinchisi ba'zi konstantalarni o'z ichiga oladi:

typedef struct ACBP
{
	char           Tag[8];          // ‘__ACBP__’
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 1
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 0
	unsigned short : 16;            // x & F0h = 0
	unsigned short : 16;            // 0 < x <= 400h
};

Ikkinchisida IBBning SHA256 xeshi va IBB tarkibini tavsiflovchi tavsiflovchilar soni (ya'ni, xesh nimadan hisoblangan) mavjud:

typedef struct IBBS
{
	char           Tag[8];            // ‘__IBBS__’
	unsigned char  : 8;               // 10h
	unsigned char  : 8;               // 0
	unsigned char  : 8;               // 0
	unsigned char  : 8;               // x <= 0Fh
	unsigned long  : 32;              // x & FFFFFFF8h = 0
	unsigned long  Unknown[20];
	unsigned short : 16;              // 0Bh
	unsigned short : 16;              // 20h == hash size ?
	unsigned char  IbbHash[32];       // SHA256 of an IBB
	unsigned char  NumIbbDescriptors;
};

IBB deskriptorlari birin-ketin bu tuzilishga amal qiladi. Ularning mazmuni quyidagi formatga ega:

typedef struct IBB_DESCRIPTOR
{
	unsigned long  : 32;
	unsigned long  BaseAddress;
	unsigned long  Size;
};

Hammasi oddiy: har bir deskriptorda IBB bo'lagining manzili/o'lchami mavjud. Shunday qilib, ushbu identifikatorlar tomonidan ko'rsatilgan bloklarning birlashishi (deskriptorlarning o'zlari tartibida) IBB. Va, qoida tariqasida, IBB SEC va PEI fazalarining barcha modullarining to'plamidir.

Ikkinchi manifest IBB ochiq kaliti (birinchi manifestdagi SHA256 xesh bilan tasdiqlangan) va ushbu manifest imzosini o'z ichiga olgan tuzilma bilan to'ldiriladi:

typedef struct PMSG
{
	char           Tag[8];            // ‘__PMSG__’
	unsigned char  : 8;               // 10h
	BG_RSA_ENTRY   IbbKey;
};

Shredinger ishonchli yuklab olish. Intel Boot Guard
Shunday qilib, UEFI BIOS ishga tushishidan oldin ham protsessor ACM-ni ishga tushiradi, bu SEC va PEI faza kodi bilan bo'limlar tarkibining haqiqiyligini tekshiradi. Keyinchalik, protsessor ACM-dan chiqadi, RESET vektoriga amal qiladi va BIOS-ni bajarishni boshlaydi.

Tasdiqlangan PEI bo'limida BIOSning qolgan qismini (DXE kodi) tekshiradigan modul bo'lishi kerak. Ushbu modul allaqachon IBV (Independent BIOS Vendor) yoki tizim sotuvchisi tomonidan ishlab chiqilmoqda. Chunki Faqat Lenovo va Gigabyte tizimlari bizning ixtiyorimizda edi va Intel BG-ni qo'llab-quvvatladi; keling, ushbu tizimlardan olingan kodni ko'rib chiqaylik.

UEFI BIOS moduli LenovoVerifiedBootPei

Lenovo misolida, Lenovo tomonidan ishlab chiqilgan LenovoVerifiedBootPei moduli {B9F2AC77-54C7-4075-B42E-C36325A9468D} bo'lib chiqdi.

Uning vazifasi (GUID tomonidan) DXE uchun xesh jadvalini qidirish va DXE-ni tekshirishdir.

if (EFI_PEI_SERVICES->GetBootMode() != BOOT_ON_S3_RESUME)
{
	if (!FindHashTable())
		return EFI_NOT_FOUND;
	if (!VerifyDxe())
		return EFI_SECURITY_VIOLATION;
}

Хеш таблица {389CC6F2-1EA8-467B-AB8A-78E769AE2A15} имеет следующий формат:

typedef struct HASH_TABLE
{
	char          Tag[8];            // ‘$HASHTBL’
	unsigned long NumDxeDescriptors;
	DXE_DESCRIPTORS[];
};

typedef struct DXE_DESCRIPTOR
{
	unsigned char BlockHash[32];     // SHA256
	unsigned long Offset;
	unsigned long Size;
};

UEFI BIOS moduli BootGuardPei

Gigabayt holatida, bu AMI tomonidan ishlab chiqilgan BootGuardPei moduli {B41956E1-7CA2-42DB-9562-168389F0F066} bo'lib chiqdi, shuning uchun Intel BG-ni qo'llab-quvvatlaydigan har qanday AMI BIOS-da mavjud.

Uning ishlash algoritmi biroz boshqacha, ammo u bir xil narsaga tushadi:

int bootMode = EFI_PEI_SERVICES->GetBootMode();

if (bootMode != BOOT_ON_S3_RESUME &&
    bootMode != BOOT_ON_FLASH_UPDATE &&
    bootMode != BOOT_IN_RECOVERY_MODE)
{
	HOB* h = CreateHob();
	if (!FindHashTable())
		return EFI_NOT_FOUND;
	WriteHob(&h, VerifyDxe());
	return h;
}

U izlayotgan {389CC6F2-1EA8-467B-AB8A-78E769AE2A15} xesh jadvali quyidagi formatga ega:

typedef HASH_TABLE DXE_DESCRIPTORS[];

typedef struct DXE_DESCRIPTOR
{
	unsigned char BlockHash[32];     // SHA256
	unsigned long BaseAddress;
	unsigned long Size;
};

Intel Boot Guard 2.x

Keling, Intel Boot Guard-ning yana bir ilovasi haqida qisqacha gapiraylik, u Apollo Lake mikroarxitekturasiga ega Intel SoC-ga asoslangan yangi tizimda topilgan - ASRock J4205-IT.

Garchi ushbu versiya faqat SoC-larda qo'llanilsa ham (Kaby Lake protsessorli mikroarxitekturali yangi tizimlar Intel Boot Guard 1.x-dan foydalanishda davom etmoqda), u sezilarli o'zgarishlarga duch kelgan Intel SoC platformalari uchun yangi arxitektura variantini o'rganishga katta qiziqish uyg'otadi. masalan:

  • BIOS va Intel ME hududlari (aniqrog'i Intel TXE, Intel SoC terminologiyasiga ko'ra) endi bitta IFWI mintaqasi;
  • platformada Intel BG yoqilgan bo'lsa-da, FIT, KEYM, IBBM kabi tuzilmalar flesh xotirada topilmadi;
  • TXE va ISH yadrolariga (x86) qo'shimcha ravishda, chipsetga uchinchi yadro qo'shildi (aytmoqchi, yana ARC) - PMC (Quvvat boshqaruvi boshqaruvchisi), quvvat quyi tizimining ishlashi va ish faoliyatini nazorat qilish bilan bog'liq.

Shredinger ishonchli yuklab olish. Intel Boot Guard
Yangi IFWI hududining mazmuni quyidagi modullardan iborat:

Yomonlik
ism
tavsifi

0000 2000 soat
SMIP
sotuvchi tomonidan imzolangan ma'lum platforma konfiguratsiyasi

0000 6000 soat
RBEP
Intel TXE proshivka kodi bo'limi, x86, imzolangan Intel

0001 0000 soat
PMCP
Intel PMC proshivka kodi bo'limi, ARC, imzolangan Intel

0002 0000 soat
FTPR
Intel TXE proshivka kodi bo'limi, x86, imzolangan Intel

0007 B000h
UCOD
Intel tomonidan imzolangan CPU uchun mikrokod yangilanishlari

0008 0000 soat
IBBP
UEFI BIOS, SEC/PEI bosqichlari, x86, sotuvchi tomonidan imzolangan

0021 8000 soat
ISHC
Intel ISH proshivka kodi bo'limi, x86, sotuvchi tomonidan imzolangan

0025 8000 soat
NFTP
Intel TXE proshivka kodi bo'limi, x86, imzolangan Intel

0036 1000 soat
IUNP
noma'lum

0038 1000 soat
OBBP
UEFI BIOS, DXE bosqichi, x86, imzosiz

TXE proshivkasini tahlil qilish jarayonida ma'lum bo'ldiki, RESET dan so'ng TXE protsessor uchun manzil maydonining asosiy tarkibini tayyorlamaguncha protsessorni shu holatda ushlab turadi (FIT, ACM, RESET vektori ...). Bundan tashqari, TXE ushbu ma'lumotlarni o'zining SRAM-ga joylashtiradi, shundan so'ng u vaqtincha protsessorga kirish huquqini beradi va uni RESETdan "bo'shatadi".

Rootkitlardan ehtiyot bo'ling

Xo'sh, endi "issiq" narsalarga o'tamiz. Biz ko'p tizimlarda SPI flesh-deskriptorlarida SPI flesh-xotirasi hududlariga kirish ruxsati borligini aniqladik, shunda ushbu xotiraning barcha foydalanuvchilari istalgan hududni yozishi va o'qishi mumkin. Bular. bo'lishi mumkin emas.

MEinfo yordam dasturini (Intel STK-dan) tekshirgandan so'ng, biz ushbu tizimlarda ishlab chiqarish rejimi yopiq emasligini ko'rdik, shuning uchun chipset sigortalari (FPF) aniqlanmagan holatda qoldi. Ha, bunday hollarda Intel BG yoqilmaydi va o'chirilmaydi.

Biz quyidagi tizimlar haqida gapiramiz (Intel BG va maqolada keyinroq tasvirlangan narsalarga kelsak, biz Haswell protsessorli mikroarxitekturali va undan yuqoriroq tizimlar haqida gaplashamiz):

  • barcha Gigabyte mahsulotlari;
  • barcha MSI mahsulotlari;
  • Lenovo noutbuklarining 21 ta modeli va Lenovo serverlarining 4 ta modeli.

Albatta, biz ushbu sotuvchilarga, shuningdek, Intelga kashfiyot haqida xabar berdik.

Adekvat reaktsiya faqat kelgan Lenovomuammoni kim tan oldi va patch chiqardi.

Gigabayt Ular zaiflik haqidagi ma'lumotni qabul qilganday tuyuldi, lekin hech qanday izoh bermadi.

Bilan aloqa MSI Sizning umumiy PGP kalitingizni yuborish so'rovimiz bo'yicha butunlay to'xtab qoldi (ular shifrlangan shaklda xavfsizlik bo'yicha maslahat yuborish uchun). Ularning ta'kidlashicha, ular "apparat ishlab chiqaruvchisi va PGP kalitlarini ishlab chiqarmaydilar".

Ammo keling, mavzuga o'taylik. Sigortalar noma'lum holatda qoldirilganligi sababli, foydalanuvchi (yoki tajovuzkor) ularni mustaqil ravishda dasturlashi mumkin (eng qiyin narsa Intel STK ni toping). Buning uchun siz quyidagi amallarni bajarishingiz kerak.

1. Windows operatsion tizimiga yuklash (umuman olganda, quyida tavsiflangan harakatlar Linux ostida ham amalga oshirilishi mumkin, agar siz kerakli OS uchun Intel STK analogini ishlab chiqsangiz). MEinfo yordam dasturidan foydalanib, sigortalar ushbu tizimda dasturlashtirilmaganligiga ishonch hosil qiling.

Shredinger ishonchli yuklab olish. Intel Boot Guard
2. Flash dasturlash vositasi yordamida flesh xotira tarkibini o'qing.

Shredinger ishonchli yuklab olish. Intel Boot Guard
3. Har qanday UEFI BIOS tahrirlash vositasi yordamida o'qilgan tasvirni oching, kerakli o'zgarishlarni kiriting (masalan, rootkitni kiriting), ME hududida mavjud KEYM va IBBM tuzilmalarini yarating/tahrirlang.

Shredinger ishonchli yuklab olish. Intel Boot Guard
Shredinger ishonchli yuklab olish. Intel Boot Guard
Rasmda RSA kalitining umumiy qismi ta'kidlangan, uning xeshi Intel BG konfiguratsiyasining qolgan qismi bilan birga chipset sigortalariga dasturlashtiriladi.

4. Flash Image Tool-dan foydalanib, yangi proshivka tasvirini yarating (Intel BG konfiguratsiyasini sozlash orqali).

Shredinger ishonchli yuklab olish. Intel Boot Guard
5. Flash dasturlash vositasi yordamida flesh-xotiraga yangi rasm yozing va MEinfo-dan foydalanib, ME mintaqasida hozirda Intel BG konfiguratsiyasi mavjudligini tekshiring.

Shredinger ishonchli yuklab olish. Intel Boot Guard
6. Ishlab chiqarish rejimini yopish uchun Flash dasturlash vositasidan foydalaning.

Shredinger ishonchli yuklab olish. Intel Boot Guard
7. Tizim qayta ishga tushadi, shundan so'ng siz FPFlar endi dasturlashtirilganligini tekshirish uchun MEinfo dan foydalanishingiz mumkin.

Shredinger ishonchli yuklab olish. Intel Boot Guard
Bu harakatlar abadiydir ushbu tizimda Intel BG-ni yoqing. Amalni ortga qaytarib bo'lmaydi, ya'ni:

  • Ushbu tizimda UEFI BIOS-ni faqat ildiz kalitining shaxsiy qismining egasi (ya'ni, Intel BG-ni yoqgan) yangilashi mumkin;
  • agar siz asl mikrodasturni ushbu tizimga qaytarsangiz, masalan, dasturchi yordamida u hatto yoqilmaydi (tasdiqlash xatosi bo'lsa, amal qilish siyosatining natijasi);
  • bunday UEFI BIOS-dan xalos bo'lish uchun siz dasturlashtirilgan FPF bilan chipsetni "toza" bilan almashtirishingiz kerak (ya'ni, agar siz infraqizil lehim stantsiyasiga kirish imkoniga ega bo'lsangiz, chipsetni qayta lehimlang yoki oddiygina anakartni almashtiring. ).

Bunday rootkit nima qilishi mumkinligini tushunish uchun kodingizni UEFI BIOS muhitida bajarishga nima imkon berishini baholashingiz kerak. Aytaylik, eng imtiyozli protsessor rejimida - SMM. Bunday rootkit quyidagi xususiyatlarga ega bo'lishi mumkin:

  • OT bilan parallel ravishda bajarilgan (siz SMI uzilishini yaratish uchun ishlov berishni sozlashingiz mumkin, bu taymer tomonidan ishga tushiriladi);
  • SMM rejimida bo'lishning barcha afzalliklariga ega bo'lish (RAM va apparat resurslari tarkibiga to'liq kirish, OTdan maxfiylik);
  • Rootkitning dastur kodi SMM rejimida ishga tushirilganda shifrlanishi va shifrlanishi mumkin. Faqat SMM rejimida mavjud bo'lgan har qanday ma'lumotlar shifrlash kaliti sifatida ishlatilishi mumkin. Masalan, SMRAMdagi manzillar to'plamidan xesh. Ushbu kalitni olish uchun siz SMM-ga kirishingiz kerak bo'ladi. Va bu ikki yo'l bilan amalga oshirilishi mumkin. SMM kodida RCE-ni toping va undan foydalaning yoki BIOS-ga o'zingizning SMM modulingizni qo'shing, chunki biz Boot Guard-ni yoqqanimizdan buyon mumkin emas.

Shunday qilib, ushbu zaiflik tajovuzkorga quyidagilarga imkon beradi:

  • tizimda noma'lum maqsadli yashirin, o'chirilmaydigan rootkit yaratish;
  • kodingizni Intel SoC ichidagi chipset yadrolaridan birida, ya'ni Intel ISH-da bajaring (rasmga diqqat bilan qarang).

Shredinger ishonchli yuklab olish. Intel Boot Guard
Shredinger ishonchli yuklab olish. Intel Boot Guard
Intel ISH quyi tizimining imkoniyatlari hali o'rganilmagan bo'lsa-da, u Intel ME uchun qiziqarli hujum vektori bo'lib ko'rinadi.

topilmalar

  1. Tadqiqot Intel Boot Guard texnologiyasining ishlashining texnik tavsifini olish imkonini berdi. Noaniqlik modeli orqali Intel xavfsizligining bir nechta sirlari.
  2. Tizimda o'chirib bo'lmaydigan rootkitni yaratishga imkon beruvchi hujum stsenariysi taqdim etiladi.
  3. Biz ko'rdikki, zamonaviy Intel protsessorlari BIOS ishga tushishidan oldin ham ko'plab xususiy kodlarni bajarishga qodir.
  4. Intel 64 arxitekturasiga ega platformalar bepul dasturiy ta'minotni ishga tushirish uchun kamroq mos bo'lib bormoqda: apparat tekshiruvi, xususiy texnologiyalar va quyi tizimlar soni ortib bormoqda (SoC chipsetidagi uchta yadro: x86 ME, x86 ISH va ARC PMC).

Yengillashtirish

Ishlab chiqarish rejimini qasddan ochiq qoldirgan sotuvchilar, albatta, uni yopishlari kerak. Hozircha faqat ularning ko'zlari yopiq va Kaby Lakening yangi tizimlari buni ko'rsatmoqda.

Foydalanuvchilar -closemnf parametri bilan Flash dasturlash vositasini ishga tushirish orqali Intel BG-ni o'z tizimlarida (ta'riflangan zaiflikka sezgir) o'chirib qo'yishlari mumkin. Birinchidan, (MEinfo-dan foydalangan holda) ME mintaqasidagi Intel BG konfiguratsiyasi FPF-larda dasturlashdan keyin ushbu texnologiyani o'chirishni ta'minlaganligiga ishonch hosil qilishingiz kerak.

Manba: www.habr.com

a Izoh qo'shish