DNS ์••์ถ• ๊ตฌํ˜„ ์˜ค๋ฅ˜์™€ ๊ด€๋ จ๋œ FreeBSD, IPnet ๋ฐ Nucleus NET์˜ ์ทจ์•ฝ์ 

์—ฐ๊ตฌ ๊ทธ๋ฃน์ธ Forescout Research Labs์™€ JSOF Research๋Š” DNS, mDNS, DHCP ๋ฐ IPv6 RA ๋ฉ”์‹œ์ง€์— ์ค‘๋ณต๋œ ์ด๋ฆ„์„ ํฌ์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์••์ถ• ์ฒด๊ณ„์˜ ๋‹ค์–‘ํ•œ ๊ตฌํ˜„ ๋ณด์•ˆ์— ๋Œ€ํ•œ ๊ณต๋™ ์—ฐ๊ตฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค(๋ฉ”์‹œ์ง€์— ์ค‘๋ณต ๋„๋ฉ”์ธ ๋ถ€๋ถ„์„ ํฌ์žฅ). ์—ฌ๋Ÿฌ ์ด๋ฆ„์ด ํฌํ•จ๋˜์–ด ์žˆ์Œ). ์ž‘์—… ์ค‘์— 9๊ฐœ์˜ ์ทจ์•ฝ์ ์ด ์‹๋ณ„๋˜์—ˆ์œผ๋ฉฐ, ์ด๋Š” ์ฝ”๋“œ๋ช… NAME:WRECK๋กœ ์š”์•ฝ๋ฉ๋‹ˆ๋‹ค.

FreeBSD๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž๋™ํ™” ์žฅ์น˜, ์ €์žฅ ์žฅ์น˜, ์˜๋ฃŒ ์žฅ์น˜, ํ•ญ๊ณต ์ „์ž ๊ณตํ•™, ํ”„๋ฆฐํ„ฐ์— ์‚ฌ์šฉ๋˜๋Š” VxWorks, Nucleus ๋ฐ ThreadX ์‹ค์‹œ๊ฐ„ ์šด์˜ ์ฒด์ œ์—์„œ ๋„๋ฆฌ ๋ณด๊ธ‰๋œ ๋„คํŠธ์›Œํ‚น ํ•˜์œ„ ์‹œ์Šคํ…œ IPnet, Nucleus NET ๋ฐ NetX์—์„œ๋„ ๋ฌธ์ œ๊ฐ€ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์ „์ œํ’ˆ. ์ด ์ทจ์•ฝ์ ์œผ๋กœ ์ธํ•ด ์ตœ์†Œ 100์–ต ๋Œ€์˜ ์žฅ์น˜๊ฐ€ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ฒƒ์œผ๋กœ ์ถ”์ •๋ฉ๋‹ˆ๋‹ค.

  • FreeBSD์˜ ์ทจ์•ฝ์ (CVE-2020-7461)์œผ๋กœ ์ธํ•ด ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ DHCP ํŒจํ‚ท์„ ํ”ผํ•ด์ž์™€ ๋™์ผํ•œ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์— ์žˆ๋Š” ๊ณต๊ฒฉ์ž์—๊ฒŒ ์ „์†กํ•˜์—ฌ ์ฝ”๋“œ ์‹คํ–‰์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์œผ๋ฉฐ, ์ทจ์•ฝํ•œ DHCP ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ. ๋ฌธ์ œ๋Š” ์ทจ์•ฝ์ ์ด ์กด์žฌํ•˜๋Š” dhclient ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฒฉ๋ฆฌ๋œ Capsicum ํ™˜๊ฒฝ์—์„œ ์žฌ์„ค์ • ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค๋กœ ์ธํ•ด ์™„ํ™”๋˜์—ˆ์œผ๋ฉฐ, ์ด๋ฅผ ์ข…๋ฃŒํ•˜๋ ค๋ฉด ๋‹ค๋ฅธ ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

    ์˜ค๋ฅ˜์˜ ๋ณธ์งˆ์€ "๋„๋ฉ”์ธ ๊ฒ€์ƒ‰" ๋ชฉ๋ก์„ ํ™•์ธ์ž์—๊ฒŒ ์ „์†กํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๋Š” DHCP ์˜ต์…˜ 119๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DHCP ์„œ๋ฒ„๊ฐ€ ๋ฐ˜ํ™˜ํ•œ ํŒจํ‚ท์—์„œ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ž˜๋ชป ํ™•์ธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์••์ถ•์ด ํ’€๋ฆฐ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์ˆ˜์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ฒ„ํผ ํฌ๊ธฐ๋ฅผ ์ž˜๋ชป ๊ณ„์‚ฐํ•˜๋ฉด ๊ณต๊ฒฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹์ •๋ณด๊ฐ€ ํ• ๋‹น๋œ ๋ฒ„ํผ ์ด์ƒ์œผ๋กœ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. FreeBSD์—์„œ๋Š” ์ด ๋ฌธ์ œ๊ฐ€ ์ž‘๋…„ XNUMX์›”์— ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ์•…์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • RTOS VxWorks์— ์‚ฌ์šฉ๋˜๋Š” ๋‚ด์žฅํ˜• IPnet ๋„คํŠธ์›Œํ‚น ์Šคํƒ์˜ ์ทจ์•ฝ์ ์œผ๋กœ ์ธํ•ด DNS ๋ฉ”์‹œ์ง€ ์••์ถ•์˜ ๋ถ€์ ์ ˆํ•œ ์ฒ˜๋ฆฌ๋กœ ์ธํ•ด DNS ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์ž ์žฌ์ ์ธ ์ฝ”๋“œ ์‹คํ–‰์ด ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ์•Œ๊ณ  ๋ณด๋‹ˆ ์ด ์ทจ์•ฝ์ ์€ 2016๋…„์— Exodus์—์„œ ์ฒ˜์Œ ํ™•์ธ๋˜์—ˆ์ง€๋งŒ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. Wind River์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์š”์ฒญ๋„ ์‘๋‹ต๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ IPnet ์žฅ์น˜๋Š” ์—ฌ์ „ํžˆ ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค.
  • Siemens๊ฐ€ ์ง€์›ํ•˜๋Š” Nucleus NET TCP/IP ์Šคํƒ์—์„œ 6๊ฐœ์˜ ์ทจ์•ฝ์ ์ด ํ™•์ธ๋˜์—ˆ์œผ๋ฉฐ, ๊ทธ ์ค‘ XNUMX๊ฐœ๋Š” ์›๊ฒฉ ์ฝ”๋“œ ์‹คํ–‰์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๊ณ  XNUMX๊ฐœ๋Š” ์„œ๋น„์Šค ๊ฑฐ๋ถ€๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์œ„ํ—˜ํ•œ ๋ฌธ์ œ๋Š” ์••์ถ•๋œ DNS ๋ฉ”์‹œ์ง€์˜ ์••์ถ•์„ ํ’€ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์™€ ๊ด€๋ จ์ด ์žˆ๊ณ , ๋‘ ๋ฒˆ์งธ ์œ„ํ—˜ํ•œ ๋ฌธ์ œ๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„ ๋ ˆ์ด๋ธ”์„ ์ž˜๋ชป ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฌธ์ œ ๋ชจ๋‘ ํŠน์ˆ˜ํ•˜๊ฒŒ ํ˜•์‹ํ™”๋œ DNS ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

    ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๋ ค๋ฉด ๊ณต๊ฒฉ์ž๋Š” MTIM ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  DNS ์„œ๋ฒ„์™€ ํ”ผํ•ด์ž ๊ฐ„์˜ ํŠธ๋ž˜ํ”ฝ์„ ๋ฐฉํ•ดํ•˜๋Š” ๋“ฑ ์ทจ์•ฝํ•œ ์žฅ์น˜์—์„œ ๋ณด๋‚ธ ํ•ฉ๋ฒ•์ ์ธ ์š”์ฒญ์— ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ ์‘๋‹ต์„ ๋ณด๋‚ด๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ๋ชจ๋“œ์—์„œ mDNS ์š”์ฒญ์„ ๋ณด๋‚ด ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์žฅ์น˜๋ฅผ ๊ณต๊ฒฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š” DNS ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ThreadX RTOS์šฉ์œผ๋กœ ๊ฐœ๋ฐœ๋˜์–ด ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์— ์ธ์ˆ˜๋œ ํ›„ 2019๋…„์— ๊ณต๊ฐœ๋œ NetX ๋„คํŠธ์›Œํฌ ์Šคํƒ(Azure RTOS NetX)์˜ ์ทจ์•ฝ์ ์€ ์„œ๋น„์Šค ๊ฑฐ๋ถ€๋กœ ์ œํ•œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ํ™•์ธ์ž ๊ตฌํ˜„์—์„œ ์••์ถ•๋œ DNS ๋ฉ”์‹œ์ง€๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ์ค‘ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

DNS ๋ฉ”์‹œ์ง€์˜ ๋ฐ˜๋ณต ๋ฐ์ดํ„ฐ ์••์ถ•๊ณผ ๊ด€๋ จ๋œ ์ทจ์•ฝ์ ์ด ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์€ ํ…Œ์ŠคํŠธ๋œ ๋„คํŠธ์›Œํฌ ์Šคํƒ ์ค‘์—์„œ lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์ด ์ง€์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. , OpenThread ๋ฐ FNET. ๋”์šฑ์ด ์ฒ˜์Œ ๋‘ ๊ฐ€์ง€(Nut/Net ๋ฐ lwIP)๋Š” DNS ๋ฉ”์‹œ์ง€์˜ ์••์ถ•์„ ์ „ํ˜€ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฐ˜๋ฉด, ๋‚˜๋จธ์ง€๋Š” ์˜ค๋ฅ˜ ์—†์ด ์ด ์ž‘์—…์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด์ „์— ๋™์ผํ•œ ์—ฐ๊ตฌ์›์ด Treck, uIP ๋ฐ PicoTCP ์Šคํƒ์—์„œ ์œ ์‚ฌํ•œ ์ทจ์•ฝ์ ์„ ์ด๋ฏธ ์‹๋ณ„ํ•œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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