What is It?
Liên tục phát hiện và phản hồi với các mối đe dọa chẳng hạn ransomware và malware bằng cách thu thập và phân tích dữ liệu của các events đến từ logs, network traffic, IPCs, RPCs, etc.
How EDRs Work
Gồm 2 phần là user-mode application và kernel-mode driver.
Signature Detection
Kết hợp với các tính năng của AV đề detect malmare. Có thể tạo ra các custom rules để bắt malware.
Detection Based on Behavior
Monitor các tiến trình đang chạy sử dụng các kỹ thuật sau:
-
Userland Hooking: tận dụng userland hooking để phát hiện các đối số độc hại được truyền vào các functions cũng như là các payloads sau khi chúng được decrypt1.

-
Memory-Based Detection: phát hiện các IoCs chẳng hạn như heap allocations, RWX memory sections, etc.
-
Kernel CallBacks và Minifilter Drivers: sử dụng các callbacks mà sẽ được triggered khi các events chẳng hạn như tạo file, chỉnh sửa registry key, etc xảy ra. Một ví dụ của việc sử dụng kernel callbacks và minifilter drivers là gọi
PspCreateProcessNotifyRoutineđể EDR load user-mode DLL của nó mà sẽ thực hiện syscall hooking vào các processes đã được ra và sau đó sử dụng minifilter driver để monitor I/O file system requests bởi process mới được tạo ra này. -
Network IoCs
Bypassing EDRs
Để bypass EDR thì cần kết hợp nhiều kỹ thuật do các EDR sử dụng nhiều kỹ thuật để monitor. Ví dụ, unhooking không block ETW nhưng có thể giải quyết được bài toán user-land hooking.
Important
Một vài kỹ thuật bypass EDR có thể giúp loader né tránh bị phát hiện nhưng không giúp ẩn C2 payload vì một vài lý do:
- C2 payload có thể dùng các hàm đã bị hooked.
- Câu lệnh của C2 thực thi một câu lệnh ồn ào (chẳng hạn như spawn
cmd.exevà thực thiwhoami).- C2 sử dụng các IPCs handles có tên dễ nhận biết.
Resources
Footnotes
-
Xem thêm MalDev - Syscalls và MalDev - API Hooking ↩