PMFault ื‘ืึทืคืึทืœืŸ ื•ื•ืึธืก ืงืขื ืขืŸ ื“ื™ืกื™ื™ื‘ืึทืœ ื“ื™ ืงืคึผื• ืื•ื™ืฃ ืขื˜ืœืขื›ืข ืกืขืจื•ื•ืขืจ ืกื™ืกื˜ืขืžืขืŸ

ืจืขืกืขืึทืจื˜ืฉืขืจืก ืคื•ืŸ ืื•ื ื™ื•ื•ืขืจืกื™ื˜ืขื˜ ืคื•ืŸ ื‘ื™ืจืžื™ื ื’ื”ืึทื, ื‘ื™ื– ืึทื”ืขืจ ื‘ืึทื•ื•ื•ืกื˜ ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ื“ื™ ืคึผืœื•ื ื“ืขืจื•ื•ืึธืœื˜ ืื•ืŸ VoltPillager ืื ืคืืœืŸ, ื”ืึธื‘ืŸ ื™ื™ื“ืขื ืึทืคื™ื™ื“ ืึท ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ (CVE-2022-43309) ืื™ืŸ ืขื˜ืœืขื›ืข ืกืขืจื•ื•ืขืจ ืžืึธื˜ื”ืขืจื‘ืึธืึทืจื“ืก ื•ื•ืึธืก ืึทืœืึทื•ื– ื“ื™ ืงืคึผื• ืฆื• ื–ื™ื™ืŸ ืคื™ื–ื™ืงืœื™ ืคืึทืจืงืจื™ืคึผืœื˜ ืึธืŸ ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ื–ื™ื™ืŸ ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ืึธืคึผื–ื•ืš. ื“ื™ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™, ืงืึธื“ืขื ืึทืžืขื“ PMFault, ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ืฉืขื“ื™ืงืŸ ืกืขืจื•ื•ืขืจืก ืฆื• ื•ื•ืึธืก ื“ื™ ืึทื˜ืึทืงืขืจ ื”ืื˜ ื ื™ืฉื˜ ืคื™ื–ื™ืฉ ืึทืงืกืขืก, ืึธื‘ืขืจ ื”ืื˜ ืคึผืจื™ื•ื•ืœื™ื“ื–ืฉื“ ืึทืงืกืขืก ืฆื• ื“ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื, ื‘ืืงื•ืžืขืŸ, ืœืžืฉืœ, ื“ื•ืจืš ืขืงืกืคึผืœื•ื™ื˜ื™ื ื’ ืึทืŸ ืึทื ืคึผืึทื˜ืฉื˜ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ ืึธื“ืขืจ ื™ื ื˜ืขืจืกืขืคึผื˜ื™ื ื’ ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ ืงืจืึทื“ืขื ื˜ืฉืึทืœื–.

ื“ื™ ืขืกืึทื ืก ืคื•ืŸ ื“ื™ ืคืืจื’ืขืœื™ื™ื’ื˜ ืื•ืคึฟืŸ ืื™ื– ืฆื• ื ื•ืฆืŸ ื“ื™ PMBus ืฆื•ื‘ื™ื ื“, ื•ื•ืึธืก ื ื™ืฆื˜ ื“ื™ I2C ืคึผืจืึธื˜ืึธืงืึธืœ, ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ ื•ื•ืึธื•ืœื˜ื™ื“ื–ืฉ ืกืึทืคึผืœื™ื™ื“ ืฆื• ื“ื™ ืคึผืจืึทืกืขืกืขืจ ืฆื• ื•ื•ืึทืœื•ืขืก ื•ื•ืึธืก ืคืึทืจืฉืึทืคืŸ ืฉืขื“ื™ืงืŸ ืฆื• ื“ื™ ืฉืคึผืึธืŸ. ื“ื™ PMBus ืฆื•ื‘ื™ื ื“ ืื™ื– ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื™ืŸ ืึท VRM (ื•ื•ืึธื•ืœื˜ื™ื“ื–ืฉ ืจืขื’ื•ืœืึทื˜ืึธืจ ืžืึธื“ื•ืœืข), ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึทืงืกืขืกื˜ ื“ื•ืจืš ืžืึทื ื™ืคึผื™ืึทืœื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ BMC ืงืึธื ื˜ืจืึธืœืœืขืจ. ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ืึท ื‘ืึทืคืึทืœืŸ ืื•ื™ืฃ ื‘ืึธืจื“ื– ื•ื•ืึธืก ืฉื˜ื™ืฆืŸ PMBus, ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ ืจืขื›ื˜ ืื™ืŸ ื“ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื, ืื™ืจ ืžื•ื–ืŸ ื”ืึธื‘ืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืึทืงืกืขืก ืฆื• ื“ื™ BMC (Baseboard Management Controller), ืœืžืฉืœ, ื“ื•ืจืš ื“ื™ IPMI KCS (Keyboard Controller Style) ืฆื•ื‘ื™ื ื“, ื“ื•ืจืš ืขื˜ื”ืขืจื ืขื˜, ืึธื“ืขืจ ื“ื•ืจืš ืคืœืึทืฉื™ื ื’ ื“ื™ BMC ืคึฟื•ืŸ ื“ืขื ืงืจืึทื ื˜ ืกื™ืกื˜ืขื.

ืึทืŸ ืึทืจื•ื™ืกื’ืขื‘ืŸ ื•ื•ืึธืก ืึทืœืึทื•ื– ืึท ื‘ืึทืคืึทืœืŸ ืฆื• ื–ื™ื™ืŸ ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืึธืŸ ื•ื•ื™ืกืŸ ื“ื™ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืื™ืŸ ื“ื™ BMC ืื™ื– ื‘ืืฉื˜ืขื˜ื™ืงื˜ ืื™ืŸ ืกื•ืคึผืขืจืžื™ืงืจืึธ ืžืึธื˜ื”ืขืจื‘ืึธืึทืจื“ืก ืžื™ื˜ IPMI ืฉื˜ื™ืฆืŸ (X11, X12, H11 ืื•ืŸ H12) ืื•ืŸ ASRock, ืึธื‘ืขืจ ืื ื“ืขืจืข ืกืขืจื•ื•ืขืจ ื‘ืึธืจื“ื– ื•ื•ืึธืก ืงืขื ืขืŸ ืึทืงืกืขืก ื“ื™ PMBus ื–ืขื ืขืŸ ืื•ื™ืš ืึทืคืขืงื˜ืึทื“. ื‘ืขืฉืึทืก ื“ื™ ื™ืงืกืคึผืขืจืึทืžืึทื ืฅ, ื•ื•ืขืŸ ื“ื™ ื•ื•ืึธื•ืœื˜ื™ื“ื–ืฉ ืื™ื– ื’ืขื•ื•ืืงืกืŸ ืฆื• 2.84 ื•ื•ืืœื˜ืก ืื•ื™ืฃ ื“ื™ ื‘ืึธืจื“ื–, ืฆื•ื•ื™ื™ Intel Xeon ืคึผืจืึทืกืขืกืขืจื– ื–ืขื ืขืŸ ื“ืึทืžื™ื“ื–ืฉื“. ืฆื• ืึทืงืกืขืก ื“ื™ BMC ืึธืŸ ื•ื•ื™ืกืŸ ื“ื™ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืคึผืึทืจืึทืžืขื˜ืขืจืก, ืึธื‘ืขืจ ืžื™ื˜ ื•ื•ืึธืจืฆืœ ืึทืงืกืขืก ืฆื• ื“ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื, ืึท ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ ืื™ืŸ ื“ื™ ืคื™ืจืžื•ื•ืึทืจืข ื•ื•ืขืจืึทืคืึทืงื™ื™ืฉืึทืŸ ืžืขืงืึทื ื™ื–ืึทื ืื™ื– ื’ืขื ื™ืฆื˜, ื•ื•ืึธืก ื’ืขืžืื›ื˜ ืขืก ืžืขื’ืœืขืš ืฆื• ืœืึธื“ืŸ ืึท ืžืึทื“ืึทืคื™ื™ื“ ืคื™ืจืžื•ื•ืึทืจืข ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืื™ืŸ ื“ื™ BMC ืงืึธื ื˜ืจืึธืœืœืขืจ, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ืึทื ืึทื•ื˜ืขื ื˜ืึทืงื™ื™ื˜ื™ื“ ืึทืงืกืขืก ื“ื•ืจืš IPMI KCS.

ื“ืขืจ ืื•ืคึฟืŸ ืคื•ืŸ ื˜ืฉืึทื ื’ื™ื ื’ ื“ื™ ื•ื•ืึธื•ืœื˜ื™ื“ื–ืฉ ื“ื•ืจืš PMBus ืงืขื ืขืŸ ืื•ื™ืš ื–ื™ื™ืŸ ื’ืขื ื•ืฆื˜ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ื“ื™ ืคึผืœื•ื ื“ืขืจื•ื•ืึธืœื˜ ื‘ืึทืคืึทืœืŸ, ื•ื•ืึธืก ืึทืœืึทื•ื–, ื“ื•ืจืš ืœืึธื•ืขืจื™ื ื’ ื“ื™ ื•ื•ืึธื•ืœื˜ื™ื“ื–ืฉ ืฆื• ืžื™ื ื™ืžื•ื ื•ื•ืึทืœื•ืขืก, ืฆื• ืคืึทืจืฉืึทืคืŸ ืฉืขื“ื™ืงืŸ ืฆื• ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ ื“ืึทื˜ืŸ ืกืขืœื– ืื™ืŸ ื“ื™ ืงืคึผื• ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ ื—ืฉื‘ื•ื ื•ืช ืื™ืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ Intel SGX ื™ื ืงืœืึทื•ื•ืขืก ืื•ืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืขืจืจืึธืจืก ืื™ืŸ ื˜ื›ื™ืœืขืก ืจื™ื›ื˜ื™ืง ืึทืœื’ืขืจื™ื“ืึทืžื–. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื•ื™ื‘ ืื™ืจ ื˜ื•ื™ืฉืŸ ื“ื™ ื•ื•ืขืจื˜ ื’ืขื ื™ืฆื˜ ืื™ืŸ ื“ื™ ืงื™ื™ืคืœ ื‘ืขืฉืึทืก ื“ื™ ืขื ืงืจื™ืคึผืฉืึทืŸ ืคึผืจืึธืฆืขืก, ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืึท ืคืึทืœืฉ ืกื™ืคืขืจื˜ืขืงืกื˜. ื“ื•ืจืš ืงืขื ืขืŸ ืฆื•ื˜ืจื™ื˜ ืึท ื”ืึทื ื“ืœืขืจ ืื™ืŸ SGX ืฆื• ืขื ืงืจื™ืคึผื˜ ื–ื™ื™ืŸ ื“ืึทื˜ืŸ, ืึท ืึทื˜ืึทืงืขืจ ืงืขื ืขืŸ, ื“ื•ืจืš ืงืึธื–ื™ื ื’ ืคื™ื™ืœื™ืขืจื–, ืึธื ืงืœื™ื™ึทื‘ืŸ ืกื˜ืึทื˜ื™ืกื˜ื™ืง ื•ื•ืขื’ืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืกื™ืคืขืจื˜ืขืงืกื˜ ืื•ืŸ ืฆื•ืจื™ืงืงืจื™ื’ืŸ ื“ื™ ื•ื•ืขืจื˜ ืคื•ืŸ ื“ื™ ืฉืœื™ืกืœ ืกื˜ืึธืจื“ ืื™ืŸ ื“ื™ SGX ืขื ืงืœืึทื•ื•ืข.

ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ื“ื•ืจื›ืคื™ืจืŸ ืึท ื‘ืึทืคืึทืœืŸ ืื•ื™ืฃ ืกื•ืคึผืขืจืžื™ืงืจืึธ ืื•ืŸ ASRock ื‘ืึธืจื“ื–, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืึท ื ื•ืฆืŸ ืคึฟืึทืจ ืงืึธื ื˜ืจืึธืœื™ืจื•ื ื’ ืึทืงืกืขืก ืฆื• PMBus, ื–ืขื ืขืŸ ืืจื•ื™ืก ืื•ื™ืฃ GitHub.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’