์์๋ค์ํผ ์ํด๋ ์ด๋ธ์์ ์คํ๋๋ ์ฝ๋๋ ๊ธฐ๋ฅ์ด ์ฌ๊ฐํ๊ฒ ์ ํ๋ฉ๋๋ค. ์์คํ ํธ์ถ์ ํ ์ ์์ต๋๋ค. I/O ์์ ์ ์ํํ ์ ์์ต๋๋ค. ํธ์คํธ ์์ฉ ํ๋ก๊ทธ๋จ ์ฝ๋ ์ธ๊ทธ๋จผํธ์ ๊ธฐ๋ณธ ์ฃผ์๋ฅผ ๋ชจ๋ฆ ๋๋ค. ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ jmpํ๊ฑฐ๋ ํธ์ถํ ์ ์์ต๋๋ค. ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ด๋ฆฌํ๋ ์ฃผ์ ๊ณต๊ฐ ๊ตฌ์กฐ(์: ๋งคํ๋ ํ์ด์ง ๋๋ ํด๋น ํ์ด์ง์ ์ด๋ค ์ข ๋ฅ์ ๋ฐ์ดํฐ๊ฐ ์๋์ง)์ ๋ํด์๋ ์ ํ ๋ชจ๋ฆ ๋๋ค. ์ด์ ์ฒด์ ์ ํธ์คํธ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ ์ผ๋ถ๋ฅผ ๋งคํํ๋๋ก ์์ฒญํ ์ ์์ต๋๋ค(์: /proc/pid/maps๋ฅผ ํตํด). ์ฐ๊ธฐ ์๋๋ ๋งํ ๊ฒ๋ ์๊ณ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋งน๋ชฉ์ ์ผ๋ก ์ฝ์ผ๋ ค๋ ์์งํ ์๋๋ ์กฐ๋ง๊ฐ(์ ์์ผ ๊ฐ๋ฅ์ฑ์ด ๋์) ์ํด๋ ์ด๋ธ ํ๋ก๊ทธ๋จ์ ๊ฐ์ ์ข ๋ฃ๋ก ์ด์ด์ง ๊ฒ์ ๋๋ค. ์ด๋ ์ํด๋ ์ด๋ธ์์ ์์ฒญํ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ ์์ญ์ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ก์ธ์คํ ์ ์์ ๋๋ง๋ค ๋ฐ์ํฉ๋๋ค.
์ด๋ฌํ ๊ฐํนํ ํ์ค์ ๊ฐ์ํ ๋ ๋ฐ์ด๋ฌ์ค ์์ฑ์๊ฐ SGX ์ํด๋ ์ด๋ธ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์์ ์ธ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ ์ ์์๊น์?
์์ ๋ชจ๋ ์ฌํญ์ ๊ธฐ๋ฐ์ผ๋ก ์ํด๋ ์ด๋ธ๋ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์๋ง ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์์ผ๋ฉฐ ์ํด๋ ์ด๋ธ๋ ์ ์์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌํจํ์ฌ ์์ฒด ์ฃผ๋๊ถ์ ํ์ฌํ ์ ์๋ค๋ ๊ฒ์ด ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์๋ค์ฌ์ง๋๋ค. ์ด๋ ์ํด๋ ์ด๋ธ๊ฐ ๋ฐ์ด๋ฌ์ค ์์ฑ์์๊ฒ ์ค์ง์ ์ธ ๊ฐ์น๊ฐ ์์์ ์๋ฏธํฉ๋๋ค. ์ด๋ฌํ ์ฑ๊ธํ ๊ฐ์ ์ SGX ๋ณดํธ๊ฐ ๋น๋์นญ์ธ ์ด์ ์ค ํ๋์ ๋๋ค. ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ ์ํด๋ ์ด๋ธ ๋ฉ๋ชจ๋ฆฌ์ ์ก์ธ์คํ ์ ์์ง๋ง ์ํด๋ ์ด๋ธ ์ฝ๋๋ ๋ชจ๋ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ฝ๊ณ ์ธ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ์ ์ฑ ์ํด๋ ์ด๋ธ ์ฝ๋๊ฐ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์ ํ์ฌ ์์์ ์์คํ ํธ์ถ์ ๋ง๋ค๊ณ , ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์ ํ์ฌ ์์์ ์ฝ๋๋ฅผ ์คํํ๊ณ , ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค์บํ๊ณ ๊ทธ ์์์ ๋จ์ฉ ๊ฐ๋ฅํ ROP ์ฒด์ธ์ ์ฐพ์ ์ ์๋ค๋ฉด ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ํ ์ ์ดํ ์ ์์ต๋๋ค. ์คํ ์ค ๋ชจ๋. ์ด๋ ์ฌ์ฉ์ ํ์ผ์ ํ์น๊ณ ์ํธํํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ์๋ฅผ ๋์ ํ์ฌ ํ๋ํ ์๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๊ทธ๋ฅผ ๋์ ํ์ฌ ํผ์ฑ ์ด๋ฉ์ผ์ ๋ณด๋ด๊ฑฐ๋ DoS ๊ณต๊ฒฉ์ ์ํํฉ๋๋ค. ์คํ ์นด๋๋ฆฌ์ ๋ฐ ์ฃผ์ ์ญ์ ์ ๊ฐ์ ๊ฐ์ฅ ํ๋์ ์ธ ๋ณดํธ ๋ฉ์ปค๋์ฆ๋ ๋๋ ค์ํ์ง ์์ต๋๋ค.
๊ณต๊ฒฉ์๊ฐ ์์์ ์ค๋ช ํ ์ ํ ์ฌํญ์ ๊ทน๋ณตํ์ฌ ์ ์์ ์ธ ๋ชฉ์ ์ธ ROP ๊ณต๊ฒฉ์ ์ํด SGX๋ฅผ ํ์ฉํ๋ ๋ฐ ์ฌ์ฉํ๋ ๋ช ๊ฐ์ง ํดํน์ ๋ณด์ฌ ๋๋ฆฌ๊ฒ ์ต๋๋ค. ํธ์คํธ ์์ฉ ํ๋ก๊ทธ๋จ ํ๋ก์ธ์ค๋ก ์์ฅํ ์์ ์ฝ๋๋ฅผ ์คํํ๊ฑฐ๋(๋งฌ์จ์ด์์ ์์ฃผ ์ฌ์ฉ๋๋ ํ๋ก์ธ์ค ๋น์ฐ๊ธฐ์ ์ ์ฌ) ์ด๋ฏธ ๋ง๋ค์ด์ง ์ ์ฑ ์ฝ๋๋ฅผ ์์ฅํฉ๋๋ค(๋ฐ์ด๋ฌ์ค ๋ฐฑ์ ๋ฐ ๊ธฐํ ๋ฐฉ์ด ๋ฉ์ปค๋์ฆ์ ๋ฐํด๋ก๋ถํฐ ์ ์ฑ ์ฝ๋๋ฅผ ๋ณดํธํ๊ธฐ ์ํด).
์ฃผ์๋ฅผ ์ฝ์ ์ ์๋์ง ํ์ธํ๊ธฐ ์ํ ํดํน
์ํด๋ ์ด๋ธ๋ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ก์ธ์คํ ์ ์๋ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์ ๋ฒ์๋ฅผ ์์ง ๋ชปํ๊ณ , ์ก์ธ์คํ ์ ์๋ ์ฃผ์๋ฅผ ์ฝ์ผ๋ ค๊ณ ์๋ํ ๋ ์ํด๋ ์ด๋ธ๊ฐ ๊ฐ์ ๋ก ์ข ๋ฃ๋๋ฏ๋ก ๊ณต๊ฒฉ์๋ ์ค๋ฅ์ ๋ํ ๋ฐฉ๋ฒ์ ์ฐพ๋ ์์ ์ ์ง๋ฉดํ๊ฒ ๋ฉ๋๋ค. ์ฃผ์ ๊ณต๊ฐ์ ๊ด๋ํ๊ฒ ์ค์บํฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ์ ์ฃผ์๋ฅผ ๋งคํํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์ผ์ธ์. ์ ๋น์ ์ธํ ์ TSX ๊ธฐ์ ์ ์ค์ฉํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. TSX์ ๋ถ์์ฉ ์ค ํ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค ๊ธฐ๋ฅ์ด TSX ํธ๋์ญ์ ์ ๋ฐฐ์น๋๋ฉด ์๋ชป๋ ์ฃผ์ ์ก์ธ์ค๋ก ์ธํด ๋ฐ์ํ๋ ์์ธ๊ฐ ์ด์ ์ฒด์ ์ ๋๋ฌํ์ง ์๊ณ TSX์ ์ํด ์ต์ ๋ฉ๋๋ค. ์ ํจํ์ง ์์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ์ก์ธ์คํ๋ ค๊ณ ์๋ํ๋ฉด ์ ์ฒด ์ํด๋ ์ด๋ธ ํ๋ก๊ทธ๋จ์ด ์ค๋จ๋์ง ์๊ณ ํ์ฌ ํธ๋์ญ์ ๋ง ์ค๋จ๋ฉ๋๋ค. ์ ๊ฒ. TSX๋ฅผ ์ฌ์ฉํ๋ฉด ์ํด๋ ์ด๋ธ๊ฐ ๋ถ๊ดด ์ํ ์์ด ํธ๋์ญ์ ๋ด์์ ๋ชจ๋ ์ฃผ์์ ์์ ํ๊ฒ ์ก์ธ์คํ ์ ์์ต๋๋ค.
๋ฉด ์ง์ ๋ ์ฃผ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ TSX ํธ๋์ญ์ ์ด ๊ฐ์ฅ ์์ฃผ ์ฑ๊ณตํฉ๋๋ค. ๋๋ฌธ ๊ฒฝ์ฐ์ง๋ง ์ธํฐ๋ฝํธ(์: ์ค์ผ์ค๋ฌ ์ธํฐ๋ฝํธ), ์บ์ ์ ๊ฑฐ ๋๋ ์ฌ๋ฌ ํ๋ก์ธ์ค์ ์ํ ๋ฉ๋ชจ๋ฆฌ ์์น ๋์ ์์ ๊ณผ ๊ฐ์ ์ธ๋ถ ์ํฅ์ผ๋ก ์ธํด ์คํจํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋๋ฌธ ๊ฒฝ์ฐ์ TSX๋ ์คํจ๊ฐ ์ผ์์ ์์ ๋ํ๋ด๋ ์ค๋ฅ ์ฝ๋๋ฅผ ๋ฐํํฉ๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์๋ ํธ๋์ญ์ ์ ๋ค์ ์์ํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๋ฉด ์ง์ ๋ ์ฃผ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์์ TSX๋ ๋ฐ์ํ ์์ธ๋ฅผ ์ต์ ํ๊ณ (OS์ ์๋ฆฌ์ง ์์) ํธ๋์ญ์ ์ ์ค๋จํฉ๋๋ค. ํธ๋์ญ์ ์ด ์ทจ์๋์๋ค๋ ์ฌ์ค์ ๋์ํ ์ ์๋๋ก ์ค๋ฅ ์ฝ๋๊ฐ ์ํด๋ ์ด๋ธ ์ฝ๋๋ก ๋ฐํ๋ฉ๋๋ค. ์ด๋ฌํ ์ค๋ฅ ์ฝ๋๋ ํด๋น ์ฃผ์๋ฅผ ํธ์คํธ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ ์ ์์์ ๋ํ๋ ๋๋ค.
์ํด๋ ์ด๋ธ ๋ด๋ถ์์ TSX๋ฅผ ์กฐ์ํ๋ ๊ฒ์ ์ ๋น์๊ฒ ์ข์ ๊ธฐ๋ฅ์ ๋๋ค. ๋๋ถ๋ถ์ ํ๋์จ์ด ์ฑ๋ฅ ์นด์ดํฐ๋ ์ํด๋ ์ด๋ธ ์ฝ๋๊ฐ ์คํ๋ ๋ ์ ๋ฐ์ดํธ๋์ง ์์ผ๋ฏ๋ก ์ํด๋ ์ด๋ธ ๋ด์์ ์คํ๋๋ TSX ํธ๋์ญ์ ์ ์ถ์ ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๋ฐ๋ผ์ TSX์ ์ ์์ ์ธ ์กฐ์์ ์ด์ ์ฒด์ ์์ ์์ ํ ๋ณด์ด์ง ์์ต๋๋ค.
๋ํ ์ ํดํน์ ์ด๋ ํ ์์คํ ํธ์ถ์๋ ์์กดํ์ง ์๊ธฐ ๋๋ฌธ์ ๋จ์ํ ์์คํ ํธ์ถ์ ์ฐจ๋จํ๋ ๊ฒ๋ง์ผ๋ก๋ ํ์งํ๊ฑฐ๋ ์๋ฐฉํ ์ ์์ต๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ๊ณ๋ ์ฌ๋ฅ๊ณผ์ ์ธ์์์ ๊ธ์ ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ ๋น์ ์์์ ์ค๋ช ํ ํดํน์ ์ฌ์ฉํ์ฌ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋์์ ROP ์ฒด์ธ์ ํ์ฑํ๋ ๋ฐ ์ ํฉํ ์ฅ์น๋ฅผ ๊ฒ์ํฉ๋๋ค. ๋์์ ๊ทธ๋ ๋ชจ๋ ์ฃผ์๋ฅผ ์กฐ์ฌํ ํ์๊ฐ ์์ต๋๋ค. ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ ํ์ด์ง์์ ํ๋์ ์ฃผ์๋ฅผ ์กฐ์ฌํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํฉ๋๋ค. 16GB์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ชจ๋ ๊ฒ์ํ๋ ๋ฐ ์ฝ 45๋ถ์ด ์์๋ฉ๋๋ค(Intel i7-6700K์ ๊ฒฝ์ฐ). ๊ฒฐ๊ณผ์ ์ผ๋ก ์ ๋น์ ROP ์ฒด์ธ์ ๊ตฌ์ฑํ๋ ๋ฐ ์ ํฉํ ์คํ ๊ฐ๋ฅํ ํ์ด์ง ๋ชฉ๋ก์ ๋ฐ์ต๋๋ค.
์ฐ๊ธฐ ๊ฐ๋ฅ์ฑ์ ์ํด ์ฃผ์๋ฅผ ์กฐ์ฌํ๋ ํดํน
ROP ๊ณต๊ฒฉ์ ์ํด๋ ์ด๋ธ ๋ฒ์ ์ ์ํํ๋ ค๋ฉด ๊ณต๊ฒฉ์๋ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฐ๊ธฐ ๊ฐ๋ฅํ ์ฌ์ฉ๋์ง ์์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ฒ์ํ ์ ์์ด์ผ ํฉ๋๋ค. ๊ณต๊ฒฉ์๋ ์ด๋ฌํ ๋ฉ๋ชจ๋ฆฌ ์์น๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ง ์คํ ํ๋ ์์ ์ฃผ์ ํ๊ณ ํ์ด๋ก๋(์ ธ์ฝ๋)๋ฅผ ์ฃผ์ ํฉ๋๋ค. ๊ฒฐ๋ก ์ ์ ์ฑ ์ํด๋ ์ด๋ธ๊ฐ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ค์ค๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋๋ก ์๊ตฌํ ์ ์์ง๋ง ๋์ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด๋ฏธ ํ ๋นํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค์ฉํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ฌผ๋ก , ๊ทธ๊ฐ ์ํ ๋ฅผ ๋ฌด๋๋จ๋ฆฌ์ง ์๊ณ ๊ทธ๋ฌํ ์ง์ญ์ ์ฐพ์ ์ ์๋ค๋ฉด ๋ง์ด์ฃ .
์ ๋น์ TSX์ ๋ ๋ค๋ฅธ ๋ถ์์ฉ์ ์ด์ฉํ์ฌ ์ด ์์์ ์ํํฉ๋๋ค. ๋จผ์ ์์ ๊ฒฝ์ฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฃผ์์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ์กฐ์ฌํ ํ ์ด ์ฃผ์์ ํด๋นํ๋ ํ์ด์ง์ ์ฐ๊ธฐ ๊ฐ๋ฅํ์ง ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค. ์ด๋ฅผ ์ํด ์ ๋น์ ๋ค์ ํดํน์ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ TSX ํธ๋์ญ์ ์ ์ฐ๊ธฐ ๊ธฐ๋ฅ์ ๋ฐฐ์นํ๊ณ ํธ๋์ญ์ ์ด ์๋ฃ๋ ํ ์๋ฃ๋๊ธฐ ์ ์ ํธ๋์ญ์ ์ ๊ฐ์ ๋ก ์ค๋จํฉ๋๋ค(๋ช ์์ ์ค๋จ).
๊ณต๊ฒฉ์๋ TSX ํธ๋์ญ์ ์ ๋ฐํ ์ฝ๋๋ฅผ ๋ณด๊ณ ์ฐ๊ธฐ ๊ฐ๋ฅํ์ง ์ฌ๋ถ๋ฅผ ํ์ ํฉ๋๋ค. ๋ง์ฝ ๊ทธ๊ฒ์ด "๋ช ๋ฐฑํ ๋ํ"๋ผ๋ฉด, ์ ๋น์ ์์ ์ด ๊ทธ๊ฒ์ ๋ฐ๋๋ค๋ฉด ๋ น์์ด ์ฑ๊ณตํ์ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์ดํดํฉ๋๋ค. ํ์ด์ง๊ฐ ์ฝ๊ธฐ ์ ์ฉ์ธ ๊ฒฝ์ฐ ํธ๋์ญ์ ์ "๋ช ์์ ์ค๋จ" ์ด์ธ์ ์ค๋ฅ๋ก ์ข ๋ฃ๋ฉ๋๋ค.
TSX์ ์ด๋ฌํ ์กฐ์์๋ ์ ๋น์๊ฒ ์ข์ ๋ ๋ค๋ฅธ ๊ธฐ๋ฅ์ด ์์ต๋๋ค(ํ๋์จ์ด ์ฑ๋ฅ ์นด์ดํฐ๋ฅผ ํตํด ์ถ์ ํ ์ ์๋ค๋ ์ ์ธ์๋). ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ์ฐ๊ธฐ ๋ช ๋ น์ ํธ๋์ญ์ ์ด ์ฑ๊ณตํ ๊ฒฝ์ฐ์๋ง ์ปค๋ฐ๋๋ฏ๋ก ํธ๋์ญ์ ์ ๊ฐ์ ๋ก ์๋ฃํ๋ฉด ํ์๋ ๋ฉ๋ชจ๋ฆฌ ์ ์ด ๋ณํจ์์ด ์ ์ง๋ฉ๋๋ค.
์ ์ด ํ๋ฆ์ ๋ฆฌ๋๋ ์ ํ๋ ํดํน
์ ํต์ ์ธ ROP ๊ณต๊ฒฉ๊ณผ ๋ฌ๋ฆฌ ์ํด๋ ์ด๋ธ์์ ROP ๊ณต๊ฒฉ์ ์ํํ ๋ ๊ณต๊ฒฉ์๋ ๊ณต๊ฒฉ๋ฐ์ ํ๋ก๊ทธ๋จ์ ๋ฒ๊ทธ(๋ฒํผ ์ค๋ฒํ๋ก ๋ฑ)๋ฅผ ์ด์ฉํ์ง ์๊ณ RIP ๋ ์ง์คํฐ๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค. ๊ณต๊ฒฉ์๋ ์คํ์ ์ ์ฅ๋ RIP ๋ ์ง์คํฐ์ ๊ฐ์ ์ง์ ๋ฎ์ด์ธ ์ ์์ต๋๋ค. ํนํ ์ด ๋ ์ง์คํฐ์ ๊ฐ์ ์์ฒด ROP ์ฒด์ธ์ผ๋ก ๋์ฒดํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ROP ์ฒด์ธ์ด ๊ธด ๊ฒฝ์ฐ ํธ์คํธ ์์ฉ ํ๋ก๊ทธ๋จ ์คํ์ ํฐ ๋ถ๋ถ์ ๋ฎ์ด์ฐ๋ฉด ๋ฐ์ดํฐ๊ฐ ์์๋๊ณ ์๊ธฐ์น ์์ ํ๋ก๊ทธ๋จ ๋์์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ์๋ฐํ๊ฒ ์์ ์ ๊ณต๊ฒฉ์ ์ํํ๋ ค๋ ์ ๋น์ ์ด๋ฌํ ์ํฉ์ ๋ง์กฑํ์ง ์๋๋ค. ๋ฐ๋ผ์ ์์ฒด์ ์ผ๋ก ๊ฐ์ง ์์ ์คํ ํ๋ ์์ ์์ฑํ๊ณ ๊ทธ ์์ ROP ์ฒด์ธ์ ์ ์ฅํฉ๋๋ค. ๊ฐ์ง ์คํ ํ๋ ์์ ์ฐ๊ธฐ ๊ฐ๋ฅํ ์์์ ๋ฉ๋ชจ๋ฆฌ ์์น์ ๋ฐฐ์น๋์ด ์ค์ ์คํ์ ๊ทธ๋๋ก ์ ์ง๋ฉ๋๋ค.
์์ ๋์ด๋ ์ธ ๊ฐ์ง ํดํน์ ์ ๋น์๊ฒ ๋ฌด์์ ์ ๊ณตํฉ๋๊น?
(1) ๋จผ์ , ์ ์ฑ ์ํด๋ ์ด๋ธ๋ฅผ ํตํด ์ฃผ์๋ฅผ ์ฝ์ ์ ์๋์ง ํ์ธํ๊ธฐ ์ํด ํดํน, โ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋จ์ฉ ๊ฐ๋ฅํ ROP ๊ฐ์ ฏ์ ๊ฒ์ํฉ๋๋ค.
(2) ๊ทธ๋ฌ๋ฉด ์ฐ๊ธฐ ๊ฐ๋ฅ์ฑ์ ์ํด ์ฃผ์๋ฅผ ์กฐ์ฌํ๊ธฐ ์ํ ํดํน, โ ์ ์ฑ ์ํด๋ ์ด๋ธ๋ ํ์ด๋ก๋ ์ฃผ์ ์ ์ ํฉํ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์๋ณํฉ๋๋ค.
(3) ๋ค์์ผ๋ก, ์ํด๋ ์ด๋ธ๋ ๋จ๊ณ (1)์์ ๋ฐ๊ฒฌ๋ ๊ฐ์ ฏ์ผ๋ก๋ถํฐ ROP ์ฒด์ธ์ ์์ฑํ๊ณ ์ด ์ฒด์ธ์ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์คํ์ ์ฃผ์ ํฉ๋๋ค.
(4) ๋ง์ง๋ง์ผ๋ก ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด์ ๋จ๊ณ์์ ์์ฑ๋ ROP ์ฒด์ธ์ ๋ฐ๊ฒฌํ๋ฉด ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ถํ๊ณผ ์์คํ ํธ์ถ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ ์ฑ ํ์ด๋ก๋๊ฐ ์คํ๋๊ธฐ ์์ํฉ๋๋ค.
์ ๋น์ด ์ด๋ฌํ ํดํน์ ์ฌ์ฉํ์ฌ ๋์กฐ์๋ฆฌ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ
ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ECALL ์ค ํ๋๋ฅผ ํตํด ์ ์ด๊ถ์ ์ํด๋ ์ด๋ธ์ ์ ์กํ ํ(์ด ์ํด๋ ์ด๋ธ๊ฐ ์ ์ฑ์ธ์ง ์์ฌํ์ง ์๊ณ ), ์ ์ฑ ์ํด๋ ์ด๋ธ๋ ์ฝ๋๋ฅผ ์ฃผ์ ํ๊ธฐ ์ํด ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ฌ์ ๊ณต๊ฐ์ ๊ฒ์ํฉ๋๋ค(ํด๋น ์ ์ํ์ค๋ฅผ ์ฌ์ ๊ณต๊ฐ์ผ๋ก ์ฌ์ฉ). XNUMX์ผ๋ก ์ฑ์์ง). ๊ทธ๋ผ ํตํด ์ฃผ์๋ฅผ ์ฝ์ ์ ์๋์ง ํ์ธํ๊ธฐ ์ํด ํดํน, โ ์ํด๋ ์ด๋ธ๋ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์คํ ๊ฐ๋ฅํ ํ์ด์ง๋ฅผ ๊ฒ์ํ๊ณ ํ์ฌ ๋๋ ํฐ๋ฆฌ์ "RANSOM"์ด๋ผ๋ ์ ํ์ผ์ ์์ฑํ๋ ROP ์ฒด์ธ์ ์์ฑํ๊ณ (์ค์ ๊ณต๊ฒฉ์์๋ ์ํด๋ ์ด๋ธ๊ฐ ๊ธฐ์กด ์ฌ์ฉ์ ํ์ผ์ ์ํธํํจ) ๋ชธ๊ฐ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค. ๋์์ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด๋ ์ด๋ธ๊ฐ ๋จ์ํ ๋ ๊ฐ์ ์ซ์๋ฅผ ์ถ๊ฐํ๊ณ ์๋ค๊ณ ์์งํ๊ฒ ๋ฏฟ์ต๋๋ค. ์ฝ๋์์๋ ์ด๋ป๊ฒ ๋ณด์ผ๊น์?
์ดํดํ๊ธฐ ์ฝ๋๋ก ์ ์๋ฅผ ํตํด ๋ช ๊ฐ์ง ๋๋ชจ๋์ ์๊ฐํ๊ฒ ์ต๋๋ค.
ํ์ด๋ก๋ ์คํ ํ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์์ ์ธ ์๋์ ๋ณต์ํ๊ธฐ ์ํด RSP ๋ฐ RBP ๋ ์ง์คํฐ์ ์๋ ๊ฐ์ ์ ์ฅํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ ํฉํ ์คํ ํ๋ ์์ ์ฐพ๊ณ ์์ต๋๋ค("์ ์ด ํ๋ฆ ๋ฆฌ๋๋ ์ ์ ์ํ ํดํน" ์น์ ์ ์ฝ๋ ์ฐธ์กฐ).
์ ํฉํ ROP ๊ฐ์ ฏ ์ฐพ๊ธฐ:
ํ์ด๋ก๋๋ฅผ ์ฃผ์ ํ ์ฅ์ ์ฐพ๊ธฐ:
์ฐ๋ฆฌ๋ ROP ์ฒด์ธ์ ๊ตฌ์ถํฉ๋๋ค:
์ ์ฑ ํ๋ก๊ทธ๋จ์ ๋์ํ๊ธฐ ์ํด ์ค๊ณ๋ ์ธํ ์ SGX ๊ธฐ์ ์ ์ ๋น์ด ์ ์ฉํ์ฌ ๋ฐ๋ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ถ์ฒ : habr.com