VEX란 무엇이며 SBOM과 어떻게 다를까요? SBOM만으로는 알기 어려운 취약점의 실제 영향 여부를 VEX로 어떻게 확인하고 활용할 수 있는지 알아봅니다.
1. VEX란?
VEX(Vulnerability Exploitability eXchange)는 취약점의 실제 영향 여부에 대한 정보를 제공합니다.
소프트웨어에 취약한 컴포넌트가 포함되어 있더라도 해당 취약점이 실제 제품에 영향을 미치는지는 별도의 판단이 필요합니다. 취약한 코드가 제품에서 사용되지 않거나, 해당 코드가 실제 실행 경로에서 도달할 수 없는 경우처럼 컴포넌트에 취약점이 존재하더라도 실제로 악용 가능성이 낮은 경우가 존재하기 때문입니다.
2. SBOM과 VEX의 차이
SBOM은 소프트웨어를 구성하는 오픈소스, 라이브러리, 컴포넌트 등의 정보를 기록한 소프트웨어 자재명세서입니다. SBOM은 소프트웨어의 ‘구성’을 보여주고, VEX는 해당 구성요소에서 발견된 취약점의 ‘실제 영향 여부’를 보여줍니다.
| SBOM | VEX | |
|---|---|---|
| 의미 | Software Bill of Materials | Vulnerability Exploitability eXchange |
| 주요 목적 | 소프트웨어에 포함된 구성요소 식별 | 알려진 취약점의 실제 영향 여부 전달 |
| 주요 정보 | 컴포넌트명, 버전, 공급자, 의존성 등 | 취약점 상태, 영향 여부, 판단 근거 등 |
| 답하는 질문 | 어떤 구성요소가 포함되어 있는가? | 해당 취약점이 실제 제품에 영향을 미치는가? |
| 활용 목적 | 소프트웨어 구성요소의 투명성 확보 | 신속한 대응이 필요한 취약점 선별 |
3. VEX가 SBOM의 실효성을 높이는 이유
SBOM만으로는 탐지된 컴포넌트와 관련 취약점을 확인할 수 있지만, 발견된 모든 취약점을 동일한 우선순위로 대응한다면 실제 위험도가 높은 취약점에 집중하기 어려울 수 있습니다.
SBOM과 VEX를 함께 활용하면 취약점이 존재하는 컴포넌트를 확인하는 데서 그치지 않고, 해당 취약점이 실제 시스템에 영향을 미치는지 여부와 그 판단 근거를 함께 확인할 수 있습니다. 이를 통해 실제 영향 여부를 기준으로 대응 대상을 구분하고, 불필요한 대응 리소스를 줄일 수 있습니다.
4. VEX의 주요 상태와 의미
VEX에서는 분석한 취약점의 상태를 구분해 표현할 수 있습니다. CISA의 Minimum Requirements for Vulnerability Exploitability eXchange (VEX)에서는 VEX 상태를 Affected, Not Affected, Fixed, Under Investigation의 네 가지로 구분합니다.
| 상태 | 의미 |
|---|---|
| Affected | 해당 취약점이 실제 제품에 영향을 미치는 상태입니다. 제품이 취약점의 영향을 받는 것으로 확인된 경우 패치나 완화 조치 등의 대응이 필요합니다. |
| Not Affected | 해당 취약점이 제품에 영향을 미치지 않는 상태입니다. CISA는 Not Affected로 판단하는 경우 해당 판단에 대한 근거를 함께 제공하도록 설명하고 있습니다. 예를 들어 취약한 코드가 제품에 존재하지 않거나, 존재하더라도 실행 경로에 포함되지 않는 경우 등이 이에 해당할 수 있습니다. |
| Fixed | 해당 취약점에 대한 수정이 완료된 상태입니다. |
| Under Investigation | 해당 취약점이 실제 제품에 영향을 미치는지 아직 조사하고 있는 상태입니다. |
5. Sparrow SCA에서는 VEX를 어떻게 지원할까?
스패로우의 오픈소스 분석 및 관리 도구 Sparrow SCA는 오픈소스 취약점을 분석하고 SBOM을 생성하는 것뿐만 아니라, VEX를 포함한 SBOM을 생성하고 SBOM에 포함된 취약점의 VEX 정보를 확인하고 관리할 수 있도록 지원합니다.
먼저, Sparrow SCA의 SBOM의 취약점 목록에서 각 취약점의 VEX 정보 포함 여부를 확인할 수 있습니다. 취약점 ID와 심각도와 함께 VEX 정보가 포함되어 있는지를 표시합니다.

VEX 정보가 포함된 취약점을 선택하면 해당 취약점의 상세 정보와 함께 VEX 정보를 확인할 수 있습니다. 구체적으로 취약점 ID와 심각도, 취약점 정보 출처뿐만 아니라 VEX 상태, 조치 유형, 상세 설명 정보를 확인할 수 있습니다.

Sparrow SCA에서는 프로젝트의 SBOM을 내보낼 때 VEX 정보 포함 여부를 선택할 수 있습니다. VEX 정보 포함 옵션을 선택하면 컴포넌트 취약점과 관련해 사용자가 입력한 조치 계획 및 이슈 제외 정보 등의 VEX 정보를 포함해 SBOM을 출력할 수 있습니다.

SBOM과 VEX를 함께 활용해 보안 대응의 실효성을 높이고 싶으시다면, 지금 바로 Sparrow SCA를 확인해 보세요.
[참고문헌]
1. CISA / 「Minimum Requirements for Vulnerability Exploitability eXchange (VEX)」 / https://www.cisa.gov/sites/default/files/2023-04/minimum-requirements-for-vex-508c.pdf
