Merge branch 'main' of github.com:misp/misp-taxonomies

pull/286/head
Christian Studer 2024-10-15 10:13:51 +02:00
commit b32b115472
No known key found for this signature in database
GPG Key ID: 6BBED1B63A6D639F
16 changed files with 763 additions and 143 deletions

View File

@ -121,7 +121,7 @@
{
"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": "Crowdsec IP address classifications and behaviors taxonomy.",
@ -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.",
@ -306,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",
@ -501,7 +501,7 @@
{
"description": "Classification based on different categories. Based on https://www.sans.org/reading-room/whitepapers/incident/malware-101-viruses-32848",
"name": "malware_classification",
"version": 2
"version": 3
},
{
"description": "classification for the identification of type of misinformation among websites. Source:False, Misleading, Clickbait-y, and/or Satirical News Sources by Melissa Zimdars 2019",
@ -511,7 +511,7 @@
{
"description": "MISP taxonomy to infer with MISP behavior or operation.",
"name": "misp",
"version": 12
"version": 14
},
{
"description": "MISP workflow taxonomy to support result of workflow execution.",
@ -594,7 +594,7 @@
"version": 1
},
{
"description": "After an incident is scored, it is assigned a priority level. The six levels listed below are aligned with NCCIC, DHS, and the CISS to help provide a common lexicon when discussing incidents. This priority assignment drives NCCIC urgency, pre-approved incident response offerings, reporting requirements, and recommendations for leadership escalation. Generally, incident priority distribution should follow a similar pattern to the graph below. Based on https://www.us-cert.gov/NCCIC-Cyber-Incident-Scoring-System.",
"description": "After an incident is scored, it is assigned a priority level. The six levels listed below are aligned with NCCIC, DHS, and the CISS to help provide a common lexicon when discussing incidents. This priority assignment drives NCCIC urgency, pre-approved incident response offerings, reporting requirements, and recommendations for leadership escalation. Generally, incident priority distribution should follow a similar pattern to the graph below. Based on https://www.cisa.gov/news-events/news/cisa-national-cyber-incident-scoring-system-nciss.",
"name": "priority-level",
"version": 2
},
@ -748,12 +748,17 @@
"name": "vocabulaire-des-probabilites-estimatives",
"version": 3
},
{
"description": "A taxonomy for describing vulnerabilities (software, hardware, or social) on different scales or with additional available information.",
"name": "vulnerability",
"version": 1
},
{
"description": "Workflow support language is a common language to support intelligence analysts to perform their analysis on data and information.",
"name": "workflow",
"version": 12
"version": 14
}
],
"url": "https://raw.githubusercontent.com/MISP/misp-taxonomies/main/",
"version": "20231122"
"version": "20240830"
}

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) :
@ -595,7 +605,7 @@ A political spectrum is a system to characterize and classify different politica
### priority-level
[priority-level](https://github.com/MISP/misp-taxonomies/tree/main/priority-level) :
After an incident is scored, it is assigned a priority level. The six levels listed below are aligned with NCCIC, DHS, and the CISS to help provide a common lexicon when discussing incidents. This priority assignment drives NCCIC urgency, pre-approved incident response offerings, reporting requirements, and recommendations for leadership escalation. Generally, incident priority distribution should follow a similar pattern to the graph below. Based on https://www.us-cert.gov/NCCIC-Cyber-Incident-Scoring-System. [Overview](https://www.misp-project.org/taxonomies.html#_priority_level)
After an incident is scored, it is assigned a priority level. The six levels listed below are aligned with NCCIC, DHS, and the CISS to help provide a common lexicon when discussing incidents. This priority assignment drives NCCIC urgency, pre-approved incident response offerings, reporting requirements, and recommendations for leadership escalation. Generally, incident priority distribution should follow a similar pattern to the graph below. Based on https://www.cisa.gov/news-events/news/cisa-national-cyber-incident-scoring-system-nciss. [Overview](https://www.misp-project.org/taxonomies.html#_priority_level)
### pyoti
@ -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

@ -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

@ -43,6 +43,10 @@
"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."

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"
}
]
}

View File

@ -451,9 +451,6 @@
{
"value": "fenoterol"
},
{
"value": "formoterol"
},
{
"value": "higenamine"
},
@ -472,12 +469,6 @@
{
"value": "reproterol"
},
{
"value": "salbutamol"
},
{
"value": "salmeterol"
},
{
"value": "terbutaline"
},
@ -488,9 +479,6 @@
{
"value": "tulobuterol"
},
{
"value": "vilanterol"
},
{
"value": "salbutamol",
"expanded": "inhaled salbutamol: maximum 1600 micrograms over 24 hours in divided doses not to exceed 600 micrograms over 8 hours starting from any dose"

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

@ -32,7 +32,7 @@
"exclusive": true
}
],
"version": 7,
"version": 8,
"description": "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.",
"namespace": "infoleak",
"values": [
@ -159,6 +159,10 @@
"value": "onion",
"expanded": "Onion link"
},
{
"value": "qrcode",
"expanded": "QR Code"
},
{
"value": "sql-injection",
"expanded": "SQL injection"
@ -288,6 +292,10 @@
"value": "onion",
"expanded": "Onion link"
},
{
"value": "qrcode",
"expanded": "QR Code"
},
{
"value": "sql-injection",
"expanded": "SQL injection"

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,10 +52,18 @@
"value": "Adware",
"expanded": "Adware"
},
{
"value": "Stalkerware",
"expanded": "Stalkerware"
},
{
"value": "Spyware",
"expanded": "Spyware"
},
{
"value": "Zombieware",
"expanded": "Zombieware"
},
{
"value": "Botnet",
"expanded": "Botnet"

View File

@ -158,27 +158,32 @@
"predicate": "event-type",
"entry": [
{
"expanded": "observation",
"description": "This event describes traits and indicators closely related to a single entity, like an email campaign or sighting of a reference sample on VirusTotal. Events of this type are typically created by SOC staff and may be verified by analysts. Observed and verified indicators would be consumed by automated filtering systems in order to support near-time threat prevention. In retrospect, observations could be correlated with reports and analysis events in order to help understand the motivation for an attack and to reassess the associated risk.",
"expanded": "observation related to single entity, like an email",
"value": "observation"
},
{
"expanded": "incident",
"description": "This event describes traits and indicators related to a security incident. As such, the event may refer to multiple entities like organizations, bank account numbers, files, and URLs. Events of this type contain first-hand information, that is, the reporting organization took part in the analysis of the incident. Use event type \"Report\" for second-hand information. Events of this type are typically created and consumed by analysts.",
"expanded": "incident, based on first-hand information",
"value": "incident"
},
{
"expanded": "report",
"description": "Traceability of indicators can be essential to document compliance of processes with legal obligations or company regulations. This event preserves a report to document the origin and context of indicators. Events of this type need to be checked by a human to ensure correct reproduction of indicators and context. Intended consumers are automated processes. Events may also serve as a basis for analysis reports or to justify preventive measures. If your organization is or was directly involved in an incident and you want to provide a first-hand account, then please use event type \"Incident\" instead.",
"expanded": "report, based on second-hand information",
"value": "report"
},
{
"expanded": "collection",
"description": "This event collects unrelated IoCs. For example, an event could combine all network IoCs that were learned of during a day or a week from events of other types.",
"expanded": "collection of unrelated IoCs",
"value": "collection"
},
{
"expanded": "analysis",
"description": "This event builds on \"observation\", \"incident\", and \"report\" events; adds enrichments; and provides context. Events of this type will be created by analysts with support by automated tools. Analysts are also the main consumers.",
"expanded": "analysis, contains context and enrichments",
"value": "analysis"
},
{
"expanded": "automatic-analysis",
"expanded": "the result of automated analysis.",
"value": "automatic-analysis"
}
]
@ -261,7 +266,7 @@
"value": "ids"
}
],
"version": 12,
"version": 14,
"description": "MISP taxonomy to infer with MISP behavior or operation.",
"expanded": "MISP",
"namespace": "misp"

View File

@ -51,7 +51,7 @@
}
],
"version": 2,
"description": "After an incident is scored, it is assigned a priority level. The six levels listed below are aligned with NCCIC, DHS, and the CISS to help provide a common lexicon when discussing incidents. This priority assignment drives NCCIC urgency, pre-approved incident response offerings, reporting requirements, and recommendations for leadership escalation. Generally, incident priority distribution should follow a similar pattern to the graph below. Based on https://www.us-cert.gov/NCCIC-Cyber-Incident-Scoring-System.",
"description": "After an incident is scored, it is assigned a priority level. The six levels listed below are aligned with NCCIC, DHS, and the CISS to help provide a common lexicon when discussing incidents. This priority assignment drives NCCIC urgency, pre-approved incident response offerings, reporting requirements, and recommendations for leadership escalation. Generally, incident priority distribution should follow a similar pattern to the graph below. Based on https://www.cisa.gov/news-events/news/cisa-national-cyber-incident-scoring-system-nciss.",
"namespace": "priority-level",
"exclusive": true
}

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
@ -1079,7 +1352,7 @@
- ideology
- left-right-spectrum
### priority-level
- description: After an incident is scored, it is assigned a priority level. The six levels listed below are aligned with NCCIC, DHS, and the CISS to help provide a common lexicon when discussing incidents. This priority assignment drives NCCIC urgency, pre-approved incident response offerings, reporting requirements, and recommendations for leadership escalation. Generally, incident priority distribution should follow a similar pattern to the graph below. Based on https://www.us-cert.gov/NCCIC-Cyber-Incident-Scoring-System.
- description: After an incident is scored, it is assigned a priority level. The six levels listed below are aligned with NCCIC, DHS, and the CISS to help provide a common lexicon when discussing incidents. This priority assignment drives NCCIC urgency, pre-approved incident response offerings, reporting requirements, and recommendations for leadership escalation. Generally, incident priority distribution should follow a similar pattern to the graph below. Based on https://www.cisa.gov/news-events/news/cisa-national-cyber-incident-scoring-system-nciss.
- version: 2
- Predicates
- emergency
@ -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

@ -1,7 +1,7 @@
python3 machinetag.py -a >a.txt
asciidoctor a.txt
asciidoctor-pdf -a allow-uri-read a.txt
cp a.html ../../misp-website-new/static/taxonomies.html
cp a.pdf ../../misp-website-new/static/taxonomies.pdf
cp a.html ../../misp-website/static/taxonomies.html
cp a.pdf ../../misp-website/static/taxonomies.pdf
scp a.html circl@cpab.circl.lu:/var/www/nwww.circl.lu/doc/misp-taxonomies/index.html
scp a.pdf circl@cpab.circl.lu://var/www/nwww.circl.lu/doc/misp-taxonomies/taxonomies.pdf

View File

@ -32,25 +32,35 @@ import argparse
import os
import sys
skip_list = ['death-possibilities', 'poison-taxonomy', 'doping-substances']
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:

View File

@ -0,0 +1,66 @@
{
"namespace": "vulnerability",
"expanded": "vulnerability",
"description": "A taxonomy for describing vulnerabilities (software, hardware, or social) on different scales or with additional available information.",
"version": 1,
"predicates": [
{
"value": "exploitability",
"expanded": "Exploitability",
"description": "Quantification of attack exploitability, providing a level of exploitation for the identified vulnerability.",
"exclusive": true
},
{
"value": "information",
"expanded": "Information",
"description": "Complementary information related to the vulnerability."
}
],
"values": [
{
"predicate": "exploitability",
"entry": [
{
"value": "industrialised",
"expanded": "Industrialised",
"description": "Existing vulnerability with detailed attack methods; multiple tools are available for exploitation."
},
{
"value": "customised",
"expanded": "Customised",
"description": "Existing vulnerability with a detailed attack approach and one known custom tool available for exploitation."
},
{
"value": "documented",
"expanded": "Documented",
"description": "Existing vulnerability is documented with an attack approach, but tools for exploitation are not available."
},
{
"value": "theoretical",
"expanded": "Theoretical",
"description": "Publication describes a theoretical but no actual vulnerability is reported."
}
]
},
{
"predicate": "information",
"entry": [
{
"value": "PoC",
"expanded": "Proof-of-Concept",
"description": "Reference to a proof-of-concept for exploiting the vulnerability."
},
{
"value": "remediation",
"expanded": "Remediation",
"description": "Remediation to limit or block the exploitability of the vulnerability."
},
{
"value": "annotation",
"expanded": "Annotation",
"description": "Annotation or clarification to a vulnerability."
}
]
}
]
}

View File

@ -2,7 +2,7 @@
"namespace": "workflow",
"expanded": "workflow to support analysis",
"description": "Workflow support language is a common language to support intelligence analysts to perform their analysis on data and information.",
"version": 12,
"version": 14,
"predicates": [
{
"value": "todo",
@ -106,7 +106,23 @@
},
{
"value": "preserve-evidence",
"expanded": "Preseve evidence mentioned in the information tagged"
"expanded": "Preserve evidence mentioned in the information tagged"
},
{
"value": "review-relevance",
"expanded": "Review if the event is relevant"
},
{
"value": "review-completeness",
"expanded": "Review if the event is complete"
},
{
"value": "review-accuracy",
"expanded": "Review the accuracy of an event or attribute"
},
{
"value": "review-quality",
"expanded": "Review the quality of an event or attribute"
}
]
},