Compare commits

...

41 Commits

Author SHA1 Message Date
Alexandre Dulaunoy b5a87d228a
Merge branch 'main' 2024-03-13 16:42:47 +01:00
Alexandre Dulaunoy 6f141c736c
chg: [malware_classification] add `Stalkerware` from #275 2024-03-13 16:39:04 +01:00
Alexandre Dulaunoy 9f4f72c175
Merge pull request #275 from vxsh4d0w/patch-5
Update machinetag.json
2024-03-13 16:35:35 +01:00
V c5566e0d03
Update machinetag.json
Added Stalkerware, ad defined by Kaspersky "commercially available software that can be discreetly installed on smartphone devices, enabling a perpetrator to monitor an individual’s private life without their knowledge"
2024-03-13 13:56:28 +00:00
Alexandre Dulaunoy 5f580a3bb5
chg: [MANIFEST] updated 2024-03-04 10:10:41 +01:00
Alexandre Dulaunoy 5fc23d4795
chg: [tools] clean-up python script to generate the asciidoctor files 2024-03-04 10:06:48 +01:00
Alexandre Dulaunoy a62a3bdad7
Merge pull request #274 from JRC-T2/main
Dark-Web Ransomware support
2024-03-04 10:06:21 +01:00
Alexandre Dulaunoy 5e93071832
fix: [tools] Fix #273 in markdown generator 2024-03-04 09:57:26 +01:00
JRC-T2 08cab31a89
Update machinetag.json
Added darknet ransomware activity support
2024-03-04 09:46:03 +01:00
Alexandre Dulaunoy 8cd705ba62
chg: [exercise] updated 2024-02-16 16:18:09 +01:00
Alexandre Dulaunoy 6b593ea8c1
Merge pull request #272 from DCSO/courseofaction-nodiscover
Add 'course-of-action:passive=nodiscover'
2024-02-07 06:36:57 +01:00
Hendrik Baecker 41e8bdc4f3 Added 'course-of-action:passive=nodiscover' 2024-02-06 14:28:16 +01:00
Alexandre Dulaunoy 3d61b20e7e
chg: [doc] list updated 2023-12-31 08:42:44 +01:00
Alexandre Dulaunoy 92948d2cba
chg: [doc] doc and manifest updated 2023-12-31 08:38:49 +01:00
Christian Studer 47ca23022b
Merge pull request #270 from chrisr3d/main
Deduplicated some entries
2023-12-07 16:03:14 +01:00
Christian Studer 32b2afd795
fix: [doping-substances] Deduplicated some entries 2023-12-07 15:57:46 +01:00
Alexandre Dulaunoy 8d957d224e
chg: [MANIFEST] updated 2023-11-22 11:38:45 +01:00
Alexandre Dulaunoy 6efa8c3075
fix: [tlp] updated TLP:AMBER+strict description based on #261 by @vba-anssi 2023-11-22 11:32:14 +01:00
Alexandre Dulaunoy 873fc6209f
fix: [PAP] following pull-request from @vba-anssi #261
PAP aligned with TLP version 2
2023-11-22 11:28:15 +01:00
Alexandre Dulaunoy d4b54e3f63
fix: [srbcert] various fixes
- Duplicates removed
- Numerical value added
2023-11-15 14:30:05 +01:00
Alexandre Dulaunoy 9f481f4aee
new: [srbcert] New taxonomy for the SRB-CERT 2023-11-15 14:09:51 +01:00
Alexandre Dulaunoy e8892b6cf9
chg: [adoc] exclude `doping-substances` from adoc generation 2023-10-19 09:51:45 +02:00
Alexandre Dulaunoy 8be1cf5cab
Merge pull request #269 from chrisr3d/main
Doping substances taxonomy
2023-10-19 06:58:24 +02:00
Christian Studer 65e8a70bb9
chg: Updated manifest with the new taxonomy description 2023-10-18 17:03:46 +02:00
Christian Studer 13951549f3
chg: [doping-substances] Handmade review of the taxonomy 2023-10-17 23:46:09 +02:00
Christian Studer b42760a412
add: [doping-substances] New taxonomy for doping substances
- Merging from original work by @Chaamoxs & @WooZyhh
- Added also an additional predicate that was skiped first
2023-10-16 17:46:39 +02:00
Raphaël Vinot 84fd295534 chg: reorder predicates for tests 2023-10-04 23:41:32 +02:00
Alexandre Dulaunoy 903ada058d
Merge pull request #268 from dhondta/main
Improved runtime-packers
2023-09-30 10:04:13 +02:00
dhondta cb2132f32f jq'ed machinetag.json 2023-09-30 09:59:32 +02:00
dhondta 97aba06ca5 Updated runtime-packer version 2023-09-30 08:57:22 +02:00
dhondta 95bcc0cc5f Improved runtime-packers (2) 2023-09-30 08:56:23 +02:00
dhondta 6d2ad30f7d Improved runtime-packers 2023-09-30 08:36:24 +02:00
Alexandre Dulaunoy 26626a3715
chg: [circl] significant predicate added 2023-09-27 09:52:44 +02:00
Alexandre Dulaunoy 8d8433399f
chg: [tlp] fix an unclear thing in tlp:unclear 2023-08-17 14:49:19 +02:00
Sami Mokaddem 59ec473a5f
fix: [misp-workflow] Bumped version 2023-07-28 10:06:57 +02:00
Sami Mokaddem 5d35f6b841
chg: [misp-workflow] Added more entries related to curation 2023-07-28 10:05:05 +02:00
Alexandre Dulaunoy 1472de2c10
Merge pull request #266 from vxsh4d0w/master
Update Cryptocurrency Threat Taxonomy
2023-07-23 08:27:36 +02:00
V 135f62cace
Update machinetag.json 2023-07-22 21:50:11 +00:00
V d44ef96000
Update machinetag.json 2023-07-22 21:49:39 +00:00
Alexandre Dulaunoy f731aba646
Merge pull request #265 from vxsh4d0w/patch-4
Update machinetag.json
2023-06-26 19:57:22 +02:00
V e7dd87231e
Update machinetag.json
Added Pig Butchering scam as cryptocurrency threat
2023-06-26 15:03:38 +00:00
19 changed files with 2304 additions and 151 deletions

View File

@ -26,7 +26,7 @@
{
"description": "The Permissible Actions Protocol - or short: PAP - was designed to indicate how the received information can be used.",
"name": "PAP",
"version": 2
"version": 3
},
{
"description": "The access method used to remotely access a system.",
@ -89,9 +89,9 @@
"version": 2
},
{
"description": "CIRCL Taxonomy - Schemes of Classification in Incident Response and Detection",
"description": "CIRCL Taxonomy - Schemes of Classification in Incident Response and Detection.",
"name": "circl",
"version": 5
"version": 6
},
{
"description": "La presente taxonomia es la primera versión disponible para el Centro Nacional de Seguridad Digital del Perú.",
@ -121,10 +121,10 @@
{
"description": "A Course Of Action analysis considers six potential courses of action for the development of a cyber security capability.",
"name": "course-of-action",
"version": 2
"version": 3
},
{
"description": "The Crowdsec behaviors and classifications taxonomy is the list of taxonomies used in Crowdsec to describe the behaviors and classifications of an IP address. The behaviors are a list of attack categories for which a given IP address was reported, where the classifications describe a list of categories associated to an IP address and, when applicable, a list of false positive categories.",
"description": "Crowdsec IP address classifications and behaviors taxonomy.",
"name": "crowdsec",
"version": 1
},
@ -176,7 +176,7 @@
{
"description": "Criminal motivation and content detection the dark web: A categorisation model for law enforcement. ref: Janis Dalins, Campbell Wilson, Mark Carman. Taxonomy updated by MISP Project and extended by the JRC (Joint Research Centre) of the European Commission.",
"name": "dark-web",
"version": 5
"version": 6
},
{
"description": "Data classification for data potentially at risk of exfiltration based on table 2.1 of Solving Cyber Risk book.",
@ -238,6 +238,11 @@
"name": "domain-abuse",
"version": 2
},
{
"description": "This taxonomy aims to list doping substances",
"name": "doping-substances",
"version": 2
},
{
"description": "A taxonomy based on the superclass and class of drugs. Based on https://www.drugbank.ca/releases/latest",
"name": "drugs",
@ -301,7 +306,7 @@
{
"description": "Exercise is a taxonomy to describe if the information is part of one or more cyber or crisis exercise.",
"name": "exercise",
"version": 10
"version": 11
},
{
"description": "Reasons why an event has been extended. This taxonomy must be used on the extended event. The competitive analysis aspect is from Psychology of Intelligence Analysis by Richard J. Heuer, Jr. ref:http://www.foo.be/docs/intelligence/PsychofIntelNew.pdf",
@ -511,7 +516,7 @@
{
"description": "MISP workflow taxonomy to support result of workflow execution.",
"name": "misp-workflow",
"version": 2
"version": 3
},
{
"description": "MONARC Threats Taxonomy",
@ -626,7 +631,7 @@
{
"description": "Runtime or software packer used to combine compressed or encrypted data with the decompression or decryption code. This code can add additional obfuscations mechanisms including polymorphic-packer or other obfuscation techniques. This taxonomy lists all the known or official packer used for legitimate use or for packing malicious binaries.",
"name": "runtime-packer",
"version": 1
"version": 2
},
{
"description": "Flags describing the sample",
@ -658,6 +663,11 @@
"name": "social-engineering-attack-vectors",
"version": 1
},
{
"description": "SRB-CERT Taxonomy - Schemes of Classification in Incident Response and Detection",
"name": "srbcert",
"version": 3
},
{
"description": "A spectrum of state responsibility to more directly tie the goals of attribution to the needs of policymakers.",
"name": "state-responsibility",
@ -696,7 +706,7 @@
{
"description": "The Traffic Light Protocol (TLP) (v2.0) was created to facilitate greater sharing of potentially sensitive information and more effective collaboration. Information sharing happens from an information source, towards one or more recipients. TLP is a set of four standard labels (a fifth label is included in amber to limit the diffusion) used to indicate the sharing boundaries to be applied by the recipients. Only labels listed in this standard are considered valid by FIRST. This taxonomy includes additional labels for backward compatibility which are no more validated by FIRST SIG.",
"name": "tlp",
"version": 7
"version": 10
},
{
"description": "Taxonomy to describe Tor network infrastructure",
@ -741,9 +751,9 @@
{
"description": "Workflow support language is a common language to support intelligence analysts to perform their analysis on data and information.",
"name": "workflow",
"version": 11
"version": 12
}
],
"url": "https://raw.githubusercontent.com/MISP/misp-taxonomies/main/",
"version": "20230514"
"version": "20240304"
}

View File

@ -2,23 +2,28 @@
"namespace": "PAP",
"expanded": "Permissible Actions Protocol",
"description": "The Permissible Actions Protocol - or short: PAP - was designed to indicate how the received information can be used.",
"version": 2,
"version": 3,
"exclusive": true,
"predicates": [
{
"value": "RED",
"expanded": "(PAP:RED) Non-detectable actions only. Recipients may not use PAP:RED information on the network. Only passive actions on logs, that are not detectable from the outside.",
"colour": "#ff0000"
"colour": "#ff2b2b"
},
{
"value": "AMBER",
"expanded": "(PAP:AMBER) Passive cross check. Recipients may use PAP:AMBER information for conducting online checks, like using services provided by third parties (e.g. VirusTotal), or set up a monitoring honeypot.",
"colour": "#ffa800"
"colour": "#ffc000"
},
{
"value": "GREEN",
"expanded": "(PAP:GREEN) Active actions allowed. Recipients may use PAP:GREEN information to ping the target, block incoming/outgoing traffic from/to the target or specifically configure honeypots to interact with the target.",
"colour": "#00ad1c"
"colour": "#33ff00"
},
{
"value": "CLEAR",
"expanded": "(PAP:CLEAR) No restrictions in using this information.",
"colour": "#ffffff"
},
{
"value": "WHITE",

View File

@ -100,7 +100,7 @@ Internal taxonomy for CCCS. [Overview](https://www.misp-project.org/taxonomies.h
### circl
[circl](https://github.com/MISP/misp-taxonomies/tree/main/circl) :
CIRCL Taxonomy - Schemes of Classification in Incident Response and Detection [Overview](https://www.misp-project.org/taxonomies.html#_circl)
CIRCL Taxonomy - Schemes of Classification in Incident Response and Detection. [Overview](https://www.misp-project.org/taxonomies.html#_circl)
### cnsd
@ -135,7 +135,7 @@ A Course Of Action analysis considers six potential courses of action for the de
### crowdsec
[crowdsec](https://github.com/MISP/misp-taxonomies/tree/main/crowdsec) :
The Crowdsec behaviors and classifications taxonomy is the [list of taxonomies used in Crowdsec](https://doc.crowdsec.net/docs/next/cti_api/taxonomy) to describe the behaviors and classifications of an IP address. The behaviors are a list of attack categories for which a given IP address was reported, where the classifications describe a list of categories associated to an IP address and, when applicable, a list of false positive categories. [Overview](https://www.misp-project.org/taxonomies.html#_crowdsec)
Crowdsec IP address classifications and behaviors taxonomy. [Overview](https://www.misp-project.org/taxonomies.html#_crowdsec)
### cryptocurrency-threat
@ -185,7 +185,7 @@ Taxonomy to describe desired actions for Cytomic Orion [Overview](https://www.mi
### dark-web
[dark-web](https://github.com/MISP/misp-taxonomies/tree/main/dark-web) :
Criminal motivation on the dark web: A categorisation model for law enforcement. ref: Janis Dalins, Campbell Wilson, Mark Carman. Taxonomy updated by MISP Project [Overview](https://www.misp-project.org/taxonomies.html#_dark_web)
Criminal motivation and content detection the dark web: A categorisation model for law enforcement. ref: Janis Dalins, Campbell Wilson, Mark Carman. Taxonomy updated by MISP Project and extended by the JRC (Joint Research Centre) of the European Commission. [Overview](https://www.misp-project.org/taxonomies.html#_dark_web)
### data-classification
@ -247,6 +247,11 @@ A subset of Information Security Marking Metadata ISM as required by Executive O
[domain-abuse](https://github.com/MISP/misp-taxonomies/tree/main/domain-abuse) :
Domain Name Abuse - taxonomy to tag domain names used for cybercrime. [Overview](https://www.misp-project.org/taxonomies.html#_domain_abuse)
### doping-substances
[doping-substances](https://github.com/MISP/misp-taxonomies/tree/main/doping-substances) :
This taxonomy aims to list doping substances [Overview](https://www.misp-project.org/taxonomies.html#_doping_substances)
### drugs
[drugs](https://github.com/MISP/misp-taxonomies/tree/main/drugs) :
@ -427,6 +432,11 @@ How an incident is classified in its process to be resolved. The taxonomy is ins
[infoleak](https://github.com/MISP/misp-taxonomies/tree/main/infoleak) :
A taxonomy describing information leaks and especially information classified as being potentially leaked. The taxonomy is based on the work by CIRCL on the AIL framework. The taxonomy aim is to be used at large to improve classification of leaked information. [Overview](https://www.misp-project.org/taxonomies.html#_infoleak)
### information-origin
[information-origin](https://github.com/MISP/misp-taxonomies/tree/main/information-origin) :
Taxonomy for tagging information by its origin: human-generated or AI-generated. [Overview](https://www.misp-project.org/taxonomies.html#_information_origin)
### information-security-data-source
[information-security-data-source](https://github.com/MISP/misp-taxonomies/tree/main/information-security-data-source) :
@ -662,6 +672,11 @@ Threat taxonomy in the scope of securing smart airports by ENISA. https://www.en
[social-engineering-attack-vectors](https://github.com/MISP/misp-taxonomies/tree/main/social-engineering-attack-vectors) :
Attack vectors used in social engineering as described in 'A Taxonomy of Social Engineering Defense Mechanisms' by Dalal Alharthi and others. [Overview](https://www.misp-project.org/taxonomies.html#_social_engineering_attack_vectors)
### srbcert
[srbcert](https://github.com/MISP/misp-taxonomies/tree/main/srbcert) :
SRB-CERT Taxonomy - Schemes of Classification in Incident Response and Detection [Overview](https://www.misp-project.org/taxonomies.html#_srbcert)
### state-responsibility
[state-responsibility](https://github.com/MISP/misp-taxonomies/tree/main/state-responsibility) :

View File

@ -1,7 +1,7 @@
{
"namespace": "circl",
"description": "CIRCL Taxonomy - Schemes of Classification in Incident Response and Detection",
"version": 5,
"description": "CIRCL Taxonomy - Schemes of Classification in Incident Response and Detection.",
"version": 6,
"predicates": [
{
"value": "incident-classification",
@ -10,6 +10,11 @@
{
"value": "topic",
"expanded": "Topic"
},
{
"value": "significant",
"expanded": "Significant",
"description": "Significant topic which has been evaluated to have a certain level of significancy which can have or had a severe impact."
}
],
"values": [

View File

@ -2,7 +2,7 @@
"namespace": "course-of-action",
"expanded": "Courses of Action",
"description": "A Course Of Action analysis considers six potential courses of action for the development of a cyber security capability.",
"version": 2,
"version": 3,
"predicates": [
{
"value": "passive",
@ -21,6 +21,10 @@
"value": "discover",
"expanded": "The discover action is a 'historical look at the data'. This action heavily relies on your capability to store logs for a reasonable amount of time and have them accessible for searching. Typically, this type of action is applied against security information and event management (SIEM) or stored network data. The goal is to determine whether you have seen a specific indicator in the past."
},
{
"value": "nodiscover",
"expanded": "The no-discover action is a negation of discover in case you want to explicit prohibit 'historical look at the data'. The goal is to exclude a specific indicator from searches of historical data."
},
{
"value": "detect",
"expanded": "The passive action is setting up detection rules of an indicator for future traffic. These actions are most often executed via an intrusion detection system (IDS) or a specific logging rule on your firewall or application. It can also be configured as an alert in a SIEM when a specific condition is triggered."

View File

@ -42,6 +42,14 @@
{
"value": "Crypto Robbing Ransomware",
"expanded": "Cyber-extortionists began distributing new malware that empties cryptocurrency wallets and steals private keys while holding user data hostage."
},
{
"value": "Rag Pull",
"expanded": "Crypto scam that occurs when a team pumps their projects token before disappearing with the funds, leaving their investors with a valueless asset."
},
{
"value": "Pig Butchering Scam",
"expanded": "Cryptocurrency investment fraud that lures individuals into investing their money in seemingly legitimate and profitable ventures."
}
],
"refs": [

View File

@ -2,7 +2,7 @@
"namespace": "dark-web",
"expanded": "Dark Web",
"description": "Criminal motivation and content detection the dark web: A categorisation model for law enforcement. ref: Janis Dalins, Campbell Wilson, Mark Carman. Taxonomy updated by MISP Project and extended by the JRC (Joint Research Centre) of the European Commission.",
"version": 5,
"version": 6,
"predicates": [
{
"value": "topic",
@ -359,6 +359,11 @@
"expanded": "videos",
"description": "Videos and streaming"
},
{
"value": "ransomware-post",
"expanded": "ransomwarePost",
"description": "Ransomware post published by a ransomware group"
},
{
"value": "unclear",
"expanded": "unclear",
@ -473,6 +478,31 @@
"value": "pgp-public-key-block",
"expanded": "pgpPublicKeyBlock",
"description": "PGP public key block identified in the dark-web site"
},
{
"value": "country",
"expanded": "country",
"description": "Associated country detected on the code of the dark-web site, following ISO 3166-1 alpha-2"
},
{
"value": "company-name",
"expanded": "companyName",
"description": "Company name identified in a dark-web site"
},
{
"value": "company-link",
"expanded": "companyLink",
"description": "Company link identified in a dark-web site"
},
{
"value": "victim-address",
"expanded": "victimAddress",
"description": "Business address identified in a dark-web site"
},
{
"value": "victim-TLD",
"expanded": "victimTLD",
"description": "Business Top Level Domain (TLD) of a company identified in a dark-web site"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,44 @@
# MISP_DopingSubstanceTaxonomy
This project aims to gather information about all the prohibited sports Doping Substances.
We collected all of the information on the [WADA website](https://www.wada-ama.org/en/prohibited-list).
To do that we have created a python script to scrap this website and generate a JSON file (Taxonomy).
This Taxonomy could be add in MISP to help sports organizations to fight against usage of doping substances.
## MISP
![logo](Misp-logo.png)
What is MISP ?
>A threat intelligence platform for sharing, storing and correlating
Indicators of Compromise of targeted attacks, threat intelligence,
financial fraud information, vulnerability information or even
counter-terrorism information. Discover how MISP is used today in
multiple organisations. Not only to store, share, collaborate on cyber
security indicators, malware analysis, but also to use the IoCs and
information to detect and prevent attacks, frauds or threats against ICT
infrastructures, organisations or people.
## JSON Generation
In order to build the JSON file, we created a Python script which scrap the WADA (World Anti-Doping Agency) s prohibited list.
Thanks to BeautifulSoup, a useful library that helps a lot when it comes to scrap HTLM documents, the script is able to get all the list of doping substances.
The file is created with PyTaxonomies, a MISP library that help to create valid JSON file according to the [MISP Platform](https://www.misp-project.org/taxonomies.html#_misp_taxonomies).
Finally, the script generates all predicates (doping categories) and the entries associated (the doping substances themselves).
## Installation
If you want to try it out yourself, you need to have both BeautifulSoup & PyTaxonomies installated.
## Authors
DELUS Thibaut : https://github.com/WooZyhh
JACOB Lucas : https://github.com/Chaamoxs

View File

@ -0,0 +1,63 @@
import json
import requests
from bs4 import BeautifulSoup
from pathlib import Path
from pytaxonomies import Entry, Predicate, Taxonomy
CONTENT_URL = 'https://www.wada-ama.org/en/prohibited-list'
TAXONOMY_DESCRIPTION = 'This taxonomy aims to list doping substances'
TAXONOMY_EXPANDED = 'Doping substances'
TAXONOMY_NAME = 'doping-substances'
ignore = ('NON-APPROVED SUBSTANCES', )
def list_predicates(articles):
predicates = {}
for article in articles:
title = article.find('p', attrs={'class': 'h3 panel-title'}).text
if title in ignore:
continue
predicate = Predicate()
predicate.predicate = title
div = article.find('div', attrs={'class': 'layout-wysiwyg'})
description = div.find('p')
predicate.description = description.find_next_sibling().text
predicates[title] = predicate
return predicates
def generate_taxonomy():
new_taxonomy = Taxonomy()
new_taxonomy.name = TAXONOMY_NAME
new_taxonomy.expanded = TAXONOMY_EXPANDED
new_taxonomy.description = TAXONOMY_DESCRIPTION
response = requests.get(CONTENT_URL)
soup = BeautifulSoup(response.text, 'html.parser')
articles = soup.findAll('article', attrs={'class': 'panel hide-reader'})
new_taxonomy.predicates = list_predicates(articles)
for article in articles:
title = article.find('p', attrs={'class': 'h3 panel-title'}).text
if title in ignore:
continue
products = article.findAll('li')
products_list = {}
for product in products:
entry = Entry()
entry.value = product.text
products_list[entry.value] = entry
new_taxonomy.predicates[title].entries = products_list
return new_taxonomy
if __name__ == '__main__':
taxonomy = generate_taxonomy()
taxonomy.version = 2
with open(Path(__file__).resolve().parent / 'machinetag.json', 'wt', encoding='utf-8') as f:
json.dump(taxonomy.to_dict(), f, indent=2, ensure_ascii=False)

File diff suppressed because it is too large Load Diff

View File

@ -45,6 +45,11 @@
{
"predicate": "cyber-europe",
"entry": [
{
"value": "2024",
"expanded": "2024",
"description": "7th pan European cyber crisis exercise: Cyber Europe 2024 (CE2024)"
},
{
"value": "2022",
"expanded": "2022",
@ -104,6 +109,16 @@
"value": "2022",
"expanded": "2022",
"description": "Locked Shields 2022"
},
{
"value": "2023",
"expanded": "2023",
"description": "Locked Shields 2023"
},
{
"value": "2024",
"expanded": "2024",
"description": "Locked Shields 2024"
}
]
},
@ -193,7 +208,7 @@
]
}
],
"version": 10,
"version": 11,
"description": "Exercise is a taxonomy to describe if the information is part of one or more cyber or crisis exercise.",
"expanded": "Exercise",
"namespace": "exercise"

View File

@ -1,7 +1,7 @@
{
"namespace": "malware_classification",
"description": "Classification based on different categories. Based on https://www.sans.org/reading-room/whitepapers/incident/malware-101-viruses-32848",
"version": 2,
"version": 3,
"predicates": [
{
"value": "malware-category",
@ -52,6 +52,10 @@
"value": "Adware",
"expanded": "Adware"
},
{
"value": "Stalkerware",
"expanded": "Stalkerware"
},
{
"value": "Spyware",
"expanded": "Spyware"

View File

@ -2,12 +2,27 @@
"namespace": "misp-workflow",
"expanded": "MISP workflow",
"description": "MISP workflow taxonomy to support result of workflow execution.",
"version": 2,
"version": 3,
"predicates": [
{
"value": "action-taken",
"expanded": "Action taken",
"description": "Action taken during the workflow execution"
},
{
"value": "analysis",
"expanded": "Analysis",
"description": "Result of the analysis executed during the workflow execution"
},
{
"value": "mutability",
"expanded": "Mutability",
"description": "Describe if the workflow is allowed to modify data"
},
{
"value": "run",
"expanded": "Run",
"description": "Describe if the workflow is allowed to run on the data being passed"
}
],
"values": [
@ -39,6 +54,41 @@
"expanded": "Execution stopped"
}
]
},
{
"predicate": "analysis",
"entry": [
{
"value": "false-positive",
"expanded": "False positive"
},
{
"value": "highly-likely-positive",
"expanded": "Highly Likely Positive"
},
{
"value": "known-file-hash",
"expanded": "Known file hash"
}
]
},
{
"predicate": "mutability",
"entry": [
{
"value": "allowed",
"expanded": "Allowed"
}
]
},
{
"predicate": "run",
"entry": [
{
"value": "allowed",
"expanded": "Allowed"
}
]
}
]
}

View File

@ -1,12 +1,8 @@
{
"namespace": "runtime-packer",
"description": "Runtime or software packer used to combine compressed or encrypted data with the decompression or decryption code. This code can add additional obfuscations mechanisms including polymorphic-packer or other obfuscation techniques. This taxonomy lists all the known or official packer used for legitimate use or for packing malicious binaries.",
"version": 1,
"version": 2,
"predicates": [
{
"value": "portable-executable",
"expanded": "Portable Executable (PE)"
},
{
"value": "dex",
"expanded": "Dalvik Executable (DEX)"
@ -16,9 +12,13 @@
"expanded": "Executable Linkable Format (ELF)"
},
{
"value": "mach-o",
"value": "macho",
"expanded": "Mach-object (Mach-O)"
},
{
"value": "pe",
"expanded": "Portable Executable (PE)"
},
{
"value": "cli-assembly",
"expanded": "CLI assembly"
@ -26,12 +26,91 @@
],
"values": [
{
"predicate": "portable-executable",
"predicate": "dex",
"entry": [
{
"value": "apk-protect",
"expanded": "APK Protect"
},
{
"value": "dexguard",
"expanded": "DexGuard"
},
{
"value": "dexprotector",
"expanded": "DexProtector"
}
]
},
{
"predicate": "elf",
"entry": [
{
"value": "bzexe",
"expanded": "BzExe"
},
{
"value": "ezuri",
"expanded": "Ezuri"
},
{
"value": "gzexe",
"expanded": "GzExe"
},
{
"value": "midgetpack",
"expanded": "MidgetPack"
},
{
"value": "pakkero",
"expanded": "Pakkero"
},
{
"value": "papaw",
"expanded": "Papaw"
},
{
"value": "shiva",
"expanded": "Shiva"
},
{
"value": "upx",
"expanded": "UPX"
}
]
},
{
"predicate": "macho",
"entry": [
{
"value": "eleckey",
"expanded": "ElecKey"
},
{
"value": "muncho",
"expanded": "Muncho"
},
{
"value": "mpress",
"expanded": "MPRESS"
},
{
"value": "upx",
"expanded": "UPX"
}
]
},
{
"predicate": "pe",
"entry": [
{
"value": ".netshrink",
"expanded": ".netshrink"
},
{
"value": "acprotect",
"expanded": "ACProtect"
},
{
"value": "alienyze",
"expanded": "Alienyze"
@ -40,10 +119,6 @@
"value": "apack",
"expanded": "aPack"
},
{
"value": "apk-protect",
"expanded": "APK Protect"
},
{
"value": "armadillo",
"expanded": "Armadillo"
@ -53,13 +128,17 @@
"expanded": "ASPack"
},
{
"value": "aspr-asprotect",
"expanded": "ASPR (ASProtect)"
"value": "asprotect",
"expanded": "ASProtect"
},
{
"value": "autoit",
"expanded": "AutoIT"
},
{
"value": "axprotector",
"expanded": "AxProtector"
},
{
"value": "bero",
"expanded": "BeRo EXE Packer"
@ -77,21 +156,29 @@
"expanded": "Code Virtualizer"
},
{
"value": "dexguard",
"expanded": "DexGuard"
},
{
"value": "dexprotector",
"expanded": "DexProtector"
"value": "confuserex",
"expanded": "ConfuserEx"
},
{
"value": "dotbundle",
"expanded": "dotBundle"
},
{
"value": "dragon-armor",
"expanded": "Dragon Armor"
},
{
"value": "eleckey",
"expanded": "ElecKey"
},
{
"value": "enigma-protector",
"expanded": "Enigma Protector"
},
{
"value": "enigma-virtual-box",
"expanded": "Enigma Virtual Box"
},
{
"value": "exe-bundle",
"expanded": "EXE Bundle"
@ -100,6 +187,10 @@
"value": "exe-stealth",
"expanded": "EXE Stealth"
},
{
"value": "exe32pack",
"expanded": "EXE32Pack"
},
{
"value": "expressor",
"expanded": "eXPressor"
@ -109,8 +200,12 @@
"expanded": "FSG"
},
{
"value": "gzexe",
"expanded": "GzExe"
"value": "hxor-packer",
"expanded": "hXOR Packer"
},
{
"value": "jdpack",
"expanded": "JDPack"
},
{
"value": "kkrunchy",
@ -124,10 +219,26 @@
"value": "mew",
"expanded": "MEW"
},
{
"value": "molebox",
"expanded": "MoleBox"
},
{
"value": "morphine",
"expanded": "Morphine"
},
{
"value": "mpress",
"expanded": "MPRESS"
},
{
"value": "neolite",
"expanded": "Neolite"
},
{
"value": "netcrypt",
"expanded": "NetCrypt"
},
{
"value": "nspack",
"expanded": "NSPack"
@ -136,6 +247,10 @@
"value": "obsidium",
"expanded": "Obsidium"
},
{
"value": "packman",
"expanded": "Packman"
},
{
"value": "pecompact",
"expanded": "PECompact"
@ -144,6 +259,10 @@
"value": "pelock",
"expanded": "PELock"
},
{
"value": "pepacker",
"expanded": "PE Packer"
},
{
"value": "peshield",
"expanded": "PEShield"
@ -156,6 +275,10 @@
"value": "petite",
"expanded": "PEtite"
},
{
"value": "procrypt",
"expanded": "ProCrypt"
},
{
"value": "rlpack-basic",
"expanded": "RLPack Basic"
@ -164,10 +287,22 @@
"value": "smart-packer-pro",
"expanded": "Smart Packer Pro"
},
{
"value": "squishy",
"expanded": "Squishy"
},
{
"value": "telock",
"expanded": "Telock"
},
{
"value": "themida",
"expanded": "Themida"
},
{
"value": "thinstall",
"expanded": "Thinstall"
},
{
"value": "upack",
"expanded": "UPack"

193
srbcert/machinetag.json Normal file
View File

@ -0,0 +1,193 @@
{
"namespace": "srbcert",
"description": "SRB-CERT Taxonomy - Schemes of Classification in Incident Response and Detection",
"version": 3,
"predicates": [
{
"value": "incident-type",
"expanded": "Incident Type"
},
{
"value": "incident-criticality-level",
"expanded": "Incident Criticality Level"
}
],
"values": [
{
"predicate": "incident-type",
"entry": [
{
"value": "virus",
"expanded": "virus",
"description": "Virus is a piece of malicious code that aims to spread from computer to computer by attacking executable files and documents and can cause deliberate deletion of files from the hard drive and similar damage"
},
{
"value": "worm",
"expanded": "worm",
"description": "Worm is a program that contains malicious code that spreads over a network, in such a way that it can reproduce and transfer , which reproduces and transfers independently, i.e. it does not depend on the files of the infected person device. Worms spread to email addresses from the victim's contact list or exploit the vulnerabilities of network applications and, due to the high speed of propagation, serve for transmission of other types of malicious software "
},
{
"value": "ransomware",
"expanded": "Ransomware"
},
{
"value": "trojan",
"expanded": "Trojan"
},
{
"value": "spyware",
"expanded": "Spyware"
},
{
"value": "rootkit",
"expanded": "Rootkit"
},
{
"value": "malware",
"expanded": "Malware is a word derived from two words - Malicious Software, and represents any software that is written for malicious purposes, i.e. that aims to cause harm computer systems or networks"
},
{
"value": "port-scanning",
"expanded": "Port scanning"
},
{
"value": "sniffing",
"expanded": "Sniffing"
},
{
"value": "social-engineering",
"expanded": "Social engineering"
},
{
"value": "data-breaches",
"expanded": "Data breaches"
},
{
"value": "other-type-of-information-gathering",
"expanded": "Other type of information gathering"
},
{
"value": "phishing",
"expanded": "Phishing"
},
{
"value": "unauthorized-use-of-resources",
"expanded": "Unauthorized use of resources"
},
{
"value": "fraud",
"expanded": "Fraud"
},
{
"value": "exploiting-known-vulnerabilities",
"expanded": "Exploiting known vulnerabilities"
},
{
"value": "brute-force",
"expanded": "Brute force"
},
{
"value": "other-type-of-intrusion-attempts",
"expanded": "Other type of Intrusion Attempts"
},
{
"value": "privilege-account-compromise",
"expanded": "Privilege account compromise"
},
{
"value": "unprivileged-account-compromise",
"expanded": "Unprivileged account compromise"
},
{
"value": "application-compromise",
"expanded": "Application compromise"
},
{
"value": "botnet",
"expanded": "Botnet"
},
{
"value": "other-type-of-intrusions",
"expanded": "Other type of intrusions"
},
{
"value": "dos",
"expanded": "DoS"
},
{
"value": "ddos",
"expanded": "DDoS"
},
{
"value": "sabotage",
"expanded": "Sabotage"
},
{
"value": "outage",
"expanded": "Outage"
},
{
"value": "other-type-of-availability-incident",
"expanded": "Other type of Availability incident"
},
{
"value": "unauthorized-access-to-information",
"expanded": "Unauthorized access to information"
},
{
"value": "unauthorized-modification-of-information",
"expanded": "Unauthorized modification of information"
},
{
"value": "cryptographic-attack",
"expanded": "Cryptographic attack"
},
{
"value": "other-type-of-information-content-security-incident",
"expanded": "Other type of Information Content Security incident"
},
{
"value": "hardware-errors",
"expanded": "Hardware errors"
},
{
"value": "software-errors",
"expanded": "Software errors"
},
{
"value": "hardware-components-theft",
"expanded": "hardware-components-theft"
},
{
"value": "other",
"expanded": "Other"
}
]
},
{
"predicate": "incident-criticality-level",
"entry": [
{
"value": "low",
"expanded": "Low",
"numerical_value": 25
},
{
"value": "medium",
"expanded": "Medium",
"numerical_value": 50
},
{
"value": "high",
"expanded": "High",
"numerical_value": 75
},
{
"value": "very-high",
"expanded": "Very High",
"numerical_value": 100
}
]
}
]
}

View File

@ -1,5 +1,5 @@
# Taxonomies
- Generation date: 2022-01-22
- Generation date: 2023-12-31
- license: CC-0
- description: Manifest file of MISP taxonomies available.
@ -55,13 +55,29 @@
- 2
- 1
- 0
### GrayZone
- description: Gray Zone of Active defense includes all elements which lay between reactive defense elements and offensive operations. It does fill the gray spot between them. Taxo may be used for active defense planning or modeling.
- version: 3
- Predicates
- Adversary Emulation
- Beacons
- Deterrence
- Deception
- Tarpits, Sandboxes and Honeypots
- Threat Intelligence
- Threat Hunting
- Adversary Takedowns
- Ransomware
- Rescue Missions
- Sanctions, Indictments & Trade Remedies
### PAP
- description: The Permissible Actions Protocol - or short: PAP - was designed to indicate how the received information can be used.
- version: 2
- version: 3
- Predicates
- RED
- AMBER
- GREEN
- CLEAR
- WHITE
### access-method
- description: The access method used to remotely access a system.
@ -154,6 +170,33 @@
- cat4
- cat5
- cat6
### artificial-satellites
- description: This taxonomy was designed to describe artificial satellites
- version: 1
- Predicates
- Meteorological and Earth observation
- Indian Space Research
- GEO
- Tracking
- Search & Rescue
- Earth Ressources
- Disaster Monitoring
- GNSS
- Space & Earth Science
- Geodetic
- Engineering
- Education
### aviation
- description: A taxonomy describing security threats or incidents against the aviation sector.
- version: 1
- Predicates
- target
- target-systems
- target-sub-systems
- impact
- likelihood
- criticality
- certainty
### binary-class
- description: Custom taxonomy for types of binary file.
- version: 2
@ -179,11 +222,25 @@
- severity
- threat-vector
### circl
- description: CIRCL Taxonomy - Schemes of Classification in Incident Response and Detection
- version: 5
- description: CIRCL Taxonomy - Schemes of Classification in Incident Response and Detection.
- version: 6
- Predicates
- incident-classification
- topic
- significant
### cnsd
- description: La presente taxonomia es la primera versión disponible para el Centro Nacional de Seguridad Digital del Perú.
- version: 20220513
- Predicates
- Contenido abusivo
- Disponibilidad
- Fraude
- Fuga de información
- Intentos de intrusión
- Intrusión
- Malware
- Recopilación de información
- Otros
### coa
- description: Course of action taken within organization to discover, detect, deny, disrupt, degrade, deceive and/or destroy an attack.
- version: 2
@ -234,9 +291,9 @@
- passive
- active
### crowdsec
- description: The Crowdsec behaviors and classifications taxonomy is the list of taxonomies used in Crowdsec to describe the behaviors and classifications of an IP address. The behaviors are a list of attack categories for which a given IP address was reported, where the classifications describe a list of categories associated to an IP address and, when applicable, a list of false positive categories.
- description: Crowdsec IP address classifications and behaviors taxonomy.
- version: 1
- predicates
- Predicates
- behavior
- false-positive
- classification
@ -254,6 +311,7 @@
- Decentralized Stable Coins
- Email Extortion and Bomb Threats
- Crypto Robbing Ransomware
- Pig Butchering Scam
### csirt-americas
- description: Taxonomía CSIRT Américas.
- version: 1
@ -323,12 +381,14 @@
- Predicates
- action
### dark-web
- description: Criminal motivation on the dark web: A categorisation model for law enforcement. ref: Janis Dalins, Campbell Wilson, Mark Carman. Taxonomy updated by MISP Project
- version: 4
- description: Criminal motivation and content detection the dark web: A categorisation model for law enforcement. ref: Janis Dalins, Campbell Wilson, Mark Carman. Taxonomy updated by MISP Project and extended by the JRC (Joint Research Centre) of the European Commission.
- version: 5
- Predicates
- topic
- motivation
- structure
- service
- content
### data-classification
- description: Data classification for data potentially at risk of exfiltration based on table 2.1 of Solving Cyber Risk book.
- version: 1
@ -354,6 +414,143 @@
- Predicates
- Einstufung
- Schutzwort
### death-possibilities
- description: Taxonomy of Death Possibilities
- version: 1
- Predicates
- (001-009) Intestinal infectious diseases
- (010-018) Tuberculosis
- (020-027) Zoonotic bacterial diseases
- (030-041) Other bacterial diseases
- (042-042) Human immunodeficiency virus [HIV] infection
- (045-049) Poliomyelitis and other non-arthropod-borne viral diseases of central nervous system
- (050-057) Viral diseases accompanied by exanthem
- (060-066) Arthropod-borne viral diseases
- (070-079) Other diseases due to viruses and Chlamydiae
- (080-088) Rickettsioses and other arthropod-borne diseases
- (090-099) Syphilis and other venereal diseases
- (100-104) Other spirochaetal diseases
- (110-118) Mycoses
- (120-129) Helminthiases
- (130-136) Other infectious and parasitic diseases
- (137-139) Late effects of infectious and parasitic diseases
- (140-149) Malignant neoplasm of lip, oral cavity and pharynx
- (150-159) Malignant neoplasm of digestive organs and peritoneum
- (160-165) Malignant neoplasm of respiratory and intrathoracic organs
- (170-176) Malignant neoplasm of bone, connective tissue, skin and breast
- (179-189) Malignant neoplasm of genito-urinary organs
- (190-199) Malignant neoplasm of other and unspecified sites
- (200-208) Malignant neoplasm of lymphatic and haematopoietic tissue
- (210-229) Benign neoplasms
- (230-234) Carcinoma in situ
- (235-238) Neoplasms of uncertain behaviour
- (239-239) Neoplasms of unspecified nature
- (240-246) Disorders of thyroid gland
- (250-259) Diseases of other endocrine glands
- (260-269) Nutritional deficiencies
- (270-279) Other metabolic disorders and immunity disorders
- (280-289) Diseases of blood and blood-forming organs
- (290-294) Organic psychotic conditions
- (295-299) Other psychoses
- (300-316) Neurotic disorders, personality disorders and other nonpsychotic mental disorders
- (317-319) Mental retardation
- (320-326) Inflammatory diseases of the central nervous system
- (330-337) Hereditary and degenerative diseases of the central nervous system
- (340-349) Other disorders of the central nervous system
- (350-359) Disorders of the peripheral nervous system
- (360-379) Disorders of the eye and adnexa
- (380-389) Diseases of the ear and mastoid process
- (390-392) Acute rheumatic fever
- (393-398) Chronic rheumatic heart disease
- (401-405) Hypertensive disease
- (410-414) Ischaemic heart disease
- (415-417) Diseases of pulmonary circulation
- (420-429) Other forms of heart disease
- (430-438) Cerebrovascular disease
- (440-448) Diseases of arteries, arterioles and capillaries
- (451-459) Diseases of veins and lymphatics, and other diseases of circulatory system
- (460-466) Acute respiratory infections
- (470-478) Other diseases of upper respiratory tract
- (480-487) Pneumonia and influenza
- (490-496) Chronic obstructive pulmonary disease and allied conditions
- (500-508) Pneumoconioses and other lung diseases due to external agents
- (510-519) Other diseases of respiratory system
- (520-529) Diseases of oral cavity, salivary glands and jaws
- (530-537) Diseases of oesophagus, stomach and duodenum
- (540-543) Appendicitis
- (550-553) Hernia of abdominal cavity
- (555-558) Non-infective enteritis and colitis
- (560-569) Other diseases of intestines and peritoneum
- (570-579) Other diseases of digestive system
- (580-589) Nephritis, nephrotic syndrome and nephrosis
- (590-599) Other diseases of urinary system
- (600-608) Diseases of male genital organs
- (610-611) Disorders of breast
- (614-616) Inflammatory disease of female pelvic organs
- (617-629) Other disorders of female genital tract
- (630-633) Ectopic and molar pregnancy
- (634-639) Other pregnancy with abortive outcome
- (640-648) Complications mainly related to pregnancy
- (650-659) Normal delivery and other indications for care in pregnancy, labour and delivery
- (660-669) Complications occurring mainly in the course of labour and delivery
- (670-677) Complications of the puerperium
- (680-686) Infections of skin and subcutaneous tissue
- (690-698) Other inflammatory conditions of skin and subcutaneous tissue
- (700-709) Other diseases of skin and subcutaneous tissue
- (710-719) Arthropathies and related disorders
- (720-724) Dorsopathies
- (725-729) Rheumatism, excluding the back
- (730-739) Osteopathies, chondropathies and acquired musculoskeletal deformities
- (740-759) Congenital anomalies
- (760-763) Maternal causes of perinatal morbidity and mortality
- (764-779) Other conditions originating in the perinatal period
- (780-789) Symptoms
- (790-796) Nonspecific abnormal findings
- (797-799) Ill-defined and unknown causes of morbidity and mortality
- (800-804) Fracture of skull
- (805-809) Fracture of neck and trunk
- (810-819) Fracture of upper limb
- (820-829) Fracture of lower limb
- (830-839) Dislocation
- (840-848) Sprains and strains of joints and adjacent muscles
- (850-854) Intracranial injury, excluding those with skull fracture
- (860-869) Internal injury of chest, abdomen and pelvis
- (870-879) Open wound of head, neck and trunk
- (880-887) Open wound of upper limb
- (890-897) Open wound of lower limb
- (900-904) Injury to blood vessels
- (905-909) Late effects of injuries, poisonings, toxic effects and other external causes
- (910-919) Superficial injury
- (920-924) Contusion with intact skin surface
- (925-929) Crushing injury
- (930-939) Effects of foreign body entering through orifice
- (940-949) Burns
- (950-957) Injury to nerves and spinal cord
- (958-959) Certain traumatic complications and unspecified injuries
- (960-979) Poisoning by drugs, medicaments and biological substances
- (980-989) Toxic effects of substances chiefly nonmedicinal as to source
- (990-995) Other and unspecified effects of external causes
- (996-999) Complications of surgical and medical care, not elsewhere classified
- (E800-E807) Railway accidents
- (E810-E819) Motor vehicle traffic accidents
- (E820-E825) Motor vehicle nontraffic accidents
- (E826-E829) Other road vehicle accidents
- (E830-E838) Water transport accidents
- (E840-E845) Air and space transport accidents
- (E846-E848) Vehicle accidents not elsewhere classifiable
- (E849-E858) Accidental poisoning by drugs, medicaments and biologicals
- (E860-E869) Accidental poisoning by other solid and liquid substances, gases and vapours
- (E870-E876) Misadventures to patients during surgical and medical care
- (E878-E879) Surgical and medical procedures as the cause of abnormal reaction of patient or later complication, without mention of misadventure at the time of procedure
- (E880-E888) Accidental falls
- (E890-E899) Accidents caused by fire and flames
- (E900-E909) Accidents due to natural and environmental factors
- (E910-E915) Accidents caused by submersion, suffocation and foreign bodies
- (E916-E928) Other accidents
- (E929-E929) Late effects of accidental injury
- (E930-E949) Drugs, medicaments and biological substances causing adverse effects in therapeutic use
- (E950-E959) Suicide and self-inflicted injury
- (E960-E969) Homicide and injury purposely inflicted by other persons
### deception
- description: Deception is an important component of information operations, valuable for both offense and defense.
- version: 1
@ -365,6 +562,12 @@
- quality
- essence
- speech-act-theory
### dga
- description: A taxonomy to describe domain-generation algorithms often called DGA. Ref: A Comprehensive Measurement Study of Domain Generating Malware Daniel Plohmann and others.
- version: 2
- Predicates
- generation-scheme
- seeding
### dhs-ciip-sectors
- description: DHS critical sectors as in https://www.dhs.gov/critical-infrastructure-sectors
- version: 2
@ -379,6 +582,15 @@
- Capability
- Infrastructure
- Victim
### diamond-model-for-influence-operations
- description: The diamond model for influence operations analysis is a framework that leads analysts and researchers toward a comprehensive understanding of a malign influence campaign by addressing the socio-political, technical, and psychological aspects of the campaign. The diamond model for influence operations analysis consists of 5 components: 4 corners and a core element. The 4 corners are divided into 2 axes: influencer and audience on the socio-political axis, capabilities and infrastructure on the technical axis. Narrative makes up the core of the diamond.
- version: 1
- Predicates
- Influencer
- Capabilities
- Infrastructure
- Audience
- Narrative
### dni-ism
- description: A subset of Information Security Marking Metadata ISM as required by Executive Order (EO) 13526. As described by DNI.gov as Data Encoding Specifications for Information Security Marking Metadata in Controlled Vocabulary Enumeration Values for ISM
- version: 3
@ -398,6 +610,23 @@
- Predicates
- domain-status
- domain-access-method
### doping-substances
- description: This taxonomy aims to list doping substances
- version: 2
- Predicates
- anabolic agents
- peptide hormones, growth factors, related substances and mimetics
- beta-2 agonists
- hormone and metabolic modulators
- diuretics and masking agents
- manipulation of blood and blood components
- chemical and physical manipulation
- gene and cell doping
- stimulants
- narcotics
- cannabinoids
- glucocorticoids
- beta-blockers
### drugs
- description: A taxonomy based on the superclass and class of drugs. Based on https://www.drugbank.ca/releases/latest
- version: 2
@ -578,14 +807,15 @@
- cyber-sopex
- generic
### extended-event
- description: Reasons why an event has been extended.
- version: 1
- description: Reasons why an event has been extended. This taxonomy must be used on the extended event. The competitive analysis aspect is from Psychology of Intelligence Analysis by Richard J. Heuer, Jr. ref:http://www.foo.be/docs/intelligence/PsychofIntelNew.pdf
- version: 2
- Predicates
- competitive-analysis
- extended-analysis
- human-readable
- chunked-event
- update
- counter-analysis
### failure-mode-in-machine-learning
- description: The purpose of this taxonomy is to jointly tabulate both the of these failure modes in a single place. Intentional failures wherein the failure is caused by an active adversary attempting to subvert the system to attain her goals either to misclassify the result, infer private training data, or to steal the underlying algorithm. Unintentional failures wherein the failure is because an ML system produces a formally correct but completely unsafe outcome.
- version: 1
@ -594,7 +824,7 @@
- unintended-failures-summary
### false-positive
- description: This taxonomy aims to ballpark the expected amount of false positives.
- version: 5
- version: 7
- Predicates
- risk
- confirmed
@ -603,6 +833,15 @@
- version: 1
- Predicates
- type
### financial
- description: Financial taxonomy to describe financial services, infrastructure and financial scope.
- version: 7
- Predicates
- categories-and-types-of-services
- geographical-footprint
- online-exposition
- physical-presence
- services
### flesch-reading-ease
- description: Flesch Reading Ease is a revised system for determining the comprehension difficulty of written material. The scoring of the flesh score can have a maximum of 121.22 and there is no limit on how low a score can be (negative score are valid).
- version: 2
@ -827,6 +1066,13 @@
- submission
- output-format
- certainty
### information-origin
- description: Taxonomy for tagging information by its origin: human-generated or AI-generated.
- version: 2
- Predicates
- human-generated
- AI-generated
- uncertain-origin
### information-security-data-source
- description: Taxonomy to classify the information security data sources.
- version: 1
@ -978,6 +1224,14 @@
- misp2yara
- event-type
- ids
### misp-workflow
- description: MISP workflow taxonomy to support result of workflow execution.
- version: 3
- Predicates
- action-taken
- analysis
- mutability
- run
### monarc-threat
- description: MONARC Threats Taxonomy
- version: 1
@ -1022,6 +1276,19 @@
- nature-root-cause
- nature-severity
- test
### nis2
- description: The taxonomy is meant for large scale cybersecurity incidents, as mentioned in the Commission Recommendation of 13 May 2022, also known as the provisional agreement. It has two core parts: The nature of the incident, i.e. the underlying cause, that triggered the incident, and the impact of the incident, i.e. the impact on services, in which sector(s) of economy and society.
- version: 3
- Predicates
- impact-sectors-impacted
- impact-subsectors-impacted
- important-entities
- impact-subsectors-important-entities
- impact-severity
- impact-outlook
- nature-root-cause
- nature-severity
- test
### open_threat
- description: Open Threat Taxonomy v1.1 base on James Tarala of SANS http://www.auditscripts.com/resources/open_threat_taxonomy_v1.1a.pdf, https://files.sans.org/summit/Threat_Hunting_Incident_Response_Summit_2016/PDFs/Using-Open-Tools-to-Convert-Threat-Intelligence-into-Practical-Defenses-James-Tarala-SANS-Institute.pdf, https://www.youtube.com/watch?v=5rdGOOFC_yE, and https://www.rsaconference.com/writable/presentations/file_upload/str-r04_using-an-open-source-threat-model-for-prioritized-defense-final.pdf
- version: 1
@ -1072,6 +1339,12 @@
- state
- psychological-acceptability
- principle-of-persuasion
### poison-taxonomy
- description: Non-exhaustive taxonomy of natural poison
- version: 1
- Predicates
- Poisonous plant
- Poisonous fungus
### political-spectrum
- description: A political spectrum is a system to characterize and classify different political positions in relation to one another.
- version: 1
@ -1089,6 +1362,20 @@
- low
- baseline-minor
- baseline-negligible
### pyoti
- description: PyOTI automated enrichment schemes for point in time classification of indicators.
- version: 3
- Predicates
- checkdmarc
- disposable-email
- emailrepio
- iris-investigate
- virustotal
- circl-hashlookup
- reputation-block-list
- abuseipdb
- greynoise-riot
- googlesafebrowsing
### ransomware
- description: Ransomware is used to define ransomware types and the elements that compose them.
- version: 6
@ -1101,6 +1388,17 @@
- infection
- communication
- malicious-action
### ransomware-roles
- description: The seven roles seen in most ransomware incidents.
- version: 1
- Predicates
- 1 - Initial Access Broker
- 2 - Ransomware Affiliate
- 3 - Data Manager
- 4 - Ransomware Operator
- 5 - Negotiator
- 6 - Chaser
- 7 - Accountant
### retention
- description: Add a retenion time to events to automatically remove the IDS-flag on ip-dst or ip-src attributes. We calculate the time elapsed based on the date of the event. Supported time units are: d(ays), w(eeks), m(onths), y(ears). The numerical_value is just for sorting in the web-interface and is not used for calculations.
- version: 3
@ -1137,11 +1435,13 @@
- Predicates
- event-status
### runtime-packer
- description: Runtime or software packer used to combine compressed data with the decompression code. The decompression code can add additional obfuscations mechanisms including polymorphic-packer or other obfuscation techniques. This taxonomy lists all the known or official packer used for legitimate use or for packing malicious binaries.
- version: 1
- description: Runtime or software packer used to combine compressed or encrypted data with the decompression or decryption code. This code can add additional obfuscations mechanisms including polymorphic-packer or other obfuscation techniques. This taxonomy lists all the known or official packer used for legitimate use or for packing malicious binaries.
- version: 2
- Predicates
- portable-executable
- dex
- elf
- macho
- pe
- cli-assembly
### scrippsco2-fgc
- description: Flags describing the sample
@ -1187,6 +1487,21 @@
- NZD
- PSA
- SPO
### sentinel-threattype
- description: Sentinel indicator threat types.
- version: 1
- Predicates
- Botnet
- C2
- CryptoMining
- Darknet
- DDoS
- MaliciousUrl
- Malware
- Phishing
- Proxy
- PUA
- WatchList
### smart-airports-threats
- description: Threat taxonomy in the scope of securing smart airports by ENISA. https://www.enisa.europa.eu/publications/securing-smart-airports
- version: 1
@ -1196,6 +1511,18 @@
- natural-and-social-phenomena
- third-party-failures
- malicious-actions
### social-engineering-attack-vectors
- description: Attack vectors used in social engineering as described in 'A Taxonomy of Social Engineering Defense Mechanisms' by Dalal Alharthi and others.
- version: 1
- Predicates
- technical
- non-technical
### srbcert
- description: SRB-CERT Taxonomy - Schemes of Classification in Incident Response and Detection
- version: 3
- Predicates
- incident-type
- incident-criticality-level
### state-responsibility
- description: A spectrum of state responsibility to more directly tie the goals of attribution to the needs of policymakers.
- version: 1
@ -1228,13 +1555,15 @@
- technical-sophistication-multiplier
### thales_group
- description: Thales Group Taxonomy - was designed with the aim of enabling desired sharing and preventing unwanted sharing between Thales Group security communities.
- version: 2
- version: 4
- Predicates
- distribution
- to_block
- minarm
- acn
- sigpart
- a_isac
- intercert_france
- ioc_confidence
- tlp:black
- Watcher
@ -1254,14 +1583,17 @@
- dns-server-attacks
- dns-abuse-or-misuse
### tlp
- description: The Traffic Light Protocol - or short: TLP - was designed with the objective to create a favorable classification scheme for sharing sensitive information while keeping the control over its distribution at the same time.
- version: 5
- description: The Traffic Light Protocol (TLP) (v2.0) was created to facilitate greater sharing of potentially sensitive information and more effective collaboration. Information sharing happens from an information source, towards one or more recipients. TLP is a set of four standard labels (a fifth label is included in amber to limit the diffusion) used to indicate the sharing boundaries to be applied by the recipients. Only labels listed in this standard are considered valid by FIRST. This taxonomy includes additional labels for backward compatibility which are no more validated by FIRST SIG.
- version: 10
- Predicates
- red
- amber
- amber+strict
- green
- white
- clear
- ex:chr
- unclear
### tor
- description: Taxonomy to describe Tor network infrastructure
- version: 1
@ -1385,7 +1717,7 @@
- degré-de-probabilité
### workflow
- description: Workflow support language is a common language to support intelligence analysts to perform their analysis on data and information.
- version: 11
- version: 12
- Predicates
- todo
- state

View File

@ -15,7 +15,7 @@
{
"colour": "#FFC000",
"description": "Limited disclosure, recipients can only spread this on a need-to-know basis within their organization. Sources may use TLP:AMBER+STRICT when information requires support to be effectively acted upon, yet carries risk to privacy, reputation, or operations if shared outside of the organizations involved. Recipients may share TLP:AMBER+STRICT information with members of their own organization.",
"expanded": "Limited disclosure, recipients can only spread this on a need-to-know basis within their organization.",
"expanded": "(TLP:AMBER+STRICT) Limited disclosure, recipients can only spread this on a need-to-know basis within their organization.",
"value": "amber+strict"
},
{
@ -44,13 +44,13 @@
{
"colour": "#7e7eae",
"expanded": "(TLP:UNCLEAR) Community, Organization, Clients, and Recipients are all so confused what the appropriate disclosure level is, and if this or that indicator can or cannot be shared. Assumptions are rampant and the confusion is so high that a chi-square test might in fact be required to ensure the randomness of the mess before labelling this case TLP:UNCLEAR.",
"value": "tlp:unclear"
"value": "unclear"
}
],
"refs": [
"https://www.first.org/tlp"
],
"version": 8,
"version": 10,
"description": "The Traffic Light Protocol (TLP) (v2.0) was created to facilitate greater sharing of potentially sensitive information and more effective collaboration. Information sharing happens from an information source, towards one or more recipients. TLP is a set of four standard labels (a fifth label is included in amber to limit the diffusion) used to indicate the sharing boundaries to be applied by the recipients. Only labels listed in this standard are considered valid by FIRST. This taxonomy includes additional labels for backward compatibility which are no more validated by FIRST SIG.",
"expanded": "Traffic Light Protocol",
"exclusive": true,

View File

@ -32,25 +32,35 @@ import argparse
import os
import sys
skip_list = ['death-possibilities', 'poison-taxonomy']
skip_list = ["death-possibilities", "poison-taxonomy", "doping-substances"]
taxonomies = []
# Get our current directory from file location
thisDir = os.path.dirname(__file__)
argParser = argparse.ArgumentParser(description='Dump Machine Tags (Triple Tags) from MISP taxonomies', epilog='Available taxonomies are {0}'.format(taxonomies))
argParser.add_argument('-e', action='store_true', help='Include expanded tags')
argParser.add_argument('-a', action='store_true', help='Generate asciidoctor document from MISP taxonomies')
argParser.add_argument('-v', action='store_true', help='Include descriptions')
argParser.add_argument('-n', default=False, help='Show only the specified namespace')
argParser.add_argument('--disable-skip-list', default=False, action='store_true', help='disable default skip list')
argParser = argparse.ArgumentParser(
description="Dump Machine Tags (Triple Tags) from MISP taxonomies",
epilog="Available taxonomies are {0}".format(taxonomies),
)
argParser.add_argument("-e", action="store_true", help="Include expanded tags")
argParser.add_argument(
"-a", action="store_true", help="Generate asciidoctor document from MISP taxonomies"
)
argParser.add_argument("-v", action="store_true", help="Include descriptions")
argParser.add_argument("-n", default=False, help="Show only the specified namespace")
argParser.add_argument(
"--disable-skip-list",
default=False,
action="store_true",
help="disable default skip list",
)
args = argParser.parse_args()
if args.disable_skip_list:
skip_list = ''
skip_list = ""
for folder in os.listdir(os.path.join(thisDir, '../')):
if os.path.isfile(os.path.join(thisDir, '../', folder, 'machinetag.json')):
for folder in os.listdir(os.path.join(thisDir, "../")):
if os.path.isfile(os.path.join(thisDir, "../", folder, "machinetag.json")):
if folder in skip_list:
continue
taxonomies.append(folder)
@ -58,23 +68,35 @@ for folder in os.listdir(os.path.join(thisDir, '../')):
taxonomies.sort()
doc = ''
doc = ""
if args.a:
dedication = "\n[dedication]\n== Funding and Support\nThe MISP project is financially and resource supported by https://www.circl.lu/[CIRCL Computer Incident Response Center Luxembourg ].\n\nimage:{images-misp}logo.png[CIRCL logo]\n\nA CEF (Connecting Europe Facility) funding under CEF-TC-2016-3 - Cyber Security has been granted from 1st September 2017 until 31th August 2019 as ***Improving MISP as building blocks for next-generation information sharing***.\n\nimage:{images-misp}en_cef.png[CEF funding]\n\nIf you are interested to co-fund projects around MISP, feel free to get in touch with us.\n\n"
doc = doc + ":toc: right\n"
doc = doc + ":toclevels: 1\n"
doc = doc + ":icons: font\n"
doc = doc + ":images-cdn: https://raw.githubusercontent.com/MISP/MISP/2.4/INSTALL/logos/\n"
doc = (
doc
+ ":images-cdn: https://raw.githubusercontent.com/MISP/MISP/2.4/INSTALL/logos/\n"
)
doc = doc + ":images-misp: https://www.misp-project.org/assets/images/\n"
doc = doc + "= MISP taxonomies and classification as machine tags\n\n"
doc = doc + "= Introduction\n"
doc = doc + "\nimage::{images-cdn}misp-logo.png[MISP logo]\n"
doc = doc + "The MISP threat sharing platform is a free and open source software helping information sharing of threat intelligence including cyber security indicators, financial fraud or counter-terrorism information. The MISP project includes multiple sub-projects to support the operational requirements of analysts and improve the overall quality of information shared.\n\n"
doc = (
doc
+ "The MISP threat sharing platform is a free and open source software helping information sharing of threat intelligence including cyber security indicators, financial fraud or counter-terrorism information. The MISP project includes multiple sub-projects to support the operational requirements of analysts and improve the overall quality of information shared.\n\n"
)
doc = doc + ""
doc = "{} {} {} {}".format(doc, "\nTaxonomies that can be used in MISP (2.4) and other information sharing tool and expressed in Machine Tags (Triple Tags).",
"A machine tag is composed of a namespace (MUST), a predicate (MUST) and an (OPTIONAL) value.",
"Machine tags are often called triple tag due to their format.\n")
doc = doc + "The following document is generated from the machine-readable JSON describing the https://github.com/MISP/misp-taxonomies[MISP taxonomies]."
doc = "{} {} {} {}".format(
doc,
"\nTaxonomies that can be used in MISP (2.4) and other information sharing tool and expressed in Machine Tags (Triple Tags).",
"A machine tag is composed of a namespace (MUST), a predicate (MUST) and an (OPTIONAL) value.",
"Machine tags are often called triple tag due to their format.\n",
)
doc = (
doc
+ "The following document is generated from the machine-readable JSON describing the https://github.com/MISP/misp-taxonomies[MISP taxonomies]."
)
doc = doc + "\n\n"
doc = doc + "<<<\n"
doc = doc + dedication
@ -87,31 +109,37 @@ if args.n:
taxonomies.append(args.n)
def asciidoc(content=False, adoc=doc, t='title', toplevel=False):
def asciidoc(content=False, adoc=doc, t="title", toplevel=False):
if not args.a:
return False
adoc = adoc + "\n"
if t == 'title':
content = '==== ' + content
elif t == 'predicate':
content = '=== ' + content
elif t == 'namespace':
content = '== ' + content + '\n'
content = "{}\n{}{} {}{}{} {}".format(content, 'NOTE: ', namespace, 'namespace available in JSON format at https://github.com/MISP/misp-taxonomies/blob/main/',
namespace, '/machinetag.json[*this location*]. The JSON format can be freely reused in your application',
'or automatically enabled in https://www.github.com/MISP/MISP[MISP] taxonomy.')
elif t == 'description' and toplevel is True:
if t == "title":
content = "==== " + content
elif t == "predicate":
content = "=== " + content
elif t == "namespace":
content = "== " + content + "\n"
content = "{}\n{}{} {}{}{} {}".format(
content,
"NOTE: ",
namespace,
"namespace available in JSON format at https://github.com/MISP/misp-taxonomies/blob/main/",
namespace,
"/machinetag.json[*this location*]. The JSON format can be freely reused in your application",
"or automatically enabled in https://www.github.com/MISP/MISP[MISP] taxonomy.",
)
elif t == "description" and toplevel is True:
content = "\n{} \n".format(content)
elif t == 'description' and toplevel is False:
elif t == "description" and toplevel is False:
try:
(n, value) = content.split(":", 1)
content = "\n{} \n".format(value)
except:
content = "\n{} \n".format(content)
elif t == 'numerical_value':
elif t == "numerical_value":
(n, value) = content.split(":", 1)
content = "\nAssociated numerical value=\"{}\" \n".format(value)
elif t == 'exclusive':
content = '\nAssociated numerical value="{}" \n'.format(value)
elif t == "exclusive":
(n, value) = content.split(":", 1)
if n:
content = "\nIMPORTANT: Exclusive flag set which means the values or predicate below must be set exclusively.\n"
@ -124,9 +152,9 @@ def machineTag(namespace=False, predicate=False, value=None):
if namespace is False or predicate is False:
return None
if value is None:
return (u'{0}:{1}'.format(namespace, predicate))
return "{0}:{1}".format(namespace, predicate)
else:
return (u'{0}:{1}=\"{2}\"'.format(namespace, predicate, value))
return '{0}:{1}="{2}"'.format(namespace, predicate, value)
for taxonomy in taxonomies:
@ -136,70 +164,166 @@ for taxonomy in taxonomies:
filename = os.path.join(thisDir, "../", taxonomy, "machinetag.json")
with open(filename) as fp:
t = json.load(fp)
namespace = t['namespace']
if t.get('expanded'):
expanded_namespace = t['expanded']
namespace = t["namespace"]
if t.get("expanded"):
expanded_namespace = t["expanded"]
else:
expanded_namespace = namespace
if args.a:
doc = asciidoc(content=t['namespace'], adoc=doc, t='namespace')
doc = asciidoc(content=t['description'], adoc=doc, t='description', toplevel = True)
if t.get('exclusive'):
doc = asciidoc(content=machineTag(namespace=namespace, predicate=t['exclusive']), adoc=doc, t='exclusive')
doc = asciidoc(content=t["namespace"], adoc=doc, t="namespace")
doc = asciidoc(
content=t["description"], adoc=doc, t="description", toplevel=True
)
if t.get("exclusive"):
doc = asciidoc(
content=machineTag(namespace=namespace, predicate=t["exclusive"]),
adoc=doc,
t="exclusive",
)
if args.v:
print('{0}'.format(t['description']))
for predicate in t['predicates']:
print("{0}".format(t["description"]))
for predicate in t["predicates"]:
if args.a:
doc = asciidoc(content=predicate['value'], adoc=doc, t='predicate')
if predicate.get('description'):
doc = asciidoc(content=machineTag(namespace=namespace, predicate=predicate['description']), adoc=doc, t='description')
if predicate.get('exclusive'):
doc = asciidoc(content=machineTag(namespace=namespace, predicate=predicate['exclusive']), adoc=doc, t='exclusive')
doc = asciidoc(content=predicate["value"], adoc=doc, t="predicate")
if predicate.get("description"):
doc = asciidoc(
content=machineTag(
namespace=namespace, predicate=predicate["description"]
),
adoc=doc,
t="description",
)
if predicate.get("exclusive"):
doc = asciidoc(
content=machineTag(
namespace=namespace, predicate=predicate["exclusive"]
),
adoc=doc,
t="exclusive",
)
if t.get('values') is None:
if t.get("values") is None:
if args.a:
doc = asciidoc(content=machineTag(namespace=namespace, predicate=predicate['value']), adoc=doc)
doc = asciidoc(content=machineTag(namespace=namespace, predicate=predicate['expanded']), adoc=doc, t='description')
if predicate.get('description'):
doc = asciidoc(content=machineTag(namespace=namespace, predicate=predicate['description']), adoc=doc, t='description')
if predicate.get('numerical_value'):
doc = asciidoc(content=machineTag(namespace=namespace, predicate=predicate['numerical_value']), adoc=doc, t='description')
if predicate.get('exclusive'):
doc = asciidoc(content=machineTag(namespace=namespace, predicate=predicate['exclusive']), adoc=adoc, t='exclusive')
doc = asciidoc(
content=machineTag(
namespace=namespace, predicate=predicate["value"]
),
adoc=doc,
)
doc = asciidoc(
content=machineTag(
namespace=namespace, predicate=predicate["expanded"]
),
adoc=doc,
t="description",
)
if predicate.get("description"):
doc = asciidoc(
content=machineTag(
namespace=namespace, predicate=predicate["description"]
),
adoc=doc,
t="description",
)
if predicate.get("numerical_value"):
doc = asciidoc(
content=machineTag(
namespace=namespace, predicate=predicate["numerical_value"]
),
adoc=doc,
t="description",
)
if predicate.get("exclusive"):
doc = asciidoc(
content=machineTag(
namespace=namespace, predicate=predicate["exclusive"]
),
adoc=doc,
t="exclusive",
)
else:
print(machineTag(namespace=namespace, predicate=predicate['value']))
print(machineTag(namespace=namespace, predicate=predicate["value"]))
if args.e:
print("--> " + machineTag(namespace=expanded_namespace, predicate=predicate['expanded']))
if predicate.get('description'):
print("--> " + predicate['description'])
print(
"--> "
+ machineTag(
namespace=expanded_namespace, predicate=predicate["expanded"]
)
)
if predicate.get("description"):
print("--> " + predicate["description"])
else:
for e in t['values']:
if e['predicate'] == predicate['value']:
if 'expanded' in predicate:
expanded = predicate['expanded']
for v in e['entry']:
if args.a and 'expanded' in v:
doc = asciidoc(content=machineTag(namespace=namespace, predicate=e['predicate'], value=v['value']), adoc=doc)
doc = asciidoc(content=machineTag(namespace=namespace, predicate=v['expanded']), adoc=doc, t='description')
if 'description' in v:
doc = asciidoc(content=machineTag(namespace=namespace, predicate=v['description']), adoc=doc, t='description')
if v.get('numerical_value'):
doc = asciidoc(content=machineTag(namespace=namespace, predicate=v['numerical_value']), adoc=doc, t='numerical_value')
for e in t["values"]:
if e["predicate"] == predicate["value"]:
if "expanded" in predicate:
expanded = predicate["expanded"]
for v in e["entry"]:
if args.a and "expanded" in v:
doc = asciidoc(
content=machineTag(
namespace=namespace,
predicate=e["predicate"],
value=v["value"],
),
adoc=doc,
)
doc = asciidoc(
content=machineTag(
namespace=namespace, predicate=v["expanded"]
),
adoc=doc,
t="description",
)
if "description" in v:
doc = asciidoc(
content=machineTag(
namespace=namespace, predicate=v["description"]
),
adoc=doc,
t="description",
)
if v.get("numerical_value"):
doc = asciidoc(
content=machineTag(
namespace=namespace,
predicate=v["numerical_value"],
),
adoc=doc,
t="numerical_value",
)
else:
print(machineTag(namespace=namespace, predicate=e['predicate'], value=v['value']))
print(
machineTag(
namespace=namespace,
predicate=e["predicate"],
value=v["value"],
)
)
if args.e:
if'expanded' in v:
print("--> " + machineTag(namespace=namespace, predicate=expanded, value=v['expanded']))
if "expanded" in v:
print(
"--> "
+ machineTag(
namespace=namespace,
predicate=expanded,
value=v["expanded"],
)
)
with open('../mapping/mapping.json') as mapping:
with open("../mapping/mapping.json") as mapping:
m = json.load(mapping)
output = '\n= Mapping of taxonomies\n'
output = '{}{}'.format(output, 'Analysts relying on taxonomies don\'t always know the appropriate namespace to use but know which value to use for classification. The MISP mapping taxonomy allows to map a single classification into a series of machine-tag synonyms.\n')
output = "\n= Mapping of taxonomies\n"
output = "{}{}".format(
output,
"Analysts relying on taxonomies don't always know the appropriate namespace to use but know which value to use for classification. The MISP mapping taxonomy allows to map a single classification into a series of machine-tag synonyms.\n",
)
for value in sorted(m.keys()):
output = '{}{} **{}**{}{}\n'.format(output,'\n.Mapping table - ',value,'\n|===\n|',value)
for mapped in m[value]['values']:
output = '{}|{}\n'.format(output,mapped)
output = '{}|===\n'.format(output)
output = "{}{} **{}**{}{}\n".format(
output, "\n.Mapping table - ", value, "\n|===\n|", value
)
for mapped in m[value]["values"]:
output = "{}|{}\n".format(output, mapped)
output = "{}|===\n".format(output)
doc = doc + output
if args.a: