Threat Models (M2.0)
Behavioral Signatures
Section titled “Behavioral Signatures”Sentinel does not look for “Bad Files” (Signatures). It looks for “Bad Intent” (Behavior).
1. Ransomware (The Encryptor)
Section titled “1. Ransomware (The Encryptor)”Ransomware has a very loud syscall profile.
- Normal Program: Reads a file, waits, writes to a log.
- Ransomware:
open->read->encrypt->write(Repeated 1000x/sec). - Detection: A sudden spike in
read/writesyscall density targeting user documents.
2. The Dropper (The Loader)
Section titled “2. The Dropper (The Loader)”Malware often starts as a small script that downloads the real weapon.
- Signature:
socket/connect(Network activity).write(Saving payload to disk).mprotect(Making memory executable).execve(Running the payload).
- Sentinel Policy: Block
connectfollowed immediately byexecvein non-browser applications.
3. Evasion (Anti-Debugging)
Section titled “3. Evasion (Anti-Debugging)”Malware checks if it is being watched.
- Technique: Calling
ptrace(PTRACE_TRACEME)on itself. - Result: If it fails, the malware knows a debugger (Sentinel) is already attached, so it shuts down to hide its behavior.
4. The Grandchild (Process Tree Evasion)
Section titled “4. The Grandchild (Process Tree Evasion)”Addressed in M2.0
Sophisticated malware attempts to “detach” from the monitor by spawning a child process to perform the attack, assuming the EDR is only watching the parent.
- Technique:
Parent(Bash Script) starts.Parentcallsfork()+execve()to launchChild(Python Ransomware).Parentexits immediately.Childis now an orphan, running unwatched by naive tracers.
- Sentinel M2.0 Defense:
- Recursive Tracking: Using
PTRACE_O_TRACEFORK, Sentinel automatically attaches to theChildthe moment it is born. - Inheritance: The security policy applied to the Parent is automatically inherited by the Grandchild.
- Recursive Tracking: Using