Bitdefender 로그 수집
이 문서에서는 Bindplane 에이전트를 사용하여 Bitdefender 로그를 Google Security Operations로 수집하는 방법을 설명합니다.
이 파서는 CEF 또는 CSV 형식으로 Bitdefender GravityZone 로그를 추출하고, 필드를 UDM으로 정규화하고, 이벤트 유형에 따라 특정 작업을 실행합니다. 파일 작업, 네트워크 연결, 프로세스 생성, 레지스트리 수정을 처리하여 관련 정보를 적절한 UDM 필드에 매핑합니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- Windows Server 2016 이상 또는
systemd가 설치된 Linux 호스트 - Bindplane 에이전트와 Bitdefender GravityZone 어플라이언스 간 네트워크 연결
- 프록시 뒤에서 실행하는 경우 Bindplane 에이전트 요구사항에 따라 방화벽 포트가 열려 있는지 확인합니다.
- Bitdefender GravityZone에 대한 액세스 권한 관리
Google SecOps 수집 인증 파일 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 수집 에이전트로 이동합니다.
- 수집 인증 파일 다운로드
Bindplane 에이전트가 설치될 시스템에 파일을 안전하게 저장합니다.
Google SecOps 고객 ID 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 프로필로 이동합니다.
조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.
Bindplane 에이전트 설치
다음 안내에 따라 Windows 또는 Linux 운영체제에 Bindplane 에이전트를 설치합니다.
Windows 설치
- 명령 프롬프트 또는 PowerShell을 관리자로 엽니다.
다음 명령어를 실행합니다.
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet설치가 완료될 때까지 기다립니다.
다음을 실행하여 설치를 확인합니다.
sc query observiq-otel-collector서비스가 실행 중으로 표시되어야 합니다.
Linux 설치
- 루트 또는 sudo 권한으로 터미널을 엽니다.
다음 명령어를 실행합니다.
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh설치가 완료될 때까지 기다립니다.
다음을 실행하여 설치를 확인합니다.
sudo systemctl status observiq-otel-collector서비스가 active (running)으로 표시되어야 합니다.
추가 설치 리소스
추가 설치 옵션 및 문제 해결은 Bindplane 에이전트 설치 가이드를 참고하세요.
syslog를 수집하여 Google SecOps로 전송하도록 Bindplane 에이전트 구성
구성 파일 찾기
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
구성 파일 설정
config.yaml의 전체 내용을 다음 구성으로 바꿉니다.receivers: tcplog: listen_address: "0.0.0.0:514" exporters: chronicle/bitdefender: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: BITDEFENDER raw_log_field: body service: pipelines: logs/bitdefender_to_chronicle: receivers: - tcplog exporters: - chronicle/bitdefender
구성 매개변수
다음 자리표시자를 바꿉니다.
수신기 구성:
listen_address: 리슨할 IP 주소 및 포트입니다.0.0.0.0: 모든 인터페이스에서 수신 대기 (권장)- 포트
514는 표준 syslog 포트입니다 (Linux에서 루트 필요, 비루트의 경우1514사용).
내보내기 도구 구성:
creds_file_path: 수집 인증 파일의 전체 경로입니다.- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: Google SecOps 콘솔에서 복사한 고객 IDendpoint: 리전 엔드포인트 URL:- 미국:
malachiteingestion-pa.googleapis.com - 유럽:
europe-malachiteingestion-pa.googleapis.com - 아시아:
asia-southeast1-malachiteingestion-pa.googleapis.com - 전체 목록은 리전 엔드포인트를 참고하세요.
- 미국:
구성 파일 저장
- 수정 후 파일을 저장합니다.
- Linux:
Ctrl+O,Enter,Ctrl+X순서로 누릅니다. - Windows: 파일 > 저장을 클릭합니다.
- Linux:
변경사항을 적용하려면 Bindplane 에이전트를 다시 시작하세요.
Linux에서 Bindplane 에이전트를 다시 시작하려면 다음 명령어를 실행합니다.
sudo systemctl restart observiq-otel-collector서비스가 실행 중인지 확인합니다.
```bash sudo systemctl status observiq-otel-collector ```로그에서 오류를 확인합니다.
```bash sudo journalctl -u observiq-otel-collector -f ```
Windows에서 Bindplane 에이전트를 다시 시작하려면 다음 옵션 중 하나를 선택합니다.
관리자 권한으로 명령 프롬프트 또는 PowerShell:
net stop observiq-otel-collector && net start observiq-otel-collector서비스 콘솔:
Win+R키를 누르고services.msc을 입력한 다음 Enter 키를 누릅니다.- observIQ OpenTelemetry Collector를 찾습니다.
- 마우스 오른쪽 버튼을 클릭하고 다시 시작을 선택합니다.
서비스가 실행 중인지 확인합니다.
sc query observiq-otel-collector로그에서 오류를 확인합니다.
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Bitdefender GravityZone에서 syslog 스트리밍 구성
- GravityZone Control Center에 로그인합니다.
- 구성 > 통합 > Syslog로 이동합니다.
- Syslog 서버 추가를 클릭합니다.
- 필수 세부정보를 제공합니다.
- 이름: 시스템 로그 서버의 고유한 이름을 입력합니다 (예: CentralSyslog).
- IP 주소/호스트 이름: Bindplane 서버의 IP 주소 또는 호스트 이름을 입력합니다.
- 프로토콜: 사용할 프로토콜(TCP 또는 UDP)을 선택합니다.
- 포트: Bindplane 서버의 포트 번호를 지정합니다.
- 스트리밍할 로그 유형을 선택합니다 (예: 멀웨어 방지 이벤트, 네트워크 공격 방어 (NAD) 이벤트, 웹 제어 이벤트, 방화벽 이벤트, 정책 변경).
- 선택사항: 특정 이벤트 유형을 포함하거나 제외하도록 필터를 구성합니다.
- 저장을 클릭합니다.
UDM 매핑 테이블
| 로그 필드 | UDM 매핑 | 논리 |
|---|---|---|
BitdefenderGZAttackEntry |
security_result.detection_fields.value |
원시 로그의 BitdefenderGZAttackEntry 값이 키가 'attack_entry'인 security_result.detection_fields 객체에 값으로 할당됩니다. |
BitdefenderGZAttackTypes |
security_result.category_details |
원시 로그의 BitdefenderGZAttackTypes 값이 security_result.category_details에 할당됩니다. 그런 다음 값이 개별 문자열로 분할되고 각 문자열이 security_result.category_details 배열에 값으로 추가됩니다. |
BitdefenderGZAttCkId |
security_result.detection_fields.value |
원시 로그의 BitdefenderGZAttCkId 값은 키가 'BitdefenderGZAttCkId'인 security_result.detection_fields 객체에 값으로 할당됩니다. |
BitdefenderGZCompanyId |
target.user.company_name |
원시 로그의 BitdefenderGZCompanyId 값이 target.user.company_name에 할당됩니다. |
BitdefenderGZComputerFQDN |
principal.asset.network_domain |
원시 로그의 BitdefenderGZComputerFQDN 값이 principal.asset.network_domain에 할당됩니다. |
BitdefenderGZDetectionName |
security_result.threat_name |
원시 로그의 BitdefenderGZDetectionName 값이 security_result.threat_name에 할당됩니다. |
BitdefenderGZEndpointId |
security_result.detection_fields.value |
원시 로그의 BitdefenderGZEndpointId 값은 키가 'BitdefenderGZEndpointId'인 security_result.detection_fields 객체에 값으로 할당됩니다. |
BitdefenderGZIncidentId |
metadata.product_log_id |
원시 로그의 BitdefenderGZIncidentId 값이 metadata.product_log_id에 할당됩니다. |
BitdefenderGZMainAction |
security_result.action_details |
원시 로그의 BitdefenderGZMainAction 값이 security_result.action_details에 할당됩니다. 이 값을 기반으로 security_result.action 필드가 설정됩니다 (예: '차단됨'은 'BLOCK'에 매핑됨). security_result.description 필드도 'main_action: ' 다음에 BitdefenderGZMainAction 값이 채워집니다. |
BitdefenderGZMalwareHash |
principal.process.file.sha256 |
원시 로그의 BitdefenderGZMalwareHash 값이 principal.process.file.sha256에 할당됩니다. |
BitdefenderGZMalwareName |
security_result.threat_name |
원시 로그의 BitdefenderGZMalwareName 값이 security_result.threat_name에 할당됩니다. |
BitdefenderGZMalwareType |
security_result.detection_fields.value |
원시 로그의 BitdefenderGZMalwareType 값이 키가 'malware_type'인 security_result.detection_fields 객체에 값으로 할당됩니다. |
BitdefenderGZModule |
metadata.product_event_type |
원시 로그의 BitdefenderGZModule 값이 metadata.product_event_type에 할당됩니다. |
BitdefenderGZSeverityScore |
security_result.severity_details |
원시 로그의 BitdefenderGZSeverityScore 값이 security_result.severity_details에 할당됩니다. |
BitdefenderGZHwId |
target.resource.id |
원시 로그의 BitdefenderGZHwId 값이 target.resource.id에 할당됩니다. |
act |
security_result.action_details |
원시 로그의 act 값이 security_result.action_details에 할당됩니다. |
actionTaken |
security_result.action_details |
원시 로그의 actionTaken 값이 security_result.action_details에 할당됩니다. 이 값을 기반으로 security_result.action 필드가 설정됩니다 (예: 'block'은 'BLOCK'에 매핑됨). security_result.description 필드도 'actionTaken: ' 다음에 actionTaken 값이 채워집니다. |
additional.fields |
additional.fields |
파서 로직은 'product_installed'의 키/값 쌍을 만들어 additional.fields 객체에 추가합니다. |
categories |
principal.asset.category |
원시 로그의 categories 값이 principal.asset.category에 할당됩니다. |
cmd_line |
target.process.command_line |
원시 로그의 cmd_line 값이 target.process.command_line에 할당됩니다. |
companyId |
target.user.company_name |
원시 로그의 companyId 값이 target.user.company_name에 할당됩니다. |
computer_fqdn |
principal.asset.network_domain |
원시 로그의 computer_fqdn 값이 principal.asset.network_domain에 할당됩니다. |
computer_id |
principal.asset.asset_id |
원시 로그의 computer_id 값이 'ComputerId:'를 앞에 추가한 후 principal.asset.asset_id에 할당됩니다. |
computer_ip |
principal.asset.ip |
원시 로그의 computer_ip 값이 파싱되고 쉼표로 분할되며 결과 IP 주소가 각각 principal.asset.ip 배열에 추가됩니다. |
computer_name |
principal.resource.attribute.labels.value |
원시 로그의 computer_name 값이 키가 'computer_name'인 principal.resource.attribute.labels 객체에 값으로 할당됩니다. 키가 'computer_name'인 security_result.detection_fields 객체에 값으로도 추가됩니다. |
column1 |
metadata.product_log_id |
원시 로그의 column1 값이 metadata.product_log_id에 할당됩니다. |
column3 |
observer.ip |
원시 로그의 column3 값이 observer.ip에 할당됩니다. |
command_line |
target.process.command_line |
원시 로그의 command_line 값이 target.process.command_line에 할당됩니다. |
data |
target.registry.registry_value_data |
원시 로그의 data 값이 target.registry.registry_value_data에 할당됩니다. |
detection_attackTechnique |
security_result.detection_fields.value |
원시 로그의 detection_attackTechnique 값이 키가 'detection attackTechnique'인 security_result.detection_fields 객체에 값으로 할당됩니다. |
detection_name |
security_result.threat_name |
원시 로그의 detection_name 값이 security_result.threat_name에 할당됩니다. |
destination_ip |
target.ip |
원시 로그의 destination_ip 값이 target.ip에 할당됩니다. |
destination_port |
target.port |
원시 로그의 destination_port 값이 target.port에 할당됩니다. |
direction |
network.direction |
원시 로그의 direction 값이 대문자로 변환되어 network.direction에 할당됩니다. |
dvc |
principal.ip |
원시 로그의 dvc 값이 파싱되고 쉼표로 분할되며 결과 IP 주소가 각각 principal.ip 배열에 추가됩니다. |
dvchost |
about.hostname |
원시 로그의 dvchost 값이 about.hostname에 할당됩니다. |
event_description |
metadata.description |
원시 로그의 event_description 값이 metadata.description에 할당됩니다. |
event_name |
metadata.product_event_type |
원시 로그의 event_name 값이 metadata.product_event_type에 할당됩니다. 값이 'Antiphishing'인 경우 security_result.category이 'PHISHING'으로 설정됩니다. 값이 'AntiMalware'인 경우 security_result.category이 'SOFTWARE_MALICIOUS'로 설정됩니다. metadata.event_type 필드는 파서 내에서 일련의 조건문을 사용하여 event_name에서 파생됩니다. |
ev |
metadata.product_event_type |
원시 로그의 ev 값이 metadata.product_event_type에 할당됩니다. |
extra_info.command_line |
target.process.command_line |
원시 로그의 extra_info.command_line 값이 target.process.command_line에 할당됩니다. |
extra_info.parent_pid |
principal.process.pid |
원시 로그의 extra_info.parent_pid 값이 principal.process.pid에 할당됩니다. |
extra_info.parent_process_cmdline |
principal.process.command_line |
원시 로그의 extra_info.parent_process_cmdline 값이 principal.process.command_line에 할당됩니다. |
extra_info.parent_process_path |
principal.process.file.full_path |
원시 로그의 extra_info.parent_process_path 값이 principal.process.file.full_path에 할당됩니다. |
extra_info.pid |
target.process.pid |
원시 로그의 extra_info.pid 값이 target.process.pid에 할당됩니다. |
extra_info.process_path |
target.process.file.full_path |
원시 로그의 extra_info.process_path 값이 target.process.file.full_path에 할당됩니다. |
extra_info.user |
target.user.userid |
원시 로그의 extra_info.user 값이 target.user.userid에 할당됩니다. |
filePath |
principal.process.file.full_path |
원시 로그의 filePath 값이 principal.process.file.full_path에 할당됩니다. |
file_path |
principal.process.file.full_path |
원시 로그의 file_path 값이 principal.process.file.full_path에 할당됩니다. |
final_status |
security_result.action_details |
원시 로그의 final_status 값이 security_result.action_details에 할당됩니다. 이 값을 기반으로 security_result.action 필드가 설정됩니다 (예: 'deleted'는 'BLOCK'에 매핑되고 'ignored'는 'ALLOW'에 매핑됨). security_result.description 필드도 'final_status: '로 채워지고 그 뒤에 final_status 값이 추가됩니다. 값이 'deleted' 또는 'blocked'인 경우 metadata.event_type이 'SCAN_NETWORK'로 설정됩니다. |
hash |
principal.process.file.sha256 |
원시 로그의 hash 값이 principal.process.file.sha256에 할당됩니다. |
host |
principal.hostname |
원시 로그의 host 값이 principal.hostname에 할당됩니다. |
hostname |
principal.hostname |
event_name이 'log_on' 또는 'log_out'이 아닌 경우 원시 로그의 hostname 값이 principal.hostname에 할당됩니다. 그렇지 않으면 target.hostname에 할당됩니다. |
host_name |
principal.hostname |
원시 로그의 host_name 값이 principal.hostname에 할당됩니다. |
hwid |
principal.resource.id |
원시 로그의 hwid 값이 비어 있지 않으면 principal.resource.id에 할당됩니다. 비어 있고 이벤트가 'log_on' 또는 'log_out'이 아닌 경우 source_hwid 값이 principal.resource.id에 할당됩니다. 이벤트가 'log_on' 또는 'log_out'인 경우 target.resource.id에 할당됩니다. |
incident_id |
metadata.product_log_id |
원시 로그의 incident_id 값이 metadata.product_log_id에 할당됩니다. |
ip_dest |
target.ip |
원시 로그의 ip_dest 값이 target.ip에 할당됩니다. |
ip_source |
principal.ip |
원시 로그의 ip_source 값이 principal.ip에 할당됩니다. |
key_path |
target.registry.registry_key |
원시 로그의 key_path 값이 target.registry.registry_key에 할당됩니다. |
local_port |
principal.port |
원시 로그의 local_port 값이 정수로 변환되어 principal.port에 할당됩니다. |
logon_type |
extensions.auth.mechanism |
원시 로그의 logon_type 값이 extensions.auth.mechanism 값을 결정하는 데 사용됩니다. logon_type의 숫자 값은 서로 다른 인증 메커니즘에 매핑됩니다 (예: 2는 'LOCAL'에 매핑되고 3은 'NETWORK'에 매핑됨). 일치하는 logon_type이 없으면 메커니즘이 'MECHANISM_UNSPECIFIED'로 설정됩니다. |
lurker_id |
intermediary.resource.id |
원시 로그의 lurker_id 값이 intermediary.resource.id에 할당됩니다. |
main_action |
security_result.action_details |
원시 로그의 main_action 값이 security_result.action_details에 할당됩니다. 이 값을 기반으로 security_result.action 필드가 설정됩니다 (예: '차단됨'은 'BLOCK'에 매핑되고 '조치 없음'은 'ALLOW'에 매핑됨). security_result.description 필드도 'main_action: ' 다음에 main_action 값이 채워집니다. |
malware_name |
security_result.threat_name |
원시 로그의 malware_name 값이 security_result.threat_name에 할당됩니다. |
malware_type |
security_result.detection_fields.value |
원시 로그의 malware_type 값이 키가 'malware_type'인 security_result.detection_fields 객체에 값으로 할당됩니다. |
metadata.description |
metadata.description |
파서는 event_name 필드를 기반으로 metadata.description 필드를 설정합니다. |
metadata.event_type |
metadata.event_type |
파서는 event_name 필드를 기반으로 metadata.event_type 필드를 설정합니다. |
metadata.product_event_type |
metadata.product_event_type |
파서는 event_name 또는 module 필드를 기반으로 metadata.product_event_type 필드를 설정합니다. |
metadata.product_log_id |
metadata.product_log_id |
파서는 msg_id 또는 incident_id 필드를 기반으로 metadata.product_log_id 필드를 설정합니다. |
metadata.product_name |
metadata.product_name |
파서는 metadata.product_name을 'BitDefender EDR'로 설정합니다. |
metadata.product_version |
metadata.product_version |
파서가 product_version 필드의 이름을 metadata.product_version로 바꿉니다. |
metadata.vendor_name |
metadata.vendor_name |
파서는 metadata.vendor_name을 'BitDefender'로 설정합니다. |
module |
metadata.product_event_type |
원시 로그의 module 값이 metadata.product_event_type에 할당됩니다. 값이 'new-incident'이고 target_process_file_full_path가 비어 있지 않으면 metadata.event_type이 'PROCESS_UNCATEGORIZED'로 설정됩니다. 값이 'task-status'인 경우 metadata.event_type이 'STATUS_UPDATE'로 설정됩니다. 값이 'network-monitor' 또는 'fw'인 경우 metadata.event_type이 'SCAN_NETWORK'로 설정됩니다. |
msg_id |
metadata.product_log_id |
원시 로그의 msg_id 값이 metadata.product_log_id에 할당됩니다. |
network.application_protocol |
network.application_protocol |
원시 로그의 uc_type 값이 대문자로 변환되어 network.application_protocol에 할당됩니다. |
network.direction |
network.direction |
파서는 direction 필드를 기반으로 network.direction 필드를 설정합니다. |
network.ip_protocol |
network.ip_protocol |
protocol_id이 '6'이면 파서는 network.ip_protocol을 'TCP'로 설정합니다. |
new_path |
target.file.full_path |
원시 로그의 new_path 값이 target.file.full_path에 할당됩니다. |
old_path |
src.file.full_path |
원시 로그의 old_path 값이 src.file.full_path에 할당됩니다. |
origin_ip |
intermediary.ip |
원시 로그의 origin_ip 값이 intermediary.ip에 할당됩니다. |
os |
principal.platform_version |
원시 로그의 os 값이 principal.platform_version에 할당됩니다. principal.platform 필드는 os에서 파생됩니다 (예: 'Win'은 'WINDOWS'에 매핑됨). 이벤트가 'log_on' 또는 'log_out'인 경우 principal.platform 및 principal.platform_version 필드의 이름이 각각 target.platform 및 target.platform_version로 바뀝니다. |
os_type |
principal.platform |
원시 로그의 os_type 값은 principal.platform 값을 결정하는 데 사용됩니다 (예: 'Win'은 'WINDOWS'에 매핑됨). |
parent_pid |
principal.process.pid |
원시 로그의 parent_pid 값이 principal.process.pid에 할당됩니다. |
parent_process_path |
principal.process.file.full_path |
원시 로그의 parent_process_path 값이 principal.process.file.full_path에 할당됩니다. |
parent_process_pid |
principal.process.pid |
원시 로그의 parent_process_pid 값이 principal.process.pid에 할당됩니다. |
path |
target.file.full_path |
원시 로그의 path 값이 target.file.full_path에 할당됩니다. |
pid |
principal.process.pid 또는 target.process.pid |
event_name가 'file' 또는 'reg'로 시작하거나 'process_signal', 'network_connection', 'connection_connect' 중 하나인 경우 원시 로그의 pid 값이 principal.process.pid에 할당됩니다. 그렇지 않으면 target.process.pid에 할당됩니다. |
pid_path |
principal.process.file.full_path |
원시 로그의 pid_path 값이 principal.process.file.full_path에 할당됩니다. |
port_dest |
target.port |
원시 로그의 port_dest 값이 정수로 변환되어 target.port에 할당됩니다. |
port_source |
principal.port |
원시 로그의 port_source 값이 정수로 변환되어 principal.port에 할당됩니다. |
ppid |
principal.process.pid |
원시 로그의 ppid 값이 principal.process.pid에 할당됩니다. |
principal.ip |
principal.ip |
파서는 ip_source 또는 dvc 필드를 기반으로 principal.ip 필드를 설정합니다. |
principal.platform |
principal.platform |
파서는 os 또는 os_type 필드를 기반으로 principal.platform 필드를 설정합니다. |
principal.platform_version |
principal.platform_version |
파서는 os 또는 osi_version 필드를 기반으로 principal.platform_version 필드를 설정합니다. |
principal.process.command_line |
principal.process.command_line |
파서는 parent_process_cmdline 필드를 기반으로 principal.process.command_line 필드를 설정합니다. |
principal.process.file.full_path |
principal.process.file.full_path |
파서는 pid_path, file_path, parent_process_path 또는 process_path 필드를 기반으로 principal.process.file.full_path 필드를 설정합니다. |
principal.process.file.md5 |
principal.process.file.md5 |
파서가 file_hash_md5 필드의 이름을 principal.process.file.md5로 바꿉니다. |
principal.process.file.sha256 |
principal.process.file.sha256 |
파서는 hash, BitdefenderGZMalwareHash 또는 file_hash_sha256 필드를 기반으로 principal.process.file.sha256 필드를 설정합니다. |
principal.process.parent_process.pid |
principal.process.parent_process.pid |
파서가 ppid 필드의 이름을 principal.process.parent_process.pid로 바꿉니다. |
principal.process.pid |
principal.process.pid |
파서는 pid, parent_pid, ppid 또는 parent_process_pid 필드를 기반으로 principal.process.pid 필드를 설정합니다. |
principal.resource.id |
principal.resource.id |
파서는 hwid 또는 source_hwid 필드를 기반으로 principal.resource.id 필드를 설정합니다. |
principal.url |
principal.url |
파서는 url 필드를 기반으로 principal.url 필드를 설정합니다. |
process_command_line |
target.process.command_line |
원시 로그의 process_command_line 값이 target.process.command_line에 할당됩니다. |
process_path |
principal.process.file.full_path 또는 target.process.file.full_path |
event_name가 'network_connection' 또는 'connection_connect'인 경우 원시 로그의 process_path 값이 principal.process.file.full_path에 할당됩니다. 그렇지 않으면 target.process.file.full_path에 할당됩니다. |
product_installed |
additional.fields.value.string_value |
원시 로그의 product_installed 값이 키가 'product_installed'인 additional.fields 객체에 값으로 할당됩니다. |
product_version |
metadata.product_version |
원시 로그의 product_version 값이 metadata.product_version에 할당됩니다. |
protocol_id |
network.ip_protocol |
protocol_id이 '6'이면 파서는 network.ip_protocol을 'TCP'로 설정합니다. |
request |
target.url |
원시 로그의 request 값이 target.url에 할당됩니다. |
security_result.action |
security_result.action |
파서는 main_action, actionTaken, status 또는 final_status 필드를 기반으로 security_result.action 필드를 설정합니다. 이러한 필드 중 유효한 작업을 제공하는 필드가 없으면 기본값은 'UNKNOWN_ACTION'입니다. |
security_result.action_details |
security_result.action_details |
파서는 main_action, actionTaken, status 또는 final_status 필드를 기반으로 security_result.action_details 필드를 설정합니다. |
security_result.category |
security_result.category |
파서는 event_name이 'Antiphishing'인 경우 security_result.category 필드를 'PHISHING'으로 설정하고, event_name이 'AntiMalware'인 경우 'SOFTWARE_MALICIOUS'로 설정하거나 sec_category 필드의 값을 병합합니다. |
security_result.category_details |
security_result.category_details |
파서는 block_type 또는 attack_types 필드를 기반으로 security_result.category_details 필드를 설정합니다. |
security_result.detection_fields |
security_result.detection_fields |
파서는 'malware_type', 'attack_entry', 'BitdefenderGZAttCkId', 'BitdefenderGZEndpointId', 'final_status', 'detection attackTechnique', 'computer_name' 등 다양한 필드의 security_result.detection_fields 객체를 만듭니다. |
security_result.description |
security_result.description |
파서는 main_action, actionTaken 또는 final_status 필드를 기반으로 security_result.description 필드를 설정합니다. |
security_result.severity |
security_result.severity |
파서는 severity 필드가 비어 있지 않고 module이 'new-incident'인 경우 severity 필드의 대문자 값을 기반으로 security_result.severity 필드를 설정합니다. |
security_result.severity_details |
security_result.severity_details |
파서는 severity_score 필드를 기반으로 security_result.severity_details 필드를 설정합니다. |
security_result.threat_name |
security_result.threat_name |
파서는 malware_name 또는 detection_name 필드를 기반으로 security_result.threat_name 필드를 설정합니다. |
severity |
security_result.severity |
원시 로그의 severity 값이 비어 있지 않고 module이 'new-incident'인 경우 대문자로 변환되어 security_result.severity에 할당됩니다. |
severity_score |
security_result.severity_details |
원시 로그의 severity_score 값이 문자열로 변환되어 security_result.severity_details에 할당됩니다. |
source_host |
observer.ip |
원시 로그의 source_host 값이 observer.ip에 할당됩니다. |
source_hwid |
principal.resource.id |
원시 로그의 source_hwid 값이 principal.resource.id에 할당됩니다. |
source_ip |
src.ip |
원시 로그의 source_ip 값이 src.ip에 할당됩니다. |
source_port |
principal.port |
원시 로그의 source_port 값이 정수로 변환되어 principal.port에 할당됩니다. |
spt |
principal.port |
원시 로그의 spt 값이 principal.port에 할당됩니다. |
sproc |
principal.process.command_line |
원시 로그의 sproc 값이 principal.process.command_line에 할당됩니다. |
src |
principal.ip |
원시 로그의 src 값이 principal.ip에 할당됩니다. |
src.ip |
src.ip |
파서는 source_ip 필드를 기반으로 src.ip 필드를 설정합니다. |
src.file.full_path |
src.file.full_path |
파서는 old_path 필드를 기반으로 src.file.full_path 필드를 설정합니다. |
status |
security_result.action_details |
원시 로그의 status 값이 security_result.action_details에 할당됩니다. 이 값을 기반으로 security_result.action 필드가 설정됩니다 (예: 'portscan_blocked' 및 'uc_site_blocked'는 'BLOCK'에 매핑됨). security_result.description 필드도 'status: '로 채워지고 그 뒤에 status 값이 추가됩니다. |
suid |
principal.user.userid |
원시 로그의 suid 값이 principal.user.userid에 할당됩니다. |
suser |
principal.user.user_display_name |
원시 로그의 suser 값이 principal.user.user_display_name에 할당됩니다. |
target.file.full_path |
target.file.full_path |
파서는 path 또는 new_path 필드를 기반으로 target.file.full_path 필드를 설정합니다. |
target.hostname |
target.hostname |
파서는 hostname 필드를 기반으로 target.hostname 필드를 설정합니다. |
target.ip |
target.ip |
파서는 ip_dest 또는 destination_ip 필드를 기반으로 target.ip 필드를 설정합니다. |
target.platform |
target.platform |
파서는 principal.platform 필드를 기반으로 target.platform 필드를 설정합니다. |
target.platform_version |
target.platform_version |
파서는 principal.platform_version 필드를 기반으로 target.platform_version 필드를 설정합니다. |
target.port |
target.port |
파서는 port_dest 또는 destination_port 필드를 기반으로 target.port 필드를 설정합니다. |
target.process.command_line |
target.process.command_line |
파서는 command_line, process_command_line 또는 cmd_line 필드를 기반으로 target.process.command_line 필드를 설정합니다. |
target.process.file.full_path |
target.process.file.full_path |
파서는 process_path 필드를 기반으로 target.process.file.full_path 필드를 설정합니다. |
target.process.pid |
target.process.pid |
파서는 pid 필드를 기반으로 target.process.pid 필드를 설정합니다. |
target.registry.registry_key |
target.registry.registry_key |
파서는 key_path 필드를 기반으로 target.registry.registry_key 필드를 설정합니다. |
target.registry.registry_value_data |
target.registry.registry_value_data |
파서는 data 필드를 기반으로 target.registry.registry_value_data 필드를 설정합니다. |
target.registry.registry_value_name |
target.registry.registry_value_name |
파서는 value 필드를 기반으로 target.registry.registry_value_name 필드를 설정합니다. |
target.resource.id |
target.resource.id |
파서는 hwid 또는 BitdefenderGZHwId 필드를 기반으로 target.resource.id 필드를 설정합니다. |
target.url |
target.url |
파서는 request 필드를 기반으로 target.url 필드를 설정합니다. |
target.user.company_name |
target.user.company_name |
파서는 companyId 필드를 기반으로 target.user.company_name 필드를 설정합니다. |
target.user.user_display_name |
target.user.user_display_name |
파서는 user.name 또는 user.userName 필드를 기반으로 target.user.user_display_name 필드를 설정합니다. |
target.user.userid |
target.user.userid |
파서는 user_name, user, user.id 또는 extra_info.user 필드를 기반으로 target.user.userid 필드를 설정합니다. |
target_pid |
target.process.pid |
원시 로그의 target_pid 값이 target.process.pid에 할당됩니다. |
timestamp |
metadata.event_timestamp |
원시 로그의 timestamp 값이 파싱되어 metadata.event_timestamp에 할당됩니다. |
uc_type |
network.application_protocol |
원시 로그의 uc_type 값이 대문자로 변환되어 network.application_protocol에 할당됩니다. target_user_userid이 비어 있지 않으면 metadata.event_type이 'USER_UNCATEGORIZED'로 설정됩니다. 그렇지 않으면 'STATUS_UPDATE'로 설정됩니다. |
url |
principal.url |
원시 로그의 url 값이 비어 있지 않거나 '0.0.0.0'인 경우 principal.url에 할당됩니다. |
user |
target.user.userid |
원시 로그의 user 값이 target.user.userid에 할당됩니다. |
user.id |
target.user.userid |
원시 로그의 user.id 값이 target.user.userid에 할당됩니다. |
user.name |
target.user.user_display_name |
원시 로그의 user.name 값이 target.user.user_display_name에 할당됩니다. |
user.userName |
target.user.user_display_name |
원시 로그의 user.userName 값이 target.user.user_display_name에 할당됩니다. |
user.userSid |
principal.user.windows_sid |
원시 로그의 user.userSid 값이 principal.user.windows_sid에 할당됩니다. |
user_name |
target.user.userid |
원시 로그의 user_name 값이 target.user.userid에 할당됩니다. |
value |
target.registry.registry_value_data 또는 target.registry.registry_value_name |
event_name이 'reg_delete_value'인 경우 원시 로그의 value 값이 target.registry.registry_value_data에 할당됩니다. 그렇지 않으면 target.registry.registry_value_name에 할당됩니다. |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.