Giter Site home page Giter Site logo

terrorizer1980 / peacemaker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from d4stiny/peacemaker

0.0 1.0 0.0 445 KB

PeaceMaker Threat Detection is a Windows kernel-based application that detects advanced techniques used by malware.

License: MIT License

C++ 92.37% C 7.02% QMake 0.61%

peacemaker's Introduction

PeaceMaker Threat Detection

PeaceMaker Threat Detection is a kernel-mode utility designed to detect a variety of methods commonly used in advanced forms of malware. Compared to a stereotypical anti-virus that may detect via hashes or patterns, PeaceMaker targets the techniques malware commonly uses in order to catch them in the act. Furthermore, PeaceMaker is designed to provide an incredible amount of detail when a malicious technique is detected, allowing for effective containment and response.

Motivation

PeaceMaker was designed primarily as a weapon to detect custom malware in virtualized environments. Specifically, this project was started in pursuit of preparing for the Information Security Talent Search blue/red team competition hosted by RIT's Security Club, RITSEC. The competition's red team is primarily industry security professionals, which is why I decided my own defense platform would be useful. In a project like this, I can make sacrifices to factors such as performance that widely-employed AV/EDR companies can't make, allowing me to make decisions I couldn't get away with in a real product.

Features

  • View what code started a process (stack trace).
  • View what code loaded an image into a process (stack trace).
  • Detect unmapped (hidden) code via Stack Walking common operations such as:
    • Process Creation
    • Image Load
    • Thread Creation
  • Detect remote thread creation.
  • Detect parent process ID spoofing.
  • Detect threat creation on unmapped (hidden) code.
  • Block basic tamper operations on the GUI Client.
  • Block filesystem/registry write, delete, or execute operations that violate a user-specified filter.
  • Detect filesystem/registry write, delete, or execute operations that violate a user-specified filter.
    • Logs the source process and stack of the operation.
  • Filter for known false positives.

Notable properties

  • Heavily commented code.
  • All detection routines are in the kernel driver.
  • Designed to detect user-mode malware.
  • Tested using Driver Verifier standard configuration.
  • Tested by putting it on my "daily driver" laptop and monitoring for issues (none occurred).

Shortcomings

  • Inefficient time and space complexity.
    • Performs useful, but expensive forensics that slow down common operations.
    • Often allocates more memory than needed, doesn't utilize space optimization techniques such as compression.
  • Weak operation filtering mechanism.
    • For example, filters that prevent deletion of a file or registry key can be bypassed.
    • You can only filter on the target of an operation (i.e file/key name).
  • Weak tamper protection.
    • Only protects against process termination of the GUI, nothing else.
  • Incomplete GUI.

Screenshots

Alerts Tab Processes Tab Filters Tab Process Information

peacemaker's People

Contributors

d4stiny avatar

Watchers

 avatar

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.