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์ด์์ต๋๋ค.
์ด ๋ฐฉ๋ฒ์ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์์คํ ์ ๊ณต๊ฒฉํ๊ฑฐ๋, ๊ฐ์ ๋จธ์ ์์ ๋ณ๊ฒฝํ๊ฑฐ๋, ๋คํธ์ํฌ๋ฅผ ํตํด ๊ณต๊ฒฉ์ ์์ํ๋ ๋ฐ์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. DRAM ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์ ๋ ์ด์์์ ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋งํ๊ธฐ ์ํ DARE ํดํท์ ์์ค ์ฝ๋๋ MIT ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ GitHub์ ๊ฒ์๋์ด ์์ผ๋ฉฐ, ๋ฉ๋ชจ๋ฆฌ์ ๋นํธ ์์ ํผ์ง ํ ์คํธ๋ฅผ ์ํ ๋ ๊ฐ์ง ์ ํธ๋ฆฌํฐ ์ธํธ(Ddr4_zen2_zen3_pub for DDR4 ์นฉ(Zen 2 ๋ฐ Zen 3))๋ ๊ฒ์๋์ด ์์ต๋๋ค. 5) ๋ฐ DDR4 ์นฉ(Zen 5)์ฉ ddr4_zenXNUMX_pub์ ์์คํ ์ ๊ณต๊ฒฉ ์ทจ์ฝ์ฑ์ ํ ์คํธํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
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