rfc8274.original | rfc8274.txt | |||
---|---|---|---|---|
MILE Working Group P. Kampanakis | Internet Engineering Task Force (IETF) P. Kampanakis | |||
Internet-Draft Cisco Systems | Request for Comments: 8274 Cisco Systems | |||
Intended status: Informational M. Suzuki | Category: Informational M. Suzuki | |||
Expires: March 11, 2018 NICT | ISSN: 2070-1721 NICT | |||
September 7, 2017 | November 2017 | |||
Incident Object Description Exchange Format Usage Guidance | Incident Object Description Exchange Format Usage Guidance | |||
draft-ietf-mile-iodef-guidance-11 | ||||
Abstract | Abstract | |||
The Incident Object Description Exchange Format (IODEF) v2 (RFC7970) | The Incident Object Description Exchange Format (IODEF) v2 (RFC 7970) | |||
defines a data representation that provides a framework for sharing | defines a data representation that provides a framework for sharing | |||
information about computer security incidents commonly exchanged by | information about computer security incidents commonly exchanged by | |||
Computer Security Incident Response Teams (CSIRTs) . Since the IODEF | Computer Security Incident Response Teams (CSIRTs). Since the IODEF | |||
model includes a wealth of available options that can be used to | model includes a wealth of available options that can be used to | |||
describe a security incident or issue, it can be challenging for | describe a security incident or issue, it can be challenging for | |||
security practitioners to develop tools that leverage IODEF for | security practitioners to develop tools that leverage IODEF for | |||
incident sharing. This document provides guidelines for IODEF | incident sharing. This document provides guidelines for IODEF | |||
implementers. It addresses how common security indicators can be | implementers. It addresses how common security indicators can be | |||
represented in IODEF and use-cases of how IODEF is being used. This | represented in IODEF and provides use cases of how IODEF is being | |||
document aims to make IODEF's adoption by vendors easier and | used. This document aims to make IODEF's adoption by vendors easier | |||
encourage faster and wider adoption of the model by CSIRTs around the | and to encourage faster and wider adoption of the model by CSIRTs | |||
world. | around the world. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
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 | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Not all documents | |||
approved by the IESG are a candidate for any level of Internet | ||||
Standard; see Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on March 11, 2018. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc8274. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 20 | skipping to change at page 2, line 17 | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Implementation and Use Strategy . . . . . . . . . . . . . . . 3 | 3. Implementation and Use Strategy . . . . . . . . . . . . . . . 3 | |||
3.1. Minimal IODEF document . . . . . . . . . . . . . . . . . 3 | 3.1. Minimal IODEF Document . . . . . . . . . . . . . . . . . 3 | |||
3.2. Information represented . . . . . . . . . . . . . . . . . 4 | 3.2. Information Represented . . . . . . . . . . . . . . . . . 4 | |||
3.3. IODEF Classes . . . . . . . . . . . . . . . . . . . . . . 5 | 3.3. IODEF Classes . . . . . . . . . . . . . . . . . . . . . . 5 | |||
4. IODEF usage considerations . . . . . . . . . . . . . . . . . 6 | 4. IODEF Usage Considerations . . . . . . . . . . . . . . . . . 6 | |||
4.1. External References . . . . . . . . . . . . . . . . . . . 6 | 4.1. External References . . . . . . . . . . . . . . . . . . . 6 | |||
4.2. Extensions . . . . . . . . . . . . . . . . . . . . . . . 6 | 4.2. Extensions . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
4.3. Indicator predicate logic . . . . . . . . . . . . . . . . 7 | 4.3. Indicator Predicate Logic . . . . . . . . . . . . . . . . 7 | |||
4.4. Disclosure level . . . . . . . . . . . . . . . . . . . . 7 | 4.4. Disclosure Level . . . . . . . . . . . . . . . . . . . . 7 | |||
5. IODEF Uses . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 5. IODEF Uses . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
5.1. Implementations . . . . . . . . . . . . . . . . . . . . . 8 | 5.1. Implementations . . . . . . . . . . . . . . . . . . . . . 8 | |||
5.2. Inter-vendor and Service Provider Exercise . . . . . . . 8 | 5.2. Inter-vendor and Service Provider Exercise . . . . . . . 8 | |||
5.3. Use-cases . . . . . . . . . . . . . . . . . . . . . . . . 11 | 5.3. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 12 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 12 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 13 | 8.2. Informative References . . . . . . . . . . . . . . . . . 13 | |||
Appendix A. Indicator predicate logic examples . . . . . . . . . 13 | Appendix A. Indicator Predicate Logic Examples . . . . . . . . . 13 | |||
Appendix B. Inter-vendor and Service Provider Exercise Examples 16 | Appendix B. Inter-vendor and Service Provider Exercise Examples 16 | |||
B.1. Malware Delivery URL . . . . . . . . . . . . . . . . . . 16 | B.1. Malware Delivery URL . . . . . . . . . . . . . . . . . . 16 | |||
B.2. DDoS . . . . . . . . . . . . . . . . . . . . . . . . . . 17 | B.2. DDoS . . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
B.3. Spear-Phishing . . . . . . . . . . . . . . . . . . . . . 20 | B.3. Spear Phishing . . . . . . . . . . . . . . . . . . . . . 20 | |||
B.4. Malware . . . . . . . . . . . . . . . . . . . . . . . . . 24 | B.4. Malware . . . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
B.5. IoT Malware . . . . . . . . . . . . . . . . . . . . . . . 30 | B.5. IoT Malware . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
1. Introduction | 1. Introduction | |||
The Incident Object Description Exchange Format (IODEF) v2 [RFC7970] | The Incident Object Description Exchange Format (IODEF) v2 [RFC7970] | |||
defines a data representation that provides a framework for sharing | defines a data representation that provides a framework for sharing | |||
computer security incident information commonly exchanged by Computer | computer security incident information commonly exchanged by Computer | |||
Security Incident Response Teams (CSIRTs). The IODEF data model | Security Incident Response Teams (CSIRTs). The IODEF data model | |||
consists of multiple classes and data types that are defined in the | consists of multiple classes and data types that are defined in the | |||
IODEF XML schema. | IODEF XML schema. | |||
The IODEF schema was designed to describe all the possible fields | The IODEF schema was designed to describe all the possible fields | |||
needed in a security incident exchange. Thus, IODEF contains a | needed in a security incident exchange. Thus, IODEF contains a | |||
plethora of data constructs which could make it hard for IODEF | plethora of data constructs that could make it hard for IODEF | |||
implementers to decide which are important. Additionally, in the | implementers to decide which are important. Additionally, in the | |||
IODEF schema, there exist multiple fields and classes which do not | IODEF schema, there exist multiple fields and classes that do not | |||
necessarily need to be used in every possible data exchange. | necessarily need to be used in every possible data exchange. | |||
Moreover, some IODEF classes are useful only in rare circumstances. | Moreover, some IODEF classes are useful only in rare circumstances. | |||
This document tries to address these concerns. It also presents how | This document tries to address these concerns. It also presents how | |||
common security indicators can be represented in IODEF. It points | common security indicators can be represented in IODEF, it points out | |||
out the most important IODEF classes for an implementer and describes | the most important IODEF classes for an implementer and describes | |||
other ones that are not as important. Also, it presents some common | other ones that are not as important, and it presents some common | |||
pitfalls for IODEF implementers and how to address them. The end | pitfalls for IODEF implementers and how to address them. The end | |||
goal of this document is to make IODEF's use by vendors easier and | goal of this document is to make IODEF's use by vendors easier and to | |||
encourage wider adoption of the model by CSIRTs around the world. | encourage wider adoption of the model by CSIRTs around the world. | |||
Section 3 discusses the recommended classes and how an IODEF | Section 3 discusses the recommended classes and how an IODEF | |||
implementer should choose the classes to implement. Section 4 | implementer should choose the classes to implement. Section 4 | |||
presents common considerations a practitioner will come across and | presents common considerations a practitioner will come across and | |||
how to address them. Section 5 goes over some common uses of IODEF. | how to address them. Section 5 goes over some common uses of IODEF. | |||
2. Terminology | 2. Terminology | |||
The terminology used in this document follows the one defined in | The terminology used in this document is defined in [RFC7970] and | |||
[RFC7970] and [RFC7203]. | [RFC7203]. | |||
3. Implementation and Use Strategy | 3. Implementation and Use Strategy | |||
It is important for IODEF implementers to distinguish how the IODEF | It is important for IODEF implementers to distinguish how the IODEF | |||
classes will be used in incident information exchanges. It is also | classes will be used in incident information exchanges. It is also | |||
important to understand the most common IODEF classes that describe | important to understand the most common IODEF classes that describe | |||
common security incidents or indicators. This section describes the | common security incidents or indicators. This section describes the | |||
most important classes and factors an IODEF practitioner should take | most important classes and factors an IODEF practitioner should take | |||
into consideration before using IODEF or designing an implementation. | into consideration before using IODEF or designing an implementation. | |||
3.1. Minimal IODEF document | 3.1. Minimal IODEF Document | |||
An IODEF document must include at least an Incident class, an | An IODEF document must include at least an Incident class, an | |||
xml:lang attribute that defines the supported language and the IODEF | xml:lang attribute that defines the supported language, and the IODEF | |||
version attribute. An Incident must contain a purpose attribute and | version attribute. An Incident must contain a purpose attribute and | |||
three mandatory-to-implement elements. These elements are Generation | three mandatory-to-implement elements. These elements are | |||
time class that describes the time of the incident, an IncidentID | GenerationTime class (which describes the time of the incident), an | |||
class and at least one Contact class. The structure of the minimal | IncidentID class, and at least one Contact class. The structure of | |||
IODEF-Document is shown in Figure 1. | the minimal IODEF-Document class is shown in Figure 1. | |||
+---------------+ +--------------+ | +---------------+ +--------------+ | |||
|IODEF-Document | | Incident | | |IODEF-Document | | Incident | | |||
+---------------+ +--------------+ +----------------+ | +---------------+ +--------------+ +--------------+ | |||
|STRING version |<>--{1..*}--| ENUM purpose |<>----------| IncidentID | | |STRING version |<>--{1..*}--| ENUM purpose |<>---------| IncidentID | | |||
|ENUM xml:lang | | | +----------------+ | |ENUM xml:lang | | | +--------------+ | |||
| | | | | STRING name | | | | | | | STRING name | | |||
+---------------+ | | +----------------+ | +---------------+ | | +--------------+ | |||
| | | | | | |||
| |<>----------[ GenerationTime ] | | |<>---------[GenerationTime] | |||
| | | | | | |||
| | +----------------+ | | | +--------------+ | |||
| |<>--{1..*}--[ Contact | | | |<>-{1..*}--[ Contact | | |||
+--------------+ +----------------+ | +--------------+ +--------------+ | |||
| ENUM role | | | ENUM role | | |||
| ENUM type | | | ENUM type | | |||
+----------------+ | +--------------+ | |||
Figure 1: Minimal IODEF-Document class | Figure 1: Minimal IODEF-Document Class | |||
The IncidentID class must contain at least a name attribute. | The IncidentID class must contain at least a name attribute. | |||
In turn, the Contact class requires the type and role attributes, but | In turn, the Contact class requires the type and role attributes, but | |||
no elements are required by the IODEF v2 specification. | no elements are required by the IODEF v2 specification. | |||
Nevertheless, at least one of the elements in the Contact class, such | Nevertheless, at least one of the elements in the Contact class, such | |||
as an Email class, should be implemented so that the IODEF document | as an Email class, should be implemented so that the IODEF document | |||
is useful. | is useful. | |||
Section 7.1 of [RFC7970] presents a minimal IODEF document with only | Section 7.1 of [RFC7970] presents a minimal IODEF document with only | |||
the mandatory classes and attributes. Implementers can also refer to | the mandatory classes and attributes. Implementers can also refer to | |||
Section 7 of [RFC7970] and Appendix B for example IODEF v2 documents. | Section 7 of [RFC7970] and Appendix B of this document for examples | |||
of documents that are IODEF v2. | ||||
3.2. Information represented | 3.2. Information Represented | |||
There is no need for a practitioner to use or implement IODEF classes | There is no need for a practitioner to use or implement IODEF classes | |||
and fields other than the minimal ones (Section 3.1) and the ones | and fields other than the minimal ones (see Section 3.1) and the ones | |||
necessary for her use-cases. The implementer should carefully look | necessary for use cases. The implementer should carefully look into | |||
into the schema and decide which classes to implement (or not). | the schema and decide which classes to implement (or not). | |||
For example, if we have Distributed Denial of Service (DDoS) as a | For example, if we have Distributed Denial of Service (DDoS) as a | |||
potential use-case, then the Flow class and its included information | potential use case, then the Flow class and its included information | |||
are the most important classes to use. The Flow class describes | are the most important classes to use. The Flow class describes | |||
information related to the attacker and victim hosts, which | information related to the attacker and victim hosts, which could | |||
information could help automated filtering or sink-hole operations. | help automated filtering or sinkhole operations. | |||
Another potential use-case is malware command and control (c2). | Another potential use case is malware command and control (C2). | |||
After modern malware infects a device, it usually proceeds to connect | After modern malware infects a device, it usually proceeds to connect | |||
to one or more c2 servers to receive instructions from its master and | to one or more C2 servers to receive instructions from its master and | |||
potentially exfiltrate information. To protect against such | potentially exfiltrate information. To protect against such | |||
activity, it is important to interrupt the c2 communication by | activity, it is important to interrupt the C2 communication by | |||
filtering the activity. IODEF can describe c2 activities using the | filtering the activity. IODEF can describe C2 activities using the | |||
Flow and the ServiceName classes. | Flow and the ServiceName classes. | |||
For use-cases where indicators need to be described, the | For use cases where indicators need to be described, the | |||
IndicatorData class will be implemented instead of the EventData | IndicatorData class will be implemented instead of the EventData | |||
class. | class. | |||
In summary, an implementer should identify her use-cases and find the | In summary, an implementer should identify the use cases and find the | |||
classes that are necessary to support in IODEF v2. Implementing and | classes that are necessary to support in IODEF v2. Implementing and | |||
parsing all IODEF classes can be cumbersome in some occasions and | parsing all IODEF classes can be cumbersome, in some occasions, and | |||
unnecessary. Other external schemata can also be used in IODEF to | unnecessary. Other external schemata can also be used in IODEF to | |||
describe incidents or indicators. External schemata should be parsed | describe incidents or indicators. External schemata should be parsed | |||
accordingly only if the implementer's IODEF use-cases require | accordingly only if the implementer's IODEF use cases require | |||
external schema information. But even when an IODEF implementation | external schema information. But even when an IODEF implementation | |||
cannot parse an external schema, the IODEF report can still be | cannot parse an external schema, the IODEF report can still be | |||
valuable to an incident response team. The information can also be | valuable to an incident response team. The information can also be | |||
useful when shared further with content consumers able to parse this | useful when shared further with content consumers that are able to | |||
information. | parse this information. | |||
IODEF supports multiple language translations of free-form, ML_STRING | IODEF supports multiple language translations of free-form, ML_STRING | |||
text in all classes [RFC7970]. That way, text in Description | text in all classes [RFC7970]. That way, text in Description | |||
elements can be translated to different languages by using a | elements can be translated to different languages by using a | |||
translation identifier in the class. Implementers should be able to | translation identifier in the class. Implementers should be able to | |||
parse iodef:MLStringType classes and extract only the information | parse iodef:MLStringType classes and extract only the information | |||
relevant to languages of interest. | relevant to languages of interest. | |||
3.3. IODEF Classes | 3.3. IODEF Classes | |||
[RFC7970] contains classes that can describe attack Methods, Events, | [RFC7970] contains classes that can describe attack Methods, Events, | |||
Incidents, Indicators, how they were discovered and the Assessment of | Incidents, Indicators, how they were discovered, and the Assessment | |||
the repercussions for the victim. It is important for IODEF users to | of the repercussions for the victim. It is important for IODEF users | |||
know the distinction between these classes in order to decide which | to know the distinction between these classes in order to decide | |||
ones fulfill their use-cases. | which ones fulfill their use cases. | |||
An IndicatorData class depicts a threat indicator or observable that | An IndicatorData class depicts a threat indicator or an observable | |||
could be used to describe a threat that resulted in an attempted | that could be used to describe a threat that resulted in an attempted | |||
attack. For example, we could see an attack happening but it might | attack. An IndicatorData class depicts a threat indicator or | |||
have been prevented and not have resulted in an incident or security | observable that could be used to describe a threat that resulted in | |||
event. On the other hand, an EventData class usually describes a | an attempted attack. For example, we could see an attack happening, | |||
security event and can be considered as a report of something that | but it might have been prevented and not have resulted in an incident | |||
took place. | or security event. On the other hand, an EventData class usually | |||
describes a security event and can be considered a report of | ||||
something that took place. | ||||
Classes like Discovery, Assessment, Method, and RecoveryTime are used | Classes like Discovery, Assessment, Method, and RecoveryTime are used | |||
in conjunction with EventData as they related to the incident report | in conjunction with EventData as they relate to the incident report | |||
described in the EventData. The RelatedActivity class can reference | described in the EventData. The RelatedActivity class can reference | |||
an incident, an indicator or other related threat activity. | an incident, an indicator, or other related threat activity. | |||
While deciding what classes are important for the needed use-cases, | While deciding what classes are important for the needed use cases, | |||
IODEF users should carefully evaluate the necessary classes and how | IODEF users should carefully evaluate the necessary classes and how | |||
these are used in order to avoid unnecessary work. For example, if | these are used in order to avoid unnecessary work. For example, if | |||
we want to only describe indicators in IODEF, the implementation of | we want to only describe indicators in IODEF, the implementation of | |||
Method or Assessment might not be important. | Method or Assessment might not be important. | |||
4. IODEF usage considerations | 4. IODEF Usage Considerations | |||
Implementers need to consider some common, standardized options for | Implementers need to consider some common, standardized options for | |||
their IODEF use strategy. | their IODEF use strategy. | |||
4.1. External References | 4.1. External References | |||
The IODEF format includes the Reference class used for externally | The IODEF format includes the Reference class used for externally | |||
defined information such as a vulnerability, Intrusion Detection | defined information, such as a vulnerability, Intrusion Detection | |||
System (IDS) alert, malware sample, advisory, or attack technique. | System (IDS) alert, malware sample, advisory, or attack technique. | |||
To facilitate the exchange of information, the Reference class was | To facilitate the exchange of information, the Reference class was | |||
extended to the Enumeration Reference Format [RFC7495]. The | extended to the enumeration reference format [RFC7495]. The | |||
Enumeration Reference Format specifies a means to use external | enumeration reference format specifies a means to use external | |||
enumeration specifications (e.g. CVE) that could define an | enumeration specifications (e.g., Common Vulnerabilities and | |||
enumeration format, specific enumeration values, or both. As | Exposures (CVE)) that could define an enumeration format, specific | |||
external enumerations can vary greatly, implementers should only | enumeration values, or both. As external enumerations can vary | |||
support the ones expected to describe their specific use-cases. | greatly, implementers should only support the ones expected to | |||
describe their specific use cases. | ||||
4.2. Extensions | 4.2. Extensions | |||
The IODEF data model ([RFC7970]) is extensible. Many attributes with | The IODEF data model [RFC7970] is extensible. Many attributes with | |||
enumerated values can be extended using the "ext-*" prefix. | enumerated values can be extended using the "ext-*" prefix. | |||
Additional classes can also be defined by using the AdditionalData | Additional classes can also be defined by using the AdditionalData | |||
and RecordItem classes. An extension to the AdditionalData class for | and RecordItem classes. An extension to the AdditionalData class for | |||
reporting Phishing emails is defined in [RFC5901]. Information about | reporting phishing emails is defined in [RFC5901]. Information about | |||
extending IODEF class attributes and enumerated values can be found | extending IODEF class attributes and enumerated values can be found | |||
in Section 5 of [RFC7970]. | in Section 5 of [RFC7970]. | |||
Additionally, IODEF can import existing schemata by using an | Additionally, IODEF can import existing schemata by using an | |||
extension framework defined in [RFC7203]. The framework enables | extension framework defined in [RFC7203]. The framework enables | |||
IODEF users to embed XML data inside an IODEF document using external | IODEF users to embed XML data inside an IODEF document using external | |||
schemata or structures defined by external specifications. Examples | schemata or structures defined by external specifications. Examples | |||
include CVE, CVRF and OVAL. [RFC7203] enhances the IODEF | include CVE, Common Vulnerability Reporting Framework (CVRF), and | |||
capabilities without further extending the data model. | Open Vulnerability and Assessment Language (OVAL). [RFC7203] | |||
enhances the IODEF capabilities without further extending the data | ||||
model. | ||||
IODEF implementers should not use their own IODEF extensions unless | IODEF implementers should not use their own IODEF extensions unless | |||
data cannot be represented using existing standards or importing them | data cannot be represented using existing standards or importing them | |||
in an IODEF document using [RFC7203] is not a suitable option. | in an IODEF document as defined in [RFC7203] is not a suitable | |||
option. | ||||
4.3. Indicator predicate logic | 4.3. Indicator Predicate Logic | |||
An IODEF [RFC7970] document can describe incident reports and | An IODEF document [RFC7970] can describe incident reports and | |||
indicators. The Indicator class can include references to other | indicators. The Indicator class can include references to other | |||
indicators, observables and more classes that contain details about | indicators, observables, and more classes that contain details about | |||
the indicator. When describing security indicators, it is often | the indicator. When describing security indicators, it is often | |||
common to need to group them together in order to form a group of | common to need to group them together in order to form a group of | |||
indicators that constitute a security threat. For example, a botnet | indicators that constitute a security threat. For example, a botnet | |||
might have multiple command and control servers. For that reason, | might have multiple command and control servers. For that reason, | |||
IODEF v2 introduced the IndicatorExpression class that is used to add | IODEF v2 introduced the IndicatorExpression class, which is used to | |||
the indicator predicate logic when grouping more than one indicators | add the indicator predicate logic when grouping more than one | |||
or observables. | indicator or observable. | |||
Implementations must be able to parse and apply the Boolean logic | Implementations must be able to parse and apply the Boolean logic | |||
offered by an IndicatorExpression in order to evaluate the existence | offered by an IndicatorExpression in order to evaluate the existence | |||
of an indicator. As explained in Section 3.29.5 of [RFC7970] the | of an indicator. As explained in Section 3.29.5 of [RFC7970], the | |||
IndicatorExpression element operator defines the operator applied to | IndicatorExpression element operator defines the operator applied to | |||
all the child element of the IndicatorExpression. If no operator is | all the child elements of the IndicatorExpression. If no operator is | |||
defined "and" should be assumed. IndicatorExpressions can also be | defined, "and" should be assumed. IndicatorExpressions can also be | |||
nested together. Child IndicatorExpressions should be treated as | nested together. Child IndicatorExpressions should be treated as | |||
child elements of their parent and they should be evaluated first | child elements of their parent, and they should be evaluated first | |||
before evaluated with the operator of their parent. | before being evaluated with the operator of their parent. | |||
Users can refer to Appendix A for example uses of the | Users can refer to Appendix A for example uses of the | |||
IndicatorExpressions in an IODEF v2. | IndicatorExpressions in an IODEF v2. | |||
4.4. Disclosure level | 4.4. Disclosure Level | |||
Access to information in IODEF documents should be tightly locked | Access to information in IODEF documents should be tightly locked | |||
since the content may be confidential. IODEF has a common attribute, | since the content may be confidential. IODEF has a common attribute, | |||
called "restriction", which indicates the disclosure guideline to | called "restriction", which indicates the disclosure guideline to | |||
which the sender expects the recipient to adhere to for the | which the sender expects the recipient to adhere to for the | |||
information represented in the class and its children. That way, the | information represented in the class and its children. That way, the | |||
sender can express the level of disclosure for each component of an | sender can express the level of disclosure for each component of an | |||
IODEF document. Appropriate external measures could be implemented | IODEF document. Appropriate external measures could be implemented | |||
based on the restriction level. One example is when Real-time Inter- | based on the restriction level. One example is when Real-time Inter- | |||
network Defense (RID) [RFC6545] is used to transfer the IODEF | network Defense (RID) [RFC6545] is used to transfer the IODEF | |||
documents, it can provide policy guidelines for handling IODEF | documents, it can provide policy guidelines for handling IODEF | |||
documents by using the RIDPolicy class. | documents by using the RIDPolicy class. | |||
The enforcement of the disclosure guidelines is out of scope for | The enforcement of the disclosure guidelines is out of scope for | |||
IODEF. The recipient of the IODEF document needs to follow the | IODEF. The recipient of the IODEF document needs to follow the | |||
guidelines, but these guidelines themselves do not provide any | guidelines, but these guidelines themselves do not provide any | |||
enforcement measures. For that purpose, implementers should consider | enforcement measures. For that purpose, implementers should consider | |||
appropriate privacy control measures, technical or operational for | appropriate privacy control measures, technical or operational, for | |||
their implementation. | their implementation. | |||
5. IODEF Uses | 5. IODEF Uses | |||
IODEF is currently used by various organizations in order to | IODEF is currently used by various organizations in order to | |||
represent security incidents and share incident and threat | represent security incidents and share incident and threat | |||
information between security operations organizations. | information between security operations organizations. | |||
5.1. Implementations | 5.1. Implementations | |||
In order to use IODEF, tools like IODEF parsers are necessary. | In order to use IODEF, tools like IODEF parsers are necessary. | |||
[RFC8134] describes a set of IODEF implementations and uses by | [RFC8134] describes a set of IODEF implementations and uses by | |||
various vendors and Computer Emergency Readiness Team (CERT) | various vendors and Computer Emergency Readiness Team (CERT) | |||
organizations. The document does not specify any specific mandatory | organizations. The document does not specify any particular | |||
to implement (MTI) IODEF classes but provides a list of real world | mandatory-to-implement (MTI) IODEF classes but provides a list of | |||
uses. Perl and Python modules (XML::IODEF, Iodef::Pb, iodeflib) are | real-world uses. Perl and Python modules (XML::IODEF, Iodef::Pb, | |||
some examples. Moreover, implementers are encouraged to refer to | iodeflib) are some examples. Moreover, implementers are encouraged | |||
Section 7 of [RFC8134] practical IODEF usage guidelines. | to refer to Section 7 of [RFC8134] for practical IODEF usage | |||
[implementations], on the other hand, includes various vendor | guidelines. [implementations], on the other hand, includes various | |||
incident reporting products that can consume and export in IODEF | vendor incident reporting products that can consume and export in | |||
format. | IODEF format. | |||
5.2. Inter-vendor and Service Provider Exercise | 5.2. Inter-vendor and Service Provider Exercise | |||
As an interoperability exercise, in 2013 a limited number of vendors | As an interoperability exercise, a limited number of vendors | |||
organized and executed threat indicators exchanges in IODEF. The | organized and executed exchanges of threat indicators in IODEF in | |||
transport protocol used was RID. The threat information shared | 2013. The transport protocol used was RID. The threat information | |||
included indicators from DDoS attacks; and Malware incidents and | shared included indicators from DDoS attacks as well as malware | |||
Spear-Phishing that targets specific individuals after harvesting | incidents and spear phishing that targets specific individuals after | |||
information about them. The results served as proof-of-concept (PoC) | harvesting information about them. The results served as proof-of- | |||
about how seemingly competing entities could use IODEF to exchange | concept (PoC) about how seemingly competing entities could use IODEF | |||
sanitized security information. As this was a PoC exercise only | to exchange sanitized security information. As this was a PoC | |||
example information (no real threats) were shared as part of the | exercise, only example information (no real threats) was shared as | |||
exchanges. | part of the exchanges. | |||
____________ ____________ | ____________ ____________ | |||
| Vendor X | | Vendor Y | | | Vendor X | | Vendor Y | | |||
| RID Agent |_______-------------________| RID Agent | | | RID Agent |_______-------------________| RID Agent | | |||
|___________| | Internet | |___________| | |___________| | Internet | |___________| | |||
------------- | ------------- | |||
---- RID Report message ---> | ---- RID Report message ---> | |||
-- carrying IODEF example -> | -- carrying IODEF example -> | |||
--------- over TLS --------> | --------- over TLS --------> | |||
<----- RID Ack message ----- | <----- RID Ack message ----- | |||
<--- in case of failure ---- | <--- in case of failure ---- | |||
Figure 2: PoC peering topology | Figure 2: PoC Peering Topology | |||
Figure 2 shows how RID interactions took place during the PoC. | Figure 2 shows how RID interactions took place during the PoC. | |||
Participating organizations were running RID Agent software on- | Participating organizations were running RID Agent software on | |||
premises. The RID Agents formed peering relationships with other | premises. The RID Agents formed peering relationships with other | |||
participating organizations. When Entity X had a new incident to | participating organizations. When Entity X had a new incident to | |||
exchange it would package it in IODEF and send it to Entity Y over | exchange, it would package it in IODEF and send it to Entity Y over | |||
TLS in a RID Report message. In case there was an issue with the | Transport Layer Security (TLS) in a RID Report message. In case | |||
message, Entity Y would send an RID Acknowledgement message back to | there was an issue with the message, Entity Y would send a RID | |||
Entity X which included an application level message to describe the | Acknowledgement message back to Entity X, which included an | |||
issue. Interoperability between RID agents implementing [RFC6545] | application-level message to describe the issue. Interoperability | |||
and [RFC6546] was also confirmed. | between RID Agents implementing [RFC6545] and [RFC6546] was also | |||
confirmed. | ||||
The first use-case included sharing of Malware Data Related to an | The first use case included sharing of malware data related to an | |||
Incident between CSIRTs. After Entity X detected an incident, she | Incident between CSIRTs. After Entity X detected an incident, Entity | |||
would put data about malware found during the incident in a backend | X would put data about malware found during the incident in a backend | |||
system. Entity X then decided to share the incident information with | system. Entity X then decided to share the incident information with | |||
Entity Y about the malware discovered. This could be a human | Entity Y about the malware discovered. This could be a human | |||
decision or part of an automated process. | decision or part of an automated process. | |||
Below are the steps followed for the malware information exchange | Below are the steps followed for the malware information exchange | |||
that was taking place: | that was taking place: | |||
(1) Entity X has a sharing agreement with Entity Y, and has already | (1) Entity X has a sharing agreement with Entity Y and has already | |||
been configured with the IP address of Entity Y's RID Agent. | been configured with the IP address of Entity Y's RID Agent. | |||
(2) Entity X's RID Agent connects to Entity Y's RID Agent, and | (2) Entity X's RID Agent connects to Entity Y's RID Agent, and | |||
mutual authentication occurs using PKI digital certificates. | mutual authentication occurs using PKI digital certificates. | |||
(3) Entity X pushes out a RID Report message which contains | (3) Entity X pushes out a RID Report message, which contains | |||
information about N pieces of discovered malware. IODEF is used | information about N pieces of discovered malware. IODEF is used | |||
in RID to describe the | in RID to describe the | |||
(a) Hash of malware files | (a) hash of malware files; | |||
(b) registry settings changed by the malware; and | ||||
(b) Registry settings changed by the malware | ||||
(c) C&C Information for the malware | (c) C&C information for the malware. | |||
(4) Entity Y receives RID Report message, sends RID Acknowledgement | (4) Entity Y receives a RID Report message and sends a RID | |||
message | Acknowledgement message. | |||
(5) Entity Y stores the data in a format that makes it possible for | (5) Entity Y stores the data in a format that makes it possible for | |||
the back end to know which source the data came from. | the backend to know which source the data came from. | |||
Another use-case was sharing a DDoS attack as explained in the | Another use case was sharing a DDoS attack as explained in the | |||
following scenario: Entity X, a Critical Infrastructure and Key | following scenario: Entity X, a Critical Infrastructure and Key | |||
Resource (CIKR) company detects that their internet connection is | Resource (CIKR) company, detects that their internet connection is | |||
saturated with an abnormal amount of traffic. Further investigation | saturated with an abnormal amount of traffic. Further investigation | |||
determines that this is an actual DDoS attack. Entity X's CSIT | determines that this is an actual DDoS attack. Entity X's CSIRT | |||
contacts their ISP, Entity Y, and shares information with them about | contacts their ISP, Entity Y, and shares information with them about | |||
the attack traffic characteristics. Entity X's ISP is being | the attack traffic characteristics. Entity X's ISP is being | |||
overwhelmed by the amount of traffic, so it shares attack signatures | overwhelmed by the amount of traffic, so it shares attack signatures | |||
and IP addresses of the most prolific hosts with its adjacent ISPs. | and IP addresses of the most prolific hosts with its adjacent ISPs. | |||
Below are the steps followed for a DDoS information exchange: | Below are the steps followed for a DDoS information exchange: | |||
(1) Entity X has a sharing agreement with Entity Y, and has already | (1) Entity X has a sharing agreement with Entity Y and has already | |||
been configured with the IP address of Entity Y's RID Agent. | been configured with the IP address of Entity Y's RID Agent. | |||
(2) Entity X's RID Agent connects to Entity Y's RID Agent, and | (2) Entity X's RID Agent connects to Entity Y's RID Agent, and | |||
mutual authentication occurs using PKI digital certificates. | mutual authentication occurs using PKI digital certificates. | |||
(3) Entity X pushes out a RID Report message which contains | (3) Entity X pushes out a RID Report message, which contains | |||
information about the DDoS attack. IODEF is used in RID to | information about the DDoS attack. IODEF is used in RID to | |||
describe the | describe the following: | |||
(a) Start and Detect dates and times | (a) Start and Detect dates and times; | |||
(b) IP Addresses of nodes sending DDoS Traffic | (b) IP addresses of nodes sending DDoS traffic; | |||
(c) Sharing and Use Restrictions | (c) sharing and use restrictions; | |||
(d) Traffic characteristics (protocols and ports) | (d) traffic characteristics (protocols and ports); | |||
(e) HTTP User-Agents used | (e) HTTP user agents used; and | |||
(f) IP Addresses of C&C for a botnet | (f) IP addresses of C&C for a botnet. | |||
(4) Entity Y receives RID Report message, sends RID Acknowledgement | (4) Entity Y receives a RID Report message and sends a RID | |||
message | Acknowledgement message. | |||
(5) Entity Y stores the data in a format that makes it possible for | (5) Entity Y stores the data in a format that makes it possible for | |||
the back end to know which source the data came from. | the backend to know which source the data came from. | |||
(6) Entity Y shares information with other ISP Entities it has an | (6) Entity Y shares information with other ISP entities it has an | |||
established relationship with. | established relationship with. | |||
One more use-case was sharing spear-phishing email information as | One more use case was sharing spear-phishing email information as | |||
explained in the following scenario: The board members of several | explained in the following scenario: the board members of several | |||
defense contractors receive a targeted email inviting them to attend | defense contractors receive a targeted email inviting them to attend | |||
a conference in San Francisco. The board members are asked to | a conference in San Francisco. The board members are asked to | |||
provide their personally identifiable information such as their home | provide their personally identifiable information such as their home | |||
address, phone number, corporate email, etc in an attached document | address, phone number, corporate email, etc., in an attached document | |||
which came with the email. The board members are also asked to click | that came with the email. The board members are also asked to click | |||
on a URL which would allow them to reach the sign up page for the | on a URL that would allow them to reach the sign-up page for the | |||
conference. One of the recipients believes the email to be a | conference. One of the recipients believes the email to be a | |||
phishing attempt and forwards the email to their corporate CSIRT for | phishing attempt and forwards the email to their corporate CSIRT for | |||
analysis. The CSIRT identifies the email as an attempted spear | analysis. The CSIRT identifies the email as an attempted spear- | |||
phishing incident and distributes the indicators to their sharing | phishing incident and distributes the indicators to their sharing | |||
partners. | partners. | |||
Below are the steps followed for a spear-phishing information | Below are the steps followed for a spear-phishing information | |||
exchange between CSIRTs that was part of this PoC. | exchange between CSIRTs that were part of this PoC. | |||
(1) Entity X has a sharing agreement with Entity Y, and has already | (1) Entity X has a sharing agreement with Entity Y and has already | |||
been configured with the IP address of Entity Y's RID Agent. | been configured with the IP address of Entity Y's RID Agent. | |||
(2) Entity X's RID Agent connects to Entity Y's RID Agent, and | (2) Entity X's RID Agent connects to Entity Y's RID Agent, and | |||
mutual authentication occurs using PKI digital certificates. | mutual authentication occurs using PKI digital certificates. | |||
(3) Entity X pushes out a RID Report message which contains | (3) Entity X pushes out a RID Report message that contains | |||
information about the spear-phishing email. IODEF is used in | information about the spear-phishing email. IODEF is used in | |||
RID to describe the | RID to describe the following: | |||
(a) Attachment details (file Name, hash, size, malware family | (a) attachment details (file Name, hash, size, malware family); | |||
(b) Target description (IP, domain, NSLookup) | (b) target description (IP, domain, NSLookup); | |||
(c) Email information (From, Subject, header information, date/ | (c) email information (From, Subject, header information, date/ | |||
time, digital signature) | time, digital signature); and | |||
(d) Confidence Score | (d) confidence score. | |||
(4) Entity Y receives RID Report message, sends RID Acknowledgement | (4) Entity Y receives a RID Report message and sends a RID | |||
message | Acknowledgement message. | |||
(5) Entity Y stores the data in a format that makes it possible for | (5) Entity Y stores the data in a format that makes it possible for | |||
the back end to know which source the data came from. | the backend to know which source the data came from. | |||
Appendix B includes some of the incident IODEF example information | Appendix B includes some of the incident IODEF example information | |||
that was exchanged by the organizations' RID Agents as part of this | that was exchanged by the organizations' RID Agents as part of this | |||
proof-of-concept. | PoC. | |||
5.3. Use-cases | 5.3. Use Cases | |||
Other use-cases of IODEF, other than the ones described above, could | Other use cases of IODEF, aside from the ones described above, could | |||
be: | be as follows: | |||
(1) ISP notifying a national CERT or organization when it identifies | (1) ISP notifying a national CERT or organization when it identifies | |||
and acts upon an incident and CERTs notifying ISPs when they are | and acts upon an incident, and CERTs notifying ISPs when they | |||
aware of incidents. | are aware of incidents. | |||
(2) Suspected phishing emails could be shared amongst organizations | (2) Suspected phishing emails could be shared amongst organizations | |||
and national agencies. Automation could validate web content | and national agencies. Automation could validate web content | |||
that the suspicious emails are pointing to. Identified | that the suspicious emails are pointing to. Identified | |||
malicious content linked in a phishing email could then be | malicious content linked in a phishing email could then be | |||
shared using IODEF. Phishing campaigns could thus be subverted | shared using IODEF. Phishing campaigns could thus be subverted | |||
much faster by automating information sharing using IODEF. | much faster by automating information sharing using IODEF. | |||
(3) When finding a certificate that should be revoked, a third-party | (3) When finding a certificate that should be revoked, a third party | |||
would forward an automated IODEF message to the CA with the full | would forward an automated IODEF message to the Certification | |||
context of the certificate and the CA could act accordingly | Authority (CA) with the full context of the certificate, and the | |||
after checking its validity. Alternatively, in the event of a | CA could act accordingly after checking its validity. | |||
compromise of the private key of a certificate, a third-party | Alternatively, in the event of a compromise of the private key | |||
could alert the certificate owner about the compromise using | of a certificate, a third party could alert the certificate | |||
IODEF. | owner about the compromise using IODEF. | |||
6. IANA Considerations | 6. IANA Considerations | |||
This memo does not require any IANA actions. | This memo does not require any IANA actions. | |||
7. Security Considerations | 7. Security Considerations | |||
This document does not incur any new security issues, since it only | This document does not incur any new security issues, because it only | |||
talks about the usage of IODEFv2 defined RFC7970. Nevertheless, | talks about the usage of IODEFv2 defined in RFC 7970. Nevertheless, | |||
readers of this document should refer to the Security Considerations | readers of this document should refer to the Security Considerations | |||
section of [RFC7970]. | section of [RFC7970]. | |||
8. References | 8. References | |||
8.1. Normative References | 8.1. Normative References | |||
[RFC5901] Cain, P. and D. Jevans, "Extensions to the IODEF-Document | [RFC5901] Cain, P. and D. Jevans, "Extensions to the IODEF-Document | |||
Class for Reporting Phishing", RFC 5901, | Class for Reporting Phishing", RFC 5901, | |||
DOI 10.17487/RFC5901, July 2010, | DOI 10.17487/RFC5901, July 2010, | |||
skipping to change at page 13, line 12 | skipping to change at page 13, line 27 | |||
(IODEF)", RFC 7495, DOI 10.17487/RFC7495, March 2015, | (IODEF)", RFC 7495, DOI 10.17487/RFC7495, March 2015, | |||
<https://www.rfc-editor.org/info/rfc7495>. | <https://www.rfc-editor.org/info/rfc7495>. | |||
[RFC7970] Danyliw, R., "The Incident Object Description Exchange | [RFC7970] Danyliw, R., "The Incident Object Description Exchange | |||
Format Version 2", RFC 7970, DOI 10.17487/RFC7970, | Format Version 2", RFC 7970, DOI 10.17487/RFC7970, | |||
November 2016, <https://www.rfc-editor.org/info/rfc7970>. | November 2016, <https://www.rfc-editor.org/info/rfc7970>. | |||
8.2. Informative References | 8.2. Informative References | |||
[implementations] | [implementations] | |||
"Implementations on IODEF", | "Implementations on Incident Object Description Exchange | |||
<http://siis.realmv6.org/implementations/>. | Format", <http://siis.realmv6.org/implementations/>. | |||
[RFC6546] Trammell, B., "Transport of Real-time Inter-network | [RFC6546] Trammell, B., "Transport of Real-time Inter-network | |||
Defense (RID) Messages over HTTP/TLS", RFC 6546, | Defense (RID) Messages over HTTP/TLS", RFC 6546, | |||
DOI 10.17487/RFC6546, April 2012, | DOI 10.17487/RFC6546, April 2012, | |||
<https://www.rfc-editor.org/info/rfc6546>. | <https://www.rfc-editor.org/info/rfc6546>. | |||
[RFC8134] Inacio, C. and D. Miyamoto, "Management Incident | [RFC8134] Inacio, C. and D. Miyamoto, "Management Incident | |||
Lightweight Exchange (MILE) Implementation Report", | Lightweight Exchange (MILE) Implementation Report", | |||
RFC 8134, DOI 10.17487/RFC8134, May 2017, | RFC 8134, DOI 10.17487/RFC8134, May 2017, | |||
<https://www.rfc-editor.org/info/rfc8134>. | <https://www.rfc-editor.org/info/rfc8134>. | |||
Appendix A. Indicator predicate logic examples | Appendix A. Indicator Predicate Logic Examples | |||
In the following example the EventData class evaluates as a Flow of | In the following example, the EventData class evaluates as a Flow of | |||
one System with source address being (192.0.2.104 OR 192.0.2.106) AND | one System with source address 192.0.2.104 OR 192.0.2.106 AND target | |||
target address 198.51.100.1. | address 198.51.100.1. | |||
<!-- ...XML code omitted... --> | <!-- ...XML code omitted... --> | |||
<IndicatorData> | <IndicatorData> | |||
<Indicator> | <Indicator> | |||
<IndicatorID name="csirt.example.com" version="1"> | <IndicatorID name="csirt.example.com" version="1"> | |||
G90823490 | G90823490 | |||
</IndicatorID> | </IndicatorID> | |||
<Description>C2 domains</Description> | <Description>C2 domains</Description> | |||
<IndicatorExpression operator="and"> | <IndicatorExpression operator="and"> | |||
<IndicatorExpression operator="or"> | <IndicatorExpression operator="or"> | |||
skipping to change at page 14, line 50 | skipping to change at page 14, line 50 | |||
</System> | </System> | |||
</Observable> | </Observable> | |||
</IndicatorExpression> | </IndicatorExpression> | |||
</Indicator> | </Indicator> | |||
</IndicatorData> | </IndicatorData> | |||
<!-- ...XML code omitted... --> | <!-- ...XML code omitted... --> | |||
Similarly, the FileData Class can be an observable in an | Similarly, the FileData Class can be an observable in an | |||
IndicatorExpression. The hash values of two files can be used to | IndicatorExpression. The hash values of two files can be used to | |||
match against an indicator using Boolean "or" logic. In the | match against an indicator using Boolean "or" logic. In the | |||
following example the indicator consists of either of the two files | following example, the indicator consists of either of the two files | |||
with two different hashes. | with two different hashes. | |||
<!-- ...XML code omitted... --> | <!-- ...XML code omitted... --> | |||
<IndicatorData> | <IndicatorData> | |||
<Indicator> | <Indicator> | |||
<IndicatorID name="csirt.example.com" version="1"> | <IndicatorID name="csirt.example.com" version="1"> | |||
A4399IWQ | A4399IWQ | |||
</IndicatorID> | </IndicatorID> | |||
<Description>File hash watchlist</Description> | <Description>File hash watchlist</Description> | |||
<IndicatorExpression operator="or"> | <IndicatorExpression operator="or"> | |||
skipping to change at page 16, line 7 | skipping to change at page 16, line 7 | |||
</File> | </File> | |||
</FileData> | </FileData> | |||
</Observable> | </Observable> | |||
</IndicatorExpression> | </IndicatorExpression> | |||
</Indicator> | </Indicator> | |||
</IndicatorData> | </IndicatorData> | |||
<!-- ...XML code omitted... --> | <!-- ...XML code omitted... --> | |||
Appendix B. Inter-vendor and Service Provider Exercise Examples | Appendix B. Inter-vendor and Service Provider Exercise Examples | |||
Below some of the incident IODEF example information that was | Below, some of the incident IODEF example information that was | |||
exchanged by the vendors as part of this proof-of-concept Inter- | exchanged by the vendors as part of this proof-of-concept, inter- | |||
vendor and Service Provider Exercise. | vendor and service provider exercise. | |||
B.1. Malware Delivery URL | B.1. Malware Delivery URL | |||
This example indicates malware and related URL for file delivery. | This example indicates malware and a related URL for file delivery. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<IODEF-Document version="2.00" | <IODEF-Document version="2.00" | |||
xmlns="urn:ietf:params:xml:ns:iodef-2.0" | xmlns="urn:ietf:params:xml:ns:iodef-2.0" | |||
xmlns:iodef="urn:ietf:params:xml:ns:iodef-2.0" | xmlns:iodef="urn:ietf:params:xml:ns:iodef-2.0" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||
<iodef:Incident purpose="reporting"> | <iodef:Incident purpose="reporting"> | |||
<iodef:IncidentID name="csirt.example.com"> | <iodef:IncidentID name="csirt.example.com"> | |||
189801 | 189801 | |||
</iodef:IncidentID> | </iodef:IncidentID> | |||
<iodef:ReportTime>2012-12-05T12:20:00+00:00</iodef:ReportTime> | <iodef:ReportTime>2012-12-05T12:20:00+00:00</iodef:ReportTime> | |||
<iodef:GenerationTime>2012-12-05T12:20:00+00:00</iodef:GenerationTime> | <iodef:GenerationTime>2012-12-05T12:20:00+00:00 | |||
<iodef:Description>Malware and related indicators</iodef:Description> | </iodef:GenerationTime> | |||
<iodef:Assessment occurrence="potential"> | <iodef:Description>Malware and related indicators | |||
<iodef:SystemImpact severity="medium" type="breach-privacy"> | </iodef:Description> | |||
<iodef:Description>Malware with C&C | <iodef:Assessment occurrence="potential"> | |||
</iodef:Description> | <iodef:SystemImpact severity="medium" type="breach-privacy"> | |||
</iodef:SystemImpact> | <iodef:Description>Malware with C&C | |||
</iodef:Assessment> | </iodef:Description> | |||
<iodef:Contact role="creator" type="organization"> | </iodef:SystemImpact> | |||
<iodef:ContactName>example.com CSIRT | </iodef:Assessment> | |||
</iodef:ContactName> | <iodef:Contact role="creator" type="organization"> | |||
<iodef:Email> | <iodef:ContactName>example.com CSIRT | |||
<iodef:EmailTo>contact@csirt.example.com | </iodef:ContactName> | |||
</iodef:EmailTo> | <iodef:Email> | |||
</iodef:Email> | <iodef:EmailTo>contact@csirt.example.com | |||
</iodef:Contact> | </iodef:EmailTo> | |||
<iodef:EventData> | </iodef:Email> | |||
<iodef:Flow> | </iodef:Contact> | |||
<iodef:System category="source"> | <iodef:EventData> | |||
<iodef:Node> | <iodef:Flow> | |||
<iodef:Address category="ipv4-addr">192.0.2.200 | <iodef:System category="source"> | |||
</iodef:Address> | <iodef:Node> | |||
<iodef:Address category="site-uri"> | <iodef:Address category="ipv4-addr">192.0.2.200 | |||
/log-bin/lunch_install.php?aff_id=1&lunch_id=1&maddr=&action=install | </iodef:Address> | |||
</iodef:Address> | <iodef:Address category="site-uri"> | |||
</iodef:Node> | /log-bin/lunch_install.php?aff_id=1&lunch_id=1& | |||
<iodef:NodeRole category="www"/> | maddr=&action=install | |||
</iodef:System> | </iodef:Address> | |||
</iodef:Flow> | </iodef:Node> | |||
</iodef:EventData> | <iodef:NodeRole category="www"/> | |||
</iodef:Incident> | </iodef:System> | |||
</IODEF-Document> | </iodef:Flow> | |||
</iodef:EventData> | ||||
</iodef:Incident> | ||||
</IODEF-Document> | ||||
B.2. DDoS | B.2. DDoS | |||
The DDoS test exchanged information that described a DDoS including | The DDoS test exchanged information that described a DDoS, including | |||
protocols and ports, bad IP addresses and HTTP User-Agent fields. | protocols and ports, bad IP addresses, and HTTP user agent fields. | |||
The IODEF version used for the data representation was based on | The IODEF version used for the data representation was based on | |||
[RFC7970]. | [RFC7970]. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<IODEF-Document version="2.00" | <IODEF-Document version="2.00" | |||
xmlns="urn:ietf:params:xml:ns:iodef-2.0" | xmlns="urn:ietf:params:xml:ns:iodef-2.0" | |||
xmlns:iodef="urn:ietf:params:xml:ns:iodef-2.0" | xmlns:iodef="urn:ietf:params:xml:ns:iodef-2.0" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||
<iodef:Incident purpose="reporting" restriction="default"> | <iodef:Incident purpose="reporting" restriction="default"> | |||
<iodef:IncidentID name="csirt.example.com"> | <iodef:IncidentID name="csirt.example.com"> | |||
189701 | 189701 | |||
</iodef:IncidentID> | </iodef:IncidentID> | |||
<iodef:DetectTime>2013-02-05T01:15:45+00:00</iodef:DetectTime> | <iodef:DetectTime>2013-02-05T01:15:45+00:00</iodef:DetectTime> | |||
<iodef:StartTime>2013-02-05T00:34:45+00:00</iodef:StartTime> | <iodef:StartTime>2013-02-05T00:34:45+00:00</iodef:StartTime> | |||
<iodef:ReportTime>2013-02-05T01:34:45+00:00</iodef:ReportTime> | <iodef:ReportTime>2013-02-05T01:34:45+00:00</iodef:ReportTime> | |||
<iodef:GenerationTime>2013-02-05T01:15:45+00:00</iodef:GenerationTime> | <iodef:GenerationTime>2013-02-05T01:15:45+00:00 | |||
<iodef:Description>DDoS Traffic Seen</iodef:Description> | </iodef:GenerationTime> | |||
<iodef:Assessment occurrence="actual"> | <iodef:Description>DDoS Traffic Seen</iodef:Description> | |||
<iodef:SystemImpact severity="medium" type="availability-system"> | <iodef:Assessment occurrence="actual"> | |||
<iodef:Description>DDoS Traffic | <iodef:SystemImpact severity="medium" type="availability-system"> | |||
</iodef:Description> | <iodef:Description>DDoS Traffic | |||
</iodef:SystemImpact> | </iodef:Description> | |||
<iodef:Confidence rating="high"/> | </iodef:SystemImpact> | |||
</iodef:Assessment> | <iodef:Confidence rating="high"/> | |||
<iodef:Contact role="creator" type="organization"> | </iodef:Assessment> | |||
<iodef:ContactName>Dummy Test</iodef:ContactName> | <iodef:Contact role="creator" type="organization"> | |||
<iodef:Email> | <iodef:ContactName>Dummy Test</iodef:ContactName> | |||
<iodef:EmailTo>contact@dummytest.com | <iodef:Email> | |||
</iodef:EmailTo> | <iodef:EmailTo>contact@dummytest.com | |||
</iodef:Email> | </iodef:EmailTo> | |||
</iodef:Contact> | </iodef:Email> | |||
<iodef:EventData> | </iodef:Contact> | |||
<iodef:Description> | <iodef:EventData> | |||
Dummy Test sharing with ISP1 | <iodef:Description> | |||
</iodef:Description> | Dummy Test sharing with ISP1 | |||
<iodef:Method> | </iodef:Description> | |||
<iodef:Reference> | <iodef:Method> | |||
<iodef:URL> | <iodef:Reference> | |||
http://blog.spiderlabs.com/2011/01/loic-ddos- | <iodef:URL> | |||
analysis-and-detection.html | http://blog.spiderlabs.com/2011/01/loic-ddos- | |||
</iodef:URL> | analysis-and-detection.html | |||
<iodef:URL> | </iodef:URL> | |||
http://en.wikipedia.org/wiki/Low_Orbit_Ion_Cannon | <iodef:URL> | |||
</iodef:URL> | http://en.wikipedia.org/wiki/Low_Orbit_Ion_Cannon | |||
<iodef:Description> | ||||
Low Orbit Ion Cannon User Agent | ||||
</iodef:Description> | ||||
</iodef:Reference> | ||||
</iodef:Method> | </iodef:URL> | |||
<iodef:Flow> | <iodef:Description> | |||
<iodef:System category="source" spoofed="no"> | Low Orbit Ion Cannon User Agent | |||
<iodef:Node> | </iodef:Description> | |||
<iodef:Address category="ipv4-addr"> | </iodef:Reference> | |||
192.0.2.104 | </iodef:Method> | |||
</iodef:Address> | <iodef:Flow> | |||
</iodef:Node> | <iodef:System category="source" spoofed="no"> | |||
<iodef:Service ip-protocol="6"> | <iodef:Node> | |||
<iodef:Port>1337</iodef:Port> | <iodef:Address category="ipv4-addr"> | |||
</iodef:Service> | 192.0.2.104 | |||
</iodef:System> | </iodef:Address> | |||
<iodef:System category="source" spoofed="no"> | </iodef:Node> | |||
<iodef:Node> | <iodef:Service ip-protocol="6"> | |||
<iodef:Address category="ipv4-addr"> | <iodef:Port>1337</iodef:Port> | |||
192.0.2.106 | </iodef:Service> | |||
</iodef:Address> | </iodef:System> | |||
</iodef:Node> | <iodef:System category="source" spoofed="no"> | |||
<iodef:Service ip-protocol="6"> | <iodef:Node> | |||
<iodef:Port>1337</iodef:Port> | <iodef:Address category="ipv4-addr"> | |||
</iodef:Service> | 192.0.2.106 | |||
</iodef:System> | </iodef:Address> | |||
<iodef:System category="source" spoofed="yes"> | </iodef:Node> | |||
<iodef:Node> | <iodef:Service ip-protocol="6"> | |||
<iodef:Address category="ipv4-net"> | <iodef:Port>1337</iodef:Port> | |||
198.51.100.0/24 | </iodef:Service> | |||
</iodef:Address> | </iodef:System> | |||
</iodef:Node> | <iodef:System category="source" spoofed="yes"> | |||
<iodef:Service ip-protocol="6"> | <iodef:Node> | |||
<iodef:Port>1337</iodef:Port> | <iodef:Address category="ipv4-net"> | |||
</iodef:Service> | 198.51.100.0/24 | |||
</iodef:System> | </iodef:Address> | |||
<iodef:System category="source" spoofed="yes"> | </iodef:Node> | |||
<iodef:Node> | <iodef:Service ip-protocol="6"> | |||
<iodef:Address category="ipv6-addr"> | <iodef:Port>1337</iodef:Port> | |||
2001:db8:dead:beef::1 | </iodef:Service> | |||
</iodef:Address> | </iodef:System> | |||
</iodef:Node> | <iodef:System category="source" spoofed="yes"> | |||
<iodef:Service ip-protocol="6"> | <iodef:Node> | |||
<iodef:Port>1337</iodef:Port> | <iodef:Address category="ipv6-addr"> | |||
</iodef:Service> | 2001:db8:dead:beef::1 | |||
</iodef:System> | </iodef:Address> | |||
<iodef:System category="target"> | </iodef:Node> | |||
<iodef:Node> | <iodef:Service ip-protocol="6"> | |||
<iodef:Address category="ipv4-addr"> | <iodef:Port>1337</iodef:Port> | |||
203.0.113.1 | </iodef:Service> | |||
</iodef:Address> | </iodef:System> | |||
</iodef:Node> | <iodef:System category="target"> | |||
<iodef:Service ip-protocol="6"> | <iodef:Node> | |||
<iodef:Port>80</iodef:Port> | <iodef:Address category="ipv4-addr"> | |||
</iodef:Service> | 203.0.113.1 | |||
</iodef:System> | </iodef:Address> | |||
<iodef:System category="sensor"> | </iodef:Node> | |||
<iodef:Node> | <iodef:Service ip-protocol="6"> | |||
</iodef:Node> | <iodef:Port>80</iodef:Port> | |||
<iodef:Description> | </iodef:Service> | |||
Information provided in Flow class instance is from | </iodef:System> | |||
Inspection of traffic from network tap | <iodef:System category="sensor"> | |||
</iodef:Description> | <iodef:Node> | |||
</iodef:System> | </iodef:Node> | |||
</iodef:Flow> | <iodef:Description> | |||
<iodef:Expectation action="other"/> | Information provided in Flow class instance is from | |||
</iodef:EventData> | Inspection of traffic from network tap | |||
<iodef:IndicatorData> | </iodef:Description> | |||
<iodef:Indicator> | </iodef:System> | |||
<iodef:IndicatorID name="csirt.example.com" version="1"> | </iodef:Flow> | |||
G83345941 | <iodef:Expectation action="other"/> | |||
</iodef:IndicatorID> | </iodef:EventData> | |||
<iodef:Description> | <iodef:IndicatorData> | |||
User-Agent string | <iodef:Indicator> | |||
</iodef:Description> | <iodef:IndicatorID name="csirt.example.com" version="1"> | |||
<iodef:Observable> | G83345941 | |||
<iodef:BulkObservable type="http-user-agent"> | </iodef:IndicatorID> | |||
<iodef:BulkObservableList> | <iodef:Description> | |||
user-agent="Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12"> | User-Agent string | |||
</iodef:BulkObservableList> | </iodef:Description> | |||
</iodef:BulkObservable> | <iodef:Observable> | |||
</iodef:Observable> | <iodef:BulkObservable type="http-user-agent"> | |||
</iodef:Indicator> | <iodef:BulkObservableList> | |||
</iodef:IndicatorData> | user-agent="Mozilla/5.0 (Macintosh; U; | |||
</iodef:Incident> | Intel Mac OS X 10.5; en-US; rv:1.9.2.12) | |||
</IODEF-Document> | Gecko/20101026 Firefox/3.6.12"> | |||
</iodef:BulkObservableList> | ||||
</iodef:BulkObservable> | ||||
</iodef:Observable> | ||||
</iodef:Indicator> | ||||
</iodef:IndicatorData> | ||||
</iodef:Incident> | ||||
</IODEF-Document> | ||||
B.3. Spear-Phishing | B.3. Spear Phishing | |||
The Spear-Phishing test exchanged information that described a Spear- | The spear-phishing test exchanged information that described a spear- | |||
Phishing email including DNS records and addresses about the sender, | phishing email, including DNS records and addresses about the sender, | |||
malicious attached file information and email data. The IODEF | malicious attached file information, and email data. The IODEF | |||
version used for the data representation was based on [RFC7970]. | version used for the data representation was based on [RFC7970]. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<IODEF-Document version="2.00" | <IODEF-Document version="2.00" | |||
xmlns="urn:ietf:params:xml:ns:iodef-2.0" | xmlns="urn:ietf:params:xml:ns:iodef-2.0" | |||
xmlns:iodef="urn:ietf:params:xml:ns:iodef-2.0" | xmlns:iodef="urn:ietf:params:xml:ns:iodef-2.0" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> | xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> | |||
<iodef:Incident purpose="reporting"> | ||||
<iodef:Incident purpose="reporting"> | <iodef:IncidentID name="csirt.example.com"> | |||
<iodef:IncidentID name="csirt.example.com"> | 189601 | |||
189601 | </iodef:IncidentID> | |||
</iodef:IncidentID> | <iodef:DetectTime>2013-01-04T08:06:12+00:00</iodef:DetectTime> | |||
<iodef:DetectTime>2013-01-04T08:06:12+00:00</iodef:DetectTime> | <iodef:StartTime>2013-01-04T08:01:34+00:00</iodef:StartTime> | |||
<iodef:StartTime>2013-01-04T08:01:34+00:00</iodef:StartTime> | <iodef:EndTime>2013-01-04T08:31:27+00:00</iodef:EndTime> | |||
<iodef:EndTime>2013-01-04T08:31:27+00:00</iodef:EndTime> | <iodef:ReportTime>2013-01-04T09:15:45+00:00</iodef:ReportTime> | |||
<iodef:ReportTime>2013-01-04T09:15:45+00:00</iodef:ReportTime> | <iodef:GenerationTime>2013-01-04T09:15:45+00:00 | |||
<iodef:GenerationTime>2013-01-04T09:15:45+00:00</iodef:GenerationTime> | </iodef:GenerationTime> | |||
<iodef:Description> | ||||
Zeus Spear Phishing E-mail with Malware Attachment | ||||
</iodef:Description> | ||||
<iodef:Assessment occurrence="potential"> | ||||
<iodef:SystemImpact severity="medium" type="takeover-system"> | ||||
<iodef:Description> | ||||
Malware with Command and Control Server and System Changes | ||||
</iodef:Description> | ||||
</iodef:SystemImpact> | ||||
</iodef:Assessment> | ||||
<iodef:Contact role="creator" type="organization"> | ||||
<iodef:ContactName>example.com CSIRT</iodef:ContactName> | ||||
<iodef:Email> | ||||
<iodef:EmailTo>contact@csirt.example.com</iodef:EmailTo> | ||||
</iodef:Email> | ||||
</iodef:Contact> | ||||
<iodef:EventData> | ||||
<iodef:Description> | <iodef:Description> | |||
Targeting Defense Contractors, | Zeus Spear Phishing E-mail with Malware Attachment | |||
specifically board members attending Dummy Con | ||||
</iodef:Description> | </iodef:Description> | |||
<iodef:Method> | <iodef:Assessment occurrence="potential"> | |||
<iodef:Reference observable-id="ref-1234"> | <iodef:SystemImpact severity="medium" type="takeover-system"> | |||
<iodef:Description>Zeus</iodef:Description> | <iodef:Description> | |||
</iodef:Reference> | Malware with Command and Control Server and System Changes | |||
</iodef:Method> | </iodef:Description> | |||
<iodef:Flow> | </iodef:SystemImpact> | |||
<iodef:System category="source"> | </iodef:Assessment> | |||
<iodef:Node> | <iodef:Contact role="creator" type="organization"> | |||
<iodef:Address category="site-uri"> | <iodef:ContactName>example.com CSIRT</iodef:ContactName> | |||
http://www.zeusevil.example.com | <iodef:Email> | |||
</iodef:Address> | <iodef:EmailTo>contact@csirt.example.com</iodef:EmailTo> | |||
<iodef:Address category="ipv4-addr"> | </iodef:Email> | |||
192.0.2.166 | </iodef:Contact> | |||
</iodef:Address> | <iodef:EventData> | |||
<iodef:Address category="asn"> | <iodef:Description> | |||
65535 | Targeting Defense Contractors, | |||
</iodef:Address> | specifically board members attending Dummy Con | |||
<iodef:Address category="ext-value" | </iodef:Description> | |||
ext-category="as-name"> | <iodef:Method> | |||
EXAMPLE-AS - University of Example" | <iodef:Reference observable-id="ref-1234"> | |||
</iodef:Address> | <iodef:Description>Zeus</iodef:Description> | |||
<iodef:Address category="ext-value" | </iodef:Reference> | |||
ext-category="as-prefix"> | </iodef:Method> | |||
192.0.2.0/24 | <iodef:Flow> | |||
</iodef:Address> | <iodef:System category="source"> | |||
</iodef:Node> | <iodef:Node> | |||
<iodef:NodeRole category="malware-distribution"/> | <iodef:Address category="site-uri"> | |||
</iodef:System> | http://www.zeusevil.example.com | |||
</iodef:Flow> | </iodef:Address> | |||
<iodef:Flow> | <iodef:Address category="ipv4-addr"> | |||
<iodef:System category="source"> | 192.0.2.166 | |||
<iodef:Node> | </iodef:Address> | |||
<iodef:DomainData> | <iodef:Address category="asn"> | |||
<Name>mail1.evildave.example.com</Name> | 65535 | |||
</iodef:DomainData> | </iodef:Address> | |||
<iodef:Address category="ipv4-addr"> | <iodef:Address category="ext-value" | |||
198.51.100.6 | ext-category="as-name"> | |||
</iodef:Address> | EXAMPLE-AS - University of Example" | |||
<iodef:Address category="asn"> | </iodef:Address> | |||
65534 | <iodef:Address category="ext-value" | |||
</iodef:Address> | ext-category="as-prefix"> | |||
<iodef:Address category="ext-value" | 192.0.2.0/24 | |||
ext-category="as-name"> | </iodef:Address> | |||
EXAMPLE-AS - University of Example | </iodef:Node> | |||
</iodef:Address> | <iodef:NodeRole category="malware-distribution"/> | |||
<iodef:DomainData> | </iodef:System> | |||
<iodef:Name>evildave.example.com</iodef:Name> | </iodef:Flow> | |||
<iodef:DateDomainWasChecked>2013-01-04T09:10:24+00:00 | <iodef:Flow> | |||
</iodef:DateDomainWasChecked> | <iodef:System category="source"> | |||
<!-- <iodef:RelatedDNS RecordType="MX"> --> | <iodef:Node> | |||
<iodef:RelatedDNS dtype="string"> | <iodef:DomainData> | |||
evildave.example.com MX prefernce = 10, mail exchanger | <Name>mail1.evildave.example.com</Name> | |||
= mail1.evildave.example.com | </iodef:DomainData> | |||
</iodef:RelatedDNS> | <iodef:Address category="ipv4-addr"> | |||
<iodef:RelatedDNS dtype="string"> | 198.51.100.6 | |||
mail1.evildave.example.com | </iodef:Address> | |||
internet address = 198.51.100.6 | <iodef:Address category="asn"> | |||
</iodef:RelatedDNS> | 65534 | |||
<iodef:RelatedDNS dtype="string"> | </iodef:Address> | |||
zuesevil.example.com. IN TXT \"v=spf1 a mx -all\" | <iodef:Address category="ext-value" | |||
</iodef:RelatedDNS> | ext-category="as-name"> | |||
</iodef:DomainData> | EXAMPLE-AS - University of Example | |||
</iodef:Node> | </iodef:Address> | |||
<iodef:NodeRole category="mail"> | <iodef:DomainData> | |||
<iodef:Description> | <iodef:Name>evildave.example.com</iodef:Name> | |||
Sending phishing mails | <iodef:DateDomainWasChecked>2013-01-04T09:10:24+00:00 | |||
</iodef:DateDomainWasChecked> | ||||
</iodef:Description> | <!-- <iodef:RelatedDNS RecordType="MX"> --> | |||
</iodef:NodeRole> | <iodef:RelatedDNS dtype="string"> | |||
<iodef:Service> | evildave.example.com MX prefernce = 10, mail exchanger | |||
<iodef:EmailData> | = mail1.evildave.example.com | |||
<iodef:EmailFrom> | </iodef:RelatedDNS> | |||
emaildave@evildave.example.com | <iodef:RelatedDNS dtype="string"> | |||
</iodef:EmailFrom> | mail1.evildave.example.com | |||
<iodef:EmailSubject> | internet address = 198.51.100.6 | |||
Join us at Dummy Con | </iodef:RelatedDNS> | |||
</iodef:EmailSubject> | <iodef:RelatedDNS dtype="string"> | |||
<iodef:EmailX-Mailer> | zuesevil.example.com. IN TXT \"v=spf1 a mx -all\" | |||
StormRider 4.0 | </iodef:RelatedDNS> | |||
</iodef:EmailX-Mailer> | </iodef:DomainData> | |||
</iodef:EmailData> | </iodef:Node> | |||
</iodef:Service> | <iodef:NodeRole category="mail"> | |||
</iodef:System> | <iodef:Description> | |||
<iodef:System category="target"> | Sending phishing mails | |||
<iodef:Node> | </iodef:Description> | |||
<iodef:Address category="ipv4-addr"> | </iodef:NodeRole> | |||
203.0.113.2 | <iodef:Service> | |||
</iodef:Address> | <iodef:EmailData> | |||
</iodef:Node> | <iodef:EmailFrom> | |||
</iodef:System> | emaildave@evildave.example.com | |||
</iodef:Flow> | </iodef:EmailFrom> | |||
<iodef:Expectation action="other"/> | <iodef:EmailSubject> | |||
<iodef:Record> | Join us at Dummy Con | |||
<iodef:RecordData> | </iodef:EmailSubject> | |||
<iodef:FileData observable-id="fd-1234"> | <iodef:EmailX-Mailer> | |||
<iodef:File> | StormRider 4.0 | |||
<iodef:FileName> | </iodef:EmailX-Mailer> | |||
Dummy Con Sign Up Sheet.txt | </iodef:EmailData> | |||
</iodef:FileName> | </iodef:Service> | |||
<iodef:FileSize> | </iodef:System> | |||
152 | <iodef:System category="target"> | |||
</iodef:FileSize> | <iodef:Node> | |||
<iodef:HashData scope="file-contents"> | <iodef:Address category="ipv4-addr"> | |||
<iodef:Hash> | 203.0.113.2 | |||
<ds:DigestMethod | </iodef:Address> | |||
Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> | </iodef:Node> | |||
<ds:DigestValue> | </iodef:System> | |||
141accec23e7e5157de60853cb1e01bc38042d | </iodef:Flow> | |||
08f9086040815300b7fe75c184 | <iodef:Expectation action="other"/> | |||
</ds:DigestValue> | <iodef:Record> | |||
</iodef:Hash> | <iodef:RecordData> | |||
</iodef:HashData> | <iodef:FileData observable-id="fd-1234"> | |||
</iodef:File> | <iodef:File> | |||
</iodef:FileData> | <iodef:FileName> | |||
</iodef:RecordData> | Dummy Con Sign Up Sheet.txt | |||
<iodef:RecordData> | </iodef:FileName> | |||
<iodef:CertificateData> | <iodef:FileSize> | |||
<iodef:Certificate> | 152 | |||
<ds:X509Data> | </iodef:FileSize> | |||
<ds:X509IssuerSerial> | <iodef:HashData scope="file-contents"> | |||
<ds:X509IssuerName>FakeCA | <iodef:Hash> | |||
</ds:X509IssuerName> | <ds:DigestMethod | |||
<ds:X509SerialNumber> | Algorithm="http://www.w3.org/2001/04/ | |||
57482937101 | xmlenc#sha256"/> | |||
</ds:X509SerialNumber> | <ds:DigestValue> | |||
</ds:X509IssuerSerial> | 141accec23e7e5157de60853cb1e01bc38042d | |||
<ds:X509SubjectName>EvilDaveExample | 08f9086040815300b7fe75c184 | |||
</ds:X509SubjectName> | </ds:DigestValue> | |||
</ds:X509Data> | </iodef:Hash> | |||
</iodef:Certificate> | </iodef:HashData> | |||
</iodef:CertificateData> | </iodef:File> | |||
</iodef:RecordData> | </iodef:FileData> | |||
</iodef:Record> | </iodef:RecordData> | |||
</iodef:EventData> | <iodef:RecordData> | |||
</iodef:Incident> | <iodef:CertificateData> | |||
</IODEF-Document> | <iodef:Certificate> | |||
<ds:X509Data> | ||||
<ds:X509IssuerSerial> | ||||
<ds:X509IssuerName>FakeCA | ||||
</ds:X509IssuerName> | ||||
<ds:X509SerialNumber> | ||||
57482937101 | ||||
</ds:X509SerialNumber> | ||||
</ds:X509IssuerSerial> | ||||
<ds:X509SubjectName>EvilDaveExample | ||||
</ds:X509SubjectName> | ||||
</ds:X509Data> | ||||
</iodef:Certificate> | ||||
</iodef:CertificateData> | ||||
</iodef:RecordData> | ||||
</iodef:Record> | ||||
</iodef:EventData> | ||||
</iodef:Incident> | ||||
</IODEF-Document> | ||||
B.4. Malware | B.4. Malware | |||
In this test, malware information was exchanged using RID and IODEF. | In this test, malware information was exchanged using RID and IODEF. | |||
The information included file hashes, registry setting changes and | The information included file hashes, registry setting changes, and | |||
the C&C servers the malware uses. | the C&C servers the malware uses. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<IODEF-Document version="2.00" | <IODEF-Document version="2.00" | |||
xmlns="urn:ietf:params:xml:ns:iodef-2.0" | xmlns="urn:ietf:params:xml:ns:iodef-2.0" | |||
xmlns:iodef="urn:ietf:params:xml:ns:iodef-2.0" | xmlns:iodef="urn:ietf:params:xml:ns:iodef-2.0" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> | xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> | |||
<iodef:Incident purpose="reporting"> | <iodef:Incident purpose="reporting"> | |||
<iodef:IncidentID name="csirt.example.com"> | <iodef:IncidentID name="csirt.example.com"> | |||
189234 | 189234 | |||
</iodef:IncidentID> | </iodef:IncidentID> | |||
<iodef:ReportTime>2013-03-07T16:14:56.757+05:30</iodef:ReportTime> | <iodef:ReportTime>2013-03-07T16:14:56.757+05:30</iodef:ReportTime> | |||
<iodef:GenerationTime>2013-03-07T16:14:56.757+05:30</iodef:GenerationTime> | <iodef:GenerationTime>2013-03-07T16:14:56.757+05:30 | |||
</iodef:GenerationTime> | ||||
<iodef:Description> | <iodef:Description> | |||
Malware and related indicators identified | Malware and related indicators identified | |||
</iodef:Description> | </iodef:Description> | |||
<iodef:Assessment occurrence="potential"> | <iodef:Assessment occurrence="potential"> | |||
<iodef:SystemImpact severity="medium" type="breach-proprietary"> | <iodef:SystemImpact severity="medium" type="breach-proprietary"> | |||
<iodef:Description> | <iodef:Description> | |||
Malware with Command and Control Server and System Changes | Malware with Command and Control Server and System Changes | |||
</iodef:Description> | </iodef:Description> | |||
</iodef:SystemImpact> | </iodef:SystemImpact> | |||
</iodef:Assessment> | </iodef:Assessment> | |||
<iodef:Contact role="creator" type="organization"> | <iodef:Contact role="creator" type="organization"> | |||
<iodef:ContactName>example.com CSIRT</iodef:ContactName> | <iodef:ContactName>example.com CSIRT</iodef:ContactName> | |||
<iodef:Email> | <iodef:Email> | |||
<iodef:EmailTo>contact@csirt.example.com</iodef:EmailTo> | <iodef:EmailTo>contact@csirt.example.com</iodef:EmailTo> | |||
</iodef:Email> | </iodef:Email> | |||
</iodef:Contact> | </iodef:Contact> | |||
<iodef:EventData> | <iodef:EventData> | |||
<iodef:Method> | <iodef:Method> | |||
skipping to change at page 25, line 26 | skipping to change at page 25, line 34 | |||
<iodef:URL> | <iodef:URL> | |||
http://www.threatexpert.example.com/report.aspx? | http://www.threatexpert.example.com/report.aspx? | |||
md5=e2710ceb088dacdcb03678db250742b7 | md5=e2710ceb088dacdcb03678db250742b7 | |||
</iodef:URL> | </iodef:URL> | |||
<iodef:Description>Zeus</iodef:Description> | <iodef:Description>Zeus</iodef:Description> | |||
</iodef:Reference> | </iodef:Reference> | |||
</iodef:Method> | </iodef:Method> | |||
<iodef:Flow> | <iodef:Flow> | |||
<iodef:System category="source"> | <iodef:System category="source"> | |||
<iodef:Node> | <iodef:Node> | |||
<iodef:Address category="ipv4-addr" observable-id="addr-c2-91011-001"> | <iodef:Address category="ipv4-addr" | |||
observable-id="addr-c2-91011-001"> | ||||
203.0.113.200 | 203.0.113.200 | |||
</iodef:Address> | </iodef:Address> | |||
<iodef:Address category="site-uri" observable-id="addr-c2-91011-002"> | <iodef:Address category="site-uri" | |||
observable-id="addr-c2-91011-002"> | ||||
http://zeus.556677889900.example.com/log-bin/ | http://zeus.556677889900.example.com/log-bin/ | |||
lunch_install.php?aff_id=1&amp; | lunch_install.php?aff_id=1&amp; | |||
lunch_id=1&amp;maddr=&amp; | lunch_id=1&amp;maddr=&amp; | |||
action=install | action=install | |||
</iodef:Address> | </iodef:Address> | |||
</iodef:Node> | </iodef:Node> | |||
<iodef:NodeRole category="c2-server"/> | <iodef:NodeRole category="c2-server"/> | |||
</iodef:System> | </iodef:System> | |||
</iodef:Flow> | </iodef:Flow> | |||
<iodef:Record> | <iodef:Record> | |||
<iodef:RecordData> | <iodef:RecordData> | |||
<iodef:FileData observable-id="file-91011-001"> | <iodef:FileData observable-id="file-91011-001"> | |||
<iodef:File> | <iodef:File> | |||
<iodef:HashData scope="file-contents"> | <iodef:HashData scope="file-contents"> | |||
<iodef:Hash> | <iodef:Hash> | |||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha1"/> | <ds:DigestMethod Algorithm= | |||
"http://www.w3.org/2001/04/xmlenc#sha1"/> | ||||
<ds:DigestValue> | <ds:DigestValue> | |||
MHg2NzUxQTI1MzQ4M0E2N0Q4NkUwRjg0NzYwRjYxRjEwQkJDQzJFREZG | MHg2NzUxQTI1MzQ4M0E2N0Q4NkUwRjg0NzYwRjYxRjEwQkJDQzJF | |||
REZG | ||||
</ds:DigestValue> | </ds:DigestValue> | |||
</iodef:Hash> | </iodef:Hash> | |||
</iodef:HashData> | </iodef:HashData> | |||
</iodef:File> | </iodef:File> | |||
<iodef:File> | <iodef:File> | |||
<iodef:HashData scope="file-contents"> | <iodef:HashData scope="file-contents"> | |||
<iodef:Hash> | <iodef:Hash> | |||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#md5"/> | <ds:DigestMethod Algorithm= | |||
"http://www.w3.org/2001/04/xmlenc#md5"/> | ||||
<ds:DigestValue> | <ds:DigestValue> | |||
MHgyRTg4ODA5ODBENjI0NDdFOTc5MEFGQTg5NTEzRjBBNA== | MHgyRTg4ODA5ODBENjI0NDdFOTc5MEFGQTg5NTEzRjBBNA== | |||
</ds:DigestValue> | </ds:DigestValue> | |||
</iodef:Hash> | </iodef:Hash> | |||
</iodef:HashData> | </iodef:HashData> | |||
</iodef:File> | </iodef:File> | |||
</iodef:FileData> | </iodef:FileData> | |||
<iodef:WindowsRegistryKeysModified observable-id="regkey-91011-001"> | <iodef:WindowsRegistryKeysModified observable-id= | |||
"regkey-91011-001"> | ||||
<iodef:Key registryaction="add-value"> | <iodef:Key registryaction="add-value"> | |||
<iodef:KeyName> | <iodef:KeyName> | |||
HKLM\Software\Microsoft\Windows\ | HKLM\Software\Microsoft\Windows\ | |||
CurrentVersion\Run\tamg | CurrentVersion\Run\tamg | |||
</iodef:KeyName> | </iodef:KeyName> | |||
<iodef:Value> | <iodef:Value> | |||
?\?\?%System%\wins\mc.exe\?\?? | ?\?\?%System%\wins\mc.exe\?\?? | |||
</iodef:Value> | </iodef:Value> | |||
</iodef:Key> | </iodef:Key> | |||
<iodef:Key registryaction="modify-value"> | <iodef:Key registryaction="modify-value"> | |||
skipping to change at page 26, line 49 | skipping to change at page 27, line 16 | |||
<iodef:URL> | <iodef:URL> | |||
http://www.threatexpert.example.com/report.aspx? | http://www.threatexpert.example.com/report.aspx? | |||
md5=c3c528c939f9b176c883ae0ce5df0001 | md5=c3c528c939f9b176c883ae0ce5df0001 | |||
</iodef:URL> | </iodef:URL> | |||
<iodef:Description>Cridex</iodef:Description> | <iodef:Description>Cridex</iodef:Description> | |||
</iodef:Reference> | </iodef:Reference> | |||
</iodef:Method> | </iodef:Method> | |||
<iodef:Flow> | <iodef:Flow> | |||
<iodef:System category="source"> | <iodef:System category="source"> | |||
<iodef:Node> | <iodef:Node> | |||
<iodef:Address category="ipv4-addr" observable-id="addr-c2-91011-003"> | <iodef:Address category="ipv4-addr" | |||
observable-id="addr-c2-91011-003"> | ||||
203.0.113.100 | 203.0.113.100 | |||
</iodef:Address> | </iodef:Address> | |||
</iodef:Node> | </iodef:Node> | |||
<iodef:NodeRole category="c2-server"/> | <iodef:NodeRole category="c2-server"/> | |||
<iodef:Service ip-protocol="6"> | <iodef:Service ip-protocol="6"> | |||
<iodef:Port>8080</iodef:Port> | <iodef:Port>8080</iodef:Port> | |||
</iodef:Service> | </iodef:Service> | |||
</iodef:System> | </iodef:System> | |||
</iodef:Flow> | </iodef:Flow> | |||
<iodef:Record> | <iodef:Record> | |||
<iodef:RecordData> | <iodef:RecordData> | |||
<iodef:FileData observable-id="file-91011-002"> | <iodef:FileData observable-id="file-91011-002"> | |||
skipping to change at page 27, line 18 | skipping to change at page 27, line 33 | |||
<iodef:Port>8080</iodef:Port> | <iodef:Port>8080</iodef:Port> | |||
</iodef:Service> | </iodef:Service> | |||
</iodef:System> | </iodef:System> | |||
</iodef:Flow> | </iodef:Flow> | |||
<iodef:Record> | <iodef:Record> | |||
<iodef:RecordData> | <iodef:RecordData> | |||
<iodef:FileData observable-id="file-91011-002"> | <iodef:FileData observable-id="file-91011-002"> | |||
<iodef:File> | <iodef:File> | |||
<iodef:HashData scope="file-contents"> | <iodef:HashData scope="file-contents"> | |||
<iodef:Hash> | <iodef:Hash> | |||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha1"/> | <ds:DigestMethod Algorithm= | |||
"http://www.w3.org/2001/04/xmlenc#sha1"/> | ||||
<ds:DigestValue> | <ds:DigestValue> | |||
MHg3MjYzRkUwRDNBMDk1RDU5QzhFMEM4OTVBOUM1ODVFMzQzRTcxNDFD | MHg3MjYzRkUwRDNBMDk1RDU5QzhFMEM4OTVBOUM | |||
1ODVFMzQzRTcxNDFD | ||||
</ds:DigestValue> | </ds:DigestValue> | |||
</iodef:Hash> | </iodef:Hash> | |||
</iodef:HashData> | </iodef:HashData> | |||
</iodef:File> | </iodef:File> | |||
</iodef:FileData> | </iodef:FileData> | |||
<iodef:FileData observable-id="file-91011-003"> | <iodef:FileData observable-id="file-91011-003"> | |||
<iodef:File> | <iodef:File> | |||
<iodef:HashData scope="file-contents"> | <iodef:HashData scope="file-contents"> | |||
<iodef:Hash> | <iodef:Hash> | |||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#md5"/> | <ds:DigestMethod Algorithm= | |||
"http://www.w3.org/2001/04/xmlenc#md5"/> | ||||
<ds:DigestValue> | <ds:DigestValue> | |||
MHg0M0NEODUwRkNEQURFNDMzMEE1QkVBNkYxNkVFOTcxQw== | MHg0M0NEODUwRkNEQURFNDMzMEE1QkVBNkYxNkVFOTcxQw== | |||
</ds:DigestValue> | </ds:DigestValue> | |||
</iodef:Hash> | </iodef:Hash> | |||
</iodef:HashData> | </iodef:HashData> | |||
</iodef:File> | </iodef:File> | |||
</iodef:FileData> | </iodef:FileData> | |||
<iodef:WindowsRegistryKeysModified observable-id="regkey-91011-002"> | <iodef:WindowsRegistryKeysModified observable-id= | |||
"regkey-91011-002"> | ||||
<iodef:Key registryaction="add-value"> | <iodef:Key registryaction="add-value"> | |||
<iodef:KeyName> | <iodef:KeyName> | |||
HKLM\Software\Microsoft\Windows\ | HKLM\Software\Microsoft\Windows\ | |||
CurrentVersion\Run\KB00121600.exe | CurrentVersion\Run\KB00121600.exe | |||
</iodef:KeyName> | </iodef:KeyName> | |||
<iodef:Value> | <iodef:Value> | |||
\?\?%AppData%\KB00121600.exe\?\? | \?\?%AppData%\KB00121600.exe\?\? | |||
</iodef:Value> | </iodef:Value> | |||
</iodef:Key> | </iodef:Key> | |||
</iodef:WindowsRegistryKeysModified> | </iodef:WindowsRegistryKeysModified> | |||
skipping to change at page 28, line 14 | skipping to change at page 28, line 35 | |||
<iodef:Indicator> | <iodef:Indicator> | |||
<iodef:IndicatorID name="csirt.example.com" version="1"> | <iodef:IndicatorID name="csirt.example.com" version="1"> | |||
ind-91011 | ind-91011 | |||
</iodef:IndicatorID> | </iodef:IndicatorID> | |||
<iodef:Description> | <iodef:Description> | |||
evil c2 server, file hash, and registry key | evil c2 server, file hash, and registry key | |||
</iodef:Description> | </iodef:Description> | |||
<iodef:IndicatorExpression operator="or"> | <iodef:IndicatorExpression operator="or"> | |||
<iodef:IndicatorExpression operator="or"> | <iodef:IndicatorExpression operator="or"> | |||
<iodef:Observable> | <iodef:Observable> | |||
<iodef:Address category="site-uri" observable-id="addr-qrst"> | <iodef:Address category="site-uri" | |||
observable-id="addr-qrst"> | ||||
http://foo.example.com:12345/evil/cc.php | http://foo.example.com:12345/evil/cc.php | |||
</iodef:Address> | </iodef:Address> | |||
</iodef:Observable> | </iodef:Observable> | |||
<iodef:Observable> | <iodef:Observable> | |||
<iodef:Address category="ipv4-addr" observable-id="addr-stuv"> | <iodef:Address category="ipv4-addr" | |||
observable-id="addr-stuv"> | ||||
192.0.2.1 | 192.0.2.1 | |||
</iodef:Address> | </iodef:Address> | |||
</iodef:Observable> | </iodef:Observable> | |||
<iodef:Observable> | <iodef:Observable> | |||
<iodef:Address category="ipv4-addr" observable-id="addr-tuvw"> | <iodef:Address category="ipv4-addr" | |||
observable-id="addr-tuvw"> | ||||
198.51.100.1 | 198.51.100.1 | |||
</iodef:Address> | </iodef:Address> | |||
</iodef:Observable> | </iodef:Observable> | |||
<iodef:Observable> | <iodef:Observable> | |||
<iodef:Address category="ipv6-addr" observable-id="addr-uvwx"> | <iodef:Address category="ipv6-addr" | |||
observable-id="addr-uvwx"> | ||||
2001:db8:dead:beef::1 | 2001:db8:dead:beef::1 | |||
</iodef:Address> | </iodef:Address> | |||
</iodef:Observable> | </iodef:Observable> | |||
<iodef:ObservableReference uid-ref="addr-c2-91011-001"/> | <iodef:ObservableReference uid-ref="addr-c2-91011-001"/> | |||
<iodef:ObservableReference uid-ref="addr-c2-91011-002"/> | <iodef:ObservableReference uid-ref="addr-c2-91011-002"/> | |||
<iodef:ObservableReference uid-ref="addr-c2-91011-003"/> | <iodef:ObservableReference uid-ref="addr-c2-91011-003"/> | |||
</iodef:IndicatorExpression> | </iodef:IndicatorExpression> | |||
<iodef:IndicatorExpression operator="and"> | <iodef:IndicatorExpression operator="and"> | |||
<iodef:Observable> | <iodef:Observable> | |||
<iodef:FileData observable-id="file-91011-000"> | <iodef:FileData observable-id="file-91011-000"> | |||
<iodef:File> | <iodef:File> | |||
<iodef:HashData scope="file-contents"> | <iodef:HashData scope="file-contents"> | |||
<iodef:Hash> | <iodef:Hash> | |||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> | <ds:DigestMethod Algorithm= | |||
"http://www.w3.org/2001/04/xmlenc#sha256"/> | ||||
<ds:DigestValue> | <ds:DigestValue> | |||
141accec23e7e5157de60853cb1e01bc38042d08f9086040815300b7fe75c184 | 141accec23e7e5157de60853cb1e01bc38042d08f | |||
9086040815300b7fe75c184 | ||||
</ds:DigestValue> | </ds:DigestValue> | |||
</iodef:Hash> | </iodef:Hash> | |||
</iodef:HashData> | </iodef:HashData> | |||
</iodef:File> | </iodef:File> | |||
</iodef:FileData> | </iodef:FileData> | |||
</iodef:Observable> | </iodef:Observable> | |||
<iodef:Observable> | <iodef:Observable> | |||
<iodef:WindowsRegistryKeysModified observable-id="regkey-91011-000"> | <iodef:WindowsRegistryKeysModified observable-id= | |||
"regkey-91011-000"> | ||||
<iodef:Key registryaction="add-key" | <iodef:Key registryaction="add-key" | |||
observable-id="regkey-vwxy"> | observable-id="regkey-vwxy"> | |||
<iodef:KeyName> | <iodef:KeyName> | |||
HKLM\SYSTEM\CurrentControlSet\ | HKLM\SYSTEM\CurrentControlSet\ | |||
Services\.Net CLR | Services\.Net CLR | |||
</iodef:KeyName> | </iodef:KeyName> | |||
</iodef:Key> | </iodef:Key> | |||
<iodef:Key registryaction="add-key" | <iodef:Key registryaction="add-key" | |||
observable-id="regkey-wxyz"> | observable-id="regkey-wxyz"> | |||
<iodef:KeyName> | <iodef:KeyName> | |||
skipping to change at page 30, line 15 | skipping to change at page 30, line 43 | |||
</iodef:IndicatorExpression> | </iodef:IndicatorExpression> | |||
</iodef:IndicatorExpression> | </iodef:IndicatorExpression> | |||
</iodef:IndicatorExpression> | </iodef:IndicatorExpression> | |||
</iodef:Indicator> | </iodef:Indicator> | |||
</iodef:IndicatorData> | </iodef:IndicatorData> | |||
</iodef:Incident> | </iodef:Incident> | |||
</IODEF-Document> | </IODEF-Document> | |||
B.5. IoT Malware | B.5. IoT Malware | |||
The IoT Malware test exchanged information that described a bad IP | The Internet of Things (IoT) malware test exchanged information that | |||
address of IoT malware and its scanned ports. This example | described a bad IP address of IoT malware and its scanned ports. | |||
information is extracted from alert messages of a Darknet monitoring | This example information is extracted from alert messages of a | |||
system referred in [RFC8134]. The IODEF version used for the data | darknet monitoring system referred to in [RFC8134]. The IODEF | |||
representation was based on [RFC7970]. | version used for the data representation was based on [RFC7970]. | |||
<?xml version="1.0" encoding="UTF-8"?> | ||||
<IODEF-Document version="2.00" | ||||
xmlns="urn:ietf:params:xml:ns:iodef-2.0" | ||||
xmlns:iodef="urn:ietf:params:xml:ns:iodef-2.0" | ||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||
<iodef:Incident purpose="reporting"> | ||||
<iodef:IncidentID name="csirt.example.com"> | ||||
189802 | ||||
</iodef:IncidentID> | ||||
<iodef:ReportTime>2017-03-01T01:15:00+09:00</iodef:ReportTime> | ||||
<iodef:GenerationTime>2017-03-01T01:15:00+09:00</iodef:GenerationTime> | ||||
<iodef:Description>IoT Malware and related indicators</iodef:Description> | ||||
<iodef:Assessment occurrence="potential"> | ||||
<iodef:SystemImpact severity="medium" type="takeover-system"> | ||||
<iodef:Description>IoT Malware is scanning other hosts | ||||
</iodef:Description> | ||||
</iodef:SystemImpact> | ||||
</iodef:Assessment> | ||||
<iodef:Contact role="creator" type="organization"> | ||||
<iodef:ContactName>example.com CSIRT | ||||
</iodef:ContactName> | ||||
<iodef:Email> | ||||
<iodef:EmailTo>contact@csirt.example.com | ||||
</iodef:EmailTo> | ||||
</iodef:Email> | ||||
</iodef:Contact> | ||||
<iodef:EventData> | ||||
<iodef:Discovery source="nidps"> | ||||
<iodef:Description> | ||||
Detected by darknet monitoring | ||||
</iodef:Description> | ||||
</iodef:Discovery> | <?xml version="1.0" encoding="UTF-8"?> | |||
<iodef:Flow> | <IODEF-Document version="2.00" | |||
<iodef:System category="source"> | xmlns="urn:ietf:params:xml:ns:iodef-2.0" | |||
<iodef:Node> | xmlns:iodef="urn:ietf:params:xml:ns:iodef-2.0" | |||
<iodef:Address category="ipv4-addr"> | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||
192.0.2.210 | <iodef:Incident purpose="reporting"> | |||
</iodef:Address> | <iodef:IncidentID name="csirt.example.com"> | |||
</iodef:Node> | 189802 | |||
<iodef:NodeRole category="camera"/> | </iodef:IncidentID> | |||
<iodef:Service ip-protocol="6"> | <iodef:ReportTime>2017-03-01T01:15:00+09:00</iodef:ReportTime> | |||
<iodef:Port>23</iodef:Port> | <iodef:GenerationTime>2017-03-01T01:15:00+09:00 | |||
</iodef:Service> | </iodef:GenerationTime> | |||
<iodef:OperatingSystem> | <iodef:Description>IoT Malware and related indicators | |||
<iodef:Description> | </iodef:Description> | |||
Example Surveillance Camera OS 2.1.1 | <iodef:Assessment occurrence="potential"> | |||
</iodef:Description> | <iodef:SystemImpact severity="medium" type="takeover-system"> | |||
</iodef:OperatingSystem> | <iodef:Description>IoT Malware is scanning other hosts | |||
</iodef:System> | </iodef:Description> | |||
</iodef:Flow> | </iodef:SystemImpact> | |||
<iodef:EventData> | </iodef:Assessment> | |||
<iodef:Flow> | <iodef:Contact role="creator" type="organization"> | |||
<iodef:System category="target"> | <iodef:ContactName>example.com CSIRT | |||
<iodef:Node> | </iodef:ContactName> | |||
<iodef:Address category="ipv4-addr"> | <iodef:Email> | |||
198.51.100.1 | <iodef:EmailTo>contact@csirt.example.com | |||
</iodef:Address> | </iodef:EmailTo> | |||
</iodef:Node> | </iodef:Email> | |||
<iodef:NodeRole category="honeypot"/> | </iodef:Contact> | |||
<iodef:Service ip-protocol="6"> | ||||
<iodef:Port>23</iodef:Port> | ||||
</iodef:Service> | ||||
</iodef:System> | ||||
</iodef:Flow> | ||||
</iodef:EventData> | ||||
<iodef:EventData> | <iodef:EventData> | |||
<iodef:Discovery source="nidps"> | ||||
<iodef:Description> | ||||
Detected by darknet monitoring | ||||
</iodef:Description> | ||||
</iodef:Discovery> | ||||
<iodef:Flow> | <iodef:Flow> | |||
<iodef:System category="target"> | <iodef:System category="source"> | |||
<iodef:Node> | <iodef:Node> | |||
<iodef:Address category="ipv4-addr"> | <iodef:Address category="ipv4-addr"> | |||
198.51.100.94 | 192.0.2.210 | |||
</iodef:Address> | </iodef:Address> | |||
</iodef:Node> | </iodef:Node> | |||
<iodef:NodeRole category="honeypot"/> | <iodef:NodeRole category="camera"/> | |||
<iodef:Service ip-protocol="6"> | <iodef:Service ip-protocol="6"> | |||
<iodef:Port>23</iodef:Port> | <iodef:Port>23</iodef:Port> | |||
</iodef:Service> | </iodef:Service> | |||
<iodef:OperatingSystem> | ||||
<iodef:Description> | ||||
Example Surveillance Camera OS 2.1.1 | ||||
</iodef:Description> | ||||
</iodef:OperatingSystem> | ||||
</iodef:System> | </iodef:System> | |||
</iodef:Flow> | </iodef:Flow> | |||
<iodef:EventData> | ||||
</iodef:EventData> | <iodef:Flow> | |||
<iodef:EventData> | <iodef:System category="target"> | |||
<iodef:Flow> | <iodef:Node> | |||
<iodef:System category="target"> | <iodef:Address category="ipv4-addr"> | |||
<iodef:Node> | 198.51.100.1 | |||
<iodef:Address category="ipv4-addr"> | </iodef:Address> | |||
198.51.100.237 | </iodef:Node> | |||
</iodef:Address> | <iodef:NodeRole category="honeypot"/> | |||
</iodef:Node> | <iodef:Service ip-protocol="6"> | |||
<iodef:NodeRole category="honeypot"/> | <iodef:Port>23</iodef:Port> | |||
<iodef:Service ip-protocol="6"> | </iodef:Service> | |||
<iodef:Port>2323</iodef:Port> | </iodef:System> | |||
</iodef:Service> | </iodef:Flow> | |||
</iodef:System> | </iodef:EventData> | |||
</iodef:Flow> | <iodef:EventData> | |||
<iodef:Flow> | ||||
<iodef:System category="target"> | ||||
<iodef:Node> | ||||
<iodef:Address category="ipv4-addr"> | ||||
198.51.100.94 | ||||
</iodef:Address> | ||||
</iodef:Node> | ||||
<iodef:NodeRole category="honeypot"/> | ||||
<iodef:Service ip-protocol="6"> | ||||
<iodef:Port>23</iodef:Port> | ||||
</iodef:Service> | ||||
</iodef:System> | ||||
</iodef:Flow> | ||||
</iodef:EventData> | ||||
<iodef:EventData> | ||||
<iodef:Flow> | ||||
<iodef:System category="target"> | ||||
<iodef:Node> | ||||
<iodef:Address category="ipv4-addr"> | ||||
198.51.100.237 | ||||
</iodef:Address> | ||||
</iodef:Node> | ||||
<iodef:NodeRole category="honeypot"/> | ||||
<iodef:Service ip-protocol="6"> | ||||
<iodef:Port>2323</iodef:Port> | ||||
</iodef:Service> | ||||
</iodef:System> | ||||
</iodef:Flow> | ||||
</iodef:EventData> | ||||
</iodef:EventData> | </iodef:EventData> | |||
</iodef:EventData> | </iodef:Incident> | |||
</iodef:Incident> | </IODEF-Document> | |||
</IODEF-Document> | ||||
Authors' Addresses | Authors' Addresses | |||
Panos Kampanakis | Panos Kampanakis | |||
Cisco Systems | Cisco Systems | |||
Email: pkampana@cisco.com | Email: pkampana@cisco.com | |||
Mio Suzuki | Mio Suzuki | |||
NICT | NICT | |||
4-2-1, Nukui-Kitamachi | 4-2-1, Nukui-Kitamachi | |||
Koganei, Tokyo 184-8795 | Koganei, Tokyo 184-8795 | |||
JP | Japan | |||
Email: mio@nict.go.jp | Email: mio@nict.go.jp | |||
End of changes. 153 change blocks. | ||||
684 lines changed or deleted | 712 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |