OpenIOC: 基本に戻る

インシデント対応中に調査員が直面する課題の 1 つは、攻撃者の活動、ユーティリティ、マルウェア、および IOC と呼ばれるその他の侵害の兆候に関する情報を整理する方法を見つけることです。 OpenIOC フォーマットは、この課題に正面から取り組んでいます。 OpenIOC は、調査中に遭遇したアーティファクトを記述するための標準的な形式と用語を提供します。この投稿では、IOC のユース ケース、IOC の構造、IOC ロジックなど、IOC の概要を説明します。

先に進む前に、IOC は署名ではなく、署名として機能するように意図されていないことに言及することが重要です。控えめに表現されることが多いですが、IOC は人間の知性と組み合わせて使用することを意図しています。 IOC は、あなたの調査、または脅威インテリジェンスを共有する他の人の調査を支援するように設計されています。

IOC ユースケース:

IOC を体系化するためのユース ケースがいくつかありますが、これらは通常、調査員としての目的を中心に展開されます。潜在的なユースケースの数は非常に多く、最も一般的なユースケースのいくつかを以下にリストしました:

  • マルウェア/ユーティリティの検索: これは最も一般的な使用例です。基本的に、これは、バイナリ自体の属性を探すか、プリフェッチ ファイルやレジストリ キーなど、実行時に作成されるアーティファクトを探すことによって、ある種の既知のマルウェアまたはユーティリティを見つけるために作成された IOC です。
  • 方法論: マルウェアやユーティリティを特定するために作成された IOC とは異なり、これらの IOC は、調査の手がかりを生み出すために、ユーザーが必ずしも知っているとは限らないものを見つけます。たとえば、署名されておらず、パス “windowssystem32″ を含まないディレクトリから読み込まれたサービス DLL を識別したい場合は、IOC を記述してその状態を記述することができます。方法論 IOC のもう 1 つの良い例は、”.jpg” で終わる文字列のすべての “Run” キーのレジストリ テキスト値を探す IOC です。これは異常な状態を表しており、調査によって侵害の証拠につながる可能性があります。
  • Bulk : この種の IOC を既に使用している可能性があります。多くの組織は、MD5 または IP アドレスのリストを提供する脅威インテリジェンス フィードを購読しています。一括 IOC は、これらのインジケーターのコレクションを表すことができます。これらの種類の IOC は非常に白黒であり、通常は完全に一致する場合にのみ適しています。
  • 調査: 環境内のシステムを調査し、バックドアのインストール、ツールの実行、盗難のためにステージングされているファイルに関連するメタデータなどの悪意のあるアクティビティの証拠を特定すると、IOC でその情報を追跡できます。これらの IOC はバルク IOC に似ています。ただし、調査 IOC には、1 回の調査からの指標のみが含まれます。このタイプの IOC を使用すると、分析するシステムに優先順位を付けるのに役立ちます。

IOC コンポーネント:

IOC は、IOC メタデータ、参照、および定義の 3 つの主要部分で構成されています。 Mandiant の Web サイトからダウンロード可能な Mandiant IOC Editor (IOC)を使用していることに注意して、これらのそれぞれをさらに詳しく調べてみましょう。

メタデータ: IOC メタデータには、IOC の作成者 (jsmith@domain.tld)、IOC の名前 (Evil.exe (BACKDOOR)) などの情報と、「オープン ソースの Poison Ivy バックドアのこの亜種は、 10.127.10.128 にビーコンするように構成され、「Microsoft 1atent タイム サービス」として自身を登録します。

openioc1

参照: IOC 内の参照では、調査の名前やケース番号、コメント、アルファ、ベータ、リリースなどの IOC の成熟度に関する情報などの情報を見つけることができます。このデータは、IOC がどこに適合するかを理解するのに役立ちます。脅威インテリジェンスのライブラリに。参照の一般的な用途の 1 つは、IOC を特定の脅威グループに関連付けることです。 IOC を第三者と共有する際に、特定の参照が IOC から削除されることは珍しくありません。

openioc2

定義: これは IOC の内容であり、調査員が IOC で成文化することを決定したアーティファクトを含みます。たとえば、これらには、ファイルの MD5、レジストリ パス、またはプロセス メモリで見つかったものが含まれる場合があります。定義内では、インジケーターが一覧表示されるか、2 つの用語と何らかの形式のブール論理で構成される式に結合されます。

openioc3

OpenIOC 形式が特に便利な点の 1 つは、ブール AND & OR ロジックを使用して類似の用語を組み合わせることができることです。前の例は、このタイプのロジックを使用する方法を示しています。このタイプの IOC では、次の 3 つのシナリオが考えられます。

  1. サービスの名前は「MS 1atent time services」です– または –
  2. サービスの ServiceDLL 名に「evil.exe」が含まれている– または –
  3. ファイル名は「 bad.exe 」であり、そのファイルのファイルサイズ属性は 4096 ~ 10240 バイトの範囲内です。

ブール論理を使用する場合は、次の点に注意してください。

  • AND では、式の両側が真である必要があります
  • OR では、式の片側が真である必要があります

「サービスの名前は「MS 1atent time services」、または「ファイル名は「 bad.exe 」であり、かつそのファイルのファイルサイズ属性は 4096 ~ 10240 バイトの範囲内」」などのブール式ステートメントは、個別に評価することは、IOC 内のロジックがどのように機能するかを理解する上で重要な側面です。これらのステートメントは if-else ステートメントではなく、IOC が一致するために両方が存在する必要もありません。ホストを調査するときに、「MS 1atent time services」サービスが存在する場合、この IOC が一致します。 IOC が説明した悪意のあるファイルがホストにも存在するかどうかに関係なく、.

 

参考: https ://www.mandiant.com/resources/blog/openioc-basics

コメント

タイトルとURLをコピーしました