ARM ๋ฐ Intel CPU์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ช…๋ น์–ด ์‹คํ–‰ ์‹œ๊ฐ„์˜ ์˜์กด์„ฑ

Adiantum ์•”ํ˜ธ ๊ฐœ๋ฐœ์ž ์ค‘ ํ•œ ๋ช…์ด์ž Linux ์ปค๋„ fscrypt ํ•˜์œ„ ์‹œ์Šคํ…œ์˜ ๊ด€๋ฆฌ์ž์ธ Eric Biggers๋Š” ์ฒ˜๋ฆฌ๋œ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์ง€์†์ ์ธ ์‹คํ–‰ ์‹œ๊ฐ„์„ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š” Intel ํ”„๋กœ์„ธ์„œ์˜ ๊ธฐ๋Šฅ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•œ ํŒจ์น˜ ์„ธํŠธ๋ฅผ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” Ice Lake ์ œํ’ˆ๊ตฐ๋ถ€ํ„ฐ Intel ํ”„๋กœ์„ธ์„œ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ARM ํ”„๋กœ์„ธ์„œ์—์„œ๋„ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ๊ด€์ฐฐ๋ฉ๋‹ˆ๋‹ค.

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

์ž ์žฌ์ ์œผ๋กœ ๋Ÿฐํƒ€์ž„ ๋ฐ์ดํ„ฐ ์ข…์†์„ฑ์€ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ์ปค๋„ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฒฉ์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. Eric Biggers์— ๋”ฐ๋ฅด๋ฉด ๋ง์…ˆ๊ณผ XOR ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ๋ฌผ๋ก  ํŠน์ˆ˜ AES-NI ๋ช…๋ น์–ด์— ๋Œ€ํ•ด์„œ๋„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ผ์ •ํ•œ ์‹คํ–‰ ์‹œ๊ฐ„์ด ์ œ๊ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(ํ…Œ์ŠคํŠธ๋กœ ํ™•์ธ๋˜์ง€ ์•Š์€ ์ •๋ณด, ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ฅด๋ฉด XNUMX๋ถ„์˜ ์ง€์—ฐ์ด ์žˆ์Œ). ๋ฒกํ„ฐ ๊ณฑ์…ˆ ๋ฐ ๋น„ํŠธ ๊ณ„์‚ฐ ์ค‘ ์‚ฌ์ดํด).

์ด ๋™์ž‘์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด Intel๊ณผ ARM์€ ARM CPU์šฉ PSTATE ๋น„ํŠธ DIT(๋ฐ์ดํ„ฐ ๋…๋ฆฝ ํƒ€์ด๋ฐ) ๋ฐ Intel CPU์šฉ MSR ๋น„ํŠธ DOITM(๋ฐ์ดํ„ฐ ํ”ผ์—ฐ์‚ฐ์ž ๋…๋ฆฝ ํƒ€์ด๋ฐ ๋ชจ๋“œ)์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ํ”Œ๋ž˜๊ทธ๋ฅผ ์ œ์•ˆํ•˜์—ฌ ์ผ์ •ํ•œ ์‹คํ–‰ ์‹œ๊ฐ„์œผ๋กœ ์ด์ „ ๋™์ž‘์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. Intel๊ณผ ARM์€ ์ค‘์š”ํ•œ ์ฝ”๋“œ์— ๋Œ€ํ•ด ํ•„์š”์— ๋”ฐ๋ผ ๋ณดํ˜ธ๋ฅผ ํ™œ์„ฑํ™”ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ์ค‘์š”ํ•œ ๊ณ„์‚ฐ์€ ์ปค๋„๊ณผ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ์–ด๋””์—์„œ๋‚˜ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ „์ฒด ์ปค๋„์— ๋Œ€ํ•ด ํ•ญ์ƒ DOITM ๋ฐ DIT ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ARM ํ”„๋กœ์„ธ์„œ์˜ ๊ฒฝ์šฐ Linux 6.2 ์ปค๋„ ๋ธŒ๋žœ์น˜๋Š” ์ด๋ฏธ ์ปค๋„์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜๋Š” ํŒจ์น˜๋ฅผ ์ฑ„ํƒํ–ˆ์ง€๋งŒ ์ด๋Ÿฌํ•œ ํŒจ์น˜๋Š” ์ปค๋„ ์ฝ”๋“œ๋งŒ ๋‹ค๋ฃจ๊ณ  ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€์กฑํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. Intel ํ”„๋กœ์„ธ์„œ์˜ ๊ฒฝ์šฐ ๋ณดํ˜ธ ๊ธฐ๋Šฅ ํฌํ•จ์€ ์•„์ง ๊ฒ€ํ†  ๋‹จ๊ณ„์— ์žˆ์Šต๋‹ˆ๋‹ค. ํŒจ์น˜๊ฐ€ ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์€ ์•„์ง ์ธก์ •๋˜์ง€ ์•Š์•˜์ง€๋งŒ Intel ๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด DOITM ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ์„ฑ๋Šฅ์ด ๊ฐ์†Œํ•˜๊ณ (์˜ˆ: ๋ฐ์ดํ„ฐ๋ณ„ ์‚ฌ์ „ ๋กœ๋“œ์™€ ๊ฐ™์€ ์ผ๋ถ€ ์ตœ์ ํ™”๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ) ํ–ฅํ›„ ํ”„๋กœ์„ธ์„œ ๋ชจ๋ธ์—์„œ๋Š” ์„ฑ๋Šฅ ๊ฐ์†Œ๊ฐ€ ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. .

์ถœ์ฒ˜ : opennet.ru

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