ู…ู‚ุฏู…ุฉ ุญูˆู„ Stack Hardware Security (Windows 10)

ุชุญุช ุงู„ู‚ุทุน ุชุฑุฌู…ุฉ ู„ู„ู…ู‚ุงู„ " ูู‡ู… ุญู…ุงูŠุฉ ุงู„ู…ูƒุฏุณ ุงู„ุชูŠ ูŠุชู… ูุฑุถู‡ุง ุนู† ุทุฑูŠู‚ ุงู„ุฃุฌู‡ุฒุฉ ".


ุงู„ู…ุคู„ููˆู†: ูุฑูŠู‚ ุญู…ุงูŠุฉ Kernel - Jin Lin ุŒ Jason Lin ุŒ Niraj Majmudar ุŒ Greg Colombo


ู‡ุฐุง ู‡ูˆ ุฃูˆู„ ู†ุดุฑ (ู…ุฑุงุฌุนุฉ) ู„ุณู„ุณู„ุฉ ู…ุชุตูˆุฑุฉ ู…ู† ุชุฑุฌู…ุชูŠู† ุญูˆู„ ุฅุฏุฎุงู„ ุชู‚ู†ูŠุฉ ูุฑุถ ุงู„ุชุญูƒู… ููŠ ุชุฏูู‚ ุงู„ุชุญูƒู… (CET) ู…ู† Intel ููŠ Windows 10.




ู†ุญู† ู†ุณุนู‰ ุฌุงู‡ุฏูŠู† ู„ุฌุนู„ Windows 10 ุฃุญุฏ ุฃู†ุธู…ุฉ ุงู„ุชุดุบูŠู„ ุงู„ุฃูƒุซุฑ ุฃู…ุงู†ู‹ุง ู„ุนู…ู„ุงุฆู†ุง ุŒ ูˆู„ู‡ุฐุง ุงู„ุณุจุจ ู†ุณุชุซู…ุฑ ููŠ ุงู„ุนุฏูŠุฏ ู…ู† ู…ูŠุฒุงุช ุงู„ุฃู…ุงู†. ูู„ุณูุชู†ุง ู‡ูŠ ุฅู†ุดุงุก ูˆุธุงุฆู ุชู‚ู„ู„ ู…ู† ูุนุงู„ูŠุฉ ูุฆุฉ ูˆุงุณุนุฉ ู…ู† ู†ู‚ุงุท ุงู„ุถุนู (ู…ู† ุงู„ู†ุงุญูŠุฉ ุงู„ู…ุซุงู„ูŠุฉ ุŒ ุฏูˆู† ุชุบูŠูŠุฑ ุฑู…ุฒ ุงู„ุชุทุจูŠู‚). ุชุญุชูˆูŠ MSDN ุนู„ู‰ ู…ู‚ุงู„ุฉ ู…ู†ูุตู„ุฉ ุŒ "ุงู„ุชุฎููŠู ู…ู† ุงู„ุชู‡ุฏูŠุฏุงุช ุจุงุณุชุฎุฏุงู… ู…ูŠุฒุงุช ุฃู…ุงู† Windows 10" ุŒ ูˆุงู„ุชูŠ ุชุฌู…ุน ูƒู„ ุงู„ุชู‚ู†ูŠุงุช ุงู„ู…ูˆุฌู‡ุฉ ู†ุญูˆ ุงู„ุฃู…ุงู† ุงู„ุชูŠ ู‚ู…ู†ุง ุจุจู†ุงุฆู‡ุง ููŠ Windows ุนู„ู‰ ู…ุฑ ุงู„ุณู†ูŠู†. ุชูˆุถุญ ู‡ุฐู‡ ุงู„ู…ู‚ุงู„ุฉ ุฃูŠุถู‹ุง ูƒูŠู ุชุถู…ู† ูƒู„ ูˆุธูŠูุฉ ุณู„ุงู…ุฉ ุนู…ู„ุงุฆู†ุง. ู‡ู†ุงูƒ ุฃูŠุถู‹ุง ุนุฑุถ ุชู‚ุฏูŠู…ูŠ ู…ู† Matt Miller ูˆ David Weston ุŒ ูŠู…ูƒู† ุงู„ุชูˆุตูŠุฉ ุจู‡ ู„ู„ู‚ุฑุงุกุฉ ุจุนุฏ ู…ู‚ุงู„ุฉ MSDN. ูŠุชุนู…ู‚ ุงู„ุนุฑุถ ุงู„ุชู‚ุฏูŠู…ูŠ ููŠ ูู„ุณูุชู†ุง ุงู„ุฃู…ู†ูŠุฉ.


ู†ุญู† ู†ุฏุฑุณ ุญุงู„ูŠู‹ุง ู…ูŠุฒุงุช ุงู„ุฃู…ุงู† ุงู„ู…ุณุชู†ุฏุฉ ุฅู„ู‰ ุงู„ุฃุฌู‡ุฒุฉ. ุณูŠุชูŠุญ ู„ู†ุง ุฐู„ูƒ ุฑูุน ู…ุณุชูˆู‰ ุงู„ุฏูุงุน ุจุดูƒู„ ูƒุจูŠุฑ ุถุฏ ุงู„ู‡ุฌู…ุงุช. ุจูุถู„ ุงู„ุชูƒุงู…ู„ ุงู„ุนู…ูŠู‚ ู„ู€ Windows kernel ู…ุน ุงู„ุฃุฌู‡ุฒุฉ ุŒ ุณูŠุตุจุญ ู…ู† ุงู„ุตุนุจ ูˆุงู„ู…ูƒู„ู ุนู„ู‰ ุงู„ู…ู‡ุงุฌู…ูŠู† ุชู†ููŠุฐ ู‡ุฌู…ุงุช ูˆุงุณุนุฉ ุงู„ู†ุทุงู‚.


ุงุณุชู†ุงุฏู‹ุง ุฅู„ู‰ ุงู„ุจุญุซ ( ุชุทูˆุฑ ู‡ุฌู…ุงุช CFI ุŒ Joe Bialek) ุŒ ูŠู…ูƒู† ุงู„ู‚ูˆู„ ุฃู† ู‡ุฌู…ุงุช ROP (ุงู„ุจุฑู…ุฌุฉ ุงู„ู…ูˆุฌู‡ุฉ ู„ู„ุนูˆุฏุฉ) ุฃุตุจุญุช ุฃุฏุงุฉ ู…ู‡ุงุฌู… ุดุงุฆุนุฉ ุฌุฏู‹ุง. ูˆุจุงู„ุชุงู„ูŠ ุŒ ูู‡ูŠ ุงู„ู‡ุฏู ุงู„ุชุงู„ูŠ ู„ุชู‚ู†ูŠุงุช ุฃู…ุงู† Windows ุงู„ุงุณุชุจุงู‚ูŠุฉ ุงู„ู…ุถู…ู†ุฉ. ููŠ ู‡ุฐุง ุงู„ู…ู†ุดูˆุฑ ุŒ ู†ุตู ุฌู‡ูˆุฏู†ุง ู„ุชุนุฒูŠุฒ ุชูƒุงู…ู„ ุชุฏูู‚ ุงู„ุชุญูƒู… ููŠ Windows 10 ุจุงุณุชุฎุฏุงู… ุญู…ุงูŠุฉ ู…ูƒุฏุณ ุงู„ุฃุฌู‡ุฒุฉ.


ู†ู‚ุงุท ุงู„ุถุนู ููŠ ุฃู…ู† ุงู„ุฐุงูƒุฑุฉ


, , . , (dangling pointers), .


( strcpy). , (: ) , .



(dangling pointers) , , , , . use-after-free ( ) / , ( , ).


: , . , .


, .



:



Code Integrity Guard (CIG) .


Arbitrary Code Guard (ACG) , , , .


CIG ACG , Call/Jump Oriented Programming (COP/JOP) Return Oriented Programming (ROP).


Control Flow Guard (CFG) Windows 10 ( , forward-edge CFI). (Shadow Stacks) (backward-edge CFI).


ROP


, , . : , Data Execution Prevention (DEP) Address Space Layout Randomization (ASLR). () . , RET ( ), ( ), .



, Intel' Control-flow Enforcement Technology (CET). CET Intel.


Windows 10. , (Shadow Stack). CALL , . RET , , .


, (control protection, #CP). Windows , .



(Shadow Stack) , .


(Shadow Stacks) CET


, , , .


SSP, () . .


:


  • INCSSP โ€” SSP ( )
  • RDSSP โ€” SSP
  • SAVEPREVSSP/RSTORSSP โ€” / (, )

Intelโ€™ CET.



, PE , .


, Windows , . Windows , PE .


(opt-in: ) , .


, Insider preview- Windows 10. , Intel' CET, Insider preview- Windows 10.


ROP , . , Windows , .


, , . , . Windows 10 .





, ( ) . - ( ) ( ) โ€” . โ€ฆ , , :) , .


All Articles