idnits 2.17.1
draft-ietf-mile-sci-09.txt:
Checking boilerplate required by RFC 5378 and the IETF Trust (see
https://trustee.ietf.org/license-info):
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt:
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/checklist :
----------------------------------------------------------------------------
** There are 8 instances of too long lines in the document, the longest one
being 4 characters in excess of 72.
** The abstract seems to contain references ([RFC5070]), which it
shouldn't. Please replace those with straight textual mentions of the
documents in question.
Miscellaneous warnings:
----------------------------------------------------------------------------
== The copyright year in the IETF Trust and authors Copyright Line does not
match the current year
-- The document date (Sep 29, 2013) is 3861 days in the past. Is this
intentional?
Checking references for intended status: Proposed Standard
----------------------------------------------------------------------------
(See RFCs 3967 and 4897 for information about using normative references
to lower-maturity documents in RFCs)
== Unused Reference: 'RFC3339' is defined on line 1158, but no explicit
reference was found in the text
== Unused Reference: 'RFC3552' is defined on line 1161, but no explicit
reference was found in the text
== Unused Reference: 'RFC5322' is defined on line 1168, but no explicit
reference was found in the text
== Unused Reference: 'RFC6116' is defined on line 1171, but no explicit
reference was found in the text
== Unused Reference: 'OVAL' is defined on line 1213, but no explicit
reference was found in the text
-- Possible downref: Non-RFC (?) normative reference: ref. 'MMDEF'
** Obsolete normative reference: RFC 5070 (Obsoleted by RFC 7970)
** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126)
** Obsolete normative reference: RFC 6045 (Obsoleted by RFC 6545)
** Obsolete normative reference: RFC 6046 (Obsoleted by RFC 6546)
-- Possible downref: Non-RFC (?) normative reference: ref. 'EICAR'
-- Possible downref: Non-RFC (?) normative reference: ref. 'XMLschemaPart1'
-- Possible downref: Non-RFC (?) normative reference: ref. 'XMLschemaPart2'
-- Possible downref: Non-RFC (?) normative reference: ref. 'XMLNames'
Summary: 6 errors (**), 0 flaws (~~), 6 warnings (==), 6 comments (--).
Run idnits with the --verbose option for more detailed information about
the items above.
--------------------------------------------------------------------------------
2 MILE Working Group T. Takahashi
3 Internet-Draft NICT
4 Intended status: Standards Track K. Landfield
5 Expires: April 2, 2014 McAfee
6 T. Millar
7 USCERT
8 Y. Kadobayashi
9 NAIST
10 Sep 29, 2013
12 IODEF-extension for structured cybersecurity information
13 draft-ietf-mile-sci-09.txt
15 Abstract
17 This document extends the Incident Object Description Exchange Format
18 (IODEF) defined in RFC 5070 [RFC5070] to exchange enriched
19 cybersecurity information among cybersecurity entities and facilitate
20 their operations. It provides the capability of embedding structured
21 information, such as identifier- and XML-based information.
23 Status of this Memo
25 This Internet-Draft is submitted in full conformance with the
26 provisions of BCP 78 and BCP 79.
28 Internet-Drafts are working documents of the Internet Engineering
29 Task Force (IETF). Note that other groups may also distribute
30 working documents as Internet-Drafts. The list of current Internet-
31 Drafts is at http://datatracker.ietf.org/drafts/current/.
33 Internet-Drafts are draft documents valid for a maximum of six months
34 and may be updated, replaced, or obsoleted by other documents at any
35 time. It is inappropriate to use Internet-Drafts as reference
36 material or to cite them other than as "work in progress."
38 This Internet-Draft will expire on April 2, 2014.
40 Copyright Notice
42 Copyright (c) 2013 IETF Trust and the persons identified as the
43 document authors. All rights reserved.
45 This document is subject to BCP 78 and the IETF Trust's Legal
46 Provisions Relating to IETF Documents
47 (http://trustee.ietf.org/license-info) in effect on the date of
48 publication of this document. Please review these documents
49 carefully, as they describe your rights and restrictions with respect
50 to this document. Code Components extracted from this document must
51 include Simplified BSD License text as described in Section 4.e of
52 the Trust Legal Provisions and are provided without warranty as
53 described in the Simplified BSD License.
55 Table of Contents
57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
58 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
59 3. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 3
60 4. Extension Definition . . . . . . . . . . . . . . . . . . . . . 4
61 4.1. IANA Table for Structured Cybersecurity Information . . . 4
62 4.2. Extended Data Type: XMLDATA . . . . . . . . . . . . . . . 5
63 4.3. Extended Classes . . . . . . . . . . . . . . . . . . . . . 6
64 4.3.1. AttackPattern . . . . . . . . . . . . . . . . . . . . 7
65 4.3.2. Platform . . . . . . . . . . . . . . . . . . . . . . . 8
66 4.3.3. Vulnerability . . . . . . . . . . . . . . . . . . . . 9
67 4.3.4. Scoring . . . . . . . . . . . . . . . . . . . . . . . 10
68 4.3.5. Weakness . . . . . . . . . . . . . . . . . . . . . . . 11
69 4.3.6. EventReport . . . . . . . . . . . . . . . . . . . . . 12
70 4.3.7. Verifcation . . . . . . . . . . . . . . . . . . . . . 14
71 4.3.8. Remediation . . . . . . . . . . . . . . . . . . . . . 15
72 5. Mandatory to Implement features . . . . . . . . . . . . . . . 16
73 5.1. An Example XML . . . . . . . . . . . . . . . . . . . . . . 16
74 5.2. An XML Schema for the Extension . . . . . . . . . . . . . 18
75 6. Security Considerations . . . . . . . . . . . . . . . . . . . 22
76 6.1. Transport-Specific Concerns . . . . . . . . . . . . . . . 23
77 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23
78 8. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . . 24
79 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25
80 9.1. Normative References . . . . . . . . . . . . . . . . . . . 25
81 9.2. Informative References . . . . . . . . . . . . . . . . . . 26
82 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 27
84 1. Introduction
86 The number of cyber attacks is growing day by day, and incident
87 information needs to be reported, exchanged, and shared among
88 organizations in order to cope with the situation. IODEF is one of
89 the tools enabling such exchange, and is already in use.
91 To efficiently run cybersecurity operations, these exchanged
92 information needs to be machine-readable. IODEF provides a
93 structured means to describe the information, but it needs to embed
94 various non-structured such information in order to convey detailed
95 information. Further structure within IODEF increases IODEF
96 documents' machine-readability and thus facilitates streamlining
97 cybersecurity operations.
99 On the other hand, there exist various other activities facilitating
100 detailed and structured description of cybersecurity information
101 [CAPEC][CCE][CCSS][CEE][CPE][CVE][CVRF][CVSS][CWE][CWSS][MAEC][OCIL][
102 OVAL][SCAP][XCCDF]. Since such structured description facilitates
103 cybersecurity operations, it would be beneficial to embed and convey
104 these information inside IODEF document.
106 To enable that, this document extends the IODEF to embed and convey
107 various structured cybersecurity information, with which
108 cybersecurity operations can be facilitated. Since IODEF defines a
109 flexible and extensible format and supports a granular level of
110 specificity, this document defines an extension to IODEF instead of
111 defining a new report format. For clarity, and to eliminate
112 duplication, only the additional structures necessary for describing
113 the exchange of such structured information are provided.
115 2. Terminology
117 The terminology used in this document follows the one defined in RFC
118 5070 [RFC5070] .
120 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
121 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
122 document are to be interpreted as described in RFC 2119 [RFC2119] .
124 3. Applicability
126 To maintain cybersecurity, organization needs to exchange
127 cybersecurity information, which includes the following information:
128 attack pattern, platform information, vulnerability and weakness,
129 countermeasure instruction, computer event log, and the severity.
131 IODEF provides a scheme to describe and exchange such information
132 among interested parties. However, it does not define the detailed
133 format to describe such information.
135 On the other hand, there already exist structured and detailed
136 formats for describing those information and facilitating such
137 exchange. Major of them are
138 [CAPEC][CCE][CCSS][CEE][CPE][CVE][CVRF][CVSS][CWE][CWSS][MAEC][OCIL][
139 OVAL][SCAP][XCCDF]. By embedding them into the IODEF document, the
140 document can convey more detailed contents to the receivers, and the
141 document can be easily reused.
143 These structured cybersecurity information facilitates cybersecurity
144 operation at the receiver side. Since the information is machine-
145 readable, the data can be processed by computers. That expedites the
146 automation of cybersecurity operations
148 For instance, an organization wishing to report a security incident
149 wants to describe what vulnerability was exploited. Then the sender
150 can simply use IODEF, where an XML [XML1.0] -based attack pattern
151 record that follows the syntax and vocabulary defined by an industry
152 specification is embedded instead of describing everything in free
153 format text. Receiver can identify the needed details of the attack
154 pattern by looking up some of the XML tags defined by the
155 specification. Receiver can accumulate the attack pattern record in
156 its database and could distribute it to the interested parties if
157 needed, without needing human interventions.
159 Another example is that, when an administrator wishes to check the
160 configuration of host computers in his organization, he may send a
161 query to host computers, which may automatically generate XML-based
162 software configuration information upon receiving thequery by running
163 a software and may embed that to an IODEF document, which is then
164 sent back to the administrator.
166 4. Extension Definition
168 This draft extends IODEF to embed structured cybersecurity
169 information by introducing new classes, with which these information
170 can be embedded inside IODEF document as element contents of
171 AdditionalData and RecordItem classes.
173 4.1. IANA Table for Structured Cybersecurity Information
175 This extension embeds structured cybersecurity information defined by
176 the other specifications. The list of supported specifications is
177 managed by IANA, and this draft defines the needed field for the
178 list's entry.
180 Each entry has namespace [XMLNames] , specification name, version,
181 reference URI, and applicable classes for each specification.
182 Arbitrary URIs that may help readers to understand the specification
183 could be embedded inside the Reference URI field, but it is
184 recommended that standard/informational URI describing the
185 specification is prepared and is embedded here.
187 The initial IANA table has only one entry, as below.
189 Namespace: http://xml/metadataSharing.xsd
190 Specification Name: Malware Metadata Exchange Format
191 Version: 1.2
192 Reference URI: http://standards.ieee.org/develop
193 /indconn/icsg/mmdef.html,
194 http://grouper.ieee.org/groups
195 /malware/malwg/Schema1.2/
196 Applicable Classes: AttackPattern
198 Note that the specification was developed by The Institute of
199 Electrical and Electronics Engineers, Incorporated (IEEE), through
200 the Industry Connections Security Group (ICSG) of its Standards
201 Association.
203 The table is to be managed by IANA using the Expert Review [RFC5226]
204 and Specification Required [RFC5226] allocation policies as further
205 specified in Section 7 .
207 The SpecID attributes of extended classes (Section 4.3) must allow
208 the values of the specifications' namespace fields, but otherwise,
209 implementations are not required to support all specifications of the
210 IANA table and may choose which specifications to support, though the
211 specification listed in the initial table needs to be minimally
212 supported, as described in Section 5. In case an implementation
213 received a data it does not support, it may expand its functionality
214 by looking up the IANA table or notify the sender of its inability to
215 parse the data by using any means defined outside the scope of this
216 specification.
218 4.2. Extended Data Type: XMLDATA
220 This extension inherits all of the data types defined in the IODEF
221 model. One data type is added: XMLDATA. An embedded XML data is
222 represented by the XMLDATA data type. This type is defined as the
223 extension to the iodef:ExtensionType [RFC5070] , whose dtype
224 attribute is set to "xml."
226 4.3. Extended Classes
228 The IODEF Incident element [RFC5070] is summarized below. It is
229 expressed in Unified Modeling Language (UML) syntax as used in the
230 IODEF specification. The UML representation is for illustrative
231 purposes only; elements are specified in XML as defined in
232 Section 5.2.
234 +---------------+
235 | Incident |
236 +---------------+
237 | ENUM purpose |<>---------[IncidentID]
238 | STRING |<>--{0..1}-[AlternativeID]
239 | ext-purpose |<>--{0..1}-[RelatedActivity]
240 | ENUM lang |<>--{0..1}-[DetectTime]
241 | ENUM |<>--{0..1}-[StartTime]
242 | restriction |<>--{0..1}-[EndTime]
243 | |<>---------[ReportTime]
244 | |<>--{0..*}-[Description]
245 | |<>--{1..*}-[Assessment]
246 | |<>--{0..*}-[Method]
247 | | |<>--{0..*}-[AdditionalData]
248 | | |<>--{0..*}-[AttackPattern]
249 | | |<>--{0..*}-[Vulnerability]
250 | | |<>--{0..*}-[Weakness]
251 | |<>--{1..*}-[Contact]
252 | |<>--{0..*}-[EventData]
253 | | |<>--{0..*}-[Flow]
254 | | | |<>--{1..*}-[System]
255 | | | |<>--{0..*}-[AdditionalData]
256 | | | |<>--{0..*}-[Platform]
257 | | |<>--{0..*}-[Expectation]
258 | | |<>--{0..1}-[Record]
259 | | |<>--{1..*}-[RecordData]
260 | | |<>--{1..*}-[RecordItem]
261 | | |<>--{0..*}-[EventReport]
262 | |<>--{0..1}-[History]
263 | |<>--{0..*}-[AdditionalData]
264 | | |<>--{0..*}-[Verification]
265 | | |<>--{0..*}-[Remediation]
266 +---------------+
268 Figure 1: Incident class
270 This extension defines the following seven elements.
272 4.3.1. AttackPattern
274 An AttackPattern consists of an extension to the
275 Incident.Method.AdditionalData element with a dtype of "xml". The
276 extension describes attack patterns of incidents or events.
278 It is recommended that Method class SHOULD contain one or more of the
279 extension elements whenever available.
281 An AttackPattern class is structured as follows.
283 +------------------------+
284 | AttackPattern |
285 +------------------------+
286 | ENUM SpecID |<>--(0..*)-[ RawData ]
287 | STRING ext-SpecID |<>--(0..*)-[ Reference ]
288 | STRING AttackPatternID |<>--(0..*)-[ Platform ]
289 +------------------------+
291 Figure 2: AttackPattern class
293 This class has the following attributes.
295 SpecID: REQUIRED. ENUM. A specification's identifier that
296 specifies the format of a structured cybersecurity information.
297 The value should be chosen from the namespaces [XMLNames] listed
298 in the IANA table (Section 4.1) or "private". The value "private"
299 is prepared for conveying RawData based on a format that is not
300 listed in the table. This is usually used for conveying data
301 formatted according to an organization's private schema. When the
302 value "private" is used, ext-SpecID element MUST be used.
304 ext-SpecID: OPTIONAL. STRING. A specification's identifier that
305 specifies the format of a structured cybersecurity information.
306 When this element is used, the value of SpecID element must be
307 "private."
309 AttackPatternID: OPTIONAL. STRING. An identifier of an attack
310 pattern to be reported. This attribute SHOULD be used whenever
311 such identifier is available. Both RawData and Reference elements
312 MUST NOT be used when this attribute is used, while either of them
313 MUST be used if this attribute is omitted.
315 The AttackPattern class is composed of the following aggregate
316 classes.
318 RawData: Zero or more. XMLDATA. A complete document that is
319 formatted according to the specification and its version
320 identified by the SpecID/ext-SpecID. When this element is used,
321 writers/senders MUST ensure that the namespace specified by
322 SpecID/ext-SpecID and the one used in the RawData element are
323 consistent; if not, the namespace identified by SpecID SHOULD be
324 prefered, and the inconsistency SHOULD be logged so a human can
325 correct the problem.
327 Reference: Zero or more of iodef:Reference [RFC5070] . This element
328 allows an IODEF document to include a link to a structured
329 information instead of directly embedding it into a RawData
330 element.
332 Platform: Zero or more. An identifier of software platform involved
333 in the specific attack pattern, which is elaborated in
334 Section 4.3.2 .
336 4.3.2. Platform
338 A Platform identifies a software platform. It is recommended that
339 AttackPattern, Vulnerability, Weakness, and System classes contain
340 this elements whenever available.
342 A Platform element is structured as follows.
344 +----------------------+
345 | Platform |
346 +----------------------+
347 | ENUM SpecID |<>--(0..*)-[ RawData ]
348 | STRING ext-SpecID |<>--(0..*)-[ Reference ]
349 | STRING PlatformID |
350 +----------------------+
352 Figure 3: Platform class
354 This class has the following attributes.
356 SpecID: REQUIRED. ENUM. The meaning of this attribute is the same
357 as that of the AttackPattern class (Section 4.3.1) .
359 ext-SpecID: OPTIONAL. STRING. The meaning of this attribute is the
360 same as that of the AttackPattern class (Section 4.3.1) .
362 PlatformID: OPTIONAL. STRING. An identifier of a platform to be
363 reported. This attribute SHOULD be used whenever such identifier
364 is available. Both RawData and Reference elements MUST NOT be
365 used when this attribute is used, while either of them MUST be
366 used if this attribute is omitted.
368 This class is composed of the following aggregate classes.
370 RawData: Zero or more. XMLDATA. The meaning of this element is the
371 same as that of the AttackPattern class (Section 4.3.1) .
373 Reference: Zero or more of iodef:Reference [RFC5070] . The meaning
374 of this element is the same as that of the AttackPattern class
375 (Section 4.3.1) .
377 4.3.3. Vulnerability
379 A Vulnerability consists of an extension to the
380 Incident.Method.AdditionalData element with a dtype of "xml". The
381 extension describes the (candidate) vulnerabilities of incidents or
382 events.
384 It is recommended that Method class SHOULD contain one or more of the
385 extension elements whenever available.
387 A Vulnerability element is structured as follows.
389 +------------------------+
390 | Vulnerability |
391 +------------------------+
392 | ENUM SpecID |<>--(0..*)-[ RawData ]
393 | STRING ext-SpecID |<>--(0..*)-[ Reference ]
394 | STRING VulnerabilityID |<>--(0..*)-[ Platform ]
395 | |<>--(0..*)-[ Scoring ]
396 +------------------------+
398 Figure 4: Vulnerability class
400 This class has the following attributes.
402 SpecID: REQUIRED. ENUM. The meaning of this attribute is the same
403 as that of the AttackPattern class (Section 4.3.1) .
405 ext-SpecID: OPTIONAL. STRING. The meaning of this attribute is the
406 same as that of the AttackPattern class (Section 4.3.1) .
408 VulnerabilityID: OPTIONAL. STRING. An identifier of a
409 vulnerability to be reported. This attribute SHOULD be used
410 whenever such identifier is available. Both RawData and Reference
411 elements MUST NOT be used when this attribute is used, while
412 either of them MUST be used if this attribute is omitted.
414 This class is composed of the following aggregate classes.
416 RawData: Zero or more. XMLDATA. The meaning of this element is the
417 same as that of the AttackPattern class (Section 4.3.1) .
419 Reference: Zero or more of iodef:Reference [RFC5070] . The meaning
420 of this element is the same as that of the AttackPattern class
421 (Section 4.3.1) .
423 Platform: Zero or more. An identifier of software platform affected
424 by the vulnerability, which is elaborated in Section 4.3.2 .
426 Scoring: Zero or more. An indicator of the severity of the
427 vulnerability, such as CVSS and CCSS scores, which is elaborated
428 in Section 4.3.4 . Some of the structured information may include
429 scores within it. In this case, the Scoring element SHOULD NOT be
430 used since the RawData element contains the scores. If a reader/
431 receiver detects scores in both RawData and Scoring elements and
432 their inconsistency, it SHOULD prefer the scores derived from the
433 RawData element, and SHOULD log the inconsistency so a human can
434 correct the problem.
436 4.3.4. Scoring
438 A Scoring class describes the scores of the severity in terms of
439 security. It is recommended that Vulnerability and Weakness classes
440 contain the elements whenever available.
442 A Scoring class is structured as follows.
444 +----------------------+
445 | Scoring |
446 +----------------------+
447 | ENUM SpecID |<>---------[ ScoreSet ]
448 | STRING ext-SpecID |
449 +----------------------+
451 Figure 5: Scoring class
453 This class has two attributes.
455 SpecID: REQUIRED. ENUM. The meaning of this attribute is the same
456 as that of the AttackPattern class (Section 4.3.1) .
458 ext-SpecID: OPTIONAL. STRING. The meaning of this attribute is the
459 same as that of the AttackPattern class (Section 4.3.1) .
461 This class is composed of an aggregate class.
463 ScoreSet: One. XMLDATA. A complete document that is formatted
464 according to the specification and its version identified by the
465 SpecID/ext-SpecID. This element includes a set of score
466 information. When this element is used, writers/senders MUST
467 ensure that the namespace specified by SpecID/ext-SpecID and the
468 one used in the RawData element are consistent; if not, the
469 namespace identified by SpecID SHOULD be prefered, and the
470 inconsistency SHOULD be logged so a human can correct the problem.
472 Writers/senders MUST ensure the specification name and version
473 identified by the SpecID are consistent with the contents of the
474 Score; if a reader/receiver detects an inconsistency, it SHOULD
475 prefer the specification name and version derived from the content,
476 and SHOULD log the inconsistency so a human can correct the problem.
478 4.3.5. Weakness
480 A Weakness consists of an extension to the
481 Incident.Method.AdditionalData element with a dtype of "xml". The
482 extension describes the weakness types of incidents or events.
484 It is recommended that Method class SHOULD contain one or more of the
485 extension elements whenever available.
487 A Weakness element is structured as follows.
489 +----------------------+
490 | Weakness |
491 +----------------------+
492 | ENUM SpecID |<>--(0..*)-[ RawData ]
493 | STRING ext-SpecID |<>--(0..*)-[ Reference ]
494 | STRING WeaknessID |<>--(0..*)-[ Platform ]
495 | |<>--(0..*)-[ Scoring ]
496 +----------------------+
498 Figure 6: Weakness class
500 This class has the following attributes.
502 SpecID: REQUIRED. ENUM. The meaning of this attribute is the same
503 as that of the AttackPattern class (Section 4.3.1) .
505 ext-SpecID: OPTIONAL. STRING. The meaning of this attribute is the
506 same as that of the AttackPattern class (Section 4.3.1) .
508 WeaknessID: OPTIONAL. STRING. An identifier of a weakness to be
509 reported. This attribute SHOULD be used whenever such identifier
510 is available/ Both RawData and Reference elements MUST NOT be used
511 when this attribute is used, while either of them MUST be used if
512 this attribute is omitted.
514 This class is composed of the following aggregate classes.
516 RawData: Zero or more. XMLDATA. The meaning of this element is the
517 same as that of the AttackPattern class (Section 4.3.1) .
519 Reference: Zero or more of iodef:Reference [RFC5070] . The meaning
520 of this element is the same as that of the AttackPattern class
521 (Section 4.3.1) .
523 Platform: Zero or more. An identifier of software platform affected
524 by the weakness, which is elaborated in Section 4.3.2 .
526 Scoring: Zero or more. An indicator of the severity of the
527 weakness, such as CWSS score, which is elaborated in Section 4.3.4
528 .
530 4.3.6. EventReport
532 An EventReport consists of an extension to the
533 Incident.EventData.Record.RecordData.RecordItem element with a dtype
534 of "xml". The extension embeds structured event reports.
536 It is recommended that RecordItem class SHOULD contain one or more of
537 the extension elements whenever available.
539 An EventReport element is structured as follows.
541 +----------------------+
542 | EventReport |
543 +----------------------+
544 | ENUM SpecID |<>--(0..*)-[ RawData ]
545 | STRING ext-SpecID |<>--(0..*)-[ Reference ]
546 | STRING EventID |
547 +----------------------+
549 Figure 7: EventReport class
551 This class has the following attributes.
553 SpecID: REQUIRED. ENUM. The meaning of this attribute is the same
554 as that of the AttackPattern class (Section 4.3.1) .
556 ext-SpecID: OPTIONAL. STRING. The meaning of this attribute is the
557 same as that of the AttackPattern class (Section 4.3.1) .
559 EventID: OPTIONAL. STRING. An identifier of an event to be
560 reported. This attribute SHOULD be used whenever such identifier
561 is available. Both RawData and Reference elements MUST NOT be
562 used when this attribute is used, while either of them MUST be
563 used if this attribute is omitted.
565 This class is composed of three aggregate classes.
567 RawData: Zero or more. XMLDATA. The meaning of this element is the
568 same as that of the AttackPattern class (Section 4.3.1) .
570 Reference: Zero or more of iodef:Reference [RFC5070] . The meaning
571 of this element is the same as that of the AttackPattern class
572 (Section 4.3.1) .
574 This class MUST contain at least one of RawData or Reference
575 elements. Writers/senders MUST ensure the specification name and
576 version identified by the SpecID are consistent with the contents of
577 the RawData; if a reader/receiver detects an inconsistency, it SHOULD
578 prefer the specification name and version derived from the content,
579 and SHOULD log the inconsistency so a human can correct the problem.
581 4.3.7. Verifcation
583 A Verification consists of an extension to the
584 Incident.AdditionalData element with a dtype of "xml". The extension
585 elements describes incident on vefifying incidents.
587 A Verification class is structured as follows.
589 +----------------------+
590 | Verification |
591 +----------------------+
592 | ENUM SpecID |<>--(0..*)-[ RawData ]
593 | STRING ext-SpecID |<>--(0..*)-[ Reference ]
594 | STRING VerificationID|
595 +----------------------+
597 Figure 8: Verification class
599 This class has the following attributes.
601 SpecID: REQUIRED. ENUM. The meaning of this attribute is the same
602 as that of the AttackPattern class (Section 4.3.1) .
604 ext-SpecID: OPTIONAL. STRING. The meaning of this attribute is the
605 same as that of the AttackPattern class (Section 4.3.1) .
607 VerificationID: OPTIONAL. STRING. An identifier of an check item
608 to be reported. This attribute SHOULD be used whenever such
609 identifier is available. Both RawData and Reference elements MUST
610 NOT be used when this attribute is used, while either of them MUST
611 be used if this attribute is omitted.
613 This class is composed of two aggregate classes.
615 RawData: Zero or more. XMLDATA. The meaning of this element is the
616 same as that of the AttackPattern class (Section 4.3.1) .
618 Reference: Zero or more of iodef:Reference [RFC5070] . The meaning
619 of this element is the same as that of the AttackPattern class
620 (Section 4.3.1) .
622 This class MUST contain at least either of RawData and Reference
623 elements. Writers/senders MUST ensure the specification name and
624 version identified by the SpecID are consistent with the contents of
625 the RawData; if a reader/receiver detects an inconsistency, it SHOULD
626 prefer the specification name and version derived from the content,
627 and SHOULD log the inconsistency so a human can correct the problem.
629 4.3.8. Remediation
631 A Remediation consists of an extension to the Incident.AdditionalData
632 element with a dtype of "xml". The extension elements describes
633 incident remediation information including instructions.
635 It is recommended that Incident class SHOULD contain one or more of
636 this extension elements whenever available.
638 A Remediation class is structured as follows.
640 +----------------------+
641 | Remediation |
642 +----------------------+
643 | ENUM SpecID |<>--(0..*)-[ RawData ]
644 | STRING ext-SpecID |<>--(0..*)-[ Reference ]
645 | String RemediationID |
646 +----------------------+
648 Figure 9: Remediation class
650 This class has the following attributes.
652 SpecID: REQUIRED. ENUM. The meaning of this attribute is the same
653 as that of the AttackPattern class (Section 4.3.1) .
655 ext-SpecID: OPTIONAL. STRING. The meaning of this attribute is the
656 same as that of the AttackPattern class (Section 4.3.1) .
658 RemediationID: OPTIONAL. STRING. An identifier of a remediation
659 information to be reported. This attribute SHOULD be used
660 whenever such identifier is available. Both RawData and Reference
661 elements MUST NOT be used when this attribute is used, while
662 either of them MUST be used if this attribute is omitted.
664 This class is composed of two aggregate classes.
666 RawData: Zero or more. XMLDATA. The meaning of this element is the
667 same as that of the AttackPattern class (Section 4.3.1) .
669 Reference: Zero or more of iodef:Reference [RFC5070] . The meaning
670 of this element is the same as that of the AttackPattern class
671 (Section 4.3.1) .
673 This class MUST contain at least either of RawData and Reference
674 elements. Writers/senders MUST ensure the specification name and
675 version identified by the SpecID are consistent with the contents of
676 the RawData; if a reader/receiver detects an inconsistency, it SHOULD
677 prefer the specification name and version derived from the content,
678 and SHOULD log the inconsistency so a human can correct the problem.
680 5. Mandatory to Implement features
682 The implementation of this draft MUST be capable of sending and
683 receiving the XML conforming to the specification listed in the
684 initial IANA table described in Section 4.1 without error.
686 The receiver MUST be capable of validating received XML documents
687 that are embedeed inside that against their schemata. Note that the
688 receiver can look up the namespace in the IANA table to understand
689 what specifications the embedded XML documents follows.
691 This section provides an XML comformant to this draft, and a scehma
692 for that.
694 5.1. An Example XML
696 An example IODEF document for checking implementation's MTI
697 conformity is provided here. The document carries MMDEF metadata.
698 Note that the metadata is generated by genMMDEF [MMDEF] with EICAR
699 [EICAR] files. Implementations of this specification must be capable
700 of parsing the example XML since MMDEF is specified as the draft's
701 MTI specification.
703
704
709
710 189493
711 2013-06-18T23:19:24+00:00
712 a candidate security incident
713
714
715
716
717 A candidate attack event
718
719
721
722
726 N/A
727 MMDEF Generation Script
728 Test MMDEF v1.2 file generated using genMMDEF
729
730 2013-03-23T15:12:50.726000
731
732
733 6ce6f415d8475545be5ba114f208b0ff
734 da39a3ee5e6b4b0d3255bfef95601890afd80709
735 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca4
736 95991b7852b855
737 cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83
738 f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b9
739 31bd47417a81a538327af927da3e
740 184
741 eicar_com.zip
742 application/zip
743
744
745 44d88612fea8a8f36de82e1278abb02f
746 3395856ce81f2b7382dee72602f798b642f14140
747 275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4
748 538aabf651fd0f
749 cc805d5fab1fd71a4ab352a9c533e65fb2d5b885518f4e565e
750 68847223b8e6b85cb48f3afad842726d99239c9e36505c64b0
751 dc9a061d9e507d833277ada336ab
752 68
753 1750191932
754 eicar.com
755 eicar.com
756
757
758
759
760
761
764
765 file[@id="44d88612fea8a8f36de82e1278abb02f"]
766
767 2013-03-23T15:12:50.744000
768
769
770
771
772
773
774
775
776 iodef-sci.example.com
777 iodef-sci.example-com
778
779 contact@csirt.example.com
780
781
782
783
784
785 192.0.2.200
786 57
787
788
789
790
791 192.0.2.16/28
792
793
794 80
795
796
797
798
799
800
801
802
804 5.2. An XML Schema for the Extension
806 An XML Schema describing the elements defined in this draft is given
807 here. Any XMLs compliant to this draft including the ones in
808 Section 5.1 should be verified against this schema by automated
809 tools.
811
812
818
821
822
823
824
825
827
828
830
831
832
833
834
835
836
838
839
840
841
843
844
845
847
848
850
851
852
853
854
856
858
859
861
862
863
865
867
868
870
871
872
873
874
876
878
879
881
883
884
885
887
889
890
892
893
894
895
896
898
900
901
903
905
906
907
909
911
912
914
915
916
917
918
920
922
923
924
925
927
929
930
932
933
934
935
936
938
940
941
942
943
945
947
948
950
951
952
953
954
957
959
960
961
962
964
966
967
969
970
971
972
973
975
977
978
979
980
982
984
985
987
989 6. Security Considerations
991 This document specifies a format for encoding a particular class of
992 security incidents appropriate for exchange across organizations. As
993 merely a data representation, it does not directly introduce security
994 issues. However, it is guaranteed that parties exchanging instances
995 of this specification will have certain concerns. For this reason,
996 the underlying message format and transport protocol used MUST ensure
997 the appropriate degree of confidentiality, integrity, and
998 authenticity for the specific environment.
1000 Organizations that exchange data using this document are URGED to
1001 develop operating procedures that document the following areas of
1002 concern.
1004 6.1. Transport-Specific Concerns
1006 The underlying messaging format and protocol used to exchange
1007 instances of the IODEF MUST provide appropriate guarantees of
1008 confidentiality, integrity, and authenticity. The use of a
1009 standardized security protocol is encouraged. The Real-time Inter-
1010 network Defense (RID) protocol [RFC6045] and its associated transport
1011 binding [RFC6046] provide such security.
1013 The critical security concerns are that these structured information
1014 may be falsified or they may become corrupt during transit. In areas
1015 where transmission security or secrecy is questionable, the
1016 application of a digital signature and/or message encryption on each
1017 report will counteract both of these concerns. We expect that each
1018 exchanging organization will determine the need, and mechanism, for
1019 transport protection.
1021 7. IANA Considerations
1023 This document uses URNs to describe XML namespaces and XML schemata
1024 [XMLschemaPart1] [XMLschemaPart2] conforming to a registry mechanism
1025 described in [RFC3688] .
1027 Registration request for the IODEF structured cybersecurity
1028 information extension namespace:
1030 URI: urn:ietf:params:xml:ns:iodef-sci-1.0
1032 Registrant Contact: Refer here to the authors' addresses section
1033 of the document.
1035 XML: None
1037 Registration request for the IODEF structured cybersecurity
1038 information extension XML schema:
1040 URI: urn:ietf:params:xml:schema:iodef-sci-1.0
1042 Registrant Contact: Refer here to the authors' addresses section
1043 of the document.
1045 XML: Refer here to the XML Schema in Section 5.2.
1047 This memo creates the following registry for IANA to manage:
1049 Name of the registry: "IODEF Structured Cyber Security Information
1050 Specifications"
1052 Namespace details: A registry entry for a Structured Cyber
1053 Security Information Specification (SCI specification) consists
1054 of:
1056 Namespace: A URI [RFC3986] that is the XML namespace name used
1057 by the registered SCI specification.
1059 Specification Name: A string containing the spelled-out name of
1060 the SCI specification in human-readable form.
1062 Reference URI: A list of one or more of the URIs [RFC3986] from
1063 which the registered specification can be obtained. The
1064 registered specification MUST be readily and publicly available
1065 from that URI.
1067 Applicable Classes: A list of one or more of the Extended
1068 Classes specified in Section 4.3 of this document. The
1069 registered SCI specification MUST only be used with the
1070 Extended Classes in the registry entry.
1072 Information that must be provided to assign a new value: The above
1073 list of information.
1075 Fields to record in the registry: Namespace/Specification Name/
1076 Version/Applicable Classes.
1078 Initial registry contents: none
1080 Allocation Policy: Expert Review [RFC5226] and Specification
1081 Required [RFC5226] .
1083 The Designated Expert is expected to consult with the mile (Managed
1084 Incident Lightweight Exchange) working group or its successor if any
1085 such WG exists (e.g., via email to the working group's mailing list).
1086 The Designated Expert is expected to retrieve the SCI specification
1087 from the provided URI in order to check the public availability of
1088 the specification and verify the correctness of the URI. An
1089 important responsibility of the Designated Expert is to ensure that
1090 the registered Applicable Classes are appropriate for the registered
1091 SCI specification.
1093 8. Acknowledgment
1095 We would like to acknowledge Mr. David Black from EMC, who kindly
1096 provided generous support, especially on the IANA registry issues.
1097 We also would like to thank Jon Baker from MITRE, Eric Burger from
1098 Georgetown University, Paul Cichonski from NIST, Panos Kampanakis
1099 from CISCO, Ivan Kirillov from MITRE, Robert Martin from MITRE,
1100 Kathleen Moriarty from EMC, Lagadec Philippe from NATO, Shuhei
1101 Yamaguchi from NICT, Anthony Rutkowski from Yaana Technology, Brian
1102 Trammell from ETH Zurich, David Waltermire from NIST, and James
1103 Wendorf from IEEE, for their sincere discussion and feedback on this
1104 document.
1106 9. References
1108 9.1. Normative References
1110 [MMDEF] IEEE ICSG Malware Metadata Exchange Format Working Group,
1111 "Malware Metadata Exchange Format".
1113 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
1114 Requirement Levels", BCP 14, RFC 2119, March 1997.
1116 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
1117 Resource Identifier (URI): Generic Syntax", STD 66,
1118 RFC 3986, January 2005.
1120 [RFC5070] Danyliw, R., Meijer, J., and Y. Demchenko, "The Incident
1121 Object Description Exchange Format", RFC 5070,
1122 December 2007.
1124 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
1125 IANA Considerations Section in RFCs", BCP 26, RFC 5226,
1126 May 2008.
1128 [RFC6045] Moriarty, K., "Real-time Inter-network Defense (RID)",
1129 RFC 6045, November 2010.
1131 [RFC6046] Moriarty, K. and B. Trammell, "Transport of Real-time
1132 Inter-network Defense (RID) Messages", RFC 6046,
1133 November 2010.
1135 [EICAR] European Expert Group for IT-Security, "Anti-Malware
1136 Testfile", 2003.
1138 [XML1.0] Bray, T., Maler, E., Paoli, J., Sperberg-McQueen, C., and
1139 F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth
1140 Edition)", W3C Recommendation, November 2008.
1142 [XMLschemaPart1]
1143 Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn,
1144 "XML Schema Part 1: Structures Second Edition",
1145 W3C Recommendation, October 2004.
1147 [XMLschemaPart2]
1148 Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes
1149 Second Edition", W3C Recommendation, October 2004.
1151 [XMLNames]
1152 Bray, T., Hollander, D., Layman, A., Tobin, R., and H.
1153 Thomson, ""Namespaces in XML (Third Edition)",
1154 W3C Recommendation, December 2009.
1156 9.2. Informative References
1158 [RFC3339] Klyne, G., Ed. and C. Newman, "Date and Time on the
1159 Internet: Timestamps", RFC 3339, July 2002.
1161 [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC
1162 Text on Security Considerations", BCP 72, RFC 3552,
1163 July 2003.
1165 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
1166 January 2004.
1168 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322,
1169 October 2008.
1171 [RFC6116] Bradner, S., Conroy, L., and K. Fujiwara, "The E.164 to
1172 Uniform Resource Identifiers (URI) Dynamic Delegation
1173 Discovery System (DDDS) Application (ENUM)", RFC 6116,
1174 March 2011.
1176 [CAPEC] The MITRE Corporation, "Common Attack Pattern Enumeration
1177 and Classification (CAPEC)".
1179 [CCE] The MITRE Corporation, "Common Configuration Enumeration
1180 (CCE)".
1182 [CCSS] Scarfone, K. and P. Mell, "The Common Configuration
1183 Scoring System (CCSS)", NIST Interagency Report 7502,
1184 December 2010.
1186 [CEE] The MITRE Corporation, "Common Event Expression (CEE)".
1188 [CPE] National Institute of Standards and Technology, "Common
1189 Platform Enumeration", June 2011.
1191 [CVE] The MITRE Corporation, "Common Vulnerability and Exposures
1192 (CVE)".
1194 [CVRF] ICASI, "Common Vulnerability Reporting Framework (CVRF)".
1196 [CVSS] Peter Mell, Karen Scarfone, and Sasha Romanosky, "The
1197 Common Vulnerability Scoring System (CVSS) and Its
1198 Applicability to Federal Agency Systems".
1200 [CWE] The MITRE Corporation, "Common Weakness Enumeration
1201 (CWE)".
1203 [CWSS] The MITRE Corporation, "Common Weakness Scoring System
1204 (CWSS)".
1206 [MAEC] The MITRE Corporation, "Malware Attribute Enumeration and
1207 Characterization".
1209 [OCIL] David Waltermire and Karen Scarfone and Maria Casipe, "The
1210 Open Checklist Interactive Language (OCIL) Version 2.0",
1211 April 2011.
1213 [OVAL] The MITRE Corporation, "Open Vulnerability and Assessment
1214 Language (OVAL)".
1216 [SCAP] Waltermire, D., Quinn, S., Scarfone, K., and A.
1217 Halbardier, "The Technical Specification for the Security
1218 Content Automation Protocol (SCAP): SCAP Version 1.2",
1219 NIST Special Publication 800-126 Revision 2,
1220 September 2011.
1222 [XCCDF] David Waltermire and Charles Schmidt and Karen Scarfone
1223 and Neal Ziring, "Specification for the Extensible
1224 Configuration Checklist Description Format (XCCDF) version
1225 1.2 (DRAFT)", July 2011.
1227 Authors' Addresses
1229 Takeshi Takahashi
1230 National Institute of Information and Communications Technology
1231 4-2-1 Nukui-Kitamachi Koganei
1232 184-8795 Tokyo
1233 Japan
1235 Phone: +80 423 27 5862
1236 Email: takeshi_takahashi@nict.go.jp
1237 Kent Landfield
1238 McAfee, Inc
1239 5000 Headquarters Drive
1240 Plano, TX 75024
1241 USA
1243 Email: Kent_Landfield@McAfee.com
1245 Thomas Millar
1246 US Department of Homeland Security, NPPD/CS&C/NCSD/US-CERT
1247 245 Murray Lane SW, Building 410, MS #732
1248 Washington, DC 20598
1249 USA
1251 Phone: +1 888 282 0870
1252 Email: thomas.millar@us-cert.gov
1254 Youki Kadobayashi
1255 Nara Institute of Science and Technology
1256 8916-5 Takayama, Ikoma
1257 630-0192 Nara
1258 Japan
1260 Email: youki-k@is.aist-nara.ac.jp