Skip to content

Latest commit

 

History

History
126 lines (125 loc) · 2.74 KB

readme.md

File metadata and controls

126 lines (125 loc) · 2.74 KB

MalwareDB Entity Relationships

Some field names are shortened from the actual name in the database so the image (hopefully) looks better. Ex: fid becomes fileid, sid becomes sourceid, etc.

erDiagram
    FILE ||--|{ FILE-SOURCE : from
    FILE {
        int id PK
        string sha1
        string sha256
        string sha384
        string sha512
        string md5
        string lzjd
        string ssdeep
        string sdhash
        string tlsh
        int size
        float entropy
        timestamp added
    }
    FILE |{--|| FILETYPE : is
    FILETYPE {
        int id PK
        string magic
        string name
        string description
        bool isExecutable
    }
    FILE |{--|| POLYGLOT : is
    FILETYPE ||--|{ POLYGLOT : has
    POLYGLOT {
        int fid PK
        int tid PK
        string explanation
    }
    FILE |o--|| EXECUTABLE : is
    EXECUTABLE {
        int fid PK
        string pehash
        string importhash
        string importhashfuzzy
        boolean packed
        int sections
        string sectionnames
        float sectionentropies
        string sectionsexecutable
    }
    FILE |o--|| PDF : is
    PDF {
        int fid PK
        string author
        string title
        int pages
        boolean forms
        boolean javascript
    }
    SOURCE ||--|{ FILE-SOURCE : contains
    SOURCE }|--|| GROUP-SOURCE : permission
    SOURCE ||--|| SOURCE : hierarchy
    SOURCE {
        int id PK
        string name
        string description
        string url
        timestamp firstacquisition
        parent int
    }
    FILE-SOURCE {
        int fileid PK
        int sourceid PK
        int userid PK
        string filename
        timestamp firstseen
    }
    PERSON ||--|| FILE-SOURCE : uploader
    PERSON |{--|| USER-GROUP : member
    PERSON {
        int id PK
        string email
        string fname
        string lname
        string password
        string apikey
        timestamp created
    }
    GROUP |{--|| USER-GROUP : membership
    GROUP |{--|| GROUP-SOURCE : permission
    GROUP ||--|| GROUP : hierarchy
    GROUP {
        int id pk
        string name
        string description
        int parent
    }
    USER-GROUP {
        int uid PK
        int gid PK
        timestamp added
    }
    GROUP-SOURCE {
        int gid PK
        int sid PK
        timestamp added
    }
    LABEL ||--|| LABEL : hierarchy
    LABEL |{--|| FILE-LABEL : has
    LABEL |{--|| SOURCE-LABEL : has
    LABEL {
        int id PK
        string name
        int parent
    }
    FILE-LABEL ||--}| FILE : has
    FILE-LABEL {
        int fid PK
        int lid PK
        timestamp added
    }
    SOURCE-LABEL ||--}| SOURCE : has
    SOURCE-LABEL {
        int sid PK
        int lid PK
        timestamp added
    }