サイバーセキュリティ入門 (Introduction to Cybersecurity)
サイバーセキュリティは、常に善良なハッカー(ホワイトハット)と悪意のあるハッカー(ブラックハット)の間の競争です。サイバー世界の脅威が進化するにつれて、企業が現実の攻撃に最善を尽くして備えることができるよう、より専門的なサービスの必要性も高まっています。
本記事はこちらのサイトの日本語版です。
- はじめに(Introduction)
- 脆弱性評価と侵入テストの限界
- レッドチームエンゲージメント (Red Team Engagements)
- エンゲージメントのチームと機能 (Teams and Functions of an Engagement)
- エンゲージメント構造(Engagement Structure)
- 赤チームエンゲージメントの全体像 (Overview of a Red Team Engagement)
- 結論 (Conclusion)
はじめに(Introduction)
脆弱性評価と侵入テスト (Vulnerability Assessments and Penetration Tests)
従来のセキュリティ対策としての脆弱性評価や侵入テストは、企業の技術的なセキュリティ体制の全体像を提供するのに優れていますが、実際の攻撃者が利用可能な他の側面を見落とす可能性があります。この意味で、従来の侵入テストは、予防策を講じるための脆弱性を示すのには良いですが、動機を持った敵による実際の進行中の攻撃にどう対応するかを教えてくれないかもしれません。
レッドチーム演習の基礎 (Basics of Red Team Engagements)
目的 (Room Objectives)
- レッドチーム演習の基本について学ぶ
- レッドチーム演習に関わる主要な要素と関係者を特定する
- レッドチーミングと他のタイプのサイバーセキュリティ対策との主な違いを理解する
前提条件 (Room Prerequisites)
このセクションを始める前に、一般的なハッキング技術についての知識が必要です。必須ではありませんが、Jr. Penetration Tester Learning Pathを完了することが推奨されます。
脆弱性評価と侵入テストの限界
(Vulnerability Assessment and Penetration Tests Limitations)
脆弱性評価 (Vulnerability Assessments)
脆弱性評価は、セキュリティ評価の中で最も基本的な形式であり、その主な目的は、可能な限り多くのシステムに存在する脆弱性を識別することです。この目標を効果的に達成するために、攻撃者のマシンがセキュリティソリューションにホワイトリストされ、脆弱性発見プロセスの妨げにならないようにすることもあります。これは、ネットワーク上のすべてのホストを個別に見て、そのセキュリティ状態を評価し、企業が修復努力を集中すべき場所について最も多くの情報を提供することが目的であるため理にかなっています。
要約すると、脆弱性評価は、ホストを個々のエンティティとしてスキャンし、セキュリティ上の欠陥を識別し、優先順位を付けてネットワークを保護するための効果的なセキュリティ対策を展開することに焦点を当てています。ほとんどの作業は自動化ツールで行うことができ、技術的な知識があまりないオペレーターによって実行されます。
例えば、あるネットワークで脆弱性評価を実行する場合、可能な限り多くのホストをスキャンしようとしますが、実際には脆弱性を悪用しようとはしません。
侵入テスト (Penetration Tests)
すべてのホストをスキャンして脆弱性を探すだけでなく、それらがネットワーク全体にどのような影響を与えるかを理解する必要があります。侵入テストは、脆弱性評価に追加して、ペネトレーションテスターが攻撃者が全体のネットワークに与える影響を探るために追加のステップを行うことを可能にします。これには以下が含まれます:
- 各システムで見つかった脆弱性を悪用しようとする試み。これは、システムに脆弱性が存在しても、その悪用を効果的に防ぐ補償制御がある場合があるため重要です。また、検出された脆弱性を使用して特定のホストを侵害できるかどうかをテストすることもできます。
- 侵害されたホストでのポストエクスプロイトタスクを実行し、それらから有用な情報を抽出できるか、または以前にはアクセスできなかった他のホストに移動するために使用できるかどうかを見つけます。
侵入テストは、通常の脆弱性評価と同じように脆弱性のスキャンから始まるかもしれませんが、攻撃者が特定の目標を達成するために脆弱性をどのように連鎖させるかについてのさらなる情報を提供します。その焦点は脆弱性の特定とネットワークを保護するための対策の確立にありますが、ネットワークを全体のエコシステムとして考慮し、攻撃者がそのコンポーネント間の相互作用から利益を得る方法も考慮します。
侵入テストを実施する場合、ネットワーク上のすべてのホストをスキャンするだけでなく、それらが悪用可能かどうかを確認し、攻撃者がネットワークに与える影響を示そうとします。
攻撃者が私たちのネットワークをどのように移動できるかを分析することで、セキュリティ対策のバイパスの可能性や、ある程度まで実際の脅威アクターを検出する能力についての基本的な洞察も得られます。ただし、侵入テストの範囲は通常広範であり、侵入テスターはセキュリティデバイス上で多くのアラートを生成することをあまり気にしないため、限定的です。プロジェクトに時間制約があるため、短時間でネットワークをチェックする必要があります。
高度持続的脅威と定期的なペンテスティングが不十分な理由
(Advanced Persistent Threats and Why Regular Pentesting is Not Enough)
従来のセキュリティ対策が技術的な脆弱性のほとんどをカバーしているものの、これらのプロセスには限界があり、実際の攻撃者に対して企業を効果的に準備させる範囲には限界があります。これらの限界には以下が含まれます:
- 侵入テストは「うるさい」: 通常、ペンテスターは検出されないようにするために多大な努力をしません。実際の攻撃者とは異なり、検出されやすいことを気にしません。なぜなら、彼らは可能な限り多くのホストで多くの脆弱性を見つけることが契約による目的だからです。
- 非技術的な攻撃ベクトルが見落とされがち: ソーシャルエンジニアリングや物理的な侵入に基づく攻撃は、通常、テストの対象に含まれません。
- セキュリティメカニズムの緩和: 通常の侵入テストを行う際、効率を優先するために一時的にいくつかのセキュリティメカニズムを無効にするか緩和することがあります。これは直感に反するかもしれませんが、ペンテスターにはネットワークをチェックする時間が限られているため、IDS/IPS、WAF、侵入欺瞞などのセキュリティ対策を迂回する奇妙な方法を探す時間を無駄にすることなく、脆弱性のある重要な技術インフラをレビューに集中することが通常望まれます。
一方、実際の攻撃者は倫理的なコードに従わず、その行動にほとんど制限がありません。今日では、最も顕著な脅威アクターは「高度持続的脅威(APT)」として知られており、これらは通常、国家や組織犯罪グループによって支援される高度に熟練した攻撃者のグループです。彼らは主に重要なインフラ、金融機関、政府機関を標的にしています。これらのグループのオペレーションが長期間にわたって侵害されたネットワーク上で検出されない可能性があるため、「持続的」と呼ばれます。
APTによって企業が影響を受けた場合、効果的に対応する準備はできていますか?数ヶ月間ネットワーク上にいた攻撃者が使用した方法を検出できますか?もし初期アクセスが、会計担当のジョンが怪しいメールの添付ファイルを開いたために得られたとしたらどうでしょうか?ゼロデイエクスプロイトが関与していた場合はどうでしょうか?以前の侵入テストがこれに備えるための準備をしてくれますか?
より現実的なアプローチをセキュリティに提供するために、レッドチームエンゲージメントが誕生しました。
レッドチームエンゲージメント (Red Team Engagements)
新たに出現する脅威に対応するため、レッドチームエンゲージメントは、通常の侵入テストから防御チームが実際の脅威アクターを検出し対応する能力を明確に見ることができるプロセスに焦点を移すよう設計されました。これらは従来の侵入テストを置き換えるものではありませんが、予防ではなく検出と対応に焦点を当てることで、それらを補完します。
レッドチーミングとは? (What is Red Teaming?)
レッドチーミングは、軍事から借用された用語です。軍事演習では、グループがレッドチームの役割を担い、防御チーム(一般にブルーチームとして知られる)の反応能力を既知の敵の戦略に対してテストするために、攻撃技術をシミュレートします。サイバーセキュリティの世界に置き換えると、レッドチームエンゲージメントは、実際の脅威アクターの戦術、技術、手順(TTPs)を模倣し、我々のブルーチームがそれにどれだけうまく対応できるかを測定し、最終的には既存のセキュリティコントロールを改善することから成り立っています。
エンゲージメントの開始 (Starting an Engagement)
レッドチームエンゲージメントは、クラウンジュエルまたはフラグとして参照されることが多い明確な目標を定義することから始まります。これには、特定の重要なホストを危険にさらすことからターゲットからの機密情報の窃取までが含まれます。通常、ブルーチームはそのような演習の存在を知らされず、彼らの分析にいかなるバイアスも導入することを避けます。レッドチームは、ファイアウォール、アンチウイルス、EDR、IPSなどの既存のセキュリティメカニズムを回避しながら検出されずに目標を達成するためにあらゆることを行います。
エンゲージメントの目標 (Objectives of Engagement)
レッドチームエンゲージメントの最終的な目標は、レッドチームがブルーチームを「打ち負かす」ことではなく、ブルーチームが実際の進行中の脅威に適切に反応できるように十分なTTPsをシミュレートすることです。必要に応じて、彼らの検出能力を向上させるのに役立つセキュリティコントロールを調整したり追加したりすることができます。
レッドチームエンゲージメントの改善点 (Improvements in Red Team Engagements)
レッドチームエンゲージメントは、いくつかの攻撃面を考慮することで、通常の侵入テストを改善します。
- 技術インフラストラクチャ : 通常の侵入テストと同様に、レッドチームは技術的な脆弱性を明らかにしようとしますが、隠密行動と回避にはるかに大きな重点を置きます。
- ソーシャルエンジニアリング : フィッシングキャンペーン、電話、ソーシャルメディアを通じて人々をターゲットにし、プライベートであるべき情報を明かさせるためにだます。
- 物理的侵入 : ロックピッキング、RFIDクローニング、電子アクセス制御デバイスの弱点を利用するなどの技術を使用して、施設の制限区域へのアクセスを得る。
利用可能なリソースに応じて、レッドチームエンゲージメントは複数の方法で実行できます。
- フルエンゲージメント : 初期の侵害から最終目標が達成されるまで、攻撃者のフルワークフローをシミュレートします。
- 想定された侵害 : 攻撃者が既にいくつかのアセットを制御下に置いていると仮定してスタートし、そこから目標を達成しようとします。例えば、レッドチームは、内部ネットワークのワークステーションまたはいくつかのユーザーのクレデンシャルへのアクセスを受け取ることができます。
- テーブルトップエクササイズ : レッドチームとブルーチームの間でシナリオが議論され、特定の脅威に対して理論的にどのように対応するかを評価するテーブル上のシミュレーション。ライブシミュレーションを行うのが複雑な状況に理想的です。
エンゲージメントのチームと機能 (Teams and Functions of an Engagement)
レッドチームエンゲージメントには、いくつかの要素と関わる人々がいます。それぞれが独自の考え方と方法論を持ってエンゲージメントに臨みますが、各エンゲージメントは三つのチーム、または「セル」に分けることができます。以下は、各チームとその責任について簡単に説明した表です。
チームの定義 (Team Definitions)
レッドセル (Red Cell)
レッドセルは、対象の戦略的、戦術的反応を模倣するレッドチームエンゲージメントの攻撃部分を構成します。
ブルーセル (Blue Cell)
ブルーセルはレッドセルの対極にあり、対象ネットワークを守るすべての要素を含みます。通常、ブルーチームのメンバー、防衛者、内部スタッフ、組織の管理者で構成されています。
ホワイトセル (White Cell)
エンゲージメント中のレッドセルの活動とブルーセルの反応との間で審判を務めます。エンゲージメント環境/ネットワークを制御し、ROE(行動規則)の遵守を監視し、エンゲージメントの目標達成に必要な活動を調整し、レッドセルの活動と防衛アクションを関連付け、エンゲージメントがどちらの側にも偏りなく行われるようにします。
これらの定義はredteam.guideからのものです。
これらのチームまたはセルは、さらにエンゲージメント階層に分けることができます。
レッドチームの構成と役割 (Red Team Structure and Roles)
レッドチーム指向のこのセクションでは、レッドセルの責任に焦点を当てます。以下は、レッドチームメンバーの役割と責任を概説した表です。
レッドチームリード (Red Team Lead)
高レベルでエンゲージメントを計画・組織し、アシスタントリードとオペレーターにエンゲージメントの任務を委任します。
レッドチームアシスタントリード (Red Team Assistant Lead)
チームリードを支援し、エンゲージメントの運営とオペレーターを監督します。必要に応じてエンゲージメントプランや文書の作成を手伝うこともできます。
レッドチームオペレーター (Red Team Operator)
チームリードから委任された任務を実行します。チームリードからのエンゲージメントプランを解釈・分析します。
ほとんどのレッドチーム機能と同様に、各チームや会社にはそれぞれの構造とチームメンバーの役割があります。上記の表は、各役割の典型的な責任を例として示しているだけです。
エンゲージメント構造(Engagement Structure)
サイバー攻撃の流れ(Cyber Kill Chain)
サイバー攻撃の一連の手順を「キルチェーン」と呼びます。これは敵(攻撃者)がどのような手法を使って攻撃を行うのかを理解するためのモデルです。
敵の模倣(Adversary Emulation)
レッドチームは、攻撃者の行動を再現して、実際の敵が使うツールや方法で環境を評価します。
行動のマッピング(Mapping Behaviors)
ブルーチームはキルチェーンを使い、敵の動きを分析し、攻撃の手順を明確にします。レッドチームもこれを応用して、攻撃の各段階に対応する戦術や技術、手順(TTPs)をマッピングします。
標準的なキルチェーンの例
以下に、いくつかの標準的なキルチェーンを挙げます。
- ロッキード・マーチンのキルチェーン(Lockheed Martin Cyber Kill Chain)
- 統合キルチェーン(Unified Kill Chain)
- ヴァロニスのキルチェーン(Varonis Cyber Kill Chain)
- アクティブディレクトリ攻撃サイクル(Active Directory Attack Cycle)
- MITRE ATT&CK フレームワーク(MITRE ATT&CK Framework)
ロッキード・マーチンのキルチェーン
この教室では、レッドチームとブルーチームの間でよく使われるロッキード・マーチンのキルチェーンについて学びます。他のキルチェーンと比べて標準化されていて、外部からの侵入に焦点を当てています
キルチェーンの要素 (Components of the Kill Chain)
偵察 (Reconnaissance)
- 目的:ターゲットに関する情報収集
- 例:メールアドレスの収集、OSINT(公開情報)
武器化 (Weaponization)
- 目的:目標とエクスプロイト(攻撃コード)を組み合わせる
- 例:バックドア(Backdoor)を含むエクスプロイト、悪意のあるオフィスドキュメント
配信 (Delivery)
- 目的:武器化した機能をターゲットにどう届けるか
- 例:メール、ウェブ、USB
悪用 (Exploitation)
- 目的:ターゲットのシステムを悪用してコードを実行
- 例:MS17-010、ゼロログオン(Zero-Logon)など
インストール (Installation)
- 目的:マルウェアやその他のツールをインストール
- 例:ミミカッツ(Mimikatz)、ルベウス(Rubeus)など
コマンド&コントロール (Command & Control)
- 目的:リモートの中央コントローラーから侵害した資産を制御
- 例:エンパイア(Empire)、コバルトストライク(Cobalt Strike)など
目標の実行 (Actions on Objectives)
- 目的:最終目標の達成、例えば身代金要求ソフト(ransomware)、データの外部送出(data exfiltration)など
- 例:コンティ(Conti)、ロックビット2.0(LockBit2.0)など
赤チームエンゲージメントの全体像 (Overview of a Red Team Engagement)
赤チームエンゲージメントは、サイバーセキュリティ演習の一種です。これは攻撃者の立場から防御側のセキュリティをテストすることを目的としています。私たちがこれまでに議論してきたすべての要素が、実際に赤チームの活動を行う際に結びつきます。コンポーネントや関係者がどのように相互作用するかをよりよく理解するために、簡略化されたエンゲージメントの例を分析していきます。
サイバーキルチェーンと赤チームエンゲージメント (The Cyber Kill Chain and Red Team Engagement)
- 偵察フェーズ (Recon Phase)
まず、「偵察」段階から始めます。ここでは、ターゲットに関するできるだけ多くの情報を収集します。 - 武器化と配信 (Weaponization and Delivery)
次に、「武器化」と「配信」により、悪意のある添付ファイルを含むフィッシングメールを送信します。 - 悪用とインストール (Exploitation and Installation)
その後、「悪用」段階を経て、例えばBOB-PC上でローカルエクスプロイトを使用して権限を昇格させ、「インストール」段階では侵害したホストにツールをインストールしてパスワードハッシュをダンプし、横断的な移動を行います。 - 目標の実行 (Actions on Objectives)
最後に、「目標の実行」段階において、ついにターゲットとの接続が確立されます。
エンゲージメントの計画 (Planning the Engagement)
目標の設定 (Defining Goals)
白チーム(White Team)と赤チーム(Red Team)は、ビジネスのリスクシナリオに沿った目標を定義します。
青チーム(Blue Team)はこの段階では演習について通知されません。なぜなら、攻撃者に対する彼らの自然な反応を分析したいからです。
情報収集 (Intelligence Gathering)
赤チームは、以下を含む銀行に関するできるだけ多くの情報を収集します:
- 使用されている技術
- 従業員リスト
- ソーシャルメディア上の情報
- 写真
- その他の利用可能な情報…
APT(高度持続的脅威)の脅威情報源も使用され、類似の企業を狙うAPTのTTPや使用ツールをよりよく理解します。例として、カーバナック(Carbanak)の情報をチェックできます。
手に入れた全情報をもとに、赤チームはターゲットに適合するいくつかのTTPを含む計画を作成し、白チームに承認を得ます。
TTPのエミュレート (Emulating TTP)
フィッシングキャンペーン (Phishing Campaign)
赤チームは、LinkedInで見つけた従業員の名前に基づいて作成したメールリストに対して、フィッシングキャンペーンを開始します。
例:
- [julie.smith@bank.example.com]()
- [john.watson@bank.example.com]()
フィッシングキャンペーンは検出されましたが、青チームは全従業員に警告メールを送ることで対応しました。しかし、感染したPCをチェックするプロセスや、全ユーザーの受信箱から悪意のあるメールのコピーを削除するプロセスがなかったため、攻撃は続行されました。
権限昇格と永続性 (Privilege Escalation and Persistence)
赤チームはBOB-PCに欠けているWindowsパッチを発見しました。その中の1つは、PrintNightmareの悪用を可能にしていました。
公開されているエクスプロイトは多くのAVソリューションによって検出されましたが、AV回避技術が成功裏に適用され、何の警告も引き起こすことなくSYSTEM権限を取得しました。
赤チームは、変更されたミミカッツ(mimikatz)をアップロードして実行し、ローカルのパスワードハッシュを抽出することができました。これには、「Backups」というローカル管理者アカウントも含まれています。
横断的な移動のエミュレーション (Emulating TTP: Lateral Movement)
横断的な移動(Lateral Movement)とは、ネットワーク内の他のホストへのアクセスを試みる技術です。赤チームは、「パス・ザ・ハッシュ(Pass-the-Hash)」攻撃をネットワーク上の全てのホストに対して実行し、「バックアップス(Backups)」ユーザーが他のホストにログインできるかどうかを確認しました。ファイアウォールのポリシーにより、DBサーバーへの直接接続は防がれていました。
追加の偵察を行った結果、「DBA-PC」というワークステーションが特定されました。パス・ザ・ハッシュを使用してDBA-PCを侵害し、DBサーバーへの接続のための中継点として使用しました。
パス・ザ・ハッシュの試みは、「バックアップス」ユーザーからの多数のログイン試行アラートを引き起こしましたが、青チームはこれを毎月行われるバッチバックアッププロセスと混同し、無視しました。
報告と分析 (Reporting and Analysis)
演習を終えた後、赤チーム、白チーム、青チームは集まり、銀行のセキュリティを向上させる方法について話し合います。
特定のTTP(戦術、技術、手順)に焦点を当てていますが、実際のエンゲージメントでは失敗する試みも通常含まれます。これらの「失敗」した試みも演習に有効な情報を提供することが重要です。例えば、DBサーバーに対してブルートフォース攻撃を実行して有効な資格情報が得られなかったとしても、青チームがエンゲージメントの終わりにその攻撃を検出したかどうかを確認することは興味深いでしょう。
また、エンゲージメント中に予期しない展開を迎えることも多いです。演習を適切な方向に導くための決定を下し、最終的な対立を避けるために、赤チームと白チーム間での明確なコミュニケーションを維持することが非常に重要です。
結論 (Conclusion)
このセクションでは、赤チームエンゲージメント(Red Team Engagements)の簡略化された概要をご紹介しました。この演習を初めて理解するために、主要な概念、コンポーネント、関係者を説明しました。続くセクションでは、実際のエンゲージメントの背後にあるすべての計画と、途中で本物の攻撃者が使用するかもしれない多くのクールな技術について学びます。これには、脅威インテリジェンス(Threat Intelligence)を自分の利益に活かす方法、現代のホストに存在するセキュリティメカニズムを回避する方法、横断的な移動(Lateral Movement)を実行する方法、そして何としても検出を避ける方法が含まれます。
コメント