【ぜいじゃくせいすきゃん】

脆弱性スキャン とは?

💡 システムの「セキュリティ健康診断」
📌 このページのポイント
脆弱性スキャンの検査フロー スキャナー 自動検査ツール 脆弱性DB参照 検査 対象システム OS ミドル 脆弱性! アプリ 結果 レポート CVE-XXXX-YYYY 深刻度: Critical スキャンの種類 ネットワーク型 外部から検査 ホスト型 内部から検査 Webアプリ型 Web特化の検査
脆弱性スキャンのイメージ
ひよこ ひよこ

何をスキャンするの?

ペンギン先生 ペンギン先生

ネットワーク(開いているポート、古いSSL設定、脆弱なプロトコル)、②Webアプリ(SQLインジェクションXSS、認証の不備)、③依存ライブラリ(既知のCVEを含むバージョンを使っていないか)、④コンテナイメージ(Trivyでベースイメージの脆弱性を検出)。多層的にスキャンするのが重要だよ

ひよこ ひよこ

おすすめのツールは?

ペンギン先生 ペンギン先生

OWASP ZAP(Webアプリの脆弱性スキャン、無料)、②Trivy(コンテナイメージIaC脆弱性スキャン、無料)、③npm audit / pip audit(依存パッケージの脆弱性チェック、標準機能)、④Snyk(依存パッケージとコンテナ脆弱性スキャンSaaS)。まずはnpm auditとTrivyから始めるのが手軽だよ

ひよこ ひよこ

CI/CDに組み込むには?

ペンギン先生 ペンギン先生

GitHub Actionsで「npm audit」「trivy image myapp:latest」をCIステップに追加するだけ。Critical/Highの脆弱性が見つかったらパイプラインを失敗させる設定にすれば、脆弱なコードが本番にデプロイされるのを防げるよ。DependabotRenovateで依存パッケージの自動更新PRも活用しようね

ひよこ ひよこ
ペンギン先生 ペンギン先生

脆弱性スキャンは自動ツールで既知の脆弱性パターンをチェック。ペネトレーションテスト(ペンテスト)は専門家が手動で攻撃を試みて、ビジネスロジックの欠陥やチェーン攻撃を発見する。スキャンは「定期的・自動的」に、ペンテストは「年1〜2回・専門家が」行うのが一般的だね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
脆弱性スキャン」って出てきたら「システムのセキュリティの弱点を自動検出する検査」と思えればだいたいOK!
📖 おまけ:英語の意味
「Vulnerability Scanning」 = 脆弱性スキャン
💬 Vulnerability(脆弱性)をScanning(走査して検出)する作業だよ
← 用語集にもどる