
Служба Microsoft Windows, предоставляющая телеметрию об изменениях страниц исполняемой памяти Windows для содействия обнаружению угроз.
Служба Windows для высокопроизводительного сбора телеметрии о новых или изменённых страницах памяти Windows, которые стали исполняемыми, каждые 30 секунд.
Выпущено в виде открытого исходного кода компанией NCC Group Plc — http://www.nccgroup.com/
Разработано Олли Уайтхаусом (Ollie Whitehouse), ollie dot whitehouse at nccgroup dot com
https://github.com/nccgroup/WindowsMemPageDelta
Выпущено под лицензией AGPL — подробнее см. в LICENSE
https://research.nccgroup.com/2020/10/03/tool-windows-executable-memory-page-delta-reporter/
Соберите достаточно телеметрии с хоста Windows или целого парка машин о том, какие процессы создают и изменяют память так, что она становится исполняемой, а также об их размере, — и вы сможете замечать аномалии. Эти аномалии могут быть вредоносной активностью.
Поддерживается / протестирована только Windows 10
Если кратко:
Высокая производительность достигается тем, что:
Часть этого кода основана на проекте WindowsPatchDetector, который я написал в 2014 году, — https://github.com/olliencc/WindowsPatchDetector . Этот проект обнаруживал изменения в секции .text по сравнению с тем, что находится на диске.
Запуск в качестве консольного приложения
WindowsMemPageDelta.exe -c
Запуск в качестве службы Windows
WindowsMemPageDelta.exe -s
Ниже приведён пакетный файл, который можно использовать для установки службы.
REM -------------------------------------------
REM This is the installation
REM -------------------------------------------
REM Copy the Eventlog DLL to the Windows directory
copy NCCGroup-WMPD-EvtLog.dll c:\Windows\NCCGroup-WMPD-EvtLog.dll
REM Copy the Main Binary
copy WindowsMemPageDelta.exe c:\Windows\WindowsMemPageDelta.exe
REM Create the service
sc create NCCMemDelta displayname= "NCC Group Memory Delta" binpath= "\"c:\Windows\WindowsMemPageDelta.exe\" -s" start= auto
REM Start the service
net start NCCMemDelta
REM -------------------------------------------
REM This is the Eventlog manifest
REM -------------------------------------------
wevtutil install-manifest SvcEventManifest.man
Есть две категории:
Индивидуальные дельты:

Итоговые объёмы:

Схема для событий новых дельт (New):
TYPE,PID,Process Name,Address,Size,Protection
Пример
New,32068,ServiceHub.DataWarehouseHost.exe,7ffd5b9d0000,53248,XRW....
New,32068,ServiceHub.DataWarehouseHost.exe,7ffd93f51000,69632,XR....
New,32068,ServiceHub.DataWarehouseHost.exe,7ffd97241000,1015808,XR....
New,12692,ScriptedSandbox64.exe,1e247250000,20480,X.....
New,12692,ScriptedSandbox64.exe,1e2475f0000,4096,X.....
New,12692,ScriptedSandbox64.exe,1e247770000,32768,X.....
New,12692,ScriptedSandbox64.exe,1e2477b0000,12288,X.....
New,12692,ScriptedSandbox64.exe,1e2477f0000,16384,X.....
New,12692,ScriptedSandbox64.exe,1e247af0000,40960,X.....
...
Схема для событий изменённых дельт (Change):
TYPE,PID,Process Name,Address,Size,Protection,Previous Protection
Changed,16008,Teams.exe,cc86df04000,503808,XR....,.RW....
Changed,16008,Teams.exe,cc86e004000,86016,XR....,.RW....
Changed,16008,Teams.exe,cc86e084000,86016,XR....,.RW....
Changed,16008,Teams.exe,cc86e104000,86016,XR....,.RW....
Changed,16008,Teams.exe,cc86e284000,503808,XR....,.RW....
Changed,16008,Teams.exe,cc86e604000,503808,XR....,.RW....
Changed,16008,Teams.exe,cc86e984000,503808,XR....,.RW....
Changed,16008,Teams.exe,cc86ea04000,503808,XR....,.RW....
Changed,16008,Teams.exe,cc86ec84000,503808,XR....,.RW....
Схема для событий итоговых объёмов (Total):
TYPE,PID,Process Name,Total Executable Memory Bytes
Total,36904,chrome.exe,451309568
Total,38772,chrome.exe,324202496
Total,9508,conhost.exe,95203328
Total,38808,mspdbsrv.exe,31637504
Total,5292,SearchProtocolHost.exe,434233344
Total,31036,chrome.exe,268713984
Total,25940,chrome.exe,262905856
Total,1184,Teams.exe,259481600
Total,36984,conhost.exe,154443776