进程注入 检测防护
实时检测多种进程注入攻击手法——DLL注入、代码注入、进程镂空等,
在恶意代码执行前进行阻断,保护关键进程安全
🦠 常见注入 手法
攻击者常用的进程注入技术和检测方法
DLL 注入 — CreateRemoteThread + LoadLibrary
在目标进程中创建远程线程调用LoadLibrary加载恶意DLL。检测:监控CreateRemoteThread调用+VirtualAllocEx分配内存
Process Hollowing(进程镂空)
创建挂起状态的合法进程,替换其内存映像为恶意代码后恢复运行。检测:NtUnmapViewOfSection调用+异常的内存写入
APC 注入 — QueueUserAPC
向线程的APC队列插入恶意回调函数。检测:QueueUserAPC调用监控+APC函数地址合法性验证
HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, 0, targetPid);
LPVOID remoteMem = VirtualAllocEx(hProc, 0, size, MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(hProc, remoteMem, dllPath, size, 0);
LPTHREAD_START_ROUTINE loadLib = GetProcAddress("kernel32", "LoadLibraryA");
CreateRemoteThread(hProc, 0, 0, loadLib, remoteMem, 0, 0);
// ⚠️ 以上API调用链触发AegisX注入检测告警
CreateProcess(targetExe, ..., CREATE_SUSPENDED, ...);
NtUnmapViewOfSection(hProc, baseAddr);
VirtualAllocEx(hProc, 0, imgSize, ...);
WriteProcessMemory(hProc, ...); // 写入恶意PE
SetThreadContext(hThread, ...); // 修改入口点
ResumeThread(hThread); // 恢复执行 → 恶意代码运行
🔍 四种检测 方法
多层次检测体系,确保注入行为无所遁形
API Hook检测
在内核层Hook关键API(NtCreateThreadEx, NtWriteVirtualMemory),实时监控跨进程操作
内存页扫描
定期扫描进程的私有内存页,检测异常的RWX(可读可写可执行)页面权限
PE映像比对
比对进程内存中的PE映像与磁盘上原始文件,发现内存中的代码篡改
行为链分析
AI模型分析API调用序列(OpenProcess→VirtualAllocEx→WriteProcessMemory→CreateRemoteThread),识别注入行为模式
🛡️ 防护策略
从检测到阻断的完整防护能力
实时阻断
检测到注入行为后立即阻止API调用执行,返回ACCESS_DENIED,恶意代码无法写入目标进程
进程白名单
仅允许白名单中的进程执行跨进程内存操作,如调试器、安全软件等合法工具
审计日志
完整记录每次注入尝试(源进程、目标进程、注入手法、时间戳、调用堆栈),支持溯源分析
关联告警
注入事件自动关联进程创建链和网络连接,还原完整攻击链路,辅助SOC分析师快速研判
Reflective DLL检测
监控内存中的PE加载操作(不经过LoadLibrary的DLL加载),捕获反射式DLL注入攻击
线程劫持检测
监控SetThreadContext/SuspendThread调用,防止攻击者劫持已有线程执行恶意代码
💡 常见问题
Q: 会影响杀毒软件或安全工具的正常运行吗?
内置主流安全软件的数字签名白名单,合法安全工具的进程操作不会被拦截。也支持自定义添加可信进程。
Q: 是否支持无文件注入的检测?
完全支持。通过内存页扫描和PE映像比对技术,即使恶意代码从未落盘(无文件攻击),也能检测到内存中的异常代码。
Q: Windows和Linux都支持吗?
Windows支持全部注入检测;Linux支持ptrace注入和LD_PRELOAD注入检测。内核版本5.2+支持eBPF增强检测。