次の方法で共有


SDL セキュリティバグバー (サンプル)

注: このサンプル ドキュメントは、例示のみを目的としています。 以下に示すコンテンツは、セキュリティ プロセスを作成する際に考慮すべき基本的な条件の概要を示しています。 これは、アクティビティや条件の包括的な一覧ではなく、そのようなものとして扱うべきではありません。

このセクションでは、用語の定義を参照してください。

サーバー

サーバー DoS シナリオの完全なマトリックスについては、「サービス拒否マトリックス」を参照してください。

サーバー バーは、通常、ユーザーの操作が悪用プロセスの一部である場合は適切ではありません。 重要な脆弱性がサーバー製品にのみ存在し、ユーザーの操作を必要とするやり方で悪用され、サーバーのセキュリティが侵害される場合、クライアント重大度ピボットの開始時に表示される広範なユーザー操作のNEAT/データ定義に従って、重要度が重大から重要に下げられる可能性があります。

サーバー

[重大]

サーバーの概要: サーバーが「所有している」ネットワークワームまたは 回避できないケース。

  • 特権の昇格: 任意のコードを実行するか、承認されているよりも多くの特権を取得する機能

    • リモート匿名ユーザー

      • 例 :

        • 不正なファイル システム アクセス: ファイ ルシステムへの任意の書き込み

        • 任意のコードの実行

        • SQL インジェクション (コードの実行を許可)

    • すべての書き込みアクセス違反 (AV)、悪用可能な読み取りの AV、またはリモートの匿名呼び出し可能コードでの整数オーバーフロー

重要

サーバーの概要: 重要なシナリオを防止するのに役立つ軽減策が存在する、既定以外の重要なシナリオまたはケース。

  • サービス妨害: 少量のデータを送信することで「悪用が容易」であるか、そうでなければすぐに誘発される必要がある

    • 匿名

      • 永続的 DoS

        • 例 :

          • 悪意のある TCP パケットを1 つ送信すると、ブルー スクリーン (BSoD) が表示される

          • サービス エラーが発生する少数のパケットを送信する

      • 増幅のある仮の DoS

        • 例 :

          • 少数のパケットを送信して、一定期間、システムを使用できないようにする

          • 1 分以上ダウンしている Web サーバー (IIS など)

          • セッションを確立して開いたままにして、サーバー上で使用可能なすべてのリソース (セッション、メモリ)を消費する単一のリモートクライアント

    • 認証済み

      • 価値の高い資産に対する永続的 DoS

        • 例:

          • ドメイン認証ユーザーがドメイン コントローラーで DoSを実行できる場合など、サーバーの役割 (証明書サーバー、Kerberos サーバー、ドメイン コントローラー) における高価値資産のサービスエラーを引き起こす少数のパケットの送信

  • 特権の昇格: 任意のコードを実行するか、意図しているよりも多くの特権を取得する機能

    • リモート認証ユーザー

    • ローカル認証ユーザー (ターミナル サーバー)

      • 例 :

        • 不正なファイル システム アクセス: ファイ ルシステムへの任意の書き込み

        • 任意のコードの実行

    • すべての書き込み AV、利用可能な読み取りの AV、またはリモートまたはローカルで認証された管理者ではないユーザーがアクセスできるコード内の整数オーバーフロー (管理者のシナリオには、定義によるセキュリティ上の問題はありませんが、信頼性の問題があります)。

  • 情報漏えい (標的型)

    • 攻撃者がシステム上の任意の場所から情報を見つけて読み取ることができる場合 (意図していない、または公開されていないシステム情報を含む)

      • 例 :

        • 個人を特定できる情報 (PII)の開示

          • PII (電子メールアドレス、電話番号、クレジットカード情報)の開示

          • 攻撃者は、ユーザーの同意なしに、または内密に PIIを収集できます。

  • なりすまし

    • エンティティ (コンピューター、サーバー、ユーザー、プロセス) は、選択した特定のエンティティ(ユーザーまたはコンピューター)としてマスカレードできます。

      • 例 :

        • Web サーバーでは、クライアント証明書の認証 (SSL)を使用して、攻撃者が任意のユーザーとして識別できるようにします。

        • 新しいプロトコルは、リモート クライアント認証を提供するように設計されていますが、悪意のあるリモート ユーザーが別のユーザーとして認識されるように、プロトコルに欠陥が存在します。

  • 改ざん

    • 影響を受けたソフトウェアの再起動後も変更が維持される一般的なシナリオまたは既定のシナリオでの「高価値資産」データの変更

    • 共通または既定のシナリオで使用されるユーザー データまたはシステム データの恒久的または永続的な変更

      • 例 :

        • 認証された SQL インジェクションなどの一般的なシナリオまたは既定のシナリオでのアプリケーション データ ファイルまたはデータベースの変更

        • 共通または既定のシナリオでのプロキシ キャッシュ ポイズニング

        • 一般的なシナリオまたは既定のシナリオにおけるユーザーの同意なしに OS またはアプリケーションの設定を変更する

  • セキュリティ機能: 提供されているセキュリティ機能を中断またはバイパスします。
    セキュリティ機能の脆弱性は、既定では「重要」 と評価されますが、評価は、SDLのバグ バーに記載されている他の考慮事項に基づいて調整される場合があります。

    • 例 :

      • ユーザーに通知したり同意を得たりせずにファイアウォールを無効化またはバイパスする

      • ファイアウォールを再構成し、他のプロセスへの接続を許可する

中度
  • Denial of service (サービス拒否)

    • 匿名

      • 既定/共通のインストールで、増幅のない一時的な DoS。

        • 例:

          • セッションを確立して開いたままにして、サーバー上で使用可能なすべてのリソース (セッション、メモリ)を消費する複数のリモートクライアント

    • 認証済み

      • 永続的 DoS

        • 例:

          • ログインしている Exchange ユーザーは、特定のメール メッセージを送信して Exchange サーバーをクラッシュさせることができます。クラッシュは、書き込み AV、悪用可能な読み取りの AV、または整数オーバーフローによるものではありません

      • 既定/共通のインストールで、増幅のある一時的な DoS。

        • 例:

          • 通常の SQL Server ユーザーは、一部の製品によってインストールされたストアド プロシージャを実行し、数分で CPUの100% を消費します。

  • 情報漏えい (標的型)

    • 攻撃者が、公開する予定のないシステム情報を含む特定の場所からシステムに関する情報を簡単に読み取ることができる場合。

      • 例:

        • 匿名データの標的型の開示

        • ファイルの存在の標的型の開示

        • ファイルのバージョン番号の標的型の開示

  • なりすまし

    • エンティティ (コンピューター、サーバー、ユーザー、プロセス) は、特に選択できない別のランダムなエンティティとしてマスカレードできます。

      • 例:

        • クライアントはサーバーに対して適切に認証されますが、サーバーに同時に接続しようとしている別のランダム ユーザーからセッションを復帰させます

  • 改ざん

    • 特定のシナリオにおけるユーザー データまたはシステム データの恒久的または永続的な変更

      • 例 :

        • 特定のシナリオにおけるアプリケーション データフ ァイルまたはデータベースの変更

        • 特定のシナリオでのプロキシ キャッシュ ポイズニング

        • 特定のシナリオでユーザーに同意せずに OS/アプリケーション設定を変更する

    • OS/アプリケーション/セッションの再起動後に保持されない共通または既定のシナリオにおけるデータの一時的な変更

  • セキュリティ保証:

    • セキュリティ保証とは、セキュリティ保護の提供が期待されるセキュリティ機能またはその他の製品機能または機能のことです。 コミュニケーションは、お客様が機能の整合性を信頼できることを明示または暗黙的にメッセージしています。これにより、セキュリティが保証されます。 お客様の依存または信頼を損なうセキュリティ保証の欠点についてセキュリティ情報がリリースされる予定です。

      • 例 :

        • 通常の「ユーザー」特権で実行されているプロセスは、管理者パスワード/資格情報が意図的に承認されているメソッドを使用しない限り、「管理者」特権を得ることはできません。

        • Internet Explorer で実行されているインターネットベースの JavaScript では、ユーザーが既定のセキュリティ設定を明示的に変更していない限り、ホスト オペレーティング システムを制御することはできません。

  • 情報漏えい (非標的型)

    • ランタイム情報

      • 例:

        • ランダム ヒープ メモリのリーク

  • 改ざん

    • OS/アプリケーションの再起動後に保持されない特別なシナリオにおけるデータの一時的な変更

クライアント

広範なユーザー操作は次のように定義されます。

  • 「ユーザー操作」は、クライアント主導のシナリオでのみ発生します。

  • 通常、単純なユーザー操作 (メールのプレビュー、ローカル フォルダーの表示、ファイル共有など) は、ユーザーの操作が広範囲にわたる操作ではありません。

  • 「詳細」には、ユーザーが特定の Web サイトに手動で移動した場合 (URLを入力した場合など) や、[はい/いいえ]をクリックして判断します。

  • 「非拡張」は、ユーザーが電子メール リンクをクリックするなどです。

  • NEAT 修飾子 (警告のみに適用)。 UX は、はっきりと次のようになります。

    • 必要 (ユーザーに対し、本当に意思決定を提示する必要があるか?)

    • 説明 (UX は、ユーザーがこの決定を行うために必要なすべての情報を提示するか?)

    • 行動可能 (問題のないシナリオと悪意のあるシナリオの両方で適切な意思決定を行うためにユーザーが実行できる一連のステップはあるか?)

    • テスト済み (警告は複数の担当者によってレビューされており、警告に対する応答方法をユーザーが理解していることを確認しているか?)。

  • 説明:多くのユーザーによる操作の影響は、重要度のレベルを1 つ下げることではなく、多くのユーザーによる操作がバグ バーに表示されるという特定の状況で重大度が低下していることに注意してください。 この目的は、ユーザーが操作を行うことによって攻撃の速度が低下するため、高速に拡散しワームを使える攻撃を顧客が区別しやすくすることです。 このバグ バーでは、ユーザーの操作によって重要な特権の昇格を減らすことはできません。

クライアント

[重大]

クライアントの概要:

  • クライアントが警告やプロンプトを表示せずに「所有」するネットワーク ワームまたは避けられない一般的なブラウズ/使用シナリオ。

  • 特権の昇格 (リモート): 任意のコードを実行するか、意図しているよりも多くの特権を取得する機能

    • 例 :

      • 不正なファイル システム アクセス: ファイル システムへの書き込み

      • 広範なユーザー操作を使用しない任意のコードの実行

      • すべての書き込み AV、利用可能な読み取りの AV、スタック オーバーフロー、またはリモート呼び出し可能コードでの整数オーバーフロー (広範なユーザー操作なし)

重要

クライアントの概要:

  • クライアントが警告またはプロンプトを使用して「所有」している、またはプロンプトを表示せずに広範囲にわたるアクションを使用している一般的なブラウズ/使用シナリオ。 これは、プロンプトの品質や使いやすさを区別するものではなく、ユーザーがプロンプトをクリックする可能性がありますが、何らかの形式のプロンプトが存在するだけであることに注意してください。

  • 特権の昇格 (リモート)

    • 広範なユーザー操作を使用する任意のコードの実行

      • すべての書き込み AV、利用可能な読み取りの AV、スタック オーバーフロー、またはリモート呼び出し可能コードでの整数オーバーフロー (広範なユーザー操作あり)

  • 特権の昇格 (ローカル)

    • 特権が低いローカルのユーザーは、自身を別のユーザー、管理者、またはローカル システムに昇格させることができます。

      • すべての書き込み AV、悪用可能な読み取りの AV、またはローカル呼び出し可能コードでの整数オーバーフロー

  • 情報漏えい (標的型)

    • 攻撃者がシステム上の情報を見つけて読み取ることができる場合 (意図していない、または公開されていないシステム情報を含む)

    • 例:

      • 不正なファイル システム アクセス: ファイル システムからの読み取り

      • PIIの開示

        • PII (電子メールアドレス、電話番号)の開示

      • 電話のホーム シナリオ

  • Denial of service (サービス拒否)

    • システム破損 DoSの場合は、システムやコンポーネントを再インストールする必要があります。

      • 例:

        • Web ページにアクセスすると、レジストリの破損によってコンピューターが起動しなくなる

    • DoS によるドライブ

      • 条件:

        • 認証されていないシステム DoS

        • 既定の開示

        • 既定のセキュリティ機能または境界の緩和策 (ファイアウォール) はありません。

        • ユーザーによる操作はありません。

        • 監査 および罰の軌跡がありません

        • 例:

          • Bluetooth システム DoS または携帯電話の SMSを使った駆動

  • なりすまし

    • 攻撃者が、既定または一般的なシナリオ有効な信頼の決定を行うために信頼する必要があるものとは異なるものの視覚的には同じ UIを提示する機能。 信頼の決定は、特定のエンティティ (システムまたは特定のローカルまたはリモート ソース) によって表示されている情報があることを示すアクションをユーザーが実行すると、いつでも定義されます。

      • 例 :

        • ブラウザーのアドレスバーに、実際に既定/一般的なシナリオで実際にブラウザーに表示される URL とは別の URLを表示する

        • ブラウザーのアドレス バーからウィンドウを表示すると、見た目はアドレスバーと同じになりますが、既定/一般的なシナリオでは偽のデータが表示されます。

        • [このプログラムを実行しますか?] に別のファイル名が表示される。 既定または一般的なシナリオで実際に読み込まれるファイルのダイアログボックス

        • 「偽の」 ログインプロンプトを表示して、ユーザーまたはアカウントの資格情報を収集します。

  • 改ざん

    • OS/アプリケーションを再起動した後も維持される共通または既定のシナリオで信頼の決定に使用される、ユーザー データまたはデータの永続的な変更。

      • 例 :

        • Web ブラウザー キャッシュ ポイズニング

        • ユーザー同意なく重要な OS/アプリケーション設定を変更する

        • ユーザー データの変更

  • セキュリティ機能: 提供されているセキュリティ機能を中断またはバイパスします

    • 例 :

      • ユーザーに通知するか同意を得てファイアウォールを無効化またはバイパスする

      • ファイアウォールを再構成し、他のプロセスへの接続を許可する

      • 脆弱な暗号化を使用するか、キーをプレーンテキストで保持する

      • AccessCheck バイパス

      • Bitlockerのバイパスたとえば、ドライブの一部を暗号化しないなど

      • Syskey バイパス、パスワードなしで syskeyをデコードする方法

中度
  • Denial of service (サービス拒否)

    • 永続的な DoS にはコールド リブートが必要であるか、ブルースクリーン/バグチェックが発生します。

      • 例:

        • Word 文書を開くと、コンピューターがブルースクリーン/バグ チェックになります。

  • 情報漏えい (標的型)

    • 攻撃者が既知の場所からシステム上の情報を読み取ることができる場合 (意図していない、または公開されていないシステム情報を含む)

      • 例 :

        • 標的型のファイルの存在

        • 標的型のファイルのバージョン番号

  • なりすまし

    • ユーザーが特定のシナリオで習慣的に信頼している UI とは見た目は同じで中身の異なる UIを提示する機能。 「習慣的に信頼している」ことは、オペレーティング システムまたはアプリケーションとの通常の対話に基づいてユーザーがよく知っているすべてのものとして定義されますが、通常、それが 「信頼の決定」とは考えられません。

      • 例 :

        • Web ブラウザー キャッシュ ポイズニング

        • ユーザー同意なく重要な OS/アプリケーション設定を変更する

        • ユーザー データの変更

  • Denial of service (サービス拒否)

    • 一時的な DoS には、アプリケーションの再起動が必要です。

      • 例:

        • HTML ドキュメントを開くと、Internet Explorer がクラッシュする

  • なりすまし

    • 攻撃者が、より 大きな攻撃シナリオの一部分である UI と中身は異なるが見た目は同じものを提示する能力。

      • 例:

        • ユーザーは「悪意のある」 Web サイトにアクセスして、スプーフィングされたダイアログ ボックスのボタンをクリックする必要があります。これにより、別のブラウザーのバグに基づく脆弱性が影響を受けやすくなります。

  • 改ざん

    • OS/アプリケーションの再起動後に保持されないデータの一時的な変更

    • 情報漏えい (非標的型)

      • 例:

        • ランダム ヒープ メモリのリーク

用語の定義

認証済み
ネットワークによる認証が必要な攻撃。 これは、攻撃者を識別できるように、何らかの種類のログ記録が行われる必要があることを意味します。

anonymous
完了するために認証する必要がない攻撃。

client
1 台のコンピューターでローカルに実行されるソフトウェア、またはネットワーク経由でサーバーによって提供される共有リソースにアクセスするソフトウェア。

既定/共通
既定で有効になっている、またはユーザーの10% 以上にリーチするすべての機能。

scenario
特別なカスタマイズやユース ケースを使用して、ユーザーの 10% 未満にリーチする必要がある機能。

サーバー
他のコンピューターで実行されているクライアント プロセスからの要求を待機および処理するソフトウェアを実行するように構成されたコンピューター。

重大
損害の可能性が最も高いと評価されるセキュリティの脆弱性。

重要
重大な損害の可能性があると評価されるが、重大以下のセキュリティ脆弱性。

Moderate
中程度の損害の可能性があると評価されるが、重要ではないセキュリティの脆弱性。


損害の可能性が低いと評価されるセキュリティの脆弱性。

標的型の情報漏えい
目的の情報を意図的に選択 (ターゲット型) する機能。

一時 DoS
一時的 DoS とは、次の条件が満たされている状況です。

  • 攻撃により、ターゲットは通常の操作を実行できません。

  • 攻撃に対する応答は、攻撃の規模とほぼ同じです。

  • 攻撃が終了した直後に、ターゲットは通常の機能レベルに戻ります。 「すぐに」の正確な定義は、製品ごとに評価する必要があります。

たとえば、攻撃者が絶えずパケットのストリームをネットワーク経由で送信している間にサーバーが応答しない場合、パケット ストリームが停止してから数秒後にサーバーが通常の状態に戻ります。

増幅のある仮の DoS

増幅のある一時的 DoS とは、次の条件が満たされている状況です。

  • 攻撃により、ターゲットは通常の操作を実行できません。

  • 攻撃に対する応答は、攻撃の規模を超えて大きくなる可能性があります。

  • 攻撃の完了後、ターゲットは通常の機能レベルに戻りますが、しばらく時間がかかります (おそらく数分)。

たとえば、悪意のある 10 バイトのパケットを送信して、ネットワーク上で 2048k 応答を発生させることができる場合は、攻撃を増幅させて帯域幅をDoS 対応します。

永続的 DoS

永続的 DoS は、システムのすべてまたは一部を開始、再起動、または再インストールするために管理者が必要とするものです。 システムを自動的に再起動する脆弱性は、永続的 DoS でもあります。

サービス拒否 (サーバー) マトリックス

認証済み対匿名の攻撃 既定/共通対シナリオ 一時的な DoS 対パーマネント Rating
認証済み 既定/共通 永久 中度
認証済み 既定/共通 増幅のある仮の DoS 中度
認証済み 既定/共通 一時 DoS
認証済み シナリオ 永久 中度
認証済み シナリオ 増幅のある仮の DoS
認証済み シナリオ 一時 DoS
匿名 既定/共通 永久 重要
匿名 既定/共通 増幅のある仮の DoS 重要
匿名 既定/共通 一時 DoS 中度
匿名 シナリオ 永久 重要
匿名 シナリオ 増幅のある仮の DoS 重要
匿名 シナリオ 一時 DoS

コンテンツの免責事項

このドキュメントは、Microsoftの SDL プラクティスに関する完全なリファレンスではありません。 追加の保証作業は、製品チームによって実行される場合があります (ただし、必ずしも文書化されているわけではありません)。 その結果、この例は、Microsoft がすべての製品をセキュリティで保護するために従う正確なプロセスと見なすべきではありません。

このドキュメントは「現状のまま」 提供されます。 URL および他の参照されているインターネットの Web サイトをはじめ、このドキュメントに記載されている情報および見解は、通知なく変更されることがあります。 このドキュメントの使用上のリスクは、すべてユーザーが負うものとします。

このドキュメントは、Microsoft 製品の知的財産に対する法的権利をお客様に提供するものではありません。 内部での参照を目的とする場合、このドキュメントをコピーして使用できます。

© 2018 Microsoft Corporation. All rights reserved.

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported においてライセンス付与されます