Skip to content

Automation System for Vulnerability Identification Using SBOM

Notifications You must be signed in to change notification settings

Dxhyeon/cbom-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

32 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ˜‰CBOM

SBOM์„ ์ด์šฉํ•œ ์ทจ์•ฝ์  ์‹๋ณ„ ์ž๋™ํ™” ์‹œ์Šคํ…œ
Automation System for Vulnerability Identification Using SBOM

๋Œ€์‹œ๋ณด๋“œ1


ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

  • CBOM์€ SBOM์„ ์ด์šฉํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•˜๊ณ  ํˆฌ๋ช…์„ฑ์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.
  • ์ทจ์•ฝ์  ์‹๋ณ„ ์™ธ์—๋„ ์†Œํ”„ํŠธ์›จ์–ด์— ์‚ฌ์šฉ๋œ ์˜คํ”ˆ์†Œ์Šค์™€ ๋ผ์ด์„ ์Šค๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ํ†ตํ•ด ์ทจ์•ฝ์  ์‹๋ณ„ ๊ฒฐ๊ณผ๋ฅผ ํ•œ๋ˆˆ์— ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ทจ์•ฝ์  ์‹๋ณ„ ๊ฒฐ๊ณผ์™€ SBOM ์ •๋ณด๋ฅผ Report๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒ€์› ๊ตฌ์„ฑ

๊ฐ•๋ฏผ์‹ ๊น€๋„ํ˜„ ์ตœ์ˆ˜ํ˜ธ ์ตœ์˜ํ›ˆ

@MynameisMansik

@Dxhyeon

@S4nso

์ตœ์˜ํ›ˆ
Front-end Develop Back-end Develop Back-end Develop Front-end Develop

1. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

  • OS : Ubuntu Server 20.04 LTS
  • Front-end : Django, Bootstrap, Chart.js
  • Back-end : Python, Django
  • Database : MariaDB
  • ํ˜‘์—… ํˆด : Notion, Discord, Github

2. SBOM

SBOM ์ด๋ž€?

SBOM(Software Bill Of Materials)์€ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ตฌ์„ฑ ์š”์†Œ ๋ฐ ์ข…์†์„ฑ์„ ์ฒด๊ณ„์ ์œผ๋กœ ๋ฌธ์„œํ™”ํ•œ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ œ์ž‘์— ์‚ฌ์šฉ๋œ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ทธ๋“ค๊ฐ„์˜ ๊ด€๊ณ„์˜ ์ƒ์„ธํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋ฉฐ, ์†Œํ”„ํŠธ์›จ์–ด ๋ณด์•ˆ ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ๊ณต๊ธ‰๋ง ๊ด€๋ฆฌ์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

SBOM์— ํฌํ•จ๋˜๋Š” ์ฃผ์š” ์ •๋ณด

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

SBOM์˜ ์ค‘์š”์„ฑ

SBOM์€ ์†Œํ”„ํŠธ์›จ์–ด์˜ ํˆฌ๋ช…์„ฑ์„ ๋†’์ด๊ณ , ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€๊ฐ€ ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ํฐ ๋„์›€์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๊ฐœ๋ฐœ, ์œ ์ง€๋ณด์ˆ˜, ๋ณด์•ˆ ์ธก๋ฉด์—์„œ ํšจ์œจ์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ๊ด€๋ฆฌ์™€ ๊ด€๋ จ๋œ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ง€์›ํ•˜๋Š” ํ•„์ˆ˜ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.


3. ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ ๋ฐ ์ž‘์—… ๊ด€๋ฆฌ

๊ฐœ๋ฐœ ๊ธฐ๊ฐ„

  • ์ „์ฒด ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ : 2023-09-05 ~ 2023-11-21
  • DB ์„ค๊ณ„ & ๊ตฌ์ถ• : 2023-09-21 ~ 2023-10-14
  • Web ์„ค๊ณ„ & ๊ตฌ์ถ• : 2023-09-28 ~ 2023-10-16
  • ์ทจ์•ฝ์  ์‹๋ณ„ ๊ธฐ๋Šฅ ๊ตฌํ˜„ : 2023-09-05 ~ 2023-11-21

์ž‘์—… ๊ด€๋ฆฌ

  • Notion๊ณผ Discord๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๊ณต์œ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ๋งค ์ฃผ ๋Œ€๋ฉด ํšŒ์˜๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ์ž‘์—… ์ˆœ์„œ์— ๋Œ€ํ•˜์—ฌ ๋…ผ์˜ํ•˜๊ณ , Trouble Shooting์„ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

4. ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ๋„

image

๋‹จ๊ณ„ ๋‚ด์šฉ
1. SBOM ์—…๋กœ๋“œ ์‚ฌ์šฉ์ž๋Š” ์›น ํ”Œ๋žซํผ์— SBOM์„ ์—…๋กœ๋“œ
2. SBOM ๊ตฌ์„ฑ ์š”์†Œ ์ถ”์ถœ ๋ฐ ์ถœ๋ ฅ ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ์˜ ํŒจํ‚ค์ง€์™€ ๋ฒ„์ „๋“ฑ ์‚ฌ์šฉ๋œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์žฌ๊ฐ€๊ณต ๋ฐ ์›น ํ”Œ๋žซํผ ์ถœ๋ ฅ
3. ์ทจ์•ฝ์  ์‹๋ณ„ ๋ฐ ๋ถ„์„ CVE์™€ CWE ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์˜คํ”ˆ ์†Œ์Šค ํŒจํ‚ค์ง€์˜ ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•˜๊ณ  ํ•ด๋‹น ์ทจ์•ฝ์  ๋‚ด์šฉ ์ถ”์ถœํ•˜์—ฌ ์ €์žฅ
4. ์‹œ๊ฐ์  ๊ฒฐ๊ณผ ์ œ๊ณต ์ทจ์•ฝ์  ๋ถ„์„ ๊ฒฐ๊ณผ๋Š” ์›น ํ”Œ๋žซํผ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์‹œ๊ฐ์ ์œผ๋กœ ์ œ๊ณต

5. ํŽ˜์ด์ง€๋ณ„ ๊ธฐ๋Šฅ

[์ดˆ๊ธฐํ™”๋ฉด]

  • ์ ‘์† ์ดˆ๊ธฐํ™”๋ฉด์ธ ์„œ๋น„์Šค ์†Œ๊ฐœ ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค.
  • SBOM์— ๋Œ€ํ•œ ์ •๋ณด์™€ ์ค‘์š”์„ฑ, ์„œ๋น„์Šค์˜ ์„ค๋ช…์ด ์†Œ๊ฐœ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
์ดˆ๊ธฐํ™”๋ฉด
1online-video-cutter com-ezgif com-video-to-gif-converter (1)

[๋Œ€์‹œ๋ณด๋“œ]

1. ์ทจ์•ฝ์  ์‹๋ณ„

  • SBOM์„ ์—…๋กœ๋“œํ•˜์—ฌ ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.
  • ํ•ต์‹ฌ ๊ฒฐ๊ณผ๋ฅผ ์‹œ๊ฐํ™”ํ•˜์—ฌ ๊ฐ€๋…์„ฑ์„ ๋†’ํ˜”์Šต๋‹ˆ๋‹ค.
์ทจ์•ฝ์  ์‹๋ณ„ ๊ฒฐ๊ณผ
1online-video-cutter com1-ezgif com-video-to-gif-converter

2. CVE ํŽ˜์ด์ง€ ํ˜ธ์ถœ

  • ์‹๋ณ„๋œ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ CVE ํŽ˜์ด์ง€๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
  • CVE์˜ ์ž์„ธํ•œ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
CVE ํŽ˜์ด์ง€ ํ˜ธ์ถœ
1online-video-cutter com2-ezgif com-video-to-gif-converter

[SBOM List]

  • SBOM์˜ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„๊ณผ ๋ฒ„์ „, ์ œ๊ณต์ž, ๋ผ์ด์„ ์Šค ์ •๋ณด, ํ•ด์‰ฌ๊ฐ’์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
SBOM Detailed Information
1online-video-cutter com4-ezgif com-video-to-gif-converter (1)

[Vulnerability List]

1. ์‹๋ณ„๋œ ์ทจ์•ฝ์  ์ •๋ณด ํ™•์ธ

  • ์‹๋ณ„๋œ ์ทจ์•ฝ์ ์˜ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CVE ID, CWE ID, Description, Risk Score, Risk Level์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ( National Vulnerability Database ๊ธฐ์ค€ )
Vulnerability Detailed Information
1-ezgif com-video-to-gif-converter

2. CWE ํŽ˜์ด์ง€ ํ˜ธ์ถœ

  • ์‹๋ณ„๋œ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ CWE ํŽ˜์ด์ง€๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
  • CWE์˜ ์ž์„ธํ•œ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
CWE ํŽ˜์ด์ง€ ํ˜ธ์ถœ
2-ezgif com-video-to-gif-converter

[License List]

1. ์‚ฌ์šฉ ๋ผ์ด์„ ์Šค ์ •๋ณด ํ™•์ธ

  • ์‚ฌ์šฉ๋œ ๋ผ์ด์„ ์Šค์˜ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ ์˜๋ฌด ์‚ฌํ•ญ๊ณผ Description์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
License Detailed Information
12-ezgif com-video-to-gif-converter

2. ๋ผ์ด์„ ์Šค ํŽ˜์ด์ง€ ํ˜ธ์ถœ

  • ์‚ฌ์šฉ๋œ ๋ผ์ด์„ ์Šค์— ๋Œ€ํ•œ ํŽ˜์ด์ง€๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
  • ๋ผ์ด์„ ์Šค์˜ ์ž์„ธํ•œ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
License ํŽ˜์ด์ง€ ํ˜ธ์ถœ
13-ezgif com-video-to-gif-converter

[Generate Report]

  • ์ทจ์•ฝ์  ์‹๋ณ„ ๊ฒฐ๊ณผ์™€ SBOM ์ •๋ณด๋ฅผ Report๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
Generate Report
14-ezgif com-video-to-gif-converter

6. ํ–ฅํ›„ ๊ณ„ํš

  • ์ทจ์•ฝ์  ์กฐ์น˜ ๋ฐฉ์•ˆ ์ž๋™ํ™”
    • ์ทจ์•ฝ์  ์‹๋ณ„์€ ๊ฐ€๋Šฅํ•˜๋‚˜, ํ•ด๋‹น ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ๋Œ€์‘ ๋ฐฉ์•ˆ์„ ์ž์„ธํ•˜๊ฒŒ ์•Œ ์ˆ˜ ์—†์Œ
    • AI๋ฅผ ํ†ตํ•ด ์ ์ ˆํ•œ ๋Œ€์‘ ๋ฐฉ์•ˆ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ณ„ํš

  • ์ปดํฌ๋„ŒํŠธ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ
    • SBOM์˜ ์ปดํฌ๋„ŒํŠธ ํ•ด์‹œ ๊ฐ’์„ ํ™œ์šฉํ•˜์ง€ ๋ชปํ–ˆ์Œ
    • ๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด ํŒŒ์ผ ๋ณ€์กฐ ๋“ฑ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์ฆ

  • ๋ผ์ด์„ ์Šค ์ถฉ๋Œ ํƒ์ง€
    • ๋ผ์ด์„ ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•˜์ง€ ๋ชปํ–ˆ์Œ
    • ์‚ฌ์šฉ๋œ ์˜คํ”ˆ์†Œ์Šค์˜ ๋ผ์ด์„ ์Šค๊ฐ„์˜ ์ถฉ๋Œ์„ ํƒ์ง€ํ•˜์—ฌ ๋ผ์ด์„ ์Šค ์–‘๋ฆฝ์„ฑ(Compatibility) ๋ฌธ์ œ ํ•ด๊ฒฐ