コンテンツにスキップ

エージェント検出スキーマ🔗

DetectionCategory🔗

Detection Categoryは、検出が属するサブシステムに基づく高レベルの分類です。

Name Number 説明
CATEGORY_UNSPECIFIED 0
GENERIC 1
PROCESS 2
MEMORY 3
KERNEL 4
FILESYSTEM 5
REGISTRY 6
CONTAINER 7

DetectionType🔗

DetectionTypeは、エージェント上で検知された正確な検出内容を示します。

Name Number 説明
DETECTION_UNSPECIFIED 0 protobufスタイルガイドに従い、enumのゼロ値はUNSPECIFIEDで終わる必要があります
KEY_LOGGER 1 キーロガー(event_name参照)が検知されました
RANSOMWARE_LIKE_BEHAVIOR 2 ランサムウェアのような挙動(暗号化と多数のファイル操作の組み合わせ)を検知しました
EXECUTABLE_ENTROPY 3 t1027.002 exeがupx等でパックされている可能性あり、acting_processが設定されます。
LOCAL_PRIVILEGE_ESCALATION 4 LPE(ローカル権限昇格)を検知しました
DNS_TAMPERING 5 DNS / DNSキャッシュの改ざんを検知しました
PROTOCOL_HIJACKING 6 DNSなどの信頼されたプロトコルを利用した情報流出/C2通信を検知しました
EVENTLOG_BYPASS 7 ログ記録がバイパスされた(または試行されました)
SETTIME 8 システムクロックの時刻が変更されました - タイムスタンプの改ざんの可能性あり
INTEGRITY_DISABLED 9 例:macOSでSIPが無効化されました
NAME_RESOLUTION_TAMPERING 10 リンクローカルホスト名のリダイレクトやその他のネットワーク改ざんを検知しました
EXECUTION_OF_MODIFIED_CODE 20 割り当てられたページまたはファイルバックのページが変更され実行されました
EXECUTABLE_PAGE_PROTECTION_CHANGE 21 ページが実行可能にされた、または実行可能ページが書き込み可能にされました
SELF_MODIFYING_CODE 22 セルフモディファイング(rwx)コードを検知しました
WRITE_TO_EXECUTABLE_CODE 23 acting_processがtarget_process(同一の場合もあり)のコード(テキストセクション)ページに書き込みを行いました
THREAD_HIJACKING 24 acting_processおよびacting_thread_idによってtarget_processのtarget_threadのコンテキストが変更されました
RAW_SYSCALL_IN_ALLOCD_EXEC_MEM 25 割り当てられた実行可能メモリで生のシステムコールが検知されました(APIフック回避等の試みの可能性)
NON_SYSTEM_APC_DELIVERED 26 システムDLLに裏付けされていないメモリでAPCが実行されました
PROCESS_OPENED_INTRUSIVE 27 acting_processがtarget_processを状態/仮想メモリの変更が可能な権限でオープンしました
PROCESS_OPENED_NON_INTRUSIVE 28 acting_processがtarget_processを読み取り専用権限でオープンしました
PACKET_CAPTURE 29 acting_processがパケットキャプチャを開始しました
HIGH_CPU_USAGE 30 acting_processが継続的に高いCPU使用率を報告しています
UAC_BYPASS 31 プロセスがUACバイパス/エクスプローラ偽装を試みました
PROCESS_GHOSTING 32 プロセスゴースティングを検知しました
PROCESS_HOLLOWING 34 プロセスホロウィングを検知しました
EXECUTION_PROXY 35 実行プロキシを検知しました
INVALID_CODE_SIGNATURE 36 acting_processのコード署名が無効です
DEP_DISABLED 37 データ実行防止(NX)が無効化されました
OVERWRITE_OF_IMAGE_BACKED_CODE 40 ファイルバックの実行可能メモリが上書きされました(例:フック設定等)
OVERWRITE_OF_IMAGE_BACKED_RODATA 41 ファイルバックの読み取り専用メモリが上書きされました(例:iat/eatフック、.pdata等)
MITIGATION_DISABLED 42 緩和策が無効化されました
LEAKED_WRITABLE_EXECUTABLE_MEMORY 43 書き込み可能かつ実行可能なメモリがリークし、プロセスが脆弱になっています
SHELLCODE_SYMBOL_RESOLUTION 44 シェルコードがアンパック/復号/実行に必要なシンボル解決を試みました
AGENT_HOOK_TAMPERING 45 エージェントフックが改ざん/無効化/バイパスされました
BEACON_ENCRYPTION_OBFUSCATION 46 タイマー、暗号化、または定期/ポーリングタスクコードのページ保護変更を検知しました
NAMED_KERNEL_OBJECT_CREATED 60 名前付きカーネルオブジェクトが作成されました(event_nameおよびkernel_object_type参照)
INVALID_DRIVER_SIGNATURE 61 署名がない、または無効な署名のドライバがロードされました
KNOWN_BAD_DRIVER 62 既知の脆弱性を持つ(悪用される可能性のある)ドライバがロードされました
KERNEL_CALLBACKS_DISABLED 63 ルートキット/エクスプロイトがカーネルコールバック(例:nt!PspNotifyEnableMask)を無効化しました
MASTER_BOOT_RECORD_MODIFIED 80 MBRが変更されました。新しいレコードのためにメモリを確認してください
VOLUME_BOOT_RECORD_MODIFIED 81 VBRが変更されました。新しいレコードのためにメモリを確認してください
ATTEMPT_TO_MODIFY_PROTECTED_FILE 82 保護されたファイルの変更が試みられました
ATTEMPT_TO_MODIFY_PROTECTED_REG_OBJ 100 保護されたレジストリキーまたは値の変更が試みられました
HKCU_COM_OBJECT_BYPASS 101 COMオブジェクトがHKLM(ローカルマシン)ではなくHKCU(現在のユーザー)からインスタンス化されました
CONTAINER_TYPE 1000 Linuxエージェントによってコンテナ内で不審なイベントが検知されました

KernelContext🔗

Field Type パーサーのフィールド 説明
kernel_object_type KernelObjectType 存在する場合、作成されたカーネル名前付きオブジェクトのタイプ
kernel_object_name string kernelObjectName$ 存在する場合、作成されたカーネルオブジェクトの名前

KernelObjectType🔗

カーネル名前付きオブジェクトのタイプ。

Name Number 説明
KERNEL_OBJ_UNSPECIFIED 0
EVENT 1
JOB 2
MUTEX 3
SECTION 4
SEMAPHORE 5
WAITABLE_TIMER 6

ExecutionContext🔗

検出が行われた時点でのプロセッサおよびメモリの現在の状態に関する詳細。

Field Type パーサーのフィールド 説明
acting_thread_id uint64 actingThreadId$ 存在する場合、acting threadのthread_id
target_process_correlation_id string targetProcessCorrelationId$ 存在する場合、操作対象となる「他の」プロセス
target_thread_id uint64 targetThreadId$ 存在する場合、影響を受けたスレッドのthread_id
cpu_context CPUContext 存在する場合、該当するcpuコンテキスト(例:threadhijacking)
target_memory_address uint64 targetMemoryAddress$ 存在する場合、発生箇所のアドレス(例:selfmodifyingcodepage, remotecodewrite)
symbol string symbol$ 存在する場合、target_addressのシンボル+オフセット
memory bytes 存在する場合、イベントのスキャン可能なメモリ(例:selfmodifyingcodepage, remotecodewrite)
return_memory_address ReturnMemoryAddress 存在する場合、ファイルバックのリターンロケーション
stack_backtrace string 存在する場合、スタックバックトレースダンプ
execution_offset uint64 executionOffset$ 存在する場合、実行可能ファイルのオフセットアドレス
page_protection uint32 pageProtection$ 存在する場合、target_addressの保護ビット(r/w/x等)
access_rights uint32 accessRights$ 存在する場合、要求されたオブジェクトのアクセス権
target_image_path string targetImagePath$ プロセスバイナリのパス
memory_hash_sha256 string memoryHashSha256$ メモリのSHA256ハッシュ

CPUContext🔗

Field Type パーサーのフィールド 説明
architecture string architecture$
registers Register[] 可能な場合のレジスタ状態

Register🔗

Field Type パーサーのフィールド 説明
name string name$
value int64 value$
file_object_attrs FileObjectAttrs アドレスがマップされたファイルを指す場合、そのファイルの一意ID
memory bytes レジスタ値が有効なアドレスの場合、そのアドレスの256バイトのデータ
file_base uint64 fileBase$ ファイルマッピングのベースアドレス
file_path string filePath$ メモリからのファイルパス
symbol string symbol$ 利用可能な場合、アドレスが指すシンボル(関数名、公開変数シンボル等)
page_protection uint32 pageProtection$ valueのメモリページのページ保護

ReturnMemoryAddress🔗

Field Type パーサーのフィールド 説明
memory_address uint64 memoryAddress$
file_object_attrs FileObjectAttrs
file_base uint64 fileBase$
file_path string filePath$
symbol string symbol$

FileObjectAttrs🔗

Field Type パーサーのフィールド 説明
device_id uint64 deviceId$ MacOSおよびUnixで利用されます
inode uint64 inode$ MacOSおよびUnixで利用されます
volume_guid bytes Windowsで利用されます
file_guid bytes Windowsで利用されます

RegistryContext🔗

特定のレジストリオブジェクトに関連する検出のためのレジストリ詳細。

Field Type パーサーのフィールド 説明
key Registry.RegistryKey
value Registry.RegistryValue
event_type Registry.RegEventType

FileSystemContext🔗

Field Type パーサーのフィールド 説明
impacted_file FileInfo 存在する場合、影響を受けたファイル(例:overwriteofimagebackedcode, overwriteofimagebackedrodata)

ContainerContext🔗

Field Type パーサーのフィールド 説明
mounts ContainerMountInfo ホストからコンテナへのマウント
ports ContainerPortMapping ホストからコンテナへのポートマッピング
id string id$ コンテナID
name string name$ コンテナ名
image string image$ イメージ名
image_id string imageId$ イメージID
image_repo string imageRepo$ イメージリポジトリ
image_tag string imageTag$ イメージタグ
image_digest string imageDigest$ イメージダイジェスト
command string command$ コンテナ内で実行されたコマンド
container_ip string containerIp$ コンテナのIPアドレス
privileged bool privileged$ コンテナが特権モードかどうか
env string[] env$ コンテナ内の環境変数
is_pod_sandbox bool isPodSandbox$ コンテナがPodサンドボックス内かどうか
full_id string fullId$ フルコンテナID
type ContainerType type$ コンテナタイプ
labels map labels$ コンテナのラベル
container_state ContainerState containerState$ コンテナの状態
created_time uint64 createdTime$ コンテナ作成時刻(エポックからのナノ秒)
user string user$ コンテナを実行しているユーザー
cni_json string cniJson$ コンテナネットワークインターフェース。k8sポッドで存在する可能性あり、詳細不明
action ContainerAction action$ コンテナアクション

ContainerMountInfo🔗

Field Type パーサーのフィールド 説明
source string source$ ホストパス
destination string destination$ コンテナ内のマウントパス
mode string mode$ マウントモード
is_read_write bool isReadWrite$ コンテナがマウントに書き込み可能かどうか
propagation string propagation$ コンテナとホスト間でバインドマウントを共有するかどうか。可能な値:"private"、"shared"、"slave"

ContainerPortMapping🔗

Field Type パーサーのフィールド 説明
host_port uint32 hostPort$ ホストポート
container_port uint32 containerPort$ コンテナポート
host_ip_addr string hostIpAddr$ ホストのIPアドレス

ContainerType🔗

コンテナランタイムのタイプ。

Name Number 説明
CONTAINER_TYPE_UNSPECIFIED 0
CONTAINER_TYPE_DOCKER 1
CONTAINER_TYPE_LXC 2
CONTAINER_TYPE_LIBVIRT_LXC 3
CONTAINER_TYPE_MESOS 4
CONTAINER_TYPE_RKT 5
CONTAINER_TYPE_CUSTOM 6
CONTAINER_TYPE_CRI 7
CONTAINER_TYPE_CONTAINERD 8
CONTAINER_TYPE_CRIO 9
CONTAINER_TYPE_BPM 10
CONTAINER_TYPE_STATIC 11
CONTAINER_TYPE_PODMAN 12

ContainerState🔗

コンテナの状態。

Name Number 説明
CONTAINER_STATE_STARTED 1
CONTAINER_STATE_SUCCESSFUL 2
CONTAINER_STATE_FAILED 3

ContainerAction🔗

イベントをトリガーしたコンテナ上のアクション。

Name Number 説明
CONTAINER_ACTION_UNSPECIFIED 0
CONTAINER_ACTION_SEEN 1
CONTAINER_ACTION_CREATED 2
CONTAINER_ACTION_STARTED 3
CONTAINER_ACTION_STOPPED 4
CONTAINER_ACTION_DELETED 5

RedirectionContext🔗

Field Type パーサーのフィールド 説明
raddr bytes 解決されたリモートアドレス(バイト列)
raddr_str string raddrStr$ 解決されたリモートアドレス(文字列)
ip_version int32 ipVersion$ (4=IPV4 6=IPV6 0=未指定)
hostname string hostname$ クエリされたランダム化ホスト名