AEPIC Leak - เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบฎเบปเปˆเบงเป„เบซเบฅเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบˆเบฒเบ Intel SGX enclaves

เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เป€เบœเบตเบเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป‚เบˆเบกเบ•เบตเปƒเบซเบกเปˆเบเปˆเบฝเบงเบเบฑเบšเป‚เบ›เป€เบŠเบ”เป€เบŠเบต Intel - AEPIC Leak (CVE-2022-21233), เป€เบŠเบดเปˆเบ‡เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบฎเบปเปˆเบงเป„เบซเบฅเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบฅเบฑเบšเบˆเบฒเบ Intel SGX (Software Guard eXtensions) enclaves เบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบง. เบšเบฑเบ™เบซเบฒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบชเบปเปˆเบ‡เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆ CPU Intel เบฅเบธเป‰เบ™เบ—เบต 10, 11 เปเบฅเบฐ 12 (เบฅเบงเบกเบ—เบฑเบ‡เบŠเบธเบ” Ice Lake เปเบฅเบฐ Alder Lake) เปเบฅเบฐเป€เบเบตเบ”เบˆเบฒเบเบ‚เปเป‰เบšเบปเบเบžเปˆเบญเบ‡เบ—เบฒเบ‡เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบŠเป‰เปเบฒเบเบฑเบ™เบขเบนเปˆเปƒเบ™ APIC (Advanced Programmable Interrupt Controller) เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ. เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™.

เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบšเบเบฒเบ™เป‚เบˆเบกเบ•เบตเปเบšเบš Spectre class, เบเบฒเบ™เบฎเบปเปˆเบงเป„เบซเบผเปƒเบ™ AEPIC Leak เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™เบŸเบทเป‰เบ™เบ•เบปเบงเป‚เบ”เบเบœเปˆเบฒเบ™เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบก - เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบฅเบฑเบšเบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เป‚เบ”เบเบเบปเบ‡เป‚เบ”เบเบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเป€เบ™เบทเป‰เบญเบซเบฒเบ‚เบญเบ‡เบ—เบฐเบšเบฝเบ™เบ—เบตเปˆเบชเบฐเบ—เป‰เบญเบ™เบขเบนเปˆเปƒเบ™เบซเบ™เป‰เบฒเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ MMIO (mapped I/O) . เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ–เบทเบเป‚เบญเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เบฅเบฐเบ”เบฑเบšเบ—เบตเบชเบญเบ‡เปเบฅเบฐเบชเบธเบ”เบ—เป‰เบฒเบ, เบฅเบงเบกเบ—เบฑเบ‡เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เปเบฅเบฐเบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบญเปˆเบฒเบ™เบˆเบฒเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบ›เบธเบ‡เปเบ•เปˆเบ‡เปƒเบ™เป€เบกเบทเปˆเบญเบเปˆเบญเบ™เบขเบนเปˆเปƒเบ™เบซเบผเบฑเบ CPU เบ”เบฝเบงเบเบฑเบ™.

เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบˆเบกเบ•เบต, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบซเบ™เป‰เบฒเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบ‚เบญเบ‡ APIC MMIO, i.e. เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™, เบงเบดเบ—เบตเบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เป‚เบˆเบกเบ•เบต SGX enclaves เบ—เบตเปˆเบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™เบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบเบเบปเบ‡. เบ™เบฑเบเบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเป„เบ”เป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰, เบžเบฒเบเปƒเบ™เบชเบญเบ‡เบชเบฒเบกเบงเบดเบ™เบฒเบ—เบต, เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบเบฐเปเบˆ AES-NI เปเบฅเบฐ RSA เบ—เบตเปˆเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™ SGX, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฐเปเบˆเบเบฒเบ™เบขเบฑเป‰เบ‡เบขเบทเบ™ Intel SGX เปเบฅเบฐเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบเปเบฒเป€เบ™เบตเบ”เป€เบฅเบ pseudo-random. เบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบˆเบกเบ•เบตเป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบžเบตเบกเบกเบฒเบขเบนเปˆเปƒเบ™ GitHub.

Intel เป„เบ”เป‰เบ›เบฐเบเบฒเบ”เบเบฒเบ™เปเบเป‰เป„เบ‚เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡ microcode เบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเป‰เบฒเบ‡ buffer เปเบฅเบฐเป€เบžเบตเปˆเบกเบกเบฒเบ”เบ•เบฐเบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป€เบžเบทเปˆเบญเบ›เบปเบเบ›เป‰เบญเบ‡เบ‚เปเป‰เบกเบนเบ™ enclave. เบเบฒเบ™เบ›เปˆเบญเบ SDK เปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบš Intel SGX เบเบฑเบ‡เป„เบ”เป‰เบ–เบทเบเบเบฐเบเบฝเบกเบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบฎเบปเปˆเบงเป„เบซเบฅเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™. เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปเบฅเบฐ hypervisors เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰เป‚เบซเบกเบ” x2APIC เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบฎเบนเบšเปเบšเบš xAPIC เปเบšเบšเป€เบเบปเปˆเบฒ, เป€เบŠเบดเปˆเบ‡เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™ MSR เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปเบ—เบ™ MMIO เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™ APIC.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™