SOC(보안 운영 센터) 관리자는 팀의 성과를 측정하기 위해 전체 효율성 메트릭과 측정값을 손쉽게 유지할 수 있어야 합니다. 심각도, MITRE 전술, 평균 심사 시간, 평균 해결 시간 등과 같은 다양한 기준으로 시간에 따른 인시던트 작업을 확인해야 할 것입니다. 이제 Microsoft Sentinel은 Log Analytics의 새 SecurityIncident 테이블 및 스키마와 함께 제공되는 보안 작업 효율성 통합 문서를 통해 이 데이터를 사용할 수 있습니다. 시간에 따른 팀의 성과를 시각화하고 이 인사이트를 사용하여 효율성을 향상시킬 수 있습니다. 인시던트 테이블에 대해 고유한 KQL 쿼리를 작성 및 사용하여 특정 감사 요구 사항 및 KPI에 맞는 사용자 지정 통합 문서를 만들 수도 있습니다.
보안 인시던트 테이블 사용
SecurityIncident 테이블은 Microsoft Sentinel에 기본 제공됩니다. 이 테이블은 로그 아래에 있는 SecurityInsights 컬렉션의 다른 테이블과 함께 찾을 수 있습니다. Log Analytics의 다른 테이블처럼 쿼리할 수 있습니다.
인시던트를 생성 또는 업데이트할 때마다 테이블에 새 로그 항목이 추가됩니다. 이렇게 하면 인시던트 변경 내용을 추적하고 훨씬 더 강력한 SOC 메트릭을 사용할 수 있습니다. 하지만 인시던트에 대한 중복 항목을 제거해야 할 수도 있으므로(실행 중인 정확한 쿼리에 따라 달라짐), 이 테이블에 대한 쿼리를 생성할 때 이 점을 염두에 두어야 합니다.
예를 들어 인시던트 번호를 기준으로 정렬된 모든 인시던트 목록을 반환하려고 하지만 인시던트당 가장 최근 로그만 반환하려는 경우 arg_max() 집계 함수와 함께 KQL 요약 연산자를 사용하여 이 작업을 수행할 수 있습니다.
SecurityIncident
| summarize arg_max(LastModifiedTime, *) by IncidentNumber
추가 샘플 쿼리
인시던트 상태 - 지정된 시간 프레임의 상태 및 심각도별 모든 인시던트:
let startTime = ago(14d);
let endTime = now();
SecurityIncident
| where TimeGenerated >= startTime
| summarize arg_max(TimeGenerated, *) by IncidentNumber
| where LastModifiedTime between (startTime .. endTime)
| where Status in ('New', 'Active', 'Closed')
| where Severity in ('High','Medium','Low', 'Informational')