# Knowledge-enhanced-Attack-Graph **Repository Path**: mvpspace/Knowledge-enhanced-Attack-Graph ## Basic Information - **Project Name**: Knowledge-enhanced-Attack-Graph - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-23 - **Last Updated**: 2024-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Knowledge-enhanced-Attack-Graph ## Instructions Setup: python 3.8 ``` pip install -r requirements.txt ``` Running : ``` # Generating attack graph for CTI report python main.py -M attackGraphGeneration -R "./Dataset/Evaluation/Frankenstein Campaign.txt" -O ./output.pdf # Identifing techniques in CTI report python main.py -M techniqueIdentification -T ./templates -R "./Dataset/Evaluation/Frankenstein Campaign.txt" -O ./output.pdf ``` Running - Archive-v0.1 (Archive-v0.1 is the experimental version without clear code structure and comments): ``` # Generating attack graph for CTI report python attackGraph.py # Identifing techniques in CTI report python techniqueIdentifier.py ``` - Sample Input and output can be found **[here](https://github.com/li-zhenyuan/Knowledge-enhanced-Attack-Graph/tree/main/Results)**. - Data Model required can bed found **[here](https://drive.google.com/drive/folders/1zVGPpN-i-BLlpFqQERscFGb45PkhfkUm?usp=sharing)**. --- ## Paper AttacKG: Constructing Knowledge-enhanced Attack Graphs from Cyber Threat Intelligence Reports > Cyber attacks are becoming more sophisticated and diverse, making detection increasingly challenging. To combat these attacks, security practitioners actively summarize and exchange their knowledge about attacks across organizations in the form of cyber threat intelligence (CTI) reports. However, as CTI reports written in natural language texts are not structured for automatic analysis, the report usage requires tedious efforts of manual cyber intelligence recovery. Additionally, individual reports typically cover only a limited aspect of attack patterns (techniques) and thus are insufficient to provide a comprehensive view of attacks with multiple variants. > > To take advantage of threat intelligence delivered by CTI reports, we propose AttacKG to automatically extract structured attack behavior graphs from CTI reports and identify the adopted attack techniques. We then aggregate cyber intelligence across reports to collect different aspects of techniques and enhance attack behavior graphs as technique knowledge graphs (TKGs). Such TKGs with technique-level intelligence directly benefit downstream security tasks that rely on technique specifications, e.g., Advanced Persistent Threat (APT) detection. > > In our evaluation against 1,515 real-world CTI reports from diverse intelligence sources, AttacKG effectively identifies 28,262 attack techniques with 8,393 unique Indicators of Compromises (IoCs). Further, to verify AttacKG's accuracy in extracting threat intelligence, we run AttacKG on eight manually labeled CTI reports. Empirical results show that AttacKG accurately identifies attack-relevant entities, dependencies, and techniques with F1-scores of 0.895, 0.911, and 0.819, which significantly outperforms the state-of-the-art approaches like EXTRACTOR~\cite{Satvat2021} and TTPDrill~\cite{Husari2017}.''' ### System Architecture 