AOSP(Android ์คํ ์์ค ํ๋ก์ ํธ) ์ฝ๋๋ฒ ์ด์ค์ ๋ณด์ ํฌํฌ๋ฅผ ๊ฐ๋ฐํ๋ GrapheneOS ํ๋ก์ ํธ์ ๊ฐ๋ฐ์๋ ์ ์ฌ์ ์ผ๋ก ์๊ฒฉ ์ฝ๋ ์คํ์ผ๋ก ์ด์ด์ง ์ ์๋ Android 14 ํ๋ซํผ์ Bluetooth ์คํ์์ ์ทจ์ฝ์ ์ ์๋ณํ์ต๋๋ค. Bluetooth LE๋ฅผ ํตํด ์ ์ก๋๋ ์ค๋์ค ์ฒ๋ฆฌ ์ฝ๋์์ ์ด๋ฏธ ํด์ ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ(use-after-free)์ ์ ๊ทผํ์ฌ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
ARMv8.5 MTE ํ์ฅ(MemTag, Memory Tagged Extension)์ ์ฌ์ฉํ์ฌ hardened_malloc ํธ์ถ์ ์ถ๊ฐ ๋ณดํธ ๊ธฐ๋ฅ์ด ํตํฉ๋์ด ์ทจ์ฝ์ ์ด ์๋ณ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์์ ์ ํ๊ทธ๋ฅผ ๋ฐ์ธ๋ฉํ๊ณ ํฌ์ธํฐ์ ์ฌ๋ฐ๋ฅธ ์ฌ์ฉ์ ํ์ธํ๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์ด๋ฏธ ํด์ ๋ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ ๋ํ ์ ๊ทผ, ๋ฒํผ ์ค๋ฒํ๋ก, ์ด๊ธฐํ ์ ํธ์ถ, ํ์ฌ ์ปจํ ์คํธ ์ธ๋ถ ์ฌ์ฉ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ์ทจ์ฝ์ ์ ์ฉ์ ์ฐจ๋จํฉ๋๋ค.
ํด๋น ์ค๋ฅ๋ ์ง๋ 14์ ์ด ๊ณต๊ฐ๋ ์๋๋ก์ด๋ 2 QPR14(๋ถ๊ธฐ๋ณ ํ๋ซํผ ์ถ์) ์ ๋ฐ์ดํธ ์ดํ๋ถํฐ ๋ํ๋๊ณ ์๋ค. Android 14 ํ๋ซํผ์ ๊ธฐ๋ณธ ์ฝ๋ ๋ฒ ์ด์ค์์๋ MTE ๋ฉ์ปค๋์ฆ์ด ์ต์ ์ผ๋ก ์ ๊ณต๋์ด ์์ง ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋์ง ์์ง๋ง GrapheneOS์์๋ ์ถ๊ฐ ๋ณดํธ๋ฅผ ์ํด ์ด๋ฏธ ํ์ฑํ๋์ด ์์ด ์ ๋ฐ์ดํธ ํ ์ค๋ฅ ์ง๋จ์ด ๊ฐ๋ฅํ์ต๋๋ค. ์๋๋ก์ด๋ 2 QPR2. ์ด ๋ฒ๊ทธ๋ก ์ธํด MTE ๊ธฐ๋ฐ ๋ณดํธ๋ฅผ ํ์ฑํํ๋ ํ์จ์ด๊ฐ ํฌํจ๋ Samsung Galaxy BudsXNUMX Pro Bluetooth ํค๋ํฐ์ ์ฌ์ฉํ ๋ ์ถฉ๋์ด ๋ฐ์ํ์ต๋๋ค. ์ฌ๊ฑด ๋ถ์์ ๋ฐ๋ฅด๋ฉด ๋ฌธ์ ๋ Bluetooth LE ํธ๋ค๋ฌ์์ ์ด๋ฏธ ํด์ ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ก์ธ์คํ๋ ๊ฒ๊ณผ ๊ด๋ จ์ด ์๋ ๊ฒ์ด์ง MTE ํตํฉ์ผ๋ก ์ธํ ์ค๋ฅ๊ฐ ์๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
์ด ์ทจ์ฝ์ ์ GrapheneOS ๋ฆด๋ฆฌ์ค 2024030900์์ ์์ ๋์์ผ๋ฉฐ MTE ํ์ฅ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์ถ๊ฐ ํ๋์จ์ด ๋ณดํธ ๊ธฐ๋ฅ์ด ํฌํจ๋์ง ์์ ์ค๋งํธํฐ ๋น๋์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค(MTE๋ ํ์ฌ Pixel 8 ๋ฐ Pixel 8 Pro ์ฅ์น์์๋ง ํ์ฑํ๋ฉ๋๋ค). ์ด ์ทจ์ฝ์ ์ Android 8 QPR14๋ฅผ ์คํํ๋ Google Pixel 2 ์ค๋งํธํฐ์์ ์ฌํ๋ฉ๋๋ค. Pixel 8 ์๋ฆฌ์ฆ ์ค๋งํธํฐ์ฉ Android์์๋ ๊ฐ๋ฐ์ ์ค์ (โ์ค์ / ์์คํ
/ ๊ฐ๋ฐ์ ์ต์
/ ๋ฉ๋ชจ๋ฆฌ ํ๊น
ํ์ฅโ)์์ MTE ๋ชจ๋๋ฅผ ํ์ฑํํ ์ ์์ต๋๋ค. MTE๋ฅผ ํ์ฑํํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์๋น๊ฐ ์ฝ 3% ์ฆ๊ฐํ์ง๋ง ์ฑ๋ฅ์ ์ ํ๋์ง ์์ต๋๋ค.
์ถ์ฒ : opennet.ru