復号化は高度な攻撃の発見に役立つか?

2023年8月15日
Oliver Tavakoli
Chief Technology Officer
復号化は高度な攻撃の発見に役立つか?

パケットのペイロードを解読することは、防衛側がネットワーク内の高度な国家主導の攻撃やRansomOpsのような手動で実行される攻撃の兆候を発見する上で、運用上効果的なのだろうか?

短い答えはノーだ。

  • TLSのような標準的な暗号化を受動的に解読するのは、運用コストがかかる (TLS 1.3では、接続されているすべてのエンドポイントにエージェントをインストールする必要がある) 。
  • ファイアウォールやプロキシを使った能動的な復号化では得られないような、防御側にとってのメリットはほとんどない。
  • また、どちらも防御側が高度な攻撃者のC2チャンネルやデータ流出を追跡するのに役立つわけではない。

私たちは、暗号化が普及している組織のネットワーク境界におけるトラフィックを検討し、コマンド&コントロールやデータ流出の兆候を探ります。私たちが発見したのは、高度な国家主導の攻撃やRansomOpsのような手動で実行される犯罪攻撃を検知する場合、復号化は防御側にとってメリットがあるとしてもほとんどないということです。その理由は以下の通りです。

国家主導の攻撃ツールをカスタマイズ

国家主導のアクターは通常、攻撃チームが使用するツールチェーンを組み立てる。こうしたツールチェーンには、社内で開発されたツールと、既製品のツールが含まれることが多い。既製のツールは、その存在だけを探す単純な手法による検知を避けるために高度にカスタマイズされている。

そして、最も有能な国家主導のアクターは、さらにエントロピーを増大させる。彼らは、追求するターゲットごとに、使用するカスタムツールや既製ツールを異なるように設定し、異なるターゲットへの攻撃を実行するために使用されるインフラ (C2やExfil用) を再利用しない。従って、シグネチャを実行するためにペイロードを復号化しても、検知に意味はない

犯罪(RansomOps)攻撃者ツールの修正

ほとんどのRansomOps攻撃を実行するために使用されるような手動で実行される攻撃は、営利目的のビジネスモデルのためにある。ツールをゼロから構築するために多くの研究開発費を費やすことは、潜在的な利益を単に減らすだけであり、ほとんど意味がない。

その代わりに、ほとんどすべての犯罪者攻撃は、既製のツールを多用しているが、これらのアクターは、ほとんどのシグネチャ製品が検知 、出荷時のデフォルト設定でこれらのツールを使用しないことを十分に知っている。

その代わり、既製のツールに同梱されている標準設定を上書きし、シグネチャを無意味なものにする。インフラはより一般的に再利用されるが、ドメインやIPを経由して、暗号化を解除することなく特定することができる。国民国家の場合と同様に、シグネチャを実行するためにペイロードを復号化しても、意味のある検知のメリットはない

の内部構造Cobalt Strike

より広く知られた既製のペン・テスト・フレームワークの一つであるCobalt Strike の標準設定を上書きすることが何を意味するか見てみましょう。この例は例示であり、成熟したペンテストツールには同じ程度の設定可能性が存在し、シグネチャを回避するためにデフォ ルト設定を上書きすることは些細なことです。

Cobalt Strike のユーザーガイドはこちら。このパッケージの一部であるMalleableCommand and Control機能を見てみよう。マレアブルC2機能を使うには、使いたいオプションをすべてプロファイルにまとめます。

このプロファイルでは、C2 通信に使用される HTTPS リクエストとレスポンス のすべての要素が (タイトルが意味するように) 変更可能です。これには、HTTP トラフィックを運ぶ TLS チャネルをセキュアにするために使用する証明書、HTTP リクエストにコード化された URI、指定された User-Agent、referrer タグの有無、その他攻撃者がリクエストに入れたいものが含まれます。

C2チャンネルを通じて転送される必要のある実際のデータは、様々なフォーマット(Base64、NetBIOSなど) でエンコードすることができ、攻撃者だけが知っているランダムなキーでXORすることで簡単にマスクすることができる (これは軽量だが効果的な「内部」暗号化だと考えてほしい)

概要

国家主導の攻撃者であろうと RansomOps 攻撃者(異なるターゲットに対して同じタグ/値や鍵を再利用しないことで、優れたセキュリティ衛生を適用している者)であろうと、外側の TLS 暗号化を破って内側の HTTP リクエストにアクセスすることは防御側にとって何の役にも立ちません。シグネチャがターゲットとする固定パターンはなく、実際のペイロード(送信されたコマンド、返されたコマンドの結果、ダウンロードされたソフトウェアなど)は攻撃者のランダムに生成されたキーを使用した軽量暗号化によって不明瞭になります。

そのため、組織が非常に制限的なインターネット・アクセス・ポリシー(事実上、信頼できるインターネットの一部をホワイトリスト化する)を実行しない限り、復号化されたHTTPペイロードのバイト・パターンを検索しても、C2チャネルを検知することはできない。流出の検知もほぼ同じロジックに従います。暗号化された内部ペイロードは、標準的なDLPアプローチでは検知できません。C2や流出を検知する他の唯一の手段は、データ転送の時系列情報の分析、または単純な量の異常の観察に基づいています。

よくあるご質問(FAQ)