マイクロ エージェント イベントの収集

Defender for IoT セキュリティ エージェントは、ローカル デバイスからデータとシステム イベントを収集し、処理のためにデータをAzure クラウドに送信します。

注:

Defender for IoT は、2025 年 8 月 1 日にマイクロ エージェントを廃止する予定です。

Log Analytics ワークスペースを構成して接続した場合は、Log Analytics にこれらのイベントが表示されます。 詳細については、「 チュートリアル: セキュリティ アラートを調査する」を参照してください。

Defender for IoT マイクロ エージェントは、新しいプロセスやすべての新しい接続イベントなど、さまざまな種類のデバイス イベントを収集します。 新しいプロセスと新しい接続イベントの両方が、デバイスで頻繁に発生する可能性があります。 この機能は包括的なセキュリティにとって重要ですが、セキュリティ エージェントが送信するメッセージの数は、IoT Hub クォータとコスト制限をすぐに満たすか、または超える可能性があります。 これらのメッセージとイベントには、デバイスを保護するために重要な非常に貴重なセキュリティ情報が含まれています。

デバイスのセキュリティを維持しながらメッセージの数とコストを削減するために、Defender for IoT エージェントは次の種類のイベントを集計します。

  • イベントの処理 (Linuxのみ)

  • ネットワーク アクティビティ イベント

  • ファイル システム イベント

  • 統計イベント

詳細については、 プロセス コレクターとネットワーク コレクターのイベント集計に関するページを参照してください。

イベント ベースのコレクターは、デバイス内からの対応するアクティビティに基づいてトリガーされるコレクターです。 たとえば、「 a process was started in the device 」のように入力します。

トリガー ベースのコレクターは、顧客の構成に基づいてスケジュールされた方法でトリガーされるコレクターです。

イベントの処理 (イベント ベースのコレクター)

プロセス イベントは、Linuxオペレーティング システムでサポートされています。

コマンド ラインuserid が同一の場合、プロセス イベントは同一と見なされます。

プロセス イベントの既定のバッファーは 256 プロセスです。 この制限が満たされると、バッファーが循環し、最も古いプロセス イベントが破棄され、最新の処理されたイベントのスペースが確保されます。 キャッシュ サイズを増やす警告がログに記録されます。

イベントごとに収集されるデータは次のとおりです。

パラメーター 説明
Timestamp プロセスが初めて観察されたとき。
process_id Linux PID。
parent_process_id Linux親 PID (存在する場合)。
コマンドライン コマンド ライン。
Type forkまたはexecを指定できます。
hit_count 集計カウント。 イベントがクラウドに送信されるまでの同じプロセスの同じ期間の実行数。

ネットワーク アクティビティ イベント (イベント ベースのコレクター)

ローカル ポート、リモート ポート、トランスポート プロトコル、ローカル アドレス、およびリモート アドレスが同一の場合、ネットワーク アクティビティ イベントは同一と見なされます。

ネットワーク アクティビティ イベントの既定のバッファーは 256 です。 キャッシュがいっぱいになっている状況の場合:

  • Eclipse ThreadX デバイス: 次のコレクション サイクルが開始されるまで、新しいネットワーク イベントはキャッシュされません。

  • Linuxデバイス: 最も古いイベントは、新しいイベントごとに置き換えられます。 キャッシュ サイズを増やす警告がログに記録されます。

Linuxデバイスの場合、IPv4 のみがサポートされます。

イベントごとに収集されるデータは次のとおりです。

パラメーター 説明
ローカル アドレス 接続のソース アドレス。
リモート アドレス 接続の宛先アドレス。
ローカル ポート 接続のソース ポート。
リモート ポート 接続の宛先ポート。
Bytes_in 接続の集計された RX バイトの合計。
Bytes_out 接続の合計集計 TX バイト数。
Transport_protocol TCP、UDP、または ICMP を指定できます。
アプリケーション プロトコル 接続に関連付けられているアプリケーション プロトコル。
拡張プロパティ 接続の追加の詳細。 たとえば、「 host name 」のように入力します。
ヒット数 観察されたパケットの数

ログイン コレクター (イベント ベースのコレクター)

ログイン コレクターは、ユーザーのサインイン、サインアウト、および失敗したサインイン試行を収集します。

ログイン コレクターでは、次の種類のコレクション メソッドがサポートされています。

  • UTMP と SYSLOG。 UTMP は、SSH 対話型イベント、telnet イベント、ターミナル ログイン、および SSH、telnet、ターミナルから失敗したすべてのログイン イベントをキャッチします。 デバイスで SYSLOG が有効になっている場合、ログイン コレクターは auth.log という SYSLOG ファイルを介して SSH サインイン イベントも収集します。

  • プラグ可能な認証モジュール (PAM)。 SSH、telnet、およびローカル サインイン イベントを収集します。 詳細については、「 プラグイン可能な認証モジュール (PAM) を構成してサインイン イベントを監査する」を参照してください。

次のデータが収集されます。

パラメーター 説明
operation 次のいずれか: LoginLogoutLoginFailed
process_id Linux PID。
User_name Linux ユーザー。
実行 ターミナル デバイス。 たとえば、tty1..6 および pts/n が禁止となります。
remote_address 接続のソース。IPv6 または IPv4 形式のリモート IP アドレス、またはローカル接続を示す 127.0.0.1/0.0.0.0

システム情報 (トリガー ベースのコレクター)

イベントごとに収集されるデータは次のとおりです。

パラメーター 説明
hardware_vendor デバイスのベンダーの名前。
hardware_model デバイスのモデル番号。
os_dist オペレーティング システムのディストリビューション。 たとえば、「 Linux 」のように入力します。
os_version オペレーティング システムのバージョン。 たとえば、 Windows 10Ubuntu 20.04.1などです。
os_platform デバイスの OS。
os_arch OS のアーキテクチャ。 たとえば、「 x86_64 」のように入力します。
agent_type エージェントの種類 (Edge/スタンドアロン)。
agent_version エージェントのバージョン。
Nic ネットワーク インターフェイス コントローラー。 プロパティの完全な一覧を次に示します。

nics プロパティは、次で構成されます。

パラメーター 説明
type 次のいずれかの値: UNKNOWNETHWIFIMOBILE、または SATELLITE
Vlan ネットワーク インターフェイスに関連付けられている仮想 LAN。
ベンダー ネットワーク コントローラーのベンダー。
info IPS、およびネットワーク コントローラーに関連付けられている MAC。 これには、次のフィールドが含まれます。
- ipv4_address: IPv4 アドレス。
- ipv6_address: IPv6 アドレス。
- mac: MAC アドレス。

ベースライン (トリガー ベースのコレクター)

ベースライン コレクターは定期的な CIS チェックを実行し、失敗合格スキップチェック結果が Defender for IoT クラウド サービスに送信されます。 Defender for IoT は結果を集計し、エラーに基づいて推奨事項を提供します。

イベントごとに収集されるデータは次のとおりです。

パラメーター 説明
ID の確認 CIS 形式。 たとえば、「 CIS-debian-9-Filesystem-1.1.2 」のように入力します。
結果の確認 FailPassSkip、またはErrorを指定できます。 たとえば、チェックを実行できない状況でErrorします。
Error エラーの情報と説明。
説明 CIS からのチェックの説明。
修復 CIS からの修復の推奨事項。
重大度 重大度レベル。

SBoM (トリガー ベースのコレクター)

SBoM (ソフトウェア部品表) コレクターは、デバイスにインストールされているパッケージを定期的に収集します。

各パッケージで収集されるデータには、次のものが含まれます。

パラメーター 説明
名前 パッケージ名。
バージョン パッケージのバージョン。
ベンダー パッケージのベンダー。これは deb パッケージの メンテナ フィールドです。

周辺機器イベント (イベント ベースのコレクター)

Peripheral イベント コレクターは、USB イベントとイーサネット イベントの接続と切断を収集します。

収集されるフィールドは、イベントの種類によって異なります。

USB イベント

パラメーター 説明
Timestamp イベントが発生した時刻。
ActionType イベントが接続イベントか切断イベントか。
bus_number 特定のコントローラー識別子は、各 USB デバイスに複数を含めることができます。
kernel_device_number デバイスのカーネル内の表現。一意ではなく、デバイスが接続されるたびに可能です。
device_class デバイスのクラスを指定する識別子。
device_subclass デバイスの種類を指定する識別子。
device_protocol デバイス プロトコルを指定する識別子。
interface_class デバイス クラスが 0 の場合は、デバイスの種類を示します。
interface_subclass デバイス クラスが 0 の場合は、デバイスの種類を示します。
interface_protocol デバイス クラスが 0 の場合は、デバイスの種類を示します。

イーサネット イベント

パラメーター 説明
Timestamp イベントが発生した時刻。
ActionType イベントが接続イベントか切断イベントか。
bus_number 特定のコントローラー識別子は、各 USB デバイスに複数を含めることができます。
インターフェイス名 インターフェイス名。

ファイル システム イベント (イベント ベースのコレクター)

ファイル システム イベント コレクターは、監視ディレクトリの下にディレクトリとファイルの作成、削除、移動、変更の変更がある場合は常にイベントを収集します。 監視するディレクトリとファイルを定義するには、「 システム情報コレクター固有の設定」を参照してください。

次のデータが収集されます。

パラメーター 説明
Timestamp イベントが発生した時刻。
Mask ファイル システム イベントに関連するマスクを入力Linux、マスクはアクションの種類を識別し、Access/Modified/Metadata changed/Closed/Opened/Moved/Created/Deleted のいずれかになります。
パス イベントが生成されたディレクトリ/ファイル パス。
Hitcount このイベントが集計された回数。

統計データ (トリガー ベースのコレクター)

Statistics コレクターは、さまざまなマイクロ エージェント コレクターに対してさまざまな統計を生成します。 これらの統計は、前の収集サイクルにおけるコレクターのパフォーマンスに関する情報を提供します。 可能な統計の例としては、正常に送信されたイベントの数と、削除されたイベントの数、および失敗の理由が含まれます。

収集されたフィールド:

パラメーター 説明
Timestamp イベントが発生した時刻。
名前 コレクターの名前。
イベント 説明とヒット数を含む JSON として書式設定されたペアの配列。
説明 メッセージが送信または削除されたかどうか、および削除の理由。
Hitcount それぞれのメッセージの数。

プロセス コレクターとネットワーク コレクターのイベント集計

プロセス イベントネットワーク アクティビティ イベントに対するイベント集計のしくみ:

Defender for IoT エージェントは、各コレクターのメッセージ頻度構成で定義されている送信間隔 ( Process_MessageFrequencyやNetworkActivity_MessageFrequency など) の間にイベント を集計します。 送信間隔の期間が経過すると、エージェントは集計されたイベントをAzure クラウドに送信して、さらに分析します。 集約されたイベントは、Azure クラウドに送信されるまでメモリに格納されます。

エージェントがメモリに既に格納されているイベントと同様のイベントを収集すると、エージェントは、この特定のイベントのヒット数を増やして、エージェントのメモリ 占有領域を減らします。 集計時間枠が経過すると、エージェントは発生した各種類のイベントのヒット数を送信します。 イベント集計は、同様のイベントのヒット数の集計です。 たとえば、同じリモート ホストと同じポート上のネットワーク アクティビティは、パケットごとに個別のイベントとしてではなく、1 つのイベントとして集計されます。

注:

既定では、マイクロ エージェントは、トラブルシューティングと監視のためにログとテレメトリをクラウドに送信します。 この動作は、ツインを介して構成またはオフにすることができます。

次の手順

詳細については、以下を参照してください。