-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdraft-inacio-mile-forensics-01.nroff
511 lines (388 loc) · 18.6 KB
/
draft-inacio-mile-forensics-01.nroff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
.pl 10.0i
.po 0
.ll 7.2i
.lt 7.2i
.nr LL 7.2i
.nr LT 7.2i
.ds LF Christopher Inacio
.ds RF FORMFEED[Page %]
.ds LH INTERNET DRAFT
.ds CH Digital Forensics Extension for IODEF
.ds CF Expires May 10, 2013
.hy 0
.ad l
.in 0
.nf
.tl 'INTERNET-DRAFT''Christopher Inacio'
.tl '<draft-inacio-mile-forensics-01>''Carnegie Mellon University'
.tl 'Category: Standard' 'Younhee gil'
.tl '' 'ETRI'
.tl 'Expires: May 10, 2013''November 6, 2012'
.fi
.\" Note. The ".tl" directive is used to generate the leading header
.\" in Internet drafts. The information specified after ".tl" provides
.\" left, center and right components of a line separated by the ' character
.\" in the following manner:
.\"
.\" .tl '<left component>'<center component>'<right component>'
.\"
.\" Only the left and right components are used in Internet-draft headers
.\" This and other comments in this template can safely be deleted.
.ce 2
Digital Forensics Extension for IODEF
draft-inacio-mile-forensics-01
.fi
.in 3
.ti 0
Abstract
This extension to IODEF (RFC 5070) is designed to aid in the sharing and dissemination of digital forensics information. The goal is to allow a tool independent format to share information between organizations focused on digital forensics: drive images, file carving, metadata, and related hashes. As with IODEF and its extensions, it is defined using XML.
.ti 0
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP\078 and BCP\079.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as \%Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at \%http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html
.ti 0
Copyright and License Notice\" Boilerplate from December 2009
.\" NOTE: Insert current <year> in the following paragraph
Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP\078 and the IETF Trust's Legal Provisions Relating to IETF Documents \%(http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section\04.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
.\" \# TD4 -- Set TOC depth by altering this value (TD5 = depth 5)
.\" \# TOC -- Beginning of auto updated Table of Contents
.in 0
Table of Contents
.nf
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Forensic Extension to IODEF . . . . . . . . . . . . . . . . . . 3
3. Forensics Data . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1 Forensics Type Descriptions . . . . . . . . . . . . . . . . 4
3.1.1 Header Information . . . . . . . . . . . . . . . . . . . 4
3.1.2 Device/Source Information . . . . . . . . . . . . . . . 5
3.1.3 Hash Information . . . . . . . . . . . . . . . . . . . . 5
3.1.4 Byte Run Information . . . . . . . . . . . . . . . . . . 5
3.1.5 File Object Information . . . . . . . . . . . . . . . . 5
2. Title . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Security Considerations . . . . . . . . . . . . . . . . . . . . 7
4 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
5 References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.1 Normative References . . . . . . . . . . . . . . . . . . . 7
5.2 Informative References . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8
Appendix A: Digital Forensics XML Schema . . . . . . . . . . . . . 8
.fi
.in 3
.\" \# ETC -- End of auto updated Table of Contents
.bp
.ti 0
1 Introduction
This extension to IODEF is designed to carry digital forensics information in a way acceptable for chain of evidence handling and general forensics examination. There are various programs that generate forensics information, but few that generate that information in a way that is exchangeable in a universal way.
There have been some efforts to create independent standards, often XML based, to exchange digital forensics information. Indeed, this standard is designed to incorporate features from those efforts, DFXML, DEXF, IOC, and DFRWS. By extending IODEF, however, the goal of this standard is to build upon a widely used IETF standard, take advantage of the other features within the IODEF family of standards.
The main pieces of information this extension seeks to be able to convey are information about file systems and the resulting products from analyzing file systems. This includes information about file carving, system metadata including disk metadata.
.ti 0
1.1 Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].
.ti 0
2. Forensic Extension to IODEF
The Forensics Data is captured within a new class within IODEF's Event Data class, within its Additional Data class. The Forensics Data is not required to be present, and may occur an unlimited number of times as needed.
.nf
+-------------+
| Incident |
+-------------+
| . |
| . |
| . |
| Event Data |<>-{0..*}-[ Event Data ]
| | |<>-{0..*}-[ Additional Data ]
| | |<>-{0..*}-[ Forensics Data]
| |
+-------------+
.ti 0
3. Forensics Data
.nf
+----------------+
| Forensics Data |
+----------------+
| |<>-[Version]
| | |<>-[Major]
| | |<>-[Minor]
| |<>-[Site Name]
| |<>-[Examiner Name]
| |<>-[Evidence ID]
| |<>-[Creation Time]
| |<>-[Tool Name]
| |<>-[Tool Version]
| |<>-[Host Operating System]
| |
| |<>-[Device]
| | |<>-[Device Type]
| | |<>-[Device Model]
| | |<>-[Device Serial]
| | |<>-{0..1}-[Sector Size]
| | |<>-{0..1}-[Device Sectors]
| | |<>-{0..*}-[Hash]
| | | |<>-[Hash Type]
| | | |<>-[Hash Size]
| | | |<>-[Hash Value]
| | |<>-{0..*}-[File Object]
| | |<>-[Name]
| | |<>-[ID]
| | |<>-[Size]
| | |<>-[Partition]
| | |<>-[Mode]
| | |<>-[ACL]
| | |<>-[mtime]
| | |<>-[atime]
| | |<>-[ctime]
| | |<>-{0..*}-[Byte Run]
| | |<>-{1..*}-[Hash]
| | |<>-[Hash Type]
| | |<>-[Hash Size]
| | |<>-[Hash Value]
| |<>-[Digital Signature]
+----------------+
.ti 0
3.1 Forensics Type Descriptions
All date-time stamps are compatible with the date-time strings as defined in IODEF [IODEF] which are compatible with RFC 3339 [RFC3339], a restricted subset of ISO 8601:2000 [ISO8601].
.ti 0
3.1.1 Header Information
.in 9
.ti 6
O Version {Major,Minor} - The version number of the Digital Forensics extension schema definition. These will be defined within the standard schema, available from IANA.
.ti 6
o Site Name - A text string which is a human readable definition of the site that analyzed the contained forensics data.
.ti 6
o Creator Name - The name of the examiner that analyzed or provided the raw data presented within the signed forensics extension.
.ti 6
o Evidence ID - A site specific ID used for tracking the forensics information. For example, a case number for chain of evidence maintenance.
.ti 6
o Creation Time - The time this record was created.
.ti 6
o Device Time - A record of the creation from the forensic data source.
.ti 6
o Tool Name - A string defining the tool used to process the forensics data.
.ti 6
o Tool Version - A version string containing all relevant release information for the generating forensics data tool.
.ti 6
o Host Operating System - The host operating system on which the forensics tool was run; defined in CPE [CPE] format.
.ti 0
3.1.2 Device/Source Information
.in 9
.ti 6
o Device Type - A string describing the type of device from which data capture was performed. The device types are: hard disk, USB flash, XD card, SSD, CD, DVD, and other.
.ti 6
o Device Model - The model number, provided by the manufacturer, of the device.
.ti 6
o Device Serial - The manufacturer given serial number for the device.
.ti 6
o Sector Size - The size of the sectors on the device, if the device has sector based storage.
.ti 6
o Device Sectors - If the device is sector based, this is the total number of sectors available on the device.
.ti 0
3.1.3 Hash Information
.in 9
.ti 6
o Hash Type - The hash algorithm used to compute the associated hash. The supported algorithms are MD5, SHA-1, SHA-256.
.ti 6
o Hash Size - The number of octets included in the associated hash value.
.ti 6
o Hash Value - The value of the hash for the related information. The hash value MUST be represented as UTF-8 encoded hexadecimal string value.
.ti 0
3.1.4 Byte Run Information
.in 9
.ti 6
o Byte Run
.ti 0
3.1.5 File Object Information
.in 9
.ti 6
o File Object - A collection of values, capturing the relevant file system metadata along with relevant forensic data (byte runs and hashes) for a file of interest.
.ti 6
o Name - The name of the file as captured from the file system metadata.
.ti 6
o ID - A site generated unique number.
.ti 6
o Size - The size of the file, as captured from the file system metadata.
.ti 6
o Partition - The partition that the file system that file came from resides within.
.ti 6
o Mode - File permission mode as captured from the file system.
.ti 6
o ACL - The access control list as captured from the file system.
.ti 6
o mtime - File modification time as captured from the metadata from the filesystem.
.ti 6
o atime - Last file access time as captured from the metadata from the filesystem.
.ti 6
o ctime - Creation time as captured from the metadata from the filesystem.
.ti 0
2. Title
.\" Comment line providing info for the Authors or the RFC Editor
<Document text>
.in 6
.nf
Definitions and code {
line 1
line 2
}
.fi
.in 3
.\" Directives (e.g .ti and .in) and escape sequences (\, \&, \%, \" and \0) are used to control
.\" Formatting and are not displayed in the text document.
Special characters examples:
The characters \0, \&, \%, \" are not shown in text.
.\"
.\" You can display these character sequences in the text document by
.\" inserting the escape character '\'.
However, the characters \\0, \\&, \\%, \\" are displayed.
\&.ti 0 is displayed in text instead of used as a directive.
.br
\&.\\" is displayed in document instead of being treated as a comment
C:\\dir\\subdir\\file.ext Shows inclusion of backslash "\\".
.bp
.ti 0
3 Security Considerations
This standard is an extension to IODEF [IODEF] and as such, the security considerations that apply to IODEF apply to this extension.
In addition, the security provided by the related RID [RID] enhancements apply equally to this extensions as to IODEF [IODEF].
.ti 0
4 IANA Considerations
Registration request for the IODEF Digital Forensics Extension namespace:
URI: urn:ietf:params:xml:ns:iodef-digitalforensics-1.0
Registrant Contact:
Christopher Inacio
Carnegie Mellon University
4500 5th Ave
Pittsburgh, PA 15213
USA
XML: schema in Appendix N.
.ti 0
5 References
.ti 0
5.1 Normative References
.in 14
.\" \# REF -- Managed reference list. Syntax: [RFC]nnnn[;Label], ... ,[RFC]nnnn[;Label]
.\" \# 2119;KEYWORDS, 5070;IODEF, 6045;RID, 3339
.ti 3
[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP\014, RFC\02119, March 1997.
.ti 3
[IODEF] Danyliw, R., Meijer, J., and Y. Demchenko, "The Incident Object Description Exchange Format", RFC\05070, December 2007.
.ti 3
[RID] Moriarty, K., "Real-time Inter-network Defense (RID)", RFC\06045, November 2010.
.ti 3
[RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet: Timestamps", RFC\03339, July 2002.
.\" \# ERF -- End of managed reference list
.\" ----------------------------------------
.\" The reference list can be changed at any time by altering the RFC list in the line below the .\" \# REF directive
.\" In order to execute any change, click on the 'Update All' button or select "Update 'Table of Contents' and References"
.\" from the "Edit" menu or press <F3>.
.\" NOTE: Managed reference list requires NroffEdit version 1.40 or later.
.ti 0
5.2 Informative References
.in 14
.\" \# REF -- Managed reference list. Syntax: [RFC]nnnn[;Label], ... ,[RFC]nnnn[;Label]
.\" \#
.\" \# ERF -- End of managed reference list
.ti 3
[DFXML] Garfinkel, S., "Digital forensics XML and the DFXML toolset", Digital Investigation, 2012.
.ti 3
[DEXF] Gil, Y. H., Hong, D., Rutkowski, A. M., "Revised draft on Recommendation ITU-T X.def: digital forensics exchange format", ITU Study Group 17, September 2, 2011.
.ti 3
[NIJ199408] "NIJ Special Report 199408: Forensic Examination of Digital Evidence: A Guide for Law Enforcement"
.ti 3
[ISO8601] International Organization for Standardization, "International
Standard: Data elements and interchange formats - Information
interchange - Representation of dates and times", ISO 8601,
Second Edition, December 2000.
.in 3
.ti 0
Authors' Addresses
.sp
.nf
Christopher Inacio
4500 5th Ave.
Pittsburgh, PA 15143
USA
EMail: [email protected]
Younhee gil
Electronics and Telecommunications Research Institute
EMail: [email protected]
.sp
.fi
.ti 0
Appendix A: Digital Forensics XML Schema
[[preliminary schema here]]
.\" How do you block quote in nroff?
.nf 80
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:digitalforensics="urn:ietf:params:xml:ns:iodef-digitalforensics-1.0"
targetNamespace="urn:ietf:params:xml:ns:iodef-digitalforensics-1.0"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xsd:element name="digitalforensics" type="digitalforensicsType"/>
<xsd:element name="digitalforensicsType"/>
<xsd:complexType name="digitalforensicsType">
<xsd:attribute name="MajorVersion"type="xsd:integer" use="required"/>
<xsd:attribute name="MinorVersion"type="xsd:integer" use="required"/>
</xsd:complexType>
<!-- HASH type definition -->
<xsd:simpleType name="hashType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="MD5"/>
<xsd:enumeration value="SHA-1"/>
<xsd:enumeration value="SHA-256"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="hashSize" type="xsd:integer"/>
<xsd:simpleType name="hashValue" type="xsd:string">
<xsd:restriction>
<pattern value='[a-fA-F0-9]+'>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="hash">
<xsd:sequence>
<xsd:element ref="hashType"/>
<xsd:element ref="hashSize"/>
<xsd:element ref="hashValue"/>
</xsd:sequence>
</xsd:complexType>
<!-- byte runs -->
<xsd:element name="run">
<xsd:complexType>
<xsd:attribute name="filesystem_offset" type="xsd:nonNegativeInteger"/>
<xsd:attribute name="file_offset" type="xsd:nonNegativeInteger"/>
<xsd:attribute name="image_offset" type="xsd:nonNegativeInteger"/>
<xsd:attribute name="len" type="xsd:nonNegativeInteger"/>
</xsd:complexType>
<xsd:element ref="hash"/>
</xsd:element>
<xsd:element name="byte_run">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="run" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!-- File Object Definition -->
<!-- name, ID, Size, Partition, Mode, ACL, mtime, atime, ctime -->
<xsd:element name="file_object">
<xsd:complexType>
<xsd:sequence>
<!-- <xsd:element name="" type="" minOccurs=""/> -->
<xsd:element name="filename" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="id" type="xsd:string" minOccurs="0"/>
<xsd:element name="filesize" type="xsd:positiveInteger" minOccurs="0"/>
<xsd:element name="partition" type="xsd:nonNegativeInteger" minOccurs="0"/>
<xsd:element name="mode" type="xsd:nonNegativeInteger" minOccurs="0"/>
<xsd:element name="acl" type="xsd:string" minOccurs="0"/>
<xsd:element name="mtime" type="" minOccurs="0"/>
<xsd:element name="atime" type="" minOccurs="0"/>
<xsd:element name="ctime" type="" minOccurs="0"/>
<xsd:element ref="byte_run" minOccurs="0"/>
<xsd:element ref="hash" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>