導入
- 経産省の「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引」にも記載されている通り、自身が利用するOSSライブラリに対して、依存関係を含むコンポーネントや脆弱性を一覧管理する手段として、SBOMが注目されています。
- 本記事について、
- 前編ではAWSのマネージドサービスであるAmazon InspectorのSBOMエクスポート機能を用いて、SBOM ファイルをS3上に出力します。
- 後編ではAmazon Athenaを用いてSBOMファイルに対する分析を実施したいと思います。→AWSのInspectorでSBOM Exportしてみた 後編
Amazon InspectorによるSBOM出力
スキャン対象の準備
- SBOMスキャン対象として、ECRに
amazonlinux:2023
をベースイメージとするDockerイメージを格納しておきます。FROM amazonlinux:2023 # Install Node.js RUN yum install -y nodejs
S3バケットの設定
- SBOM出力となるS3バケットを作成し、S3バケットポリシーを設定します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "allow-inspector",
"Effect": "Allow",
"Principal": {
"Service": "inspector2.amazonaws.com"
},
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:AbortMultipartUpload"
],
"Resource": "arn:aws:s3:::バケット名/*",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "アカウントID"
},
"ArnLike": {
"aws:SourceArn": "arn:aws:inspector2:ap-northeast-1:アカウントID:report/*"
}
}
}
]
}
KMSの設定
{
"Sid": "Allow Amazon Inspector to use the key",
"Effect": "Allow",
"Principal": {
"Service": "inspector2.amazonaws.com"
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey*"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "アカウントID"
},
"ArnLike": {
"aws:SourceArn": "arn:aws:inspector2:ap-northeast-1:アカウントID:report/*"
}
}
}
SBOMエクスポート
-
AWSコンソールにログインし、
Amazon Inspector
の画面を開きます。 -
画面左のナビゲーションペインから、
Export SBOMs
を選択します。 -
フィルターと出力先を設定して、SBOM Exportします。
-
エディタで開いてみると、
(Amazon インスペクターによる SBOM のエクスポートを参照)
最後に
- 本記事では、Amazon InspectorによるSBOMエクスポート機能を試してみました。
- 次回はAthenaを用いてSBOMファイルに対する分析を実施したいと思います!
注意事項
- 本記事は万全を期して作成していますが、お気づきの点がありましたら、ご連絡よろしくお願いします。
- なお、本記事の内容を利用した結果及び影響について、筆者は一切の責任を負いませんので、予めご了承ください。