Tox P2P ๋ฉ์์ง ํ๋กํ ์ฝ์ ์ฐธ์กฐ ๊ตฌํ์ธ Toxcore์๋ ํน์ ์ ์๋ UDP ํจํท์ ์ฒ๋ฆฌํ ๋ ์ ์ฌ์ ์ผ๋ก ์ฝ๋ ์คํ์ ํธ๋ฆฌ๊ฑฐํ ์ ์๋ ์ทจ์ฝ์ (CVE-2021-44847)์ด ์์ต๋๋ค. UDP ์ ์ก์ด ๋นํ์ฑํ๋์ง ์์ Toxcore ๊ธฐ๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ชจ๋ ์ฌ์ฉ์๋ ์ด ์ทจ์ฝ์ ์ ์ํฅ์ ๋ฐ์ต๋๋ค. ๊ณต๊ฒฉํ๋ ค๋ฉด ํผํด์์ IP ์ฃผ์, ๋คํธ์ํฌ ํฌํธ ๋ฐ ๊ณต๊ฐ DHT ํค๋ฅผ ์๊ณ UDP ํจํท์ ๋ณด๋ด๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํฉ๋๋ค(์ด ์ ๋ณด๋ DHT์์ ๊ณต๊ฐ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ์ฆ, ๊ณต๊ฒฉ์ ๋ชจ๋ ์ฌ์ฉ์ ๋๋ DHT ๋ ธ๋์์ ์ํ๋ ์ ์์ต๋๋ค).
์ด ๋ฌธ์ ๋ toxcore ๋ฆด๋ฆฌ์ค 0.1.9~0.2.12์์ ๋ฐ์ํ์ผ๋ฉฐ ๋ฒ์ 0.2.13์์ ํด๊ฒฐ๋์์ต๋๋ค. ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ค์์ ํ์ฌ๊น์ง qTox ํ๋ก์ ํธ๋ง์ด ์ทจ์ฝ์ ์ ์ ๊ฑฐํ๋ ์ ๋ฐ์ดํธ๋ฅผ ์ถ์ํ์ต๋๋ค. ๋ณด์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก TCP ์ง์์ ์ ์งํ๋ฉด์ UDP๋ฅผ ๋นํ์ฑํํ ์ ์์ต๋๋ค.
์ด ์ทจ์ฝ์ ์ ๋คํธ์ํฌ ํจํท์ ๋ฐ์ดํฐ ํฌ๊ธฐ ๊ณ์ฐ์ด ์๋ชป๋์ด ๋ฐ์ํ๋ handler_request() ํจ์์ ๋ฒํผ ์ค๋ฒํ๋ก๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก, ์ํธํ๋ ๋ฐ์ดํฐ์ ๊ธธ์ด๋ "1 + CRYPTO_PUBLIC_KEY_SIZE * 2 + CRYPTO_NONCE_SIZE"๋ก ์ ์๋ ๋งคํฌ๋ก CRYPTO_SIZE์์ ๊ฒฐ์ ๋์์ผ๋ฉฐ, ์ดํ์ ๋นผ๊ธฐ ์์
"๊ธธ์ด - CRYPTO_SIZE"์ ์ฌ์ฉ๋์์ต๋๋ค. ๋งคํฌ๋ก์ ๊ดํธ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๊ฐ์ ํฉ์ ๋นผ๋ ๋์ 1์ ๋นผ๊ณ ๋๋จธ์ง ๋ถ๋ถ์ ๋ํ์ต๋๋ค. ์๋ฅผ ๋ค์ด "๊ธธ์ด - (1 + 32 * 2 + 24)" ๋์ ๋ฒํผ ํฌ๊ธฐ๊ฐ "๊ธธ์ด - 1 + 32 * 2 + 24"๋ก ๊ณ์ฐ๋์ด ๋ฒํผ ๊ฒฝ๊ณ๋ฅผ ๋์ด ์คํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฎ์ด์ฐ๊ฒ ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru