CET & Shadow Stack

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

Control Flow Enforcement Technology (CET)

CET๋Š” Return-Oriented Programming (ROP) ๋ฐ **Jump-Oriented Programming (JOP)**๊ณผ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ์ œ์–ด ํ๋ฆ„ ํƒˆ์ทจ ๊ณต๊ฒฉ์„ ์ €์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋“œ์›จ์–ด ์ˆ˜์ค€์—์„œ ๊ตฌํ˜„๋œ ๋ณด์•ˆ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ๊ณต๊ฒฉ์€ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ํ๋ฆ„์„ ์กฐ์ž‘ํ•˜์—ฌ ์•…์„ฑ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ๋ฌดํ•ดํ•œ ์ฝ”๋“œ ์กฐ๊ฐ์„ ์—ฐ๊ฒฐํ•˜์—ฌ ์•…์˜์ ์ธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

CET๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค: ๊ฐ„์ ‘ ๋ถ„๊ธฐ ์ถ”์  (IBT) ๋ฐ ์„€๋„์šฐ ์Šคํƒ.

  • IBT๋Š” ๊ฐ„์ ‘ ์ ํ”„ ๋ฐ ํ˜ธ์ถœ์ด ์œ ํšจํ•œ ๋Œ€์ƒ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋„๋ก ๋ณด์žฅํ•˜๋ฉฐ, ์ด๋Š” ๊ฐ„์ ‘ ๋ถ„๊ธฐ์˜ ํ•ฉ๋ฒ•์ ์ธ ๋ชฉ์ ์ง€๋กœ ๋ช…์‹œ์ ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์œ ํšจํ•œ ๋Œ€์ƒ์„ ํ‘œ์‹œํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ช…๋ น์–ด ์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ฌ์„ฑ๋˜๋ฉฐ, ๊ณต๊ฒฉ์ž๊ฐ€ ์ œ์–ด ํ๋ฆ„์„ ์ž„์˜์˜ ์œ„์น˜๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • ์„€๋„์šฐ ์Šคํƒ์€ ๋ฐ˜ํ™˜ ์ฃผ์†Œ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ผ๋ฐ˜ ํ˜ธ์ถœ ์Šคํƒ๊ณผ ๋ถ„๋ฆฌ๋œ ์•ˆ์ „ํ•˜๊ณ  ์ˆจ๊ฒจ์ง„ ๋ฐ˜ํ™˜ ์ฃผ์†Œ์˜ ๋ณต์‚ฌ๋ณธ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜๊ฐ€ ๋ฐ˜ํ™˜๋  ๋•Œ, ๋ฐ˜ํ™˜ ์ฃผ์†Œ๋Š” ์„€๋„์šฐ ์Šคํƒ๊ณผ ๋น„๊ตํ•˜์—ฌ ๊ฒ€์ฆ๋˜๋ฉฐ, ๊ณต๊ฒฉ์ž๊ฐ€ ์Šคํƒ์˜ ๋ฐ˜ํ™˜ ์ฃผ์†Œ๋ฅผ ๋ฎ์–ด์“ฐ๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

Shadow Stack

์„€๋„์šฐ ์Šคํƒ์€ ๋ฐ˜ํ™˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ „์šฉ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์Šคํƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ผ๋ฐ˜ ์Šคํƒ๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•˜์ง€๋งŒ ์ •์ƒ์ ์ธ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ๋˜๊ณ  ์ˆจ๊ฒจ์ ธ ์žˆ์–ด ๊ณต๊ฒฉ์ž๊ฐ€ ์กฐ์ž‘ํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์„€๋„์šฐ ์Šคํƒ์˜ ์ฃผ์š” ๋ชฉํ‘œ๋Š” ๊ธฐ์กด ์Šคํƒ์˜ ๋ฐ˜ํ™˜ ์ฃผ์†Œ์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์ด ์‚ฌ์šฉ๋˜๊ธฐ ์ „์— ๊ฐ์ง€๋˜๋„๋ก ํ•˜์—ฌ ROP ๊ณต๊ฒฉ์„ ํšจ๊ณผ์ ์œผ๋กœ ์™„ํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

How CET and Shadow Stack Prevent Attacks

ROP ๋ฐ JOP ๊ณต๊ฒฉ์€ ์Šคํƒ์—์„œ ํฌ์ธํ„ฐ๋‚˜ ๋ฐ˜ํ™˜ ์ฃผ์†Œ๋ฅผ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์„ ํ™œ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ œ์–ด ํ๋ฆ„์„ ํƒˆ์ทจํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ๊ธฐ์กด ์ฝ”๋“œ ๊ฐ€์ ฏ์ด๋‚˜ ๋ฐ˜ํ™˜ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€์ ฏ์˜ ์‹œํ€€์Šค๋กœ ํ๋ฆ„์„ ์œ ๋„ํ•˜์—ฌ ์ž„์˜์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • CET์˜ IBT ๊ธฐ๋Šฅ์€ ๊ฐ„์ ‘ ๋ถ„๊ธฐ๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์œ ํšจํ•œ ๋Œ€์ƒ์œผ๋กœ ํ‘œ์‹œ๋œ ์ฃผ์†Œ๋กœ๋งŒ ์ ํ”„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณด์žฅํ•จ์œผ๋กœ์จ ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์„ ์ƒ๋‹นํžˆ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ๋ฐ”์ด๋„ˆ๋ฆฌ์— ๋ถ„์‚ฐ๋œ ์ž„์˜์˜ ๊ฐ€์ ฏ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ๋ฐ˜๋ฉด์— ์„€๋„์šฐ ์Šคํƒ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ์ผ๋ฐ˜ ์Šคํƒ์—์„œ ๋ฐ˜ํ™˜ ์ฃผ์†Œ๋ฅผ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ๋”๋ผ๋„, ํ•จ์ˆ˜์—์„œ ๋ฐ˜ํ™˜ํ•  ๋•Œ ์†์ƒ๋œ ์ฃผ์†Œ์™€ ์„€๋„์šฐ ์Šคํƒ์— ์ €์žฅ๋œ ์•ˆ์ „ํ•œ ๋ณต์‚ฌ๋ณธ์„ ๋น„๊ตํ•  ๋•Œ ๋ถˆ์ผ์น˜๊ฐ€ ๊ฐ์ง€๋ฉ๋‹ˆ๋‹ค. ์ฃผ์†Œ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๋ณด์•ˆ ์กฐ์น˜๋ฅผ ์ทจํ•˜์—ฌ ๊ณต๊ฒฉ์ด ์„ฑ๊ณตํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ