Skip to main content

A module for calculating the entropy/entropic deviations in data

Project description

EntropyDeviationType is an extension that is intended for finding data hidden within other data with no knowledge of the data itself. Specifically, the intended use case is to identify executable files (Portable Executables specifically) embedded in non-executable files. For example, malware hidden within a Microsoft Word or PDF document. This is a common occurrence within Advanced Persistent Threat (APT) style attacks which leverage client-side attacks in common business office file formats and often follow the generic pattern that within the exploit is a XOR encrypted executable that is dropped to the compromised system and then the host document is cleaned to remove the exploit.

The module contains two classes, entropyDeviationType and xorTableSearchType. Both classes are intended as proof of concepts and not immediately exportable to production. This package also contains an example utility, edfind.py, which serves as both an immediately usable utility and as a rough primer on how to use the extension to quickly analyze and locate rogue data hidden within benign information streams.

DISCLAIMER

YOUR MILEAGE MAY VARY. AS WITH EVERYTHING TEST THOROUGHLY YOURSELF BEFORE UTILIZING IN PRODUCTION CODE. THIS MODULE HAS NOT RECEIVED EXTENSIVE TESTING AND MAY CONTAIN BUGS NO WARRANTY, EXPLICIT OR IMPLICIT IS PROVIDED. ITS THE INTERNET. TRUST BUT VERIFY

BUILDING

  • Requires:
    • C++ compiler that supports C++11

    • Python >2.3 & <3.0 (tested only on 2.7)

    • The boost::python library

$ ./setup.py build # ./setup.py install

The C++ classes can be extracted and utilized with only a C++ compiler that supports C++11.

MORE INFORMATION

Included with this distribution is a PDF file in the ./doc/ directory that contains fairly verbose documentation that outlined both the Python and C++ API, structure and intended usage. It further outlines usage of the included example utility, edfind.py, and does so by explaining its usage on example document files.

In short, I really tried to type this all up in reST format, but that is just nuts. I instead elected to have a text file that provides a very basic description, that will play friendly with 80x60 terminals and a PDF document that describes everything in detail that doesn’t have to overly worry a whole lot about your particular environment for viewing the data. Cheers.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

entDevType-0.1.1.tar.gz (934.7 kB view details)

Uploaded Source

File details

Details for the file entDevType-0.1.1.tar.gz.

File metadata

  • Download URL: entDevType-0.1.1.tar.gz
  • Upload date:
  • Size: 934.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for entDevType-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2f4e2b697ac4f3dab29b7fee8b85b7fdc9356636b7cd334dc23fa261476f3556
MD5 b0e4656b2776c7a6db4a194f96eb86ea
BLAKE2b-256 db158780592ba9168f98e8b76e74dce0cbca98cb3bd6f523c9ef8da264bd8c0c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page