GithubHelp home page GithubHelp logo

vlegoy / rcatt Goto Github PK

View Code? Open in Web Editor NEW
105.0 7.0 31.0 77.13 MB

A python app to predict Att&ck tactics and techniques from cyber threat reports

License: MIT License

Python 78.63% HTML 21.37%
cyber-threat-intelligence attack ttp multi-label-classification

rcatt's Introduction

rcATT logo

Reports Classification by Adversarial Tactics and Techniques

made with python license MIT

A python tool to predict Att&ck tactics and techniques from cyber threat reports.

Usage

This tool is designed to predict tactics and techniques from the ATT&CK framework (https://attack.mitre.org/) in cyber threat reports, such as the ones that can be linked in https://otx.alienvault.com/ or https://exchange.xforce.ibmcloud.com/.

rcATT is useable either by a command-line interface or a graphical interface. Both versions have the same functionalities:

  • predict tactics and techniques from a given cyber threat reports in a text format
  • order and visualize the confidence of the classifier for each techniques and tactics, even the one predicted as non-included in the report
  • save results in a json file in a STIX format
  • give feedbacks to the tool by modifying the prediction to positive or negative
  • save the feedbacks and/or the results to the training set
  • retrain the classifier with new data

rcATT stix ouput
Example of output STIX file

Installation

This tool requires:

Then simply download the tool and run that app file with python.

How to use rcATT

Command-line interface

Predict tactics and techniques from a given cyber threat reports in a text format

For the command line tool, save your report in a text file. Then use the command : python -p -i [report in a text file]

The results will be displayed sorted by likelihood of presence.

rcATT command-line help rcATT command-line results

Give feedbacks to the tool by modifying the prediction to positive or negative

Use the command line: python app.py -f [list of tactics and techniques] -i [input a result .json file generated by rcATT] -o [output .json file]

Save the feedbacks and/or the results to the training set

Use the command python app.py -a -i [.json file provided by rcATT]

Retrain the classifier with new data

Use the command python app.py -t

Save results in a json file in a STIX format

In the command-line version, this step is included in the prediction or the feedback functionalities by adding an -o [output json file] to the command given. Precise a name and a date using -n [title of the report] and -d [date of publication].

Graphical interface

Predict tactics and techniques from a given cyber threat reports in a text format

Enter the report in the text area and click the "predict" button.

rcATT GUI

Give feedbacks to the tool by modifying the prediction to positive or negative

Click the "Correct the results" button.

rcATT change results

Save the feedbacks and/or the results to the training set

Click the "Save the results for training" button.

Retrain the classifier with new data

Click the "โš™" button.

Save results in a json file in a STIX format

Click the "Export the results" button and fill in the form (if not filled in, default values will be given)

rcATT save in stix

More details

Created by Valentine Legoy, during her Master thesis at the University of Twente, in partnership with Siemens. You can find more details on this work in the following paper: "Retrieving ATT&CK tactics and techniques in cyber threat repots".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.