All Projects → rieck → Malheur

rieck / Malheur

Licence: gpl-3.0
A Tool for Automatic Analysis of Malware Behavior

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Malheur

Machine Learning Projects
This repository consists of all my Machine Learning Projects.
Stars: ✭ 135 (-56.87%)
Mutual labels:  classification, clustering
Uci Ml Api
Simple API for UCI Machine Learning Dataset Repository (search, download, analyze)
Stars: ✭ 190 (-39.3%)
Mutual labels:  classification, clustering
Practical Machine Learning With Python
Master the essential skills needed to recognize and solve complex real-world problems with Machine Learning and Deep Learning by leveraging the highly popular Python Machine Learning Eco-system.
Stars: ✭ 1,868 (+496.81%)
Mutual labels:  classification, clustering
Mlr
Machine Learning in R
Stars: ✭ 1,542 (+392.65%)
Mutual labels:  classification, clustering
Pycaret
An open-source, low-code machine learning library in Python
Stars: ✭ 4,594 (+1367.73%)
Mutual labels:  clustering, classification
Ml Dl Scripts
The repository provides usefull python scripts for ML and data analysis
Stars: ✭ 119 (-61.98%)
Mutual labels:  classification, clustering
Ml Course
Starter code of Prof. Andrew Ng's machine learning MOOC in R statistical language
Stars: ✭ 154 (-50.8%)
Mutual labels:  classification, clustering
Tgcontest
Telegram Data Clustering contest solution by Mindful Squirrel
Stars: ✭ 74 (-76.36%)
Mutual labels:  classification, clustering
Machine-Learning-Specialization
Project work and Assignments for Machine learning specialization course on Coursera by University of washington
Stars: ✭ 27 (-91.37%)
Mutual labels:  clustering, classification
ssdc
ssdeep cluster analysis for malware files
Stars: ✭ 24 (-92.33%)
Mutual labels:  clustering, malware-analysis
Neuroflow
Artificial Neural Networks for Scala
Stars: ✭ 105 (-66.45%)
Mutual labels:  classification, clustering
R
All Algorithms implemented in R
Stars: ✭ 294 (-6.07%)
Mutual labels:  classification, clustering
Ml
A high-level machine learning and deep learning library for the PHP language.
Stars: ✭ 1,270 (+305.75%)
Mutual labels:  classification, clustering
Tiny ml
numpy 实现的 周志华《机器学习》书中的算法及其他一些传统机器学习算法
Stars: ✭ 129 (-58.79%)
Mutual labels:  classification, clustering
Stringlifier
Stringlifier is on Opensource ML Library for detecting random strings in raw text. It can be used in sanitising logs, detecting accidentally exposed credentials and as a pre-processing step in unsupervised ML-based analysis of application text data.
Stars: ✭ 85 (-72.84%)
Mutual labels:  classification, clustering
Machine Learning With Python
Practice and tutorial-style notebooks covering wide variety of machine learning techniques
Stars: ✭ 2,197 (+601.92%)
Mutual labels:  classification, clustering
Mlj.jl
A Julia machine learning framework
Stars: ✭ 982 (+213.74%)
Mutual labels:  classification, clustering
Weka Jruby
Machine Learning & Data Mining with JRuby
Stars: ✭ 64 (-79.55%)
Mutual labels:  classification, clustering
Orange3
🍊 📊 💡 Orange: Interactive data analysis
Stars: ✭ 3,152 (+907.03%)
Mutual labels:  classification, clustering
hmm
A Hidden Markov Model implemented in Javascript
Stars: ✭ 29 (-90.73%)
Mutual labels:  clustering, classification

Malheur - Automatic Analysis of Malware Behavior

This software belongs to the publication

Konrad Rieck, Philipp Trinius, Carsten Willems, and Thorsten Holz. Automatic Analysis of Malware Behavior using Machine Learning. Journal of Computer Security (JCS), 19 (4), 639–668, June 2011. Preprint

Introduction

Malheur is a tool for the automatic analysis of malware behavior (program behavior recorded from malicious software in a sandbox environment). It has been designed to support the regular analysis of malicious software and the development of detection and defense measures. Malheur allows for identifying novel classes of malware with similar behavior and assigning unknown malware to discovered classes. It supports four basic actions for analysis which can be applied to reports of recorded behavior:

  1. Extraction of prototypes: From a given set of reports, malheur identifies a subset of prototypes representative for the full data set. The prototypes provide a quick overview of recorded behavior and can be used to guide manual inspection.

  2. Clustering of behavior Malheur automatically identifies groups (clusters) of reports containing similar behavior. Clustering allows for discovering novel classes of malware and provides the basis for crafting specific detection and defense mechanisms, such as anti-virus signatures.

  3. Classification of behavior: Based on a set of previously clustered reports, malheur is able to assign unknown behavior to known groups of malware. Classification enables identifying novel and unknown variants of malware and can be used to filter program behavior prior to manual inspection.

  4. Incremental analysis: Malheur can be applied incrementally for analysis of large data sets. By processing reports in chunks, the run-time as well as memory requirements can be significantly reduced. This renders long-term application of malheur feasible, for example for daily analysis of incoming malware programs.

A detailed description of these techniques as well as technical background on analysis of malicious software is provided in the following articles:

  • "Automatic Analysis of Malware Behavior using Machine Learning." Konrad Rieck, Philipp Trinius, Carsten Willems, and Thorsten Holz Journal of Computer Security (JCS), 19 (4) 639-668, 2011.

  • "A Malware Instruction Set for Behavior-Based Analysis." Philipp Trinius, Carsten Willems, Thorsten Holz, and Konrad Rieck Technical report TR-2009-07, University of Mannheim, 2009

Dependencies

Debian & Ubuntu Linux

The following packages need to be installed for compiling Malheur on Debian and Ubuntu Linux

gcc
libconfig9-dev
libarchive-dev

For bootstrapping Malheur from the GIT repository or manipulating the automake/autoconf configuration, the following additional packages are necessary.

automake
autoconf
libtool

Mac OS X

For compiling Malheur on Mac OS X a working installation of Xcode is required including gcc. Additionally, the following packages need to be installed via Homebrew

libconfig
libarchive (from homebrew-alt)

OpenBSD

For compiling Malheur on OpenBSD the following packages are required. Note that you need to use gmake instead of make for building Malheur.

gmake
libconfig
libarchive

For bootstrapping Malheur from the GIT repository, the following packages need be additionally installed

autoconf
automake
libtool

Compilation & Installation

From GIT repository first run

$ ./bootstrap

From tarball run

$ ./configure [options]
$ make
$ make check
$ make install

Options for configure

--prefix=PATH           Set directory prefix for installation

By default Malheur is installed into /usr/local. If you prefer a different location, use this option to select an installation directory.

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed without any warranty. See the GNU General Public License for more details.

Copyright

Copyright (c) 2009-2015 Konrad Rieck ([email protected]) University of Goettingen, Berlin Institute of Technology

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].