Git Product home page Git Product logo

aurora's Introduction

Aurora

Linting Testing

Automated malware similarity platform with modularity in mind.

Aurora preview

Usage

Essential services

Remember, that aurora uses a number of services running under a hood.

In order to set up Karton, please see the Karton documentation, which gives a great head start into how Karton ecosystem works and how you can easily write new karton for different similarity tasks.

Configuration

Rename the .env.template file to .env and fill the blank values.

Manual installation

Make sure that libmagic and libfuzzy libraries are installed.

For Ubuntu:

apt-get install -y libmagic-dev libfuzzy-dev libfuzzy2

For Arch Linux:

pacman -S ssdeep

Install aurora package.

pip install .

Start the server.

uvicorn aurora.app

Docker installation

In addition, you can use both Docker image and Docker Compose to quickly setup full environment.

docker-compose -f docker-compose.yml build
docker-compose -f docker-compose.yml up

License

This software is licensed under This software is licensed under GNU Affero General Public License version 3 except for kartons.

For more information, read LICENSE file.

aurora's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

aurora's Issues

Optimize big network graph

No idea how to proceed with it yet but the graph has to be optimized.

Possible solutions can be:

  • Move from a different graph library (possibly supporting WebGL).
  • Limit the number of visible nodes (and edges).
  • Build clusters already in DB (hard but the best solution for really larg graphs)
  • Don't show small (2-3 nodes) clusters.

Add tags

By tagging different entities, user will be able to extend the analysis with the manual input usually not possible to gather by the system. In future, such tagging could allow for better similarity predictions, partially assisted by the user/analyst. Example of such information can be:

  • Malware family.
  • APT group name.
  • String origin (for example string discovered in samples from certain APT group)
  • Minhash origin (for example function used in legit binary, etc)

Proposed tags:

  • Tagging malware samples will allow user to input his own information about the sample such as family, group, etc.
  • Tagging strings.
  • Tagging minhash.

Optional:

  • Tagging relations.

For function similarity, see #5.

Standardise malware similarity profile.

Malware similarity profile should be standardized into a clean and understandable summary of a malware sample.

Something like this.

{
    
    "profile": {
        "filename": "filename",
        "md5": "md5",
        "sha1": "sha1",
        "sha256": "sha256",
        "sha512": "sha512",
        "imphash": "imphash",
        "ssdeep": "ssdeep",

        
        "minhash": {
            "string": "minhash of file strings",
            "code": [
                {
                    "function_addr": "address of function",
                    "function_minhash": "minhash of functions assembly code"
                }
            ]
        },

        "artifacts": {
            "unique_strings": [
                "list of unique strings found by different heuristics."
            ]
        }
    }
}

Problem with Post sample

Hi,

After many hours of debugging, I finally have MWDB with Aurora.

Now I have a problem when I push a malware in mwdb.

Nothing appears in Aurora.

I have in my docker aurora
"XXX.XXX.XXX.XXX:57086 - "POST /api/v1/sample/92bc02116a72b13d359ba88e0984ea09d2eb230fbf711d92a0c961e08274a09e/minhash HTTP/1.1" 404"

But if I use via the api interface, a post of a sample, it works.
XXX.XXX.XXX.XXX:44884 - "POST /api/v1/sample/8067902175e02514dafffebb78dde8044a8f646bf63322e8fd5777bf39bb9a69/minhash HTTP/1.1" 200

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.