SOC detection engineering

July 30, 2026 · View on GitHub

This page deals with SOC detection engineering and management (detection use case creation, detection capabilities assessment, etc.)

ToC

Must read

Threat statistics/trends

SIEM rules publications

SIEM standards

Purple teaming activities

Detection engineering

Frameworks

Best practices

Security solutions watch

Audit policy / forensics

IT best practices for SOC engineering

Offensive activity/tools watch

Operating systems knowledge

Generic recommended approach

PDCA multi-loop

As per Wikipedia image

PDCA being applied to SOC

Plan

Sensors:

  • Determine which sensors or endpoint/app logs, you miss in terms of detection capabilities.
  • Determine how to generate and ingest their logs in the SIEM.
  • Build a project agenda.

SIEM rules:

  • Determine which detection logic you miss, directly in the SIEM.
  • Build a project agenda (deployment).

Detection automation playbooks:

  • Determine which automation you miss, based on feedback from previous alerts and incidents handling.
  • Build a project agenda (deployment).

Response automation playbooks:

  • Determine which automation you miss, based on feedback from previous alerts and incidents handling.
  • Build a project agenda (deployment).

Documentation:

  • Double check which Standard Operating Procedures (SOP), and global processes, you may miss or need to update.

Do

Sensors:

  • Ingest the logs of the security sensor, or endpoint/app logs, that you previously identified.
  • Make sure your data ingestion is compliant with the datamodel you use.

SIEM rules:

  • Create the detection rules (SIEM searches) that match your previously identified needs.
  • Create the alert objects in the SIEM or SIRP, to contain the contents of the SIEM searches in case something is found.

Detection automation playbooks:

  • Implement the needed automation, first by drawing the process and procedures (my recommendation is to use BPMN);
  • and then by implementing it in the SOA.

Response automation playbooks:

  • Implement the needed automation, first by drawing the process and procedures (my recommendation is to use BPMN);
  • and then by implementing it in the SOA.

Handling procedure (SOP):

  • If it does not exist already, create the handling procedure for the newly created detection rule.

Check

Logs:

  • Make sure your data ingestion is compliant with the datamodel you use (or, at least, the SIEM one).
  • Make sure there is no data source (sensor/logs) that do not send their data to the SIEM/XDR with no validated reason.

Already existing use cases

  • If there are already existing detection use cases, double check those who never trigerred detection (or since a long time).
  • Double check the most verbose existing detection use cases, and try to fine tune them to lower the detection rate (if possible).

Handling procedures (SOP):

  • Make sure that the handling process and procedures are clear and working fine, for the tested alerts.

Automations:

  • Make sure that the automations capabilities to help in the detection phase, work as expected (ie.: observables enrichment in the SIRP with queries to the TIP).
  • Make sure that the automations capabilities to help in the response phase, work as expected (ie.: containment steps), by assessing it with purpleteaming.

SIEM rules [first run for the assessed detection capabilities]:

  • Test the detection logics with narrowed use cases (specific events, that are generated on demand).

SIEM rules [following runs for the assessed detection capabilities]:

  • Assess your detection capabilities with purpleteaming.
  • Report your results and findings in a purpose-built app like Vectr.

SIEM objects:

  • Assess the relevance and freshness of inclusion lists, aka whitelists (that are supposed to be synced with Git)
  • Assess the relevance and freshness of exclusion lists, aka blacklists (that are supposed to be synced with Git)
  • Assess the relevance and freshness of IOC lists (that are supposed to be synced with the TIP).
  • Assess the relevance and freshness of assets lists (that are supposed to be synced with Git), for instance groups, VIP/VOP, particular endpoints, etc.

AI/LLM embedded in cybersecurity solutions assessment

Act

  • Fix everything that was previously identified as not working, missing, or not matching your needs.

How to feed the "Plan" phase

Standard maturity and needs

Implement an XDR-like approach:

  • Leverage threat intel;
  • Leverage built-in detection capabilities of your security solutions/sensors;
  • Implement correlations between those security sensors alerts, within the SIEM.

Here is a suggested global overview of it, through Open-XDR approach of Stellar Cyber:

image

TTP detection priorities identification:

Leverage the native detection coverage of IT environments:

Leverage the documented detection coverage of security solutions:

Cyber watch:

Focus on top relevant vulnerabilities:

  • Vulnerabilities that are confirmed commonly exploited in the wild (see CISA KEV);

AND

  • that are confirmed as valid (unpatched) within your organization.

Then try to implement detection rules that are specific to those carefully selected 0days.

My recommendation, still, is to make sure not to spend all your time running after latest 0days, as it is time consuming and not that efficient in the end in terms of working SOC detection capabilities.

Advanced maturity and needs

Precisely define your needs and the SOC priorities:

  • Leverage a risk management-based approach, to determine:
    • threat actors (if possible);
    • critical assets;
    • attack scenarios (somewhat, kill chains and TTP).

Risks identification and their treatment:

image

Define risk prioritization as per BIA:

  • Here is a drawing of this approach, from NIST, leveraging a Business Impact Analysis to determine risk prioritization (from NIST IR 8286A, see To Go Further / Must Read):

image

The completion of the risk description column is composed of four activities that are detailed in NIST IR 8286A, Subsections 2.2.1 through 2.2.4. The activities include: • Part A – Identification of the organization’s relevant assets and their valuation • Part B – Determination of potential intentional/unintentional threats that might jeopardize the confidentiality, integrity, and availability of those assets • Part C – Consideration of vulnerabilities or other predisposing conditions of assets that make a threat event possible • Part D – High-level evaluation of the potential consequences if the threat source (part B) exploits the weakness (part C) against the organizational asset (part A)

Information learned while developing the loss scenarios helps to complete Part D of the risk scenario development, as depicted in Figure 4. By determining the various adverse impacts that might occur – whether by intentional attacks, natural events, or inadvertent errors – the enterprise will be able to support effective assessment, response, communications, and monitoring of information security risks. Notably, the goal is not to determine the probability that such a risk could occur since that exercise is part of risk analysis. Rather, the analysis of business impact is to determine what the various effects might be in order to enable risk managers to decide how critical and sensitive a particular business system is. Similar considerations apply to cyber-physical systems and operational technologies. The risk management process relies on this foundation of asset categorization, enabling a tailored and cost-effective approach to balancing risk and reward. Business impact drives categorization (sometimes called asset classification), which drives risk identification, which will later inform risk response, risk monitoring, and communication.

My recommendation is to follow the EBIOS RM methodology, from French ANSSI. The fourth workshop will aim at defining the "offensive scenarios" that are relevant for the environment for which you are running the risk management methodology. Those offensive scenarios should be considered as TTP (even if they are not directly referenced in MITRE ATT&CK Enterprise matrix), to be monitored by the SOC.

Focus your SOC detection engineering taskforce on priorities:

  • Set as priority the detection of confirmed attack scenarios (and the corresponding TTP), as per risk management analysis.

Common detection use cases

On top of community SIEM rules, I wanted to highlight the following ones, that I consider as efficient based on experience. Threshold may need to be adapted to every context, obviously.

Detection logics

XDR-like detection logics:

  • Correlation between EDR alert and CASB alert for the same endpoint, per timeframe.
  • Correlation between EDR alert and CASB alert for the same user, per timeframe.
  • Correlation between EDR alert and NDR alert for the same endpoint, per timeframe.
  • Correlation between EDR alert and NDR alert for the same user per timeframe.
  • Correlation between EDR alert and proxy SaaS alert for the same endpoint, per timeframe.
  • Correlation between EDR alert and proxy SaaS alert for the same user, per timeframe.
  • Correlation between EDR alert and identity management (AD, AAD, etc.) alert for the same user, per timeframe.

Threat intel-based detections:

  • IOC match (C&C intel) on proxy SaaS logs, firewall logs, EDR logs (telemetry).
  • IOC match on outgoing blocked traffic (FW, proxy, CASB), potentially indicating C&C traffic.

Unblocked infection vector:

  • X EDR/antimalware detections for the same user, per timeframe (trying to detect an unblocked infection vector).
    • for instance, X > 2.
  • X EDR/antimalware detections for the same workstation, per timeframe (trying to detect an unblocked infection vector).
    • for instance, X > 2.
  • X EDR/antimalware detections for the same server, per timeframe (trying to detect an unblocked infection vector).
    • for instance, X > 9 (NB: might need to be higher for file sharing servers).

Persistance or protection bypass capabilities of threat:

  • EDR/antimalware cleaning error.
  • EDR/antimalware detection during scheduled scan (meaning the threat has bypassed realtime protection).
  • A phishing URL has been clicked on before it was detected (Eg.: MS 365 Defender and ProofPoint UrlDefense offer this detection capability).

Successful vulnerability exploitation detection:

  • Correlation of firewall logs (outgoing traffic) and a list of IP addresses that are sources of detected attacks by WAF and NIDS;
    • NB: this is most likely a hint that a vulnerability has successfully been exploited and there is a callback to an attacker's machine.

Impossible travel scenarios:

  • Same user authenticating within X min of timeframe, on two different endpoints (workstations/mobiles, not being located in the same place);
    • for instance, X < 2min.
  • Same user (except admins, to begin with) authenticating on more than X endpoints (workstations/mobiles), per timeframe (eg.: 10 min);
    • for instance, X > 2.
  • You may want to leverage "risky users" detections in Azure Entra ID.

Successful bruteforce [MITRE T1110]:

  • Same user having X wrong passwords followed by successful authentication;
  • X Failed MFA attempts after successfull authentication;
    • for instance, X > 2.

Lateral movement [MITRE T1021.001]:

  • Multiple RDP servers to which an user connects over RDP for the first time;

C&C activity [MITRE T1071.004]:

Newly accessed domains:

  • Typically landing page for infection, or C&C;
    • See this Splunk article
    • NB: you may want to query all of the query results onto your TIP, leveraging automation capabilities (SOA). Thus, you will prioritize the handling of those network traffic logs.

Potential information leak:

  • Detect abnormal traffic peaks, within the outgoing traffic logs (FW, proxies):
  • Detect sensitive (PII, passwords, etc.) shared with anybody on cloud services:
    • With Cyera DSPM on Google workspace or Microsoft 365 :
      • leverage the generated issues named "Publicly shared sensitive Google Drive files" or "Publicly shared sensitive Microsoft 365 files":
        • confirm, based on filename/filepath, that the detection seems to be consistent with file properties (eg. filename being "health_data.gdoc"), to qualify the alert as an incident;
        • if not possible to qualify the alert based on filename/filepath, then that will be up to relevant business/production managers to confirm the detection.
      • leverage the generated issues named "Credentials in plain text":
        • confirm, based on filename/filepath, that the detection seems to be consistent with file properties (eg. filename being "passwords.gsheet"),, to qualify the alert as an incident;
        • if not possible to qualify the alert based on filename/filepath, then that will be up to relevant business/production managers to confirm the detection.

Obfuscated script [MITRE T1027, T1059]:

Advanced detection logics

Athentications attempts from known threat actor [MITRE TA0001]

  • Detect VPN / Entra ID, etc. authentication attempts from IP addresses that are known to be malicious and associated to a defined threat actor;
    • Correlate authentication logs with curated and up-to-date threat intel (IOC).

Named pipe abuse

Legitimate process abuse (code injection / hollowing)

  • Detect abnormal execution parameters of legit binaries (you may want to double check with their MD5/SHA1 hash, as well as their execution path)
    • rundll32.exe running without any parameter in the command line (while we should see the DLL and the function to be instanciated, in the arguments)
  • Detect abnormal network trafic of system components
    • explorer.exe connecting to public IP addresses (that do not belong to the organisation's IT env).

Legitimate process abuse (copycats)

  • Detect suspicious execution of an executable with a legit name, but that sits in %temp% or %programdata% instead of "c:\program files" or "C:\program files (x86)"
    • ex : c:\programdata\chrome.exe

Augmenting detection with automation

See threat intel page

Everything-as-code (DevSecOps)

The idea here is to follow the 'as-code' approach, wherever possible, with a central repository as a versioning system and source of truth. This, in order to achieve automation, quality controls, resilience (restore previous version in case something breaks), R&D with PDCA, etc. For instance, based on experience, this is applicable to SIEM rules, SOA playbooks, SOP, etc.

Required tools

Detection-as-code

  • Implement CI/CD/CD between the SIEM rules and an internal Git repository;
    • My recommendation: use YAML to declare and store your SIEM rules.
    • See example here with Elastic and Git image
  • Implement CI/CD/CD between the SIEM apps and an internal Git repository.
  • Implement CI/CD/CD between the SIEM objects templates (if any) and an internal Git repository.
  • Implement CI/CD between the audit policies (e.g.: Sysmon XML files, Linux AuditD conf, ...) and an internal Git repository.

Response-as-code

  • Implement CI/CD/CD between the SOA and an internal Git repository, for the playbooks;
    • Store the playbooks on the Git repo.
    • Version them thanks to Git (test / preprod / prod / disabled).
    • Deploy them from the Git, as a point of reference, onto the SOA.

SOP-as-code

  • Implement CI/CD/CD between the SOP (Standard Operating Procedures) hosted on a Wiki (or equivalent) and and internal Git repository;
    • My recommendation, to host the documentation and SOP: GitLab Docs.

To go further

Must read

End

Go to main page.