malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

เบ•เบฒเบกเบ—เบตเปˆเบ—เปˆเบฒเบ™เบฎเบนเป‰, เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™ enclave เปเบกเปˆเบ™เบ–เบทเบเบˆเปเบฒเบเบฑเบ”เบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบกเบฑเบ™. เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เป‚เบ—เบฅเบฐเบšเบปเบšเป„เบ”เป‰. เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ I/O เป„เบ”เป‰. เบกเบฑเบ™เบšเปเปˆเบฎเบนเป‰เบ—เบตเปˆเบขเบนเปˆเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบš. เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ” jmp เบซเบผเบทเป‚เบ—เบซเบฒเบฅเบฐเบซเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบˆเบปเป‰เบฒเบžเบฒเบš. เบกเบฑเบ™เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบ„เบดเบ”เบเปˆเบฝเบงเบเบฑเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบ„เบงเบšเบ„เบธเบกเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบžเบฒเบš (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบซเบ™เป‰เบฒเปƒเบ”เบ—เบตเปˆเบ–เบทเบเปเบœเบ™เบ—เบตเปˆเบซเบผเบทเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ”เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบซเบ™เป‰เบฒเป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™). เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ‚เปเปƒเบซเป‰เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปเบœเบ™เบ—เบตเปˆเบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป‚เบฎเบ”เบเบฑเบšเบกเบฑเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบœเปˆเบฒเบ™ /proc/pid/maps). เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบก Naive เบ—เบตเปˆเบˆเบฐเบญเปˆเบฒเบ™ blindly เบžเบทเป‰เบ™เบ—เบตเปˆเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ arbitrary เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบš, เบšเปเปˆเปƒเบซเป‰เป€เบงเบปเป‰เบฒเป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ‚เบฝเบ™, เบˆเบฐเป„เบงเบซเบผเบทเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ (เบชเปˆเบงเบ™เบซเบผเบฒเบเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบญเบฐเบ”เบตเบ”) เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบขเบธเบ”เป€เบŠเบปเบฒเบเบฒเบ™เบšเบฑเบ‡เบ„เบฑเบšเบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ enclave. เบญเบฑเบ™เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบ—เบธเบเบ„เบฑเป‰เบ‡เบ—เบตเปˆเบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆ virtual เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เปเป‚เบ”เบ enclave เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป‚เบฎเบ”เป„เบ”เป‰.

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡เบ—เบตเปˆเบฎเบธเบ™เปเบฎเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบ™เบฑเบเบ‚เบฝเบ™เป„เบงเบฃเบฑเบ”เบˆเบฐเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰ SGX enclaves เป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบ‚เบญเบ‡เบฅเบฒเบงเบšเป?

โ€“ Hack เบชเปเบฒเบฅเบฑเบš probing เบ—เบตเปˆเบขเบนเปˆเป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰
โ€“ Hack เบ—เบตเปˆเบขเบนเปˆ probe เบชเปเบฒเบฅเบฑเบš writability
โ€“ Hack เป€เบžเบทเปˆเบญเบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ™เบ„เบงเบšเบ„เบธเบก
โ€“ เบชเบฒเบก hacks เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เปƒเบซเป‰เบ„เบปเบ™เบฎเป‰เบฒเบเปเบกเปˆเบ™เบซเบเบฑเบ‡?
โ€“ เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเปƒเบŠเป‰ hacks เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ ranzowari

malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบเบญเบกเบฎเบฑเบšเป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เบงเปˆเบฒ enclave เบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบš, เปเบฅเบฐ enclave เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบฅเบดเป€เบฅเบตเปˆเบกเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เบฅเบงเบกเบ—เบฑเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบ. เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒ enclaves เปเบกเปˆเบ™เบšเปเปˆเบกเบตเบกเบนเบ™เบ„เปˆเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เปเปˆเบ™เบฑเบเบ‚เบฝเบ™เป„เบงเบฃเบฑเบ”. เบเบฒเบ™เบชเบปเบกเบกเบธเบ”เบ•เบดเบ–เบฒเบ™เบ—เบตเปˆเบฎเบตเบšเบ”เปˆเบงเบ™เบ™เบตเป‰เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ SGX เบกเบตเบ„เบงเบฒเบกเบชเบปเบกเบ”เบธเบ™: เบฅเบฐเบซเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เป‚เบฎเบ”เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ enclave, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบฅเบฐเบซเบฑเบ” enclave เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เปเบฅเบฐเบ‚เบฝเบ™เป„เบ›เบซเบฒเบ—เบตเปˆเบขเบนเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเบ”เบ™เบถเปˆเบ‡.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบฅเบฐเบซเบฑเบ” enclave เบ—เบตเปˆเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบชเบฒเบกเบฒเบ”เป‚เบ—เบซเบฒเบฅเบฐเบšเบปเบš arbitrary เปƒเบ™เบ™เบฒเบกเบ‚เบญเบ‡ host application, เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ” arbitrary เปƒเบ™เบ™เบฒเบกเบ‚เบญเบ‡เบกเบฑเบ™, scan เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡ host app เปเบฅเบฐเบŠเบญเบเบซเบฒเบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰ ROP เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบขเบนเปˆเปƒเบ™เบกเบฑเบ™, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบเบถเบ”เป€เบญเบปเบฒเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡ host application, เปƒเบ™. เป‚เปเบ” stealth. เบกเบฑเบ™เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบฅเบฑเบเปเบฅเบฐเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เป„เบŸเบฅเปŒเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰, เปเบ•เปˆเบเบฑเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบ™เบฒเบกเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเบปเปˆเบ‡เบญเบตเป€เบกเบง phishing เปƒเบ™เบ™เบฒเบกเบ‚เบญเบ‡เบฅเบฒเบงเบซเบผเบทเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบˆเบกเบ•เบต DoS. เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบขเป‰เบฒเบ™เบเบปเบงเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบเบปเบ™เป„เบเบ›เป‰เบญเบ‡เบเบฑเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบ—เบตเปˆเบชเบธเบ”, เป€เบŠเบฑเปˆเบ™ stack canaries เปเบฅเบฐเบเบฒเบ™เบญเบฐเบ™เบฒเป„เบกเบ—เบตเปˆเบขเบนเปˆ.

เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบซเบฑเบ™เบเบฒเบ™เปเบฎเบฑเบเบˆเบณเบ™เบงเบ™เปœเบถเปˆเบ‡เบ—เบตเปˆเบœเบนเป‰เป‚เบˆเบกเบ•เบตเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบญเบปเบฒเบŠเบฐเบ™เบฐเบ‚เปเป‰เบˆเบณเบเบฑเบ”เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เป€เบžเบทเปˆเบญเปƒเบŠเป‰เบ›เบฐเป‚เบซเบเบ”เบˆเบฒเบ SGX เป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡: เบเบฒเบ™เป‚เบˆเบกเบ•เบต ROP. เบ—เบฑเบ‡เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบ•เบปเบ™เป€เบญเบ‡เบกเบฑเบเบ›เบญเบกเบ•เบปเบงเป€เบ›เบฑเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบš (เบ„เป‰เบฒเบเบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบฎเบงเบšเบฎเบงเบก, เป€เบŠเบดเปˆเบ‡เบกเบฑเบเบˆเบฐเบ–เบทเบเปƒเบŠเป‰เป‚เบ”เบ malware), เบซเบผเบทเป€เบžเบทเปˆเบญเบ›เบญเบกเปเบ›เบ‡ malware เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบก (เป€เบžเบทเปˆเบญเบŠเปˆเบงเบเบ›เบฐเบขเบฑเบ” malware เบ‚เบญเบ‡เบกเบฑเบ™เบˆเบฒเบเบเบฒเบ™เบ‚เบปเปˆเบกเป€เบซเบฑเบ‡เป‚เบ”เบ antiviruses เปเบฅเบฐเบเบปเบ™เป„เบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบญเบทเปˆเบ™เป†).

Hack เบชเปเบฒเบฅเบฑเบšเบ—เบตเปˆเบขเบนเปˆ probing เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ enclave เบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒเป„เบฅเบเบฐเปƒเบ”เบ‚เบญเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆ virtual เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบžเบฒเบš, เปเบฅเบฐเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ enclave เป„เบ”เป‰เบ–เบทเบเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบขเบธเบ”เป€เบŠเบปเบฒเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบฐเบเบฒเบเบฒเบกเบญเปˆเบฒเบ™เบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‰, เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบ•เป‰เบญเบ‡เบ›เบฐเป€เบŠเบตเบ™เบเบฑเบšเบซเบ™เป‰เบฒเบ—เบตเปˆเบŠเบญเบเบซเบฒเบงเบดเบ—เบตเบ—เบตเปˆเบˆเบฐเบœเบดเบ”เบžเบฒเบ” - เบญเบปเบ”เบ—เบปเบ™เบชเบฐเปเบเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆ. เบŠเบญเบเบซเบฒเบงเบดเบ—เบตเปเบœเบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆ virtual เบ—เบตเปˆเบกเบตเบขเบนเปˆ. เบ„เบปเบ™เบฎเป‰เบฒเบเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เป‚เบ”เบเบเบฒเบ™เปƒเบŠเป‰เป€เบ—เบเป‚เบ™เป‚เบฅเบเบต TSX เบ‚เบญเบ‡ Intel เปƒเบ™เบ—เบฒเบ‡เบ—เบตเปˆเบœเบดเบ”. เปƒเบŠเป‰เบซเบ™เบถเปˆเบ‡เปƒเบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เป‰เบฒเบ‡เบ„เบฝเบ‡เบ‚เบญเบ‡ TSX: เบ–เป‰เบฒเบŸเบฑเบ‡เบŠเบฑเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบกเปˆเบ™เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เบ—เบธเบฅเบฐเบเปเบฒ TSX, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบˆเบฒเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบˆเบฐเบ–เบทเบเบชเบฐเบเบฑเบ”เบเบฑเป‰เบ™เป‚เบ”เบ TSX เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™. เบ–เป‰เบฒเบกเบตเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เบตเปˆเบขเบนเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ–เบทเบเบเบปเบเป€เบฅเบตเบ, เบšเปเปˆเปเบกเปˆเบ™เป‚เบ„เบ‡เบเบฒเบ™ enclave เบ—เบฑเบ‡เบซเบกเบปเบ”. เบ™เบฑเป‰เบ™. TSX เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ enclave เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เบตเปˆเบขเบนเปˆเปƒเบ”เบ™เบถเปˆเบ‡เบขเปˆเบฒเบ‡เบ›เบญเบ”เป„เบžเบˆเบฒเบเบžเบฒเบเปƒเบ™เบ—เบธเบฅเบฐเบเปเบฒ - เป‚เบ”เบเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ•เปเปˆเบเบฒเบ™เบฅเบปเป‰เบกเบฅเบปเบ‡.

เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ เบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปเบกเปˆเบ™เบกเบตเบขเบนเปˆ เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบš, เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ TSX เปเบกเปˆเบ™เบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบซเบฒเบเบฒเบ, เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเบฅเบปเป‰เบกเป€เบซเบฅเบงเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบญเบดเบ”เบ—เบดเบžเบปเบ™เบˆเบฒเบเบžเบฒเบเบ™เบญเบเป€เบŠเบฑเปˆเบ™เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡ (เป€เบŠเบฑเปˆเบ™เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒ), เบเบฒเบ™เบ‚เบฑเบšเป„เบฅเปˆเปเบ„เบ”, เบซเบผเบทเบเบฒเบ™เบ”เบฑเบ”เปเบเป‰เบžเป‰เบญเบกเป†เบเบฑเบ™เบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป‚เบ”เบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบซเบผเบฒเบ. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบซเบฒเบเบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, TSX เบชเบปเปˆเบ‡เบ„เบทเบ™เบฅเบฐเบซเบฑเบ”เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเปเบกเปˆเบ™เบŠเบปเปˆเบงเบ„เบฒเบง. เปƒเบ™เบเปเบฅเบฐเบ™เบตเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™ restart เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ.

เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ เบšเปเปˆเบกเบตเบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰ เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบš, TSX เบชเบฐเบเบฑเบ”เบเบฑเป‰เบ™เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™ ( OS เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบˆเป‰เบ‡) เปเบฅเบฐเบเบปเบเป€เบฅเบตเบเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ. เบฅเบฐเบซเบฑเบ”เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบ–เบทเบเบชเบปเปˆเบ‡เบ„เบทเบ™เป„เบ›เบซเบฒเบฅเบฐเบซเบฑเบ” enclave เป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบเบดเบฅเบดเบเบฒเบเบฑเบšเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเป„เบ”เป‰เบ–เบทเบเบเบปเบเป€เบฅเบตเบ. เบฅเบฐเบซเบฑเบ”เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบŠเบตเป‰เบšเบญเบเบงเปˆเบฒเบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบ„เปเบฒเบ–เบฒเบกเปเบกเปˆเบ™เบšเปเปˆเบกเบตเปƒเบซเป‰เบเบฑเบšเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบš.

malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

เบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰เบ‚เบญเบ‡ TSX เบ™เบตเป‰เบˆเบฒเบเบžเบฒเบเปƒเบ™ enclave เบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบ”เบตเบชเปเบฒเบฅเบฑเบšเบ„เบปเบ™เบฎเป‰เบฒเบ: เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เบ™เบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบฎเบฒเบ”เปเบงเบชเปˆเบงเบ™เปƒเบซเบเปˆเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบฅเบฐเบซเบฑเบ” enclave เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เบฒเบกเบ—เบธเบฅเบฐเบเปเบฒ TSX เบ—เบตเปˆเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบฒเบเปƒเบ™ enclave. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰เบ—เบตเปˆเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบ‚เบญเบ‡ TSX เบเบฑเบ‡เบ„เบปเบ‡เป€เบšเบดเปˆเบ‡เบšเปเปˆเป€เบซเบฑเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™ hack เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบšเปเปˆเป„เบ”เป‰เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเปƒเบ”เป†, เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบเบงเบ”เบžเบปเบšเบซเบผเบทเบ›เป‰เบญเบ‡เบเบฑเบ™เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบฐเบเบฑเบ”เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš; เบŠเบถเปˆเบ‡เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเปƒเบซเป‰เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปƒเบ™เบ—เบฒเบ‡เบšเบงเบเปƒเบ™เบเบฒเบ™เบ•เปเปˆเบชเบนเป‰เบ•เป‰เบฒเบ™เบเบฒเบ™เบฅเปˆเบฒเบชเบฑเบ”เป„เบ‚เปˆ.

เบ„เบปเบ™เบฎเป‰เบฒเบเปƒเบŠเป‰เบเบฒเบ™เปเบฎเบฑเบเบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เป€เบžเบทเปˆเบญเบ„เบปเป‰เบ™เบซเบฒเบฅเบฐเบซเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบžเบฒเบšเบชเปเบฒเบฅเบฑเบš gadgets เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰ ROP. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบฅเบฒเบงเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเบทเบšเบชเบงเบ™เบ—เบธเบเบ—เบตเปˆเบขเบนเปˆ. เบกเบฑเบ™เบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเบชเบทเบšเบชเบงเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบขเบนเปˆเบˆเบฒเบเปเบ•เปˆเบฅเบฐเบซเบ™เป‰เบฒเบ‚เบญเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆ virtual. เบเบฒเบ™เบเบงเบ”เบชเบญเบšเปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณเบ—เบฑเบ‡เปเบปเบ” 16 เบเบดเบเบฒเป„เบšเปƒเบŠเป‰เป€เบงเบฅเบฒเบ›เบฐเบกเบฒเบ™ 45 เบ™เบฒเบ—เบต (เปƒเบ™ Intel i7-6700K). เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ„เบปเบ™เบฎเป‰เบฒเบเป„เบ”เป‰เบฎเบฑเบšเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰ ROP.

เปเบฎเบเบชเปเบฒเบฅเบฑเบšเบ—เบตเปˆเบขเบนเปˆ probing เบชเปเบฒเบฅเบฑเบš writability

เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบˆเบกเบ•เบต ROP เบชเบฐเบšเบฑเบš enclave, เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบˆเบฐเบ•เป‰เบญเบ‡เบชเบฒเบกเบฒเบ”เบ„เบปเป‰เบ™เบซเบฒเบžเบทเป‰เบ™เบ—เบตเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เบ—เบตเปˆเบ‚เบฝเบ™เป„เบ”เป‰เบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปเบกเปˆเบ‚เปˆเบฒเบ. เบœเบนเป‰เป‚เบˆเบกเบ•เบตเปƒเบŠเป‰เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบžเบทเปˆเบญเบชเบตเบ”เบเบญเบš stack เบ›เบญเบกเปเบฅเบฐเบชเบตเบ” payload (shellcode). เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบฅเบธเปˆเบกเปเบกเปˆเบ™เบงเปˆเบฒ enclave malicious เบšเปเปˆเบชเบฒเบกเบฒเบ”เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰ host application เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบชเบฑเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡, เปเบ•เปˆเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบ–เบทเบเบˆเบฑเบ”เบชเบฑเบ™เป‚เบ”เบ host application. เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ, เปเบ™เปˆเบ™เบญเบ™, เบฅเบฒเบงเบ„เบธเป‰เบกเบ„เบญเบ‡เป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบเบธเบš enclave เป„เบ”เป‰.

เบ„เบปเบ™เบฎเป‰เบฒเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบ™เบตเป‰เป‚เบ”เบเบเบฒเบ™เบ‚เบธเบ”เบ„เบปเป‰เบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เป‰เบฒเบ‡เบ„เบฝเบ‡เบญเบทเปˆเบ™เบ‚เบญเบ‡ TSX. เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบšเบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เบกเบฑเบ™ probes เบ—เบตเปˆเบขเบนเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเบ‚เบญเบ‡เบกเบฑเบ™, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบซเบ™เป‰เบฒเป€เบงเบฑเบšเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบเบฑเบšเบ—เบตเปˆเบขเบนเปˆเบ™เบตเป‰เปเบกเปˆเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เป„เบ”เป‰. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ„เบปเบ™เบฎเป‰เบฒเบเปƒเบŠเป‰เบเบฒเบ™ hack เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰: เบฅเบฒเบงเบงเบฒเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเบ‚เบฝเบ™เปƒเบ™เบ—เบธเบฅเบฐเบเปเบฒ TSX, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบกเบฑเบ™เบชเปเบฒเป€เบฅเบฑเบ”, เปเบ•เปˆเบเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบˆเบฐเบชเปเบฒเป€เบฅเบฑเบ”, เบฅเบฒเบงเป„เบ”เป‰เบเบปเบเป€เบฅเบตเบเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ (เบเบฒเบ™เป€เบญเบปเบฒเบฅเบนเบเบญเบญเบเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡).

เป‚เบ”เบเบเบฒเบ™เป€เบšเบดเปˆเบ‡เบฅเบฐเบซเบฑเบ”เบเบฑเบšเบ„เบทเบ™เบˆเบฒเบเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ TSX, เบœเบนเป‰เป‚เบˆเบกเบ•เบตเป€เบ‚เบปเป‰เบฒเปƒเบˆเบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ‚เบฝเบ™. เบ–เป‰เบฒเบกเบฑเบ™เป€เบ›เบฑเบ™ "เบเบฒเบ™เป€เบญเบปเบฒเบฅเบนเบเบญเบญเบเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡", เบ„เบปเบ™เบฎเป‰เบฒเบเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบˆเบฐเบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบ–เป‰เบฒเบฅเบฒเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบกเบฑเบ™. เบ–เป‰เบฒเบซเบ™เป‰เบฒเบ–เบทเบเบญเปˆเบฒเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบˆเบฐเบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เบ”เป‰เบงเบเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบ "เบเบฒเบ™เบเบปเบเป€เบฅเบตเบเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡".

malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

เบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰เบ‚เบญเบ‡ TSX เบ™เบตเป‰เบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบ”เบตเบชเปเบฒเบฅเบฑเบšเบ„เบปเบ™เบฎเป‰เบฒเบ (เบ™เบญเบเป€เบซเบ™เบทเบญเป„เบ›เบˆเบฒเบเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบœเปˆเบฒเบ™เบ•เบปเบงเบ™เบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบฎเบฒเบ”เปเบง): เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบฝเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”, เบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบชเปเบฒเป€เบฅเบฑเบ”เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบˆเบธเบฅเบฑเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบ–เบทเบเบชเบทเบšเบชเบงเบ™. เบเบฑเบ‡เบ„เบปเบ‡เบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡.

Hack เป€เบžเบทเปˆเบญเบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ™เบ„เบงเบšเบ„เบธเบก

เป€เบกเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบˆเบกเบ•เบต ROP เบˆเบฒเบ enclave - เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบšเบเบฒเบ™เป‚เบˆเบกเบ•เบต ROP เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก - เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบชเบฒเบกเบฒเบ”เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™ RIP เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เปƒเบŠเป‰เปเบกเบ‡เป„เบกเป‰เปƒเบ”เป†เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบ–เบทเบเป‚เบˆเบกเบ•เบต (buffer overflow เบซเบผเบทเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบ™เบฑเป‰เบ™). เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เบ—เบฑเบšเบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบ—เบฐเบšเบฝเบ™ RIP เบ—เบตเปˆเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™ stack เป„เบ”เป‰เป‚เบ”เบเบเบปเบ‡. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ—เบปเบ”เปเบ—เบ™เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบ—เบฐเบšเบฝเบ™เบ™เบตเป‰เบ”เป‰เบงเบเบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰ ROP เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡.

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ–เป‰เบฒเบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰ ROP เบเบฒเบง, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เบ‚เบฝเบ™เบ—เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ‚เบญเบ‡ stack เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบชเบฒเบกเบฒเบ”เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบชเปเป‰เบฅเบฒเบ”เบšเบฑเบ‡เบซเบผเบงเบ‡เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบžเบถเบ”เบ•เบดเบเปเบฒเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”. เบ„เบปเบ™เบฎเป‰เบฒเบ, เบœเบนเป‰เบ—เบตเปˆเบŠเบญเบเบซเบฒเบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ‚เบญเบ‡เบ•เบปเบ™เบขเปˆเบฒเบ‡เบฅเบฑเบšเป†, เบšเปเปˆเบžเปเปƒเบˆเบเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบกเบฑเบ™เบชเป‰เบฒเบ‡เบเบญเบš stack เบŠเบปเปˆเบงเบ„เบฒเบงเบ›เบญเบกเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เปเบฅเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰ ROP เบ‚เบญเบ‡เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบกเบฑเบ™. เป€เบŸเบฃเบก stack เบ›เบญเบกเปเบกเปˆเบ™เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เป„เบ”เป‰เปเบšเบšเบชเบธเปˆเบก, เป€เบฎเบฑเบ”เปƒเบซเป‰ stack เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡ intact.

malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

เบชเบฒเบก hacks เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เปƒเบซเป‰เบ„เบปเบ™เบฎเป‰เบฒเบเปเบกเปˆเบ™เบซเบเบฑเบ‡?

(1) เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, malicious enclave เบœเปˆเบฒเบ™ hack เบชเปเบฒเบฅเบฑเบšเบ—เบตเปˆเบขเบนเปˆ probing เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰, โ€“ เบ„เบปเป‰เบ™เบซเบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบšเบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบท ROP เบ—เบตเปˆเบ–เบทเบเบฅเปˆเบงเบ‡เบฅเบฐเป€เบกเบตเบ”.

malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

(2) เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป‚เบ”เบ hack เบชเปเบฒเบฅเบฑเบšเบ—เบตเปˆเบขเบนเปˆ probing เบชเปเบฒเบฅเบฑเบš writability, โ€“ a malicious enclave เบเปเบฒเบ™เบปเบ”เบžเบทเป‰เบ™เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡ host app เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบš injecting payload.

malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

(3) เบ•เปเปˆเป„เบ›, enclave เบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰ ROP เบˆเบฒเบ gadgets เบ—เบตเปˆเบ„เบปเป‰เบ™เบžเบปเบšเปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™ (1) เปเบฅเบฐ injects เป‚เบชเป‰เบ™เบตเป‰เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ stack เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบˆเบปเป‰เบฒเบžเบฒเบš.

malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

(4) เบชเบธเบ”เบ—เป‰เบฒเบ, เป€เบกเบทเปˆเบญเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบžเบปเบšเบเบฑเบšเบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰ ROP เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, payload malicious เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ›เบฐเบ•เบดเบšเบฑเบ” - เบ”เป‰เบงเบเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบˆเบปเป‰เบฒเบžเบฒเบšเปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป‚เบ—เบซเบฒเบฅเบฐเบšเบปเบš.

เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเปƒเบŠเป‰เปเบฎเบฑเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ ranzowari

เบซเบผเบฑเบ‡เบˆเบฒเบเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป‚เบฎเบ”เป‚เบญเบ™เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเป„เบ›เบซเบฒ enclave เป‚เบ”เบเบœเปˆเบฒเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™ ECALLs (เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบชเบปเบ‡เปƒเบชเบงเปˆเบฒ enclave เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบ), enclave malicious เบ„เบปเป‰เบ™เบซเบฒเบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡เปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡ host application เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ injecting เบฅเบฐเบซเบฑเบ” (เป€เบญเบปเบฒเป€เบ›เบฑเบ™เบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡ เบฅเปเบฒเบ”เบฑเบšเบ‚เบญเบ‡เบˆเบธเบฅเบฑเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ—เบตเปˆเป€เบ•เบฑเบกเป„เบ›เบ”เป‰เบงเบเบชเบนเบ™). เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบœเปˆเบฒเบ™ hack เบชเปเบฒเบฅเบฑเบšเบ—เบตเปˆเบขเบนเปˆ probing เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰, โ€“ enclave เบ„เบปเป‰เบ™เบซเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบˆเบปเป‰เบฒเบžเบฒเบšเปเบฅเบฐเบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰ ROP เบ—เบตเปˆเบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเปƒเบซเบกเปˆเบ—เบตเปˆเบกเบตเบŠเบทเปˆเบงเปˆเบฒ "RANSOM" เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ›เบฐเบˆเบธเบšเบฑเบ™ (เปƒเบ™เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡, enclave เป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เป„เบŸเบฅเปŒเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง) เปเบฅเบฐเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบ„เปˆเบฒเป„เบ–เปˆ. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบšเป€เบŠเบทเปˆเบญเบงเปˆเบฒ enclave เบžเบฝเบ‡เปเบ•เปˆเป€เบžเบตเปˆเบกเบชเบญเบ‡เบ•เบปเบงเป€เบฅเบ. เบญเบฑเบ™เบ™เบตเป‰เป€เบšเบดเปˆเบ‡เบ„เบทเปเบ™เบงเปƒเบ”เปƒเบ™เบฅเบฐเบซเบฑเบ”?

เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เบฎเบฑเบšเบฎเบนเป‰, เบ‚เปเปเบ™เบฐเบ™เปเบฒเบšเบฒเบ‡ mnemonics เบœเปˆเบฒเบ™เบ„เปเบฒเบ™เบดเบเบฒเบก:

malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

เบžเบงเบเป€เบฎเบปเบฒเบšเบฑเบ™เบ—เบถเบเบ„เปˆเบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ RSP เปเบฅเบฐ RBP เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เป€เบžเบทเปˆเบญเบŸเบทเป‰เบ™เบŸเบนเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ›เบปเบเบเบฐเบ•เบดเบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบซเบผเบฑเบ‡เบˆเบฒเบเบ›เบฐเบ•เบดเบšเบฑเบ” payload:

malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบŠเบญเบเบซเบฒเบเบญเบš stack เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก (เป€เบšเบดเปˆเบ‡เบฅเบฐเบซเบฑเบ”เบˆเบฒเบเบžเบฒเบ "hack เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ™เบ„เบงเบšเบ„เบธเบก").

เบŠเบญเบเบซเบฒเบญเบธเบ›เบฐเบเบญเบ™ ROP เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก:

malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

เบŠเบญเบเบซเบฒเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเป€เบžเบทเปˆเบญเบชเบฑเบเบขเบฒ payload:

malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰ ROP:

malware SGX: เบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบฎเป‰เบฒเบเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต Intel เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบญเบทเปˆเบ™เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

เบ™เบตเป‰เปเบกเปˆเบ™เบงเบดเบ—เบตเบเบฒเบ™เป€เบ—เบเป‚เบ™เป‚เบฅเบเบต SGX เบ‚เบญเบ‡ Intel, เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบ•เป‰เบฒเบ™เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบ, เบ–เบทเบเบ‚เบนเบ”เบฎเบตเบ”เป‚เบ”เบเบ„เบปเบ™เบฎเป‰เบฒเบเป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

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