MEGR-APT is an advanced and scalable system designed for hunting Advanced Persistent Threats (APTs) by identifying suspicious subgraphs that align with specific attack scenarios, as described in Cyber Threat Intelligence (CTI) reports.
Its primary functionality revolves around two key processes: memory-efficient extraction of suspicious subgraphs and fast subgraph matching using Graph Neural Networks (GNNs) and attack representation learning.
The system takes kernel audit logs stored in a PostgreSQL database and attack query graphs in JSON format as inputs.
It operates through a modular architecture comprising Python scripts for core functions, Bash scripts for orchestration, and directories for logs, models, datasets, and technical documentation. Key components include:
construct_pg_cadets.py
and stores them in RDF graph engines such as Stardog.extract_rdf_subgraphs_cadets.py
and matches them with attack query graphs via pre-trained GNN models using main.py
.For training its GNN-based graph matching models:
extract_rdf_subgraphs_[dataset].py
.main.py
script.The system includes a Jupyter notebook (Investigation_Reports.ipynb
) to analyze detected subgraphs and generate reports for analysts. This notebook demonstrates scenarios with real-world datasets like DARPA TC3 CADETS host data.
To deploy MEGR-APT:
requirements.txt
and torch_requirements.txt
.load_to_stardog.sh
).setup_environment.sh
script to configure the environment.MEGR-APT is particularly suited for organizations aiming to enhance their cybersecurity defenses by detecting APTs early. Its ability to process large-scale data efficiently makes it a powerful tool for threat intelligence and forensic investigations.
Introduction to the Model Context Protocol (MCP) The Model Context Protocol (MCP) is an open…
While file extensions in Linux are optional and often misleading, the file command helps decode what a…
The touch command is one of the quickest ways to create new empty files or update timestamps…
Handling large numbers of files is routine for Linux users, and that’s where the find command shines.…
Managing files and directories is foundational for Linux workflows, and the mv (“move”) command makes it easy…
Creating directories is one of the earliest skills you'll use on a Linux system. The mkdir (make…