Cylance アプリケーションのログの収集
この手順では、ログを Cylance から Sumo Logic に収集する方法を実際に示します。Cylance は人工知能、アルゴリズム サイエンス、機械学習をサイバー セキュリティに適用し、Sumo Logic などの一元的なセキュリティ アナリティクス プラットフォームとの統合を通じてサービスを視覚化しています。Cylance をはじめとするデータ ソースからの脅威イベント データを組み合わせることで、セキュリティ リスクを低減し、セキュリティ体制を強化することができます。
Cylance 用 Sumo Logic アプリケーションにより、Cylance セキュリティ イベントをタイプ、ステータス、検出方法別に分析できます。このアプリケーションを使用して、Cylance 固有のイベントを調査し、Cylance にログインすることなく運用情報をチーム メンバーに表示することができます。
ログ タイプ
Cylance 用 Sumo Logic アプリケーションは、次のイベントおよびログ タイプをサポートします。
- Device (デバイス管理 - 登録、削除、更新、SystemSecurity)
- Threat (特定済みと対応済みの脅威)
- ScriptControl (スクリプトの実行制御とアクション)
- ExploitAttempt (メモリ保護)
- Threat Classification (Cylance のリサーチ チームによる脅威の分類)
- AuditLog (Cylance Web コンソールから実行されたユーザ アクション)
- DeviceControl (USB やモニタリング中のシステムに接続されているストレージなどの外部デバイスの制御)
- AppControl
式および定義の詳細については、Cylance ドキュメントを参照してください。
ステップ 1: Collector の設定
新しい Sumo Logic の Hosted Collector を作成するには、「Hosted Collector を設定する」の手順を実行します。
ステップ 2: Source の設定
- 「Cloud Syslog Source の設定」の手順を実行して、以下の Source フィールドを設定します。
- Name (名前): (必須) 名前は必須です。必要に応じて説明を入力します。
- Source Category: (必須) [このデータ タイプの現実的な Source Category の例を提供します。][Source Category] メタデータ フィールドは、Source を整理してラベル付けするための基本的な構成要素です。
例: prod/web/apache/access。
詳細については、「ベスト プラクティス」を参照してください。
- [Advanced (詳細)] セクションで以下の設定を指定します。
- Enable Timestamp Parsing (タイムスタンプ parse の有効化)。True
- Time Zone (タイム ゾーン): デフォルトではログは UTC で記録されます。
- Timestamp Format (タイムスタンプ形式)。自動検出。
- [Save (保存)] をクリックします。
トークンを安全な場所にコピー & ペーストします。これは、Cylance Syslog 設定を行うときに必要です。
ステップ 3: Cylance でのログの設定
ログを取り込むように Sumo Logic を設定する前に、Cylance でリモート ログ ストリーミングをセットアップする必要があります。手順については、次のドキュメントを参照してください。
- Cylance で、[Settings (設定)] > [Application (アプリケーション)] に移動します。
- [Integrations (統合)] セクションで、[Syslog/SIEM] チェック ボックスをアクティブ化します。
- [Event Types (イベント タイプ)] で、すべてのイベントのチェックボックスをアクティブ化します。
- [SIEM] では、ターゲットとして [Sumo Logic] を選択します。
- [Protocol (プロトコル)] では [TCP] を選択します。
- [TLS/SSL] チェック ボックスをアクティブ化します。
- IP/ドメインを入力します。
- ポートを入力します。
- [Severity (重大度)] では [Alert (1) (アラート (1))] を選択します。
- [Facility (ファシリティ)] では [Internal (5) (内部 (5))] を選択します。
- [Custom Token (カスタム トークン)] には、Sumo Logic クラウド Syslog Source からのトークンを入力します。トークンの末尾は @41123 である必要があります。この番号は、Sumo Logic Private Enterprise Number (PEN) です。
- [Save (保存)] をクリックします。
FER (Field Extraction Rules)
以下の FER (Field Extraction Rules) は異なるアプローチを使用します。
AuditLog
_sourceCategory=*cylance* "Event Type:" AuditLog | parse "Event Type: *, Event Name: *," as event_type, event_name nodrop | parse "Message: *," as msg nodrop | parse "Source IP: *," as src_ip nodrop | parse "User: *" as user nodrop | parse field=msg "Device: * was auto assigned to Zone: *" as device_name, zone nodrop | parse field=msg "Provider: *" as provider nodrop | parse regex field=msg "Device:\s*(?<device_name>[^\s]*)\s*$" nodrop | parse field=msg "Tier: *; Zones: *; Agent Version: *" as tier, zone, agent_version nodrop | parse field=msg "Policy Assigned: *; Devices: *" as policy, device_name nodrop | parse field=msg "Device: *; " as device_name nodrop | parse field=msg "Devices: *" as device_name nodrop | parse field=msg "SHA256: *" as sha nodrop | parse field=msg "Zone: *; Policy Assigned: *; Policy Applied To All Devices In Zone: *" as zone, policy, PolicyAppliedToAllDevicesInZone
Device
_sourceCategory=*cylance* "Event Type: Device" | parse "Event Type: *, Event Name: *," as event_type, event_name nodrop | parse "Device Name: *, Agent Version: *, IP Address: (*), MAC Address: (*), Logged On Users: (*), OS: *, Zone Names: (*)" as device_name, agent_version, ip_address, mac_address, LoggedOnUsers, os, zone nodrop | parse "Device Name: *, Zone Names: (*), Device Id: *" as device_name, zone, device_id | parse "Device Message: *, User: *, Zone Names: (*), Device Id: *" as device_message, user, zone, device_id nodrop | parse regex field=ip_address "\s*(?<ipaddress>[^,]*)" multi nodrop | parse field=device_message "Device: *; " as device_name nodrop | if (isempty(ipaddress), ip_address, ipaddress) as ip_address | parse regex field=LoggedOnUsers "\s*(?<users>[^,]*)" multi nodrop | if (isempty(users), user, users) as user
DeviceControl
_sourceCategory=*cylance* "Event Type: DeviceControl" | parse "Event Type: *, Event Name: *," as event_type, event_name nodrop | parse "Device Name: *, External Device Type: *, External Device Vendor ID: *, External Device Name: *, External Device Product ID: *, External Device Serial Number: *, Zone Names: (*), Device Id: *, Policy Name: *" as device_name, external_device_type, external_device_vendor_id, external_device_name, external_device_product_id, external_device_serialno, zone, device_id, policy nodrop
ExploitAttempt
_sourceCategory=*cylance* ExploitAttempt | parse "Event Type: *, Event Name: *, Device Name: *, IP Address: (*), Action: *, Process ID: *, Process Name: *, User Name: *, Violation Type: *, Zone Names: (*), Device Id: *, Policy Name: *" as event_type, event_name, device_name, ip_address, action, pid, pname, user, violation, zone, device_id, policy
ScriptControl
_sourceCategory=*cylance* ScriptControl | parse "Event Type: *, Event Name: *, Device Name: *, File Path: *, Interpreter: *, Interpreter Version: *, Zone Names: (*), User Name: *, Device Id: *, Policy Name: *" as event_type, event_name, device_name, filepath, interpreter, interpreterVersion, zone, user, device_id, policy nodrop
Threat
_sourceCategory=*cylance* Threat "Event Type: Threat" | parse "Is Malware: *, " as malware_status nodrop | parse "Event Type: *, Event Name: *," as event_type, event_name nodrop | parse "Device Name: *, IP Address: (*), File Name: *, Path: *, Drive Type: *, SHA256: *, MD5: *, Status: *, Cylance Score: *, Found Date: *, File Type: *, Is Running: *, Auto Run: *, Detected By: *, Zone Names: (*)" as device_name, ip_address, file_name, path, drive_type, sha, md5, status, score, found, file_type, isRunning, autoRun, detected_by, zone nodrop | parse "Is Unique To Cylance: *, Threat Classification: *, Device Id: *, Policy Name: *" as isUniqueToCylance, threatClassification, device_id, policy nodrop
ThreatClassification
_sourceCategory=*cylance* ThreatClassification | parse "Event Type: *, Event Name: *, Threat Class: *, Threat Subclass: *, SHA256: *, MD5: *" as event_type, event_name, threat_class, threat_subclass, sha, md5
AppControl
_sourceCategory=*cylance* "Event Type:" AppControl | parse "Event Type: *," as event_type nodrop | parse "Event Name: *, Device Name: *, IP Address: (*), Action: *, Action Type: *, File Path: *, SHA256: *" as event_name, device_name, ip_address, action, action_type, filepath, sha nodrop
ログ メッセージのサンプル
850 <44>1 2019-02-27T04:57:20.4390000Z sysloghost CylancePROTECT - - - Event Type: Threat, Event Name: threat_changed, Device Name: SumoStg05, IP Address: (242.95.35.166), File Name: ChkRestart.exe, Path: C:\Windows\Dell_Scripts\Chk_Restart\, Drive Type: `Internal Hard Drive, SHA256: EBAD535255B99420C2387B6DD195AFBF8EDC0F88A74037E998DBAEB5EE93A2AE, MD5: C917371E290C185FFED3138F574ADEDD, Status: Abnormal, Cylance Score: 50, Found Date: 1/18/2019 2:28:32 PM, File Type: Executable, Is Running: False, Auto Run: False, Detected By: ExecutionControl, Zone Names: (BLR), Is Malware: False, Is Unique To Cylance: True, Threat Classification: Trusted - Local, Device Id: 81-89cec180584-1fede63f-460414-fe-4c, Policy Name: Allowed Anywhere Internally
クエリのサンプル
次のクエリは、[Cylance - AuditLog] ダッシュボードの [Event Name Trend (イベント名の傾向)] パネルから引用されたものです。
_sourceCategory=*cylance* "Event Type:" AuditLog | parse "Event Type: *, Event Name: *," as event_type, event_name nodrop | parse "Message: *," as msg nodrop | parse "Source IP: *," as src_ip nodrop | parse "User: *" as user nodrop | parse field=msg "Device: * was auto assigned to Zone: *" as device_name, zone nodrop | parse field=msg "Provider: *" as provider nodrop | parse regex field=msg "Device:\s*(?<device_name>[^\s]*)\s*$" nodrop | parse field=msg "Tier: *; Zones: *; Agent Version: *" as tier, zone, agent_version nodrop | parse field=msg "Policy Assigned: *; Devices: *" as policy, device_name nodrop | parse field=msg "Device: *; " as device_name nodrop | parse field=msg "Devices: *" as device_name nodrop | parse field=msg "SHA256: *" as sha nodrop | parse field=msg "Zone: *; Policy Assigned: *; Policy Applied To All Devices In Zone: *" as zone, policy, PolicyAppliedToAllDevicesInZone | where event_type = "AuditLog" | timeslice 1d | count by _timeslice, event_name | transpose row _timeslice column event_name