ZenHammer - AMD Zen ํ”Œ๋žซํผ์—์„œ ๋ฉ”๋ชจ๋ฆฌ ์ฝ˜ํ…์ธ ๋ฅผ ์†์ƒ์‹œํ‚ค๋Š” ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•

ETH Zurich์˜ ์—ฐ๊ตฌ์›๋“ค์€ AMD ํ”„๋กœ์„ธ์„œ๊ฐ€ ํƒ‘์žฌ๋œ ํ”Œ๋žซํผ์—์„œ ์‚ฌ์šฉํ•˜๋„๋ก ์กฐ์ •๋œ DRAM(Dynamic Random Access Memory)์˜ ๊ฐœ๋ณ„ ๋น„ํŠธ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•œ RowHammer ํด๋ž˜์Šค ๊ณต๊ฒฉ์˜ ๋ณ€ํ˜•์ธ ZenHammer ๊ณต๊ฒฉ์„ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ RowHammer ๊ณต๊ฒฉ์€ Intel ํ”„๋กœ์„ธ์„œ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์œผ๋กœ ์ œํ•œ๋˜์—ˆ์ง€๋งŒ ์—ฐ๊ตฌ์— ๋”ฐ๋ฅด๋ฉด AMD ๋ฉ”๋ชจ๋ฆฌ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์žˆ๋Š” ํ”Œ๋žซํผ์—์„œ๋„ ๋ฉ”๋ชจ๋ฆฌ ์†์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

์ด ๋ฐฉ๋ฒ•์€ 2๊ฐœ ์ฃผ์š” ์ œ์กฐ์—…์ฒด(Samsung, Micron ๋ฐ SK Hynix)์˜ DDR3 ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํƒ‘์žฌํ•œ AMD Zen 4 ๋ฐ Zen 3 ์‹œ์Šคํ…œ์—์„œ ์‹œ์—ฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ณต๊ฒฉ์€ ์ธ์ ‘ํ•œ ํ–‰์— ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์…€์˜ ์†์ƒ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์นฉ์— ๊ตฌํ˜„๋œ TRR(Target Row Refresh) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์šฐํšŒํ•˜๋Š” ๋ฐ ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ตฌ์›๋“ค์— ๋”ฐ๋ฅด๋ฉด AMD Zen 2 CPU ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์€ Intel Coffee Lake ํ”„๋กœ์„ธ์„œ๊ฐ€ ํƒ‘์žฌ๋œ ์‹œ์Šคํ…œ๋ณด๋‹ค ๋” ์ทจ์•ฝํ•˜๋ฉฐ ๊ณต๊ฒฉํ•˜๊ธฐ๊ฐ€ ๋” ์‰ฝ๊ณ  ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. AMD Zen 7 ์‹œ์Šคํ…œ์—์„œ๋Š” ํ…Œ์ŠคํŠธ๋œ DDR10 ์นฉ 4๊ฐœ ์ค‘ 3๊ฐœ์—์„œ ์…€ ์™œ๊ณก์ด ๋‹ฌ์„ฑ๋˜์—ˆ๊ณ , Zen 6 ์‹œ์Šคํ…œ์—์„œ๋Š” 10๊ฐœ ์ค‘ 4๊ฐœ์—์„œ ์…€ ์™œ๊ณก์ด ๋‹ฌ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ตฌ์›๋“ค์€ ๋˜ํ•œ DDR5 ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํƒ‘์žฌํ•œ AMD Zen 4 ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ณต๊ฒฉ ๊ฐ€๋Šฅ์„ฑ๋„ ๋ถ„์„ํ–ˆ์ง€๋งŒ ๊ณต๊ฒฉ์€ DDR1์šฉ์œผ๋กœ ๊ฐœ๋ฐœ๋œ ๋ฐฉ๋ฒ•์€ ํ…Œ์ŠคํŠธ๋œ DDR10 ๋ฉ”๋ชจ๋ฆฌ ์นฉ 5๊ฐœ ์ค‘ 5๊ฐœ์—์„œ๋งŒ ์„ฑ๊ณต์ ์œผ๋กœ ์žฌํ˜„๋˜์—ˆ์œผ๋ฉฐ, ๊ณต๊ฒฉ ์ž์ฒด์˜ ๊ฐ€๋Šฅ์„ฑ๋„ ๋ฐฐ์ œ๋˜์ง€๋Š” ์•Š์ง€๋งŒ DDRXNUMX ์žฅ์น˜์— ์ ํ•ฉํ•œ ๋ณด๋‹ค ํšจ์œจ์ ์ธ ํŒ๋… ํŒจํ„ด์˜ ๊ฐœ๋ฐœ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

AMD ์นฉ์œผ๋กœ ์ž‘์—…ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”(PTE, ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ํ•ญ๋ชฉ)์˜ ํ•ญ๋ชฉ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜๋Š” ์ด์ „์— ๊ฐœ๋ฐœ๋œ ์ต์Šคํ”Œ๋กœ์ž‡์„ ์ ์šฉํ•˜์—ฌ ์ปค๋„ ๊ถŒํ•œ์„ ์–ป๊ณ , sudo ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ/๊ถŒํ•œ ํ™•์ธ์„ ์šฐํšŒํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. , OpenSSH์˜ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ RSA-2048 ๊ณต๊ฐœ ํ‚ค๋ฅผ ์†์ƒ์‹œ์ผœ ๊ฐœ์ธ ํ‚ค๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋œ DDR7 ์นฉ 10๊ฐœ ์ค‘ 4๊ฐœ์—์„œ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ๊ณต๊ฒฉ์ด ์žฌํ˜„๋˜์—ˆ๊ณ , RSA ํ‚ค ๊ณต๊ฒฉ์€ 6๊ฐœ ์นฉ, sudo ๊ณต๊ฒฉ์€ 4๊ฐœ ์นฉ์—์„œ ์žฌํ˜„๋˜์—ˆ์œผ๋ฉฐ ๊ณต๊ฒฉ ์‹œ๊ฐ„์€ ๊ฐ๊ฐ 164์ดˆ, 267์ดˆ, 209์ดˆ์˜€์Šต๋‹ˆ๋‹ค.

ZenHammer - AMD Zen ํ”Œ๋žซํผ์—์„œ ๋ฉ”๋ชจ๋ฆฌ ์ฝ˜ํ…์ธ ๋ฅผ ์†์ƒ์‹œํ‚ค๋Š” ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•

์ด ๋ฐฉ๋ฒ•์€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์„ ๊ณต๊ฒฉํ•˜๊ฑฐ๋‚˜, ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜, ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๊ณต๊ฒฉ์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DRAM ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ ๋ ˆ์ด์•„์›ƒ์„ ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋งํ•˜๊ธฐ ์œ„ํ•œ DARE ํˆดํ‚ท์˜ ์†Œ์Šค ์ฝ”๋“œ๋Š” MIT ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ GitHub์— ๊ฒŒ์‹œ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋ฉ”๋ชจ๋ฆฌ์˜ ๋น„ํŠธ ์†์ƒ ํผ์ง• ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋‘ ๊ฐ€์ง€ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์„ธํŠธ(Ddr4_zen2_zen3_pub for DDR4 ์นฉ(Zen 2 ๋ฐ Zen 3))๋„ ๊ฒŒ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. 5) ๋ฐ DDR4 ์นฉ(Zen 5)์šฉ ddr4_zenXNUMX_pub์€ ์‹œ์Šคํ…œ์˜ ๊ณต๊ฒฉ ์ทจ์•ฝ์„ฑ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ZenHammer - AMD Zen ํ”Œ๋žซํผ์—์„œ ๋ฉ”๋ชจ๋ฆฌ ์ฝ˜ํ…์ธ ๋ฅผ ์†์ƒ์‹œํ‚ค๋Š” ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•

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

RowHammer๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ์นฉ ์ œ์กฐ์—…์ฒด๋Š” ํŠน์ˆ˜ํ•œ ๊ฒฝ์šฐ ์…€ ์†์ƒ์„ ์ฐจ๋‹จํ•˜์ง€๋งŒ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ณต๊ฒฉ ์˜ต์…˜์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜์ง€๋Š” ์•Š๋Š” TRR(Target Row Refresh) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ ๋ณดํ˜ธ ๋ฐฉ๋ฒ•์€ ์˜ค๋ฅ˜ ์ˆ˜์ • ์ฝ”๋“œ(ECC)๊ฐ€ ํฌํ•จ๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” RowHammer ๊ณต๊ฒฉ์„ ์ƒ๋‹นํžˆ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ค์ง€๋งŒ ์™„์ „ํžˆ ์ œ๊ฑฐํ•˜์ง€๋Š” ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์žฌ์ƒ ๋นˆ๋„๋ฅผ ๋†’์ด๋ฉด ๊ณต๊ฒฉ ์„ฑ๊ณต ๊ฐ€๋Šฅ์„ฑ๋„ ๋‚ฎ์•„์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AMD๋Š” AMD ํ”„๋กœ์„ธ์„œ๊ฐ€ DDR ์‚ฌ์–‘์„ ์ค€์ˆ˜ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ๋ฅผ ๋ฐœํ‘œํ–ˆ์œผ๋ฉฐ ๊ณต๊ฒฉ์˜ ์„ฑ๊ณต ์—ฌ๋ถ€๋Š” ์ฃผ๋กœ ์‹œ์Šคํ…œ ์„ค์ • ๋ฐ DRAM ๋ฉ”๋ชจ๋ฆฌ์— ๋‹ฌ๋ ค ์žˆ์œผ๋ฏ€๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋Œ€ํ•œ ์งˆ๋ฌธ์€ ๋ฉ”๋ชจ๋ฆฌ ์ œ์กฐ์—…์ฒด์— ์ง์ ‘ ๋ฌธ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ ์‹œ์Šคํ…œ Rowhammer๊ธ‰ ๊ณต๊ฒฉ์„ ๋”์šฑ ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ๊ธฐ์กด ๋ฐฉ๋ฒ•์—๋Š” ECC ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ, ๋ฉ”๋ชจ๋ฆฌ ์žฌ์ƒ์„ฑ ๋นˆ๋„ ์ฆ๊ฐ€, ์ง€์—ฐ ์žฌ์ƒ์„ฑ ๋ชจ๋“œ ๋น„ํ™œ์„ฑํ™”, DDR4(1์ฐจ, 2์ฐจ, 3์ฐจ)์— ๋Œ€ํ•œ MAC(Maximum Activate Count) ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์žˆ๋Š” ํ”„๋กœ์„ธ์„œ ์‚ฌ์šฉ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. DDR5(4์„ธ๋Œ€ AMD EPYC)์šฉ ์„ธ๋Œ€ AMD EPYC "Naple", "Rome" ๋ฐ "Milan") ๋ฐ RFM(Refresh Management).

์ถœ์ฒ˜ : opennet.ru

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