Intel CPU ๋ณด์ ์ทจ์ฝ์ ํจ์น๋ก ์ธํ ์ฑ๋ฅ ๊ฐ์์ 1์ฐจ ํ ์คํธ
์๋ ํ์ธ์. 2018๋ ์ฒซ ํฌ์คํ ์ด๋ค์. ๋ชจ๋๋ค ์ํด ๋ณต ๋ง์ด ๋ฐ์ผ์๊ธฐ ๋ฐ๋๋๋ค.
์ํด๋ถํฐ ๋ญ๊ฐ ํฐ ์ผ์ด ํฐ์ง ๋ฏํฉ๋๋ค. ํ์ฌ ์ธํ ์ ๋ชจ๋ ํ๋ก์ธ์์์ ์ปค๋ ๋ฉ๋ชจ๋ฆฌ ์ทจ์ฝ์ ์ด ๋ฐ๊ฒฌ๋์ด ํ์ฌ ๋ฆฌ๋ ์ค๋ฅผ ํฌํจํ ์๋ ์ด์์ฒด์ Redstone 3 ๋ฒ์ ๋ ํจ์น ์กฐ์น๊ฐ ๋ด๋ ค์ง ์ํ์ ๋๋ค.
๊ทธ๋ฐ๋ฐ, ํจ์น๋ฅผ ํ ๋ค์ ์ฑ๋ฅ์ด 30% ๊ฐ์ํ๋ค๋ ์ด์ผ๊ธฐ๊ฐ ์๋๋ฐ์. ์ด๋ค ์ทจ์ฝ์ ์ด๊ณ , ์ ์ด๋ฐ ์ผ์ด ๋ฐ์ํ๋์ง ์กฐ๊ธ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
Meltdown, Spectre
์ด๋ฒ ์ทจ์ฝ์ ์ ์ด๋ฆ์ ์์ ๊ฐ์ ๋ ๊ฐ ์ด๋ฆ์ ์ทจ์ฝ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋จผ์ ์ด ์ทจ์ฝ์ ์ ๊ตฌ๊ธ์ ๋ณด์๊ธฐ์ ํ์ธ Project zero ํ์ ์ํด ๋ฐ๊ฒฌ๋์์ต๋๋ค..
Meltdown ์ทจ์ฝ์ ์ Intel CPU์ ์ ์ฉ๋ OoOE(๋น์์ฐจ์ ๋ช ๋ น์ด ์ฒ๋ฆฌ) ๊ธฐ์ ์ ๋ฒ๊ทธ๋ฅผ ์ ์ฉํ ์ทจ์ฝ์ ์ ๋๋ค. ๋ณดํต ์ผ๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ด CPU์ ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ์ ๊ทผํ ์ ์๋๋ฐ, ์ด๊ฒ์ด ๊ฐ๋ฅํ ์ทจ์ฝ์ ์ธ ๊ฒ์ด์ฃ . ์ํคํ ์ฒ๋ฅผ ๋ฐ์ด๋๋ ์์ฒญ๋ ์ทจ์ฝ์ ์ ๋๋ค. ์ด๋ฅผํ ๋ฉด ์ด์์ฒด์ ๊ฐ ์ฌ์ฉํ๊ณ ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ๊น์ง ์นจํฌํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ณต๊ฒฉ์์ ๋ง์๋๋ก ์์คํ ์ ์กฐ์ํ๋ ๋ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ฃ . Google Project Zero์์๋ Intel 4th Haswell Architecture ๊ธฐ๋ฐ์ ํ๋ก์ธ์์์ ํ ์คํธํ์๋ค๊ณ ํฉ๋๋ค.
Sepctre ์ทจ์ฝ์ ์ CPU ์์ ๋ด๊ฒจ ์๋ ์ ๋ง์ ๋ช ๋ น์์ ์ผ์ด๋๋ ๋ฒ๊ทธ๋ฅผ ์ ์ฉํ ์ทจ์ฝ์ ์ผ๋ก ์ด๋ฅผ ํตํด ๋ํ๋ ์ ์๋ ๊ฒ์ ํ๋์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ ํ ์๊ด ์๋ ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋ด๊ธด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋ฝ ์์ด ๋ณผ ์ ์๊ฒ ๋์ฃ . ์ด๋ฅผํ ๋ฉด ํดํน ํ๋ก๊ทธ๋จ์ด ์ฌ์ด์ ธ ์๋ ์ปดํจํฐ์์ ํ์ฌ ์คํ ์ค์ธ ์นด์นด์คํก ํ๋ก๊ทธ๋จ์ ์ด๋ฉ์ผ ์ฃผ์๋ ํจ์ค์๋ ๋ฑ์ด ๋ ธ์ถ๋ ์ ์๋ค๋ ๊ฒ์ ๋งํฉ๋๋ค. ์ค์ Google Project Zero์์๋ ์ด ์์ธ๊ณผ ๋ฐฉ๋ฒ์ ๋ํด ๊ณต๊ฐํ์ง๋ ์์์ต๋๋ค. ๋ค๋ง ์ด๋ ๊ฒ ๋๋ค๋ฉด ์ค์ ๋จธ์ ์์ ๊ฐ์ ๋จธ์ OS๋ฅผ ์ฌ๋ ค๋ค ๋๊ณ , ํด๋น ๋จธ์ ์์ ํดํน ํ๋ก๊ทธ๋จ์ด ๋ ์ค๋ฅด๊ฒ ๋๋ฉด, ํธ์คํธOS์ ๋ฉ๋ชจ๋ฆฌ๊น์ง ์นจํฌํ ์ ์๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ํํ ์ํฉ์ธ ๊ฒ์ด์ฃ . ์ด ๋ถ๋ถ์ ๋ฆฌ๋ ์ค ์ปจํ ์ด๋์์๋ ๋๊ฐ์ ์ํฅ์ ๋ผ์น๊ฒ ๋ฉ๋๋ค.
์ ์์์ ์ค์ Meltdown ์ทจ์ฝ์ ์ ์ฌ์ฉํ ๋ฉ๋ชจ๋ฆฌ ํดํน ์์์
๋๋ค. ๋ณด์๋ค์ํผ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ๋ ํจ์ค์๋๊ฐ ๊ทธ๋๋ก ๋
ธ์ถ๋จ์ ์ ์ ์์ต๋๋ค.
(์ด์ฐ ๋งค์ฐ ์ํํ์ฃ ...)
ํจ์น ์ดํ์ ์ฑ๋ฅ ์ ํ์ ์ฌ๊ฑด์ ๋ฐ๋จ
์ด ์ทจ์ฝ์ ์ ํจ์น๋ ํ์ด์ง ํ ์ด๋ธ์ ๋ณ๋๋ก ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํจ์ผ๋ก์จ ํด๊ฒฐ์ด ๋์๋๋ฐ์. ํ์ง๋ง Intel CPU์ ์ฌ๊ฐํ ์ค๊ณ ๊ฒฐํจ์ผ๋ก ์ธํด ์ด ๊ธฐ๋ฅ์ด ์๋์ ํ ๋ ์ฑ๋ฅ์ด 30% ์ด์ ๊ฐ์๋ฅผ ํ๋ค๊ณ ํฉ๋๋ค.
์ด ์ด์ผ๊ธฐ๊ฐ ๊ธ์๋๋ก ํผ์ง๊ฒ ๋ ๋ฐ๋จ์ ์๋์ ์ฌ์ดํธ์์ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค.
https://www.phoronix.com/scan.php?page=article&item=linux-415-x86pti&num=1
์ธํ CPU ์ทจ์ฝ์ ์ด ํจ์น ๋ ๋ฆฌ๋ ์ค ์ปค๋ 4.15-rc6 ๋ฒ์ ์์ ๋ฒค์น๋งํน ํ ์คํธ๊ฐ ์ด๋ฃจ์ด์ก๋๋ฐ, Redis, FFmpeg, PostgreSQL ๋ฑ DBMS์ ์์ ์ฒ๋ฆฌ ๋ฑ์ ํตํ์ฌ ํ์ธํ ๊ฒฐ๊ณผ ์ค์ ์ฑ๋ฅ ๊ฐ์๊ฐ ์ด๋ฃจ์ด์ก๋ค๋ ์ด์ผ๊ธฐ๊ฐ ๋์์ต๋๋ค.
https://amp.reddit.com/r/sysadmin/comments/7nl8r0/intel_bug_incoming/?__twitter_impression=true
๊ฐ ํ์ด์ง ๋ณ๋ก ํ
์คํธ ๊ฒฐ๊ณผ, ์งํ ์์
๋ฑ์ด ๋์ ์์ผ๋ฉฐ System call ํจ์๋ฅผ 1์ต๋ฒ ์ ๋ ํธ์ถํ์์ ๋ ์ฝ 15์ด ์ ๋์ ์๊ฐ์ด ๊ฑธ๋ ธ๋ค๋ ๋ด์ฉ์
๋๋ค.
ํ ์คํธ์ ์์
์ผ๋จ
์ด๋ฏธ ํ
์คํธํ ๊ฒฐ๊ณผ๋ค์ ๋๋ถ๋ถ 6์ธ๋ ํ๋ก์ธ์ ํน์ 8์ธ๋ ํ๋ก์ธ์์ธ๋ฐ, ๋ด์ฉ์์๋ ์ธ๋ ์์ ๊ด๊ณ ์์ด ์ํฅ์ ๋ผ์น ์ ์๋ค๋
์ด์ผ๊ธฐ๋ ์๊ณ , ์ด๋ค ํ์ด์ง์์๋ 2์ธ๋ ์ดํ, ๋ ๋ค๋ฅธ ํ์ด์ง์์๋ 6์ธ๋ ์ดํ ์ด๋ฐ ์ด์ผ๊ธฐ๋ค์ด ๋ง์ต๋๋ค๋ง ์์ง ํ์คํ์ง๋
์์ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋์ ์ ๊ฐ ์ง์ Github์ ์๋ Linux Kernel 4.15-rc6 ๋ฒ์ ์ ๋น๋ํ์ฌ ์ค์นํด๋ณด๊ธฐ๋ก ํ์์ต๋๋ค.
๋ชจ๋ ์ต์ ์ ๊ธฐ๋ณธ๊ฐ, ๋๋ผ์ด๋ฒ ๋ํ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ํ ํ, ๋น๋ํ์์ต๋๋ค.
Kconfig๋ฅผ ํตํด์ PAGE_TABLE_ISOLATION ์ต์
์ On ์ฒ๋ฆฌํ์ฌ Intel CPU ํจ์น๋ฅผ ์งํํ์์ต๋๋ค.
ํจ์น๋ฅผ ์งํํ์๋๋, bugs์ cpu_insecure ๊ฐ ํ์ฑํ ๋์์ต๋๋ค. ํ๋ก์ธ์๋ 5์ธ๋ ํ๋ก์ธ์์ ๋๋ค.
SystemCall Test
๋จผ์ System Call ํจ์๊ฐ ์ด๋ ์ ๋์ ์ฐจ์ด๋ฅผ ๋ณด์ด๋์ง ํ ๋ฒ ํ ์คํธ ํด๋ดค์ต๋๋ค.
ํจ์น๋ฅผ ํ๊ธฐ ์ , ํ ์คํธ ๊ฒฐ๊ณผ์ ๋๋ค. System Call ํจ์๋ 1000๋ง ๋ฒ์ ํธ์ถํ ๊ฒฐ๊ณผ์ ๋๋ค.
ํจ์น ํ ํ, 0.9์ด ์ ๋ ๋๋ ค์ก๋ค์.. ์์ ์์ด ์ด ์ ๋๋ผ๋ฉด, ์ข ๋ ํฐ ์์ฒญ์....
์ด๋ฒ์๋ ์ฝ๋๋ฅผ ๋ฐ๊ฟ์ 1์ต ๋ฒ์ ํธ์ถํด๋ดค์ต๋๋ค. ํจ์น ๋๊ธฐ ์ ๊ฒฐ๊ณผ์ ๋๋ค.
ํจ์น๋ฅผ ํ๊ณ ๋๋ 17์ด... ๋ฌด๋ ค 4๋ฐฐ ์ด์ ์ฐจ์ด ๋๋ค์... ์ ์ด๊ฑด ์ข...
Reddit ํ ์คํธ ๊ฒฐ๊ณผ ์๋ณธ ๋งํฌ: https://paste.ubuntu.com/26316759/
๊ฑฐ์ ๊ฐ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์๊ณ , ํ ์คํธ์ ๊ฒฐ๊ณผ๋ ๊ฑฐ์ ๋์ผํ๊ฒ ๋์์ต๋๋ค. ์ ๋ง ์์ธํ๋ค์.. ์ด๊ฒ๋ณด๋ค ๋ ๋ง์ ํจ์ ํธ์ถ์์๋ ๋ ๋ง์ด ์ฐจ์ด๊ฐ ๋๋ค๋ ๊ฑฐ์ฃ ..
Network Test
์ฌ์ค ๋คํธ์ํฌ๊น์ง๋ ํฐ ์ํฅ์ด ์์ ๊ฒ์ด๋ผ ์๊ฐ์ ํ๊ณ ์๋๋ฐ, Reddit์์๋ ์ด ํ ์คํธ๋ฅผ ํตํด์๋ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์์๋ค๊ณ ํ์ฌ ํ ๋ฒ ์งํํด๋ดค์ต๋๋ค.
๊ธธ์ด๋ 1MB, ์๋์ฐ์ ํฌ๊ธฐ๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋๊ณ , 10์ด ๊ฐ๊ฒฉ์ผ๋ก ์ธก์ ํด๋ดค์ต๋๋ค. ํจ์น ๋๊ธฐ ์ ์ ๋ชจ์ต์
๋๋ค.
ํจ์น๋๊ณ ๋ ํ์ ํ ์คํธ ๊ฒฐ๊ณผ์ ๋๋ค. 10~20์ด ๊ตฌ๊ฐ์์ 1GB ์ ๋์ ์ ์ก ์ฐจ์ด๊ฐ ์์์ต๋๋ค.
Reddit ํ ์คํธ ๊ฒฐ๊ณผ ์๋ณธ ๋งํฌ: https://paste.ubuntu.com/26316783/
์ญ์ ์ด ๋ถ๋ถ๋ ๊ฑฐ์ ์๋ณธ๊ณผ ์ผ์นํ๊ฒ ์ฐจ์ด๊ฐ ์์์ต๋๋ค..
File I/O Test
์ด๋ฒ์๋ ๊ฐ์ฅ ํฐ ์ด์๊ฐ ๋๊ณ ์๋ ์
์ถ๋ ฅ ๋ถ๋ถ์ ํ ๋ฒ ํ
์คํธ ํด๋ดค์ต๋๋ค.
ํ๋๋์คํฌ, M.2 SSD ๋ ๊ฐ์ ํ๋์จ์ด ํ ์คํธ๊ฐ ์งํ๋์์ผ๋ฉฐ ํ์ผ์ ํฌ๊ธฐ๋ 4byte ์ด 7000๊ฐ์ ํ์ผ๊ณผ 32๊ฐ์ ์๋ธ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํ์์ ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ธ ๊ฒ์ ๋๋ค. ํจ์นํ๊ธฐ ์ ์ ๋ชจ์ต์ ๋๋ค.
ํจ์น๋ฅผ ํ๊ณ ๋ ๋ค์ ๋ชจ์ต์ ๋๋ค. ํจ์นํ๊ธฐ ์ ์ ๋ชจ์ต์ฒ๋ฌ ์ผ์ชฝ์ HDD ์ค๋ฅธ์ชฝ์ M.2 SSD ํ ์คํธ ๊ฒฐ๊ณผ์ ๋๋ค. ๊ฑฐ์ 30์ด ์ ๋๊ฐ ๋๋ฆผ์ ์ ์ ์์์ต๋๋ค.
1์ฐจ ํ ์คํธ ์งํ...
๋ฐ์ดํฐ๊ฐ ์์ ๊ธ์ ๋ผ์ดํธ ํ ์คํธ๊ฐ ์ฃผ์ฌ์ ๊ทธ๋ฐ์ง๋ ๋ชฐ๋ผ๋ ์ฐจ์ด๊ฐ ๋ฏธ๋ฏธํ์ง๋ง, ์ค์ ์์คํ ํจ์๋ฅผ 1์ต ๋ฒ ํธ์ถํ์ ๋ ์์ฒญ ํฌ๊ฒ ์ฑ๋ฅ ํ๋ฝ์ด ๋ณด์์์ ์ ์ ์์์ต๋๋ค. ์ฑ๋ฅ 30% ํ๋ฝ์ ์ถฉ๋ถํ ์์ด๋ณด์ด๋ฉฐ ์ค์ ์ผ๋ฐ ์ฌ์ฉ์๊ฐ ์ฃผ๋ก ์ฒ๋ฆฌํ๋ ์์ ์์ ๋ํด์๋ ์ฑ๋ฅ ๊ฐ์๊ฐ ๋ฏธ๋ฏธํ์ง๋ง, ์๋ฒ ๊ฐ์ ๋์ฉ๋ ์ฒ๋ฆฌ๋ฅผ ํ๋ ๊ณณ์์๋ ๊ต์ฅํ ๋ง์ ์ฐจ์ด๊ฐ ์์ด ํฐ ํ๊ฒฉ์ด ๋๊ฒ ๋ค์.
๋ค์ 2์ฐจ ํ ์คํธ์์๋ ์ข ๋ ํฐ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉํฅ์ผ๋ก ์งํํ ์์ ์ ๋๋ค.
[์ฐธ๊ณ ]:
์ธํ ๋ณด์ ์ทจ์ฝ์ ๊ด๋ จ: https://meltdownattack.com/
'Infrastructure > Linux' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Intel CPU Spectre ํจ์น(Retpoline) ์ ํ ์คํธ (0) | 2018.01.22 |
---|---|
Intel CPU Meltdown ์ทจ์ฝ์ ํจ์น 2์ฐจ ํ ์คํธ์ ๋ง๋ฌด๋ฆฌ (0) | 2018.01.05 |
Linux์์ MQTT Broker, Mosquitto ์ค์น (0) | 2017.08.28 |
Linux๋ก ์์ํด๋ณด๋ ๊ฐ๋จํ ์์ผ ํ๋ก๊ทธ๋๋ฐ (2) | 2017.04.08 |
Cerebro Search - OS X Spotlight ๊ฒ์ (0) | 2017.02.24 |