DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

Synopsys, Sonatype, Snyk, White Source์—์„œ ๋ฐœํ‘œํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์—ฐ๋ก€ ๋ณด๊ณ ์„œ๊ฐ€ ๋ฐœํ‘œ๋˜๋ฉด์„œ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์—์„œ ํƒ€์‚ฌ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ ๋ถ„์„(English Software Composition Analysis - SCA)์˜ ์ค‘์š”์„ฑ์ด ์ปค์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ์— ๋”ฐ๋ฅด๋ฉด 2020๋…„ ์˜คํ”ˆ ์†Œ์Šค ๋ณด์•ˆ ์ทจ์•ฝ์„ฑ ํ˜„ํ™ฉ 2019๋…„ ์˜คํ”ˆ ์†Œ์Šค์—์„œ ํ™•์ธ๋œ ์ทจ์•ฝ์ ์˜ ์ˆ˜๋Š” ์ „๋…„๋„์— ๋น„ํ•ด ๊ฑฐ์˜ 1.5๋ฐฐ ์ฆ๊ฐ€ํ–ˆ์œผ๋ฉฐ ์˜คํ”ˆ ์†Œ์Šค ๊ตฌ์„ฑ ์š”์†Œ๋Š” ํ”„๋กœ์ ํŠธ์˜ 60%~80%์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋…๋ฆฝ์ ์ธ ์˜๊ฒฌ์œผ๋กœ๋Š” SCA ํ”„๋กœ์„ธ์Šค๋Š” ์„ฑ์ˆ™๋„ ์ง€ํ‘œ๋กœ์„œ OWASP SAMM ๋ฐ BSIMM๊ณผ๋Š” ๋ณ„๋„์˜ ๊ด€ํ–‰์ด๋ฉฐ, 2020๋…„ ์ƒ๋ฐ˜๊ธฐ์— OWASP๋Š” ํƒ€์‚ฌ ๊ฒ€์ฆ์„ ์œ„ํ•œ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ƒˆ๋กœ์šด OWASP SCVS(Software Component Verification Standard)๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ธ‰๋ง์˜ ๊ตฌ์„ฑ ์š”์†Œ BY.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์‚ฌ๋ก€ ์ค‘ ํ•˜๋‚˜ ์ผ์–ด๋‚ฌ๋‹ค 2017๋…„ 143์›” Equifax์™€ ํ•จ๊ป˜. ์•Œ๋ ค์ง€์ง€ ์•Š์€ ๊ณต๊ฒฉ์ž๋“ค์ด ์ „์ฒด ์ด๋ฆ„, ์ฃผ์†Œ, ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ๋ฐ ์šด์ „๋ฉดํ—ˆ์ฆ์„ ํฌํ•จํ•˜์—ฌ ์•ฝ 209์–ต 000๋งŒ ๋ช…์˜ ๋ฏธ๊ตญ์ธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ž…์ˆ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. 2 ๊ฑด์˜ ๋ฌธ์„œ์—๋Š” ํ”ผํ•ด์ž์˜ ์€ํ–‰ ์นด๋“œ์— ๋Œ€ํ•œ ์ •๋ณด๋„ ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์œ ์ถœ์€ Apache Struts 2017(CVE-5638-2017)์˜ ์น˜๋ช…์ ์ธ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•œ ๊ฒฐ๊ณผ ๋ฐœ์ƒํ–ˆ์œผ๋ฉฐ ์ˆ˜์ • ์‚ฌํ•ญ์€ XNUMX๋…„ XNUMX์›”์— ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํšŒ์‚ฌ๋Š” ์—…๋ฐ์ดํŠธ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐ ๋‘ ๋‹ฌ์ด ๊ฑธ๋ ธ์ง€๋งŒ ์•„๋ฌด๋„ ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ๋ถ„์„ ๊ฒฐ๊ณผ์˜ ํ’ˆ์งˆ ์ธก๋ฉด์—์„œ SCA ์ˆ˜ํ–‰ ๋„๊ตฌ๋ฅผ ์„ ํƒํ•˜๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๊ธฐ์˜ ๊ธฐ๋Šฅ ๋น„๊ต๋„ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. CI/CD์— ์ž„๋ฒ ๋”ฉํ•˜๋Š” ๊ณผ์ •๊ณผ ์ฐจํ›„ ์ถœํŒ์„ ์œ„ํ•œ ํ†ตํ•ฉ ๊ธฐํšŒ๋Š” ๋‚จ๊ฒจ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค. OWASP๋Š” ๋‹ค์–‘ํ•œ ๋„๊ตฌ๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์˜ ์›น์‚ฌ์ดํŠธ์—, ๊ทธ๋Ÿฌ๋‚˜ ํ˜„์žฌ ๊ฒ€ํ† ์˜ ์ผ๋ถ€๋กœ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ์ข…์†์„ฑ ๊ฒ€์‚ฌ ๋„๊ตฌ, ์•ฝ๊ฐ„ ๋œ ์•Œ๋ ค์ง„ ์˜คํ”ˆ ์†Œ์Šค ์ข…์†์„ฑ ์ถ”์  ํ”Œ๋žซํผ ๋ฐ Sonatype Nexus IQ Enterprise ์†”๋ฃจ์…˜์— ๋Œ€ํ•ด์„œ๋งŒ ๋‹ค๋ฃฐ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๋Ÿฌํ•œ ์†”๋ฃจ์…˜์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๊ณ  ์˜คํƒ์— ๋Œ€ํ•ด ์–ป์€ ๊ฒฐ๊ณผ๋ฅผ ๋น„๊ตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

์šด์˜ ์›์น™

์ข…์†์„ฑ ํ™•์ธ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์„ ๋ถ„์„ํ•˜๊ณ  ์ข…์†์„ฑ์— ๋Œ€ํ•œ ์ •๋ณด ์กฐ๊ฐ(ํŒจํ‚ค์ง€ ์ด๋ฆ„, ๊ทธ๋ฃน ID, ์‚ฌ์–‘ ์ œ๋ชฉ, ๋ฒ„์ „ ...)์„ ์ˆ˜์ง‘ํ•˜๊ณ  CPE ๋ฌธ์ž์—ด์„ ๋นŒ๋“œํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ(CLI, maven, jenkins ๋ชจ๋“ˆ, ant)์ž…๋‹ˆ๋‹ค. - (Common Platform Enumeration ), ํŒจํ‚ค์ง€ URL( PURL) ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(NVD, Sonatype OSS ์ธ๋ฑ์Šค, NPM ๊ฐ์‚ฌ APIโ€ฆ)์—์„œ CPE/PURL์— ๋Œ€ํ•œ ์ทจ์•ฝ์ ์„ ํƒ์ง€ํ•œ ํ›„ HTML, JSON, XML ํ˜•์‹์œผ๋กœ ์ผํšŒ์„ฑ ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹คโ€ฆ

CPE์˜ ๋ชจ์Šต์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

cpe:2.3:part:vendor:product:version:update:edition:language:sw_edition:target_sw:target_hw:other

  • ๋ถ€ํ’ˆ: ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ(a), ์šด์˜ ์ฒด์ œ(o), ํ•˜๋“œ์›จ์–ด(h)์— ์†ํ•œ๋‹ค๋Š” ํ‘œ์‹œ(ํ•„์ˆ˜ ํ•ญ๋ชฉ)
  • ๊ณต๊ธ‰ ์—…์ฒด : ์ œํ’ˆ ์ œ์กฐ์‚ฌ๋ช… (ํ•„์ˆ˜ํ•ญ๋ชฉ)
  • ์ƒ์„ฑ๋ฌผ: ์ƒํ’ˆ๋ช…(ํ•„์ˆ˜)
  • ๋ฒ„์ „ : ๊ตฌ์„ฑ ์š”์†Œ ๋ฒ„์ „(์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ•ญ๋ชฉ)
  • ์—…๋ฐ์ดํŠธ : ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ
  • ํŒ : ์ƒ์†๋œ ๋ฒ„์ „(์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ•ญ๋ชฉ)
  • ์–ธ์–ด : RFC-5646์— ์ •์˜๋œ ์–ธ์–ด
  • SW ์—๋””์…˜: ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „
  • ๋Œ€์ƒ ์†Œํ”„ํŠธ์›จ์–ด: ์ œํ’ˆ์ด ์‹คํ–‰๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํ™˜๊ฒฝ
  • ๋Œ€์ƒ HW: ์ œํ’ˆ์ด ์‹คํ–‰๋˜๋Š” ํ•˜๋“œ์›จ์–ด ํ™˜๊ฒฝ
  • ๋‹ค๋ฅธ: ๊ณต๊ธ‰์ž ๋˜๋Š” ์ œํ’ˆ ์ •๋ณด

CPE์˜ ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

cpe:2.3:a:pivotal_software:spring_framework:3.0.0:*:*:*:*:*:*:*

๋ฌธ์ž์—ด์€ CPE ๋ฒ„์ „ 2.3์ด ์ œ์กฐ์—…์ฒด์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์„ค๋ช…ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. pivotal_software ์ œ๋ชฉ์œผ๋กœ spring_framework ๋ฒ„์ „ 3.0.0. ์ทจ์•ฝ์ ์„ ์—ด๋ฉด CVE-2014-0225 NVD์—์„œ ์ด CPE์— ๋Œ€ํ•œ ์–ธ๊ธ‰์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰์‹œ ์ฃผ๋ชฉํ•ด์•ผ ํ•  ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ๋Š” CPE์— ๋”ฐ๋ฅด๋ฉด NVD์˜ CVE๊ฐ€ ํŠน์ • ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์•„๋‹Œ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ์„ ๋ณด๊ณ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐœ๋ฐœ์ž๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ์— ๊ธด๋ฐ€ํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ณ  ์‹๋ณ„๋œ ์ทจ์•ฝ์ ์ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“ˆ์— ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€๋Š” ์–ด๋–ป๊ฒŒ๋“  ์ด CVE๋ฅผ ๋ถ„ํ•ดํ•˜๊ณ  ์—…๋ฐ์ดํŠธ๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

URL์€ SCA ๋„๊ตฌ์—์„œ๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€ URL ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

scheme:type/namespace/name@version?qualifiers#subpath

  • ๊ณ„ํš: ์ด๊ฒƒ์ด ํŒจํ‚ค์ง€ URL์ž„์„ ๋‚˜ํƒ€๋‚ด๋Š” 'pkg'๊ฐ€ ํ•ญ์ƒ ์žˆ์Šต๋‹ˆ๋‹ค(ํ•„์ˆ˜).
  • ์œ ํ˜•: ํŒจํ‚ค์ง€์˜ "์œ ํ˜•" ๋˜๋Š” ํŒจํ‚ค์ง€์˜ "ํ”„๋กœํ† ์ฝœ"(์˜ˆ: maven, npm, nuget, gem, pypi ๋“ฑ) (ํ•„์ˆ˜ํ•ญ๋ชฉ)
  • ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค : Maven ๊ทธ๋ฃน ID, Docker ์ด๋ฏธ์ง€ ์†Œ์œ ์ž, GitHub ์‚ฌ์šฉ์ž ๋˜๋Š” ์กฐ์ง๊ณผ ๊ฐ™์€ ์ผ๋ถ€ ์ด๋ฆ„ ์ ‘๋‘์‚ฌ. ์„ ํƒ ์‚ฌํ•ญ์ด๋ฉฐ ์œ ํ˜•์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
  • ์ด๋ฆ„: ํŒจํ‚ค์ง€ ์ด๋ฆ„(ํ•„์ˆ˜)
  • ๋ฒ„์ „ : ํŒจํ‚ค์ง€ ๋ฒ„์ „
  • ์˜ˆ์„  : OS, ์•„ํ‚คํ…์ฒ˜, ๋ฐฐํฌ ๋“ฑ๊ณผ ๊ฐ™์€ ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ž๊ฒฉ ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์„ ํƒ์  ๋ฐ ์œ ํ˜•๋ณ„ ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค.
  • ํ•˜์œ„ ๊ฒฝ๋กœ: ํŒจํ‚ค์ง€์˜ ๋ฃจํŠธ์— ์ƒ๋Œ€์ ์ธ ํŒจํ‚ค์ง€์˜ ์ถ”๊ฐ€ ๊ฒฝ๋กœ

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค

pkg:golang/google.golang.org/genproto#googleapis/api/annotations
pkg:maven/org.apache.commons/[email protected]
pkg:pypi/[email protected]

์ข…์†์„ฑ ์ถ”์  โ€” ์ƒ์„ฑ๋œ ๊ธฐ์„ฑํ’ˆ ๋ช…์„ธ์„œ(BOM)๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ์˜จํ”„๋ ˆ๋ฏธ์Šค ์›น ํ”Œ๋žซํผ ์‚ฌ์ดํด๋ก DX ะธ SPDX์ฆ‰, ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ข…์†์„ฑ์— ๋Œ€ํ•œ ๊ธฐ์„ฑ ์‚ฌ์–‘์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ด๋ฆ„, ํ•ด์‹œ, ํŒจํ‚ค์ง€ URL, ๊ฒŒ์‹œ์ž, ๋ผ์ด์„ผ์Šค์™€ ๊ฐ™์€ ์ข…์†์„ฑ์— ๋Œ€ํ•œ ์„ค๋ช…์ด ํฌํ•จ๋œ XML ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์ข…์†์„ฑ ์ถ”์ ์€ BOM์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ณ  ์ทจ์•ฝ์„ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(NVD, Sonatype OSS Index ...)์—์„œ ์‹๋ณ„๋œ ์ข…์†์„ฑ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” CVE๋ฅผ ํ™•์ธํ•œ ๋‹ค์Œ ๊ทธ๋ž˜ํ”„๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๋ฉ”ํŠธ๋ฆญ์„ ๊ณ„์‚ฐํ•˜๋ฉฐ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ทจ์•ฝ์„ฑ ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. .

BOM์ด XML ํ˜•์‹์œผ๋กœ ํ‘œ์‹œ๋˜๋Š” ์˜ˆ:

<?xml version="1.0" encoding="UTF-8"?>
<bom xmlns="http://cyclonedx.org/schema/bom/1.2" serialNumber="urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" version="1">
  <components>
    <component type="library">
      <publisher>Apache</publisher>
      <group>org.apache.tomcat</group>
      <name>tomcat-catalina</name>
      <version>9.0.14</version>
      <hashes>
        <hash alg="MD5">3942447fac867ae5cdb3229b658f4d48</hash>
        <hash alg="SHA-1">e6b1000b94e835ffd37f4c6dcbdad43f4b48a02a</hash>
        <hash alg="SHA-256">f498a8ff2dd007e29c2074f5e4b01a9a01775c3ff3aeaf6906ea503bc5791b7b</hash>
        <hash alg="SHA-512">e8f33e424f3f4ed6db76a482fde1a5298970e442c531729119e37991884bdffab4f9426b7ee11fccd074eeda0634d71697d6f88a460dce0ac8d627a29f7d1282</hash>
      </hashes>
      <licenses>
        <license>
          <id>Apache-2.0</id>
        </license>
      </licenses>
      <purl>pkg:maven/org.apache.tomcat/[email protected]</purl>
    </component>
      <!-- More components here -->
  </components>
</bom>

BOM์€ ์ข…์†์„ฑ ์ถ”์ ์„ ์œ„ํ•œ ์ž…๋ ฅ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์˜ˆ๋ฅผ ๋“ค์–ด ๊ณ ๊ฐ์—๊ฒŒ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ณต๊ธ‰๋ง์—์„œ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์žฌ๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2014๋…„์—๋Š” ๋ฏธ๊ตญ์—์„œ ๊ฒ€ํ† ๋ฅผ ์œ„ํ•œ ๋ฒ•๋ฅ ์ด ์ œ์•ˆ๋˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ยซ2014๋…„ ์‚ฌ์ด๋ฒ„ ๊ณต๊ธ‰๋ง ๊ด€๋ฆฌ ๋ฐ ํˆฌ๋ช…์„ฑ๋ฒ•ยป, ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ๋งคํ•  ๋•Œ ์–ด๋–ค ์ƒํƒœ๋ผ๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๊ด€์€ ์ทจ์•ฝํ•œ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์‚ฌ์šฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด BOM์„ ์š”์ฒญํ•ด์•ผ ํ•˜์ง€๋งŒ ์ด ๋ฒ•์€ ๋ฐœํšจ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

SCA๋กœ ๋Œ์•„๊ฐ€์„œ ์ข…์†์„ฑ ์ถ”์ ์€ Slack๊ณผ ๊ฐ™์€ ์•Œ๋ฆผ ํ”Œ๋žซํผ, Kenna Security์™€ ๊ฐ™์€ ์ทจ์•ฝ์„ฑ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ๊ณผ ์ฆ‰์‹œ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Dependency Track์€ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋ฒ„์ „์˜ ํŒจํ‚ค์ง€๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ๋ผ์ด์„ผ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค(SPDX ์ง€์›์œผ๋กœ ์ธํ•ด).

SCA์˜ ํ’ˆ์งˆ์— ๋Œ€ํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ์ด์•ผ๊ธฐํ•˜๋ฉด ๊ทผ๋ณธ์ ์ธ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ข…์†์„ฑ ์ถ”์ ์€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„๋“ค์ด์ง€ ์•Š๊ณ  BOM์œผ๋กœ ๋ฐ›์•„๋“ค์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ”„๋กœ์ ํŠธ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด ๋จผ์ € ์˜ˆ๋ฅผ ๋“ค์–ด CycloneDX๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ bom.xml์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ข…์†์„ฑ ์ถ”์ ์€ CycloneDX์— ์ง์ ‘ ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ๋™์‹œ์— ์‚ฌ์šฉ์ž ์ •์˜๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ OZON ํŒ€์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค. CycloneDX ๋ชจ๋“ˆ ์ข…์†์„ฑ ์ถ”์ ์„ ํ†ตํ•ด ์ถ”๊ฐ€ ์Šค์บ”์„ ์œ„ํ•ด Golang ํ”„๋กœ์ ํŠธ์šฉ BOM ํŒŒ์ผ์„ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.

๋„ฅ์„œ์Šค IQ Nexus Repository Manager๋„ ํฌํ•จํ•˜๋Š” Sonatype ์ƒํƒœ๊ณ„์˜ ์ผ๋ถ€์ธ Sonatype์˜ ์ƒ์šฉ SCA ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. Nexus IQ๋Š” ์›น ์ธํ„ฐํŽ˜์ด์Šค ๋˜๋Š” API๋ฅผ ํ†ตํ•œ ์ „์Ÿ ์•„์นด์ด๋ธŒ(Java ํ”„๋กœ์ ํŠธ์šฉ)์™€ ์กฐ์ง์ด CycloneDX์—์„œ ์ƒˆ ์†”๋ฃจ์…˜์œผ๋กœ ์ „ํ™˜ํ•  ์‹œ๊ฐ„์ด ์—†๋Š” ๊ฒฝ์šฐ BOM์„ ๋ชจ๋‘ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค ์†”๋ฃจ์…˜๊ณผ ๋‹ฌ๋ฆฌ IQ๋Š” ์‹๋ณ„๋œ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ CP/PURL๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ•ด๋‹น ์ทจ์•ฝ์„ฑ์„ ์ฐธ์กฐํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž์ฒด ์—ฐ๊ตฌ(์˜ˆ: ์ทจ์•ฝํ•œ ํ•จ์ˆ˜ ๋˜๋Š” ํด๋ž˜์Šค์˜ ์ด๋ฆ„)๋„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค. IQ์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๋‚˜์ค‘์— ๊ฒฐ๊ณผ ๋ถ„์„์—์„œ ๋…ผ์˜๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ์  ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€๋ฅผ ์š”์•ฝํ•˜๊ณ  ๋ถ„์„์„ ์œ„ํ•ด ์ง€์›๋˜๋Š” ์–ธ์–ด๋„ ๊ณ ๋ คํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์–ธ์–ด
๋„ฅ์„œ์Šค IQ
์ข…์†์„ฑ ํ™•์ธ
์ข…์†์„ฑ ์ถ”์ 

์ž๋ฐ”
+
+
+

C / C ++
+
+
-

C#
+
+
-

. NET
+
+
+

์–ผ๋ž‘
-
-
+

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(NodeJS)
+
+
+

PHP
+
+
+

Python
+
+
+

๋ฃจ๋น„
+
+
+

ํŽ„
-
-
-

์Šค์นผ๋ผ
+
+
+

๋ชฉํ‘œ C
+
+
-

๋น ๋ฅธ
+
+
-

R
+
-
-

Go
+
+
+

๊ธฐ๋Šฅ

๊ธฐ๋Šฅ
๋„ฅ์„œ์Šค IQ
์ข…์†์„ฑ ํ™•์ธ
์ข…์†์„ฑ ์ถ”์ 

์†Œ์Šค ์ฝ”๋“œ์— ์‚ฌ์šฉ๋œ ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋ผ์ด์„ ์Šค ์ˆœ๋„๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ
+
-
+

Docker ์ด๋ฏธ์ง€์˜ ์ทจ์•ฝ์  ๋ฐ ๋ผ์ด์„ ์Šค ๋ฌด๊ฒฐ์„ฑ์„ ์Šค์บ”ํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๊ธฐ๋Šฅ
+ ํด๋ ˆ์–ด์™€์˜ ํ†ตํ•ฉ
-
-

์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณด์•ˆ ์ •์ฑ…์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ
+
-
-

์ทจ์•ฝํ•œ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ์˜คํ”ˆ ์†Œ์Šค ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์Šค์บ” ๊ธฐ๋Šฅ
+ RubyGems, Maven, NPM, Nuget, Pypi, Conan, Bower, Conda, Go, p2, R, Yum, Helm, Docker, CocoaPods, Git LFS
-
+ XNUMX ์ง„์ˆ˜, RubyGems, Maven, NPM, Nuget, Pypi

์ „๋‹ด ์—ฐ๊ตฌ ํŒ€์˜ ๊ฐ€์šฉ์„ฑ
+
-
-

ํ์‡„ ํšŒ๋กœ์—์„œ์˜ ์ž‘๋™
+
+
+

ํƒ€์‚ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ
+ ํ์‡„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์†Œ๋‚˜ํƒ€์ž…
+ Sonatype OSS, NPM ๊ณต๊ณต ๊ณ ๋ฌธ
+ Sonatype OSS, NPM Public Advisors, RetireJS, VulnDB, ์ž์ฒด ์ทจ์•ฝ์  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ง€์›

๊ตฌ์„ฑ๋œ ์ •์ฑ…์— ๋”ฐ๋ผ ๊ฐœ๋ฐœ ๋ฃจํ”„์— ์—…๋กœ๋“œ๋ฅผ ์‹œ๋„ํ•  ๋•Œ ์˜คํ”ˆ ์†Œ์Šค ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋Š” ๊ธฐ๋Šฅ
+
-
-

์ทจ์•ฝ์  ์ˆ˜์ •์— ๋Œ€ํ•œ ๊ถŒ์žฅ ์‚ฌํ•ญ, ์ˆ˜์ • ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋งํฌ ๊ฐ€์šฉ์„ฑ
+
+- (๊ณต๊ฐœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์„ค๋ช…์— ๋”ฐ๋ผ ๋‹ค๋ฆ„)
+- (๊ณต๊ฐœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์„ค๋ช…์— ๋”ฐ๋ผ ๋‹ค๋ฆ„)

๋ฐœ๊ฒฌ๋œ ์ทจ์•ฝ์ ์˜ ์ค‘์š”๋„๋ณ„ ์ˆœ์œ„
+
+
+

์—ญํ•  ์•ก์„ธ์Šค ๋ชจ๋ธ
+
-
+

CLI ์ง€์›
+
+
+- (CycloneDX๋งŒ ํ•ด๋‹น)

์ •์˜๋œ ๊ธฐ์ค€์— ๋”ฐ๋ผ ์ทจ์•ฝ์  ์„ ํƒ/์ •๋ ฌ
+
-
+

์‹ ์ฒญ ์ƒํƒœ๋ณ„ ๋Œ€์‹œ๋ณด๋“œ
+
-
+

PDF ํ˜•์‹์˜ ๋ณด๊ณ ์„œ ์ƒ์„ฑ
+
-
-

JSONCSV ํ˜•์‹์˜ ๋ณด๊ณ ์„œ ์ƒ์„ฑ
+
+
-

๋Ÿฌ์‹œ์•„์–ด ์ง€์›
-
-
-

ํ†ตํ•ฉ ์˜ต์…˜

ะ˜ะฝั‚ะตะณั€ะฐั†ะธั
๋„ฅ์„œ์Šค IQ
์ข…์†์„ฑ ํ™•์ธ
์ข…์†์„ฑ ์ถ”์ 

LDAP/์•กํ‹ฐ๋ธŒ ๋””๋ ‰ํ† ๋ฆฌ์™€ ํ†ตํ•ฉ
+
-
+

Bamboo ์ง€์†์  ํ†ตํ•ฉ ํ†ตํ•ฉ
+
-
-

์ง€์†์  ํ†ตํ•ฉ ์‹œ์Šคํ…œ๊ณผ์˜ ํ†ตํ•ฉ(Continuous integration) TeamCity
+
-
-

์ง€์†์  ํ†ตํ•ฉ ์‹œ์Šคํ…œ๊ณผ์˜ ํ†ตํ•ฉ(์ง€์†์  ํ†ตํ•ฉ) GitLab
+
+- (GitLab์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ)
+

์ง€์†์  ํ†ตํ•ฉ ์‹œ์Šคํ…œ๊ณผ์˜ ํ†ตํ•ฉ(Continuous integration) Jenkins
+
+
+

IDE ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ฐ€์šฉ์„ฑ
+ ์ธํ…”๋ฆฌJ, ์ดํด๋ฆฝ์Šค, ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค
-
-

๋„๊ตฌ์˜ ์›น ์„œ๋น„์Šค(API)๋ฅผ ํ†ตํ•œ ๋งž์ถคํ˜• ํ†ตํ•ฉ ์ง€์›
+
-
+

์ข…์†์„ฑ ํ™•์ธ

์ฒ˜์Œ ์‹œ์ž‘

์˜๋„์ ์œผ๋กœ ์ทจ์•ฝํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ข…์†์„ฑ ๊ฒ€์‚ฌ ์‹คํ–‰ DVJA.

์ด๋ฅผ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ์ข…์†์„ฑ ๊ฒ€์‚ฌ Maven ํ”Œ๋Ÿฌ๊ทธ์ธ:

mvn org.owasp:dependency-check-maven:check

๊ฒฐ๊ณผ์ ์œผ๋กœ dependency-check-report.html์ด ๋Œ€์ƒ ๋””๋ ‰ํ† ๋ฆฌ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

ํŒŒ์ผ์„ ์—ด์–ด๋ด…์‹œ๋‹ค. ์ด ์ทจ์•ฝ์  ์ˆ˜๋ฅผ ์š”์•ฝํ•œ ํ›„ ํŒจํ‚ค์ง€, CPE, CVE ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋†’์€ ์ˆ˜์ค€์˜ Severity and Confidence๋กœ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ ๊ฒฐ์ •์ด ๋‚ด๋ ค์ง„ ๊ทผ๊ฑฐ(์ฆ๊ฑฐ), ์ฆ‰ ํŠน์ • BOM์— ๋”ฐ๋ผ ๋” ์ž์„ธํ•œ ์ •๋ณด๊ฐ€ ์ด์–ด์ง‘๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

๋‹ค์Œ์€ CPE, PURL ๋ฐ CVE์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ์ˆ˜์ • ๊ถŒ์žฅ ์‚ฌํ•ญ์€ NVD ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ฒจ๋ถ€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

๊ฒ€์‚ฌ ๊ฒฐ๊ณผ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ๋ณด๋ ค๋ฉด ์ตœ์†Œํ•œ์˜ ์„ค์ •์œผ๋กœ Nginx๋ฅผ ๊ตฌ์„ฑํ•˜๊ฑฐ๋‚˜ ์ˆ˜์‹ ๋œ ๊ฒฐํ•จ์„ Dependency Check ์ปค๋„ฅํ„ฐ๋ฅผ ์ง€์›ํ•˜๋Š” ๊ฒฐํ•จ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์œผ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒฐํ•จ ๋„์žฅ์ž…๋‹ˆ๋‹ค.

์ข…์†์„ฑ ์ถ”์ 

์„ค์น˜

Dependency Track์€ ๋””์Šคํ”Œ๋ ˆ์ด ๊ทธ๋ž˜ํ”„๊ฐ€ ์žˆ๋Š” ์›น ๊ธฐ๋ฐ˜ ํ”Œ๋žซํผ์ด๋ฏ€๋กœ ํƒ€์‚ฌ ์†”๋ฃจ์…˜์— ๊ฒฐํ•จ์„ ์ €์žฅํ•˜๋Š” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
์ง€์›๋˜๋Š” ์„ค์น˜ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. Docker, WAR, ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ WAR.

์ฒ˜์Œ ์‹œ์ž‘

์‹คํ–‰ ์ค‘์ธ ์„œ๋น„์Šค์˜ URL๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. admin / admin์„ ํ†ตํ•ด ์ž…๋ ฅํ•˜๊ณ  ๋กœ๊ทธ์ธ ๋ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•œ ํ›„ ๋Œ€์‹œ๋ณด๋“œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ํ•  ์ผ์€ ๋‹ค์Œ์—์„œ Java ํ…Œ์ŠคํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ™ˆ/ํ”„๋กœ์ ํŠธ โ†’ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ . DVJA๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

์ข…์†์„ฑ ์ถ”์ ์€ BOM๋งŒ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด BOM์„ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜์ž CycloneDX ๋ฉ”์ด๋ธ ํ”Œ๋Ÿฌ๊ทธ์ธ:

mvn org.cyclonedx:cyclonedx-maven-plugin:makeAggregateBom

bom.xml์„ ๊ฐ€์ ธ์™€ ์ƒ์„ฑ๋œ ํ”„๋กœ์ ํŠธ์— ํŒŒ์ผ์„ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. DVJA โ†’ ์ข…์†์„ฑ โ†’ BOM ์—…๋กœ๋“œ.

๊ด€๋ฆฌ โ†’ ๋ถ„์„๊ธฐ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. NVD๋ฅผ ํฌํ•จํ•˜๋Š” Internal Analyzer๋งŒ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Sonatype OSS Index๋„ ์—ฐ๊ฒฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

๋”ฐ๋ผ์„œ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ๋‹ค์Œ ๊ทธ๋ฆผ์„ ์–ป์Šต๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

๋˜ํ•œ ๋ชฉ๋ก์—์„œ Sonatype OSS์— ์ ์šฉ ๊ฐ€๋Šฅํ•œ ํ•˜๋‚˜์˜ ์ทจ์•ฝ์ ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

์ฃผ๋œ ์‹ค๋ง์€ ์ข…์†์„ฑ ์ถ”์ ์ด ๋” ์ด์ƒ ์ข…์†์„ฑ ๊ฒ€์‚ฌ xml ๋ณด๊ณ ์„œ๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Dependency Check ํ†ตํ•ฉ์˜ ์ตœ์‹  ์ง€์› ๋ฒ„์ „์€ 1.0.0 - 4.0.2์˜€์œผ๋ฉฐ 5.3.2๋ฅผ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— ๋น„๋””์˜ค (๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์—) ์—ฌ์ „ํžˆ ๊ฐ€๋Šฅํ–ˆ์„ ๋•Œ.

๋„ฅ์„œ์Šค IQ

์ฒ˜์Œ ์‹œ์ž‘

Nexus IQ ์„ค์น˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์•„์นด์ด๋ธŒ์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์„ ์  ์„œ๋ฅ˜ ๋น„์น˜, ํ•˜์ง€๋งŒ ์ด ๋ชฉ์ ์„ ์œ„ํ•ด Docker ์ด๋ฏธ์ง€๋ฅผ ์ปดํŒŒ์ผํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฝ˜์†”์— ๋กœ๊ทธ์ธํ•œ ํ›„ ์กฐ์ง ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

๋ณด์‹œ๋‹ค์‹œํ”ผ IQ์˜ ๊ฒฝ์šฐ ๊ตฌ์„ฑ์€ ๋‹ค์†Œ ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ "๋‹จ๊ณ„"(๊ฐœ๋ฐœ, ๊ตฌ์ถ•, ๋‹จ๊ณ„, ๋ฆด๋ฆฌ์Šค)์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ •์ฑ…๋„ ๋งŒ๋“ค์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ทจ์•ฝํ•œ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ํ”„๋กœ๋•์…˜ ํŒŒ์ดํ”„๋ผ์ธ์— ๋” ๊ฐ€๊นŒ์›Œ์งˆ ๋•Œ ์ฐจ๋‹จํ•˜๊ฑฐ๋‚˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹ค์šด๋กœ๋“œํ•  ๋•Œ Nexus Repo์— ๋“ค์–ด๊ฐ€๋Š” ์ฆ‰์‹œ ์ฐจ๋‹จํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์˜คํ”ˆ์†Œ์Šค์™€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์˜ ์ฐจ์ด๋ฅผ ๋Š๋ผ๊ธฐ ์œ„ํ•ด ๋„ฅ์„œ์Šค IQ๋ฅผ ํ†ตํ•ด ๋™์ผํ•œ ์Šค์บ”์„ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰ํ•ด๋ณด์ž. Maven ํ”Œ๋Ÿฌ๊ทธ์ธ, ์ด์ „์— NexusIQ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ํ…Œ์ŠคํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. dvja-test-and-compare:

mvn com.sonatype.clm:clm-maven-plugin:evaluate -Dclm.applicationId=dvja-test-and-compare -Dclm.serverUrl=<NEXUSIQIP> -Dclm.username=<USERNAME> -Dclm.password=<PASSWORD>

IQ ์›น ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ƒ์„ฑ๋œ ๋ณด๊ณ ์„œ์˜ URL์„ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

์—ฌ๊ธฐ์—์„œ ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€์ด ๋‹ค๋ฅธ ๋ชจ๋“  ์ •์ฑ… ์œ„๋ฐ˜์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ •๋ณด์—์„œ ๋ณด์•ˆ์— ์ค‘์š”๊นŒ์ง€). ์ปดํฌ๋„ŒํŠธ ์˜†์˜ ๋ฌธ์ž D๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ง์ ‘ ์ข…์†์„ฑ์„ ์˜๋ฏธํ•˜๊ณ , ์ปดํฌ๋„ŒํŠธ ์˜†์˜ ๋ฌธ์ž T๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ „์ด์  ์ข…์†์„ฑ, ์ฆ‰ ์ „์ด์ ์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ๋ณด๊ณ ์„œ ์˜คํ”ˆ ์†Œ์Šค ๋ณด์•ˆ ํ˜„ํ™ฉ ๋ณด๊ณ ์„œ 2020 Snyk์˜ ๋ณด๊ณ ์— ๋”ฐ๋ฅด๋ฉด Node.js, Java ๋ฐ Ruby์—์„œ ๋ฐœ๊ฒฌ๋œ ์˜คํ”ˆ ์†Œ์Šค ์ทจ์•ฝ์ ์˜ 70% ์ด์ƒ์ด ์ „์ด ์ข…์†์„ฑ์— ์žˆ์Šต๋‹ˆ๋‹ค.

Nexus IQ ์ •์ฑ… ์œ„๋ฐ˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์—ด๋ฉด ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ์„ค๋ช…๊ณผ ์‹œ๊ฐ„ ๊ทธ๋ž˜ํ”„์—์„œ ํ˜„์žฌ ๋ฒ„์ „์˜ ์œ„์น˜์™€ ์ทจ์•ฝ์ ์ด ์ค‘๋‹จ๋˜๋Š” ์‹œ์ ์„ ๋ณด์—ฌ์ฃผ๋Š” ๋ฒ„์ „ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ทจ์•ฝํ•˜๋‹ค. ๊ทธ๋ž˜ํ”„์˜ ์–‘์ดˆ ๋†’์ด๋Š” ์ด ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ธ๊ธฐ๋„๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

์ทจ์•ฝ์  ์„น์…˜์œผ๋กœ ์ด๋™ํ•˜์—ฌ CVE๋ฅผ ์—ด๋ฉด ์ด ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์„ค๋ช…, ์ˆ˜์ • ๊ถŒ์žฅ ์‚ฌํ•ญ, ์ด ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์œ„๋ฐ˜๋œ ์ด์œ , ์ฆ‰ ํด๋ž˜์Šค์˜ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DiskFileitem.class.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

js ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ํƒ€์‚ฌ Java ๊ตฌ์„ฑ ์š”์†Œ๋งŒ ์š”์•ฝํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ด„ํ˜ธ ์•ˆ์—๋Š” NVD ์™ธ๋ถ€์—์„œ ๋ฐœ๊ฒฌ๋œ ์ทจ์•ฝ์ ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

์ด ๋„ฅ์„œ์Šค IQ:

  • ์Šค์บ”๋œ ์ข…์†์„ฑ: 62
  • ์ทจ์•ฝํ•œ ์ข…์†์„ฑ: 16
  • ๋ฐœ๊ฒฌ๋œ ์ทจ์•ฝ์ : 42๊ฐœ(8 sonatype db)

์ „์ฒด ์ข…์†์„ฑ ํ™•์ธ:

  • ์Šค์บ”๋œ ์ข…์†์„ฑ: 47
  • ์ทจ์•ฝํ•œ ์ข…์†์„ฑ: 13
  • ๋ฐœ๊ฒฌ๋œ ์ทจ์•ฝ์ : 91 (14 sonatype oss)

์ „์ฒด ์ข…์†์„ฑ ์ถ”์ :

  • ์Šค์บ”๋œ ์ข…์†์„ฑ: 59
  • ์ทจ์•ฝํ•œ ์ข…์†์„ฑ: 10
  • ๋ฐœ๊ฒฌ๋œ ์ทจ์•ฝ์ : 51 (1 sonatype oss)

๋‹ค์Œ ๋‹จ๊ณ„๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋Ÿฌํ•œ ์ทจ์•ฝ์  ์ค‘ ์–ด๋–ค ๊ฒƒ์ด ์‹ค์ œ ๊ฒฐํ•จ์ด๊ณ  ์–ด๋–ค ๊ฒƒ์ด ๊ฑฐ์ง“ ๊ธ์ •์ธ์ง€ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ถ€์ธ ์„ฑ๋ช…

์ด ๋ฆฌ๋ทฐ๋Š” ๋ช…๋ฐฑํ•œ ์‚ฌ์‹ค์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ €์ž๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ๋ฐฐ๊ฒฝ์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ์•…๊ธฐ๋ฅผ ๊ณจ๋ผ๋‚ด๋Š” ๋ชฉํ‘œ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒ€ํ† ์˜ ๋ชฉ์ ์€ SCA ๋„๊ตฌ์˜ ์ž‘๋™ ๋ฐฉ์‹๊ณผ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ ๋น„๊ต

์ด์šฉ ์•ฝ๊ด€ :

ํƒ€์‚ฌ ๊ตฌ์„ฑ ์š”์†Œ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ๊ฑฐ์ง“ ๊ธ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์‹๋ณ„๋œ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ CVE ๋ถˆ์ผ์น˜
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ทจ์•ฝ์ ์ด struts2 ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ๋ฐœ๊ฒฌ๋˜๊ณ  ๋„๊ตฌ๊ฐ€ ์ด ์ทจ์•ฝ์ ์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š” struts-tiles ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒฝ์šฐ ์ด๋Š” ๊ฑฐ์ง“ ๊ธ์ •์ž…๋‹ˆ๋‹ค.
  • ๊ฐ์ง€๋œ ๊ตฌ์„ฑ์š”์†Œ ๋ฒ„์ „๊ณผ CVE ๋ถˆ์ผ์น˜
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด ์ทจ์•ฝ์„ฑ์€ Python ๋ฒ„์ „ > 3.5์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋„๊ตฌ๋Š” ๋ฒ„์ „ 2.7์„ ์ทจ์•ฝํ•œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ด ์ทจ์•ฝ์„ฑ์€ 3.x ์ œํ’ˆ ๋ถ„๊ธฐ์—๋งŒ ์ ์šฉ๋˜๋ฏ€๋กœ ์ด๋Š” ์ž˜๋ชป๋œ ๊ธ์ •์ž…๋‹ˆ๋‹ค.
  • CVE ๋ณต์ œ
  • ์˜ˆ๋ฅผ ๋“ค์–ด SCA๊ฐ€ RCE ๊ตฌํ˜„์„ ํ—ˆ์šฉํ•˜๋Š” CVE๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒฝ์šฐ SCA๋Š” ํ•ด๋‹น RCE๊ฐ€ ์ ์šฉ๋˜๋Š” Cisco ์ œํ’ˆ์— ์ ์šฉ๋˜๋Š” ๋™์ผํ•œ CVE๋ฅผ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๊ฑฐ์ง“ ๊ธ์ •์ด ๋ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด spring-web ๊ตฌ์„ฑ ์š”์†Œ์—์„œ CVE๊ฐ€ ๋ฐœ๊ฒฌ๋œ ํ›„ SCA๋Š” Spring Framework์˜ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ์—์„œ ๋™์ผํ•œ CVE๋ฅผ ๊ฐ€๋ฆฌํ‚ค์ง€๋งŒ CVE๋Š” ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๊ฑฐ์ง“ ๊ธ์ •์ด ๋ฉ๋‹ˆ๋‹ค.

์—ฐ๊ตฌ ๋Œ€์ƒ์€ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ DVJA์ž…๋‹ˆ๋‹ค. ์ด ์—ฐ๊ตฌ์—๋Š” js๊ฐ€ ์—†๋Š” ์ž๋ฐ” ๊ตฌ์„ฑ ์š”์†Œ๋งŒ ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์š”์•ฝ ๊ฒฐ๊ณผ

์‹๋ณ„๋œ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ˆ˜๋™ ๊ฒ€ํ†  ๊ฒฐ๊ณผ๋กœ ์ด๋™ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ CVE์— ๋Œ€ํ•œ ์ „์ฒด ๋ณด๊ณ ์„œ๋Š” ๋ถ€๋ก์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์š”์•ฝ ๊ฒฐ๊ณผ:

๋งค๊ฐœ ๋ณ€์ˆ˜
๋„ฅ์„œ์Šค IQ
์ข…์†์„ฑ ํ™•์ธ
์ข…์†์„ฑ ์ถ”์ 

์‹๋ณ„๋œ ์ด ์ทจ์•ฝ์ 
42
91
51

์ž˜๋ชป ์‹๋ณ„๋œ ์ทจ์•ฝ์ (๊ฐ€์–‘์„ฑ)
2 (4.76 %)
62 (68,13 %)
29 (56.86 %)

๊ด€๋ จ๋œ ์ทจ์•ฝ์ ์ด ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์Œ(๊ฑฐ์ง“ ์Œ์„ฑ)
10
20
27

๊ตฌ์„ฑ ์š”์†Œ๋ณ„ ์š”์•ฝ ๊ฒฐ๊ณผ:

๋งค๊ฐœ ๋ณ€์ˆ˜
๋„ฅ์„œ์Šค IQ
์ข…์†์„ฑ ํ™•์ธ
์ข…์†์„ฑ ์ถ”์ 

๊ณต๊ฐœ๋œ ์ด ๊ตฌ์„ฑ ์š”์†Œ
62
47
59

์ „์ฒด ์ทจ์•ฝ ๊ตฌ์„ฑ ์š”์†Œ
16
13
10

์ทจ์•ฝํ•œ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์ž˜๋ชป ์‹๋ณ„๋จ(๊ฐ€์–‘์„ฑ)
1
5
0

์ทจ์•ฝํ•œ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์ž˜๋ชป ์‹๋ณ„๋จ(๊ฐ€์–‘์„ฑ)
0
6
6

์ „์ฒด ์ทจ์•ฝ์  ์ˆ˜์— ๋Œ€ํ•œ ๊ฑฐ์ง“ ๊ธ์ • ๋ฐ ๊ฑฐ์ง“ ๋ถ€์ •์˜ ๋น„์œจ์„ ์ถ”์ •ํ•˜๋Š” ์‹œ๊ฐ์  ๊ทธ๋ž˜ํ”„๋ฅผ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๊ฐ€๋กœ๋กœ ํ‘œ์‹œ๋˜๊ณ  ๊ตฌ์„ฑ ์š”์†Œ์—์„œ ์‹๋ณ„๋œ ์ทจ์•ฝ์ ์€ ์„ธ๋กœ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

์ด์— ๋น„ํ•ด Sonatype ํŒ€์€ OWASP ์ข…์†์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 1531๊ฐœ ๊ตฌ์„ฑ ์š”์†Œ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ์œ ์‚ฌํ•œ ์—ฐ๊ตฌ๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ์˜ฌ๋ฐ”๋ฅธ ์‘๋‹ต์— ๋Œ€ํ•œ ๋…ธ์ด์ฆˆ์˜ ๋น„์œจ์€ ๊ฒฐ๊ณผ์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€
์ถœ์ฒ˜ : www.sonatype.com/why-precision-matters-ebook

์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ์˜ ์ด์œ ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์Šค์บ” ๊ฒฐ๊ณผ์—์„œ ์ผ๋ถ€ CVE๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋”

โ„– 1

๋จผ์ € Sonatype Nexus IQ์˜ ๋ช‡ ๊ฐ€์ง€ ํฅ๋ฏธ๋กœ์šด ์ ์„ ๋ถ„์„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Nexus IQ๋Š” Spring Framework์—์„œ RCE๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์—ญ์ง๋ ฌํ™” ๋ฌธ์ œ๋ฅผ ์ง€์ ํ•ฉ๋‹ˆ๋‹ค. CVE-2016-1000027 in spring-web:3.0.5 ์ฒ˜์Œ์œผ๋กœ, CVE-2011-2894 in spring-context:3.0.5 and spring-core:3.0.5. ์ฒ˜์Œ์—๋Š” ์—ฌ๋Ÿฌ CVE์— ๊ฑธ์ณ ์ทจ์•ฝ์ ์ด ์ค‘๋ณต๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. NVD ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ CVE-2016-1000027 ๋ฐ CVE-2011-2894๋ฅผ ๋ณด๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ๋ถ„๋ช…ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ์š”์†Œ
์ทจ์•ฝ์ 

์Šคํ”„๋ง ์›น:3.0.5
CVE-2016-1000027

์Šคํ”„๋ง ์ปจํ…์ŠคํŠธ:3.0.5
CVE-2011-2894

์Šคํ”„๋ง ์ฝ”์–ด:3.0.5
CVE-2011-2894

๊ธฐ์ˆ  CVE-2011-2894 nvd์—์„œ:
DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

๊ธฐ์ˆ  CVE-2016-1000027 nvd์—์„œ:
DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

CVE-2011-2894๋Š” ๊ทธ ์ž์ฒด๋กœ ์ž˜ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ์—์„œ 2011๋…„ ํ™”์ดํŠธ ์†Œ์Šค ์ด CVE๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๊ฒƒ์œผ๋กœ ์ธ์‹๋˜์—ˆ์Šต๋‹ˆ๋‹ค. CVE-2016-100027์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์›์น™์ ์œผ๋กœ NVD์—์„œ๋Š” ๊ฑฐ์˜ ์—†๊ณ  Spring Framework 4.1.4์—๋งŒ ํ•ด๋‹น๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค. ํ•œ๋ฒˆ ์‚ดํŽด๋ณด์ž ์ฐธ๊ณ  ์—ฌ๊ธฐ์—์„œ ๋‹ค์†Œ ๋ช…ํ™•ํ•ด์ง‘๋‹ˆ๋‹ค. ์—์„œ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์‚ฌ ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ์˜ ์ทจ์•ฝ์„ฑ ์™ธ์—๋„ RemoteInvocationSerializingExporter CVE-2011-2894์—์„œ ์ทจ์•ฝ์ ์€ HttpInvokerServiceExporter. ์ด๊ฒƒ์ด Nexus IQ๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

๊ทธ๋Ÿฌ๋‚˜ NVD์—๋Š” ์ด์™€ ๊ฐ™์€ ๊ฒƒ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— Dependency Check ๋ฐ Dependency Track์ด ์ž˜๋ชป๋œ ์Œ์„ฑ์„ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ CVE-2011-2894์˜ ์„ค๋ช…์—์„œ ์ทจ์•ฝ์ ์ด ์‹ค์ œ๋กœ spring-context:3.0.5 ๋ฐ spring-core:3.0.5 ๋ชจ๋‘์— ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ํ™•์ธ์€ ์ด ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ•œ ์‚ฌ๋žŒ์˜ ๊ธฐ์‚ฌ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ„– 2

๊ตฌ์„ฑ ์š”์†Œ
์ทจ์•ฝ์ 
๊ฒฐ๊ณผ

struts2-์ฝ”์–ด:2.3.30
CVE-2016-4003
๊ทธ๋ฆ‡๋œ

CVE-2016-4003 ์ทจ์•ฝ์ ์„ ์—ฐ๊ตฌํ•˜๋ฉด ๋ฒ„์ „ 2.3.28์—์„œ ์ˆ˜์ •๋˜์—ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์ง€๋งŒ Nexus IQ๋Š” ์ด์— ๋Œ€ํ•ด ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์ทจ์•ฝ์  ์„ค๋ช…์— ๋ฉ”๋ชจ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

DevSecOps: SCA์˜ ์ž‘๋™ ๋ฐ ๋น„๊ต ์›์น™. XNUMX๋ถ€

์ฆ‰, ์ทจ์•ฝ์ ์€ ๊ฒฝ๊ณ ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ ์˜ค๋ž˜๋œ ๋ฒ„์ „์˜ JRE์™€ ๊ด€๋ จํ•ด์„œ๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ฐ€์žฅ ๋”์ฐํ•˜์ง€๋Š” ์•Š์ง€๋งŒ False Positive๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค.

โ„– 3

๊ตฌ์„ฑ ์š”์†Œ
์ทจ์•ฝ์ 
๊ฒฐ๊ณผ

xwork-core:2.3.30
CVE-2017-9804
TRUE

xwork-core:2.3.30
CVE-2017-7672
๊ทธ๋ฆ‡๋œ

CVE-2017-9804 ๋ฐ CVE-2017-7672์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ณด๋ฉด ๋ฌธ์ œ๊ฐ€ ๋‹ค์Œ์— ์žˆ์Œ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. URLValidator class, CVE-2017-9804๋Š” CVE-2017-7672์—์„œ ์œ ๋ž˜ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ์ทจ์•ฝ์ ์˜ ์กด์žฌ๋Š” ์‹ฌ๊ฐ๋„๊ฐ€ ๋†’์Œ์œผ๋กœ ๋†’์•„์ง„ ๊ฒƒ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ํŽ˜์ด๋กœ๋“œ๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ถˆํ•„์š”ํ•œ ๋…ธ์ด์ฆˆ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ „๋ฐ˜์ ์œผ๋กœ Nexus IQ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ์˜คํƒ์ง€๋Š” ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

โ„– 4

IQ๊ฐ€ ๋‹ค๋ฅธ ์†”๋ฃจ์…˜๊ณผ ์ฐจ๋ณ„ํ™”๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ์š”์†Œ
์ทจ์•ฝ์ 
๊ฒฐ๊ณผ

์Šคํ”„๋ง ์›น:3.0.5
CVE-2020-5398
TRUE

NVD์˜ CVE๋Š” ๋ฒ„์ „ 5.2.x ~ 5.2.3, 5.1.x ~ 5.1.13, ๋ฒ„์ „ 5.0.x ~ 5.0.16์—๋งŒ ์ ์šฉ๋œ๋‹ค๊ณ  ๋‚˜์™€ ์žˆ์ง€๋งŒ Nexus IQ์˜ CVE ์„ค๋ช…์„ ๋ณด๋ฉด ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
๊ถŒ๊ณ  ํŽธ์ฐจ ์•Œ๋ฆผ: Sonatype ๋ณด์•ˆ ์—ฐ๊ตฌํŒ€์€ ์ด ์ทจ์•ฝ์ ์ด ๊ถŒ๊ณ ์— ๋ช…์‹œ๋œ 3.0.2.x๊ฐ€ ์•„๋‹Œ 5.0.RELEASE ๋ฒ„์ „์—์„œ ๋„์ž…๋˜์—ˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ๋‹ค์Œ์—๋Š” ์ด ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ PoC๊ฐ€ ์žˆ์œผ๋ฉฐ ๋ฒ„์ „ 3.0.5์— ์กด์žฌํ•œ๋‹ค๊ณ  ๋ช…์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

False Negative๋Š” ์ข…์†์„ฑ ๊ฒ€์‚ฌ ๋ฐ ์ข…์†์„ฑ ์ถ”์ ์œผ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

โ„– 5

์ข…์†์„ฑ ํ™•์ธ ๋ฐ ์ข…์†์„ฑ ์ถ”์ ์— ๋Œ€ํ•œ ๊ฑฐ์ง“ ๊ธ์ •์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Dependency Check๋Š” NVD์—์„œ ์ „์ฒด ํ”„๋ ˆ์ž„์›Œํฌ์— ์ ์šฉ๋˜๋Š” CVE๋ฅผ ํ•ด๋‹น CVE๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๊ตฌ์„ฑ ์š”์†Œ์— ๋ฐ˜์˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ˆˆ์— ๋•๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ CVE-2012-0394, CVE-2013-2115, CVE-2014-0114, CVE-2015-0899, CVE-2015-2992, CVE-2016-1181, CVE-2016-1182์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. "๋ฅผ struts-taglib:1.3.8 ๋ฐ struts-tiles-1.3.8๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋Š” CVE์— ์„ค๋ช…๋œ ์š”์ฒญ ์ฒ˜๋ฆฌ, ํŽ˜์ด์ง€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋“ฑ๊ณผ๋Š” ์•„๋ฌด ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ด๋Ÿฌํ•œ CVE์™€ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์— ํ”„๋ ˆ์ž„์›Œํฌ๋งŒ ๊ณตํ†ต์ ์ด๋ผ๋Š” ์‚ฌ์‹ค ๋•Œ๋ฌธ์ด๋ฉฐ, ์ด๊ฒƒ์ด ์ข…์†์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ทจ์•ฝ์ ์œผ๋กœ ๊ฐ„์ฃผํ•œ ์ด์œ ์ž…๋‹ˆ๋‹ค.

spring-tx:3.0.5์™€ ๊ฐ™์€ ์ƒํ™ฉ์ด๊ณ  struts-core:1.3.8๊ณผ ๋น„์Šทํ•œ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค. struts-core์˜ ๊ฒฝ์šฐ Dependency Check ๋ฐ Dependency Track์—์„œ ๋ณธ์งˆ์ ์œผ๋กœ ๋ณ„๋„์˜ ํ”„๋ ˆ์ž„์›Œํฌ์ธ struts2-core์— ์‹ค์ œ๋กœ ์ ์šฉ๋˜๋Š” ๋งŽ์€ ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ Nexus IQ๋Š” ๊ทธ๋ฆผ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ดํ•ดํ–ˆ์œผ๋ฉฐ ๋ฐœํ–‰ํ•œ CVE์—์„œ struts-core์˜ ์ˆ˜๋ช…์ด ์ข…๋ฃŒ๋˜์—ˆ์œผ๋ฉฐ struts2-core๋กœ ์ „ํ™˜ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ‘œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

โ„– 6

๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋ช…์‹œ์  ์ข…์†์„ฑ ํ™•์ธ ๋ฐ ์ข…์†์„ฑ ์ถ”์  ์˜ค๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ณตํ‰ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ์ข…์†์„ฑ ๊ฒ€์‚ฌ ๋ฐ ์ข…์†์„ฑ ์ถ”์ ์ธ CVE-2013-4152, CVE-2013-6429, CVE-2013-6430, CVE-2013-7315, CVE-2014-0054, CVE-2014-0225, CVE-2014-0225 spring-core:3.0.5๋ผ๊ณ  ํ•˜๋ฉด ์‹ค์ œ๋กœ๋Š” spring-web:3.0.5๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ๋™์‹œ์— ์ด๋Ÿฌํ•œ CVE ์ค‘ ์ผ๋ถ€๋Š” Nexus IQ์—์„œ ๋ฐœ๊ฒฌ๋˜์—ˆ์ง€๋งŒ IQ๋Š” ์ด๋ฅผ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹๋ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ทจ์•ฝ์ ์ด spring-core์—์„œ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜๋‹ค๋Š” ์ ์—์„œ ์›์น™์ ์œผ๋กœ ํ”„๋ ˆ์ž„์›Œํฌ์— ์—†๋‹ค๊ณ  ์ฃผ์žฅํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์˜คํ”ˆ ์†Œ์Šค ๋„๊ตฌ๊ฐ€ ์ด๋Ÿฌํ•œ ์ทจ์•ฝ์ ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ง€์ ํ–ˆ์Šต๋‹ˆ๋‹ค(๊ทธ๋ƒฅ ์กฐ๊ธˆ ๋†“์ณค์„ ๋ฟ์ž…๋‹ˆ๋‹ค).

์กฐ์‚ฌ ๊ฒฐ๊ณผ

์šฐ๋ฆฌ๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ์ˆ˜๋™ ๊ฒ€ํ† ์— ์˜ํ•ด ์‹๋ณ„๋œ ์ทจ์•ฝ์ ์˜ ์‹ ๋ขฐ์„ฑ ๊ฒฐ์ •์€ ๋ชจํ˜ธํ•˜์ง€ ์•Š์€ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์•„ ๋…ผ๋ž€์˜ ์—ฌ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ Nexus IQ ์†”๋ฃจ์…˜์ด ๊ฐ€์žฅ ๋‚ฎ์€ ์˜คํƒ๋ฅ ๊ณผ ๊ฐ€์žฅ ๋†’์€ ์ •ํ™•๋„๋ฅผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.

์šฐ์„ , ์ด๊ฒƒ์€ Sonatype ํŒ€์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ NVD์˜ ๊ฐ CVE ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ํ™•์žฅํ•˜์—ฌ ๊ตฌ์„ฑ ์š”์†Œ์˜ ํŠน์ • ๋ฒ„์ „์— ๋Œ€ํ•œ ์ทจ์•ฝ์ ์˜ ํด๋ž˜์Šค ๋˜๋Š” ๊ธฐ๋Šฅ๊นŒ์ง€ ์ถ”๊ฐ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์—ฐ๊ตฌ(์˜ˆ: ์ด์ „ ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „์˜ ์ทจ์•ฝ์„ฑ ํ™•์ธ).

๊ฒฐ๊ณผ์— ์ค‘์š”ํ•œ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฒƒ์€ NVD์— ํฌํ•จ๋˜์ง€ ์•Š์•˜์ง€๋งŒ ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  SONATYPE์œผ๋กœ ํ‘œ์‹œ๋œ Sonatype ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์กด์žฌํ•˜๋Š” ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ์— ๋”ฐ๋ฅด๋ฉด 2020๋…„ ์˜คํ”ˆ ์†Œ์Šค ๋ณด์•ˆ ์ทจ์•ฝ์„ฑ ํ˜„ํ™ฉ ๋ฐœ๊ฒฌ๋œ ์˜คํ”ˆ ์†Œ์Šค ์ทจ์•ฝ์ ์˜ 45%๋Š” NVD์— ๋ณด๊ณ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. WhiteSource ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋”ฐ๋ฅด๋ฉด NVD ์™ธ๋ถ€์— ์ ‘์ˆ˜๋œ ๋ชจ๋“  ์˜คํ”ˆ ์†Œ์Šค ์ทจ์•ฝ์ ์˜ 29%๋งŒ์ด NVD์—์„œ ๊ฒŒ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๊ณณ์—์„œ๋„ ์ทจ์•ฝ์ ์„ ์ฐพ๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ ์ข…์†์„ฑ ๊ฒ€์‚ฌ๋Š” ์ทจ์•ฝํ•œ ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ ์ผ๋ถ€๋ฅผ ๋†“์น˜๊ณ  ๋งŽ์€ ๋…ธ์ด์ฆˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ข…์†์„ฑ ์ถ”์ ์€ ๋…ธ์ด์ฆˆ๋ฅผ ์ ๊ฒŒ ์ƒ์„ฑํ•˜๊ณ  ๋งŽ์€ ์ˆ˜์˜ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ฐ์ง€ํ•˜๋ฏ€๋กœ ์›น ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์‹œ๊ฐ์ ์œผ๋กœ ๋ˆˆ์„ ์•„ํ”„๊ฒŒ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์‹ค๋ฌด๋Š” ์„ฑ์ˆ™ํ•œ DevSecOps๋ฅผ ํ–ฅํ•œ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๊ฐ€ ๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด ์˜คํ”ˆ ์†Œ์Šค์ž„์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์— SCA๋ฅผ ๋‚ด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ๋จผ์ € ์ƒ๊ฐํ•ด์•ผ ํ•  ๊ฒƒ์€ ํ”„๋กœ์„ธ์Šค, ์ฆ‰ ์กฐ์ง์—์„œ ์ด์ƒ์ ์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ค ๋ชจ์Šต์ด์–ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ๊ฒฝ์˜์ง„ ๋ฐ ๊ด€๋ จ ๋ถ€์„œ์™€ ํ•จ๊ป˜ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์กฐ์ง์˜ ๊ฒฝ์šฐ ์ฒ˜์Œ์—๋Š” ์ข…์†์„ฑ ๊ฒ€์‚ฌ ๋˜๋Š” ์ข…์†์„ฑ ์ถ”์ ์ด ๋ชจ๋“  ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๊ณ  ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์†”๋ฃจ์…˜์€ ๊ฐœ๋ฐœ ์ค‘์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณต์žก์„ฑ ์ฆ๊ฐ€๋กœ ์ธํ•ด ๋…ผ๋ฆฌ์ ์ธ ์—ฐ์†์„ฑ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ถ€๋ก A. ๊ตฌ์„ฑ ์š”์†Œ ๊ฒฐ๊ณผ
๊ธฐํ˜ธ :

  • ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋†’์Œ - ๋†’์Œ ๋ฐ ์น˜๋ช…์  ์ˆ˜์ค€์˜ ์ทจ์•ฝ์„ฑ
  • ์ค‘๊ฐ„ โ€” ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ค‘๊ฐ„ ์‹ฌ๊ฐ๋„ ์ทจ์•ฝ์„ฑ
  • TRUE - ์ฐธ ๊ธ์ •์ ์ธ ๋ฌธ์ œ
  • FALSE - ๊ฑฐ์ง“์–‘์„ฑ ๋ฌธ์ œ

๊ตฌ์„ฑ ์š”์†Œ
๋„ฅ์„œ์Šค IQ
์ข…์†์„ฑ ํ™•์ธ
์ข…์†์„ฑ ์ถ”์ 
๊ฒฐ๊ณผ

dom4j:1.6.1
๋†’์€
๋†’์€
๋†’์€
TRUE

log4j-์ฝ”์–ด: 2.3
๋†’์€
๋†’์€
๋†’์€
TRUE

log4j: 1.2.14
๋†’์€
๋†’์€
-
TRUE

์ปค๋จผ์ฆˆ-์ปฌ๋ ‰์…˜:3.1
๋†’์€
๋†’์€
๋†’์€
TRUE

์ปค๋จผ์ฆˆ-ํŒŒ์ผ์—…๋กœ๋“œ:1.3.2
๋†’์€
๋†’์€
๋†’์€
TRUE

์ปค๋จผ์ฆˆ-beanutils:1.7.0
๋†’์€
๋†’์€
๋†’์€
TRUE

์ปค๋จผ์ฆˆ ์ฝ”๋ฑ:1:10
์ค‘๊ธ‰
-
-
TRUE

mysql-์ปค๋„ฅํ„ฐ-java:5.1.42
๋†’์€
๋†’์€
๋†’์€
TRUE

์Šคํ”„๋ง ํ‘œํ˜„:3.0.5
๋†’์€
๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ

TRUE

์Šคํ”„๋ง ์›น:3.0.5
๋†’์€
๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ
๋†’์€
TRUE

์Šคํ”„๋ง ์ปจํ…์ŠคํŠธ:3.0.5
์ค‘๊ธ‰
๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ
-
TRUE

์Šคํ”„๋ง ์ฝ”์–ด:3.0.5
์ค‘๊ธ‰
๋†’์€
๋†’์€
TRUE

struts2-config-browser-plugin:2.3.30
์ค‘๊ธ‰
-
-
TRUE

์Šคํ”„๋ง-tx:3.0.5
-
๋†’์€
-
๊ทธ๋ฆ‡๋œ

์ŠคํŠธ๋Ÿฟ์ธ  ์ฝ”์–ด:1.3.8
๋†’์€
๋†’์€
๋†’์€
TRUE

xwork-์ฝ”์–ด: 2.3.30
๋†’์€
-
-
TRUE

struts2-์ฝ”์–ด: 2.3.30
๋†’์€
๋†’์€
๋†’์€
TRUE

struts-taglib:1.3.8
-
๋†’์€
-
๊ทธ๋ฆ‡๋œ

์ŠคํŠธ๋Ÿฟ์ธ -ํƒ€์ผ-1.3.8
-
๋†’์€
-
๊ทธ๋ฆ‡๋œ

๋ถ€๋ก B. ์ทจ์•ฝ์  ๊ฒฐ๊ณผ
๊ธฐํ˜ธ :

  • ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋†’์Œ - ๋†’์Œ ๋ฐ ์น˜๋ช…์  ์ˆ˜์ค€์˜ ์ทจ์•ฝ์„ฑ
  • ์ค‘๊ฐ„ โ€” ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ค‘๊ฐ„ ์‹ฌ๊ฐ๋„ ์ทจ์•ฝ์„ฑ
  • TRUE - ์ฐธ ๊ธ์ •์ ์ธ ๋ฌธ์ œ
  • FALSE - ๊ฑฐ์ง“์–‘์„ฑ ๋ฌธ์ œ

๊ตฌ์„ฑ ์š”์†Œ
๋„ฅ์„œ์Šค IQ
์ข…์†์„ฑ ํ™•์ธ
์ข…์†์„ฑ ์ถ”์ 
์‹ฌ๊ฐ๋„
๊ฒฐ๊ณผ
๋…ผํ‰

dom4j:1.6.1
CVE-2018-1000632
CVE-2018-1000632
CVE-2018-1000632
๋†’์€
TRUE

CVE-2020-10683
CVE-2020-10683
CVE-2020-10683
๋†’์€
TRUE

log4j-์ฝ”์–ด: 2.3
CVE-2017-5645
CVE-2017-5645
CVE-2017-5645
๋†’์€
TRUE

CVE-2020-9488
CVE-2020-9488
CVE-2020-9488
๋‚ฎ์€
TRUE

log4j: 1.2.14
CVE-2019-17571
CVE-2019-17571
-
๋†’์€
TRUE

-
CVE-2020-9488
-
๋‚ฎ์€
TRUE

SONATYPE-2010-0053
-
-
๋†’์€
TRUE

์ปค๋จผ์ฆˆ-์ปฌ๋ ‰์…˜:3.1
-
CVE-2015-6420
CVE-2015-6420
๋†’์€
๊ทธ๋ฆ‡๋œ
์ค‘๋ณต RCE(OSSINDEX)

-
CVE-2017-15708
CVE-2017-15708
๋†’์€
๊ทธ๋ฆ‡๋œ
์ค‘๋ณต RCE(OSSINDEX)

SONATYPE-2015-0002
RCE(OSSINDEX)
RCE(์˜ค์‹ ๋ฑ์Šค)
๋†’์€
TRUE

์ปค๋จผ์ฆˆ-ํŒŒ์ผ์—…๋กœ๋“œ:1.3.2
CVE-2016-1000031
CVE-2016-1000031
CVE-2016-1000031
๋†’์€
TRUE

SONATYPE-2014-0173
-
-
์ค‘๊ธ‰
TRUE

์ปค๋จผ์ฆˆ-beanutils:1.7.0
CVE-2014-0114
CVE-2014-0114
CVE-2014-0114
๋†’์€
TRUE

-
CVE-2019-10086
CVE-2019-10086
๋†’์€
๊ทธ๋ฆ‡๋œ
์ทจ์•ฝ์ ์€ ๋ฒ„์ „ 1.9.2+์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ปค๋จผ์ฆˆ ์ฝ”๋ฑ:1:10
SONATYPE-2012-0050
-
-
์ค‘๊ธ‰
TRUE

mysql-์ปค๋„ฅํ„ฐ-java:5.1.42
CVE-2018-3258
CVE-2018-3258
CVE-2018-3258
๋†’์€
TRUE

CVE-2019-2692
CVE-2019-2692
-
์ค‘๊ธ‰
TRUE

-
CVE-2020-2875
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
CVE-2019-2692์™€ ๋™์ผํ•œ ์ทจ์•ฝ์ ์ด์ง€๋งŒ "๊ณต๊ฒฉ์ด ์ถ”๊ฐ€ ์ œํ’ˆ์— ์ƒ๋‹นํ•œ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Œ"์ด ์ถ”๊ฐ€๋จ

-
CVE-2017-15945
-
๋†’์€
๊ทธ๋ฆ‡๋œ
mysql-connector-java์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2020-2933
-
๋‚ฎ์€
๊ทธ๋ฆ‡๋œ
CVE-2020-2934์— ๋ณต์ œ๋จ

CVE-2020-2934
CVE-2020-2934
-
์ค‘๊ธ‰
TRUE

์Šคํ”„๋ง ํ‘œํ˜„:3.0.5
CVE-2018-1270
๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ
-
๋†’์€
TRUE

CVE-2018-1257
-
-
์ค‘๊ธ‰
TRUE

์Šคํ”„๋ง ์›น:3.0.5
CVE-2016-1000027
๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ
-
๋†’์€
TRUE

CVE-2014-0225
-
CVE-2014-0225
๋†’์€
TRUE

CVE-2011-2730
-
-
๋†’์€
TRUE

-
-
CVE-2013-4152
์ค‘๊ธ‰
TRUE

CVE-2018-1272
-
-
๋†’์€
TRUE

CVE-2020-5398
-
-
๋†’์€
TRUE
IQ์— ์œ ๋ฆฌํ•œ ์‚ฌ๋ก€: "Sonatype ๋ณด์•ˆ ์—ฐ๊ตฌํŒ€์€ ์ด ์ทจ์•ฝ์ ์ด ๊ถŒ๊ณ ์— ๋ช…์‹œ๋œ 3.0.2.x๊ฐ€ ์•„๋‹ˆ๋ผ 5.0.RELEASE ๋ฒ„์ „์— ๋„์ž…๋˜์—ˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค."

CVE-2013-6429
-
-
์ค‘๊ธ‰
TRUE

CVE-2014-0054
-
CVE-2014-0054
์ค‘๊ธ‰
TRUE

CVE-2013-6430
-
-
์ค‘๊ธ‰
TRUE

์Šคํ”„๋ง ์ปจํ…์ŠคํŠธ:3.0.5
CVE-2011-2894
๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ
-
์ค‘๊ธ‰
TRUE

์Šคํ”„๋ง ์ฝ”์–ด:3.0.5
-
CVE-2011-2730
CVE-2011-2730
๋†’์€
TRUE

CVE-2011-2894
CVE-2011-2894
CVE-2011-2894
์ค‘๊ธ‰
TRUE

-
-
CVE-2013-4152
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
spring-web์—์„œ ๋™์ผํ•œ ์ทจ์•ฝ์ ์˜ ์ค‘๋ณต

-
CVE-2013-4152
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-web ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

-
CVE-2013-6429
CVE-2013-6429
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-web ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

-
CVE-2013-6430
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-web ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

-
CVE-2013-7315
CVE-2013-7315
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
CVE-2013-4152์—์„œ ๋ถ„ํ• . + ์ทจ์•ฝ์ ์€ spring-web ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

-
CVE-2014-0054
CVE-2014-0054
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-web ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

-
CVE-2014-0225
-
๋†’์€
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-web ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

-
-
CVE-2014-0225
๋†’์€
๊ทธ๋ฆ‡๋œ
spring-web์—์„œ ๋™์ผํ•œ ์ทจ์•ฝ์ ์˜ ์ค‘๋ณต

-
CVE-2014-1904
CVE-2014-1904
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-web-mvc ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

-
CVE-2014-3625
CVE-2014-3625
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-web-mvc ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

-
CVE-2016-9878
CVE-2016-9878
๋†’์€
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-web-mvc ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

-
CVE-2018-1270
CVE-2018-1270
๋†’์€
๊ทธ๋ฆ‡๋œ
spring-expression / spring-messages์˜ ๊ฒฝ์šฐ

-
CVE-2018-1271
CVE-2018-1271
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-web-mvc ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

-
CVE-2018-1272
CVE-2018-1272
๋†’์€
TRUE

CVE-2014-3578
CVE-2014-3578(OSSINDEX)
CVE-2014-3578
์ค‘๊ธ‰
TRUE

SONATYPE-2015-0327
-
-
๋‚ฎ์€
TRUE

struts2-config-browser-plugin:2.3.30
SONATYPE-2016-0104
-
-
์ค‘๊ธ‰
TRUE

์Šคํ”„๋ง-tx:3.0.5
-
CVE-2011-2730
-
๋†’์€
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2011-2894
-
๋†’์€
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2013-4152
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2013-6429
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2013-6430
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2013-7315
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2014-0054
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2014-0225
-
๋†’์€
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2014-1904
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2014-3625
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2016-9878
-
๋†’์€
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2018-1270
-
๋†’์€
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2018-1271
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2018-1272
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
์ด ์ทจ์•ฝ์ ์€ spring-tx์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ŠคํŠธ๋Ÿฟ์ธ  ์ฝ”์–ด:1.3.8
-
CVE-2011-5057(OSSINDEX)

์ค‘๊ธ‰
ํŒŒ์Šฌ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

-
CVE-2012-0391(OSSINDEX)
CVE-2012-0391
๋†’์€
๊ทธ๋ฆ‡๋œ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

-
CVE-2014-0094(OSSINDEX)
CVE-2014-0094
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

-
CVE-2014-0113(OSSINDEX)
CVE-2014-0113
๋†’์€
๊ทธ๋ฆ‡๋œ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

CVE-2016-1182
3VE-2016-1182
-
๋†’์€
TRUE

-
-
CVE-2011-5057
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

-
CVE-2012-0392(OSSINDEX)
CVE-2012-0392
๋†’์€
๊ทธ๋ฆ‡๋œ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

-
CVE-2012-0393(OSSINDEX)
CVE-2012-0393
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

CVE-2015-0899
CVE-2015-0899
-
๋†’์€
TRUE

-
CVE-2012-0394
CVE-2012-0394
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

-
CVE-2012-0838(OSSINDEX)
CVE-2012-0838
๋†’์€
๊ทธ๋ฆ‡๋œ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

-
CVE-2013-1965(OSSINDEX)
CVE-2013-1965
๋†’์€
๊ทธ๋ฆ‡๋œ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

-
CVE-2013-1966(OSSINDEX)
CVE-2013-1966
๋†’์€
ํŒŒ์Šฌ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

-
CVE-2013-2115
CVE-2013-2115
๋†’์€
ํŒŒ์Šฌ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

-
CVE-2013-2134(OSSINDEX)
CVE-2013-2134
๋†’์€
ํŒŒ์Šฌ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

-
CVE-2013-2135(OSSINDEX)
CVE-2013-2135
๋†’์€
ํŒŒ์Šฌ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

CVE-2014-0114
CVE-2014-0114
-
๋†’์€
TRUE

-
CVE-2015-2992
CVE-2015-2992
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

-
CVE-2016-0785(OSSINDEX)
CVE-2016-0785
๋†’์€
๊ทธ๋ฆ‡๋œ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

CVE-2016-1181
CVE-2016-1181
-
๋†’์€
TRUE

-
CVE-2016-4003(OSSINDEX)
CVE-2016-4003
๋†’์€
๊ทธ๋ฆ‡๋œ
Struts 2์— ๋Œ€ํ•œ ์ทจ์•ฝ์ 

xwork-core:2.3.30
CVE-2017-9804
-
-
๋†’์€
TRUE

SONATYPE-2017-0173
-
-
๋†’์€
TRUE

CVE-2017-7672
-
-
๋†’์€
๊ทธ๋ฆ‡๋œ
CVE-2017-9804๋กœ ๋‘ ๋ฐฐ ์ฆ๊ฐ€

SONATYPE-2016-0127
-
-
๋†’์€
TRUE

struts2-์ฝ”์–ด:2.3.30
-
CVE-2016-6795
CVE-2016-6795
๋†’์€
TRUE

-
CVE-2017-9787
CVE-2017-9787
๋†’์€
TRUE

-
CVE-2017-9791
CVE-2017-9791
๋†’์€
TRUE

-
CVE-2017-9793
-
๋†’์€
๊ทธ๋ฆ‡๋œ
CVE-2018-1327์— ๋ณต์ œ๋จ

-
CVE-2017-9804
-
๋†’์€
TRUE

-
CVE-2017-9805
CVE-2017-9805
๋†’์€
TRUE

CVE-2016-4003
-
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
Apache Struts 2.x์—์„œ 2.3.28(๋ฒ„์ „ 2.3.30)๊นŒ์ง€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์„ค๋ช…์— ๋”ฐ๋ฅด๋ฉด CVE๋Š” JRE 2 ์ดํ•˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ•œ Struts 1.7์˜ ๋ชจ๋“  ๋ฒ„์ „์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ถ„๋ช…ํžˆ ๊ทธ๋“ค์€ ์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋ฅผ ์žฌ๋ณดํ—˜ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์ง€๋งŒ FALSE์— ๋” ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

-
CVE-2018-1327
CVE-2018-1327
๋†’์€
TRUE

CVE-2017-5638
CVE-2017-5638
CVE-2017-5638
๋†’์€
TRUE
2017๋…„ Equifax์—์„œ ๊ณต๊ฒฉ์ž๊ฐ€ ์•…์šฉํ•œ ๋™์ผํ•œ ์ทจ์•ฝ์ 

CVE-2017-12611
CVE-2017-12611
-
๋†’์€
TRUE

CVE-2018-11776
CVE-2018-11776
CVE-2018-11776
๋†’์€
TRUE

struts-taglib:1.3.8
-
CVE-2012-0394
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
struts2-core์˜ ๊ฒฝ์šฐ

-
CVE-2013-2115
-
๋†’์€
๊ทธ๋ฆ‡๋œ
struts2-core์˜ ๊ฒฝ์šฐ

-
CVE-2014-0114
-
๋†’์€
๊ทธ๋ฆ‡๋œ
commons-beanutils์˜ ๊ฒฝ์šฐ

-
CVE-2015-0899
-
๋†’์€
๊ทธ๋ฆ‡๋œ
taglib์™€ ๊ด€๋ จ ์—†์Œ

-
CVE-2015-2992
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
struts2-core ๊ด€๋ จ

-
CVE-2016-1181
-
๋†’์€
๊ทธ๋ฆ‡๋œ
taglib์™€ ๊ด€๋ จ ์—†์Œ

-
CVE-2016-1182
-
๋†’์€
๊ทธ๋ฆ‡๋œ
taglib์™€ ๊ด€๋ จ ์—†์Œ

์ŠคํŠธ๋Ÿฟ์ธ -ํƒ€์ผ-1.3.8
-
CVE-2012-0394
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
struts2-core์˜ ๊ฒฝ์šฐ

-
CVE-2013-2115
-
๋†’์€
๊ทธ๋ฆ‡๋œ
struts2-core์˜ ๊ฒฝ์šฐ

-
CVE-2014-0114
-
๋†’์€
๊ทธ๋ฆ‡๋œ
commons-beanutils์—์„œ

-
CVE-2015-0899
-
๋†’์€
๊ทธ๋ฆ‡๋œ
ํƒ€์ผ์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-
CVE-2015-2992
-
์ค‘๊ธ‰
๊ทธ๋ฆ‡๋œ
struts2-core์˜ ๊ฒฝ์šฐ

-
CVE-2016-1181
-
๋†’์€
๊ทธ๋ฆ‡๋œ
taglib์™€ ๊ด€๋ จ ์—†์Œ

-
CVE-2016-1182
-
๋†’์€
๊ทธ๋ฆ‡๋œ
taglib์™€ ๊ด€๋ จ ์—†์Œ

์ถœ์ฒ˜ : habr.com

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