Blacksmith - DRAM ๋ฉ”๋ชจ๋ฆฌ์™€ DDR4 ์นฉ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๊ณต๊ฒฉ

ETH Zurich, Vrije Universiteit Amsterdam ๋ฐ Qualcomm์˜ ์—ฐ๊ตฌ์ง„์€ DRAM(๋™์  ๋žœ๋ค ์•ก์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ)์˜ ๊ฐœ๋ณ„ ๋น„ํŠธ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด RowHammer ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์„ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ณต๊ฒฉ์˜ ์ฝ”๋“œ๋ช…์€ Blacksmith์ด๋ฉฐ CVE-2021-42114๋กœ ์‹๋ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์•Œ๋ ค์ง„ RowHammer ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋งŽ์€ DDR4 ์นฉ์ด ์ด ๋ฌธ์ œ์— ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์˜ ์ทจ์•ฝ์„ฑ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋„๊ตฌ๋Š” GitHub์— ๊ฒŒ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

RowHammer ํด๋ž˜์Šค ๊ณต๊ฒฉ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ธ์ ‘ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์…€์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ฝ์–ด ๊ฐœ๋ณ„ ๋ฉ”๋ชจ๋ฆฌ ๋น„ํŠธ์˜ ๋‚ด์šฉ์„ ์™œ๊ณกํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DRAM ๋ฉ”๋ชจ๋ฆฌ๋Š” ๊ฐ๊ฐ ์ปคํŒจ์‹œํ„ฐ์™€ ํŠธ๋žœ์ง€์Šคํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ ์…€์˜ XNUMX์ฐจ์› ๋ฐฐ์—ด์ด๋ฏ€๋กœ ๋™์ผํ•œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์—ฐ์†์ ์œผ๋กœ ์ฝ์œผ๋ฉด ์ „์•• ๋ณ€๋™๊ณผ ์ด์ƒ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜์—ฌ ์ธ์ ‘ํ•œ ์…€์—์„œ ์•ฝ๊ฐ„์˜ ์ „ํ•˜ ์†์‹ค์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํŒ๋… ๊ฐ•๋„๊ฐ€ ๋†’์œผ๋ฉด ์ด์›ƒ ์…€์ด ์ถฉ๋ถ„ํžˆ ๋งŽ์€ ์–‘์˜ ์ „ํ•˜๋ฅผ ์žƒ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‹ค์Œ ์žฌ์ƒ ์ฃผ๊ธฐ์—์„œ๋Š” ์›๋ž˜ ์ƒํƒœ๋ฅผ ๋ณต์›ํ•  ์‹œ๊ฐ„์ด ์—†์–ด ์…€์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ ๊ฐ’์ด ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. .

RowHammer๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์นฉ ์ œ์กฐ์—…์ฒด์—์„œ๋Š” ์ธ์ ‘ํ•œ ํ–‰์— ์žˆ๋Š” ์…€์˜ ์†์ƒ์„ ๋ฐฉ์ง€ํ•˜๋Š” TRR(Target Row Refresh) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ์•ˆํ–ˆ์ง€๋งŒ, ํ•ด๋‹น ๋ณดํ˜ธ๋Š” '๋ชจํ˜ธ์„ฑ์— ์˜ํ•œ ๋ณด์•ˆ' ์›์น™์— ๊ธฐ๋ฐ˜์„ ๋‘๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•Œ๋ ค์ง„ ํŠน์ˆ˜ ์‚ฌ๋ก€์—์„œ๋งŒ ๋ณดํ˜ธ๋˜๋ฏ€๋กœ ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ง€๋‚œ XNUMX์›” ๊ตฌ๊ธ€์€ ๊ณต๊ฒฉ ๋Œ€์ƒ๊ณผ ์ง์ ‘ ์ธ์ ‘ํ•˜์ง€ ์•Š์€ ์…€์— ๊ณต๊ฒฉ์ด ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ธฐ ๋•Œ๋ฌธ์— TRR ๋ณดํ˜ธ์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š” Half-Double ๋ฐฉ์‹์„ ์ œ์•ˆํ–ˆ๋‹ค.

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

๋™์ผํ•œ ์…€์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์€ ํ˜„์žฌ์˜ TRR ๋ณดํ˜ธ ๋ฐฉ๋ฒ•์„ ๋น„ํšจ์œจ์ ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๋Š” ์–ด๋–ค ํ˜•ํƒœ๋กœ๋“  ์…€์— ๋Œ€ํ•œ ๋ฐ˜๋ณต ํ˜ธ์ถœ ํšŸ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  ํŠน์ • ๊ฐ’์— ๋„๋‹ฌํ•˜๋ฉด ์žฌ์ถฉ์ „์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ท€๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ด์›ƒ ์…€์˜ Blacksmith์—์„œ๋Š” ์•ก์„ธ์Šค ํŒจํ„ด์ด ๋Œ€์ƒ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ธก๋ฉด์—์„œ ๋™์‹œ์— ์—ฌ๋Ÿฌ ์…€์— ๋ถ„์‚ฐ๋˜์–ด ์ž„๊ณ„๊ฐ’์— ๋„๋‹ฌํ•˜์ง€ ์•Š๊ณ ๋„ ์ „ํ•˜ ๋ˆ„์ถœ์„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฐฉ๋ฒ•์€ TRR์„ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ์ด์ „์— ์ œ์•ˆ๋œ ๋ฐฉ๋ฒ•๋ณด๋‹ค ํ›จ์”ฌ ๋” ํšจ๊ณผ์ ์ธ ๊ฒƒ์œผ๋กœ ๋ฐํ˜€์กŒ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ตฌ์›๋“ค์€ ์ตœ๊ทผ ๊ตฌ์ž…ํ•œ Samsung, Micron, SK Hynix ๋ฐ ์•Œ๋ ค์ง€์ง€ ์•Š์€ ์ œ์กฐ์—…์ฒด(์ œ์กฐ์—…์ฒด๋Š” 40๊ฐœ ์นฉ์—๋Š” ์ง€์ •๋˜์ง€ ์•Š์Œ). ๋น„๊ต๋ฅผ ์œ„ํ•ด, ์ด์ „์— ๋™์ผํ•œ ์—ฐ๊ตฌ์ž๊ฐ€ ์ œ์•ˆํ•œ TRRespass ๋ฐฉ๋ฒ•์€ ๋‹น์‹œ ํ…Œ์ŠคํŠธ๋œ 4๊ฐœ ์นฉ ์ค‘ 4๊ฐœ์—๋งŒ ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ๋ธ”๋ž™์Šค๋ฏธ์Šค ๋ฐฉ์‹์€ ์‹œ์ค‘์— ๋‚˜์™€ ์žˆ๋Š” ์ „์ฒด DRAM ์นฉ์˜ 94%์— ์ ์šฉ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜์ง€๋งŒ ์—ฐ๊ตฌ์›๋“ค์€ ์ผ๋ถ€ ์นฉ์€ ๋‹ค๋ฅธ ์นฉ๋ณด๋‹ค ๋” ์ทจ์•ฝํ•˜๊ณ  ๊ณต๊ฒฉํ•˜๊ธฐ ์‰ฝ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ์นฉ์— ์˜ค๋ฅ˜ ์ˆ˜์ • ์ฝ”๋“œ(ECC)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์ƒˆ๋กœ ๊ณ ์นจ ๋นˆ๋„๋ฅผ ๋‘ ๋ฐฐ๋กœ ๋Š˜๋ฆฌ๋ฉด ์™„์ „ํ•œ ๋ณดํ˜ธ๊ฐ€ ์ œ๊ณต๋˜์ง€ ์•Š์ง€๋งŒ ์ž‘๋™์ด ๋ณต์žกํ•ด์ง‘๋‹ˆ๋‹ค. ์ด๋ฏธ ์ถœ์‹œ๋œ ์นฉ์—์„œ๋Š” ๋ฌธ์ œ๋ฅผ ์ฐจ๋‹จํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ํ•˜๋“œ์›จ์–ด ์ˆ˜์ค€์—์„œ ์ƒˆ๋กœ์šด ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๊ณต๊ฒฉ์€ ์ˆ˜๋…„ ๋™์•ˆ ๊ด€๋ จ์„ฑ์ด ์œ ์ง€๋  ๊ฒƒ์ด๋ผ๋Š” ์ ์€ ์ฃผ๋ชฉํ•  ๋งŒํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ์‚ฌ๋ก€์—๋Š” Blacksmith๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”(PTE, ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ํ•ญ๋ชฉ)์˜ ํ•ญ๋ชฉ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์ปค๋„ ๊ถŒํ•œ์„ ์–ป๋Š” ๋ฐฉ๋ฒ•, OpenSSH์˜ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ RSA-2048 ๊ณต๊ฐœ ํ‚ค๋ฅผ ์†์ƒ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค(๊ณต๊ฐœ ํ‚ค๋ฅผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ๊ฐ€์ƒ ๋จธ์‹ ์„ ๊ณต๊ฒฉ์ž์˜ ๊ฐœ์ธ ํ‚ค์™€ ์ผ์น˜์‹œ์ผœ ํ”ผํ•ด์ž์˜ VM์— ์—ฐ๊ฒฐ) ๋ฃจํŠธ ๊ถŒํ•œ์„ ์–ป๊ธฐ ์œ„ํ•ด sudo ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ์ž๊ฒฉ ์ฆ๋ช… ๊ฒ€์‚ฌ๋ฅผ ์šฐํšŒํ•ฉ๋‹ˆ๋‹ค. ์นฉ์— ๋”ฐ๋ผ ํ•˜๋‚˜์˜ ๋Œ€์ƒ ๋น„ํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐ 3์ดˆ์—์„œ ๋ช‡ ์‹œ๊ฐ„์˜ ๊ณต๊ฒฉ ์‹œ๊ฐ„์ด ์†Œ์š”๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ Antmicro๊ฐ€ Google์„ ์œ„ํ•ด ๊ฐœ๋ฐœํ•œ RowHammer ํด๋ž˜์Šค ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ ๋ฐฉ๋ฒ•์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋ฐฉํ˜• LiteX Row Hammer Tester ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ณต๊ฐœ๋ฅผ ์ฃผ๋ชฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์˜ํ–ฅ์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด DRAM ์นฉ์— ์ง์ ‘ ์ „์†ก๋˜๋Š” ๋ช…๋ น์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹FPGA ์‚ฌ์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. Python์˜ ํˆดํ‚ท์€ FPGA์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์œ„ํ•ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. FPGA ๊ธฐ๋ฐ˜ ๊ฒŒ์ดํŠธ์›จ์ด์—๋Š” ํŒจํ‚ท ๋ฐ์ดํ„ฐ ์ „์†ก์šฉ ๋ชจ๋“ˆ(๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค ํŒจํ„ด ์ •์˜), ํŽ˜์ด๋กœ๋“œ ์‹คํ–‰๊ธฐ, LiteDRAM ๊ธฐ๋ฐ˜ ์ปจํŠธ๋กค๋Ÿฌ(ํ–‰ ํ™œ์„ฑํ™” ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์—…๋ฐ์ดํŠธ๋ฅผ ํฌํ•จํ•˜์—ฌ DRAM์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋กœ์ง ์ฒ˜๋ฆฌ) ๋ฐ VexRiscv CPU๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์€ Apache 2.0 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. Lattice ECP5, Xilinx ์‹œ๋ฆฌ์ฆˆ 6, 7, UltraScale ๋ฐ UltraScale+๋ฅผ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ FPGA ํ”Œ๋žซํผ์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€