Без названия

Без названия
Пока все ждут от ФСБ документов по ГосСОПКЕ и, в частности, по правилам и форматам передачи данных об инцидентах, я бы хотел поговорить об одном из недавно появившихся стандартов описания индикаторов компрометации. Но сначала вопрос. Какие языки для описания индикаторов компрометации / сигнатур / шаблонов для файловых атак вы знаете? Первое, что приходит на ум, - это YARA. А для сетевых атак? Правильно, Snort. А что для системных событий? И вот тут мы пасуем. Наши SIEM просто берут данные в форматах syslog или Event Log и анализируют по сути сырые данные. Существует ли язык, который мог бы помогать SIEM анализировать события?


Оказывается да. Это SIGMA , язык появившийся год назад, который позволяет легко описывать события для анализа в SIEM и делиться ими между различными организациями в рамках информационного обмена. По мере получения популярности SIGMA для логов должен стать тем же, что YARA для файлов и Snort для сетевого трафика.

Вот так, например, будет выглядеть очистка одного из логов Windows:

title: Очистка EventLog
description: один из логов Windows очищается
author: Florian Roth
logsource:
  product: windows
detection:
  selection:
    EventLog: System
    EventID: 104
  condition: selection
falsepositives:
    - Unknown
level: medium

А вот так выглядит описание сценария, когда офисный документ запускает интерпретатор командной строки cmd.exe:

title: Макрос в офисном документе запускает cmd.exe
status: экспериментальный
description: правило для Windows
references: - https://www.hybrid-analysis.com
author: Florian Roth
logsource:
  product: windows
  service: sysmon
detection:
  selection:
    EventID: 1
    ParentImage:
      - '*WINDOWRD.EXE'
      - '*EXCEL.EXE'
    Image: '*cmd.exe'
  condition: selection
fields:
    - CommandLine
    - ParentCommandLine

А вот так будет выглядеть описание сценария с несколькими неудачными попытками входа под разными учетными записями с одной рабочей станции:


Наконец, вот так описывается один из тригеров DragonFly:

action: global
title: CrackMapExecWin
description: Обнаружение активности CrackMapExecWin как описывает NCSC
status: экспериментальный
references: - https://www.ncsc.gov.uk/alerts/hostile-state-actors-compromising-uk-organisations-focus-engineering-and-industrial-control
author: Markus Neis
detection:
  condition: 1 of them
falsepositives: - None
level: critical
--- # Сначала анализируем Windows Audit Log 
logsource:
  product: windows
  service: security
  description: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative TemplatesSystemAudit Process Creation'
detection:
  selection1:
  # Does not require group policy 'Audit Process Creation' > Include command line in process creation events
     EventID: 4688 
     NewProcessName: - '*crackmapexec.exe' 
--- 
# Затем анализируем Sysmon 
logsource:
  product: windows 
  service: sysmon 
detection: 
  selection1: 
  # Does not require group policy 'Audit Process Creation' > Include command line in process creation events 
   EventID: 1 
   Image: 
     - '*crackmapexec.exe'

Достаточно несложно и эффективно. Однако есть один нюанс - нужны средства автоматизации для работы со сценариями SIGMA. Пока это делает только MISP (для обмена индикаторами компрометации) и Splunk через соответствующий App - TA-Sigma-Searches . Также SIGMA поддерживает Elastic и kibana. У автора SIGMA были планы по интеграции своего языка в различные SIEM (например, ArcSight и QRadar), но пока они не реализованы. Может отечественные производители будут первыми?

ЗЫ. Кстати. Вы слышали что-нибудь про JA3 , метод описания цифровых отпечатков для SSL/TLS-клиентов, который может использоваться в рамках Threat Intelligence? Вот так выглядит отпечаток JA3 для Dridex - 74927e242d6c3febf8cb9cab10a7f889.
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Ищем баги вместе! Но не те, что в продакшене...

Разбираем кейсы, делимся опытом, учимся на чужих ошибках

Зафиксируйте уязвимость своих знаний — подпишитесь!