
ืืืจ ืคืึธืจืฉืืึธืื ืฆื ืืืื ืึทืจืึธืคึผ ืฆื ืึท ื ืืืขืจืืง ืืืจืื ืืืืืขืจ ืืื ืจืขืื ืืืขืื ืื ืืืืขืจืืืื ืคืื ืคืืจืืืืึทืจืข ืคึฟืึทืจ ืงืก86 ืงืึทืืคึผืึทืืึทืืึทื ืงืึธืืคึผืืืืขืจ ืคึผืืึทืืคืึธืจืืก. ืืึธืก ืืึธื, ืื ืืืืคึผื ืื ืืจืืืืึทื ื ืคืื ืืขื ืืขืจื ืขื ืืื Intel Boot Guard (ื ืื ืฆื ืืืื ืฆืขืืืฉื ืืื Intel BIOS Guard!) - ืึท ืืึทืื ืืืึทืจื-ืืขืฉืืืฆื ืืจืึทืกืืื ืืืืึธืืก ืฉืืืืื ืืขืื ืึธืืึธืืืข ืืืึธืก ืื ืงืึธืืคึผืืืืขืจ ืกืืกืืขื ืคืึทืจืงืืืคืขืจ ืงืขื ืขื ืคึผืขืจืืึทื ืึทื ืืื ืืขืื ืึธืืขืจ ืืืกืืืืึทื ืืื ืื ืคึผืจืึธืืืงืฆืืข ืืื ืข. ื ื, ืืขืจ ืคืึธืจืฉืื ื ืจืขืฆืขืคึผื ืืื ืฉืืื ืืึทืงืึทื ื ืฆื ืืื ืื: ืฆืขืืึทืงื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืืขื ืืขืื ืึธืืึธืืืข ืืื ืคืึทืจืงืขืจื ืื ืืฉืขื ืืขืจืืข, ืืึทืฉืจืืึทืื ืืืึทื ืึทืจืงืึทืืขืงืืฉืขืจ, ืคึผืืึธืืืืจื ืขืก ืืื ืึทื ืืึทืงืืึทืืขื ืื ืืขืืึทืืืก, ืกืขืืึธื ืขืก ืืื ืึทืืึทืง ืืืขืงืืึธืจืก ืฆื ืืขืฉืืึทืง ืืื ืืืฉื. ืืึธืืืจ ืืืืื ืืจืขื ืืืึทืจื ืฆื ืืขืจ ืืขืฉืืืืข ืคืื โโืืื ืึท ืืฉืืง ืืืึธืก ืืื ืืขืืืขื ืงืืึธืื ื ืคึฟืึทืจ ืืึธืจื ืืื ืื ืคึผืจืึธืืืงืฆืืข ืคืื โโโโืขืืืขืืข ืืืขื ืืึธืจืก ืึทืืึทืื ืึท ืคึผืึธืืขื ืฆืืขื ืึทืืึทืงืขืจ ืฆื ื ืืฆื ืืขื ืืขืื ืึธืืึธืืืข ืฆื ืฉืึทืคึฟื ืึท ืคืึทืจืืึธืจืื ืจืึธืึธืืงืื ืืื ืื ืกืืกืืขื ืืืึธืก ืงืขื ืขื ื ืื ืืืื ืึทืืืขืงืืขื ืืืขื (ืืคืืื ืืื ืึท ืคึผืจืึธืืจืึทืืืกื).
ืืืจื ืืขื ืืืขื, ืืขืจ ืึทืจืืืงื ืืื ืืืืืจื ืืืืฃ ืื ืจืืคึผืึธืจืฅ "On Guard of Rootkits: Intel BootGuard" ืคึฟืื ืืขืจ ืืืฆืื ื ืืื 29ืืข ืืึทืืขืืขื ืืฉ (ืืืืืข ืคึผืจืขืืึทื ืืืืฉืึทื ื ).
ืคืืจืืืืึทืจืข ืคึฟืึทืจ ืึท ืงืึธืืคึผืืืืขืจ ืคึผืืึทืืคืึธืจืืข ืืื Intel 64 ืึทืจืงืึทืืขืงืืฉืขืจ
ืขืจืฉืืขืจ, ืืึธืื ืืื ืื ืขื ืืคึฟืขืจื ืื ืงืฉืื: ืืืึธืก ืืื ืื ืคืืจืืืืึทืจืข ืคืื โโืึท ืืึธืืขืจื ืงืึธืืคึผืืืืขืจ ืคึผืืึทืืคืึธืจืืข ืืื ืื ืืขื 64 ืึทืจืงืึทืืขืงืืฉืขืจ? ืคืื ืงืืจืก, UEFI BIOS. ืึธืืขืจ ืึทืืึท ืขื ืืคืขืจ ืืืขื ื ืืฉื ืืืื ืคึผืื ืืืขื. ืืื ืก ื ืขืืขื ืึท ืงืืง ืืื ืื ืืืื, ืืืึธืก ืืืืืื ืื ืืขืกืงืืึทืคึผ (ืืึทืคึผืืึทืคึผ) ืืืขืจืกืืข ืคืื โโืืขื ืึทืจืงืึทืืขืงืืฉืขืจ.

ืืขืจ ืืกืื ืืื ืื ืืื ืง:
- ืคึผืจืึทืกืขืกืขืจ (ืงืคึผื, ืกืขื ืืจืึทื ืคึผืจืึทืกืขืกืื ื ืืื ืื), ืืืึธืก, ืืื ืึทืืืฉืึทื ืฆื ืื ืืืืคึผื ืงืึธืจืขืก, ืืื ืึท ืืขืืืื-ืืื ืืจืึทืคืืงืก ืืึทืจืฅ (ื ืื ืืื ืึทืืข ืืึธืืขืืก) ืืื ืึท ืืึผืจืื ืงืึธื ืืจืึธืืืขืจ (ืืืง, ืื ืืขืืจืึทืืขื ืืึผืจืื ืงืึธื ืืจืึธืืืขืจ);
- ืืฉืืคึผืกืขื (PCH, Platform Controller Hub), ืืื ืคืึทืจืฉืืื ืงืึทื ืืจืึธืืืขืจื ืคึฟืึทืจ ืื ืืขืจืึทืงืืื ื ืืื ืคึผืขืจืืคืขืจืึทื ืืขืืืืกืขืก ืืื ืึธื ืคืืจืื ื ืกืึทืืกืืกืืึทืื. ืฆืืืืฉื ืืื ืืื ืืขืจ ืืืงืื ืืขืจ Intel Management Engine (ME), ืืืึธืก ืืืื ืืื ืคืืจืืืืึทืจืข (Intel ME ืคืืจืืืืึทืจืข).
ืืึทืคึผืืึธืคึผืก, ืืื ืึทืืืฉืึทื ืฆื ืื ืืืืื, ืืึทืจืคื ืึท ืืขืืืื-ืืื ืงืึธื ืืจืึธืืืขืจ (ACPI EC, Advanced Control ืืื Power Interface Embedded Controller), ืืืึธืก ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืื ืึธืคึผืขืจืึทืฆืืข ืคืื โโืื ืืึทืื ืกืึทืืกืืกืืึทื, ืืึธืืืฉืคึผืึทื, ืงืืึทืืืืึทืืืจ, Fn ืฉืืืกืืขื (ืคืึทืจืฉืืขืื ืืจืืืื ืึทืก, ืืขืืื ื ืืึทื ื) , ืงืืึทืืืืึทืืืจ ืืึทืงืืืื, ืืื"ื ื) ืืื ืื ืืขืจืข ืืืื. ืืื ืขืก ืืืื ืืื ืืืึทื ืืืืืขื ืข ืคืืจืืืืึทืจืข.
ืึทืืื, ืื ืืึธืืืึทืืึทืื ืคืื ืื ืคืืจืืืืึทืจืข ืืืืื ืืื ืื ืคืืจืืืืึทืจืข ืคืื โโืื ืงืึธืืคึผืืืืขืจ ืคึผืืึทืืคืึธืจืืข (ืกืืกืืขื ืคืืจืืืืึทืจืข), ืืืึธืก ืืื ืกืืึธืจื ืืืืฃ ืึท ืคึผืจืึธืกื ืกืคึผื ืืืืฅ ืืึผืจืื. ืึทืืื ืึทื ืื ื ืืฆืขืจืก ืคืื ืืขื ืืึผืจืื ืืึธื ื ืื ืฆืขืืืฉื ืืืขืื ืืื ืขืก ืืื, ืื ืืื ืืึทืื ืคืื ืืขื ืืึผืจืื ืืื ืฆืขืืืืื ืืื ืื ืคืืืืขื ืืข ืืงืืืืช (ืืื ืืขืืืืื ืืื ืื ืคืืืืจ):
- UEFI BIOS;
- ACPI EC ืคืืจืืืืึทืจืข (ืึท ืืึทืืื ืืขืจ ืืขืื ื ืืื ืืจืืืก ืืื ืื Skylake ืคึผืจืึทืกืขืกืขืจ ืืืงืจืึธืึทืจืืฉืืืขืงืืืจืข (2015), ืึธืืขืจ ืืื-ืื-ืืืืื ืืืจ ืืึธืื ื ืึธื ื ืืฉื ืืขืืขื ืืืืฉืคืืื ืคืื ืืืึทื ื ืืฆื, ืึทืืื ืื ืคืืจืืืืึทืจืข ืคืื โโืื ืืขืืืื-ืืื ืงืึธื ืืจืึธืืืขืจ ืืื ื ืึธื ืึทืจืืึทื ืืขืจืขืื ื ืืื ืื UEFI ืืืืึธืืก) ;
- ืื ืืขื ืืืจ ืคืืจืืืืึทืจืข;
- ืงืึทื ืคืืืืขืจืืืฉืึทื (ืืึทืง ืึทืืจืขืก, ืืื"ื ื) ืคืื ืื ืืขืืืื-ืืื ืืืข (ืืืืึทืืื ืขืืืขืจื ืขื) ื ืขืฅ ืึทืืึทืคึผืืขืจ;
- ืคืืึทืฉ ืืขืกืงืจืืคึผืืึธืจืก ืืขื ืขื ืื ืืืืคึผื ืืขืื ื ืคืื ืืืืฅ ืืึผืจืื ืืืึธืก ืึผืืื ืคึผืืื ืืขืจื ืฆื ืื ืืขืจืข ืืงืืืืช, ืืื ืืขืืื ื ืืื ืคึผืขืจืืืฉืึทื ื ืฆื ืึทืงืกืขืก ืืื.

ืื SPI ืืืืึธืืืก ืืขื, ืึท SPI ืงืึธื ืืจืึธืืืขืจ ืืขืืืื ืืื ืื ืืฉืืคึผืกืขื, ืืืจื ืืืึธืก ืืขื ืืึผืจืื ืืื ืึทืงืกืขืกื, ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืืืืืืึทืืื ื ืึทืงืกืขืก ืฆื ืืงืืืืช (ืืื ืืืื ืืื ืื ืกืคึผืขืกืืคืืขื ืคึผืขืจืืืฉืึทื ื). ืืืื ืคึผืขืจืืืฉืึทื ื ืืขื ืขื ืืึทืฉืืืื ืฆื ืื ืืขื ืก ืจืขืงืึทืืขื ืืื (ืคึฟืึทืจ ืืืืขืจืืืื ืกืืืืช) ืืืึทืืืขืก, ืืขืืขืจ SPI ืืืืฅ ืืึทื ืืฆืขืจ ืืื ืคืื ืึทืงืกืขืก (ืืืืขื ืขื / ืฉืจืืึทืื) ืืืืื ืฆื ืืืืขืจ ืืขืื ื. ืืื ืื ืื ืืื ืืขื ืขื ืึธืืขืจ ืืืืื ืืืืขื ืขื ืึธืืขืจ ืื ืึทืงืกืขืกืึทืืึทื. ื ืืืืืืกืืขืจ ืคืึทืงื: ืืืืฃ ืคืืืข ืกืืกืืขืืขื, ืื ืงืคึผื ืืื ืคืื ืึทืงืกืขืก ืฆื ืื UEFI ืืืืึธืืก ืืื GbE, ืืืืขื ืขื ืึทืงืกืขืก ืืืืื ืฆื ืืืืฅ ืืืกืงืจืืคึผืืึธืจืก ืืื ืงืืื ืึทืงืกืขืก ืฆื ืื Intel ME ืืขืื ื. ืคืืจืืืืก ืืืืฃ ืคืืืข, ืืื ื ืืฉื ืืืืฃ ืึทืืข? ืืืึธืก ืืื ืจืขืงืึทืืขื ืืื ืืื ื ืืฉื ืคืืจืืื ืื. ืืืจ ืืืขื ืืึธืื ืืืจ ืืขืจ ืืื ืืขืืึทื ืฉืคึผืขืืขืจ ืืื ืืขื ืึทืจืืืงื.
ืืขืงืึทื ืืืึทืื ืคึฟืึทืจ ืคึผืจืึทืืขืงืืื ื ืงืึธืืคึผืืืืขืจ ืคึผืืึทืืคืึธืจืืข ืคืืจืืืืึทืจืข ืคืื โโืืึธืืืคืืงืึทืืืึธื
ืืึธื, ืื ืคืืจืืืืึทืจืข ืคืื โโืึท ืงืึธืืคึผืืืืขืจ ืคึผืืึทืืคืึธืจืืข ืืึธื ืืืื ืคึผืจืึธืืขืงืืขื ืคืื ืืขืืืขื ืงืึธืืคึผืจืึธืืืก, ืืืึธืก ืืืึธืื ืืึธืื ืึท ืคึผืึธืืขื ืฆืืขื ืึทืืึทืงืขืจ ืฆื ืืึทืงืืืขื ืึท ืคืืืืึธืืื ืืื ืขืก (ืืืืึทืื ืืขืื ืึทืก ืืขืจืืืึทื ืืืงืื ืืขื / ืจืืื ืกืืึทืืืืืฉืึทื ื), ืืืกืคืืจื ืืืืขืจ ืงืึธื ืืื ืื ืืขืจืกื ืคึผืจืืืืืืืืฉื ืืึธืืขืก, ืืื"ื ื. ืืื ืจืืกืืจืืงืืื ื ืึทืงืกืขืก ืฆื SPI ืืืืฅ ืืึผืจืื ืืงืืืืช ืืื, ืคืื ืงืืจืก, ื ืืฉื ืืขื ืื. ืืขืจืืืขืจ, ืฆื ืืึทืฉืืฆื ืื ืคืืจืืืืึทืจืข ืคืื โโืืึธืืืคืืงืึทืืืึธื ืก, ืคืึทืจืฉืืื ืืขืงืึทื ืืืึทืื ืกืคึผืขืฆืืคืืฉ ืฆื ืืขืืขืจ ืึทืคึผืขืจืืืืื ื ืกืืืืืืข ืืขื ืขื ืืขื ืืฆื.
ืืืื, ืื Intel ME ืคืืจืืืืึทืจืข ืืื ืืขืืชืืขื ืฆื ืงืึธื ืืจืึธืืืจื ืึธืจื ืืืขืืงืืึทื ืืื ืึธืืึทื ืืืกืืื, ืืื ืืื ืึธืคึผืืขืฉืืขืื ืืืจื ืื ME ืงืึธื ืืจืึธืืืขืจ ืืขืืขืจ ืืึธื ืขืก ืืื ืืึธืืืื ืืื ืื ME UMA ืืึผืจืื. ืืขืจ ืืืขืจืึทืคืึทืงืืืฉืึทื ืคึผืจืึธืฆืขืก ืืื ืฉืืื ืืืกืงืึทืกื ืืืจื ืืื ืื ืืื ืืืื ืขืจ ืคืื , ืืขืืึทืงืืืืึทื ืฆื ืื Intel ME ืกืืืกืืกืืขื.
ืืื ACPI EC ืคืืจืืืืึทืจืข, ืืื ืึท ืืขืจืฉื, ืืื ืึธืคึผืืขืฉืืขืื ืืืืื ืคึฟืึทืจ ืึธืจื ืืืขืืงืืึทื. ืึธืืขืจ, ืจืขืื ืฆื ืืขื ืคืึทืงื ืึทื ืื ืืืื ืขืจื ืืื ืึทืจืืึทื ืืขืจืขืื ื ืืื ืื UEFI ืืืืึธืืก, ืขืก ืืื ืึผืืขื ืฉืืขื ืืืง ืืื ืืขืจืืขื ืืง ืฆื ืื ืืขืืืข ืฉืืฅ ืืขืงืึทื ืืืึทืื ืึทื ืื UEFI ืืืืึธืืก ื ืืฆื. ืืึธืืืจ ืจืขืื ืืืขืื ืืื.
ืื ืืขืงืึทื ืืืึทืื ืงืขื ืขื ืืืื ืฆืขืืืืื ืืื ืฆืืืื ืงืึทืืขืืึธืจืืขืก.
ืฉืจืืื ืฉืืฅ ืืื ืื UEFI BIOS ืืขืื ื
- ืืฉืืืืช ืฉืืฅ ืคืื ืื ืืื ืืึทืื ืคืื SPI ืืืืฅ ืืึผืจืื ืืื ืึท ืฉืจืืึทืื-ืืึทืฉืืฆื ืืืฉืึทืืคึผืขืจ;
- ืคึผืจืึทืืขืงืืื ื ืื ืคึผืจืืืขืงืฆืืข ืคืื โโืื UEFI ืืืืึธืืก ืืขืื ื ืืื ืื ืงืคึผื ืึทืืจืขืก ืคึผืืึทืฅ ื ืืฆื PRx ืืฉืืคึผืกืขื ืจืขืืืฉืืกืืขืจืก;
- ืืืึทืงืื ื ืคืจืืืื ืฆื ืฉืจืืึทืื ืฆื ืื UEFI ืืืืึธืืก ืืขืื ื ืืืจื ืืืฉืขื ืขืจืืืืื ื ืืื ืคึผืจืึทืกืขืกืื ื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืกืื ืืืขืจืจืืึทืก ืืืจื ืืึทืฉืืขืืืงื ืื BIOS_WE/BLE ืืื SMM_BWP ืืืื ืืื ืื ืืฉืืคึผืกืขื ืจืขืืืฉืืกืืขืจืก;
- ื ืืขืจ ืึทืืืึทื ืกืืจืืข ืืืขืจืกืืข ืคืื โโโโืืขื ืฉืืฅ ืืื Intel BIOS Guard (PFAT).
ืืื ืึทืืืฉืึทื ืฆื ืื ืืขืงืึทื ืืืึทืื, ืืืขื ืืึธืจืก ืงืขื ืขื ืึทื ืืืืืงืืขื ืืื ืื ืกืืจืืืขื ื ืืืืขืจ ืืืืืขื ืข ืืืืขืจืืืื ืืืืืขื (ืืืฉื, ืกืืื ืื ื ืงืึทืคึผืกืึทืื ืืื UEFI BIOS ืืขืจืืืึทื ืืืงืื ืืขื).
ืขืก ืืื ืืืืืืืง ืฆื ืืึธื ืึทื ืืืืฃ ืึท ืกืคึผืขืฆืืคืืฉ ืกืืกืืขื (ืืืคึผืขื ืืื ื ืืืืฃ ืื ืคืึทืจืงืืืคืขืจ), ื ืื ืึทืืข ืคืื โโืื ืืืืื ืฉืืฅ ืืขืงืึทื ืืืึทืื ืงืขื ืืืื ืืขืืืขื ืื, ืืื ืงืขื ื ืืฉื ืืืื ืืขืืืขื ืื ืืื ืึทืืข, ืึธืืขืจ ืืื ืงืขื ืืืื ืืืคึผืืึทืืขื ืึทื ืืื ืึท ืฉืคึผืืจืขืืืืืง ืฉืืืืืขืจ. ืืืจ ืงืขื ื ืืืืขื ืขื ืืขืจ ืืืขืื ืื ืืขืงืึทื ืืืึทืื ืืื ืื ืกืืืืึทืฆืืข ืืื ืืืืขืจ ืืืคึผืืึทืืขื ืืืืฉืึทื ืืื . ืคึฟืึทืจ ืื ืืื ืืขืจืขืกืืจื, ืืืจ ืจืขืงืึธืืขื ืืืจื ืึทื ืืืจ ืืืืขื ืขื ืื ืืื ืฆืข ืกืขืจืืข ืคืื โโืึทืจืืืงืืขื ืืืืฃ UEFI BIOS ืืืืขืจืืืื ืคึฟืื .
UEFI BIOS ืึธืืขื ืืึทืงืืืฉืึทื
ืืืขื ืืืจ ืจืขืื ืืืขืื ืืจืึทืกืืื ืฉืืืืื ืืขืงื ืึทืืึทืืืฉืื, ืืขืจ ืขืจืฉืืขืจ ืืึทื ืืืึธืก ืงืืื ืฆื ืืืื ืื ื ืืื ืืืืขืจ ืฉืืืืื. ืึธืืขืจ, ืึทืจืงืึทืืขืงืืฉืขืจืึทืื ืขืก ืืื ืืืืืื ื ืฆื ืืึทืฉืืขืืืงื ืื ืึธืืึทื ืืืกืืื ืคืื ืงืึทืืคึผืึธืื ืึทื ืฅ ืคืื ืืจืืืกื ืืืง ืฆื ืื UEFI ืืืืึธืืก (ืืจืืืืขืจืก, ืืึธืึธืืืึธืึทืืขืจืก, ืืื"ื ื) ืืื ื ืืฉื ืื ืคืืจืืืืึทืจืข ืืื.
ืืขืจืืืขืจ, Intel, ืืื SoCs ืืื Bay Trail ืืืงืจืึธืึทืจืืฉืืืขืงืืืจืข (2012), ืืืคึผืืึทืืขื ืึทื ืึท ืืึทืื ืืืึทืจื ื ืื-ืคืึทืจืงืจืืคึผืื ืืืืขืจ ืฉืืืืื (ืืืขืจืืคืืขื ืฉืืืืื), ืืืึธืก ืืื ืืึธืจื ืืฉื ืืื ืคึผืจืึธืกื ืืื ืื ืืืืื-ืืขืจืืื ื ืกืขืงืืจืข ืืึธืึธื ืืขืื ืึธืืึธืืืข. ืฉืคึผืขืืขืจ (2013), ืืขื ืืขืงืึทื ืืืึทื ืืื ืืืคึผืจืืืื ืืื ืืืคืจืืื ืืื ืืขืจ ืื ื ืึธืืขื Intel Boot Guard ืคึฟืึทืจ ืืขืกืงืืึทืคึผืก ืืื Haswell ืืืงืจืึธืึทืจืืฉืืืขืงืืืจืข.
ืืืืืขืจ ืืืกืงืจืืืืื ื Intel Boot Guard, ืืึธืื ืืื ืื ืงืืง ืืื ืื ืืืจืืคืืจืื ื ืื ืืืืืจืึทื ืืึทื ืฅ ืืื ืื Intel 64 ืึทืจืงืึทืืขืงืืฉืขืจ, ืืืึธืก, ืืื ืงืึธืืืื ืึทืฆืืข, ืืขื ืขื ืื ืจืืฅ ืคืื ืฆืืืจืื ืคึฟืึทืจ ืืขื ืืจืึทืกืืื ืฉืืืืื ืืขืื ืึธืืึธืืืข.
ืื ืืขื ืงืคึผื
ืงืึทืคึผ ืกืึทืืืืฉืขืกืฅ ืึทื ืืขืจ ืคึผืจืึทืกืขืกืขืจ ืืื ืื ืืืืคึผื ืืืจืืคืืจืื ื ืกืืืืืืข ืืื ืื ืื ืืขื 64 ืึทืจืงืึทืืขืงืืฉืขืจ. ืคืืจืืืืก ืืื ืขืก ืืขืจ ืืืึธืจืฆื ืคืื ืฆืืืจืื? ืขืก ืืืฒึทืื ืืื ืืืืก, ืึทื ืืึธืก, ืืืึธืก ืืึทืื ืืื ืึทืืึท, ืืื ืืึธืก ืคึฟืึทืจืืึธื ืคึฟืื ืื ืืึธืืืงืข ืขืืขืืขื ืื:
- ืืืงืจืึธืงืึธืืข ืจืึทื ืืื ืึท ื ืื-ืืืึทืืึทืืึทื, ื ืื-ืจืืจืืืืึทืืึทื ืืึผืจืื ืคึฟืึทืจ ืกืืึธืจืื ื ืืืงืจืึธืงืึธืืข. ืขืก ืืื ืืขืืืื ื ืึทื ืืืงืจืึธืงืึธืืข ืืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืื ืคึผืจืึทืกืขืกืขืจ ืืึทืคึฟืขืื ืกืืกืืขื ืืื ืื ืกืืืคึผืืึทืกื ืื ืกืืจืึทืงืฉืึทื ื. ืืึทืคึผืึทื ื ืืืื ืืื ืืืงืจืึธืงืึธืืข . ืึทืืื ืืื ืื ืืืืึธืืก ืืืจ ืงืขื ืขื ืืขืคึฟืื ืขื ืืื ืึทืจืืขืก ืืื ืืืงืจืึธืงืึธืืข ืืขืจืืืึทื ืืืงืื ืืขื (ืึธืืืืขืจืืืื ืืขืฉืึทืก ืฉืืืืื, ืืืืึทื ืจืึทื ืงืขื ืขื ื ืื ืืืื ืึธืืืืขืจืจืืืึทื). ืืขืจ ืืื ืืึทืื ืคืื ืื ืืื ืึทืจืืขืก ืืื ืื ืงืจืืคึผืืื, ืืืึธืก ืงืึทืืคึผืืืงืืืฅ ืืืืขืจ ืึทื ืึทืืืกืืก (ืืขืจืืืขืจ, ืืขืจ ืกืคึผืขืฆืืคืืฉ ืืื ืืึทืื ืคืื ืื ืืืงืจืึธืงืึธืืข ืืื ืืืงืื ื ืืืืื ืฆื ืื ืืืืก ืึทื ืืืืืงืืขื ืขืก), ืืื ืืขืืชืืขื ืฆื ืงืึธื ืืจืึธืืืจื ืึธืจื ืืืขืืงืืึทื ืืื ืึธืืึทื ืืืกืืื;
- ืึทืขืก ืฉืืืกื ืคึฟืึทืจ ืืขืงืจืืคึผืืื ื ืื ืืื ืืึทืื ืคืื ืืืงืจืึธืงืึธืืข ืืขืจืืืึทื ืืืงืื ืืขื;
- ืืึทืฉ ืคืื ืื RSA ืขืคื ืืืขื ืฉืืืกื ืืขื ืืฆื ืฆื ืืึทืฉืืขืืืงื ืื ืืกืืืข ืคืื โโืืืงืจืึธืงืึธืืข ืืขืจืืืึทื ืืืงืื ืืขื;
- RSA ืขืคื ืืืขื ืฉืืืกื ืืึทืฉ, ืืืึธืก ืืืขืจืึทืคืืื ืื ืืกืืืข ืคืื โโืื ืืขื-ืืขืืืขืืึธืคึผืขื ืึทืงื (ืึทืืืืขื ืืืงืึทืืขื ืงืึธืื ืืึธืืืืข) ืงืึธื ืืึทืืืฉืืื, ืืืึธืก ืื ืงืคึผื ืงืขื ืขื ืงืึทืืขืจ ืืืืืขืจ ืืืืึธืืก ืืืจืืคืืจืื ื (ืืขืื ืืืงืจืึธืงืึธืืข) ืึธืืขืจ ืืขืฉืึทืก ืืืึทื ืึธืคึผืขืจืึทืฆืืข, ืืืขื ืืืืขืจ ืืขืฉืขืขื ืืฉื ืคึผืึทืกืืจื.
Intel ME
ืืื ืืืขืจ ืืืึธื ืืื ืืขืืึทืงืืืืึทื ืฆื ืืขื ืกืึทืืกืืกืืึทื . ืืื ืืื ืื ืฆืืจืืงืจืืคื ืึทื ืื ืขืงืกืขืงืืืึทืืืข ืกืืืืืืข ืืื ืืืืืจื ืืืืฃ ืึท ืืืงืจืึธืงืึธื ืืจืึธืืืขืจ ืืขืืืื ืืื ืื ืืฉืืคึผืกืขื ืืื ืืื ืื ืืขืจืกื ืคืึทืจืืึธืจืื ืืื ืคึผืจืืืืืืืืฉื ืืื ืื ืกืืกืืขื.
ืืจืึธืฅ ืืืื ืืขืกืึธืืืงืืึทื, Intel ME ืืื ืืืื ืึท ืืืึธืจืฆื ืคืื ืฆืืืจืื ืืืืึทื ืขืก ืืื:
- ME ROM - ื ืื-ืืืึทืืึทืืึทื, ื ืื-ืจืืจืืืืึทืืึทื ืืึผืจืื (ืงืืื ืืขืจืืืึทื ืืืงื ืืืคึฟื ืืื ืฆืืืขืฉืืขืื) ืืื ืื ืึธื ืืืื ืงืึธื, ืืื ืืขืืื ื ืืื ืื SHA256 ืืึทืฉ ืคืื ืื RSA ืขืคื ืืืขื ืฉืืืกื, ืืืึธืก ืืืขืจืึทืคืืื ืื ืืกืืืข ืคืื โโืื Intel ME ืคืืจืืืืึทืจืข;
- ืึทืขืก ืฉืืืกื ืคึฟืึทืจ ืกืืึธืจืื ื ืกืื ืืื ืคึฟืึธืจืืึทืฆืืข;
- ืึทืงืกืขืก ืฆื ืึท ืืึทื ื ืคืื ืคืืกืขืก (ืคืคืฃ, ืคืืขืื ืคึผืจืึธืืจืึทืืืึทืืืข ืคืืกืขืก) ืื ืึทืืจืืืืื ืืื ืื ืืฉืืคึผืกืขื ืคึฟืึทืจ ืฉืืขื ืืืง ืกืืึธืจืืืืฉ ืคืื ืขืืืขืืข ืืื ืคึฟืึธืจืืึทืฆืืข, ืึทืจืืึทื ืืขืจืขืื ื ืื ืกืคึผืขืกืืคืืขื ืืืจื ืื ืงืึธืืคึผืืืืขืจ ืกืืกืืขื ืคืึทืจืงืืืคืขืจ.
Intel Boot Guard 1.x
ื ืงืืืื ืึธืคึผืืืืงืขื ืื ื. ืื ืื ืืขื ืืึธืึธื ืืึทืจื ืืขืื ืึธืืึธืืืข ืืืขืจืกืืข ื ืืืขืจื ืืืึธืก ืืืจ ื ืืฆื ืืื ืืขื ืึทืจืืืงื ืืขื ืขื ืึทืจืืืืจืึทืจืืฉ ืืื ืงืขื ืืึธืื ืืึธืจื ืืฉื ืฆื ืืึธื ืืื ืื ื ืืืขืจืื ื ืืขื ืืฆื ืืื ืื ืืขื ืก ืื ืขืจืืขื ืืึทืงืืืืขื ืืืืฉืึทื. ืืื ืึทืืืฉืึทื, ืื ืืื ืคึฟืึธืจืืึทืฆืืข ืฆืืืขืฉืืขืื ืืึธ ืืืขืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืืขื ืืขืื ืึธืืึธืืืข ืืื ืืืงืืืขื ืืขืฉืึทืก ืคืึทืจืงืขืจื ืื ืืฉืขื ืืขืจืืข, ืืื ืงืขื ืึทื ืืืึทืืื ืื ืึทืงืืขืจืึทืกืื ืงืึทืืคึผืขืจื ืืื ืื ืกืคึผืขืกืึทืคืึทืงืืืฉืึทื ื ืคึฟืึทืจ Intel Boot Guard, ืืืึธืก ืืื ืึทื ืืืืงืื ืฆื ืืืื ืืจืืืก.
ืึทืืื, Intel Boot Guard (BG) ืืื ืึท ืืึทืื ืืืึทืจื-ืืขืฉืืืฆื UEFI ืืืืึธืืก ืึธืืขื ืืึทืงืืืฉืึทื ืืืขืจืึทืคืึทืงืืืฉืึทื ืืขืื ืึธืืึธืืืข. ืืืื ืืฉืคืื ืืืื ืืืื ืงืืจืฅ ืืึทืฉืจืืึทืืื ื ืืื ืืขื ืืื [ืคึผืืึทืืคืึธืจื ืขืืืขืืื ืืืืขืจืืืื ืืขืื ืึธืืึธืืืข ืืืืื, ืงืึทืคึผืืื ืฉืืืืื ืืื ืึธืจื ืืืขืืงืืึทื, ืึธืืขืจ ื ืื ืฉืืืืื], ืขืก ืึทืจืืขื ืืื ืึท ืืจืึทืกืืื ืฉืืืืื ืงืืื. ืืื ืืขืจ ืขืจืฉืืขืจ ืืื ืง ืืื ืขืก ืืื ืื ืฉืืืืื ืงืึธื (ืืืงืจืึธืงืึธืืข) ืื ืื ืงืคึผื, ืืืึธืก ืืื ืืจืืืขืจื ืืืจื ืื RESET ืืขืฉืขืขื ืืฉ (ื ืื ืฆื ืืืื ืฆืขืืืฉื ืืื ืื RESET ืืืขืงืืึธืจ ืืื ืื ืืืืึธืืก!). ืื ืงืคึผื ืืขืคืื ื ืึท ืงืึธื ืืึธืืืืข ืืขืืืขืืึธืคึผืขื ืืื ืืขืืชืืขื ืืืจื Intel (Intel BG ืกืืึทืจืืึทืคึผ ACM) ืืืืฃ ืื SPI ืืืืฅ ืืึผืจืื, ืืึธืืื ืขืก ืืื ืืืื ืงืึทืฉ, ืืืขืจืึทืคืืื (ืขืก ืืื ืฉืืื ืืืืขืจืงื ืืืืื ืึทื ืื ืงืคึผื ืืื ืึท ืืึทืฉ ืคืื ืื ืฆืืืืจ ืฉืืืกื ืืืึธืก ืืืขืจืึทืคืืื ืื ACM ืืกืืืข) ืืื ืืึธื ืืฉืื.

ืืขืจ ืงืึธื ืืึธืืืืข ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืืืขืจืึทืคืืืื ื ืึท ืงืืืื ืกืืึทืจืืื ื ืืืื ืคืื ืื UEFI BIOS - Initial Boot Block (IBB), ืืืึธืก, ืืื ืงืขืจ, ืึผืืื ืคืึทื ืืงืฉืึทื ืึทืืืื ืคึฟืึทืจ ืืืขืจืึทืคืืืื ื ืื ืืืืคึผื ืืืื ืคืื ืื UEFI ืืืืึธืืก. ืืืื, Intel BG ืึทืืึทืื ืืืจ ืฆื ืืึทืฉืืขืืืงื ืื ืึธืืึทื ืืืกืืื ืคืื ืื ืืืืึธืืก ืืืืืขืจ ืืึธืืืื ื ืื ืึทืก (ืืืึธืก ืงืขื ืขื ืืืื ืืืจืืืขืงืึธืื ืืื ืืขืจ ืื ืืฉืืื ืคืื ืืืืขืจ ืืึธืึธื ืืขืื ืึธืืึธืืืข).
Intel BG ืืขืื ืึธืืึธืืืข ืืื ืฆืืืื ืึธืคึผืขืจืืืืื ื ืืึธืืขืก (ืืื ืืืื ืขืจ ืืื ื ืืฉื ืึทืจืืึทื ืืืฉื ืืื ืืื ืื ืื ืืขืจืข, ื"ื ืืืืืข ืืึธืืขืก ืงืขื ืขื ืืืื ืขื ืืืืึทืื ืืืืฃ ืื ืกืืกืืขื, ืึธืืขืจ ืืืืืข ืงืขื ืขื ืืืื ืคืึทืจืงืจืืคึผืื).
ืืขืืืกืื ืฉืืืืื
ืืื ืืขืืืกืื ืฉืืืืื (MB) ืืึธืืข, ืืขืืขืจ ืฉืืืืื ืงืึธืืคึผืึธื ืขื ื (ืกืืึทืจืืื ื ืืื ืื ืงืคึผื ืฉืืืืื ืจืึทื) "ืืืืืขื" ืื ืืืืึทืืขืจ ืืื ืื ืงืืืคึผืึทืืืืึทืืื ืคืื ืื TPM (ืืจืึทืกืืขื ืคึผืืึทืืคืึธืจื ืืึธืืืืข). ืคึฟืึทืจ ืื ืืืืก ืืขื ืขื ื ืืฉื ืืื ืืขืจ ืืืืกื, ืืึธืื ืืืจ ืืขืจืงืืขืจื.
ืืคึผื ืืื ืคึผืงืจืก (ืคึผืืึทืืคืึธืจื ืงืึธื ืคืืืืจืึทืืืึธื ืจืขืืืฉืืกืืขืจืก), ืืื ืืืึธืก ืืขืจ ืจืขืืืืืึทื ืคืื ืื ืืึทืฉืื ื ืึธืคึผืขืจืึทืฆืืข ืืื ืืขืฉืจืืื ืืืื ืื ืคืึธืจืืืืข:

ืืขื ืข. ืื ืงืจืึทื ื ืคึผืงืจ ืืืขืจื ืืขืคึผืขื ืืก ืืืืฃ ืื ืคืจืืขืจืืืงืข, ืืื ืื ืจืขืืืฉืืกืืขืจื ืืขื ืขื ืืึทืฉืืขืืืง ืืืืื ืืืขื ืื ืกืืกืืขื ืืื ืืึทืฉืืขืืืง.
ืืืื, ืืื MB ืืึธืืข, ืืื ืขืืืขืืข ืคืื ื ืืื ืฆืืื, PCRs ืคืึทืจืืจืึทืืื ืืื ืึท ืืื ืฆืืง (ืืื ืื ืงืืืคึผืึทืืืืึทืืื ืคืื ืื ืืึทืฉืื ื ืึธืคึผืขืจืึทืฆืืข) ืืืขื ืืืคืืขืจ ืคืื ืื ืงืึธื ืึธืืขืจ ืืึทืื ืืืึธืก ืืื ืืขืืืขื "ืืขืืืกืื." PCR ืืืึทืืืขืก ืงืขื ืขื ืืืื ืืขืืืืื ื ืืื ืขืืืขืืข ืืึทืื ืขื ืงืจืืคึผืฉืึทื (TPM_Seal) ืึธืคึผืขืจืึทืฆืืข. ื ืึธื ืืขื, ืืืืขืจ ืืขืงืจืืคึผืืืึธื (TPM_Unseal) ืืืขื ืืืื ืืขืืืขื ืืืืื ืืืื ืื ืคึผืงืจ ืืืึทืืืขืก ืืึธืื ื ืืฉื ืืืืฉื ืืื ืึท ืจืขืืืืืึทื ืคืื ืืึธืืืื ื (ื"ื, ืงืืื ืืืื "ืืขืืืกืื" ืงืึธืืคึผืึธื ืขื ื ืืื ืืขืืืขื ืืึทืืึทืคืืื).
ืืืขืจืึทืคืืื ืฉืืืืื
ืื ืขืจืืกื ืืึทื ืคึฟืึทืจ ืื ืืืืก ืืื ืฆื ืืึธืืืคืืฆืืจื ืื UEFI ืืืืึธืืก ืืื ืื ืืืขืจืืคืืขื ืฉืืืืื (VB) ืืึธืืข, ืืื ืืืึธืก ืืขืืขืจ ืฉืืืืื ืงืึธืืคึผืึธื ืขื ื ืงืจืืคึผืืึธืืจืึทืคืืงืึทืืื ืืืขืจืึทืคืืื ืื ืึธืจื ืืืขืืงืืึทื ืืื ืึธืืึทื ืืืกืืื ืคืื ืืขืจ ืืืืึทืืขืจ ืืืื ืขืจ. ืืื ืืื ืคืึทื ืคืื ืึท ืืืขืจืึทืคืึทืงืืืฉืึทื ืืขืืช, (ืืืื ืขืจ ืคืื) ืืึทืคึผืึทื ื:
- ืฉืึทืืืึทืื ืืืจื ืืืืืึทืื ืคืื 1 ืืื ืื ืฆื 30 ืืื ืื (ืึทืืื ืึทื ืืขืจ ืืึทื ืืฆืขืจ ืืื ืฆืืึทื ืฆื ืคึฟืึทืจืฉืืืื ืืืึธืก ืืืื ืงืึธืืคึผืืืืขืจ ืืื ื ืืฉื ืฉืืืืื, ืืื, ืืืื ืืขืืืขื, ืคืจืืืื ืฆื ืืืงืขืจื ืื ืืืืึธืืก);
- ืืึทืืืืง ืฉืึทืืืึทืื (ืึทืืื ืึทื ืืขืจ ืืึทื ืืฆืขืจ ืืื ื ืืฉื ืืึธืื ืฆืืึทื ืฆื ืคึฟืึทืจืฉืืืื, ืคืื ืืืืื ืืงืขืจ ืืึธื ืขืคึผืขืก);
- ืคืึธืจืืขืฆื ืฆื ืึทืจืืขืื ืืื ืึท ืจืืืง ืืืืกืืจืืง (ืึทื ืคืึทื ืืืขื ืขืก ืืื ืงืืื ืฆืืื ืคึฟืึทืจ ืืืืขืจืงืืึทื, ืืืืึทื ืขืก ืืขื ืขื ืืขืจ ืืืืืืืง ืืืื ืฆื ืืึธื).
ืื ืืจืืจื ืคืื ืงืึทืืฃ ืืขืคึผืขื ืืก ืืืืฃ ืื ืกืคึผืขืกืืคืืขื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื (ื ืืืืื ืืืืฃ ืื ืึทืืื ืืขืจืืคืขื ืข ืขื ืคืึธืจืกืืึทื ื ืคึผืึธืืืืืง), ืืืึธืก ืืื ืคึผืขืจืืึทื ืึทื ืืื ืจืขืงืึธืจืืขื ืืืจื ืื ืงืึธืืคึผืืืืขืจ ืคึผืืึทืืคืึธืจืืข ืคืึทืจืงืืืคืขืจ ืืื ืึท ืกืคึผืขืฉืื ืืืืืื ื ืกืืึธืจืืืืฉ - ืืฉืืคึผืกืขื ืคืืกืขืก (ืคืคืฃ). ืืืจ ืืืขืื ืืืืื ืขื ืืืืฃ ืืขื ืคืื ื ืืื ืืขืจ ืืขืืึทื ืฉืคึผืขืืขืจ.
ืืื ืึทืืืฉืึทื ืฆื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื, ืืขืจ ืคืึทืจืงืืืคืขืจ ืืืฉืขื ืขืจืืืฅ ืฆืืืื RSA 2048 ืฉืืืกืืขื ืืื ืงืจืืืืฅ ืฆืืืื ืืึทืื ืกืืจืึทืงืืฉืขืจื (ืืขืืืืื ืืื ืื ืคืืืืจ):
- ืื ืืืึธืจืฆื ืฉืืืกื ืืึทื ืึทืคืขืกืืืืฉืึทื ืคืื ืื ืคืึทืจืงืืืคืขืจ (KEYM, OEM Root Key Manifest), ืืืึธืก ืึผืืื ืื SVN (ืกืขืงืืจืืื ืืืขืจืกืืข ื ืืืขืจ) ืคืื ืืขื ืืึทื ืืคืขืกืืึธ, ืื SHA256 ืืึทืฉ ืคืื ืื ืขืคื ืืืขื ืฉืืืกื ืคืื ืืขืจ ืืืืึทืืขืจ ืืึทื ืืคืขืกืืึธ, ืื RSA ืขืคื ืืืขื ืฉืืืกื (ื"ื ืืขืจ ืฆืืืืจ ืืืื ืคืื ืื ืืึทื ืืคืขืกืืึธื). ืคืึทืจืงืืืคืขืจ ืก ืืืึธืจืฆื ืฉืืืกื) ืฆื ืืึทืฉืืขืืืงื ืื ืืกืืืข ืคืื โโืืขื ืืึทื ืืคืขืกืืึธ ืืื ืื ืืกืืืข ืืื;
- IBB Manifest (IBBM, Initial Boot Block Manifest), ืืืึธืก ืึผืืื ืื SVN ืคืื ืืขื ืืึทื ืืคืขืกื, ืื SHA256 ืืึทืฉ ืคืื IBB, ืืขืจ ืฆืืืืจ ืฉืืืกื ืคึฟืึทืจ ืืืขืจืึทืคืืืื ื ืื ืืกืืืข ืคืื โโืืขื ืืึทื ืืคืขืกื ืืื ืื ืืกืืืข ืืื.
ืื SHA256 ืืึทืฉ ืคืื ืื ืึธืขื ืืืึธืจืฆื ืงืื ืขืคื ืืืขื ืฉืืืกื ืืื ืคึผืขืจืืึทื ืึทื ืืื ืจืขืงืึธืจืืขื ืืื ืืฉืืคึผืกืขื ืคืืกืขืก (FPFs), ืคึผืื ืงื ืืื ืื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื. ืืืื ืื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื ืื ืื ืงืืืืฉืึทื ืคืื ืืขื ืืขืื ืึธืืึธืืืข, ืคึฟืื ืืืฆื ืืืืฃ ืืืืื ืื ืืึทืืืฆืขืจ ืคืื ืื ืคึผืจืืืืึทื ืืืื ืคืื ืื ืึธืขื ืืืึธืจืฆื ืฉืืืกื ืงืขื ืขื ืืขืจืืืึทื ืืืงื ืื ืืืืึธืืก ืืืืฃ ืืขื ืกืืกืืขื (ื"ื ืงืขื ืขื ืจืืงืึทืืงืืึทืืืื ืื ืืึทื ืืคืขืกืฅ), ื"ื. ืคืึทืจืงืืืคืขืจ.

ืืืขื ืืืจ ืงืืง ืืื ืื ืืืื, ืืื ืืืืคืฉืืืื ืกืคืงืืช ืืืขืื ืื ื ืืื ืคึฟืึทืจ ืึทืืึท ืึท ืืึทื ื ืืืขืจืึทืคืึทืงืืืฉืึทื ืงืืื - ืืื ืงืขื ืืึธืื ืืขื ืืฆื ืืืื ืืึทืฉืืึทืืคึผืขืจืืขื. ืคืืจืืืืก ืงืึธืืคึผืืืฆืืจื ืืืื?
ืืื ืคืึทืงื, ืื ืืขื ืืื ืื ืคืึทืจืงืืืคืขืจ ืื ืืขืืขืื ืืืื ืฆื ื ืืฆื ืคืึทืจืฉืืืขื ืข IBB ืฉืืืกืืขื ืคึฟืึทืจ ืคืึทืจืฉืืืขื ืข ืฉืืจืืช ืคืื ืืืึทื ืคึผืจืึธืืืงืื ืืื ืืืื ืขืจ ืืื ืืขืจ ืืืึธืจืฆื ืฉืืืกื. ืืืื ืื ืคึผืจืืืืึทื ืืืื ืคืื ืื IBB ืฉืืืกื (ืืื ืืืึธืก ืื ืจืืข ืืึทื ืึทืคืขืกืืืืฉืึทื ืืื ืืขืืชืืขื) ืืืงืก, ืืขืจ ืืื ืฆืืืขื ื ืืืขื ืืืืจืงื ืืืืื ืืืื ืคึผืจืึธืืืงื ืฉืืจื ืืื ืืืืื ืืื ืืขืจ ืคืึทืจืงืืืคืขืจ ืืืฉืขื ืขืจืืืฅ ืึท ื ืืึทืข ืคึผืึธืจ ืืื ืื ืงืืืื ืื ืจืืงืึทืืงืืึทืืืืืื ืืึทื ืึทืคืขืกืืืืฉืึทื ื ืืื ืืขืจ ืืืืึทืืขืจ ืืืืึธืืก ืืขืจืืืึทื ืืืงื.
ืึธืืขืจ ืืืื ืืขืจ ืืืึธืจืฆื ืฉืืืกื (ืืื ืืืึธืก ืืขืจ ืขืจืฉืืขืจ ืืึทืฉืืึทืืคึผืขืจืืขื ืืื ืืขืืชืืขื) ืืื ืงืึทืืคึผืจืึทืืืืื, ืขืก ืืื ื ืื ืืขืืืขื ืฆื ืคืึทืจืืืึทืื ืขืก; ืขืก ืืื ืงืืื ืจืขืืืึธืงืึทืืืึธื ืคึผืจืึธืฆืขืืืจ. ืื ืืึทืฉ ืคืื ืืขื ืฆืืืืจ ืืืื ืคืื ืืขื ืฉืืืกื ืืื ืคึผืจืึธืืืจืึทืื ืืื FPF ืึทืืึธื ืืื ืคึฟืึทืจ ืึทืืข.
ืื ืืขื ืืึธืึธื ืืึทืจื ืงืึทื ืคืืืืขืจืืืฉืึทื
ืืืฆื ืืึธืื ืืื ืื ื ืขืืขื ืึท ื ืขืขื ืืขืจ ืงืืง ืืื ืื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื ืืขืจ ืคึผืจืึธืฆืขืก ืคืื ืงืจืืืืืื ื ืขืก. ืืืื ืืืจ ืงืืง ืืื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืงืืืืื ืืื ืื GUI ืคืื ืื ืคืืึทืฉ ืืืื ืืื ื ืืฆื ืคืื ืื Intel System Tool Kit (STK), ืืืจ ืืืขื ืืึทืืขืจืงื ืึทื ืื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื ืืืื ืึท ืืึทืฉ ืคืื ืื ืฆืืืืจ ืืืื ืคืื ืื ืืืึธืจืฆื ืฉืืืกื ืคืื ืื ืคืึทืจืงืืืคืขืจ, ืึท ืคึผืึธืจ ืคืื ืืืืงืืืจืข ืืืขืจืื ืืื'. Intel BG ืคึผืจืึธืคืื.

ืื ืกืืจืืงืืืจ ืคืื ืืขื ืคึผืจืึธืคืื:
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;
};ืืื ืึทืืืขืืืื, ืื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื ืึท ืืืืขืจ ืคืืขืงืกืึทืืึทื ืขื ืืืื. ืืึทืืจืึทืืื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืื Force_Boot_Guard_ACM ืคืึธื. ืืืขื ืขืก ืืื ืึทืืืขืงืืขื ืืืขื, ืืืื ืื BG ืกืืึทืจืืึทืคึผ ืึทืงื ืืึธืืืืข ืืืืฃ ืื SPI ืืืืฅ ืืื ื ืืฉื ืืขืคึฟืื ืขื, ืงืืื ืืจืึทืกืืื ืฉืืืืื ืืืขื ืคึผืึทืกืืจื. ืื ืืืขื ืืืื ืึทื ืืจืึทืกื.
ืืืจ ืฉืืื ืืขืฉืจืืื ืืืืื ืึทื ืื ืขื ืคืึธืจืกืืึทื ื ืคึผืึธืืืืืง ืคึฟืึทืจ VB ืืึธืืข ืงืขื ืขื ืืืื ืงืึทื ืคืืืืขืจื ืึทืืื ืึทื ืืืื ืขืก ืืื ืึท ืืืขืจืึทืคืึทืงืืืฉืึทื ืืขืืช, ืึทื ืึทื ืืจืึทืกืืื ืืจืืคืงืืคืืข ืืืขื ืคึผืึทืกืืจื.
ืืึธืื ืึทืืึท ืืืื ืืื ืื ืืืกืงืจืขืฉืึทื ืคืื ืื ืืืขื ืืึธืจืก ...
ืื GUI ื ืืฆื ืืื ืื ืคืืืืขื ืืข "ืคืึทืจืืืง" ืคึผืจืึธืืคืืืื:
ื ืื
ืืึธืืข
ืืึทืฉืจืืึทืืื ื
0
No_FVME
Intel BG ืืขืื ืึธืืึธืืืข ืคืึทืจืงืจืืคึผืื
1
VE
ืืื ืืึธืืข ืืื ืขื ืืืืึทืื, ืฉืึทืืืึทืื ืืืจื ืืืืืึทืื
2
VME
ืืืืืข ืืึธืืขืก ืืขื ืขื ืขื ืืืืึทืื (VB ืืื MB), ืฉืึทืืืึทืื ืืืจื ืืืืืึทืื
3
VM
ืืืืืข ืืึธืืขืก ืืขื ืขื ืขื ืืืืึทืื, ืึธื ืืืืกืืขืืจืืื ืึทืืืขืง ืื ืกืืกืืขื
4
FVE
ืืื ืืึธืืข ืขื ืืืืึทืื, ืืึทืืืืง ืฉืึทืืืึทืื
5
FVME
ืืืืืข ืืึธืืขืก ืขื ืืืืึทืื, ืืึทืืืืง ืฉืึทืืืึทืื
ืืื ืฉืืื ืืขืจืืื ื, ืื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื ืืืื ืืืื ืืขืฉืจืืื ืึทืืึธื ืืื ืคึฟืึทืจ ืึทืืข ืืืจื ืื ืกืืกืืขื ืคืึทืจืงืืืคืขืจ ืืื ืืฉืืคึผืกืขื ืคืืกืขืก (FPFs) - ืึท ืงืืืื (ืืืื ืฆื ืึทื ืืืขืจืึทืคืืื ืืื ืคึฟืึธืจืืึทืฆืืข, ืืืืื 256 ืืืืขืก) ืืึทืื ืืืึทืจื ืกืืึธืจืืืืฉ ืคืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืื ืื ืืฉืืคึผืกืขื, ืืืึธืก ืงืขื ืขื ืืืื ืคึผืจืึธืืืจืึทืื. ืึทืจืืืก ืื ืืขื ืก ืคึผืจืึธืืืงืฆืืข ืคืึทืกืืืึทืืื (ืึทื ืก ืืืึธืก ืคึผืื ืงื ืคืขืื ืคึผืจืึธืืจืึทืืืึทืืืข ืคืืกืขืก).
ืขืก ืืื ืืจืืืก ืคึฟืึทืจ ืกืืึธืจืื ื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืืืึทื:
- ืืื ืึท ืืืื-ืฆืืึทื ืคึผืจืึธืืจืึทืืืึทืืืข ืืขืื ื ืคึฟืึทืจ ืกืืึธืจืื ื ืืึทืื (ืคึผืื ืงื ืืื ืื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื ืืขืฉืจืืื);
- ืืืืื Intel ME ืงืขื ืขื ืืืืขื ืขื ืืื ืคึผืจืึธืืจืึทื ืขืก.
ืึทืืื, ืืื ืกืืจ ืฆื ืฉืืขืื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืคึฟืึทืจ Intel BG ืืขืื ืึธืืึธืืืข ืืืืฃ ืึท ืกืคึผืขืฆืืคืืฉ ืกืืกืืขื, ืืขืจ ืคืึทืจืงืืืคืขืจ ืืื ืื ืคืืืืขื ืืข ืืขืฉืึทืก ืคึผืจืึธืืืงืฆืืข:
- ื ืืฆื ืื Flash Image Tool ื ืืฆื (ืคืื Intel STK), ืขืก ืงืจืืืืฅ ืึท ืคืืจืืืืึทืจืข ืืืื ืืื ืึท ืืขืืขืื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื ืื ืคืึธืจืขื ืคืื ืืืขืจืืึทืืึทืื ืืื ืื Intel ME ืืขืื ื (ืื ืึทืืื ืืขืจืืคืขื ืข ืฆืืึทืืืืืึทืืืง ืฉืคึผืืื ืคึฟืึทืจ FPFs);
- ื ืืฆื ืื ืคืืึทืฉ ืคึผืจืึธืืจืึทืืืื ื ืืื ื ืืฆื (ืคึฟืื Intel STK), ืขืก ืฉืจืืืื ืืขื ืืืื ืฆื ืื SPI ืืืืฅ ืืึผืจืื ืคืื ืื ืกืืกืืขื ืืื ืงืืึธืืืื ืื ืึทืืื ืืขืจืืคืขื ืข. ืืึทื ืืคืึทืงืืืจืื ื ืืึธืืข (ืืื ืืขื ืคืึทื, ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืืึทืคึฟืขื ืืื ืืขืฉืืงื ืฆื Intel ME).
ืืื ืึท ืจืขืืืืืึทื ืคืื ืื ืึทืคึผืขืจืืืฉืึทื ื, Intel ME ืืืขื ืืืขืจืืขืื ืื ืกืคึผืขืกืืคืืขื ืืืึทืืืขืก ืคืื ืืขืจ ืฉืคึผืืื ืคึฟืึทืจ FPFs ืืื ืื ME ืืขืื ื ืฆื FPFs, ืฉืืขืื ืื ืจืขืืึทืืืฉืึทื ื ืืื SPI ืืืืฅ ืืืกืงืจืืคึผืืึธืจืก ืฆื ืื ืืืึทืืืขืก ืจืขืงืึทืืขื ืืื ืืืจื Intel (ืืืกืงืจืืืื ืืื ืื ืึธื ืืืื ืคืื ืื ืึทืจืืืงื) ืืื ืืืจืืคืืจื ืึท ืกืืกืืขื ืืึทืฉืืขืืืง.
ืึทื ืึทืืืกืืก ืคืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื Intel Boot Guard
ืืื ืกืืจ ืฆื ืึทื ืึทืืืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืืขื ืืขืื ืึธืืึธืืืข ืืื ืึท ืกืคึผืขืฆืืคืืฉ ืืืึทืฉืคึผืื, ืืืจ ืึธืคึผืืขืฉืืขืื ืื ืคืืืืขื ืืข ืกืืกืืขืืขื ืคึฟืึทืจ ืืจืึทืกืขืก ืคืื Intel BG ืืขืื ืึธืืึธืืืข:
ืกืืกืืขื
ืืึธื
ืืืืืืืื GA-H170-D3H
Skylake, ืขืก ืืื ืฉืืืฆื
ืืืืืืืื GA-Q170-D3H
Skylake, ืขืก ืืื ืฉืืืฆื
ืืืืืืืื GA-B150-HD3
Skylake, ืขืก ืืื ืฉืืืฆื
MSI H170A Gaming Pro
Skylake, ืงืืื ืฉืืืฆื
Lenovo ืืื ืืงืคึผืึทื 460
Skylake, ืืขืฉืืืฆื, ืืขืื ืึธืืึธืืืข ืขื ืืืืึทืื
Lenovo ืืึธืืึท 2 Pro
ืืึทืกืืืขื, ืงืืื ืฉืืืฆื
Lenovo U330p
ืืึทืกืืืขื, ืงืืื ืฉืืืฆื
ืืื "ืฉืืืฆื" ืืืจ ืืืื ืขื ืื ืืืึทืืืึทื ืคืื ืื Intel BG ืกืืึทืจืืึทืคึผ ืึทืงื ืืึธืืืืข, ืื ืืึทื ืึทืคืขืกืฅ ืืขืจืืื ื ืืืืื ืืื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืงืึธื ืืื ืื ืืืืึธืืก, ื.ืข. ืืืคึผืืึทืืขื ืืืืฉืึทื ืคึฟืึทืจ ืึทื ืึทืืืกืืก.
ืืื ืึท ืืืึทืฉืคึผืื, ืืึธืื ืืื ืื ื ืขืืขื ืื ืืึทืื ืืึธืืืื ืคืื ืื ืึธืคืืก. ืคืึทืจืงืืืคืขืจ ืืืขืืืืืื ืืืื ืคืื SPI ืืืืฅ ืืึผืจืื ืคึฟืึทืจ Gigabyte GA-H170-D3H (ืืืขืจืกืืข F4).
ืื ืืขื ืงืคึผื ืฉืืืืื ืจืึทื
ืขืจืฉืืขืจ ืคืื ืึทืืข, ืืึธืื ืก ืจืขืื ืืืขืื ืื ืึทืงืฉืึทื ื ืคืื ืื ืคึผืจืึทืกืขืกืขืจ ืืืื Intel BG ืืขืื ืึธืืึธืืืข ืืื ืขื ืืืืึทืื.
ืขืก ืืื ื ืื ืืขืืืขื ืฆื ืืขืคึฟืื ืขื ืกืึทืืคึผืึทืื ืคืื ืืขืงืจืืคึผืืื ืืืงืจืึธืงืึธืืข, ืึทืืื ืืื ืื ืึทืงืฉืึทื ื ืืืกืงืจืืืื ืืื ืื ืืขื ืขื ืืืคึผืืึทืืขื ืึทื (ืืื ืืืงืจืึธืงืึธืืข ืึธืืขืจ ืืึทืื ืืืึทืจื) ืืื ืึทื ืึธืคึฟื ืงืฉืื. ืึธืืขืจ, ืขืก ืืื ืึท ืคืึทืงื ืึทื ืืึธืืขืจื ืื ืืขื ืคึผืจืึทืกืขืกืขืจื "ืงืขื ืขื" ืืืจืืคืืจื ืื ืึทืงืฉืึทื ื.
ื ืึธื ืึทืจืืืกืืึทื ื ืื RESET ืฉืืึทื, ืืขืจ ืคึผืจืึทืกืขืกืขืจ (ืื ืืื ืืึทืื ืคืื ืื ืืืืฅ ืืึผืจืื ืืื ืฉืืื ืืึทืคึผื ืืื ืื ืึทืืจืขืก ืคึผืืึทืฅ) ืืขืคืื ื ืื FIT (Firmware Interface Table) ืืืฉ. ืขืก ืืื ืืจืื ื ืฆื ืืขืคึฟืื ืขื; ืืขืจ ืืืึทืื ืฆื ืขืก ืืื ืืขืฉืจืืื ืืื ืึทืืจืขืก FFFF FFC0h.

ืืื ืืขื ืืืึทืฉืคึผืื ืืื ืืขืจ ืืึทืืจืึทืืืื ื, ืื ืืืขืจื FFD6 9500h ืืื ืืืื ืืื ืืขื ืึทืืจืขืก. ืืืจื ืึทืงืกืขืก ืืขื ืึทืืจืขืก, ืืขืจ ืคึผืจืึทืกืขืกืขืจ ืืขื ืื FIT ืืืฉ, ืื ืืื ืืึทืื ืคืื ืืืึธืก ืืื ืฆืขืืืืื ืืื ืจืขืงืึธืจืืก. ืืขืจ ืขืจืฉืืขืจ ืคึผืึธืืืฆืืข ืืื ืื ืืขืืขืจ ืคืื ืื ืคืืืืขื ืืข ืกืืจืืงืืืจ:
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;
}; 
ืคึฟืึทืจ ืขืืืขืืข ืืืืืึทืงืึทื ื ืกืืื, ืื ืืฉืขืงืงืกืื ืืื ื ืื ืฉืืขื ืืืง ืงืึทืืงืืึทืืืืืื ืืื ืื ืืืฉื (ืื ืคืขืื ืืื ืืื ืงืก ื ืื).
ืื ืืืืขืจืืงืข ืืืื ืกื ืืืืืื ืืืืฃ ืคืืจืฉืืืขื ืข ืืืื ืขืจืืขืก ืืืืก ืืืจืคื ืืืื ืคืืจืฉืืขืื/ืืืืกืืขืคืืจื ืืืืืขืจ ืื ืืืืึธืืก ืืื ืขืงืกืึทืงืืืืึทื, ื.ื. ืืืืืขืจ ืืืจ ืืึทืฉืืืืขื ืฆื ืื ืืขืืึทื ืจืขืกืขื ืืืขืงืืึธืจ (FFFF FFF0h). ืื ืกืืจืืงืืืจ ืคืื ืืขืืขืจ ืึทืืึท ืคึผืึธืืืฆืืข ืืื ืืื ืืืื:
typedef struct FIT_ENTRY
{
unsigned long BaseAddress;
unsigned long : 32;
unsigned long Size;
unsigned short Version; // 1.0
unsigned char EntryType;
unsigned char Checksum;
}; 
ืื EntryType ืคืขืื ืืขืจืฆืืืื ืืืจ ืืขื ืืืคึผ ืคืื ืืืึธืง ืืขื ืคึผืึธืืืฆืืข ืืืืืื ืฆื. ืืืจ ืืืืกื ืขืืืขืืข ืืืืคึผืก:
enum FIT_ENTRY_TYPES
{
FIT_HEADER = 0,
MICROCODE_UPDATE,
BG_ACM,
BIOS_INIT = 7,
TPM_POLICY,
BIOS_POLICY,
TXT_POLICY,
BG_KEYM,
BG_IBBM
};ืืืฆื ืขืก ืืื ืงืืึธืจ ืืื ืืขืจ ืืึธื ืึทื ืืืื ืขืจ ืคืื ืื ืืืื ืกื ืืืืืื ืฆื ืื ืึธืจื ืคืื ืื Intel BG ืกืืึทืจืืึทืคึผ ืึทืงื ืืืื ืขืจื. ืื ืืขืืขืจ ืกืืจืืงืืืจ ืคืื ืืขื ืืืื ืขืจื ืืื ืืืคึผืืฉ ืคึฟืึทืจ ืงืึธื ืืึทืืืฉืืื ืืขืืืขืืึธืคึผืขื ืืืจื Intel (ACMS, ืืืงืจืึธืงืึธืืข ืืขืจืืืึทื ืืืงืื ืืขื, Intel ME ืงืึธื ืกืขืงืฉืึทื ื, ...).
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];
}; 
ืืขืจ ืคึผืจืึทืกืขืกืขืจ ืืึธืืื ืืขื ืืืื ืขืจื ืืื ืืืื ืงืึทืฉ, ืืืขืจืึทืคืืื ืขืก ืืื ืืืืคื ืขืก.
Intel BG ืกืืึทืจืืึทืคึผ ืึทืงื
ืืื ืึท ืจืขืืืืืึทื ืคืื ืึทื ืึทืืืืืื ื ืื ืึทืจืืขื ืคืื ืืขื ACM, ืขืก ืืื ืืขืืืืจื ืงืืึธืจ ืึทื ืขืก ืืื ืื ืคืืืืขื ืืข:
- ืืืงืืื ืื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื ืคืื Intel ME, ืืขืฉืจืืื ืืื ืืฉืืคึผืกืขื ืคืืกืขืก (FPFs);
- ืืขืคืื ื KEYM ืืื IBBM ืืึทื ืืคืขืกืฅ ืืื ืืืขืจืึทืคืืื ืืื.
ืฆื ืืขืคึฟืื ืขื ืื ืืึทื ืืคืขืกืฅ, ACM ืืืื ื ืืฆื ืื FIT ืืืฉ, ืืืึธืก ืืื ืฆืืืื ืคึผืึธืืืฆืืข ืืืืคึผืก ืฆื ืึธื ืืืืึทืื ืกืืจืืงืืืจ ืืึทืื (ืืขื FIT_ENTRY_TYPES ืืืืื).
ืืึธืืืจ ื ืขืืขื ืึท ื ืขืขื ืืขืจ ืงืืง ืืื ืืึทื ืืคืขืกืืึธืก. ืืื ืืขืจ ืกืืจืืงืืืจ ืคืื ืืขืจ ืขืจืฉืืขืจ ืืึทืฉืืึทืืคึผืขืจืืขื, ืืืจ ืืขื ืขืืืขืืข ืืืง ืงืึทื ืกืืึทื ืฅ, ืึท ืืึทืฉ ืคืื ืื ืฆืืืืจ ืฉืืืกื ืคืื ืื ืจืืข ืืึทืฉืืึทืืคึผืขืจืืขื, ืืื ืืขืจ ืฆืืืืจ ืึธืขื ืืืึธืจืฆื ืงืื ืืขืืชืืขื ืืื ืึท ื ืขืกืืขื ืกืืจืืงืืืจ:
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];
}; 
ืฆื ืืึทืฉืืขืืืงื ืื ืึธืขื ืืืึธืจืฆื ืงืื ืขืคื ืืืขื ืฉืืืกื, ืืืจ ืฆืืจืืงืจืืคื ืึทื ืืืจ ื ืืฆื ืื SHA256 ืืึทืฉ ืคืื ืคืืกืขืก, ืืืึธืก ืืื ืืขื ืคืื ื ืืื ืฉืืื ืืืงืืืขื ืคืื Intel ME.
ืืึธืืืจ ืืฒื ืฐืฒึทืืขืจ ืฆืื ืฆืฐืฒืื ืืึทื ืืคืขืกืืึธ. ืขืก ืืืฉืืืื ืคืื ืืจืืึท ืกืืจืึทืงืืฉืขืจื:
typedef struct IBB_MANIFEST
{
ACBP Acbp; // Boot policies
IBBS Ibbs; // IBB description
IBB_DESCRIPTORS[];
PMSG Pmsg; // IBBM signature
};ืืขืจ ืขืจืฉืืขืจ ืึผืืื ืขืืืขืืข ืงืึทื ืกืืึทื ืฅ:
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
};ืื ืจืืข ืึผืืื ืื SHA256 ืืึทืฉ ืคืื ืื IBB ืืื ืื ื ืืืขืจ ืคืื ืืืกืงืจืืคึผืืึธืจืก ืืืึธืก ืืึทืฉืจืืึทืื ืื ืืื ืืึทืื ืคืื ืื IBB (ื"ื, ืืืึธืก ืื ืืึทืฉ ืืื ืงืึทืืงืืึทืืืืืื ืคืื):
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 ืืืกืงืจืืคึผืืึธืจืก ื ืึธืืืืื ืืขื ืกืืจืืงืืืจ, ืืืื ืขืจ ื ืึธื ืื ืื ืืขืจืข. ืืืืขืจ ืืื ืืึทืื ืืื ืื ืคืืืืขื ืืข ืคึฟืึธืจืืึทื:
typedef struct IBB_DESCRIPTOR
{
unsigned long : 32;
unsigned long BaseAddress;
unsigned long Size;
};ืขืก ืืื ืคึผืฉืื: ืืขืืขืจ ืืืกืงืจืืคึผืืึธืจ ืึผืืื ืื ืึทืืจืขืก / ืืจืืืก ืคืื ืื IBB ืคึผืืึทืืข. ืืืื, ืื ืงืึทื ืงืึทืืึทื ืืืฉืึทื ืคืื ืื ืืืึทืงืก ืฉืคึผืืฆืืง ืฆื ืืืจื ืื ืืืกืงืจืืคึผืืึธืจืก (ืืื ืืขืจ ืกืืจ ืคืื ืื ืืืกืงืจืืคึผืืึธืจืก ืืื) ืืื ืืื. ืืื, ืืื ืึท ืืขืจืฉื, IBB ืืื ืื ืืึทืืืื ื ืคืื ืึทืืข ืืึทืืืฉืืื ืคืื ืื SEC ืืื PEI ืคืึทืกืขืก.
ืื ืฆืืืืืืข ืืึทื ืึทืคืขืกืืืืฉืึทื ืืื ืืขืขื ืืืงื ืืืจื ืึท ืกืืจืืงืืืจ ืืื ืื IBB ืขืคื ืืืขื ืฉืืืกื (ืืืขืจืึทืคืืื ืืืจื ืื SHA256 ืืึทืฉ ืคึฟืื ืืขืจ ืขืจืฉืืขืจ ืืึทืฉืืึทืืคึผืขืจืืขื) ืืื ืื ืืกืืืข ืคืื โโืืขื ืืึทืฉืืึทืืคึผืขืจืืขื:
typedef struct PMSG
{
char Tag[8]; // โ__PMSG__โ
unsigned char : 8; // 10h
BG_RSA_ENTRY IbbKey;
}; 
ืึทืืื, ืืคืืื ืืืืืขืจ ืื UEFI ืืืืึธืืก ืกืืึทืจืฅ ืขืงืกืึทืงืืืืื ื, ืืขืจ ืคึผืจืึทืกืขืกืขืจ ืืืขื ืงืึทืืขืจ ACM, ืืืึธืก ืืืขื ืืึทืฉืืขืืืงื ืื ืึธืืึทื ืืืกืืื ืคืื ืื ืืื ืืึทืื ืคืื ืื ืกืขืงืฉืึทื ื ืืื ืื SEC ืืื PEI ืคืึทืกืข ืงืึธื. ืืขืจื ืึธื, ืืขืจ ืคึผืจืึทืกืขืกืขืจ ืืงืกืืื ACM, ืืืื ืื RESET ืืืขืงืืึธืจ ืืื ืืืืื ืฆื ืืืจืืคืืจื ืื ืืืืึธืืก.
ืื ืืืขืจืึทืคืืื PEI ืฆืขืืืืืื ื ืืืื ืึทื ืืืึทืืื ืึท ืืึธืืืืข ืืืึธืก ืืืขื ืงืึธื ืืจืึธืืืจื ืื ืจืขืฉื ืคืื ืื ืืืืึธืืก (DXE ืงืึธื). ืืขืจ ืืึธืืืืข ืืื ืฉืืื ืืขืืืขืืึธืคึผืขื ืืืจื IBV (ืื ืืขืคึผืขื ืืขื ื ืืืืึธืืก ืคืึทืจืงืืืคืขืจ) ืึธืืขืจ ืื ืกืืกืืขื ืคืึทืจืงืืืคืขืจ ืืื. ืืืืึทื ืืืืื Lenovo ืืื Gigabyte ืกืืกืืขืืขื ืืขื ืขื ืืขืืืขื ืืื ืืื ืืืขืจ ืืึทืืืึทืืืงืื ื ืืื ืืึธืื ืื ืืขื ืื ืฉืืืฆื; ืืึธืืืจ ืงืืงื ืืื ืื ืงืึธื ืืงืกืืจืึทืงืืื ืคืื ืื ืกืืกืืขืืขื.
UEFI ืืืืึธืืก ืืึธืืืืข LenovoVerifiedBootPei
ืืื ืืขื ืคืึทื ืคืื Lenovo, ืขืก ืืื ืืขืืืขื ืื LenovoVerifiedBootPei ืืึธืืืืข {B9F2AC77-54C7-4075-B42E-C36325A9468D}, ืืขืืืขืืึธืคึผืขื ืืืจื Lenovo.
ืืืื ืึทืจืืขื ืืื ืฆื ืงืืงื ืึทืจืืืฃ (ืืืจื GUID) ืื ืืึทืฉ ืืืฉ ืคึฟืึทืจ ืื DXE ืืื ืืึทืฉืืขืืืงื ืื DXE.
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 ืืืืึธืืก ืืึธืืืืข BootGuardPei
ืืื ืืขื ืคืึทื ืคืื ืืืืืืืื, ืขืก ืืื ืืขืืืขื ืื BootGuardPei ืืึธืืืืข {B41956E1-7CA2-42DB-9562-168389F0F066}, ืืขืืืขืืึธืคึผืขื ืืืจื AMI, ืืขืจืืืขืจ, ืคืึธืจืฉืืขืื ืืื ืงืืื ืึทืื ืืืืึธืืก ืืื Intel BG ืฉืืืฆื.
ืืืื ืึทืคึผืขืจืืืืื ื ืึทืืืขืจืืืึทื ืืื ืขืคึผืขืก ืึทื ืืขืจืฉ, ืึธืืขืจ, ืขืก ืืืืื ืึทืจืึธืคึผ ืฆื ืื ืืขืืืข ืืึทื:
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;
}ืื ืืึทืฉ ืืืฉ {389CC6F2-1EA8-467B-AB8A-78E769AE2A15} ืขืก ืืื ืงืืงื ืคึฟืึทืจ ืืื ืื ืคืืืืขื ืืข ืคึฟืึธืจืืึทื:
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
ืืื ืก ืืขืงืืฆืขืจ ืจืขืื ืืืขืื ืื ืื ืืขืจ ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื Intel Boot Guard, ืืืึธืก ืืื ืืขืคึฟืื ืขื ืืื ืึท ื ืืึทืขืจ ืกืืกืืขื ืืืืืจื ืืืืฃ Intel SoC ืืื Apollo Lake ืืืงืจืึธืึทืจืืฉืืืขืงืืืจืข - ASRock J4205-IT.
ืืึธืืฉ ืื ืืืขืจืกืืข ืืืขื ืืืื ืืขืืืืื ื ืืืืื ืืื ืกืึธืงืก (ื ืืึท ืกืืกืืขืืขื ืืื ืงืึทืื ืืืืง ืคึผืจืึทืกืขืกืขืจ ืืืงืจืึธืึทืจืืฉืืืขืงืืืจืข ืคืึธืจืืขืฆื ืฆื ื ืืฆื Intel Boot Guard 1.x), ืขืก ืืื ืคืื ืืจืืืก ืืื ืืขืจืขืก ืฆื ืืขืจื ืขื ืื ื ืืึทืข ืึทืจืงืึทืืขืงืืฉืขืจ ืึธืคึผืฆืืข ืคึฟืึทืจ Intel SoC ืคึผืืึทืืคืึธืจืืก, ืืืึธืก ืืึธืื ืืขืืขื ืืึทืืืึทืืืง ืขื ืืขืจืื ืืขื, ืืืฉื:
- ืื ืืืืึธืืก ืืื Intel ME ืืงืืืืช (ืึธืืขืจ ืืึทื ืฅ Intel TXE, ืืืื ืื ืืขืจืืื ืึธืืึธืืืข ืคึฟืึทืจ Intel SoC) ืืขื ืขื ืืืฆื ืืืื IFWI ืืขืื ื;
- ืืึธืืฉ Intel BG ืืื ืืขืืืขื ืขื ืืืืึทืื ืืืืฃ ืืขืจ ืคึผืืึทืืคืึธืจืืข, ืกืืจืึทืงืืฉืขืจื ืึทืืึท ืืื FIT, KEYM, IBBM ืืขื ืขื ื ืืฉื ืืขืคึฟืื ืขื ืืื ืืืืฅ ืืึผืจืื;
- ืืื ืึทืืืฉืึทื ืฆื ืื TXE ืืื ISH ืงืึธืจืขืก (ืงืก86), ืึท ืืจืื ืืึทืจืฅ ืืื ืฆืืืขืืขืื ืฆื ืื ืืฉืืคึผืกืขื (ืึทืจืง ืืืืืขืจ, ืืืจื ืืขื ืืืขื) - PMC (Power Management Controller), ืคึฟืึทืจืืื ืื ืืื ืื ืฉืืจืื ื ืื ืึธืคึผืขืจืึทืืืืืื ืคืื ืื ืืึทืื ืกืึทืืกืืกืืึทื ืืื ืคืึธืจืฉืืขืืื ื ืืึธื ืืืึธืจืื ื.

ืืขืจ ืืื ืืึทืื ืคืื ืื ื ืืึทืข IFWI ืืขืื ื ืืื ืึท ืกืืื ืคืื ืื ืคืืืืขื ืืข ืืึทืืืฉืืื:
ืคืึธืจืืจืืืื
ื ืึธืืขื
ืืึทืฉืจืืึทืืื ื
0000 2000 ื
SMIP
ืึท ืืืืขืจ ืคึผืืึทืืคืึธืจืืข ืงืึทื ืคืืืืขืจืืืฉืึทื, ืืขืืชืืขื ืืืจื ืื ืคืึทืจืงืืืคืขืจ
0000 6000 ื
RBEP
Intel TXE ืคืืจืืืืึทืจืข ืงืึธื ืึธืคึผืืืืืื ื, x86, ืืขืืชืืขื Intel
0001 0000 ื
PMCP
Intel PMC ืคืืจืืืืึทืจืข ืงืึธื ืึธืคึผืืืืืื ื, ARC, ืืขืืชืืขื Intel
0002 0000 ื
FTPR
Intel TXE ืคืืจืืืืึทืจืข ืงืึธื ืึธืคึผืืืืืื ื, x86, ืืขืืชืืขื Intel
0007 ื 000 ื
UCOD
ืืืงืจืึธืงืึธืืข ืืขืจืืืึทื ืืืงืื ืืขื ืคึฟืึทืจ ืงืคึผื, ืืขืืชืืขื ืืืจื ืื ืืขื
0008 0000 ื
ืืืืคึผ
UEFI BIOS, SEC/PEI ืคืึทืกืขืก, x86, ืืขืืชืืขื ืืืจื ืื ืคืึทืจืงืืืคืขืจ
0021 8000 ื
ISHC
Intel ISH ืคืืจืืืืึทืจืข ืงืึธื ืึธืคึผืืืืืื ื, x86, ืืขืืชืืขื ืืืจื ืื ืคืึทืจืงืืืคืขืจ
0025 8000 ื
ื ืคืืคึผ
Intel TXE ืคืืจืืืืึทืจืข ืงืึธื ืึธืคึผืืืืืื ื, x86, ืืขืืชืืขื Intel
0036 1000 ื
IUNP
ืืื ืืืืืึทืงืึทื ื
0038 1000 ื
OBBP
UEFI BIOS, DXE Phase, x86, ืึทื ืกืืื ื
ืืขืฉืึทืก ืื ืึทื ืึทืืืกืืก ืคืื ืื TXE ืคืืจืืืืึทืจืข, ืขืก ืืื ืืขืืืขื ืงืืึธืจ ืืื ืืขืจ ืืึธื ืึทื ื ืึธื ืึท RESET, ืื TXE ืืืื ืื ืคึผืจืึทืกืขืกืขืจ ืืื ืืขื ืฉืืึทื ืืื ืขืก ืคึผืจืืคึผืขืจื ืื ืืงืขืจืืืง ืืื ืืึทืื ืคืื ืื ืึทืืจืขืก ืคึผืืึทืฅ ืคึฟืึทืจ ืื ืงืคึผื (FIT, ACM, RESET ืืืขืงืืึธืจ ...). ืืขืจืฆื, TXE ืืืืื ืื ืืึทืื ืืื ืืืื SRAM, ื ืึธื ืืืึธืก ืขืก ืืขืืคึผืขืจืขืจืึทืื ืืื ืื ืคึผืจืึทืกืขืกืขืจ ืึทืงืกืขืก ืืึธืจื ืืื "ืจืืืืกืื" ืขืก ืคึฟืื RESET.
ืืืืฃ ืืืื ืงืขืื ืจืึธืึธืืงืืฅ
ื ื, ืืืฆื ืืึธืื ืก ืืึทื ืืืืฃ ืฆื ืื "ืืืืก" ืฉืืึธืคึผื. ืืืจ ืึทืืึธื ืืืกืงืึทืืืขืจื ืึทื ืืืืฃ ืคืืืข ืกืืกืืขืืขื, SPI ืืืืฅ ืืืกืงืจืืคึผืืึธืจืก ืึทื ืืืึทืืื ืคึผืขืจืืืฉืึทื ื ืฆื ืึทืงืกืขืก ืืงืืืืช ืคืื SPI ืืืืฅ ืืึผืจืื ืึทืืื ืึทื ืึทืืข ื ืืฆืขืจืก ืคืื ืืขื ืืึผืจืื ืงืขื ืขื ืฉืจืืึทืื ืืื ืืืืขื ืขื ืงืืื ืืขืื ื. ืืขื ืข. ืงืืื ืืืขื.
ื ืึธื ืงืึธื ืืจืึธืืืจืื ื ืืื ืื MEinfo ื ืืฆื (ืคึฟืื Intel STK), ืืืจ ืืขืืขื ืึทื ืื ืืึทื ืืคืึทืงืืืจืื ื ืืึธืืข ืืืืฃ ืื ืกืืกืืขืืขื ืืื ื ืืฉื ืคึฟืึทืจืืึทืื, ืืขืจืืืขืจ, ืื ืืฉืืคึผืกืขื ืคืืกืขืก (ืคืคืฃ) ืืขื ืขื ืืื ืงืก ืืื ืึท ืึทื ืืืคืืื ื ืฉืืึทื. ืืึธ, Intel BG ืืื ื ืื ืืืืกืืขืืจืืื ืืืืฃ ืืืขืจ ืึทืืืขืง ืืื ืึทืืึท ืงืึทืกืขืก.
ืืืจ ืจืขืื ืืืขืื ืื ืคืืืืขื ืืข ืกืืกืืขืืขื (ืืื ืืจืืก ืฆื Intel BG ืืื ืืืึธืก ืืืขื ืืืื ืืืกืงืจืืืื ืฉืคึผืขืืขืจ ืืื ืืขื ืึทืจืืืงื, ืืืจ ืืืขืื ืจืขืื ืืืขืื ืกืืกืืขืืขื ืืื Haswell ืคึผืจืึทืกืขืกืขืจ ืืืงืจืึธืึทืจืืฉืืืขืงืืืจืข ืืื ืืขืืขืจ):
- ืึทืืข ืืืืืืืื ืคึผืจืึธืืืงืื;
- ืึทืืข ืืกื ืคึผืจืึธืืืงืื;
- 21 ืืึธืืขืืก ืคืื ืืขื ืึธืืืึธ ืืึทืคึผืืึทืคึผืก ืืื 4 ืืึธืืขืืก ืคืื ืืขื ืึธืืืึธ ืกืขืจืืืขืจืก.
ืคืื ืงืืจืก, ืืืจ ืืขืืืืื ืื ืืคืืขืงืื ื ืฆื ืื ืืืขื ืืึธืจืก, ืืื ืืขืืื ื ืืื ืฆื Intel.
ื ืืืืื ืจืขืืงืฆืืข ืืื ืืขืงืืืขื ืืืืื ืคืื ืืขื ืึธืืืึธืืืขืจ ืืขืจืงืขื ื ืื ืคึผืจืึธืืืขื ืืื .
ืืืืึทืืืื ืืื ืกืืื ืฆื ืึธื ื ืขืืขื ืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืื ืืืึทืื ืขืจืึทืืืืืื, ืึธืืขืจ ื ืืฉื ืงืึทืืขื ืืึทื ืืื ืงืืื ืืืขื.
ืงืึธืืื ืืงืึทืฆืืข ืืื ืืกื ืืึธืจ ืกืืึธืื ืืืืฃ ืืื ืืืขืจ ืืงืฉื ืฆื ืฉืืงื ืืืื ืขืคื ืืืขื PGP ืฉืืืกื (ืฆื ืฉืืงื ืืื ืึท ืืืืขืจืืืื ืึทืืืืืืืขืจื ืืื ืื ืงืจืืคึผืืื ืคืึธืจืขื). ืืื ืกืืืืืื ืึทื ืืื "ืืขื ืขื ืึท ืืึทืื ืืืึทืจื ืคืึทืืจืืงืึทื ื ืืื ืืึธื ื ืื ืคึผืจืึธืืืฆืืจื ืคึผืืคึผ ืฉืืืกืืขื."
ืืืขืจ ืืืืืจ ืื ืงืืืขื ืฆื ืื ื ืงืืื. ืืื ื ืื ืคืืกืขืก ืืขื ืขื ืืื ืงืก ืืื ืึทื ืื ืกืคึผืขืกืืคืืขื ืฉืืึทื, ืืขืจ ืืึทื ืืฆืขืจ (ืึธืืขืจ ืึทืืึทืงืขืจ) ืงืขื ืขื ืคึผืจืึธืืจืึทื ืืื ืื ืืืคึผืขื ืืึทื ืืื (ืื ืืขืจืกื ืฉืืืขืจ ืืึทื ืืื ). ืฆื ืืึธื ืืึธืก, ืืืจ ืืึทืจืคึฟื ืฆื ืคืึทืจืขื ืืืงื ืื ืคืืืืขื ืืข ืกืืขืคึผืก.
1. ืฉืืืืื ืืจืืื ืืื ืื ืืคืขืจืืจื ืกืืกืืขื Windows (ืืื ืืืืขืืืื, ืื ืืงืฆืืขืก ืืืืก ืืืขืจื ืืืฉืจืืื ืืื ืื ืงืขื ืขื ืืขืืื ืืืขืจื ืคืื ืืื ืืขืจ Linux(ืืืื ืืืจ ืึทื ืืืืืงืื ืึทื Intel STK ืึทื ืึทืืึธื ืคึฟืึทืจ ืื ืืขืืืืื ืืฉืข ืึธืคึผืขืจืืจื ืกืืกืืขื). ื ืืฆื ืืืง ืื MEinfo ืืืืืืืื, ืืึธืจืื ืึทื ืื ืคืืืืขืก ืืืืฃ ืืขืจ ืืขืืขืืขื ืขืจ ืกืืกืืขื ืืขื ืขื ื ืืฉื ืคึผืจืึธืืจืึทืืืจื.

2. ืืืืขื ืขื ืื ืืื ืืึทืื ืคืื ืืืืฅ ืืึผืจืื ื ืืฆื ืื ืคืืึทืฉ ืคึผืจืึธืืจืึทืืืื ื ืืื.

3. ืขืคึฟืขื ืขื ืื ืืืืขื ืขื ืืืื ืืื ืงืืื UEFI ืืืืึธืืก ืขืืืืื ื ืืขืฆืืึทื, ืืึทืื ืื ื ืืืืืง ืขื ืืขืจืื ืืขื (ืืึทืคืืจื ืึท ืจืึธืึธืืงืื, ืืืฉื), ืฉืึทืคึฟื / ืจืขืืึทืืืจื ืืืืืกืืื ื KEYM ืืื IBBM ืกืืจืึทืงืืฉืขืจื ืืื ืื ืืืจ ืืขืื ื.


ืื ืืืื ืืืืืืืฅ ืื ืขืคื ืืืขื ืืืื ืคืื ืื RSA ืฉืืืกื, ืื ืืึทืฉ ืคืื ืืืึธืก ืืืขื ืืืื ืคึผืจืึธืืืจืึทืื ืืื ืื ืืฉืืคึผืกืขื ืคืืกืขืก ืฆืืืืืขื ืืื ืื ืจืขืฉื ืคืื ืื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื.
4. ื ืืฆื ืื ืคืืึทืฉ ืืืื ืืื, ืืืืขื ืึท ื ืืึท ืคืืจืืืืึทืจืข ืืืื (ืืืจื ืืึทืฉืืขืืืงื ืื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื).

5. ืฉืจืืื ืึท ื ืืึทืข ืืืื ืฆื ืืืืฅ ืืึผืจืื ื ืืฆื ืื ืคืืึทืฉ ืคึผืจืึธืืจืึทืืืื ื ืืื, ืืื ืืึทืฉืืขืืืงื ืืื MEinfo ืึทื ืื ME ืืขืื ื ืืืฆื ืึผืืื ืื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื.

6. ื ืืฆื ืื ืคืืึทืฉ ืคึผืจืึธืืจืึทืืืื ื ืืื ืฆื ืคืึทืจืืึทืื ืืึทื ืืคืึทืงืืืจืื ื ืืึธืืข.

7. ืื ืกืืกืืขื ืืืขื ืจืขืืึธืึธื, ื ืึธื ืืืึธืก ืืืจ ืงืขื ืขื ื ืืฆื MEinfo ืฆื ืืึทืฉืืขืืืงื ืึทื ืื FPFs ืืขื ืขื ืืืฆื ืคึผืจืึธืืืจืึทืื.

ืื ืึทืงืฉืึทื ื ืึทืค ืฉืืขื ืืืง ืืขืื Intel BG ืืืืฃ ืืขื ืกืืกืืขื. ืื ืึทืงืฆืืข ืงืขื ืขื ื ืื ืืืื ืึทื ืืืืืื ื, ืืืึธืก ืืืื:
- ืืืืื ืื ืืึทืืืฆืขืจ ืคืื ืื ืคึผืจืืืืึทื ืืืื ืคืื ืื ืืืึธืจืฆื ืฉืืืกื (ื"ื ืืขืจ ืืืื ืขืจ ืืืึธืก ืขื ืืืืึทืื Intel BG) ืืืขื ืงืขื ืขื ืฆื ืืขืจืืืึทื ืืืงื ืื UEFI ืืืืึธืืก ืืืืฃ ืืขื ืกืืกืืขื;
- ืืืื ืืืจ ืฆืืจืืงืงืืืขื ืื ืึธืจืืืื ืขื ืคืืจืืืืึทืจืข ืฆื ืืขื ืกืืกืืขื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ื ืืฆื ืึท ืคึผืจืึธืืจืึทืืืกื, ืขืก ืืืขื ื ืืฉื ืืคืืื ืงืขืจ ืืืืฃ (ืึท ืงืึทื ืกืึทืงืืืึทื ืก ืคืื ืื ืขื ืคืึธืจืกืืึทื ื ืคึผืึธืืืืืง ืืื ืคืึทื ืคืื ืึท ืืืขืจืึทืคืึทืงืืืฉืึทื ืืขืืช);
- ืฆื ืืึทืงืืืขื ืืึทืคืจืืึทืขื ืคืื ืึทืืึท ืึท UEFI ืืืืึธืืก, ืืืจ ืืึทืจืคึฟื ืฆื ืคืึทืจืืืึทืื ืื ืืฉืืคึผืกืขื ืืื ืคึผืจืึธืืืจืึทืื FPFs ืืื ืึท "ืจืืื" (ื"ื, ืจืืกืึธืืื ืื ืืฉืืคึผืกืขื ืืืื ืืืจ ืืึธืื ืฆืืืจืื ืฆื ืึท ืื ืคืจืขืจืขื ืกืึทืืขืจืื ื ืกืืึทื ืฆืืข ืื ืคึผืจืืึทื ืคืื ืึท ืืึทืฉืื, ืึธืืขืจ ืคืฉืื ืคืึทืจืืืึทืื ืื ืืึธืืืขืจืืึธืึทืจื ).
ืฆื ืคึฟืึทืจืฉืืืื ืืืึธืก ืึทืืึท ืึท ืจืึธืึธืืงืื ืงืขื ืขื ืืึธื, ืืืจ ืืึทืจืคึฟื ืฆื ืึธืคึผืฉืึทืฆื ืืืึธืก ืืืื ืขืก ืืขืืืขื ืฆื ืืืกืคืืจื ืืืื ืงืึธื ืืื ืื UEFI ืืืืึธืืก ืกืืืืืืข. ืืื ืก ืืึธืื, ืืื ืื ืืขืจืกื ืคึผืจืืืืืืืืฉื ืคึผืจืึทืกืขืกืขืจ ืืึธืืข - SMM. ืึทืืึท ืึท ืจืึธืึธืืงืื ืงืขื ืืึธืื ืื ืคืืืืขื ืืข ืคึผืจืึธืคึผืขืจืืืขืก:
- ืขืงืกืึทืงืืืืึทื ืืื ืคึผืึทืจืึทืืขื ืืื ืื ืึทืก (ืืืจ ืงืขื ืขื ืงืึทื ืคืืืืขืจ ืคึผืจืึทืกืขืกืื ื ืฆื ืืืฉืขื ืขืจืืื ืึท SMI ืืืขืจืจืืึทืก, ืืืึธืก ืืืขื ืืืื ืืจืืืขืจื ืืืจื ืึท ืืืึทืืขืจ);
- ืืึธืื ืึทืืข ืื ืึทืืืืึทื ืืืืืฉืื ืคืื ืืืึทืขื ืืืง ืืื SMM ืืึธืืข (ืคืื ืึทืงืกืขืก ืฆื ืื ืืื ืืึทืื ืคืื ืืึทืจืึทื ืืื ืืึทืื ืืืึทืจื ืจืขืกืืจืกื, ืืขืกืึธืืืงืืึทื ืคืื ืื ืึทืก);
- ืืขืจ ืคึผืจืึธืืจืึทื ืงืึธื ืคืื ืื ืจืึธืึธืืงืื ืงืขื ืขื ืืืื ืื ืงืจืืคึผืืื ืืื ืืขืงืจืืคึผืืื ืืืขื ืืึธื ืืฉื ืืื SMM ืืึธืืข. ืงืืื ืืึทืื ืื ืืืฆื ืืืืื ืืื SMM ืืึธืืข ืงืขื ืขื ืืืื ืืขืืืืื ื ืืื ืึท ืขื ืงืจืืคึผืฉืึทื ืฉืืืกื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืึท ืืึทืฉ ืคืื ืึท ืกืืื ืคืื ืึทืืจืขืกืขืก ืืื SMRAM. ืฆื ืืึทืงืืืขื ืืขื ืฉืืืกื, ืืืจ ืืึทืจืคึฟื ืฆื ืึทืจืืึทื SMM. ืืื ืืึธืก ืงืขื ืืืื ืืขืืื ืืื ืฆืืืื ืืืขืื. ืืขืคึฟืื ืขื RCE ืืื ืื SMM ืงืึธื ืืื ืืืืืจืข ืขืก, ืึธืืขืจ ืืืืื ืืืื ืืืืืขื ืข SMM ืืึธืืืืข ืฆื ืื ืืืืึธืืก, ืืืึธืก ืืื ืืืืืขืืืขื ืืื ื ืืืจ ืขื ืืืืึทืื Boot Guard.
ืืืื, ืืขื ืืืึทืื ืขืจืึทืืืืืื ืึทืืึทืื ืึท ืึทืืึทืงืขืจ ืฆื:
- ืฉืึทืคึฟื ืึท ืคืึทืจืืึธืจืื, ืึทื ืืขืืขืืึทืืืข ืจืึธืึธืืงืื ืคืื ืืืืืึทืงืึทื ื ืฆืื ืืื ืืขื ืกืืกืืขื;
- ืืืกืคืืจื ืืืื ืงืึธื ืืืืฃ ืืืื ืขืจ ืคืื ืื ืืฉืืคึผืกืขื ืงืึธืจืขืก ืื ืื Intel SoC, ื ืืืืื, ืืืืฃ ืื Intel ISH (ื ืขืืขื ืึท ืึธืคึผืืขืืื ืงืืง ืืื ืื ืืืื).


ืืึธืืฉ ืื ืงืืืคึผืึทืืืืึทืืื ืคืื ืื Intel ISH ืกืึทืืกืืกืืขื ืืขื ืขื ื ืืฉื ื ืึธื ืืงืกืคึผืืึธืจื, ืขืก ืืื ืึท ืืฉืืงืึทืืืข ืืึทืคืึทืื ืืืขืงืืึธืจ ืคึฟืึทืจ Intel ME.
ืคืืื ืืื ืื
- ืืขืจ ืืขืจื ืขื ืืขืืืื ืขืก ืืขืืืขื ืฆื ืืึทืงืืืขื ืึท ืืขืื ืืฉ ืืึทืฉืจืืึทืืื ื ืคืื ืื ืึธืคึผืขืจืึทืฆืืข ืคืื โโIntel Boot Guard ืืขืื ืึธืืึธืืืข. ืืื ืืก ืึท ืคึผืึธืจ ืคืื ืกืืงืจืืฅ ืืื Intel ืก ืืืืขืจืืืื ืืืจื ืึทืืกืงืืืจืืื ืืึธืืขื.
- ืึท ืืึทืคืึทืื ืกืฆืขื ืึทืจ ืืื ืืขืจืืื ืื ืืืึธืก ืึทืืึทืื ืืืจ ืฆื ืฉืึทืคึฟื ืึท ืื ืื ืกืืึทืืืึทืืืข ืจืึธืึธืืงืื ืืื ืื ืกืืกืืขื.
- ืืืจ ืืขืืขื ืึทื ืืึธืืขืจื ืื ืืขื ืคึผืจืึทืกืขืกืขืจื ืืขื ืขื ืืืืืขืืืืืง ืคืื ืขืงืกืึทืงืืืืื ื ืึท ืคึผืืึทืฅ ืคืื ืคึผืจืึทืคึผืจืืืึทืืขืจื ืงืึธื ืืคืืื ืืืืืขืจ ืื ืืืืึธืืก ืกืืึทืจืฅ ืคืืืกื ืืืง.
- ืคึผืืึทืืคืึธืจืืก ืืื Intel 64 ืึทืจืงืึทืืขืงืืฉืขืจ ืืืขืจื ืืืืื ืืงืขืจ ืืื ืืืืื ืืงืขืจ ืคึผืึทืกืืง ืคึฟืึทืจ ืคืืืกื ืืืง ืคืจืื ืืืืืืืืืจื: ืืึทืื ืืืึทืจื ืืืขืจืึทืคืึทืงืืืฉืึทื, ืึท ืื ืงืจืืกืื ื ื ืืืขืจ ืคืื ืคึผืจืึทืคึผืจืืืึทืืขืจื ืืขืงื ืึทืืึทืืืฉืื ืืื ืกืึทืืกืืกืืึทืื (ืืจืื ืงืึธืจืขืก ืืื ืื SoC ืืฉืืคึผืกืขื: x86 ME, x86 ISH ืืื ARC PMC).
ืืืืืืืฆืืขืก
ืืืขื ืืึธืจืก ืืืึธืก ืืขืงืืืื ืืึธืื ืืึทื ืืคืึทืงืืืจืื ื ืืึธืืข ืึธืคื ืืึธื ืืืื ืืืืขืจ ืฆื ืคืึทืจืืึทืื ืขืก. ืืื ืืืฆื, ืืืืื ืืืืขืจ ืืืืื ืืขื ืขื ืคืืจืืืื, ืืื ืื ื ืืึทืข Kaby Lake ืกืืกืืขืืขื ืืืืึทืื ืืึธืก.
ืืืืขืจื ืงืขื ืขื ืืืกืืืืึทื Intel BG ืืืืฃ ืืืืขืจ ืกืืกืืขืืขื (ืืืึธืก ืืขื ืขื ืกืึทืกืขืคึผืืึทืืึทื ืฆื ืื ืืืกืงืจืืืื ืืืึทืื ืขืจืึทืืืืืื) ืืืจื ืืืืคื ืื ืคืืึทืฉ ืคึผืจืึธืืจืึทืืืื ื ืืื ืืื ืื -closemnf ืคึผืึทืจืึทืืขืืขืจ. ืขืจืฉืืขืจ, ืืืจ ืืึธื ืืึทืื ืืืืขืจ (ื ืืฆื MEinfo) ืึทื ืื Intel BG ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื ืื ME ืืขืื ื ืืื ืฆื ืืืกืืขืงื ืืขื ืืขืื ืึธืืึธืืืข ื ืึธื ืคึผืจืึธืืจืึทืืืื ื ืืื FPFs.
ืืงืืจ: www.habr.com
