Linux ์ปค๋์์ ์ ๊ณต๋๋ TIPC(Transparent Inter-process Communication) ๋คํธ์ํฌ ํ๋กํ ์ฝ ๊ตฌํ์์ ์ฌ๊ฐํ ์ทจ์ฝ์ (CVE-2021-43267)์ด ํ์ธ๋์์ต๋๋ค. ๋คํธ์ํฌ ํจํท. ๋ฌธ์ ์ ์ํ์ ๊ณต๊ฒฉ์ด ์์คํ ์์ ๋ช ์์ ์ธ TIPC ์ง์ ํ์ฑํ(tipc.ko ์ปค๋ ๋ชจ๋ ๋ก๋ ๋ฐ ๊ตฌ์ฑ)๋ฅผ ์๊ตฌํ๋ค๋ ์ฌ์ค๋ก ์ธํด ์ํ๋ฉ๋๋ค. ์ด๋ ์ ๋ฌธํ๋์ง ์์ Linux ๋ฐฐํฌํ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ํ๋์ง ์์ต๋๋ค.
TIPC ํ๋กํ ์ฝ์ Linux ์ปค๋ 3.19๋ถํฐ ์ง์๋์์ง๋ง ์ทจ์ฝ์ ์ ์ ๋ฐํ๋ ์ฝ๋๋ ์ปค๋ 5.10์ ํฌํจ๋์ด ์์ต๋๋ค. ์ด ์ทจ์ฝ์ ์ ์ปค๋ 5.15.0, 5.10.77 ๋ฐ 5.14.16์์ ์์ ๋์์ต๋๋ค. ์ด ๋ฌธ์ ๋ Debian 11, Ubuntu 21.04/21.10, SUSE(์์ง ์ถ์๋์ง ์์ SLE15-SP4 ๋ถ๊ธฐ), RHEL(์ทจ์ฝํ ์์ ์ฌํญ์ด ๋ฐฑํฌํธ๋์๋์ง ์ฌ๋ถ๋ ์์ง ์์ธํ ์ค๋ช ๋์ง ์์) ๋ฐ Fedora์์ ๋ํ๋์ง๋ง ์์ง ์์ ๋์ง ์์์ต๋๋ค. Arch Linux์ฉ ์ปค๋ ์ ๋ฐ์ดํธ๊ฐ ์ด๋ฏธ ์ถ์๋์์ต๋๋ค. Debian 5.10 ๋ฐ Ubuntu 10์ ๊ฐ์ด 20.04 ์ด์ ์ปค๋์ ์ฌ์ฉํ๋ ๋ฐฐํฌํ์ ์ด ๋ฌธ์ ์ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
TIPC ํ๋กํ ์ฝ์ ์๋ Ericsson์ด ๊ฐ๋ฐํ์ผ๋ฉฐ ํด๋ฌ์คํฐ์์ ํ๋ก์ธ์ค ๊ฐ ํต์ ์ ๊ตฌ์ฑํ๋๋ก ์ค๊ณ๋์์ผ๋ฉฐ ์ฃผ๋ก ํด๋ฌ์คํฐ ๋ ธ๋์์ ํ์ฑํ๋ฉ๋๋ค. TIPC๋ ์ด๋๋ท์ด๋ UDP(๋คํธ์ํฌ ํฌํธ 6118)๋ฅผ ํตํด ์๋ํ ์ ์์ต๋๋ค. ์ด๋๋ท์ ํตํด ์์ ํ๋ ๊ฒฝ์ฐ ๊ณต๊ฒฉ์ ๋ก์ปฌ ๋คํธ์ํฌ์์ ์ํ๋ ์ ์์ผ๋ฉฐ, UDP๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํฌํธ๊ฐ ๋ฐฉํ๋ฒฝ์ผ๋ก ๋ณดํธ๋์ง ์๋ ๊ฒฝ์ฐ ๊ธ๋ก๋ฒ ๋คํธ์ํฌ์์ ์ํ๋ ์ ์์ต๋๋ค. ๊ณต๊ฒฉ์ ํธ์คํธ์ ๊ถํ์ด ์๋ ๋ก์ปฌ ์ฌ์ฉ์์ ์ํด ์ํ๋ ์๋ ์์ต๋๋ค. TIPC๋ฅผ ํ์ฑํํ๋ ค๋ฉด Tipc.ko ์ปค๋ ๋ชจ๋์ ๋ค์ด๋ก๋ํ๊ณ netlink ๋๋ Tipc ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ๋ํ ๋ฐ์ธ๋ฉ์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
์ทจ์ฝ์ ์ Tipc_crypto_key_rc ํจ์์์ ๋ํ๋๋ฉฐ, ๋ค๋ฅธ ๋ ธ๋์์ ์ํธํ ํค๋ฅผ ์ป๋ ๋ฐ ์ฌ์ฉ๋๋ MSG_CRYPTO ์ ํ์ ํจํท์ ๊ตฌ๋ฌธ ๋ถ์ํ ๋ ํค๋์ ์ง์ ๋ ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ์ ์ค์ ํฌ๊ธฐ ๊ฐ์ ์ผ์น ์ฌ๋ถ์ ๋ํ ์ ์ ํ ๊ฒ์ฆ์ด ๋ถ์กฑํ์ฌ ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ๋ ธ๋์์ ์ ์ก๋ ๋ฉ์์ง์ ํ์ ์ํธ ํด๋ ์ ์ํด ํด๋ฌ์คํฐ์ ์ ์ฅ๋ฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ๋ณต์ฌ๋๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ ๋ฉ์์ง ํฌ๊ธฐ์ ํค๋ ํฌ๊ธฐ๊ฐ ์๋ ํ๋ ๊ฐ์ ์ฐจ์ด๋ก ๊ณ์ฐ๋์ง๋ง, ์ํธํ ์๊ณ ๋ฆฌ์ฆ ์ด๋ฆ์ ์ค์ ํฌ๊ธฐ์ ๋ด์ฉ์ ๊ณ ๋ ค๋์ง ์์ต๋๋ค. ๋ฉ์์ง์ ํค๊ฐ ์ ์ก๋ฉ๋๋ค. ์๊ณ ๋ฆฌ์ฆ ์ด๋ฆ์ ํฌ๊ธฐ๋ ๊ณ ์ ๋์ด ์๊ณ , ํค์๋ ํฌ๊ธฐ๊ฐ ์๋ ๋ณ๋์ ์์ฑ์ด ์ถ๊ฐ๋ก ์ ๋ฌ๋๋ฉฐ, ๊ณต๊ฒฉ์๊ฐ ์ด ์์ฑ์ ์ค์ ๊ฐ๊ณผ ๋ค๋ฅธ ๊ฐ์ ์ง์ ํ ์ ์์ด ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ ์์ฑํ ์ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ํ ๋น๋ ๋ฒํผ๋ฅผ ๋์ด์๋ ๋ฉ์์ง์ ๊ผฌ๋ฆฌ. structtipc_aead_key { char alg_name[TIPC_AEAD_ALG_NAME]; ์๋ช ๋์ง ์์ int keylen; /* ๋ฐ์ดํธ ๋จ์ */ char key[]; };
์ถ์ฒ : opennet.ru