Cisco๋Š” ๋ฌด๋ฃŒ ๋ฐ”์ด๋Ÿฌ์Šค ๋ฐฑ์‹  ํŒจํ‚ค์ง€ ClamAV 1.0.0์„ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

Cisco๋Š” ๋ฌด๋ฃŒ ์•ˆํ‹ฐ๋ฐ”์ด๋Ÿฌ์Šค ํŒจํ‚ค์ง€์ธ ClamAV 1.0.0์˜ ์ƒˆ๋กœ์šด ์ฃผ์š” ๋ฆด๋ฆฌ์Šค๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ถ„๊ธฐ๋Š” ๊ธฐ์กด์˜ "Major.Minor.Patch" ๋ฆด๋ฆฌ์Šค ๋ฒˆํ˜ธ ์ง€์ •(0.Version.Patch ๋Œ€์‹ )์œผ๋กœ์˜ ์ „ํ™˜์œผ๋กœ ์œ ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๋ฒ„์ „ ๋ณ€๊ฒฝ์€ ๋˜ํ•œ CLAMAV_PUBLIC ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , cl_strerror ํ•จ์ˆ˜์˜ ์ธ์ˆ˜ ์œ ํ˜•์„ ๋ณ€๊ฒฝํ•˜๊ณ , ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— Rust ์–ธ์–ด์— ๋Œ€ํ•œ ๊ธฐํ˜ธ๋ฅผ ํฌํ•จํ•˜์—ฌ ABI ํ˜ธํ™˜์„ฑ์„ ๊นจ๋Š” libclamav ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ClamAV ๋ฐ Snort๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” Sourcefire๋ฅผ ์ธ์ˆ˜ํ•œ ํ›„ 2013๋…„ Cisco์˜ ์†์— ๋„˜์–ด๊ฐ”์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” GPLv2 ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

1.0.0 ๋ธŒ๋žœ์น˜๋Š” ์žฅ๊ธฐ ์ง€์›(LTS)์œผ๋กœ ๋ถ„๋ฅ˜๋˜๋ฉฐ 1.0.0๋…„ ๋™์•ˆ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ClamAV 0.103์˜ ๋ฆด๋ฆฌ์Šค๋Š” ClamAV 2023์˜ ์ด์ „ LTS ๋ถ„๊ธฐ๋ฅผ ๋Œ€์ฒดํ•˜๋ฉฐ, ์ทจ์•ฝ์„ฑ๊ณผ ์ค‘์š”ํ•œ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์ด ํฌํ•จ๋œ ์—…๋ฐ์ดํŠธ๊ฐ€ 4๋…„ 4์›”๊นŒ์ง€ ๋ฆด๋ฆฌ์Šค๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ๋น„ LTS ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋Š” ๋‹ค์Œ ๋ถ„๊ธฐ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค ํ›„ ์ตœ์†Œ XNUMX๊ฐœ์›” ํ›„์— ๊ฒŒ์‹œ๋ฉ๋‹ˆ๋‹ค. non-LTS ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•œ ์„œ๋ช… ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ๋„ ๋‹ค์Œ ๋ธŒ๋žœ์น˜ ์ถœ์‹œ ํ›„ ์ตœ์†Œ XNUMX๊ฐœ์›” ๋™์•ˆ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

ClamAV 1.0์˜ ์ฃผ์š” ๊ฐœ์„  ์‚ฌํ•ญ:

  • ๊ธฐ๋ณธ ์•”ํ˜ธ๋กœ ์•”ํ˜ธํ™”๋œ ์ฝ๊ธฐ ์ „์šฉ OLE2 ๊ธฐ๋ฐ˜ XLS ํŒŒ์ผ์˜ ์•”ํ˜ธ ํ•ด๋…์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ๋Š” ํŒŒ์ผ์˜ ๋ชจ๋“  ์ผ์น˜ ํ•ญ๋ชฉ์ด ๊ฒฐ์ •๋˜๋Š” ์ „์ฒด ์ผ์น˜ ๋ชจ๋“œ์˜ ๊ตฌํ˜„์œผ๋กœ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์Šค์บ”์€ ์ฒซ ๋ฒˆ์งธ ์ผ์น˜ ํ›„ ๊ณ„์†๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ์ฝ”๋“œ๋Š” ๋” ์•ˆ์ •์ ์ด๊ณ  ์œ ์ง€ํ•˜๊ธฐ ์‰ฌ์šด ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ตฌํ˜„์€ ๋˜ํ•œ ์ „์ฒด ์ผ์น˜ ๋ชจ๋“œ์—์„œ ์„œ๋ช…์„ ํ™•์ธํ•  ๋•Œ ๋‚˜ํƒ€๋‚˜๋Š” ์ผ๋ จ์˜ ๊ฐœ๋…์  ๊ฒฐํ•จ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ์ผ์น˜ ๋™์ž‘์˜ ์ •ํ™•์„ฑ์„ ํ™•์ธํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ฝœ๋ฐฑ ํ˜ธ์ถœ clcb_file_inspection()์ด ์•„์นด์ด๋ธŒ์—์„œ ์ถ”์ถœ๋œ ํŒŒ์ผ์„ ํฌํ•จํ•˜์—ฌ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ๊ฒ€์‚ฌํ•˜๋Š” ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด API์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • CVD ํ˜•์‹์˜ ์„œ๋ช… ์•„์นด์ด๋ธŒ ์••์ถ•์„ ํ’€๊ธฐ ์œ„ํ•ด cl_cvdunpack() ํ•จ์ˆ˜๊ฐ€ API์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ClamAV๋กœ ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ณ„๋„์˜ clamav-docker ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋„์ปค ์ด๋ฏธ์ง€์—๋Š” C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์šฉ ํ—ค๋” ํŒŒ์ผ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • PDF ๋ฌธ์„œ์—์„œ ๊ฐœ์ฒด๋ฅผ ์ถ”์ถœํ•  ๋•Œ ์žฌ๊ท€ ์ˆ˜์ค€์„ ์ œํ•œํ•˜๋Š” ๊ฒ€์‚ฌ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ํ• ๋‹น๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์–‘์— ๋Œ€ํ•œ ์ œํ•œ์ด ์ฆ๊ฐ€ํ–ˆ์œผ๋ฉฐ ์ด ์ œํ•œ์„ ์ดˆ๊ณผํ•˜๋ฉด ๊ฒฝ๊ณ ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
  • libclamav-Rust ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ํฌ๊ฒŒ ๊ฐ€์†ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. Rust๋กœ ์ž‘์„ฑ๋œ ClamAV ๋ชจ๋“ˆ์€ ์ด์ œ ClamAV์™€ ๊ณต์œ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์— ๋นŒ๋“œ๋ฉ๋‹ˆ๋‹ค.
  • ZIP ํŒŒ์ผ์—์„œ ์ค‘๋ณต ๋ ˆ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•  ๋•Œ ์ œํ•œ์ด ์™„ํ™”๋˜์–ด ์•ฝ๊ฐ„ ์ˆ˜์ •๋˜์—ˆ์ง€๋งŒ ์•…์˜์ ์ด์ง€ ์•Š์€ JAR ์•„์นด์ด๋ธŒ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ž˜๋ชป๋œ ๊ฒฝ๊ณ ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋นŒ๋“œ๋Š” ์ง€์›๋˜๋Š” LLVM์˜ ์ตœ์†Œ ๋ฐ ์ตœ๋Œ€ ๋ฒ„์ „์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ์˜ค๋ž˜๋˜์—ˆ๊ฑฐ๋‚˜ ๋„ˆ๋ฌด ์ƒˆ๋กœ์šด ๋ฒ„์ „์œผ๋กœ ๋นŒ๋“œํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์ด์ œ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์˜ค๋ฅ˜ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ์ž์ฒด RPATH ๋ชฉ๋ก(๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋กœ๋“œ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ชฉ๋ก)์œผ๋กœ ๋นŒ๋“œ๊ฐ€ ํ—ˆ์šฉ๋˜๋ฏ€๋กœ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ๋นŒ๋“œํ•œ ํ›„ ์‹คํ–‰ ํŒŒ์ผ์„ ๋‹ค๋ฅธ ์œ„์น˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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