Nothing Special   »   [go: up one dir, main page]

Skip to content

A web application that assists network defenders, analysts, and researcher in the process of mapping adversary behaviors to the MITRE ATT&CK® framework.

License

Notifications You must be signed in to change notification settings

sidneysimas/decider

 
 

Repository files navigation

Decider

What is it?

The Short

A web application that assists network defenders, analysts, and researchers in the process of mapping adversary behaviors to the MITRE ATT&CK® framework.

The Long

Decider is a tool to help analysts map adversary behavior to the MITRE ATT&CK framework. Decider makes creating ATT&CK mappings easier to get right by walking users through the mapping process. It does so by asking a series of guided questions about adversary activity to help them arrive at the correct tactic, technique, or subtechnique. Decider has a powerful search and filter functionality that enables users to focus on the parts of ATT&CK that are relevant to their analysis. Decider also has a cart functionality that lets users export results to commonly used formats, such as tables and ATT&CK Navigator™ heatmaps.

The Screenshots

Decider's Question Tree

(you are here)[Matrix > Tactic] > Technique > SubTechnique Decider's Question Tree Page

Decider's Full Technique Search

Boolean expressions, prefix-matching, and stemming included. Decider's Full Technique Search Page

The Notice

This project makes use of MITRE ATT&CK - ATT&CK Terms of Use

Usage

Read the User Guide

Installation

Docker

Best option for 99% of people

git clone https://github.com/cisagov/decider.git
cd decider
cp .env.example .env
[sudo] docker compose up

sudo for Linux only

Linux tested on:

  • Ubuntu Jammy 22.04.2 LTS
  • Docker Engine
    • Not Docker Desktop (couldn't get nested-virt in my VM)

Windows tested on:

  • Windows 11 Home, version 22H2, build 22621.1344
  • Home doesn't support HyperV

macOS (M1) tested on:

  • In-Progress
  • mac's ControlCenter binds to 5000 and 7000... thus preventing the app from binding
    • Should make that a .env var - so an alternative is easier
  • You may need to chown some Docker directories to your name
    • sudo is not the way and won't work
  • Need to mess with Postgres connection auth preferences
    • M1 build tries using SCRAM authentication, which needs libpg >= 10
      • But not present, thus breaking build
    • May just use md5

It is ready when Starting uWSGI appears Decider on Docker Boot Terminal Output

Then visit http://localhost:5000/

Default Login:

And note: Postgres stores its data in ./docker/db/data. That's why you'll need sudo to enter/remove that folder

Manual Install

Read the Admin Guide

There are some issues in the instructions... Working on it, simplifying them

Help Tips:

  • Use Python 3.8.10 / 3.8.x on Linux / mac
  • Follow the order of instructions
  • Watch out using sudo with python - it won't keep the venv you're in by default
  • If just running for yourself locally:
    • Don't create a system account for decider
    • Don't use uWSGI
    • Use the built-in debug Flask server
  • Mac M1 users should install Postgres before installing the pip requirements
    • brew install postgresql
    • Explained: psycopg2-binary isn't using a pre-built binary and tries to compile from scratch, and it can't find pg_config.

About

A web application that assists network defenders, analysts, and researcher in the process of mapping adversary behaviors to the MITRE ATT&CK® framework.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 39.7%
  • Python 35.3%
  • JavaScript 13.8%
  • HTML 11.0%
  • Shell 0.1%
  • PLpgSQL 0.1%