๐Ÿ”ฎ [ํด๋ž˜์‹] Spectre: '์„ฑ๋Šฅ์„ ์œ„ํ•ด ์ถ”์ธกํ•œ' ๊ทธ ์‹คํ–‰์ด ๋ณด์•ˆ ๊ฒฝ๊ณ„๋ฅผ ๋„˜๋Š”๋‹ค

2026-10-14 ยท ์นดํ…Œ๊ณ ๋ฆฌ: Research (์ „ํ†ต ๋ณด์•ˆ ๋…ผ๋ฌธ ยท ํ•˜๋“œ์›จ์–ด ๋ณด์•ˆ ยท ์ถ”์ธก ์‹คํ–‰ ยท ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜ ๋ถ€์ฑ„๋„ ยท ์‚ฌ์ด๋“œ์ฑ„๋„)

๋…ผ๋ฌธ ์ •๋ณด

์ œ๋ชฉ: Spectre Attacks: Exploiting Speculative Execution
์ €์ž: Paul Kocher ยท Daniel Genkin ยท Daniel Gruss ยท Werner Haas ยท Mike Hamburg ยท Moritz Lipp ยท Stefan Mangard ยท Thomas Prescher ยท Michael Schwarz ยท Yuval Yarom (arXiv v1 ๊ธฐ์ค€ 10์ธ; IEEE S&P ์ตœ์ข…ํŒ์—๋Š” Jann Horn(Google Project Zero)ยทAnders Fogh๊ฐ€ ์ถ”๊ฐ€๋œ 12์ธ ๊ณต์ €)
์ถœ์ฒ˜: arXiv:1801.01203v1 [cs.CR] (2018๋…„ 1์›” 3์ผ ๊ณต๊ฐœ) ยท IEEE S&P (Oakland) 2019 ์ •์‹ ๊ฒŒ์žฌ ยท PDF
๋ถ„์•ผ: ํ•˜๋“œ์›จ์–ดยท๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜ ๋ณด์•ˆ ยท ์ถ”์ธก ์‹คํ–‰(speculative execution) ๋ถ€์ฑ„๋„ ยท ์บ์‹œ ๊ธฐ๋ฐ˜ ์‚ฌ์ด๋“œ์ฑ„๋„ ยท ํ”„๋กœ์„ธ์„œ ๋ณด์•ˆ (ACM CCS: Security and privacy โ†’ Side-channel analysis and countermeasures)
์ธ์šฉ: OpenAlex ๊ธฐ์ค€ 1,781ํšŒ (IEEE S&P 2019 ๋ฒ„์ „; 2018๋…„ 1์›” ํ”„๋ฆฌํ”„๋ฆฐํŠธ ๊ณต๊ฐœ ์งํ›„ ํญ๋ฐœ์ ์œผ๋กœ ์ธ์šฉ๋จ) โ€” ์ด ๋…ผ๋ฌธ ํ•˜๋‚˜๊ฐ€ ํ˜„๋Œ€ CPU ์„ค๊ณ„ยท์šด์˜์ฒด์ œยท์ปดํŒŒ์ผ๋Ÿฌยท๋ธŒ๋ผ์šฐ์ €์˜ ์™„ํ™”์ฑ…์„ ํ†ต์งธ๋กœ ๋‹ค์‹œ ์“ฐ๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค.
CVE: Spectre Variant 1 = CVE-2017-5753 (Bounds Check Bypass) ยท Variant 2 = CVE-2017-5715 (Branch Target Injection)
๊ณต๊ฐœ: 2018๋…„ 1์›” 3์ผ, IntelยทAMDยทARMยทQualcomm ๋“ฑ๊ณผ ์กฐ์œจ๋œ ์ฑ…์ž„ ๊ณต๊ฐœ โ€” ๊ฐ™์€ ๋‚  ๊ณต๊ฐœ๋œ ์ž๋งค ๋…ผ๋ฌธ Meltdown๊ณผ ํ•จ๊ป˜ "2018๋…„์˜ ๋‘ ๋‹จ์–ด"๋กœ ๋ถˆ๋ฆฐ๋‹ค.
์›๋ฌธ: arXiv:1801.01203 ยท PDF ยท ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ (spectreattack.com)

ํ•œ ์ค„ ์š”์•ฝ โ€” "์ถ”์ธก ์‹คํ–‰์€ ์•ˆ ๋ณด์ด๋Š” ๊ณณ์—์„œ ์‹คํ–‰๋œ๋‹ค"๋Š” ์ฐฉ๊ฐ์ด ๋ชจ๋“  ๊ฒฉ๋ฆฌ๋ฅผ ๋ฌด๋„ˆ๋œจ๋ ธ๋‹ค

ํ˜„๋Œ€ CPU๋Š” ์„ฑ๋Šฅ์„ ์œ„ํ•ด ๋ถ„๊ธฐ ์˜ˆ์ธก(branch prediction)๊ณผ ์ถ”์ธก ์‹คํ–‰(speculative execution)์„ ์“ด๋‹ค. ๋ถ„๊ธฐ ๋ชฉ์ ์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์ฝ๊ธฐ ๊ฒฐ๊ณผ์— ๋‹ฌ๋ ค ์žˆ์œผ๋ฉด, CPU๋Š” ๊ฒฐ๊ณผ๊ฐ€ ์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋ชฉ์ ์ง€๋ฅผ ์ฐ์–ด์„œ ๋ฏธ๋ฆฌ ์‹คํ–‰ํ•ด ๋‘”๋‹ค. ์ด๋•Œ CPU๊ฐ€ "์‹คํ–‰ํ•œ ์ฒ™"ํ•œ ๋ช…๋ น๋“ค(๋…ผ๋ฌธ์˜ ์šฉ์–ด๋กœ transient instructions)์€ ๋‚˜์ค‘์— ํ๊ธฐ๋˜์ง€๋งŒ, ๊ทธ ์‚ฌ์ด์— ์ ‘๊ทผํ•œ ๋ฉ”๋ชจ๋ฆฌยท๋ ˆ์ง€์Šคํ„ฐ์™€ ์บ์‹œ์— ๋‚จ๊ธด ํ”์ ์€ ํ๊ธฐ๋˜์ง€ ์•Š๋Š”๋‹ค. Spectre๋Š” ์ด ๊ตฌ๋ฉ์œผ๋กœ ํ”ผํ•ด์ž๋ฅผ ์ถ”์ธก ์‹คํ–‰ ์ž์ฒด๋กœ ์†์—ฌ์„œ ์ •์ƒ ์‹คํ–‰์—์„œ๋Š” ๊ฒฐ์ฝ” ์ผ์–ด๋‚˜์ง€ ์•Š์„ ์—ฐ์‚ฐ์„ ์‹œํ‚ค๊ณ , ๊ทธ ๋ถ€์ž‘์šฉ์„ ๋ถ€์ฑ„๋„๋กœ ์ฝ์–ด๋‚ธ๋‹ค.

"Speculative logic is unfaithful in how it executes, can access the victim's memory and registers, and can perform operations with measurable side effects." โ€” ๋…ผ๋ฌธ ์ดˆ๋ก

์ €์ž๋“ค์€ ์ด ์›๋ฆฌ๋กœ ํ”„๋กœ์„ธ์Šค ๊ฒฝ๊ณ„ยท์ปค๋„ ๊ฒฝ๊ณ„ยท๋ธŒ๋ผ์šฐ์ € ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋„˜์–ด ์ž„์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฝ๋Š” ์‹ค์ฆ ๊ณต๊ฒฉ์„ ์ œ์‹œํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋…ผ๋ฌธ์ด ๋˜์ง„ ๋” ๊ทผ๋ณธ์ ์ธ ๊ฒฝ๊ณ ๋Š” ์ด๊ฒƒ์ด๋‹ค โ€” ์ถ”์ธก ์‹คํ–‰์€ ์šด์˜์ฒด์ œ์˜ ํ”„๋กœ์„ธ์Šค ๊ฒฉ๋ฆฌ, ์ •์  ๋ถ„์„, ์ปจํ…Œ์ด๋„ˆ ๊ฒฉ๋ฆฌ, JIT ์ปดํŒŒ์ผ, ๊ทธ๋ฆฌ๊ณ  ์บ์‹œ ํƒ€์ด๋ฐ ์™„ํ™”์ฑ…์ด๋ผ๋Š” "์†Œํ”„ํŠธ์›จ์–ด ๋ณด์•ˆ์˜ ๊ฐ€์ •๋“ค"์„ ํ•œ๊บผ๋ฒˆ์— ์œ„๋ฐ˜ํ•œ๋‹ค.

๋ฐฐ๊ฒฝ โ€” ์™œ ์ด ๋…ผ๋ฌธ์ด ๋ถ€์ฑ„๋„ ๊ณต๊ฒฉ์˜ ๋ถ„๊ธฐ์ ์ธ๊ฐ€

ํ•ต์‹ฌ 1 โ€” Variant 1 ยท Bounds Check Bypass: ๊ฒฝ๊ณ„ ๊ฒ€์‚ฌ๊ฐ€ '์ถ”์ธก'์œผ๋กœ ํ†ต๊ณผ๋œ๋‹ค

ํ•ต์‹ฌ 2 โ€” Variant 2 ยท Branch Target Injection: ๊ฐ„์ ‘ ๋ถ„๊ธฐ์˜ ๋ชฉ์ ์ง€๋ฅผ ์˜ค์—ผ์‹œํ‚จ๋‹ค

ํ•ต์‹ฌ 3 โ€” ์‹ค์ฆ: ํ”„๋กœ์„ธ์Šค ๊ฒฝ๊ณ„๋„, ๋ธŒ๋ผ์šฐ์ € ์ƒŒ๋“œ๋ฐ•์Šค๋„ ๋„˜๋Š”๋‹ค

ํ•ต์‹ฌ 4 โ€” ์™œ Meltdown๋ณด๋‹ค ํ›จ์”ฌ ๊ณ ์น˜๊ธฐ ์–ด๋ ค์šด๊ฐ€

๊ตฌ๋ถ„Meltdown (2018-09-07 ํšŒ์ฐจ)Spectre
์•…์šฉ ๋Œ€์ƒ๋น„์ˆœ์ฐจ ์‹คํ–‰ + ๊ถŒํ•œ ๊ฒ€์‚ฌ ์šฐํšŒ๋ถ„๊ธฐ ์˜ˆ์ธก + ์ถ”์ธก ์‹คํ–‰(์กฐ๊ฑดยท๊ฐ„์ ‘ ๋ถ„๊ธฐ)
์™„ํ™” ๋‚œ์ด๋„์ƒ๋Œ€์ ์œผ๋กœ ๋ช…ํ™• (KPTI + ์‹ค๋ฆฌ์ฝ˜ ์ˆ˜์ •)ํ›จ์”ฌ ์–ด๋ ค์›€ โ€” ์ถ”์ธก ์‹คํ–‰์€ ์„ฑ๋Šฅ์˜ ํ•ต์‹ฌ
๋Œ€ํ‘œ ์™„ํ™”์ฑ…KPTI(ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๊ฒฉ๋ฆฌ)retpoline(๊ฐ„์ ‘ ๋ถ„๊ธฐ ๊ฒฉ๋ฆฌ), IBRS/IBPB ๋งˆ์ดํฌ๋กœ์ฝ”๋“œ, ๋ธŒ๋ผ์šฐ์ € ์™„ํ™”
์˜ํ–ฅ ๋ฒ”์œ„์ฃผ๋กœ Intel ๊ณ„์—ดIntelยทAMDยทARM ์ „๋ฐ˜ (Ryzenยท๋ชจ๋ฐ”์ผ ARM ํฌํ•จ)

์‹œ์‚ฌ์  โ€” "์˜ฌ๋ฐ”๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด"๊ฐ€ "ํ‹€๋ฆฐ ํ•˜๋“œ์›จ์–ด"์—์„œ ์•ˆ์ „ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค

ํ•œ๊ณ„ ยท ์œ ์˜์  ยท ์˜์˜

์ถœ์ฒ˜

๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ