こんにちは、さとうです。
米国の非営利団体MITREが、攻撃者がサイバー攻撃の初期段階でターゲット選択や情報収集、攻撃キャンペーンを始めるための流れや手法などを体系化したナレッジベースの
「PRE-ATT&CK」
を公開しています。
サイバー攻撃自体の流れや手法はATT&CKで体系化されています。
サイバーキルチェーンでは、攻撃の流れを
偵察⇒武器化⇒配送⇒エクスプロイト⇒制御⇒実行⇒維持
としていますが、PRE-ATT&CKでは、エクスプロイトより前の段階を対象としています。
攻撃者が具体的な攻撃を始める前の段階の手法を理解しておくことにより、防御する側では先手を打ってセキュリティ対策を検討することができます。
PRE-ATT&CKには、以下の15ものカテゴリがあります。(必ずしもこの通りの順番で実施されるわけではなく、すべてが実施されるわけでもありません。)
<PRE-ATT&CK>
・Priority Definition Planning :プライオリティ定義の計画作成
・Priority Definition Direction :プライオリティ定義の方向づけ
・Target Selection :ターゲットの選定
・Technical Information Gathering :技術面の情報収集
・People Information Gathering :人間面の情報収集
・Organizational Information Gathering :組織面の情報収集
・Technical Weakness Identification :技術的弱点の特定
・People Weakness Identification :人間の弱点の特定
・Organizational Weakness Identification:組織の弱点の特定
・Adversary OPSEC :攻撃者のOPSEC(運用上のセキュリティ)
・Establish & Maintain Infrastructure :インフラの確立と維持
・Persona Development :ペルソナの開発
・Build Capabilities :構築能力
・Test Capabilities :テスト能力
・Stage Capabilities :ステージ能力
PRE-ATT&CKにおける攻撃ステップごとの攻撃手法は以下の通りとなっています。(各々アルファベット順に記載されています。また、重複もあります。)
■Priority Definition Planning:プライオリティ定義の計画作成
攻撃者は主要な戦略的、運用的、または戦術的な目標を達成するために必要なKITまたはKIQを決定します。(ここではうち10/13件を記載)
※KIT:キーインテリジェンストピック
※KIQ:キーインテリジェンスクエスチョン
・Assess current holdings, needs, and wants(現在、保有しているもの、必要なもの、欲しいものの評価)・Assess KITs/KIQs benefits(KIT / KIQの利点の評価)
・Assess leadership areas of interest(関心のあるリーダーシップ分野の評価)
・Assign KITs/KIQs into categories(KIT / KIQの各カテゴリへの割当て)
・Conduct cost/benefit analysis(費用/便益分析の実施)
・Create implementation plan(実装計画の作成)
・Create strategic plan(戦略計画の作成)
・Derive intelligence requirements(インテリジェンス要件の導出)
・Develop KITs/KIQs(KIT / KIQの開発)
・Generate analyst intelligence requirements(アナリストによるインテリジェンス要件の生成)
■Priority Definition Direction:プライオリティ定義の方向づけ
攻撃者はKITおよびKIQを満たすための要件を収集し割り当てます。
・Assign KITs, KIQs, and/or intelligence requirements(KIT、KIQ、および/またはインテリジェンス要件の割当て)
・Receive KITs/KIQs and determine requirements(KIT / KIQの受取りおよび要件の決定)
・Submit KITs, KIQs, and intelligence requirements(KIT、KIQ、およびインテリジェンス要件の提出)
・Task requirements(要件のタスク化)
■Target Selection:ターゲットの選定
攻撃者はターゲットを最初に戦略レベルで検討し、運用上および戦術上で絞り込みます。
・Determine approach/attack vector(アプローチ/攻撃ベクトルの決定)
・Determine highest level tactical element(最高レベルの戦術要素の決定)
・Determine operational element(運用要素の決定)
・Determine secondary level tactical element(二次レベルの戦術的要素の決定)
・Determine strategic target(戦略的目標の決定)
■Technical Information Gathering:技術面の情報収集
攻撃者は最適な攻撃を行うために必要なインテリジェンスの重要な技術要素を識別します。(ここではうち10/20件を記載)
・Acquire OSINT data sets and information(OSINTのデータセットおよび情報の取得)
・Conduct active scanning(アクティブスキャンの実行)
・Conduct passive scanning(パッシブスキャンの実行)
・Conduct social engineering(ソーシャルエンジニアリングの実行)
・Determine 3rd party infrastructure services(サードパーティのインフラサービスの決定)
・Determine domain and IP address space(ドメインとIPアドレススペースの決定)
・Determine external network trust dependencies(外部ネットワークの信頼関係の決定)
・Determine firmware version(ファームウェアのバージョンの決定)
・Discover target logon/email address format(ターゲットのログオン/メールアドレス形式の検出)
・Enumerate client configurations(クライアントの構成情報の列挙)
■People Information Gathering:人間面の情報収集
攻撃者はベストな攻撃を行うために必要なインテリジェンスの重要な人的要素を識別します。(ここではうち10/11件を記載)
・Acquire OSINT data sets and information(OSINTのデータセットおよび情報の取得)
・Aggregate individual's digital footprint(個人のデジタル情報の集約)
・Conduct social engineering(ソーシャルエンジニアリングの実行)
・Identify business relationships(ビジネス関係の特定)
・Identify groups/roles(グループ/役割の特定)
・Identify job postings and needs/gaps(求人とニーズ/ギャップの特定)
・Identify people of interest(関心のある人の特定)
・Identify personnel with an authority/privilege(権限/特権を持つ担当者の特定)
・Identify sensitive personnel information(機密の人事情報の特定)
・Identify supply chains(サプライチェーンの特定)
・Mine social media(ソーシャルメディアの探索)
■Organizational Information Gathering:組織面の情報収集
攻撃者は最適な攻撃を行うために必要なインテリジェンスの重要な組織的要素を識別します。(ここではうち10/11件を記載)
・Acquire OSINT data sets and information(OSINTのデータセットおよび情報の取得)
・Conduct social engineering(ソーシャルエンジニアリングの実行)
・Determine 3rd party infrastructure services(サードパーティのインフラサービスの決定)
・Determine centralization of IT management(IT管理の一元化の決定)
・Determine physical locations(物理的な場所の決定)
・Dumpster dive(ゴミ箱あさり)
・Identify business processes/tempo(ビジネスのプロセス/テンポの特定)
・Identify business relationships(ビジネスの関係性の特定)
・Identify job postings and needs/gaps(求人とニーズ/ギャップの特定)
・Identify supply chains(サプライチェーンの特定)
・Obtain templates/branding materials(テンプレート/ブランディング資料の入手)
■Technical Weakness Identification:技術的弱点の特定
攻撃者はインテリジェンス情報収集で収集された技術的な脆弱性を特定します。
・Analyze application security posture(アプリケーションのセキュリティ状態の分析)
・Analyze architecture and configuration posture(アーキテクチャおよび構成状態の分析)
・Analyze data collected(収集されたデータの分析)
・Analyze hardware/software security defensive capabilities(ハードウェア/ソフトウェアのセキュリティ防御機能の分析)
・Analyze organizational skillsets and deficiencies(組織のスキルセットと欠陥の分析)
・Identify vulnerabilities in third-party software libraries(サードパーティソフトウェアライブラリの脆弱性の特定)
・Research relevant vulnerabilities/CVEs(関連する脆弱性/ CVEの調査)
・Research visibility gap of security vendors(セキュリティベンダーの目に見えるギャップの調査)
・Test signature detection(シグネチャ検知のテスト)
■People Weakness Identification:人間の弱点の特定
攻撃者はインテリジェンス情報収集で収集された人間の脆弱性を特定します。
・Analyze organizational skillsets and deficiencies(組織のスキルセットと欠陥の分析)
・Analyze social and business relationships, interests, and affiliations(社会的およびビジネス上の関係、関心、所属の分析)
・Assess targeting options(ターゲティングオプションの評価)
■Organizational Weakness Identification:組織の弱点の特定
攻撃者はインテリジェンス情報収集で収集された組織の脆弱性を特定します。
・Analyze business processes(ビジネスプロセスの分析)
・Analyze organizational skillsets and deficiencies(組織のスキルセットと欠陥の分析)
・Analyze presence of outsourced capabilities(アウトソーシングされた機能の存在の分析)
・Assess opportunities created by business deals(ビジネス上の取引によって作り出された機会の評価)
・Assess security posture of physical locations(物理的な場所のセキュリティ状態の評価)
・Assess vulnerability of 3rd party vendors(サードパーティベンダーの脆弱性の評価)
■Adversary OPSEC:攻撃者のOPSEC(運用上のセキュリティ)
攻撃者は攻撃者自身の作業の効率化、セキュア化を行います。(ここではうち10/23件を記載)
・Acquire and/or use 3rd party infrastructure services(サードパーティのインフラサービスの取得および/または使用)
・Acquire and/or use 3rd party software services(サードパーティのソフトウェアサービスの取得および/または使用)
・Acquire or compromise 3rd party signing certificates(サードパーティの署名証明書の取得または侵害)
・Anonymity services(匿名サービス)
・Common, high volume protocols and software(一般的な大容量プロトコルおよびソフトウェア)
・Compromise 3rd party infrastructure to support delivery(配送をサポートするためのサードパーティのインフラの侵害)
・Data Hiding(データ隠蔽)
・DNSCalc(DNSCalc)
・Domain Generation Algorithms (DGA)(ドメイン生成アルゴリズム(DGA))
・Dynamic DNS(ダイナミックDNS)
■Establish & Maintain Infrastructure:インフラの確立と維持
攻撃者はサイバー攻撃に使用するシステムやサービスなどのインフラの構築や維持を行います。(ここではうち10/16件を記載)
・Acquire and/or use 3rd party infrastructure services(サードパーティのインフラサービスの取得および/または使用)
・Acquire and/or use 3rd party software services(サードパーティのソフトウェアサービスの取得および/または使用)
・Acquire or compromise 3rd party signing certificates(サードパーティの署名証明書の取得または侵害)
・Buy domain name(ドメイン名の購入)
・Compromise 3rd party infrastructure to support delivery(配送をサポートするためのサードパーティのインフラの侵害)
・Create backup infrastructure(バックアップインフラの作成)
・Domain registration hijacking(ドメイン登録ハイジャック)
・Dynamic DNS(ダイナミックDNS)
・Install and configure hardware, network, and systems(ハードウェア、ネットワーク、およびシステムのインストールおよび設定)
・Obfuscate infrastructure(インフラの難読化)
■Persona Development:ペルソナの開発
攻撃者は公開情報、プレゼンス、履歴などから別人格を開発します。
・Build social network persona(ソーシャルネットワークのペルソナの構築)
・Choose pre-compromised mobile app developer account credentials or signing keys(事前に侵害されたモバイルアプリ開発者アカウントの資格情報または署名キーの選択)
・Choose pre-compromised persona and affiliated accounts(事前に侵害されたペルソナとアフィリエイトアカウントの選択)
・Develop social network persona digital footprint(ソーシャルネットワークのペルソナのデジタル情報収集の開発)
・Friend/Follow/Connect to targets of interest(友人/フォロー/関心のあるターゲットへの接続)
・Obtain Apple iOS enterprise distribution key pair and certificate(Apple iOSエンタープライズ配布キーペアと証明書の取得)
■Build Capabilities:ビルド機能
攻撃者は攻撃に必要なソフトウェア、データ、および手法等を構築します。(ここではうち10/11件を記載)
・Build and configure delivery systems(配送システムの構築と設定)
・Build or acquire exploits(エクスプロイトの構築または取得)
・C2 protocol development(C2プロトコルの開発)
・Compromise 3rd party or closed-source vulnerability/exploit information(サードパーティまたはクローズドソースの脆弱性/エクスプロイト情報の侵害)
・Create custom payloads(カスタムペイロードの作成)
・Create infected removable media(感染した可搬媒体の作成)
・Discover new exploits and monitor exploit-provider forums(新しいエクスプロイトの発見およびエクスプロイトプロバイダーフォーラムの監視)
・Identify resources required to build capabilities(機能の構築に必要なリソースの特定)
・Obtain/re-use payloads(ペイロードの取得/再利用)
・Post compromise tool development(侵害後ツールの開発)
■Test Capabilities:テスト機能
攻撃者は攻撃が成功するかどうかのテストを行います。
・Review logs and residual traces(ログと残留トレースの確認)
・Test ability to evade automated mobile application security analysis performed by app stores(アプリストアによって実行される自動モバイルアプリケーションセキュリティ分析を回避するテスト機能)
・Test callback functionality(コールバック機能のテスト)
・Test malware in various execution environments(さまざまな実行環境でのマルウェアのテスト)
・Test malware to evade detection(検出を回避するためのマルウェアのテスト)
・Test physical access(物理的アクセスのテスト)
・Test signature detection for file upload/email filters(ファイルアップロード/電子メールフィルターのシグネチャ検出のテスト)
■Stage Capabilities:ステージ機能
攻撃者はソフトウェアの展開、データのアップロード、コマンドの有効化などの攻撃に必要な環境を準備します。
・Disseminate removable media(可搬媒体のばらまき)
・Distribute malicious software development tools(悪意あるソフトウェア開発ツールの配布)
・Friend/Follow/Connect to targets of interest(友人/フォロー/関心のあるターゲットへの接続)
・Hardware or software supply chain implant(ハードウェアまたはソフトウェアのサプライチェーンでの移植)
・Port redirector(ポートリダイレクタ)
・Upload, install, and configure software/tools(ソフトウェア/ツールのアップロード、インストール、設定)
攻撃の準備段階に関する手法を確認するだけでは直接的な防衛策としては弱いかもしれません。
しかし、例えば攻撃者が技術・人間・組織に関する情報収集を行うことが分かっているのであれば、できるだけ弱点となりうる情報を露出しないようにするのが対策となります。
やはり攻撃者がどのような攻撃準備を行うかを知っておくことは大切なことです。
さとう