← 기술 목록으로

OS 패키지 취약점 수집 정확도 개선

12종 주요 OS 배포판의 보안 권고안을 소스 특성에 맞게 파싱해, 패치 버전까지 정확히 담은 취약점 데이터를 수집

기간2022
소속래브라도랩스(LabradorLabs)
역할데이터 엔지니어 · 수집 정확도 개선 주도
VulnerabilityOS PackageOVALSecurity TrackerCrawlerData Pipeline

0작업자의 메모

OS 취약점 데이터는 CVE ID만 맞아도 되는 문제가 아닙니다. 실제 고객사 검증에서는 어떤 패키지 버전이 패치됐는지까지 맞아야 합니다.

12종 배포판의 API, OVAL, Security Tracker를 따로 다룬 이유는 그 정확도를 확보하기 위해서였습니다. 이 작업은 데이터 수집이라기보다 오탐을 줄이는 기반 작업이었습니다.

1배경

클라우드 네이티브가 빠르게 확산되면서 OS 패키지 취약점 정보의 정확성 요구가 커졌습니다. 그러나 기존 크롤러는 각 OS 배포판이 제공하는 보안 권고안을 정확히 파싱하지 못해 패치된 버전 정보가 누락되거나 부정확한 문제가 있었습니다.

2접근

12종 주요 OS 배포판(RedHat · Debian · Ubuntu 등)이 보안 데이터를 어떻게 제공하는지 소스별로 비교한 뒤, 특성에 맞춰 크롤러를 수정·재개발했습니다.

① 소스 분석12종 OS의 제공 방식(API/OVAL/Tracker) 파악
② 파서 재설계소스별 특성에 맞춰 크롤러 수정·재개발
③ 패치버전 추출패치 버전 포함 정확한 데이터 수집
④ 신뢰도 검증스캐너 분석 결과 정확성 확인

대표 사례로 Ubuntu는 기존의 웹 페이지 파싱 방식에서 Git 리포지토리를 직접 클론해 파싱하는 방식으로 변경해 데이터 신뢰도를 높였습니다.

다종 보안 소스API · OVAL · Security Tracker · Git
소스별 파서12종 OS 맞춤 수집기
정규화패치 버전 포함 취약점 데이터
취약점 스캐너신뢰도 높은 판정

3결과

커버리지 — 12종 배포판 × 4가지 제공 방식(API·OVAL·Tracker·Git)을 소스별 파서로 흡수
수집 방식 전환 — Ubuntu는 웹 페이지 파싱에서 Git 저장소 클론 파싱으로 바꿔 패치 버전 누락을 제거
검증 — 수집한 패치 버전이 스캐너 판정에 그대로 쓰이므로, 스캐너 분석 결과로 정확성을 확인

4역할

12종 OS가 보안 데이터를 제공하는 방식을 각각 확인하고 파서를 수정했습니다. Ubuntu는 웹 화면 대신 Git 저장소를 직접 받아 패치 버전을 읽었고, 다른 배포판도 원본 형식에 맞춰 추출 규칙을 나눴습니다. 수집 방안은 팀 리뷰를 거쳐 확정했습니다.

데이터 수집 파이프라인의 정확도·신뢰도 개선에 초점을 둔 작업.

🛡 OS 패키지 취약점 수집 시리즈 ①② 멀티 배포판 개편·OSV 자동화