|
|
|
|
|
|
|
|
|
|
|
|
|
|
Network Working Group A. Dulaunoy |
|
|
Internet-Draft A. Iklody |
|
|
Intended status: Informational CIRCL |
|
|
Expires: April 24, 2021 October 21, 2020 |
|
|
|
|
|
|
|
|
MISP core format |
|
|
draft-dulaunoy-misp-core-format |
|
|
|
|
|
Abstract |
|
|
|
|
|
This document describes the MISP core format used to exchange |
|
|
indicators and threat information between MISP (Open Source Threat |
|
|
Intelligence Sharing Platform formerly known as Malware Information |
|
|
Sharing Platform) instances. The JSON format includes the overall |
|
|
structure along with the semantic associated for each respective key. |
|
|
The format is described to support other implementations which reuse |
|
|
the format and ensuring an interoperability with existing MISP |
|
|
[MISP-P] software and other Threat Intelligence Platforms. |
|
|
|
|
|
Status of This Memo |
|
|
|
|
|
This Internet-Draft is submitted in full conformance with the |
|
|
provisions of BCP 78 and BCP 79. |
|
|
|
|
|
Internet-Drafts are working documents of the Internet Engineering |
|
|
Task Force (IETF). Note that other groups may also distribute |
|
|
working documents as Internet-Drafts. The list of current Internet- |
|
|
Drafts is at https://datatracker.ietf.org/drafts/current/. |
|
|
|
|
|
Internet-Drafts are draft documents valid for a maximum of six months |
|
|
and may be updated, replaced, or obsoleted by other documents at any |
|
|
time. It is inappropriate to use Internet-Drafts as reference |
|
|
material or to cite them other than as "work in progress." |
|
|
|
|
|
This Internet-Draft will expire on April 24, 2021. |
|
|
|
|
|
Copyright Notice |
|
|
|
|
|
Copyright (c) 2020 IETF Trust and the persons identified as the |
|
|
document authors. All rights reserved. |
|
|
|
|
|
This document is subject to BCP 78 and the IETF Trust's Legal |
|
|
Provisions Relating to IETF Documents |
|
|
(https://trustee.ietf.org/license-info) in effect on the date of |
|
|
publication of this document. Please review these documents |
|
|
carefully, as they describe your rights and restrictions with respect |
|
|
to this document. Code Components extracted from this document must |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 1] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
include Simplified BSD License text as described in Section 4.e of |
|
|
the Trust Legal Provisions and are provided without warranty as |
|
|
described in the Simplified BSD License. |
|
|
|
|
|
Table of Contents |
|
|
|
|
|
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 |
|
|
1.1. Conventions and Terminology . . . . . . . . . . . . . . . 3 |
|
|
2. Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 |
|
|
2.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . 3 |
|
|
2.2. Event . . . . . . . . . . . . . . . . . . . . . . . . . . 3 |
|
|
2.2.1. Event Attributes . . . . . . . . . . . . . . . . . . 4 |
|
|
2.3. Objects . . . . . . . . . . . . . . . . . . . . . . . . . 7 |
|
|
2.3.1. Org . . . . . . . . . . . . . . . . . . . . . . . . . 7 |
|
|
2.3.2. Orgc . . . . . . . . . . . . . . . . . . . . . . . . 8 |
|
|
2.4. Attribute . . . . . . . . . . . . . . . . . . . . . . . . 8 |
|
|
2.4.1. Sample Attribute Object . . . . . . . . . . . . . . . 9 |
|
|
2.4.2. Attribute Attributes . . . . . . . . . . . . . . . . 9 |
|
|
2.5. ShadowAttribute . . . . . . . . . . . . . . . . . . . . . 16 |
|
|
2.5.1. Sample Attribute Object . . . . . . . . . . . . . . . 16 |
|
|
2.5.2. ShadowAttribute Attributes . . . . . . . . . . . . . 16 |
|
|
2.5.3. Org . . . . . . . . . . . . . . . . . . . . . . . . . 22 |
|
|
2.6. Object . . . . . . . . . . . . . . . . . . . . . . . . . 23 |
|
|
2.6.1. Sample Object . . . . . . . . . . . . . . . . . . . . 23 |
|
|
2.6.2. Object Attributes . . . . . . . . . . . . . . . . . . 24 |
|
|
2.7. Object References . . . . . . . . . . . . . . . . . . . . 28 |
|
|
2.7.1. Sample ObjectReference object . . . . . . . . . . . . 28 |
|
|
2.7.2. ObjectReference Attributes . . . . . . . . . . . . . 28 |
|
|
2.8. EventReport . . . . . . . . . . . . . . . . . . . . . . . 30 |
|
|
2.8.1. id . . . . . . . . . . . . . . . . . . . . . . . . . 31 |
|
|
2.8.2. UUID . . . . . . . . . . . . . . . . . . . . . . . . 31 |
|
|
2.8.3. event_id . . . . . . . . . . . . . . . . . . . . . . 31 |
|
|
2.8.4. name . . . . . . . . . . . . . . . . . . . . . . . . 31 |
|
|
2.8.5. content . . . . . . . . . . . . . . . . . . . . . . . 31 |
|
|
2.8.6. distribution . . . . . . . . . . . . . . . . . . . . 32 |
|
|
2.8.7. sharing_group_id . . . . . . . . . . . . . . . . . . 32 |
|
|
2.8.8. timestamp . . . . . . . . . . . . . . . . . . . . . . 32 |
|
|
2.8.9. deleted . . . . . . . . . . . . . . . . . . . . . . . 33 |
|
|
2.9. Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 |
|
|
2.9.1. Sample Tag . . . . . . . . . . . . . . . . . . . . . 33 |
|
|
2.10. Sighting . . . . . . . . . . . . . . . . . . . . . . . . 33 |
|
|
2.10.1. Sample Sighting . . . . . . . . . . . . . . . . . . 34 |
|
|
2.11. Galaxy . . . . . . . . . . . . . . . . . . . . . . . . . 35 |
|
|
2.11.1. Sample Galaxy . . . . . . . . . . . . . . . . . . . 35 |
|
|
3. JSON Schema . . . . . . . . . . . . . . . . . . . . . . . . . 37 |
|
|
4. Manifest . . . . . . . . . . . . . . . . . . . . . . . . . . 51 |
|
|
4.1. Format . . . . . . . . . . . . . . . . . . . . . . . . . 51 |
|
|
4.1.1. Sample Manifest . . . . . . . . . . . . . . . . . . . 52 |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 2] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
5. Implementation . . . . . . . . . . . . . . . . . . . . . . . 53 |
|
|
6. Security Considerations . . . . . . . . . . . . . . . . . . . 53 |
|
|
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 53 |
|
|
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 53 |
|
|
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 53 |
|
|
9.1. Normative References . . . . . . . . . . . . . . . . . . 54 |
|
|
9.2. Informative References . . . . . . . . . . . . . . . . . 54 |
|
|
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 54 |
|
|
|
|
|
1. Introduction |
|
|
|
|
|
Sharing threat information became a fundamental requirements in the |
|
|
Internet, security and intelligence community at large. Threat |
|
|
information can include indicators of compromise, malicious file |
|
|
indicators, financial fraud indicators or even detailed information |
|
|
about a threat actor. MISP [MISP-P] started as an open source |
|
|
project in late 2011 and the MISP format started to be widely used as |
|
|
an exchange format within the community in the past years. The aim |
|
|
of this document is to describe the specification and the MISP core |
|
|
format. |
|
|
|
|
|
1.1. Conventions and Terminology |
|
|
|
|
|
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", |
|
|
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this |
|
|
document are to be interpreted as described in RFC 2119 [RFC2119]. |
|
|
|
|
|
2. Format |
|
|
|
|
|
2.1. Overview |
|
|
|
|
|
The MISP core format is in the JSON [RFC8259] format. In MISP, an |
|
|
event is composed of a single JSON object. |
|
|
|
|
|
A capitalized key (like Event, Org) represent a data model and a non- |
|
|
capitalised key is just an attribute. This nomenclature can support |
|
|
an implementation to represent the MISP format in another data |
|
|
structure. |
|
|
|
|
|
2.2. Event |
|
|
|
|
|
An event is a simple meta structure scheme where attributes and meta- |
|
|
data are embedded to compose a coherent set of indicators. An event |
|
|
can be composed from an incident, a security analysis report or a |
|
|
specific threat actor analysis. The meaning of an event only depends |
|
|
of the information embedded in the event. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 3] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
2.2.1. Event Attributes |
|
|
|
|
|
2.2.1.1. uuid |
|
|
|
|
|
uuid represents the Universally Unique IDentifier (UUID) [RFC4122] of |
|
|
the event. The uuid MUST be preserved for any updates or transfer of |
|
|
the same event. UUID version 4 is RECOMMENDED when assigning it to a |
|
|
new event. |
|
|
|
|
|
uuid is represented as a JSON string. uuid MUST be present. |
|
|
|
|
|
2.2.1.2. id |
|
|
|
|
|
id represents the human-readable identifier associated to the event |
|
|
for a specific MISP instance. A human-readable identifier MUST be |
|
|
represented as an unsigned integer. |
|
|
|
|
|
id is represented as a JSON string. id SHALL be present. |
|
|
|
|
|
2.2.1.3. published |
|
|
|
|
|
published represents the event publication state. If the event was |
|
|
published, the published value MUST be true. In any other |
|
|
publication state, the published value MUST be false. |
|
|
|
|
|
published is represented as a JSON boolean. published MUST be |
|
|
present. |
|
|
|
|
|
2.2.1.4. info |
|
|
|
|
|
info represents the information field of the event. info is a free- |
|
|
text value to provide a human-readable summary of the event. info |
|
|
SHOULD NOT be bigger than 256 characters and SHOULD NOT include new- |
|
|
lines. |
|
|
|
|
|
info is represented as a JSON string. info MUST be present. |
|
|
|
|
|
2.2.1.5. threat_level_id |
|
|
|
|
|
threat_level_id represents the threat level. |
|
|
|
|
|
4: |
|
|
Undefined |
|
|
|
|
|
3: |
|
|
Low |
|
|
|
|
|
2: |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 4] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
Medium |
|
|
|
|
|
1: |
|
|
High |
|
|
|
|
|
If a higher granularity is required, a MISP taxonomy applied as a Tag |
|
|
SHOULD be preferred. |
|
|
|
|
|
threat_level_id is represented as a JSON string. threat_level_id |
|
|
SHALL be present. |
|
|
|
|
|
2.2.1.6. analysis |
|
|
|
|
|
analysis represents the analysis level. |
|
|
|
|
|
0: |
|
|
Initial |
|
|
|
|
|
1: |
|
|
Ongoing |
|
|
|
|
|
2: |
|
|
Complete |
|
|
|
|
|
If a higher granularity is required, a MISP taxonomy applied as a Tag |
|
|
SHOULD be preferred. |
|
|
|
|
|
analysis is represented as a JSON string. analysis SHALL be present. |
|
|
|
|
|
2.2.1.7. date |
|
|
|
|
|
date represents a reference date to the event in ISO 8601 format |
|
|
(date only: YYYY-MM-DD). This date corresponds to the date the event |
|
|
occurred, which may be in the past. |
|
|
|
|
|
date is represented as a JSON string. date MUST be present. |
|
|
|
|
|
2.2.1.8. timestamp |
|
|
|
|
|
timestamp represents a reference time when the event, or one of the |
|
|
attributes within the event was created, or last updated/edited on |
|
|
the instance. timestamp is expressed in seconds (decimal) since 1st |
|
|
of January 1970 (Unix timestamp). The time zone MUST be UTC. |
|
|
|
|
|
timestamp is represented as a JSON string. timestamp MUST be present. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 5] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
2.2.1.9. publish_timestamp |
|
|
|
|
|
publish_timestamp represents a reference time when the event was |
|
|
published on the instance. published_timestamp is expressed in |
|
|
seconds (decimal) since 1st of January 1970 (Unix timestamp). At |
|
|
each publication of an event, publish_timestamp MUST be updated. The |
|
|
time zone MUST be UTC. If the published_timestamp is present and the |
|
|
published flag is set to false, the publish_timestamp represents the |
|
|
previous publication timestamp. If the event was never published, |
|
|
the published_timestamp MUST be set to 0. |
|
|
|
|
|
publish_timestamp is represented as a JSON string. publish_timestamp |
|
|
MUST be present. |
|
|
|
|
|
2.2.1.10. org_id |
|
|
|
|
|
org_id represents a human-readable identifier referencing an Org |
|
|
object of the organisation which generated the event. A human- |
|
|
readable identifier MUST be represented as an unsigned integer. |
|
|
|
|
|
The org_id MUST be updated when the event is generated by a new |
|
|
instance. |
|
|
|
|
|
org_id is represented as a JSON string. org_id MUST be present. |
|
|
|
|
|
2.2.1.11. orgc_id |
|
|
|
|
|
orgc_id represents a human-readable identifier referencing an Orgc |
|
|
object of the organisation which created the event. |
|
|
|
|
|
The orgc_id and Org object MUST be preserved for any updates or |
|
|
transfer of the same event. |
|
|
|
|
|
orgc_id is represented as a JSON string. orgc_id MUST be present. |
|
|
|
|
|
2.2.1.12. attribute_count |
|
|
|
|
|
attribute_count represents the number of attributes in the event. |
|
|
attribute_count is expressed in decimal. |
|
|
|
|
|
attribute_count is represented as a JSON string. attribute_count |
|
|
SHALL be present. |
|
|
|
|
|
2.2.1.13. distribution |
|
|
|
|
|
distribution represents the basic distribution rules of the event. |
|
|
The system must adhere to the distribution setting for access control |
|
|
and for dissemination of the event. |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 6] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
distribution is represented by a JSON string. distribution MUST be |
|
|
present and be one of the following options: |
|
|
|
|
|
0 |
|
|
Your Organisation Only |
|
|
|
|
|
1 |
|
|
This Community Only |
|
|
|
|
|
2 |
|
|
Connected Communities |
|
|
|
|
|
3 |
|
|
All Communities |
|
|
|
|
|
4 |
|
|
Sharing Group |
|
|
|
|
|
2.2.1.14. sharing_group_id |
|
|
|
|
|
sharing_group_id represents a human-readable identifier referencing a |
|
|
Sharing Group object that defines the distribution of the event, if |
|
|
distribution level "4" is set. A human-readable identifier MUST be |
|
|
represented as an unsigned integer. |
|
|
|
|
|
sharing_group_id is represented by a JSON string and SHOULD be |
|
|
present. If a distribution level other than "4" is chosen the |
|
|
sharing_group_id MUST be set to "0". |
|
|
|
|
|
2.2.1.15. extends_uuid |
|
|
|
|
|
extends_uuid represents which event is extended by this event. The |
|
|
extends_uuid is described as a Universally Unique IDentifier (UUID) |
|
|
[RFC4122] with the UUID of the extended event. |
|
|
|
|
|
extends_uuid is represented as a JSON string. extends_uuid SHOULD be |
|
|
present. |
|
|
|
|
|
2.3. Objects |
|
|
|
|
|
2.3.1. Org |
|
|
|
|
|
An Org object is composed of an uuid, name and id. |
|
|
|
|
|
The uuid represents the Universally Unique IDentifier (UUID) |
|
|
[RFC4122] of the organisation. The organisation UUID is globally |
|
|
assigned to an organisation and SHALL be kept overtime. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 7] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
The name is a readable description of the organisation and SHOULD be |
|
|
present. The id is a human-readable identifier generated by the |
|
|
instance and used as reference in the event. A human-readable |
|
|
identifier MUST be represented as an unsigned integer. |
|
|
|
|
|
uuid, name and id are represented as a JSON string. uuid, name and id |
|
|
MUST be present. |
|
|
|
|
|
2.3.1.1. Sample Org Object |
|
|
|
|
|
"Org": { |
|
|
"id": "2", |
|
|
"name": "CIRCL", |
|
|
"uuid": "55f6ea5e-2c60-40e5-964f-47a8950d210f" |
|
|
} |
|
|
|
|
|
2.3.2. Orgc |
|
|
|
|
|
An Orgc object is composed of an uuid, name and id. |
|
|
|
|
|
The uuid MUST be preserved for any updates or transfer of the same |
|
|
event. UUID version 4 is RECOMMENDED when assigning it to a new |
|
|
event. The organisation UUID is globally assigned to an organisation |
|
|
and SHALL be kept overtime. |
|
|
|
|
|
The name is a readable description of the organisation and SHOULD be |
|
|
present. The id is a human-readable identifier generated by the |
|
|
instance and used as reference in the event. A human-readable |
|
|
identifier MUST be represented as an unsigned integer. |
|
|
|
|
|
uuid, name and id are represented as a JSON string. uuid, name and id |
|
|
MUST be present. |
|
|
|
|
|
2.4. Attribute |
|
|
|
|
|
Attributes are used to describe the indicators and contextual data of |
|
|
an event. The main information contained in an attribute is made up |
|
|
of a category-type-value triplet, where the category and type give |
|
|
meaning and context to the value. Through the various category-type |
|
|
combinations a wide range of information can be conveyed. |
|
|
|
|
|
A MISP document MUST at least includes category-type-value triplet |
|
|
described in section "Attribute Attributes". |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 8] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
2.4.1. Sample Attribute Object |
|
|
|
|
|
"Attribute": { |
|
|
"id": "346056", |
|
|
"type": "comment", |
|
|
"category": "Other", |
|
|
"to_ids": false, |
|
|
"uuid": "57f4f6d9-cd20-458b-84fd-109ec0a83869", |
|
|
"event_id": "3357", |
|
|
"distribution": "5", |
|
|
"timestamp": "1475679332", |
|
|
"comment": "", |
|
|
"sharing_group_id": "0", |
|
|
"deleted": false, |
|
|
"value": "Hello world", |
|
|
"SharingGroup": [], |
|
|
"ShadowAttribute": [], |
|
|
"RelatedAttribute": [], |
|
|
"first_seen": "2019-06-02T22:14:28.711954+00:00", |
|
|
"last_seen": null |
|
|
} |
|
|
|
|
|
2.4.2. Attribute Attributes |
|
|
|
|
|
2.4.2.1. uuid |
|
|
|
|
|
uuid represents the Universally Unique IDentifier (UUID) [RFC4122] of |
|
|
the event. The uuid MUST be preserved for any updates or transfer of |
|
|
the same event. UUID version 4 is RECOMMENDED when assigning it to a |
|
|
new event. |
|
|
|
|
|
uuid is represented as a JSON string. uuid MUST be present. |
|
|
|
|
|
2.4.2.2. id |
|
|
|
|
|
id represents the human-readable identifier associated to the event |
|
|
for a specific MISP instance. A human-readable identifier MUST be |
|
|
represented as an unsigned integer. |
|
|
|
|
|
id is represented as a JSON string. id SHALL be present. |
|
|
|
|
|
2.4.2.3. type |
|
|
|
|
|
type represents the means through which an attribute tries to |
|
|
describe the intent of the attribute creator, using a list of pre- |
|
|
defined attribute types. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 9] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
type is represented as a JSON string. type MUST be present and it |
|
|
MUST be a valid selection for the chosen category. The list of valid |
|
|
category-type combinations is as follows: |
|
|
|
|
|
Antivirus detection |
|
|
link, comment, text, hex, attachment, other, anonymised |
|
|
|
|
|
Artifacts dropped |
|
|
md5, sha1, sha224, sha256, sha384, sha512, sha512/224, sha512/256, |
|
|
sha3-224, sha3-256, sha3-384, sha3-512, ssdeep, imphash, telfhash, |
|
|
impfuzzy, authentihash, vhash, cdhash, filename, filename|md5, |
|
|
filename|sha1, filename|sha224, filename|sha256, filename|sha384, |
|
|
filename|sha512, filename|sha512/224, filename|sha512/256, |
|
|
filename|sha3-224, filename|sha3-256, filename|sha3-384, |
|
|
filename|sha3-512, filename|authentihash, filename|vhash, |
|
|
filename|ssdeep, filename|tlsh, filename|imphash, |
|
|
filename|impfuzzy, filename|pehash, regkey, regkey|value, pattern- |
|
|
in-file, pattern-in-memory, filename-pattern, pdb, stix2-pattern, |
|
|
yara, sigma, attachment, malware-sample, named pipe, mutex, |
|
|
windows-scheduled-task, windows-service-name, windows-service- |
|
|
displayname, comment, text, hex, x509-fingerprint-sha1, x509- |
|
|
fingerprint-md5, x509-fingerprint-sha256, other, cookie, gene, |
|
|
kusto-query, mime-type, anonymised, pgp-public-key, pgp-private- |
|
|
key |
|
|
|
|
|
Attribution |
|
|
threat-actor, campaign-name, campaign-id, whois-registrant-phone, |
|
|
whois-registrant-email, whois-registrant-name, whois-registrant- |
|
|
org, whois-registrar, whois-creation-date, comment, text, x509- |
|
|
fingerprint-sha1, x509-fingerprint-md5, x509-fingerprint-sha256, |
|
|
other, dns-soa-email, anonymised, email |
|
|
|
|
|
External analysis |
|
|
md5, sha1, sha256, sha3-224, sha3-256, sha3-384, sha3-512, |
|
|
filename, filename|md5, filename|sha1, filename|sha256, |
|
|
filename|sha3-224, filename|sha3-256, filename|sha3-384, |
|
|
filename|sha3-512, ip-src, ip-dst, ip-dst|port, ip-src|port, mac- |
|
|
address, mac-eui-64, hostname, domain, domain|ip, url, user-agent, |
|
|
regkey, regkey|value, AS, snort, bro, zeek, pattern-in-file, |
|
|
pattern-in-traffic, pattern-in-memory, filename-pattern, |
|
|
vulnerability, cpe, weakness, attachment, malware-sample, link, |
|
|
comment, text, x509-fingerprint-sha1, x509-fingerprint-md5, x509- |
|
|
fingerprint-sha256, ja3-fingerprint-md5, hassh-md5, hasshserver- |
|
|
md5, github-repository, other, cortex, anonymised, community-id |
|
|
|
|
|
Financial fraud |
|
|
btc, dash, xmr, iban, bic, bank-account-nr, aba-rtn, bin, cc- |
|
|
number, prtn, phone-number, comment, text, other, hex, anonymised |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 10] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
Internal reference |
|
|
text, link, comment, other, hex, anonymised, git-commit-id |
|
|
|
|
|
Network activity |
|
|
ip-src, ip-dst, ip-dst|port, ip-src|port, port, hostname, domain, |
|
|
domain|ip, mac-address, mac-eui-64, email, email-dst, email-src, |
|
|
eppn, url, uri, user-agent, http-method, AS, snort, pattern-in- |
|
|
file, filename-pattern, stix2-pattern, pattern-in-traffic, |
|
|
attachment, comment, text, x509-fingerprint-md5, x509-fingerprint- |
|
|
sha1, x509-fingerprint-sha256, ja3-fingerprint-md5, hassh-md5, |
|
|
hasshserver-md5, other, hex, cookie, hostname|port, bro, zeek, |
|
|
anonymised, community-id, email-subject |
|
|
|
|
|
Other |
|
|
comment, text, other, size-in-bytes, counter, datetime, cpe, port, |
|
|
float, hex, phone-number, boolean, anonymised, pgp-public-key, |
|
|
pgp-private-key |
|
|
|
|
|
Payload delivery |
|
|
md5, sha1, sha224, sha256, sha384, sha512, sha512/224, sha512/256, |
|
|
sha3-224, sha3-256, sha3-384, sha3-512, ssdeep, imphash, telfhash, |
|
|
impfuzzy, authentihash, vhash, pehash, tlsh, cdhash, filename, |
|
|
filename|md5, filename|sha1, filename|sha224, filename|sha256, |
|
|
filename|sha384, filename|sha512, filename|sha512/224, |
|
|
filename|sha512/256, filename|sha3-224, filename|sha3-256, |
|
|
filename|sha3-384, filename|sha3-512, filename|authentihash, |
|
|
filename|vhash, filename|ssdeep, filename|tlsh, filename|imphash, |
|
|
filename|impfuzzy, filename|pehash, mac-address, mac-eui-64, ip- |
|
|
src, ip-dst, ip-dst|port, ip-src|port, hostname, domain, email, |
|
|
email-src, email-dst, email-subject, email-attachment, email-body, |
|
|
url, user-agent, AS, pattern-in-file, pattern-in-traffic, |
|
|
filename-pattern, stix2-pattern, yara, sigma, mime-type, |
|
|
attachment, malware-sample, link, malware-type, comment, text, |
|
|
hex, vulnerability, cpe, weakness, x509-fingerprint-sha1, x509- |
|
|
fingerprint-md5, x509-fingerprint-sha256, ja3-fingerprint-md5, |
|
|
hassh-md5, hasshserver-md5, other, hostname|port, email-dst- |
|
|
display-name, email-src-display-name, email-header, email-reply- |
|
|
to, email-x-mailer, email-mime-boundary, email-thread-index, |
|
|
email-message-id, mobile-application-id, chrome-extension-id, |
|
|
whois-registrant-email, anonymised |
|
|
|
|
|
Payload installation |
|
|
md5, sha1, sha224, sha256, sha384, sha512, sha512/224, sha512/256, |
|
|
sha3-224, sha3-256, sha3-384, sha3-512, ssdeep, imphash, telfhash, |
|
|
impfuzzy, authentihash, vhash, pehash, tlsh, cdhash, filename, |
|
|
filename|md5, filename|sha1, filename|sha224, filename|sha256, |
|
|
filename|sha384, filename|sha512, filename|sha512/224, |
|
|
filename|sha512/256, filename|sha3-224, filename|sha3-256, |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 11] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
filename|sha3-384, filename|sha3-512, filename|authentihash, |
|
|
filename|vhash, filename|ssdeep, filename|tlsh, filename|imphash, |
|
|
filename|impfuzzy, filename|pehash, pattern-in-file, pattern-in- |
|
|
traffic, pattern-in-memory, filename-pattern, stix2-pattern, yara, |
|
|
sigma, vulnerability, cpe, weakness, attachment, malware-sample, |
|
|
malware-type, comment, text, hex, x509-fingerprint-sha1, x509- |
|
|
fingerprint-md5, x509-fingerprint-sha256, mobile-application-id, |
|
|
chrome-extension-id, other, mime-type, anonymised |
|
|
|
|
|
Payload type |
|
|
comment, text, other, anonymised |
|
|
|
|
|
Persistence mechanism |
|
|
filename, regkey, regkey|value, comment, text, other, hex, |
|
|
anonymised |
|
|
|
|
|
Person |
|
|
first-name, middle-name, last-name, date-of-birth, place-of-birth, |
|
|
gender, passport-number, passport-country, passport-expiration, |
|
|
redress-number, nationality, visa-number, issue-date-of-the-visa, |
|
|
primary-residence, country-of-residence, special-service-request, |
|
|
frequent-flyer-number, travel-details, payment-details, place- |
|
|
port-of-original-embarkation, place-port-of-clearance, place-port- |
|
|
of-onward-foreign-destination, passenger-name-record-locator- |
|
|
number, comment, text, other, phone-number, identity-card-number, |
|
|
anonymised, email, pgp-public-key, pgp-private-key |
|
|
|
|
|
Social network |
|
|
github-username, github-repository, github-organisation, jabber- |
|
|
id, twitter-id, email, email-src, email-dst, eppn, comment, text, |
|
|
other, whois-registrant-email, anonymised, pgp-public-key, pgp- |
|
|
private-key |
|
|
|
|
|
Support Tool |
|
|
link, text, attachment, comment, other, hex, anonymised |
|
|
|
|
|
Targeting data |
|
|
target-user, target-email, target-machine, target-org, target- |
|
|
location, target-external, comment, anonymised |
|
|
|
|
|
Attributes are based on the usage within their different communities. |
|
|
Attributes can be extended on a regular basis and this reference |
|
|
document is updated accordingly. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 12] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
2.4.2.4. category |
|
|
|
|
|
category represents the intent of what the attribute is describing as |
|
|
selected by the attribute creator, using a list of pre-defined |
|
|
attribute categories. |
|
|
|
|
|
category is represented as a JSON string. category MUST be present |
|
|
and it MUST be a valid selection for the chosen type. The list of |
|
|
valid category-type combinations is mentioned above. |
|
|
|
|
|
2.4.2.5. to_ids |
|
|
|
|
|
to_ids represents whether the attribute is meant to be actionable. |
|
|
Actionable defined attributes that can be used in automated processes |
|
|
as a pattern for detection in Local or Network Intrusion Detection |
|
|
System, log analysis tools or even filtering mechanisms. |
|
|
|
|
|
to_ids is represented as a JSON boolean. to_ids MUST be present. |
|
|
|
|
|
2.4.2.6. event_id |
|
|
|
|
|
event_id represents a human-readable identifier referencing the Event |
|
|
object that the attribute belongs to. A human-readable identifier |
|
|
MUST be represented as an unsigned integer. |
|
|
|
|
|
The event_id SHOULD be updated when the event is imported to reflect |
|
|
the newly created event's id on the instance. |
|
|
|
|
|
event_id is represented as a JSON string. event_id MUST be present. |
|
|
|
|
|
2.4.2.7. distribution |
|
|
|
|
|
distribution represents the basic distribution rules of the |
|
|
attribute. The system must adhere to the distribution setting for |
|
|
access control and for dissemination of the attribute. |
|
|
|
|
|
distribution is represented by a JSON string. distribution MUST be |
|
|
present and be one of the following options: |
|
|
|
|
|
0 |
|
|
Your Organisation Only |
|
|
|
|
|
1 |
|
|
This Community Only |
|
|
|
|
|
2 |
|
|
Connected Communities |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 13] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
3 |
|
|
All Communities |
|
|
|
|
|
4 |
|
|
Sharing Group |
|
|
|
|
|
5 |
|
|
Inherit Event |
|
|
|
|
|
2.4.2.8. timestamp |
|
|
|
|
|
timestamp represents a reference time when the attribute was created |
|
|
or last modified. timestamp is expressed in seconds (decimal) since |
|
|
1st of January 1970 (Unix timestamp). The time zone MUST be UTC. |
|
|
|
|
|
timestamp is represented as a JSON string. timestamp MUST be present. |
|
|
|
|
|
2.4.2.9. comment |
|
|
|
|
|
comment is a contextual comment field. |
|
|
|
|
|
comment is represented by a JSON string. comment MAY be present. |
|
|
|
|
|
2.4.2.10. sharing_group_id |
|
|
|
|
|
sharing_group_id represents a human-readable identifier referencing a |
|
|
Sharing Group object that defines the distribution of the attribute, |
|
|
if distribution level "4" is set. A human-readable identifier MUST |
|
|
be represented as an unsigned integer. |
|
|
|
|
|
sharing_group_id is represented by a JSON string and SHOULD be |
|
|
present. If a distribution level other than "4" is chosen the |
|
|
sharing_group_id MUST be set to "0". |
|
|
|
|
|
2.4.2.11. deleted |
|
|
|
|
|
deleted represents a setting that allows attributes to be revoked. |
|
|
Revoked attributes are not actionable and exist merely to inform |
|
|
other instances of a revocation. |
|
|
|
|
|
deleted is represented by a JSON boolean. deleted MUST be present. |
|
|
|
|
|
2.4.2.12. data |
|
|
|
|
|
data contains the base64 encoded contents of an attachment or a |
|
|
malware sample. For malware samples, the sample MUST be encrypted |
|
|
using a password protected zip archive, with the password being |
|
|
"infected". |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 14] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
data is represented by a JSON string in base64 encoding. data MUST be |
|
|
set for attributes of type malware-sample and attachment. |
|
|
|
|
|
2.4.2.13. RelatedAttribute |
|
|
|
|
|
RelatedAttribute is an array of attributes correlating with the |
|
|
current attribute. Each element in the array represents an JSON |
|
|
object which contains an Attribute dictionnary with the external |
|
|
attributes who correlate. Each Attribute MUST include the id, |
|
|
org_id, info and a value. Only the correlations found on the local |
|
|
instance are shown in RelatedAttribute. |
|
|
|
|
|
RelatedAttribute MAY be present. |
|
|
|
|
|
2.4.2.14. ShadowAttribute |
|
|
|
|
|
ShadowAttribute is an array of shadow attributes that serve as |
|
|
proposals by third parties to alter the containing attribute. The |
|
|
structure of a ShadowAttribute is similar to that of an Attribute, |
|
|
which can be accepted or discarded by the event creator. If |
|
|
accepted, the original attribute containing the shadow attribute is |
|
|
removed and the shadow attribute is converted into an attribute. |
|
|
|
|
|
Each shadow attribute that references an attribute MUST contain the |
|
|
containing attribute's ID in the old_id field and the event's ID in |
|
|
the event_id field. |
|
|
|
|
|
2.4.2.15. value |
|
|
|
|
|
value represents the payload of an attribute. The format of the |
|
|
value is dependent on the type of the attribute. |
|
|
|
|
|
value is represented by a JSON string. value MUST be present. |
|
|
|
|
|
2.4.2.16. first_seen |
|
|
|
|
|
first_seen represents a reference time when the attribute was first |
|
|
seen. first_seen is expressed as an ISO 8601 datetime up to the |
|
|
micro-second with time zone support. |
|
|
|
|
|
first_seen is represented as a JSON string. first_seen MAY be |
|
|
present. |
|
|
|
|
|
2.4.2.17. last_seen |
|
|
|
|
|
last_seen represents a reference time when the attribute was last |
|
|
seen. last_seen is expressed as an ISO 8601 datetime up to the micro- |
|
|
second with time zone support. |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 15] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
last_seen is represented as a JSON string. last_seen MAY be present. |
|
|
|
|
|
2.5. ShadowAttribute |
|
|
|
|
|
ShadowAttributes are 3rd party created attributes that either propose |
|
|
to add new information to an event or modify existing information. |
|
|
They are not meant to be actionable until the event creator accepts |
|
|
them - at which point they will be converted into attributes or |
|
|
modify an existing attribute. |
|
|
|
|
|
They are similar in structure to Attributes but additionally carry a |
|
|
reference to the creator of the ShadowAttribute as well as a |
|
|
revocation flag. |
|
|
|
|
|
2.5.1. Sample Attribute Object |
|
|
|
|
|
"ShadowAttribute": { |
|
|
"id": "8", |
|
|
"type": "ip-src", |
|
|
"category": "Network activity", |
|
|
"to_ids": false, |
|
|
"uuid": "57d475f1-da78-4569-89de-1458c0a83869", |
|
|
"event_uuid": "57d475e6-41c4-41ca-b450-145ec0a83869", |
|
|
"event_id": "9", |
|
|
"old_id": "319", |
|
|
"comment": "", |
|
|
"org_id": "1", |
|
|
"proposal_to_delete": false, |
|
|
"value": "5.5.5.5", |
|
|
"deleted": false, |
|
|
"Org": { |
|
|
"id": "1", |
|
|
"name": "MISP", |
|
|
"uuid": "568cce5a-0c80-412b-8fdf-1ffac0a83869" |
|
|
}, |
|
|
"first_seen": "2019-06-02T22:14:28.711954+00:00", |
|
|
"last_seen": null |
|
|
} |
|
|
|
|
|
2.5.2. ShadowAttribute Attributes |
|
|
|
|
|
2.5.2.1. uuid |
|
|
|
|
|
uuid represents the Universally Unique IDentifier (UUID) [RFC4122] of |
|
|
the event. The uuid MUST be preserved for any updates or transfer of |
|
|
the same event. UUID version 4 is RECOMMENDED when assigning it to a |
|
|
new event. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 16] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
uuid is represented as a JSON string. uuid MUST be present. |
|
|
|
|
|
2.5.2.2. id |
|
|
|
|
|
id represents the human-readable identifier associated to the event |
|
|
for a specific MISP instance. human-readable identifier MUST be |
|
|
represented as an unsigned integer. id is represented as a JSON |
|
|
string. id SHALL be present. |
|
|
|
|
|
2.5.2.3. type |
|
|
|
|
|
type represents the means through which an attribute tries to |
|
|
describe the intent of the attribute creator, using a list of pre- |
|
|
defined attribute types. |
|
|
|
|
|
type is represented as a JSON string. type MUST be present and it |
|
|
MUST be a valid selection for the chosen category. The list of valid |
|
|
category-type combinations is as follows: |
|
|
|
|
|
Antivirus detection |
|
|
link, comment, text, hex, attachment, other, anonymised |
|
|
|
|
|
Artifacts dropped |
|
|
md5, sha1, sha224, sha256, sha384, sha512, sha512/224, sha512/256, |
|
|
sha3-224, sha3-256, sha3-384, sha3-512, ssdeep, imphash, telfhash, |
|
|
impfuzzy, authentihash, vhash, cdhash, filename, filename|md5, |
|
|
filename|sha1, filename|sha224, filename|sha256, filename|sha384, |
|
|
filename|sha512, filename|sha512/224, filename|sha512/256, |
|
|
filename|sha3-224, filename|sha3-256, filename|sha3-384, |
|
|
filename|sha3-512, filename|authentihash, filename|vhash, |
|
|
filename|ssdeep, filename|tlsh, filename|imphash, |
|
|
filename|impfuzzy, filename|pehash, regkey, regkey|value, pattern- |
|
|
in-file, pattern-in-memory, filename-pattern, pdb, stix2-pattern, |
|
|
yara, sigma, attachment, malware-sample, named pipe, mutex, |
|
|
windows-scheduled-task, windows-service-name, windows-service- |
|
|
displayname, comment, text, hex, x509-fingerprint-sha1, x509- |
|
|
fingerprint-md5, x509-fingerprint-sha256, other, cookie, gene, |
|
|
kusto-query, mime-type, anonymised, pgp-public-key, pgp-private- |
|
|
key |
|
|
|
|
|
Attribution |
|
|
threat-actor, campaign-name, campaign-id, whois-registrant-phone, |
|
|
whois-registrant-email, whois-registrant-name, whois-registrant- |
|
|
org, whois-registrar, whois-creation-date, comment, text, x509- |
|
|
fingerprint-sha1, x509-fingerprint-md5, x509-fingerprint-sha256, |
|
|
other, dns-soa-email, anonymised, email |
|
|
|
|
|
External analysis |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 17] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
md5, sha1, sha256, sha3-224, sha3-256, sha3-384, sha3-512, |
|
|
filename, filename|md5, filename|sha1, filename|sha256, |
|
|
filename|sha3-224, filename|sha3-256, filename|sha3-384, |
|
|
filename|sha3-512, ip-src, ip-dst, ip-dst|port, ip-src|port, mac- |
|
|
address, mac-eui-64, hostname, domain, domain|ip, url, user-agent, |
|
|
regkey, regkey|value, AS, snort, bro, zeek, pattern-in-file, |
|
|
pattern-in-traffic, pattern-in-memory, filename-pattern, |
|
|
vulnerability, cpe, weakness, attachment, malware-sample, link, |
|
|
comment, text, x509-fingerprint-sha1, x509-fingerprint-md5, x509- |
|
|
fingerprint-sha256, ja3-fingerprint-md5, hassh-md5, hasshserver- |
|
|
md5, github-repository, other, cortex, anonymised, community-id |
|
|
|
|
|
Financial fraud |
|
|
btc, dash, xmr, iban, bic, bank-account-nr, aba-rtn, bin, cc- |
|
|
number, prtn, phone-number, comment, text, other, hex, anonymised |
|
|
|
|
|
Internal reference |
|
|
text, link, comment, other, hex, anonymised, git-commit-id |
|
|
|
|
|
Network activity |
|
|
ip-src, ip-dst, ip-dst|port, ip-src|port, port, hostname, domain, |
|
|
domain|ip, mac-address, mac-eui-64, email, email-dst, email-src, |
|
|
eppn, url, uri, user-agent, http-method, AS, snort, pattern-in- |
|
|
file, filename-pattern, stix2-pattern, pattern-in-traffic, |
|
|
attachment, comment, text, x509-fingerprint-md5, x509-fingerprint- |
|
|
sha1, x509-fingerprint-sha256, ja3-fingerprint-md5, hassh-md5, |
|
|
hasshserver-md5, other, hex, cookie, hostname|port, bro, zeek, |
|
|
anonymised, community-id, email-subject |
|
|
|
|
|
Other |
|
|
comment, text, other, size-in-bytes, counter, datetime, cpe, port, |
|
|
float, hex, phone-number, boolean, anonymised, pgp-public-key, |
|
|
pgp-private-key |
|
|
|
|
|
Payload delivery |
|
|
md5, sha1, sha224, sha256, sha384, sha512, sha512/224, sha512/256, |
|
|
sha3-224, sha3-256, sha3-384, sha3-512, ssdeep, imphash, telfhash, |
|
|
impfuzzy, authentihash, vhash, pehash, tlsh, cdhash, filename, |
|
|
filename|md5, filename|sha1, filename|sha224, filename|sha256, |
|
|
filename|sha384, filename|sha512, filename|sha512/224, |
|
|
filename|sha512/256, filename|sha3-224, filename|sha3-256, |
|
|
filename|sha3-384, filename|sha3-512, filename|authentihash, |
|
|
filename|vhash, filename|ssdeep, filename|tlsh, filename|imphash, |
|
|
filename|impfuzzy, filename|pehash, mac-address, mac-eui-64, ip- |
|
|
src, ip-dst, ip-dst|port, ip-src|port, hostname, domain, email, |
|
|
email-src, email-dst, email-subject, email-attachment, email-body, |
|
|
url, user-agent, AS, pattern-in-file, pattern-in-traffic, |
|
|
filename-pattern, stix2-pattern, yara, sigma, mime-type, |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 18] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
attachment, malware-sample, link, malware-type, comment, text, |
|
|
hex, vulnerability, cpe, weakness, x509-fingerprint-sha1, x509- |
|
|
fingerprint-md5, x509-fingerprint-sha256, ja3-fingerprint-md5, |
|
|
hassh-md5, hasshserver-md5, other, hostname|port, email-dst- |
|
|
display-name, email-src-display-name, email-header, email-reply- |
|
|
to, email-x-mailer, email-mime-boundary, email-thread-index, |
|
|
email-message-id, mobile-application-id, chrome-extension-id, |
|
|
whois-registrant-email, anonymised |
|
|
|
|
|
Payload installation |
|
|
md5, sha1, sha224, sha256, sha384, sha512, sha512/224, sha512/256, |
|
|
sha3-224, sha3-256, sha3-384, sha3-512, ssdeep, imphash, telfhash, |
|
|
impfuzzy, authentihash, vhash, pehash, tlsh, cdhash, filename, |
|
|
filename|md5, filename|sha1, filename|sha224, filename|sha256, |
|
|
filename|sha384, filename|sha512, filename|sha512/224, |
|
|
filename|sha512/256, filename|sha3-224, filename|sha3-256, |
|
|
filename|sha3-384, filename|sha3-512, filename|authentihash, |
|
|
filename|vhash, filename|ssdeep, filename|tlsh, filename|imphash, |
|
|
filename|impfuzzy, filename|pehash, pattern-in-file, pattern-in- |
|
|
traffic, pattern-in-memory, filename-pattern, stix2-pattern, yara, |
|
|
sigma, vulnerability, cpe, weakness, attachment, malware-sample, |
|
|
malware-type, comment, text, hex, x509-fingerprint-sha1, x509- |
|
|
fingerprint-md5, x509-fingerprint-sha256, mobile-application-id, |
|
|
chrome-extension-id, other, mime-type, anonymised |
|
|
|
|
|
Payload type |
|
|
comment, text, other, anonymised |
|
|
|
|
|
Persistence mechanism |
|
|
filename, regkey, regkey|value, comment, text, other, hex, |
|
|
anonymised |
|
|
|
|
|
Person |
|
|
first-name, middle-name, last-name, date-of-birth, place-of-birth, |
|
|
gender, passport-number, passport-country, passport-expiration, |
|
|
redress-number, nationality, visa-number, issue-date-of-the-visa, |
|
|
primary-residence, country-of-residence, special-service-request, |
|
|
frequent-flyer-number, travel-details, payment-details, place- |
|
|
port-of-original-embarkation, place-port-of-clearance, place-port- |
|
|
of-onward-foreign-destination, passenger-name-record-locator- |
|
|
number, comment, text, other, phone-number, identity-card-number, |
|
|
anonymised, email, pgp-public-key, pgp-private-key |
|
|
|
|
|
Social network |
|
|
github-username, github-repository, github-organisation, jabber- |
|
|
id, twitter-id, email, email-src, email-dst, eppn, comment, text, |
|
|
other, whois-registrant-email, anonymised, pgp-public-key, pgp- |
|
|
private-key |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 19] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
Support Tool |
|
|
link, text, attachment, comment, other, hex, anonymised |
|
|
|
|
|
Targeting data |
|
|
target-user, target-email, target-machine, target-org, target- |
|
|
location, target-external, comment, anonymised |
|
|
|
|
|
Attributes are based on the usage within their different communities. |
|
|
Attributes can be extended on a regular basis and this reference |
|
|
document is updated accordingly. |
|
|
|
|
|
2.5.2.4. category |
|
|
|
|
|
category represents the intent of what the attribute is describing as |
|
|
selected by the attribute creator, using a list of pre-defined |
|
|
attribute categories. |
|
|
|
|
|
category is represented as a JSON string. category MUST be present |
|
|
and it MUST be a valid selection for the chosen type. The list of |
|
|
valid category-type combinations is mentioned above. |
|
|
|
|
|
2.5.2.5. to_ids |
|
|
|
|
|
to_ids represents whether the Attribute to be created if the |
|
|
ShadowAttribute is accepted is meant to be actionable. Actionable |
|
|
defined attributes that can be used in automated processes as a |
|
|
pattern for detection in Local or Network Intrusion Detection System, |
|
|
log analysis tools or even filtering mechanisms. |
|
|
|
|
|
to_ids is represented as a JSON boolean. to_ids MUST be present. |
|
|
|
|
|
2.5.2.6. event_id |
|
|
|
|
|
event_id represents a human-readable identifier referencing the Event |
|
|
object that the ShadowAttribute belongs to. |
|
|
|
|
|
The event_id SHOULD be updated when the event is imported to reflect |
|
|
the newly created event's id on the instance. |
|
|
|
|
|
event_id is represented as a JSON string. event_id MUST be present. |
|
|
|
|
|
2.5.2.7. old_id |
|
|
|
|
|
old_id represents a human-readable identifier referencing the |
|
|
Attribute object that the ShadowAttribute belongs to. A |
|
|
ShadowAttribute can this way target an existing Attribute, implying |
|
|
that it is a proposal to modify an existing Attribute, or |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 20] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
alternatively it can be a proposal to create a new Attribute for the |
|
|
containing Event. |
|
|
|
|
|
The old_id SHOULD be updated when the event is imported to reflect |
|
|
the newly created Attribute's id on the instance. Alternatively, if |
|
|
the ShadowAttribute proposes the creation of a new Attribute, it |
|
|
should be set to 0. |
|
|
|
|
|
old_id is represented as a JSON string. old_id MUST be present. |
|
|
|
|
|
2.5.2.8. timestamp |
|
|
|
|
|
timestamp represents a reference time when the attribute was created |
|
|
or last modified. timestamp is expressed in seconds (decimal) since |
|
|
1st of January 1970 (Unix timestamp). The time zone MUST be UTC. |
|
|
|
|
|
timestamp is represented as a JSON string. timestamp MUST be present. |
|
|
|
|
|
2.5.2.9. comment |
|
|
|
|
|
comment is a contextual comment field. |
|
|
|
|
|
comment is represented by a JSON string. comment MAY be present. |
|
|
|
|
|
2.5.2.10. org_id |
|
|
|
|
|
org_id represents a human-readable identifier referencing the |
|
|
proposal creator's Organisation object. A human-readable identifier |
|
|
MUST be represented as an unsigned integer. |
|
|
|
|
|
Whilst attributes can only be created by the event creator |
|
|
organisation, shadow attributes can be created by third parties. |
|
|
org_id tracks the creator organisation. |
|
|
|
|
|
org_id is represented by a JSON string and MUST be present. |
|
|
|
|
|
2.5.2.11. proposal_to_delete |
|
|
|
|
|
proposal_to_delete is a boolean flag that sets whether the shadow |
|
|
attribute proposes to alter an attribute, or whether it proposes to |
|
|
remove it completely. |
|
|
|
|
|
Accepting a shadow attribute with this flag set will remove the |
|
|
target attribute. |
|
|
|
|
|
proposal_to_delete is a JSON boolean and it MUST be present. If |
|
|
proposal_to_delete is set to true, old_id MUST NOT be 0. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 21] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
2.5.2.12. deleted |
|
|
|
|
|
deleted represents a setting that allows shadow attributes to be |
|
|
revoked. Revoked shadow attributes only serve to inform other |
|
|
instances that the shadow attribute is no longer active. |
|
|
|
|
|
deleted is represented by a JSON boolean. deleted SHOULD be present. |
|
|
|
|
|
2.5.2.13. data |
|
|
|
|
|
data contains the base64 encoded contents of an attachment or a |
|
|
malware sample. For malware samples, the sample MUST be encrypted |
|
|
using a password protected zip archive, with the password being |
|
|
"infected". |
|
|
|
|
|
data is represented by a JSON string in base64 encoding. data MUST be |
|
|
set for shadow attributes of type malware-sample and attachment. |
|
|
|
|
|
2.5.2.14. first_seen |
|
|
|
|
|
first_seen represents a reference time when the attribute was first |
|
|
seen. first_seen as an ISO 8601 datetime up to the micro-second with |
|
|
time zone support. |
|
|
|
|
|
first_seen is represented as a JSON string. first_seen MAY be |
|
|
present. |
|
|
|
|
|
2.5.2.15. last_seen |
|
|
|
|
|
last_seen represents a reference time when the attribute was last |
|
|
seen. last_seen as an ISO 8601 datetime up to the micro-second with |
|
|
time zone support. |
|
|
|
|
|
last_seen is represented as a JSON string. last_seen MAY be present. |
|
|
|
|
|
2.5.3. Org |
|
|
|
|
|
An Org object is composed of an uuid, name and id. |
|
|
|
|
|
The uuid represents the Universally Unique IDentifier (UUID) |
|
|
[RFC4122] of the organization. The organization UUID is globally |
|
|
assigned to an organization and SHALL be kept overtime. |
|
|
|
|
|
The name is a readable description of the organization and SHOULD be |
|
|
present. The id is a human-readable identifier generated by the |
|
|
instance and used as reference in the event. A human-readable |
|
|
identifier MUST be represented as an unsigned integer. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 22] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
uuid, name and id are represented as a JSON string. uuid, name and id |
|
|
MUST be present. |
|
|
|
|
|
2.5.3.1. Sample Org Object |
|
|
|
|
|
"Org": { |
|
|
"id": "2", |
|
|
"name": "CIRCL", |
|
|
"uuid": "55f6ea5e-2c60-40e5-964f-47a8950d210f" |
|
|
} |
|
|
|
|
|
2.5.3.2. value |
|
|
|
|
|
value represents the payload of an attribute. The format of the |
|
|
value is dependent on the type of the attribute. |
|
|
|
|
|
value is represented by a JSON string. value MUST be present. |
|
|
|
|
|
2.6. Object |
|
|
|
|
|
Objects serve as a contextual bond between a list of attributes |
|
|
within an event. Their main purpose is to describe more complex |
|
|
structures than can be described by a single attribute Each object is |
|
|
created using an Object Template and carries the meta-data of the |
|
|
template used for its creation within. Objects belong to a meta- |
|
|
category and are defined by a name. |
|
|
|
|
|
The schema used is described by the template_uuid and |
|
|
template_version fields. |
|
|
|
|
|
A MISP document containing an Object MUST contain a name, a meta- |
|
|
category, a description, a template_uuid and a template_version as |
|
|
described in the "Object Attributes" section. |
|
|
|
|
|
2.6.1. Sample Object |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 23] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"Object": { |
|
|
"id": "588", |
|
|
"name": "file", |
|
|
"meta-category": "file", |
|
|
"description": "File object describing a file with meta-information", |
|
|
"template_uuid": "688c46fb-5edb-40a3-8273-1af7923e2215", |
|
|
"template_version": "3", |
|
|
"event_id": "56", |
|
|
"uuid": "398b0094-0384-4c48-9bf0-22b3dff9c4d3", |
|
|
"timestamp": "1505747965", |
|
|
"distribution": "5", |
|
|
"sharing_group_id": "0", |
|
|
"comment": "", |
|
|
"deleted": false, |
|
|
"ObjectReference": [], |
|
|
"Attribute": [ |
|
|
{ |
|
|
"id": "7822", |
|
|
"type": "filename", |
|
|
"category": "Payload delivery", |
|
|
"to_ids": true, |
|
|
"uuid": "59bfe3fb-bde0-4dfe-b5b1-2b10a07724d1", |
|
|
"event_id": "56", |
|
|
"distribution": "0", |
|
|
"timestamp": "1505747963", |
|
|
"comment": "", |
|
|
"sharing_group_id": "0", |
|
|
"deleted": false, |
|
|
"disable_correlation": false, |
|
|
"object_id": "588", |
|
|
"object_relation": "filename", |
|
|
"value": "StarCraft.exe", |
|
|
"ShadowAttribute": [], |
|
|
"first_seen": null, |
|
|
"last_seen": null |
|
|
}, |
|
|
"first_seen": "2019-06-02T22:14:28.711954+00:00", |
|
|
"last_seen": null |
|
|
] |
|
|
} |
|
|
|
|
|
Figure 1 |
|
|
|
|
|
2.6.2. Object Attributes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 24] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
2.6.2.1. uuid |
|
|
|
|
|
uuid represents the Universally Unique IDentifier (UUID) [RFC4122] of |
|
|
the object. The uuid MUST be preserved for any updates or transfer |
|
|
of the same object. UUID version 4 is RECOMMENDED when assigning it |
|
|
to a new object. |
|
|
|
|
|
2.6.2.2. id |
|
|
|
|
|
id represents the human-readable identifier associated to the object |
|
|
for a specific MISP instance. A human-readable identifier MUST be |
|
|
represented as an unsigned integer. |
|
|
|
|
|
id is represented as a JSON string. id SHALL be present. |
|
|
|
|
|
2.6.2.3. name |
|
|
|
|
|
name represents the human-readable name of the object describing the |
|
|
intent of the object package. |
|
|
|
|
|
name is represented as a JSON string. name MUST be present |
|
|
|
|
|
2.6.2.4. meta-category |
|
|
|
|
|
meta-category represents the sub-category of objects that the given |
|
|
object belongs to. meta-categories are not tied to a fixed list of |
|
|
options but can be created on the fly. |
|
|
|
|
|
meta-category is represented as a JSON string. meta-category MUST be |
|
|
present |
|
|
|
|
|
2.6.2.5. description |
|
|
|
|
|
description is a human-readable description of the given object type, |
|
|
as derived from the template used for creation. |
|
|
|
|
|
description is represented as a JSON string. id SHALL be present. |
|
|
|
|
|
2.6.2.6. template_uuid |
|
|
|
|
|
uuid represents the Universally Unique IDentifier (UUID) [RFC4122] of |
|
|
the template used to create the object. The uuid MUST be preserved |
|
|
to preserve the object's association with the correct template used |
|
|
for creation. UUID version 4 is RECOMMENDED when assigning it to a |
|
|
new object. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 25] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
2.6.2.7. template_version |
|
|
|
|
|
template_version represents a numeric incrementing version of the |
|
|
template used to create the object. It is used to associate the |
|
|
object to the correct version of the template and together with the |
|
|
template_uuid forms an association to the correct template type and |
|
|
version. |
|
|
|
|
|
version is represented as a JSON string. version MUST be present. |
|
|
|
|
|
2.6.2.8. event_id |
|
|
|
|
|
event_id represents the human-readable identifier of the event that |
|
|
the object belongs to on a specific MISP instance. A human-readable |
|
|
identifier MUST be represented as an unsigned integer. |
|
|
|
|
|
event_id is represented as a JSON string. event_id SHALL be present. |
|
|
|
|
|
2.6.2.9. timestamp |
|
|
|
|
|
timestamp represents a reference time when the object was created or |
|
|
last modified. timestamp is expressed in seconds (decimal) since 1st |
|
|
of January 1970 (Unix timestamp). The time zone MUST be UTC. |
|
|
|
|
|
timestamp is represented as a JSON string. timestamp MUST be present. |
|
|
|
|
|
2.6.2.10. distribution |
|
|
|
|
|
distribution represents the basic distribution rules of the object. |
|
|
The system must adhere to the distribution setting for access control |
|
|
and for dissemination of the object. |
|
|
|
|
|
distribution is represented by a JSON string. distribution MUST be |
|
|
present and be one of the following options: |
|
|
|
|
|
0 |
|
|
Your Organisation Only |
|
|
|
|
|
1 |
|
|
This Community Only |
|
|
|
|
|
2 |
|
|
Connected Communities |
|
|
|
|
|
3 |
|
|
All Communities |
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 26] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
Sharing Group |
|
|
|
|
|
2.6.2.11. sharing_group_id |
|
|
|
|
|
sharing_group_id represents a human-readable identifier referencing a |
|
|
Sharing Group object that defines the distribution of the object, if |
|
|
distribution level "4" is set. A human-readable identifier MUST be |
|
|
represented as an unsigned integer. |
|
|
|
|
|
sharing_group_id is represented by a JSON string and SHOULD be |
|
|
present. If a distribution level other than "4" is chosen the |
|
|
sharing_group_id MUST be set to "0". |
|
|
|
|
|
2.6.2.12. comment |
|
|
|
|
|
comment is a contextual comment field. |
|
|
|
|
|
comment is represented by a JSON string. comment MAY be present. |
|
|
|
|
|
2.6.2.13. deleted |
|
|
|
|
|
deleted represents a setting that allows attributes to be revoked. |
|
|
Revoked attributes are not actionable and exist merely to inform |
|
|
other instances of a revocation. |
|
|
|
|
|
deleted is represented by a JSON boolean. deleted MUST be present. |
|
|
|
|
|
2.6.2.14. Attribute |
|
|
|
|
|
Attribute is an array of attributes that describe the object with |
|
|
data. |
|
|
|
|
|
Each attribute in an object MUST contain the parent event's ID in the |
|
|
event_id field and the parent object's ID in the object_id field. |
|
|
|
|
|
2.6.2.15. first_seen |
|
|
|
|
|
first_seen represents a reference time when the object was first |
|
|
seen. first_seen as an ISO 8601 datetime up to the micro-second with |
|
|
time zone support. |
|
|
|
|
|
first_seen is represented as a JSON string. first_seen MAY be |
|
|
present. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 27] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
2.6.2.16. last_seen |
|
|
|
|
|
last_seen represents a reference time when the object was last seen. |
|
|
last_seen as an ISO 8601 datetime up to the micro-second with time |
|
|
zone support. |
|
|
|
|
|
last_seen is represented as a JSON string. last_seen MAY be present. |
|
|
|
|
|
2.7. Object References |
|
|
|
|
|
Object References serve as a logical link between an Object and |
|
|
another referenced Object or Attribute. The relationship is |
|
|
categorised by an enumerated value from a fixed vocabulary. |
|
|
|
|
|
The relationship_type is recommended to be taken from the MISP object |
|
|
relationship list [[MISP-R]] is RECOMMENDED to ensure a coherent |
|
|
naming of the tags |
|
|
|
|
|
All Object References MUST contain an object_uuid, a referenced_uuid |
|
|
and a relationship type. |
|
|
|
|
|
2.7.1. Sample ObjectReference object |
|
|
|
|
|
"ObjectReference": { |
|
|
"id": "195", |
|
|
"uuid": "59c21a2c-c0ac-4083-93b3-363da07724d1", |
|
|
"timestamp": "1505892908", |
|
|
"object_id": "591", |
|
|
"event_id": "113", |
|
|
"referenced_id": "590", |
|
|
"referenced_type": "1", |
|
|
"relationship_type": "derived-from", |
|
|
"comment": "", |
|
|
"deleted": false, |
|
|
"object_uuid": "59c1134d-8a40-4c14-ad94-0f7ba07724d1", |
|
|
"referenced_uuid": "59c1133c-9adc-4d06-a34b-0f7ca07724d1", |
|
|
} |
|
|
|
|
|
2.7.2. ObjectReference Attributes |
|
|
|
|
|
2.7.2.1. uuid |
|
|
|
|
|
uuid represents the Universally Unique IDentifier (UUID) [RFC4122] of |
|
|
the object reference. The uuid MUST be preserved for any updates or |
|
|
transfer of the same object reference. UUID version 4 is RECOMMENDED |
|
|
when assigning it to a new object reference. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 28] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
2.7.2.2. id |
|
|
|
|
|
id represents the human-readable identifier associated to the object |
|
|
reference for a specific MISP instance. |
|
|
|
|
|
id is represented as a JSON string. id SHALL be present. |
|
|
|
|
|
2.7.2.3. timestamp |
|
|
|
|
|
timestamp represents a reference time when the object was created or |
|
|
last modified. timestamp is expressed in seconds (decimal) since 1st |
|
|
of January 1970 (Unix timestamp). The time zone MUST be UTC. |
|
|
|
|
|
timestamp is represented as a JSON string. timestamp MUST be present. |
|
|
|
|
|
2.7.2.4. object_id |
|
|
|
|
|
object_id represents the human-readable identifier of the object that |
|
|
the object reference belongs to on a specific MISP instance. A |
|
|
human-readable identifier MUST be represented as an unsigned integer. |
|
|
|
|
|
event_id is represented as a JSON string. event_id SHALL be present. |
|
|
|
|
|
2.7.2.5. event_id |
|
|
|
|
|
event_id represents the human-readable identifier of the event that |
|
|
the object reference belongs to on a specific MISP instance. A |
|
|
human-readable identifier MUST be represented as an unsigned integer. |
|
|
|
|
|
event_id is represented as a JSON string. event_id SHALL be present. |
|
|
|
|
|
2.7.2.6. referenced_id |
|
|
|
|
|
referenced_id represents the human-readable identifier of the object |
|
|
or attribute that the parent object of the object reference points to |
|
|
on a specific MISP instance. |
|
|
|
|
|
referenced_id is represented as a JSON string. referenced_id MAY be |
|
|
present. |
|
|
|
|
|
2.7.2.7. referenced_type |
|
|
|
|
|
referenced_type represents the numeric value describing what the |
|
|
object reference points to, "0" representing an attribute and "1" |
|
|
representing an object |
|
|
|
|
|
referenced_type is represented as a JSON string. referenced_type MAY |
|
|
be present. |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 29] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
2.7.2.8. relationship_type |
|
|
|
|
|
relationship_type represents the human-readable context of the |
|
|
relationship between an object and another object or attribute as |
|
|
described by the object_reference. |
|
|
|
|
|
referenced_type is represented as a JSON string. relationship_type |
|
|
MUST be present. |
|
|
|
|
|
2.7.2.9. comment |
|
|
|
|
|
comment is a contextual comment field. |
|
|
|
|
|
comment is represented by a JSON string. comment MAY be present. |
|
|
|
|
|
2.7.2.10. deleted |
|
|
|
|
|
deleted represents a setting that allows object references to be |
|
|
revoked. Revoked object references are not actionable and exist |
|
|
merely to inform other instances of a revocation. |
|
|
|
|
|
deleted is represented by a JSON boolean. deleted MUST be present. |
|
|
|
|
|
2.7.2.11. object_uuid |
|
|
|
|
|
object_uuid represents the Universally Unique IDentifier (UUID) |
|
|
[RFC4122] of the object that the given object reference belongs to. |
|
|
The object_uuid MUST be preserved to preserve the object reference's |
|
|
association with the object. |
|
|
|
|
|
2.7.2.12. referenced_uuid |
|
|
|
|
|
referenced_uuid represents the Universally Unique IDentifier (UUID) |
|
|
[RFC4122] of the object or attribute that is being referenced by the |
|
|
object reference. The referenced_uuid MUST be preserved to preserve |
|
|
the object reference's association with the object or attribute. |
|
|
|
|
|
2.8. EventReport |
|
|
|
|
|
EventReport are used to complement an event with one or more report |
|
|
in Markdown format. The EventReport contains unstructured |
|
|
information which can be linked to Attributes, Objects, Tags or |
|
|
Galaxy with an extension to the Markdown marking language. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 30] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
2.8.1. id |
|
|
|
|
|
id represents the human-readable identifier associated to the |
|
|
EventReport for a specific MISP instance. A human-readable |
|
|
identifier MUST be represented as an unsigned integer. |
|
|
|
|
|
id is represented as a JSON string. id SHALL be present. |
|
|
|
|
|
2.8.2. UUID |
|
|
|
|
|
uuid represents the Universally Unique IDentifier (UUID) [RFC4122] of |
|
|
the EventReport. The uuid MUST be preserved for any updates or |
|
|
transfer of the same EventReport. UUID version 4 is RECOMMENDED when |
|
|
assigning it to a new EventReport. |
|
|
|
|
|
uuid is represented as a JSON string. uuid MUST be present. |
|
|
|
|
|
2.8.3. event_id |
|
|
|
|
|
event_id represents the human-readable identifier associating the |
|
|
EventReport to an event on a specific MISP instance. A human- |
|
|
readable identifier MUST be represented as an unsigned integer. |
|
|
|
|
|
event_id is represented as a JSON string. event_id MUST be present. |
|
|
|
|
|
2.8.4. name |
|
|
|
|
|
name represents the information field of the EventReport. name is a |
|
|
free-text value to provide a human-readable summary of the report. |
|
|
name SHOULD NOT be bigger than 256 characters and SHOULD NOT include |
|
|
new-lines. |
|
|
|
|
|
name is represented as a JSON string. name MUST be present. |
|
|
|
|
|
2.8.5. content |
|
|
|
|
|
content includes the raw EventReport in Markdown format with or |
|
|
without the specific MISP Markdown markup extension. |
|
|
|
|
|
The markdown extension for MISP is composed with a symbol as prefix |
|
|
then between square bracket the scope (attribute, object, tag or |
|
|
galaxymatrix) followed by the UUID in parenthesis. |
|
|
|
|
|
content is represented as a JSON string. content MUST be present. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 31] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
2.8.6. distribution |
|
|
|
|
|
distribution represents the basic distribution rules of the |
|
|
EventReport. The system must adhere to the distribution setting for |
|
|
access control and for dissemination of the EventReport. |
|
|
|
|
|
distribution is represented by a JSON string. distribution MUST be |
|
|
present and be one of the following options: |
|
|
|
|
|
0 |
|
|
Your Organisation Only |
|
|
|
|
|
1 |
|
|
This Community Only |
|
|
|
|
|
2 |
|
|
Connected Communities |
|
|
|
|
|
3 |
|
|
All Communities |
|
|
|
|
|
4 |
|
|
Sharing Group |
|
|
|
|
|
5 |
|
|
Inherit Event |
|
|
|
|
|
2.8.7. sharing_group_id |
|
|
|
|
|
sharing_group_id represents the local id to the MISP local instance |
|
|
of the Sharing Group associated for the distribution. |
|
|
|
|
|
sharing_group_id is represented by a JSON string. sharing_group_id |
|
|
MUST be present and set to "0" if not used. |
|
|
|
|
|
2.8.8. timestamp |
|
|
|
|
|
timestamp represents a reference time when the EventReport was |
|
|
created or last modified. timestamp is expressed in seconds (decimal) |
|
|
since 1st of January 1970 (Unix timestamp). The time zone MUST be |
|
|
UTC. |
|
|
|
|
|
timestamp is represented as a JSON string. timestamp MUST be present. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 32] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
2.8.9. deleted |
|
|
|
|
|
deleted represents a setting that allows EventReport to be revoked. |
|
|
Revoked EventReport are not actionable and exist merely to inform |
|
|
other instances of a revocation. |
|
|
|
|
|
deleted is represented by a JSON boolean. deleted MUST be present. |
|
|
|
|
|
2.9. Tag |
|
|
|
|
|
A tag is a simple method to classify an event with a simple string. |
|
|
The tag name can be freely chosen. The tag name can be also chosen |
|
|
from a fixed machine-tag vocabulary called MISP taxonomies[[MISP-T]]. |
|
|
When an event is distributed outside an organisation, the use of MISP |
|
|
taxonomies[[MISP-T]] is RECOMMENDED to ensure a coherent naming of |
|
|
the tags. A tag is represented as a JSON array where each element |
|
|
describes each tag associated. A tag array SHALL be at event level |
|
|
or attribute level. A tag element is described with a name, id, |
|
|
colour and exportable flag. |
|
|
|
|
|
exportable represents a setting if the tag is kept local or |
|
|
exportable to other MISP instances. exportable is represented by a |
|
|
JSON boolean. id is a human-readable identifier that references the |
|
|
tag on the local instance. colour represents an RGB value of the tag. |
|
|
|
|
|
name MUST be present. colour, id and exportable SHALL be present. |
|
|
|
|
|
2.9.1. Sample Tag |
|
|
|
|
|
"Tag": [{ |
|
|
"exportable": true, |
|
|
"colour": "#ffffff", |
|
|
"name": "tlp:white", |
|
|
"id": "2" }] |
|
|
|
|
|
2.10. Sighting |
|
|
|
|
|
A sighting is an ascertainment which describes whether an attribute |
|
|
has been seen under a given set of conditions. The sighting can |
|
|
include the organisation who sighted the attribute or can be |
|
|
anonymised. Sighting is composed of a JSON array in which each |
|
|
element describes one singular instance of a sighting. A sighting |
|
|
element is a JSON object composed of the following values: |
|
|
|
|
|
type MUST be present. type describes the type of a sighting. MISP |
|
|
allows 3 default types: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 33] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
+------------+------------------------------------------------------+ |
|
|
| Sighting | Description | |
|
|
| type | | |
|
|
+------------+------------------------------------------------------+ |
|
|
| 0 | denotes an attribute which has been seen | |
|
|
| 1 | denotes an attribute which has been seen and | |
|
|
| | confirmed as false-positive | |
|
|
| 2 | denotes an attribute which will be expired at the | |
|
|
| | time of the sighting | |
|
|
+------------+------------------------------------------------------+ |
|
|
|
|
|
uuid MUST be present. uuid references the uuid of the sighted |
|
|
attribute. |
|
|
|
|
|
date_sighting MUST be present. date_sighting is expressed in seconds |
|
|
(decimal) elapsed since 1st of January 1970 (Unix timestamp). |
|
|
date_sighting represents when the referenced attribute, designated by |
|
|
its uuid, is sighted. |
|
|
|
|
|
source MAY be present. source is represented as a JSON string and |
|
|
represents the human-readable version of the sighting source, which |
|
|
can be a given piece of software (e.g. SIEM), device or a specific |
|
|
analytical process. |
|
|
|
|
|
id, event_id and attribute_id MAY be present. |
|
|
|
|
|
id represents the human-readable identifier of the sighting reference |
|
|
which belongs to a specific MISP instance. event_id represents the |
|
|
human-readable identifier of the event referenced by the sighting and |
|
|
belongs to a specific MISP instance. attribute_id represents the |
|
|
human-readable identifier of the attribute referenced by the sighting |
|
|
and belongs to a specific MISP instance. |
|
|
|
|
|
org_id MAY be present along the JSON object describing the |
|
|
organisation. If the org_id is not present, the sighting is |
|
|
considered as anonymised. |
|
|
|
|
|
org_id represents the human-readable identifier of the organisation |
|
|
which did the sighting and belongs to a specific MISP instance. |
|
|
|
|
|
A human-readable identifier MUST be represented as an unsigned |
|
|
integer. |
|
|
|
|
|
2.10.1. Sample Sighting |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 34] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"Sighting": [ |
|
|
{ |
|
|
"id": "13599", |
|
|
"attribute_id": "1201615", |
|
|
"event_id": "10164", |
|
|
"org_id": "2", |
|
|
"date_sighting": "1517581400", |
|
|
"uuid": "5a747459-41b4-4826-9b29-42dd950d210f", |
|
|
"source": "M2M-CIRCL", |
|
|
"type": "0", |
|
|
"Organisation": { |
|
|
"id": "2", |
|
|
"uuid": "55f6ea5e-2c60-40e5-964f-47a8950d210f", |
|
|
"name": "CIRCL" |
|
|
} |
|
|
}, |
|
|
{ |
|
|
"id": "13601", |
|
|
"attribute_id": "1201615", |
|
|
"event_id": "10164", |
|
|
"org_id": "2", |
|
|
"date_sighting": "1517581401", |
|
|
"uuid": "5a74745a-a190-4d04-b719-4916950d210f", |
|
|
"source": "M2M-CIRCL", |
|
|
"type": "0", |
|
|
"Organisation": { |
|
|
"id": "2", |
|
|
"uuid": "55f6ea5e-2c60-40e5-964f-47a8950d210f", |
|
|
"name": "CIRCL" |
|
|
} |
|
|
} |
|
|
] |
|
|
|
|
|
2.11. Galaxy |
|
|
|
|
|
A galaxy is a simple method to express a large object called cluster |
|
|
that can be attached to MISP events. A cluster can be composed of |
|
|
one or more elements. Elements are expressed as key-values. |
|
|
|
|
|
2.11.1. Sample Galaxy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 35] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"Galaxy": [ { |
|
|
"id": "18", |
|
|
"uuid": "698774c7-8022-42c4-917f-8d6e4f06ada3", |
|
|
"name": "Threat Actor", |
|
|
"type": "threat-actor", |
|
|
"description": "Threat actors are characteristics of malicious actors |
|
|
(or adversaries) representing a cyber attack threat |
|
|
including presumed intent and historically observed behaviour.", |
|
|
"version": "1", |
|
|
"GalaxyCluster": [ |
|
|
{ |
|
|
"id": "1699", |
|
|
"uuid": "7cdff317-a673-4474-84ec-4f1754947823", |
|
|
"type": "threat-actor", |
|
|
"value": "Anunak", |
|
|
"tag_name": "misp-galaxy:threat-actor=\"Anunak\"", |
|
|
"description": "Groups targeting financial organizations |
|
|
or people with significant financial assets.", |
|
|
"galaxy_id": "18", |
|
|
"source": "MISP Project", |
|
|
"authors": [ |
|
|
"Alexandre Dulaunoy", |
|
|
"Florian Roth", |
|
|
"Thomas Schreck", |
|
|
"Timo Steffens", |
|
|
"Various" |
|
|
], |
|
|
"tag_id": "111", |
|
|
"meta": { |
|
|
"synonyms": [ |
|
|
"Carbanak", |
|
|
"Carbon Spider" |
|
|
], |
|
|
"country": [ |
|
|
"RU" |
|
|
], |
|
|
"motive": [ |
|
|
"Cybercrime" |
|
|
] |
|
|
} |
|
|
} |
|
|
] |
|
|
} |
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 36] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
3. JSON Schema |
|
|
|
|
|
The JSON Schema [JSON-SCHEMA] below defines the structure of the MISP |
|
|
core format as literally described before. The JSON Schema is used |
|
|
to validate MISP events at creation time or parsing. |
|
|
|
|
|
{ |
|
|
"$schema": "http://json-schema.org/draft-04/schema#", |
|
|
"title": "Validator for misp events", |
|
|
"id": "https://github.com/MISP/MISP/blob/2.4/format/2.4/schema.json", |
|
|
"defs": { |
|
|
"org": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
"properties": { |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"name": { |
|
|
"type": "string" |
|
|
}, |
|
|
"uuid": { |
|
|
"type": "string" |
|
|
} |
|
|
}, |
|
|
"required": [ |
|
|
"uuid" |
|
|
] |
|
|
}, |
|
|
"orgc": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
"properties": { |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"name": { |
|
|
"type": "string" |
|
|
}, |
|
|
"uuid": { |
|
|
"type": "string" |
|
|
} |
|
|
}, |
|
|
"required": [ |
|
|
"uuid" |
|
|
] |
|
|
}, |
|
|
"sharing_group": { |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 37] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
"properties": { |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"name": { |
|
|
"type": "string" |
|
|
}, |
|
|
"releasability": { |
|
|
"type": "string" |
|
|
}, |
|
|
"description": { |
|
|
"type": "string" |
|
|
}, |
|
|
"uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"organisation_uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"org_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"sync_user_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"active": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"created": { |
|
|
"type": "string" |
|
|
}, |
|
|
"modified": { |
|
|
"type": "string" |
|
|
}, |
|
|
"local": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"roaming": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"Organisation": { |
|
|
"$ref": "#/defs/org" |
|
|
}, |
|
|
"SharingGroupOrg": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 38] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"items": { |
|
|
"$ref": "#/defs/sharing_group_org" |
|
|
} |
|
|
}, |
|
|
"SharingGroupServer": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"$ref": "#/defs/sharing_group_server" |
|
|
} |
|
|
}, |
|
|
"required": [ |
|
|
"uuid" |
|
|
] |
|
|
}, |
|
|
"required": [ |
|
|
"uuid" |
|
|
] |
|
|
}, |
|
|
"sharing_group_org": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
"properties": { |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"sharing_group_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"org_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"extend": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"Organisation": { |
|
|
"$ref": "#/defs/org" |
|
|
} |
|
|
} |
|
|
}, |
|
|
"sharing_group_server": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
"properties": { |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"sharing_group_id": { |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 39] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"type": "string" |
|
|
}, |
|
|
"server_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"all_orgs": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"Server": { |
|
|
"$ref": "#/defs/server" |
|
|
} |
|
|
} |
|
|
}, |
|
|
"server": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
"properties": { |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"url": { |
|
|
"type": "string" |
|
|
}, |
|
|
"name": { |
|
|
"type": "string" |
|
|
} |
|
|
} |
|
|
}, |
|
|
"object": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
"properties": { |
|
|
"uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"name": { |
|
|
"type": "string" |
|
|
}, |
|
|
"event_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"description": { |
|
|
"type": "string" |
|
|
}, |
|
|
"template_uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"template_version": { |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 40] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"type": "string" |
|
|
}, |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"meta-category": { |
|
|
"type": "string" |
|
|
}, |
|
|
"deleted": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"timestamp": { |
|
|
"type": "string" |
|
|
}, |
|
|
"first_seen": { |
|
|
"type": "string" |
|
|
}, |
|
|
"last_seen": { |
|
|
"type": "string" |
|
|
}, |
|
|
"distribution": { |
|
|
"type": "string" |
|
|
}, |
|
|
"sharing_group_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"comment": { |
|
|
"type": "string" |
|
|
}, |
|
|
"ObjectReference": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"$ref": "#/defs/objectreference" |
|
|
} |
|
|
}, |
|
|
"Attribute": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"$ref": "#/defs/attribute" |
|
|
} |
|
|
} |
|
|
} |
|
|
}, |
|
|
"sighthing": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 41] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"properties": { |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"attribute_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"event_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"source": { |
|
|
"type": "string" |
|
|
}, |
|
|
"type": { |
|
|
"type": "string" |
|
|
}, |
|
|
"org_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"date_sighting": { |
|
|
"type": "string" |
|
|
}, |
|
|
"uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"Organisation": { |
|
|
"$ref": "#/defs/organisation" |
|
|
} |
|
|
} |
|
|
}, |
|
|
"organisation": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
"properties": { |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"name": { |
|
|
"type": "string" |
|
|
} |
|
|
} |
|
|
}, |
|
|
"objectreference": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 42] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"properties": { |
|
|
"deleted": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"object_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"event_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"timestamp": { |
|
|
"type": "string" |
|
|
}, |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"type": { |
|
|
"type": "string" |
|
|
}, |
|
|
"referenced_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"referenced_uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"referenced_type": { |
|
|
"type": "string" |
|
|
}, |
|
|
"relationship_type": { |
|
|
"type": "string" |
|
|
}, |
|
|
"object_uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"comment": { |
|
|
"type": "string" |
|
|
}, |
|
|
"Object": { |
|
|
"$ref": "#/defs/object" |
|
|
} |
|
|
} |
|
|
}, |
|
|
"attribute": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 43] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"properties": { |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"old_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"type": { |
|
|
"type": "string" |
|
|
}, |
|
|
"category": { |
|
|
"type": "string" |
|
|
}, |
|
|
"to_ids": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"event_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"event_uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"proposal_to_delete": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"validationIssue": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"Org": { |
|
|
"$ref": "#/defs/organisation" |
|
|
}, |
|
|
"org_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"distribution": { |
|
|
"type": "string" |
|
|
}, |
|
|
"timestamp": { |
|
|
"type": "string" |
|
|
}, |
|
|
"first_seen": { |
|
|
"type": "string" |
|
|
}, |
|
|
"last_seen": { |
|
|
"type": "string" |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 44] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
}, |
|
|
"comment": { |
|
|
"type": "string" |
|
|
}, |
|
|
"sharing_group_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"deleted": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"disable_correlation": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"value": { |
|
|
"type": "string" |
|
|
}, |
|
|
"data": { |
|
|
"type": "string" |
|
|
}, |
|
|
"object_relation": { |
|
|
"type": ["string", "null"] |
|
|
}, |
|
|
"object_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"SharingGroup": { |
|
|
"$ref": "#/defs/sharing_group" |
|
|
}, |
|
|
"ShadowAttribute": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"$ref": "#/defs/attribute" |
|
|
} |
|
|
}, |
|
|
"Sighting": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"$ref": "#/defs/sighthing" |
|
|
} |
|
|
}, |
|
|
"Galaxy": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"$ref": "#/defs/galaxy" |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 45] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
}, |
|
|
"Tag": { |
|
|
"uniqueItems": true, |
|
|
"type": "array", |
|
|
"items": { |
|
|
"$ref": "#/defs/tag" |
|
|
} |
|
|
} |
|
|
} |
|
|
}, |
|
|
"event": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
"properties": { |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"orgc_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"org_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"date": { |
|
|
"type": "string" |
|
|
}, |
|
|
"extends_uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"threat_level_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"info": { |
|
|
"type": "string" |
|
|
}, |
|
|
"published": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"attribute_count": { |
|
|
"type": "string" |
|
|
}, |
|
|
"analysis": { |
|
|
"type": "string" |
|
|
}, |
|
|
"timestamp": { |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 46] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"type": "string" |
|
|
}, |
|
|
"distribution": { |
|
|
"type": "string" |
|
|
}, |
|
|
"proposal_email_lock": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"locked": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"publish_timestamp": { |
|
|
"type": "string" |
|
|
}, |
|
|
"sharing_group_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"disable_correlation": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"event_creator_email": { |
|
|
"type": "string" |
|
|
}, |
|
|
"Org": { |
|
|
"$ref": "#/defs/org" |
|
|
}, |
|
|
"Orgc": { |
|
|
"$ref": "#/defs/org" |
|
|
}, |
|
|
"SharingGroup": { |
|
|
"$ref": "#/defs/sharing_group" |
|
|
}, |
|
|
"Attribute": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"$ref": "#/defs/attribute" |
|
|
} |
|
|
}, |
|
|
"ShadowAttribute": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"$ref": "#/defs/attribute" |
|
|
} |
|
|
}, |
|
|
"RelatedEvent": { |
|
|
"type": "array", |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 47] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
"properties": { |
|
|
"Event":{ |
|
|
"$ref": "#/defs/event" |
|
|
} |
|
|
} |
|
|
} |
|
|
}, |
|
|
"Galaxy": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"$ref": "#/defs/galaxy" |
|
|
} |
|
|
}, |
|
|
"Object": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"$ref": "#/defs/object" |
|
|
} |
|
|
}, |
|
|
"Tag": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"$ref": "#/defs/tag" |
|
|
} |
|
|
} |
|
|
} |
|
|
}, |
|
|
"tag": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
"properties": { |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"name": { |
|
|
"type": "string" |
|
|
}, |
|
|
"colour": { |
|
|
"type": "string" |
|
|
}, |
|
|
"exportable": { |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 48] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"type": "boolean" |
|
|
}, |
|
|
"hide_tag": { |
|
|
"type": "boolean" |
|
|
}, |
|
|
"user_id": { |
|
|
"type": "string" |
|
|
} |
|
|
} |
|
|
}, |
|
|
"galaxy": { |
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
"properties": { |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"name": { |
|
|
"type": "string" |
|
|
}, |
|
|
"type": { |
|
|
"type": "string" |
|
|
}, |
|
|
"description": { |
|
|
"type": "string" |
|
|
}, |
|
|
"version": { |
|
|
"type": "string" |
|
|
}, |
|
|
"icon": { |
|
|
"type": "string" |
|
|
}, |
|
|
"namespace": { |
|
|
"type": "string" |
|
|
}, |
|
|
"GalaxyCluster": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"$ref": "#/defs/galaxy_cluster" |
|
|
} |
|
|
} |
|
|
} |
|
|
}, |
|
|
"galaxy_cluster": { |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 49] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"type": "object", |
|
|
"additionalProperties": false, |
|
|
"properties": { |
|
|
"id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"uuid": { |
|
|
"type": "string" |
|
|
}, |
|
|
"type": { |
|
|
"type": "string" |
|
|
}, |
|
|
"value": { |
|
|
"type": "string" |
|
|
}, |
|
|
"tag_name": { |
|
|
"type": "string" |
|
|
}, |
|
|
"description": { |
|
|
"type": "string" |
|
|
}, |
|
|
"galaxy_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"version": { |
|
|
"type": "string" |
|
|
}, |
|
|
"source": { |
|
|
"type": "string" |
|
|
}, |
|
|
"authors": { |
|
|
"type": "array", |
|
|
"uniqueItems": true, |
|
|
"items": { |
|
|
"type": "string" |
|
|
} |
|
|
}, |
|
|
"tag_id": { |
|
|
"type": "string" |
|
|
}, |
|
|
"meta": { |
|
|
"type": "object" |
|
|
} |
|
|
} |
|
|
} |
|
|
}, |
|
|
"type": "object", |
|
|
"properties": { |
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 50] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
"Event": { |
|
|
"$ref": "#/defs/event" |
|
|
} |
|
|
}, |
|
|
"required": [ |
|
|
"Event" |
|
|
] |
|
|
} |
|
|
|
|
|
4. Manifest |
|
|
|
|
|
MISP events can be shared over an HTTP repository, a file package or |
|
|
USB key. A manifest file is used to provide an index of MISP events |
|
|
allowing to only fetch the recently updated files without the need to |
|
|
parse each json file. |
|
|
|
|
|
4.1. Format |
|
|
|
|
|
A manifest file is a simple JSON file named manifest.json in a |
|
|
directory where the MISP events are located. Each MISP event is a |
|
|
file located in the same directory with the event uuid as filename |
|
|
with the json extension. |
|
|
|
|
|
The manifest format is a JSON object composed of a dictionary where |
|
|
the field is the uuid of the event. |
|
|
|
|
|
Each uuid is composed of a JSON object with the following fields |
|
|
which came from the original event referenced by the same uuid: |
|
|
|
|
|
o info (MUST) |
|
|
|
|
|
o Orgc object (MUST) |
|
|
|
|
|
o analysis (SHALL) |
|
|
|
|
|
o timestamp (MUST) |
|
|
|
|
|
o date (MUST) |
|
|
|
|
|
o threat_level_id (SHALL) |
|
|
|
|
|
In addition to the fields originating from the event, the following |
|
|
fields can be added: |
|
|
|
|
|
o integrity:sha256 represents the SHA256 value in hexadecimal |
|
|
representation of the associated MISP event file to ensure |
|
|
integrity of the file. (SHOULD) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dulaunoy & Iklody Expires April 24, 2021 [Page 51] |
|
|
|
|
|
Internet-Draft MISP core format October 2020 |
|
|
|
|
|
|
|
|
o integrity:pgp represents a detached PGP signature [RFC4880] of the |
|
|
associated MISP event file to ensure integrity of the file. |
|
|
(SHOULD) |
|
|
|
|
|
If a detached PGP signature is used for each MISP event, a detached |
|
|
PGP signature is a MUST to ensure integrity of the manifest file. A |
|
|
detached PGP signature for a manifest file is a manifest.json.asc |
|
|
file containing the PGP signature. |
|
|
|
|
|
4.1.1. Sample Manifest |
|
|
|
|
|
{ |
|
|
"57c6ac4c-c60c-4f79-a38f-b666950d210f": { |
|
|
"info": "Malspam 2016-08-31 (.wsf in .zip) - campaign: Photo", |
|
|
"Orgc": { |
|
|
"id": "2", |
|
|
"name": "CIRCL", |
|
|
"uuid": "55f6ea5e-2c60-40e5-964f-47a8950d210f" |
|
|
}, |
|
|
"analysis": "0", |
|
|
"Tag": [ |
|
|
{ |
|
|
"colour": "#3d7a00", |
|
|
"name": "circl:incident-classification=\"malware\"" |
|
|
}, |
|
|
{ |
|
|
"colour": "#ffffff", |
|
|
"name": "tlp:white" |
|
|
} |
|
|
], |
|
|
"timestamp": "1472638251", |
|
|
"date": "2016-08-31", |
|
|
"threat_level_id": "3" |
|
|
}, |
|
|
"5720accd-dd28-45f8-80e5-4605950d210f": { |
|
|
"info": "Malspam 2016-04-27 - Locky", |
|
|
"Orgc": { |
|
|
"id": "2", |
|
|
"name": "CIRCL" |
|
|
}, |
|
|
"analysis": "2", |
|
|
"Tag": [ |
|
|
{ |
|
|
"colour": "#ffffff", |
|
|
"name": "tlp:white" |
|
|