Red Hat์ X.Org ์ ๋ ฅ ํ์ ์์คํ ๊ด๋ฆฌ์์ธ Peter Hutterer๋ HID(์ธ๊ฐ ์ ๋ ฅ ์ฅ์น)์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ฑฐ๋ ์ฌ์ฉ์ ๊ธฐ๋ณธ ์ค์ ์ ๋ฐ๋ผ ๋์์ ๋ณ๊ฒฝํ๋ BPF ํ๋ก๊ทธ๋จ์ ์๋์ผ๋ก ๋ก๋ํ๋๋ก ์ค๊ณ๋ ์๋ก์ด ์ ํธ๋ฆฌํฐ udev-hid-bpf๋ฅผ ๋์ ํ์ต๋๋ค. . ํค๋ณด๋ ๋ฐ ๋ง์ฐ์ค์ ๊ฐ์ HID ์ฅ์น์ ๋ํ ํธ๋ค๋ฌ๋ฅผ ์์ฑํ๋ ค๋ฉด Linux 6.3 ์ปค๋์ ๋ฑ์ฅํ HID-BPF ํ์ ์์คํ ์ด ์ฌ์ฉ๋๋ฉฐ ์ด๋ฅผ ํตํด BPF ํ๋ก๊ทธ๋จ ํ์์ผ๋ก ์ ๋ ฅ ์ฅ์น ๋๋ผ์ด๋ฒ๋ฅผ ์์ฑํ๊ฑฐ๋ HID ํ์ ์์คํ ์์ ๋ค์ํ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
udev-hid-bpf ์ ํธ๋ฆฌํฐ๋ udev ๋ฉ์ปค๋์ฆ๊ณผ ํจ๊ป ์ฌ์ฉํ์ฌ ์ ์ ๋ ฅ ์ฅ์น๊ฐ ์ฐ๊ฒฐ๋ ๋ BPF ํ๋ก๊ทธ๋จ์ ์๋์ผ๋ก ํ์ฑํํ๊ฑฐ๋ BPF ํ๋ก๊ทธ๋จ์ ์๋์ผ๋ก ๋ก๋ํ ์ ์์ต๋๋ค. udev-hid-bpf์ ํจ๊ป ์ฌ์ฉํ ์ ์๋ BPF ํ๋ก๊ทธ๋จ์๋ ํ๋์จ์ด๋ ํ์จ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ํ๋ก๊ทธ๋จ๊ณผ ์ฌ์ฉ์ ์์ฒญ์ ๋ฐ๋ผ ์ฅ์น์ ๋์์ ๋ณ๊ฒฝํ๊ธฐ ์ํ ํ๋ก๊ทธ๋จ์ด๋ผ๋ ๋ ๊ฐ์ง ์ฃผ์ ๋ฒ์ฃผ๊ฐ ์์ต๋๋ค.
์ฒซ ๋ฒ์งธ ๊ฒฝ์ฐ์๋ ๋ฐ์ ๋ ์ขํ์ถ, ์๋ชป๋ ๊ฐ ๋ฒ์(์: 8๊ฐ๊ฐ ์๋ 5๊ฐ์ ๋ฒํผ์ด ์๋ค๋ ์ค๋ช
), ๋น๋
ผ๋ฆฌ์ ์ธ ์ด๋ฒคํธ ์์ ๋ฑ ์ฅ์น์ ๊ฒฐํจ ๋ฐ ์ค๋ฅ๋ฅผ ์ ๊ฑฐํ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค. ๋ ๋ฒ์งธ ๊ฒฝ์ฐ์๋ ์ฅ์น ์ค์ ๋ณ๊ฒฝ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด BPF ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ฉด ๋ฒํผ์ ๋ฐ๊ฟ ์ ์์ต๋๋ค. ์์ ๋ BPF ํ๋ก๊ทธ๋จ์ ๊ฒฐ๊ตญ ๋ฉ์ธ ์ปค๋์ ํฌํจ๋ ๊ฒ์ด๋ฉฐ ์ปค๋์ ํจ์น๋ ๋ณ๋์ ๋๋ผ์ด๋ฒ๋ฅผ ์ถ๊ฐํ์ง ์๊ณ ๋ ๊ฐ๋ฅํด์ง ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru