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