Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[8.15] [Security Solution] Identify and exclude 24H2+ hotpatch extension pages from stomp detection (#192490) #192638

Merged
merged 2 commits into from
Sep 12, 2024

Conversation

gabriellandau
Copy link
Contributor

Backport

This will backport the following commits from main to 8.15:

Questions ?

Please refer to the Backport tool documentation

…mp detection (elastic#192490)

## Release Note
Defend 8.15.2 will improve support for [Windows call stack module stomp
detection](https://www.elastic.co/security-labs/upping-the-ante-detecting-in-memory-threats-with-kernel-call-stacks)
in Windows 11 24H2.

## Description
Windows 11 24H2 adds hotpatch support, a great feature that enables the
installation of many security updates without a system reboot. To
implement hotpatching, Microsoft is changing the layout of executable
images in memory, appending new "extension pages" to the end of every
hotpatchable mapped image in memory. These pages are
`PAGE_EXECUTE_READ`.

![image](https://github.com/user-attachments/assets/41bb960e-21ff-4c63-a250-81e303506ad8)

Microsoft describes the change in some detail
[here](https://techcommunity.microsoft.com/t5/windows-os-platform-blog/hotpatching-on-windows/ba-p/2959541).
Here's a [third-party analysis of the
change](https://ynwarcs.github.io/Win11-24H2-CFG) showing how it breaks
x64debug.

![image](https://github.com/user-attachments/assets/3bea1aa5-8c5a-4c27-bf74-9e92833cdc7a)

Unfortunately, this change affects our module stomp detection feature,
which views these executable pages as patched/stomped. We are fixing
this in 8.15.2. This PR lets users opt out of the change, reverting to
the old behavior.

### Checklist

Delete any items that are not applicable to this PR.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)

### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

(cherry picked from commit ca0d60c)

# Conflicts:
#	x-pack/plugins/security_solution/public/management/pages/policy/models/advanced_policy_schema.ts
@gabriellandau gabriellandau enabled auto-merge (squash) September 11, 2024 19:55
@gabriellandau gabriellandau changed the title [8.15] [Defend] Identify and exclude 24H2+ hotpatch extension pages from stomp detection (#192490) [8.15] [Security Solution] Identify and exclude 24H2+ hotpatch extension pages from stomp detection (#192490) Sep 11, 2024
@kibana-ci
Copy link
Collaborator

💛 Build succeeded, but was flaky

Failed CI Steps

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
securitySolution 16.2MB 16.2MB +822.0B

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@gabriellandau gabriellandau merged commit cd5f0e6 into elastic:8.15 Sep 12, 2024
32 checks passed
@gabriellandau gabriellandau deleted the backport/8.15/pr-192490 branch September 12, 2024 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants