Skip to content

[Do not merge] Microsoft Defender XDR: Optimize RareProcessAsService detection query and repackage solution v3.2.3 - #15405

Draft
v-kasghosh wants to merge 2 commits into
masterfrom
v-kasghosh/issues_15194
Draft

v-kasghosh wants to merge 2 commits into
masterfrom
v-kasghosh/issues_15194

Conversation

@v-kasghosh

@v-kasghosh v-kasghosh commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Changes

Analytic Rule – RareProcessAsService.yaml

  • Rewrote the KQL query for performance: replaced the monolithic multi-join
    pattern with a pre-aggregation strategy using materialize() and
    hint.strategy=shuffle, reducing query cost on large tenants.
  • Replaced pack_array() with dynamic([]) for the process whitelist.
  • Changed contains to the case-insensitive exact-match operator (=~) when
    filtering on services.exe to avoid false positives from partial name matches.
  • Capped make_set() limits from 100 000 to 1 000 to prevent excessive memory
    use during aggregation.
  • Each enrichment source (DeviceNetworkEvents, DeviceFileEvents,
    DeviceImageLoadEvents) now summarises independently before the final
    leftouter join, eliminating redundant scans.

Solution Package

  • Bumped solution version from 3.2.2 → 3.2.3 in Solution_Microsoft Defender XDR.json.
  • Added the rebuilt 3.2.3.zip package.

ARM Template Cleanup (createUiDefinition / mainTemplate / testParameters)

  • Removed the per-content-kind deployment-selection parameters
    (DeployAnalyticsRule, DeployWorkbook, DeployDefenderWorkbook,
    DeployDataConnector, DeployHuntingQuery) and their UI checkboxes, output
    bindings, and test-parameter definitions.
  • Removed the embedded Defender workbook deployment resources and their
    conditional logic from the main ARM template.

Reason for Changes

  • Close issue Unable to create Rare Process as a Service Analytic Rule #15194
  • Detection quality: the original query could time out or produce inflated
    result sets; the rewrite materially reduces compute and memory pressure.
  • Package hygiene: the content-selection toggles and standalone Defender
    workbook deployment paths added install-time complexity without a supported
    production scenario; removing them simplifies the ARM template and aligns with
    standard Content Hub packaging conventions.

Version Updated

  • Yes — solution version incremented to 3.2.3.

Testing Completed

  • Yes — KQL syntax validated; package rebuilt and included.

Optimize the Rare Process as a Service query and bump the solution package to 3.2.3. Remove content-selection parameters and embedded Defender workbook deployments from the ARM template.
@github-actions github-actions Bot added 1P Solution 1P Microsoft-owned Sentinel solution Solution Solution specialty review needed labels Oct 23, 2026
@contentautomationbot

Copy link
Copy Markdown

Hello how are you I am GitHub bot
😀😀
I see that you changed templates under the detections/analytic rules folder. Did you remember to update the version of the templates you changed?
If not, and if you want customers to be aware that a new version of this template is available, please update the version property of the template you changed.

@v-kasghosh v-kasghosh changed the title Refresh Defender XDR package and detection Microsoft Defender XDR: Optimize RareProcessAsService detection query and repackage solution v3.2.3 Oct 23, 2026
@v-kasghosh v-kasghosh linked an issue Oct 23, 2026 that may be closed by this pull request
@v-atulyadav v-atulyadav self-assigned this Oct 23, 2026
@v-atulyadav v-atulyadav changed the title Microsoft Defender XDR: Optimize RareProcessAsService detection query and repackage solution v3.2.3 [Do not merge] Microsoft Defender XDR: Optimize RareProcessAsService detection query and repackage solution v3.2.3 Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1P Solution 1P Microsoft-owned Sentinel solution Content-Package Solution Solution specialty review needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants