本ブログ記事は、2020年11月13日に米国で公開されたBlackBerryのブログ記事の抄訳版です。原文はこちらからご覧頂けます。
この記事は、BlackBerry® インシデント対応(IR)チームによるシリーズの第 4 回目です。IR チームは、インシデントの発生を阻止するか、その影響を大幅に減らす重要な行動について調査しています。最初の 3 つの記事については、こちらをご覧ください。
インサイト
攻撃者はエクスプロイト後、通常は目的を達成するために権限を昇格させる必要があります。したがって、攻撃者による権限の昇格を難しくしなければなりません。アカウント権限の適切な割り当てでは、現在の仕事を実行するために十分なアクセスを許可しながら、アカウントが侵害された場合の損害を減らすためにアクセスを最低限に抑えるという絶妙なバランスが必要です。これは最小権限の原則の核心をなし、以下の 2 つの主な理由から重要です。
1) ホストがエクスプロイトにより侵害された場合、攻撃者は悪用した脆弱なソフトウェアのアクセスレベル(権利)を通常引き継ぎます。
a. 例:管理者権限で Web サーバーを実行している場合にそのサーバーが悪用されると、攻撃者は管理者になります。
2) 攻撃者がシステムのフルコントロール(NT AUTHORITY/SYSTEM または管理者)を得ると、ドメインユーザーも含め、通常はシステム上のその他のあらゆるプロセスのトークンを盗み出すことができます。
a. 例:ドメインの管理者アカウントでバックアップアプリケーションを実行しているとします。ホストが悪用され、攻撃者がそのバックアップアプリケーションプロセスに移行するかトークンを盗むことができれば、攻撃者はドメインの管理者になることができます。
図 1:トークンの窃盗の例
現実世界のシナリオ
最悪のインシデント対応事例は、たいていは組織が最小権限の原則に従っていない場合に発生しています。最初に悪用されたホストに、攻撃者がネットワーク内で水平展開して目的を達成するために十分なドメインの認証情報が含まれていることがあります。
これは、アクセス権が多すぎるサービスアカウント、またはユーザーがいつかログインしたことによりキャッシュに保存されたドメインの管理者アカウントの場合もあります。いずれにしても、これにより攻撃者は短時間でさらに多くの被害を及ぼすことができます。最小権限の原則に従うことにより、攻撃者による必要な権限の捜索と獲得をより困難にすることができれば、攻撃者が深刻な被害を引き起こす前に捕獲し、阻止する追加の機会が生まれます。
最近の現実世界の例では、BlackBerry インシデント対応チームは、初期侵害が Microsoft インターネットインフォメーションサービス(IIS)を実行する不安定な Web アプリケーションで発生していたことを特定しました。このアプリケーションの脆弱性により、攻撃者は悪名高い China ChopperWeb シェルの変種をアップロードし、永続性を得ることができました。ご存知かもしれませんが、China Chopper およびその大半の変種は、ファイルの作成や実行などの多数の機能を攻撃者に提供する、機能豊富な Web シェルです。さらに問題を悪化させたのは、IIS プロセスを実行していたアカウントが、昇格された権限を持つドメインアカウントでもあったという点です。「ドメイン管理者」ではありませんでしたが、このアカウントにはネットワーク上の他の大半のシステムへのリモートログオンを可能にするための十分な権限がありました。攻撃者はこのアクセス権を使用して水平展開し、目的を達成するために必要な残りの認証情報を収集しました。
このシリーズの記事をお読みになっている方は、脆弱性の管理やネットワークのセグメント化など、関連する記事で解説した他の問題にも気付いたかもしれません。組み合わさると、これらの問題は破壊的な結果をもたらします。
最小権限の原則に従うためのヒント
これはこのシリーズで扱った中で最も難しいトピックかもしれませんが、手始めに以下のチェックリストをご活用ください。
- ドメインまたはフォレスト内の特権ユーザーアカウントの数を確認します(例:ドメイン管理者とエンタープライズ管理者は何人いますか?)
- ドメインまたはフォレスト内の特権サービスアカウントの数を確認します(例:ドメイン管理者またはエンタープライズ管理者のアカウントを使用するアプリケーションはいくつありますか?)
- 特権アカウント用のセキュリティソフトウェアを使用していますか? (例:エンタープライズパスワード管理用のパスワードボールト)
- 適切なレッドチームアセスメントを実施します(例:特権アクセス違反を見つけ出すには Bloodhound およびその変形が有効)
図 2:Bloodhound での昇格パスのマッピングの例
特権アカウントの数を減らし、これらのアカウントへのアクセスを 1 回のみの使用に制限し、昇格パスの有無を継続的にチェックして排除することにより、攻撃者による権限の昇格をより困難にできます。
まとめ
最小権限の原則に厳密に従うための適切な対策を実施することは厄介な作業ですが、対策を維持し、テストするためのソフトウェアも利用できます。このソフトウェアを適切な人材とトレーニングと組み合わせることにより、実現が可能です。
常に、攻撃者の作業をより困難にすることを目指します。攻撃者をイライラさせてミスを誘発することにより、攻撃者を捕獲し、阻止します。この最前線から得た教訓を他の教訓と組み合わせることにより、セキュリティの勝者となり、組織に対する攻撃をより確実に撃退できるようになります。