LESSON 30分

ストーリー

田中VPoE
DevSecOpsの全体像は掴めたか。次は「何から守るのか」を明確にする。脅威ランドスケープの理解だ
あなた
OWASP Top 10は知っていますが、それだけでは不十分ですか?
田中VPoE
OWASP Top 10は重要だが、あくまで「Webアプリケーション」に限定した脅威リストだ。エンタープライズのセキュリティを設計するには、サプライチェーン攻撃、内部脅威、クラウド固有の脅威まで含めた全体像が必要だ
あなた
脅威を網羅的に把握する方法があるんですね
田中VPoE
脅威モデリングというフレームワークがある。STRIDEモデルが代表的だ。これを使えば、システムごとに固有の脅威を体系的に洗い出せる

脅威の分類体系

STRIDE脅威モデル

MicrosoftのSTRIDEモデルは、6つのカテゴリで脅威を分類します。

カテゴリ英語名脅威の内容対策の方向性
S なりすましSpoofing他者になりすましてアクセス認証の強化(MFA、証明書)
T 改ざんTamperingデータやコードの不正な変更完全性チェック(署名、ハッシュ)
R 否認Repudiation行為を否認する監査ログ、タイムスタンプ
I 情報漏洩Information Disclosure機密情報の不正な公開暗号化、アクセス制御
D サービス拒否Denial of Serviceサービスの可用性を損なうレート制限、冗長化
E 権限昇格Elevation of Privilege不正に権限を取得最小権限原則、RBAC

脅威モデリングの実施手順

脅威モデリングの4ステップ:

Step 1: 対象の把握
├── データフロー図(DFD)の作成
├── 信頼境界(Trust Boundary)の特定
└── エントリポイントの列挙

Step 2: 脅威の特定
├── STRIDEをDFDの各要素に適用
├── 攻撃者のモチベーション分析
└── 攻撃ベクトルの列挙

Step 3: リスク評価
├── DREAD or CVSS によるスコアリング
├── 発生可能性 × 影響度
└── 優先順位付け

Step 4: 対策の決定
├── 回避(Avoid)
├── 軽減(Mitigate)
├── 転嫁(Transfer)
└── 受容(Accept)

現代の主要な脅威カテゴリ

1. サプライチェーン攻撃

依存ライブラリやビルドツール経由の攻撃が急増しています。

事例影響攻撃手法
SolarWinds(2020)18,000以上の組織に影響ビルドシステムへのバックドア埋め込み
Log4Shell(2021)Java利用の大半のシステムOSSの脆弱性(JNDI Injection)
codecov(2021)数千のCI/CD環境CI/CDスクリプトの改ざん
xz Utils(2024)Linux系OS全般メンテナのソーシャルエンジニアリング
サプライチェーン攻撃の経路:

[攻撃者]

    ├──→ OSSライブラリの改ざん ──→ npm/PyPI/Maven ──→ あなたのアプリ

    ├──→ ビルドツールの侵害 ──→ CI/CDパイプライン ──→ デプロイ成果物

    ├──→ コンテナイメージの改ざん ──→ Docker Hub ──→ 本番環境

    └──→ メンテナの買収/脅迫 ──→ 正規のリリース ──→ 全利用者

2. クラウドネイティブ環境の脅威

脅威説明STRIDE分類
IAM設定ミス過剰な権限付与E(権限昇格)
S3バケット公開ストレージの公開設定I(情報漏洩)
コンテナエスケープコンテナから脱出してホストに到達E(権限昇格)
SSRFサーバーサイドからの内部リクエスト偽造S, I
メタデータサービスへのアクセスクラウドメタデータAPI経由の認証情報取得I, E
シークレットのハードコードコードやConfigにシークレットを直接記述I(情報漏洩)

3. CI/CDパイプラインへの攻撃

攻撃ベクトル説明影響
ポイズンドパイプラインCI設定ファイルを改ざんして悪意あるコードを実行ビルド成果物の汚染
依存関係の混乱(Confusion)プライベートパッケージ名を悪用悪意あるパッケージのインストール
ビルドキャッシュの汚染キャッシュに悪意あるオブジェクトを混入以降のビルドすべてに影響
シークレットの窃取CI環境変数に設定されたシークレットを外部に送信認証情報の漏洩
成果物の改ざんビルド成果物のレジストリを改ざん改ざんされたバイナリの配布

4. 内部脅威

種類特徴検出の難しさ
悪意のあるインサイダー故意にデータを持ち出す正当なアクセス権を持つため検出が困難
過失によるインサイダー設定ミス、誤送信悪意がないため行動パターン検出が困難
侵害されたインサイダー認証情報を盗まれた社員正当な認証情報を使用するため検出が困難

OWASP Top 10(2021)とAPI Security Top 10

OWASP Top 10 Web Application Security Risks

順位カテゴリ概要
A01アクセス制御の不備権限チェックの欠如、IDOR
A02暗号化の失敗平文通信、弱い暗号アルゴリズム
A03インジェクションSQL/NoSQL/OS/LDAPインジェクション
A04安全でない設計脅威モデリングの欠如、ビジネスロジックの欠陥
A05セキュリティ設定のミスデフォルト設定の放置、不要な機能の有効化
A06脆弱で古いコンポーネントパッチ未適用のライブラリ
A07識別と認証の失敗ブルートフォース、弱いパスワードポリシー
A08ソフトウェアとデータの完全性の不備署名なしのアップデート
A09セキュリティログと監視の不備ログ不足、アラート不在
A10SSRFサーバーサイドリクエストフォージェリ

OWASP API Security Top 10(2023)

順位カテゴリ概要
API1BOLAオブジェクトレベルの認可不備
API2認証の不備弱いトークン管理、認証フローの欠陥
API3BOPLAプロパティレベルの認可不備
API4制限のないリソース消費レート制限なし、ページネーション不備
API5BFLA機能レベルの認可不備
API6サーバーサイドリクエストフォージェリ内部APIへの不正アクセス
API7セキュリティ設定のミスCORS設定不備、エラーメッセージ漏洩
API8自動化された脅威への対策不足ボット対策の欠如
API9不適切な在庫管理古いAPIバージョンの放置
API10APIの安全でない使用サードパーティAPIへの過度な信頼

DREADによるリスクスコアリング

各脅威のリスクを定量的に評価するため、DREADモデルを使用します。

評価軸英語名評価内容スコア(1-10)
D 被害の大きさDamage攻撃成功時の影響度1(軽微)〜10(壊滅的)
R 再現性Reproducibility攻撃の再現しやすさ1(困難)〜10(常に可能)
E 攻撃容易性Exploitability攻撃に必要なスキル1(専門知識必要)〜10(ツールで可能)
A 影響範囲Affected Users影響を受けるユーザー数1(ごく一部)〜10(全ユーザー)
D 発見容易性Discoverability脆弱性の発見しやすさ1(極めて困難)〜10(公開情報)

リスクスコア = (D + R + E + A + D) / 5

スコア範囲リスクレベル対応方針
8.0 - 10.0Critical即時対応必須
6.0 - 7.9High次スプリントで対応
4.0 - 5.9Medium計画的に対応
1.0 - 3.9Low受容またはバックログ

まとめ

ポイント内容
STRIDE6カテゴリで脅威を体系的に分類するフレームワーク
現代の主要脅威サプライチェーン攻撃、クラウドネイティブ脅威、CI/CD攻撃、内部脅威
OWASPWeb Application Top 10とAPI Security Top 10を把握する
DREAD脅威のリスクを定量的にスコアリングする手法

チェックリスト

  • STRIDEモデルの6カテゴリを説明できる
  • サプライチェーン攻撃の代表例と攻撃経路を説明できる
  • OWASP Top 10の主要カテゴリを把握した
  • DREADモデルによるリスクスコアリングを実施できる

次のステップへ

次は「セキュリティ要件の定義」を学びます。脅威分析の結果を具体的なセキュリティ要件に落とし込む方法を身につけましょう。


推定読了時間: 30分