VEX(Vulnerability-Exploitability eXchange)についてのかんたんな纏め(自分用)
今後加筆していきます
VEXとは
- VEX(Vulnerability-Exploitability eXchange)
- 米国電気通信情報局 (NTIA) で開発
- ソフトウェア部品表 (SBOM) を使用する際の特定のニーズを満たすために開発されたが、SBOMでの使用に限定されるものではない(とは言え、2023年現時点ではSBOMと抱合せ)。
- ソフトウェア製品に影響を与えない(悪用不可能な)脆弱性を調査するためにユーザーが費やす労力を軽減するために、サプライヤーがVEXを発行できます。
- ユーザーは、SBOM からのコンポーネント データと VEX からの脆弱性ステータス情報を統合して、脆弱性のステータスの最新のビューを提供できます。
- VEX はソフトウェア サプライヤーによって公開されますが、サードパーティによって作成されることもあります。
VEXの使用例
- ユーザ (オペレーター、開発者、サービス プロバイダーなど) に下記の追加情報を提供。
- 含まれるコンポーネントの特定の脆弱性の影響を製品が受けるかどうか
- 影響を受ける場合には修復が推奨されるアクションがあるかどうか
- コンポーネントの脆弱性が(コンポーネント自体には含まれていても)、下記のような理由で最終的に製品では「悪用可能」で無いことが有るため
- 影響を受けるコードがコンパイラによってロードされない
- ソフトウェアの他の場所で保護が存在する
VEXが提供するステータス
- VEX は、特定の製品の脆弱性のステータスに関する分類です。ステータスは下記のようになります。
- Not affected
- この脆弱性に関して修正は必要ありません。
- Affected
- この脆弱性を修正または対処するために何らかのアクションが推奨されます。
- Fixed
- この製品バージョンに脆弱性の修正が含まれていることを表します。
- Under Investigation
- この製品バージョンが脆弱性の影響を受けるかどうかはまだ不明です。 アップデートは今後のリリースで提供される予定です。
- Not affected
VEXの実装
- VEX は、Common Security Advisory Framework (CSAF) のプロファイルとして実装されています。CSAF は、OASIS Open CSAF Technical Committee によって開発された機械読み取り可能なセキュリティ アドバイザリの標準です。
- VEX は、他の標準またはフレームワークでも実装できます。
VEXのUse Case
- VEXのUse Caseに関しては、2023年4月に出されたCISAの「VEX-Use Case(PDF)」が詳しい。
- 以下、CycloneDXがわかりやすいので引用します。GitHubにあるものを持ってきただけです。
{
"bomFormat": "CycloneDX",
"specVersion": "1.4",
"version": 1,
"metadata" : {
"timestamp" : "2022-03-03T00:00:00Z",
"component" : {
"name" : "DEF",
"version": "1.0",
"type" : "application",
"bom-ref" : "product-DEF"
}
},
"vulnerabilities": [
{
"id": "CVE-2021-44228",
"source": {
"name": "NVD",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228"
},
"analysis": {
"state": "exploitable",
"response": ["will_not_fix", "update"],
"detail": "This version of Product DEF is affected by the vulnerability. Customers are advised to upgrade to the latest release."
},
"affects": [
{
"ref": "product-DEF"
}
]
}
]
}