Linux ์ปค๋„์˜ AF_PACKET ์†Œ์ผ“ ๊ตฌํ˜„ ์ทจ์•ฝ์ 

์ทจ์•ฝ์ ์ด ๊ธ‰์ฆํ•œ ์ง€ XNUMX๋…„ ํ›„(1, 2, 3, 4, 5) Linux ์ปค๋„์˜ AF_PACKET ํ•˜์œ„ ์‹œ์Šคํ…œ ํ™•์ธ๋จ ๋˜ ํ•˜๋‚˜์˜ ๋ฌธ์ œ(CVE-2020-14386), ๊ถŒํ•œ์ด ์—†๋Š” ๋กœ์ปฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฃจํŠธ๋กœ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ๋ฃจํŠธ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๊ฒฉ๋ฆฌ๋œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AF_PACKET ์†Œ์ผ“์„ ์ƒ์„ฑํ•˜๊ณ  ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๋ ค๋ฉด CAP_NET_RAW ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‚ฌ์šฉ์ž ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ง€์›์ด ํ™œ์„ฑํ™”๋œ ์‹œ์Šคํ…œ์—์„œ ์ƒ์„ฑ๋œ ์ปจํ…Œ์ด๋„ˆ์—์„œ๋Š” ๊ถŒํ•œ ์—†๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •๋œ ๊ถŒํ•œ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์šฉ์ž ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋Š” Ubuntu ๋ฐ Fedora์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€๋งŒ Debian ๋ฐ RHEL์—์„œ๋Š” ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Android์—์„œ ๋ฏธ๋””์–ด ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๋Š” ์ทจ์•ฝ์ ์„ ์•…์šฉํ•  ์ˆ˜ ์žˆ๋Š” AF_PACKET ์†Œ์ผ“์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ์ทจ์•ฝ์ ์€ tpacket_rcv ํ•จ์ˆ˜์— ์กด์žฌํ•˜๋ฉฐ netoff ๋ณ€์ˆ˜ ๊ณ„์‚ฐ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” netoff ๋ณ€์ˆ˜๊ฐ€ maclen ๋ณ€์ˆ˜๋ณด๋‹ค ์ž‘์€ ๊ฐ’์— ๊ธฐ๋ก๋˜๋Š” ์กฐ๊ฑด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” "macoff = netoff - maclen"์„ ๊ณ„์‚ฐํ•  ๋•Œ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์ดํ›„์— ๋“ค์–ด์˜ค๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ฒ„ํผ์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๋ฅผ ์ž˜๋ชป ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ณต๊ฒฉ์ž๋Š” ํ• ๋‹น๋œ ๋ฒ„ํผ์˜ ๊ฒฝ๊ณ„๋ฅผ ๋„˜์–ด์„œ๋Š” ์˜์—ญ์— 1~10๋ฐ”์ดํŠธ ์“ฐ๊ธฐ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์—์„œ ๋ฃจํŠธ ๊ถŒํ•œ์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ต์Šคํ”Œ๋กœ์ž‡์ด ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” 2008๋…„ XNUMX์›”๋ถ€ํ„ฐ ์ปค๋„์— ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์‹ค์ œ ํ•ต์—์„œ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์ˆ˜์ • ์‚ฌํ•ญ์€ ํ˜„์žฌ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜์ . ๋‹ค์Œ ํŽ˜์ด์ง€์—์„œ ๋ฐฐํฌํŒ์˜ ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ ๊ฐ€์šฉ์„ฑ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Ubuntu, ํŽ˜๋„๋ผ, SUSE, ๋ฐ๋น„์•ˆ, RHEL, ์•„์น˜.

์ถœ์ฒ˜ : opennet.ru

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