Intezer์ BlackBerry์ ์ฐ๊ตฌ์๋ค์ Linux๋ฅผ ์คํํ๋ ์์๋ ์๋ฒ์ ๋ฐฑ๋์ด์ ๋ฃจํธํท์ ์ฝ์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ฝ๋๋ช Simbiote๋ผ๋ ์ ์ฑ ์ฝ๋๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋ผํด ์๋ฉ๋ฆฌ์นด ์ฌ๋ฌ ๊ตญ๊ฐ์ ๊ธ์ต ๊ธฐ๊ด ์์คํ ์์ ์ ์ฑ ์ฝ๋๊ฐ ๋ฐ๊ฒฌ๋์์ต๋๋ค. ์์คํ ์ Simbiote๋ฅผ ์ค์นํ๋ ค๋ฉด ๊ณต๊ฒฉ์๋ ํจ์น๋์ง ์์ ์ทจ์ฝ์ ์ด๋ ๊ณ์ ์ ์ถ์ ์ ์ฉํ ๊ฒฐ๊ณผ๋ก ์ป์ ์ ์๋ ๋ฃจํธ ์ก์ธ์ค ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค. Simbiote๋ฅผ ์ฌ์ฉํ๋ฉด ํดํน ํ ์์คํ ์์ ์์ ์ ์กด์ฌ๋ฅผ ํตํฉํ์ฌ ์ถ๊ฐ ๊ณต๊ฒฉ์ ์ํํ๊ณ , ๋ค๋ฅธ ์ ์ฑ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋์ ์จ๊ธฐ๊ณ , ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ก์ฑ ์ ์๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
Simbiote์ ํน๋ณํ ๊ธฐ๋ฅ์ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํํ๋ก ๋ฐฐํฌ๋๋ค๋ ๊ฒ์ ๋๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ LD_PRELOAD ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ์์ํ๋ ๋์ ๋ก๋๋๊ณ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ผ๋ถ ํธ์ถ์ ๋์ฒดํฉ๋๋ค. ์คํธํ๋ ํธ์ถ ํธ๋ค๋ฌ๋ ํ๋ก์ธ์ค ๋ชฉ๋ก์ ํน์ ํญ๋ชฉ ์ ์ธ, /proc์ ํน์ ํ์ผ์ ๋ํ ์ก์ธ์ค ์ฐจ๋จ, ๋๋ ํฐ๋ฆฌ์ ํ์ผ ์จ๊ธฐ๊ธฐ, ldd ์ถ๋ ฅ์ ์ ์ฑ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ์ธ(execve ํจ์ ํ์ด์ฌํน ๋ฐ ํธ์ถ ๋ถ์)์ ๊ฐ์ ๋ฐฑ๋์ด ๊ด๋ จ ํ๋์ ์จ๊น๋๋ค. ํ๊ฒฝ ๋ณ์ LD_TRACE_LOADED_OBJECTS)๋ ์ ์์ ์ธ ํ๋๊ณผ ๊ด๋ จ๋ ๋คํธ์ํฌ ์์ผ์ ํ์ํ์ง ์์ต๋๋ค.
ํธ๋ํฝ ๊ฒ์ฌ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด libpcap ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ธฐ๋ฅ์ด ์ฌ์ ์๋๊ณ , /proc/net/tcp ์ฝ๊ธฐ ํํฐ๋ง๊ณผ eBPF ํ๋ก๊ทธ๋จ์ด ์ปค๋์ ๋ก๋๋์ด ํธ๋ํฝ ๋ถ์๊ธฐ์ ์๋์ ๋ฐฉ์งํ๊ณ ์์ฒด ๋คํธ์ํฌ ํธ๋ค๋ฌ์ ๋ํ ํ์ฌ ์์ฒญ์ ์ญ์ ํฉ๋๋ค. eBPF ํ๋ก๊ทธ๋จ์ ์ฒซ ๋ฒ์งธ ํ๋ก์ธ์ ์ฌ์ด์์ ์คํ๋๊ณ ๋คํธ์ํฌ ์คํ์ ๊ฐ์ฅ ๋ฎ์ ์์ค์์ ์คํ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ๋์ค์ ์คํ๋๋ ๋ถ์๊ธฐ๋ฅผ ํฌํจํ์ฌ ๋ฐฑ๋์ด์ ๋คํธ์ํฌ ํ๋์ ์จ๊ธธ ์ ์์ต๋๋ค.
๋ํ Simbiote๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ผ ์์คํ ์ ์ผ๋ถ ํ๋ ๋ถ์๊ธฐ๋ฅผ ์ฐํํ ์ ์์ต๋๋ค. ๊ธฐ๋ฐ ๋ฐ์ดํฐ ๋๋์ ํ์ผ์ ์ฌ๋ ์์ค์ด ์๋๋ผ ํฉ๋ฒ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด๋ฌํ ํ์ผ์ ์ฝ๊ธฐ ์์ ์ ๊ฐ๋ก์ฑ๋ ๋ฐฉ์์ผ๋ก ์ํ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค(์: ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์ฒด). ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๊ฑฐ๋ ์ก์ธ์ค ํค๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ ๋ฐ์ดํฐ์์ ๋ก๋ํ๋ ๊ฒ์ ์ฐจ๋จํ ์ ์์ต๋๋ค. ์๊ฒฉ ๋ก๊ทธ์ธ์ ๊ตฌ์ฑํ๊ธฐ ์ํด Simbiote๋ ์ผ๋ถ PAM ํธ์ถ(ํ๋ฌ๊ทธํ ์ธ์ฆ ๋ชจ๋)์ ๊ฐ๋ก์ฑ๋๋ฐ, ์ด๋ฅผ ํตํด ํน์ ๊ณต๊ฒฉ ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํ์ฌ SSH๋ฅผ ํตํด ์์คํ ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. HTTP_SETTHIS ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ์ฌ ๋ฃจํธ ์ฌ์ฉ์์ ๋ํ ๊ถํ์ ๋์ด๋ ์จ๊ฒจ์ง ์ต์ ๋ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru