0Pricing
Cyber Security Academy · レッスン

STRIDEフレームワーク

なりすまし、改ざん、否認などを学びます。

「STRIDEフレームワーク」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。

STRIDEとは

STRIDEは、Microsoftが開発した脅威分類フレームワークです。システムの各コンポーネントについて「何が問題になり得るか」を体系的に問いかけられるよう、6つの脅威カテゴリを提供します。

STRIDEは、6種類の脅威を表す頭字語です。

  • Spoofing(なりすまし)
  • Tampering(改ざん)
  • Repudiation(否認)
  • Information disclosure(情報漏えい)
  • Denial of service(サービス拒否)
  • Elevation of privilege(権限昇格)

STRIDEとセキュリティ特性の対応

STRIDEの各カテゴリは、望ましいセキュリティ特性が損なわれることを表します。この対応関係を覚えておくと、それぞれの脅威が何を攻撃するのか理解しやすくなります。

Threat                  Violates property
----------------------  --------------------
Spoofing                Authentication
Tampering               Integrity
Repudiation             Non-repudiation
Information disclosure  Confidentiality
Denial of service       Availability
Elevation of privilege  Authorization

なりすまし

Spoofingとは、自分ではない人物や物になりすますことです。認証に違反します。

例:

  • 盗み出された認証情報でログインする
  • メールの「From」アドレスを偽造する
  • パスワードを盗み取るために偽のログインページを設置する
  • 信頼されたサーバーになりすます

一般的な緩和策は、強力な認証、多要素認証、相互TLS、デジタル署名です。

改ざん

Tamperingとは、データやコードを無断で変更することです。完全性に違反します。

例:

  • 送信前にHTTPリクエストの価格フィールドを書き換える
  • 許可なくデータベースのレコードを変更する
  • ソフトウェア更新に悪意のあるコードを注入する
  • 活動の痕跡を隠すためにログファイルを変更する

緩和策は、入力値の検証、完全性チェック(ハッシュ/HMAC)、コード署名、アクセス制御です。

否認

Repudiationとは、ユーザーが自分の行った操作を否定し、システム側ではそれを証明できない状態です。否認防止に違反します。

例:ユーザーが不正な取引を行った後で「自分はやっていない」と主張したものの、それを証明できるログが残っていない場合です。

緩和策:

  • 包括的で改ざん耐性のある監査ログ
  • 重要な操作へのデジタル署名
  • 安全なタイムスタンプと、追記のみ可能なストアへのログ転送

情報漏えい

Information disclosureとは、本来見るべきでない人にデータを公開してしまうことです。機密性に違反します。

例:

  • 暗号化されていないデータベースから顧客レコードが漏えいする
  • 詳細すぎるエラーメッセージによってスタックトレースやクエリが明らかになる
  • 設定ミスによりクラウドバケットが一般公開される
  • 機密データが平文のHTTPで送信される

緩和策は、通信中と保存時の暗号化、最小権限アクセス、慎重なエラーハンドリングです。

サービス拒否

Denial of service (DoS)とは、正規のユーザーがシステムを利用できない状態にすることです。可用性に違反します。

例:

  • 大量のトラフィックを送り付けてサーバーを過負荷にする(DDoS)
  • 1つの高コストなクエリでデータベースのリソースを使い果たす
  • アップロードによってディスク容量をいっぱいにする
  • 無限ループやリソースリークを引き起こす

緩和策は、レート制限、クォータ、入力サイズの上限、オートスケーリング、上流でのDDoS対策です。

権限昇格

Elevation of privilegeとは、認可された範囲を超える権限を得ることです。認可に違反します。

例:

  • 一般ユーザーが管理者用エンドポイントにアクセスする
  • バグを悪用してrootとしてコードを実行する
  • 細工したパラメータによって自分のロールを変更する
  • コンテナから脱出してホストに到達する

緩和策は、すべてのリクエストで認可を適用すること、最小権限の原則、サンドボックス化です。

要素ごとのSTRIDEの適用

STRIDEの力は、系統的に適用することで発揮されます。設計図の各要素について、6つのカテゴリをすべて順に確認し、その脅威が当てはまるかを問いかけてください。

Element: Login API endpoint

S - Can someone spoof a valid user?      -> brute force, stolen creds
T - Can request data be tampered?        -> modify role in payload
R - Can a user deny logging in?          -> need audit logs
I - Can it leak info?                     -> error reveals if user exists
D - Can it be flooded?                    -> no rate limit = DoS
E - Can a user gain admin?                -> missing authZ check

要素単位のSTRIDEとインタラクション単位のSTRIDE

STRIDEを適用する方法は2つあります。

  • STRIDE-per-element — 各コンポーネント(プロセス、データストア、外部エンティティ)を、関連する脅威の種類ごとに分析します
  • STRIDE-per-interaction — 要素間の各データフローを分析します

すべての脅威がすべての要素に当てはまるわけではありません。たとえば、データストアが「なりすます」ことはほとんどありませんが、改ざんや情報漏えいの主な標的になります。各要素に関連する脅威だけを使ってください。

脅威から緩和策へ

STRIDEは緩和戦略と自然に組み合わせられます。特定した脅威ごとに、次の4つの対応のいずれかを選びます。

  • Mitigate — リスクを低減するための対策を追加します
  • Eliminate — 原因となる機能やコンポーネントを削除します
  • Transfer — リスクを移転します(保険、第三者への委託など)
  • Accept — 低いリスクを認識したうえで受け入れます

どの脅威も黙って無視されないよう、すべての脅威について判断を記録してください。

理解度チェック

STRIDEのカテゴリを理解できているか確認しましょう。

まとめ

STRIDEフレームワークを学びました。

  • Spoofing(認証)、Tampering(完全性)、Repudiation(否認防止)
  • Information disclosure(機密性)、Denial of service(可用性)、Elevation of privilege(認可)
  • 各カテゴリは、特定のセキュリティ特性に違反します
  • 要素単位またはインタラクション単位で、STRIDEを体系的に適用します
  • 各脅威について、緩和、排除、移転、受容のいずれかを判断します

次は、STRIDEを適用すべき場所を把握するために、データフローと信頼境界をマッピングします。

よくある質問

「STRIDEフレームワーク」レッスンは無料ですか?

はい。「STRIDEフレームワーク」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。

「STRIDEフレームワーク」で何を学びますか?

なりすまし、改ざん、否認などを学びます。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cyber Security Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「STRIDEフレームワーク」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCyber Security Academyレッスンでコードを書いて実行できますか?

はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 脅威モデリングが重要な理由
  2. STRIDEフレームワーク
  3. データフロー図と信頼境界
  4. 攻撃ツリーとリスクの優先順位付け
← Cyber Security Academyに戻る