BPF ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ ์žฅ์น˜์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ

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

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€