All Projects β†’ VultureProject β†’ darwin

VultureProject / darwin

Licence: GPL-3.0 license
Darwin C++ and Python Machine Learning Framework for Cyber Security

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
CMake
9771 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to darwin

BoostSRL
BoostSRL: "Boosting for Statistical Relational Learning." A gradient-boosting based approach for learning different types of SRL models.
Stars: ✭ 31 (+55%)
Mutual labels:  machine-learning-algorithms
Handwritten-Digits-Classification-Using-KNN-Multiclass Perceptron-SVM
πŸ† A Comparative Study on Handwritten Digits Recognition using Classifiers like K-Nearest Neighbours (K-NN), Multiclass Perceptron/Artificial Neural Network (ANN) and Support Vector Machine (SVM) discussing the pros and cons of each algorithm and providing the comparison results in terms of accuracy and efficiecy of each algorithm.
Stars: ✭ 42 (+110%)
Mutual labels:  machine-learning-algorithms
normalizing-flows
Implementations of normalizing flows using python and tensorflow
Stars: ✭ 15 (-25%)
Mutual labels:  machine-learning-algorithms
bonsai-dt
Programmable Decision Tree Framework
Stars: ✭ 34 (+70%)
Mutual labels:  machine-learning-algorithms
online-course-recommendation-system
Built on data from Pluralsight's course API fetched results. Works with model trained with K-means unsupervised clustering algorithm.
Stars: ✭ 31 (+55%)
Mutual labels:  machine-learning-algorithms
tensorflow-rbm
Tensorflow implementation of the Restricted Boltzmann Machine
Stars: ✭ 308 (+1440%)
Mutual labels:  machine-learning-algorithms
Intention-Mining-
Intention Mining in Social Networking. It Mines Emotions and polarity for the given keyword . For the keyword it searchers the twitter for the comments and analyzes the results for various events such as Election results, Sports prediction Movie ratings, Breaking news events such as demonetisation and many more. Bayes , Maximum Entropy and Hidde…
Stars: ✭ 19 (-5%)
Mutual labels:  machine-learning-algorithms
Anomaly Detection
anomaly detection with anomalize and Google Trends data
Stars: ✭ 38 (+90%)
Mutual labels:  machine-learning-algorithms
Self-Driving-Car
Implemented a Convolutional Neural Network for end-to-end driving in a simulator using Tensorflow and Keras. The project involves training over 13,000 images in a unity3d simulator to steer the car successfully throughout the track
Stars: ✭ 29 (+45%)
Mutual labels:  machine-learning-algorithms
calcuMLator
An intelligently dumb calculator that uses machine learning
Stars: ✭ 30 (+50%)
Mutual labels:  machine-learning-algorithms
Subjective-Answer-Evaluation
Subjective answer evaluation using machine learning. Give your answers at this link ->
Stars: ✭ 22 (+10%)
Mutual labels:  machine-learning-algorithms
ExCon
ExCon: Explanation-driven Supervised Contrastive Learning
Stars: ✭ 17 (-15%)
Mutual labels:  machine-learning-algorithms
PROSAC
PROSAC algorithm in python
Stars: ✭ 19 (-5%)
Mutual labels:  machine-learning-algorithms
ML-For-Beginners
12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all
Stars: ✭ 40,023 (+200015%)
Mutual labels:  machine-learning-algorithms
subsemble
subsemble R package for ensemble learning on subsets of data
Stars: ✭ 40 (+100%)
Mutual labels:  machine-learning-algorithms
ugtm
ugtm: a Python package for Generative Topographic Mapping
Stars: ✭ 34 (+70%)
Mutual labels:  machine-learning-algorithms
perceptron
The simplest Perceptron you'll ever see
Stars: ✭ 45 (+125%)
Mutual labels:  machine-learning-algorithms
AIML-Human-Attributes-Detection-with-Facial-Feature-Extraction
This is a Human Attributes Detection program with facial features extraction. It detects facial coordinates using FaceNet model and uses MXNet facial attribute extraction model for extracting 40 types of facial attributes. This solution also detects Emotion, Age and Gender along with facial attributes.
Stars: ✭ 48 (+140%)
Mutual labels:  machine-learning-algorithms
artificial neural networks
A collection of Methods and Models for various architectures of Artificial Neural Networks
Stars: ✭ 40 (+100%)
Mutual labels:  machine-learning-algorithms
extra-model
Code to run the ExtRA algorithm for unsupervised topic/aspect extraction on English texts.
Stars: ✭ 43 (+115%)
Mutual labels:  machine-learning-algorithms

D.A.R.W.I.N

Darwin is an open source Artificial Intelligence Framework for CyberSecurity. It can be compiled and run on both FreeBSD and Linux.

We provide packages and support for FreeBSD.

Darwin is:

  • A multi-threaded C++ engine that runs security filters that work together to improve your network security
  • A collection of agents that use the DARWIN protocol to query the security filters accordingly

Darwin is still in an alpha stage, so few filters are available at this time.

Using the provided documentation and SDK you can develop your own Darwin Filters. We are seeking help! Testers and volunteers are welcome!

Advens (www.advens.fr) also provides commercial filters for Darwin !

Filters

Compilation

Note: This code part follows the C++14 standard. Compile with g++ version 8.3.0 or later.

To compile all the filters available, please enter the following:

cmake .
make -j4

To compile a specific filter:

cmake . -DFILTER=FILTER_NAME
make -j4

You can choose a filter from this list

You can also set a filter list:

cmake . -DFILTER="FILTER_NAME1;FILTER_NAME2"
make -j4

Don't forget to unset the FILTER variable if you want to compile all the filters available afterwards:

cmake . -UFILTER
make -j4

The compiled filter will be named darwin_filter_name (note: the name is displayed at the beginning of the compilation). You will find compilation and dependencies information for each filters in the Wiki.

Usage

Usage: ./darwin [-h] [-l [DEBUG|INFO|WARNING|ERROR|CRITICAL]] filter_name socket_path config_file monitoring_socket_path pid_file output next_filter_socket_path nb_thread cache_size threshold

Positional arguments:

  • filter_name Specify the name of this filter in the logs
  • socket_path Specify the path to the unix socket for the main connection
  • config_file Specify the path to the configuration file
  • monitoring_socket_path Specify the path to the monitoring unix socket
  • pid_file Specify the path to the file containing the pid of the process
  • output Specify the filter's output
  • next_filter_socket_path Specify the path to the next filter unix socket
  • nb_thread Integer specifying the number of treatment thread for this process
  • cache_size Integer specifying cache's size
  • threshold Integer specifying the filter's threshold (if behind 100, take the filter's default threshold)

OPTIONS:

  • -h Show help and exit
  • -l [DEBUG|INFO|WARNING|ERROR|CRITICAL|DEVELOPER] Set log level to DEBUG, INFO, WARNING (default), ERROR, CRITICAL or DEVELOPER. DEVELOPER mode does not create a daemon and log level is DEBUG.

Filter Manager

Python Version

Compatible with python 3.5.3 and later.

Usage

Usage: manager.py [-h] [-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}] config_file

Positional arguments:

config_file The config file to use.

Optional arguments:

-h, --help show this help message and exit

-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL} Set log level to DEBUG, INFO, WARNING (default), ERROR or CRITICAL.

Config File

The config file is JSON formatted and contains the filters information. They MUST be formatted as follow:

{
  "session_1": {
    "exec_path": "/home/darwin/filters/darwin_session",
    "config_file": "/var/sockets/redis/redis.sock",
    "output": "LOG",
    "next_filter": "",
    "nb_thread": 5,
    "threshold": 80,
    "log_level": "DEBUG",
    "cache_size": 0
  },
  "dga_1": {
    "exec_path": "/home/darwin/filters/darwin_dga",
    "config_file": "/home/darwin/conf/fdga/fdga.conf",
    "output": "LOG",
    "next_filter": "",
    "nb_thread": 5,
    "log_level": "DEBUG",
    "cache_size": 0
  }
}

You will find more information in the Wiki

The Service

In the service directory is a rc script named darwin that is the service script. It handles the following commands: start, stop, status and restart.

Usage

Use this for debug purpose only.

Usage: manager.py [-h] [-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}] config_file

Positional arguments:

config_file The config file to use.

Optional arguments:

-h, --help show this help message and exit

-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL} Set log level to DEBUG, INFO, WARNING (default), ERROR or CRITICAL.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].