Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/egida-kassandra/kassandra

Analysis of HTTP traffic and detection of anomalous user behavior in allowed actions. UEBA system.
https://github.com/egida-kassandra/kassandra

anomaly-detection http ueba unsupervised-learning

Last synced: 4 days ago
JSON representation

Analysis of HTTP traffic and detection of anomalous user behavior in allowed actions. UEBA system.

Awesome Lists containing this project

README

        

# kassandra

[![KASSANDRA VERSION](https://img.shields.io/badge/kassandra-v0.1-blue?style=for-the-badge&color=8B12D1)](https://github.com/albact7/kassandra)
[![GitHub license](https://img.shields.io/badge/license-Apache-blue?style=for-the-badge)](https://github.com/albact7/kassandra/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/badge/release-v.0.0.1-yellowgreen?style=for-the-badge)](https://github.com/albact7/kassandra/releases)





Logo




Explore the docs »




View Source
·
Report Bug
·
Request Feature


## Table of Contents

* [About the Project](#about-the-project)
* [Prerequisites](#prerequisites)
* [Installation](#installation)
* [Getting Started](#getting-started)
* [Running Tests](#running-tests)
* [Run Dockerfile](#run-dockerfile)
* [License](#license)
* [Contact](#contact)

## About the Project

Kassandra analyzes user activity and detects anomalous behaviour in HTTP requests that could be identified as non-malicious by other systems. Kassandra allows designing of anomaly detection policies. Kassandra is part of the project Egida and Kassandra, Egida can be checked here.

## Prerequisites

#### Prepare environment

##### Install Python 3 and pip

```bash
apt install -y python3 pip3 virtualenv
```

## Installation

#### 1. Download the source from [here](https://github.com/albact7/kassandra/releases).

#### 2. Create virtualenv

```python
virtualenv -p /usr/bin/python3 venv
source venv/bin/activate
```
#### 3. Install requirements
Run install.bat

## Getting started
To start running Kassandra run the following on the root folder of the project.
```bash
python kassandra.py
```
This will run an UDP server in localhost:5000, configure your proxy to point to that address.

### Try on my own
#### Needed files
To test Kassandra with you own files you should change [here](https://github.com/albact7/kassandra/blob/master/kassandra.py) the path to those files.
You will need:
1. Train file. Log file with a huge number (40000 is OK) of HTTP requests of a server.
2. Test file. Log file with some HTTP requests for testing.
#### Designing of anomaly detection policies
You can also customize the anomaly values obtained by editing [config.yml](https://github.com/albact7/kassandra/blob/master/kass_nn/config/config.yml)
* Danger values are reserved to change the weigh for each characteristc
* Extended Isolation Forests are reserved for adjust the Machine Learning model to the training data

## Running tests
To run Kassandra with your own requests and test the model, run the following command and introduce the HTTP request corresponding log.
```bash
python kassandra-app.py
```

## Run Dockerfile

### 1. Build

```bash
docker image build -t kassandra .
```

### 2. Run

```bash
docker run -p kassandra
```

## License

Distributed under the Apache 2.0 License. See `LICENSE` for more information.

## Contact

Authors:

* [Alba Cotarelo Tuñón](https://www.albact.ml/)
* [Antonio Payá González](https://antoniopg.tk)
* [Jose Manuel Redondo Lopez](http://orcid.org/0000-0002-0939-0186)

Project Link: [https://github.com/Egida-Kassandra/kassandra](https://github.com/Egida-Kassandra/kassandra)