first shot of malware classification

pull/9/head
deralexxx 2016-02-04 16:48:59 +01:00
parent 723e81c0a2
commit 015194e09b
2 changed files with 244 additions and 0 deletions

82
malware/README.md Normal file
View File

@ -0,0 +1,82 @@
# Malware Classification
## Malware Categories
All malware samples should be classified into one of the categories listed in the table below.
<dl>
<dt>Virus</dt>
<dd><dd>
<dt>Worm</dt>
<dd><dd>
<dt>Trojan</dt>
<dd><dd>
<dt>Ransomware</dt>
<dd><dd>
<dt>Rootkit</dt>
<dd><dd>
<dt>Downloader</dt>
<dd><dd>
<dt>Adware</dt>
<dd><dd>
<dt>Spyware</dt>
<dd><dd>
</dl>
## Obfuscation Classification
All malware samples should be classified into one of the categories listed in the table below.
<dl>
<dt>no-obfuscation</dt>
<dd>No obfuscation is used<dd>
<dt>encryption</dt>
<dd>encryption<dd>
<dt>oligomorphism</dt>
<dd>oligomorphism<dd>
<dt>metamorphism</dt>
<dd>metamorphism<dd>
<dt>stealth</dt>
<dd>stealth<dd>
<dt>armouring</dt>
<dd>armouring<dd>
<dt>encryption</dt>
<dd>encryption<dd>
<dt>tunneling</dt>
<dd>tunneling<dd>
<dt>XOR</dt>
<dd>XOR<dd>
<dt>BASE64</dt>
<dd>BASE64<dd>
<dt>ROT13</dt>
<dd>ROT13<dd>
</dl>
## Payload Classification
## Memory Classification
# Machine-parsable Malware Classification
The repository contains a [JSON file including the machine-parsable tags](machinetag.json)
along with their human-readable description. The software can use both
representation on the user-interface and store the tag as machine-parsable.
~~~~
malware_classification:malware-category="virus"
~~~~
Based on:
https://www.sans.org/reading-room/whitepapers/incident/malware-101-viruses-32848

162
malware/machinetag.json Normal file
View File

@ -0,0 +1,162 @@
{
"namespace": "malware_classification",
"description": "Classification based on different categories. Based on https://www.sans.org/reading-room/whitepapers/incident/malware-101-viruses-32848",
"version": 1,
"predicates": [
{
"value": "malware-category",
"expanded": "Malware Category"
},
{
"value": "obfuscation-technique",
"expanded": "Obfuscation Technique"
},
{
"value": "payload-classification",
"expanded": "Payload Classification"
},
{
"value": "memory-classification",
"expanded": "Memory Classification"
}
],
"values": [
{
"predicate": "malware-category",
"entry": [
{
"value": "Virus",
"expanded": "Virus"
},
{
"value": "Worm",
"expanded": "Worm"
},
{
"value": "Trojan",
"expanded": "Trojan"
},
{
"value": "Ransomware",
"expanded": "Ransomware"
},
{
"value": "Rootkit",
"expanded": "Rootkit"
},
{
"value": "Downloader",
"expanded": "Downloader"
},
{
"value": "Adware",
"expanded": "Adware"
},
{
"value": "Spyware",
"expanded": "Spyware"
}
]
},
{
"predicate": "obfuscation-technique",
"entry": [
{
"value": "no-obfuscation",
"expanded": "No obfuscation is used"
},
{
"value": "encryption",
"expanded": "encryption"
},
{
"value": "oligomorphism",
"expanded": "oligomorphism"
},
{
"value": "metamorphism",
"expanded": "metamorphism"
},
{
"value": "stealth",
"expanded": "stealth"
},
{
"value": "armouring",
"expanded": "armouring"
},
{
"value": "encryption",
"expanded": "encryption"
},
{
"value": "tunneling",
"expanded": "tunneling"
},
{
"value": "XOR",
"expanded": "XOR"
},
{
"value": "BASE64",
"expanded": "BASE64"
},
{
"value": "ROT13",
"expanded": "ROT13"
}
]
},
{
"predicate": "payload-classification",
"entry": [
{
"value": "no-payload",
"expanded": "No payload"
},
{
"value": "non-destructive",
"expanded": "Non-Destructive"
},
{
"value": "destructive",
"expanded": "Destructive"
},
{
"value": "dropper",
"expanded": "Dropper"
}
]
},
{
"predicate": "memory-classification",
"entry": [
{
"value": "resident",
"expanded": "In memory"
},
{
"value": "temporary-resident",
"expanded": "In memory temporarily"
},
{
"value": "swapping-mode",
"expanded": "Only a part loaded in memory temporarily"
},
{
"value": "non-resident",
"expanded": "Not in memory"
},
{
"value": "user-process",
"expanded": "As a user level process"
},
{
"value": "kernel-process",
"expanded": "As a process in the kernel"
}
]
}
]
}