Skip to content

About

An endpoint detection engine for process-aware network monitoring, behavioral analysis, and detection of unauthorized data exfiltration activities.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Exfiltration Detection Engine

A security-focused endpoint monitoring and analysis platform designed to detect, investigate, and report unauthorized outbound data transfers.

The project aims to identify which processes are sending data over the internet, determine where the data is being sent, analyze transfer behavior, and detect potential data exfiltration attempts.


Overview

Data exfiltration is the unauthorized transfer of information from a system to an external destination.

This project focuses on:

  • Process monitoring
  • Network activity analysis
  • Process-to-network correlation
  • Outbound data tracking
  • Suspicious behavior detection
  • Security alert generation

The goal is to provide visibility into endpoint network activity and help identify processes that may be transferring sensitive data outside the system.


Objectives

  • Monitor outbound network activity
  • Attribute network connections to specific processes
  • Analyze data transfer behavior
  • Detect suspicious upload patterns
  • Generate security alerts
  • Build process activity timelines
  • Support incident investigation workflows

Features

Process Discovery

Enumerate active processes running on the endpoint.

Example:

PID: 4120
Process: python.exe

Network Connection Monitoring

Monitor active network connections.

Track:

  • Local Address
  • Remote Address
  • Remote Port
  • Protocol
  • Connection State

Example:

Process:
python.exe

Destination:
104.18.x.x

Protocol:
TCP

Port:
443

Process-to-Network Correlation

Associate network activity with the responsible process.

Example:

python.exe
↓
Connected To
↓
example.com

Data Transfer Analysis

Measure:

  • Upload volume (per-connection outbound tracking via UploadTracker)
  • Download volume (per-connection inbound tracking via DownloadTracker)
  • Transfer rate (short-window rates via TransferRateTracker)
  • Session statistics (per-process / per-connection bandwidth totals)
  • Reusable transfer metadata (DataTransferMetadata: process + protocol + remote + volumes + rates)

Example:

Process:
python.exe

Protocol:
TCP

Remote:
104.18.32.45:443

Uploaded:
12.5 MB

Downloaded:
3.2 MB

Upload Rate:
1.4 MB/s

Download Rate:
320.0 KB/s

Total Transfer:
15.7 MB

Connection Intelligence

Collect contextual information about network destinations.

Track:

  • Remote IP Address (IPv4 / IPv6)
  • Address Family
  • Local vs Remote Endpoints
  • Resolved Domain Name (reverse DNS + cache)
  • Protocol and Port (TCP/UDP, local/remote)
  • Reusable connection metadata (IP + domain + protocol + ports)
  • Connection History
  • Frequency of Communication

Example:

Remote IP:
104.18.32.45

Domain:
api.example.com

Protocol:
TCP

Remote Port:
443

Process Behavior Timeline

Build a chronological view of process activity using reusable ProcessActivityEvent records collected by TimelineEventCollector and ordered by ProcessTimelineBuilder.

Supported event types:

  • process_seen
  • connection_opened
  • upload_activity
  • download_activity
  • connection_closed
  • suspicious_activity

Collection sources:

  • Active processes from the process monitor / tracker
  • Connection opened and closed events from the network monitor
  • Upload / download activity from transfer trackers

Events are grouped by PID, duplicate observations are skipped, and timelines are sorted by timestamp.

Recent events are retained in short-term memory by TimelineEventHistory with a maximum size and age-based cleanup, and can be queried by PID or process name.

Example:

10:01:02 | python.exe | Process Seen
10:01:10 | python.exe | Connected to 104.18.32.45:443
10:01:15 | python.exe | Upload Activity: 12.5 MB

Suspicious Activity Detection

Detect potentially abnormal behaviors.

Examples:

  • Excessive outbound transfers
  • Repeated connections to unknown destinations
  • Continuous background uploads
  • Unexpected network activity

Example:

Alert

Process:
python.exe

Reason:
Unusual outbound transfer volume

Security Alerting

Generate alerts for:

  • High upload volume
  • Suspicious communication patterns
  • Unknown process activity
  • Potential data exfiltration events

Incident Reporting

Create investigation reports containing:

  • Process information
  • Network destinations
  • Data transfer statistics
  • Event timeline
  • Detection findings

Architecture

Processes
    │
    ▼
Process Monitor
    │
    ▼
Network Monitor
    │
    ▼
Correlation Engine
    │
    ▼
Behavior Analysis Engine
    │
    ▼
Detection Engine
    │
    ▼
Alerting & Reporting

Roadmap

M1 — Network Monitoring Foundation

  • Active connection enumeration
  • Network activity collection
  • Connection tracking

M2 — Process Attribution Engine

  • Process discovery
  • PID tracking
  • Process-to-connection mapping

M3 — Connection Intelligence

  • Remote IP identification (IPv4 / IPv6)
  • Domain resolution (reverse DNS + cache)
  • Port and protocol analysis (TCP/UDP)
  • Connection metadata model (IP + domain + protocol + ports)
  • Destination analysis
  • Communication statistics

M4 — Data Transfer Analysis

  • Upload monitoring (ConnectionUploadStats, UploadTracker)
  • Download monitoring (ConnectionDownloadStats, DownloadTracker)
  • Transfer metrics (OS TCP ESTATS via NetworkMonitor::getConnectionTransferSnapshots)
  • Transfer rates (ConnectionBandwidthStats, ProcessBandwidthStats, TransferRateTracker)
  • Data transfer metadata model (DataTransferMetadata: process + protocol + remote + volumes + rates)

M5 — Process Behavior Timeline

  • Process activity event model (ProcessActivityEvent, ProcessActivityEventType)
  • Timeline event collection (TimelineEventCollector: process + connection + transfer events, grouped by PID)
  • Activity timeline generation (ProcessTimelineBuilder: chronological per-process and global timelines)
  • Short-term event history (TimelineEventHistory: bounded in-memory store, lookup by PID / process name)
  • Timeline query helpers (TimelineQuery: PID, process name, remote destination, event type, recent N)
  • Historical analysis

M6 — Suspicious Behavior Detection

  • Behavioral rules
  • Anomaly detection
  • Alert generation

M7 — Data Exfiltration Detection Engine

  • Multi-event correlation
  • Exfiltration pattern identification
  • Investigation support

M8 — Alerting System

  • Security notifications
  • Detection alerts
  • Incident creation

M9 — Response Engine

  • Process isolation
  • Connection blocking
  • Automated response workflows

M10 — Mini EDR Foundation

  • Endpoint monitoring
  • Threat detection
  • Security analytics
  • Incident response

Technologies

Planned Technologies:

  • C++
  • Windows API
  • Winsock
  • Multithreading
  • Event Logging
  • Security Telemetry

Target Users

  • Security Software Engineers
  • Endpoint Security Engineers
  • Detection Engineers
  • Security Researchers
  • SOC Analysts
  • Incident Responders

Long-Term Vision

Build a lightweight endpoint security platform capable of:

  • Monitoring endpoint activity
  • Detecting unauthorized outbound communications
  • Identifying potential data exfiltration attempts
  • Supporting threat investigation and incident response

through process-aware network intelligence and behavioral analysis.


License

License to be determined.

About

An endpoint detection engine for process-aware network monitoring, behavioral analysis, and detection of unauthorized data exfiltration activities.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages