stix_schema_spy 1.3 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/config/1.2/stix/campaign.xsd +2 -2
  3. data/config/1.2/stix/cybox/cybox_common.xsd +2700 -2700
  4. data/config/1.2/stix/cybox/cybox_core.xsd +1145 -1145
  5. data/config/1.2/stix/cybox/cybox_default_vocabularies.xsd +5180 -5180
  6. data/config/1.2/stix/cybox/extensions/location/ciq_address_3.0.xsd +27 -27
  7. data/config/1.2/stix/cybox/extensions/platform/cpe2.3.xsd +34 -34
  8. data/config/1.2/stix/cybox/external/cpe_2.3/xml.xsd +145 -145
  9. data/config/1.2/stix/cybox/external/oasis_ciq_3.0/xlink-2003-12-31.xsd +90 -90
  10. data/config/1.2/stix/cybox/objects/API_Object.xsd +55 -55
  11. data/config/1.2/stix/cybox/objects/ARP_Cache_Object.xsd +98 -98
  12. data/config/1.2/stix/cybox/objects/AS_Object.xsd +50 -50
  13. data/config/1.2/stix/cybox/objects/Account_Object.xsd +501 -501
  14. data/config/1.2/stix/cybox/objects/Address_Object.xsd +127 -127
  15. data/config/1.2/stix/cybox/objects/Archive_File_Object.xsd +134 -134
  16. data/config/1.2/stix/cybox/objects/Artifact_Object.xsd +212 -212
  17. data/config/1.2/stix/cybox/objects/Code_Object.xsd +417 -417
  18. data/config/1.2/stix/cybox/objects/Custom_Object.xsd +42 -42
  19. data/config/1.2/stix/cybox/objects/DNS_Cache_Object.xsd +53 -53
  20. data/config/1.2/stix/cybox/objects/DNS_Query_Object.xsd +164 -164
  21. data/config/1.2/stix/cybox/objects/DNS_Record_Object.xsd +92 -92
  22. data/config/1.2/stix/cybox/objects/Device_Object.xsd +65 -65
  23. data/config/1.2/stix/cybox/objects/Disk_Object.xsd +117 -117
  24. data/config/1.2/stix/cybox/objects/Disk_Partition_Object.xsd +199 -199
  25. data/config/1.2/stix/cybox/objects/Domain_Name_Object.xsd +57 -57
  26. data/config/1.2/stix/cybox/objects/Email_Message_Object.xsd +278 -278
  27. data/config/1.2/stix/cybox/objects/File_Object.xsd +397 -397
  28. data/config/1.2/stix/cybox/objects/GUI_Dialogbox_Object.xsd +41 -41
  29. data/config/1.2/stix/cybox/objects/GUI_Object.xsd +40 -40
  30. data/config/1.2/stix/cybox/objects/GUI_Window_Object.xsd +46 -46
  31. data/config/1.2/stix/cybox/objects/HTTP_Session_Object.xsd +633 -633
  32. data/config/1.2/stix/cybox/objects/Hostname_Object.xsd +45 -45
  33. data/config/1.2/stix/cybox/objects/Image_File_Object.xsd +124 -124
  34. data/config/1.2/stix/cybox/objects/Library_Object.xsd +114 -114
  35. data/config/1.2/stix/cybox/objects/Link_Object.xsd +36 -36
  36. data/config/1.2/stix/cybox/objects/Linux_Package_Object.xsd +75 -75
  37. data/config/1.2/stix/cybox/objects/Memory_Object.xsd +141 -141
  38. data/config/1.2/stix/cybox/objects/Mutex_Object.xsd +40 -40
  39. data/config/1.2/stix/cybox/objects/Network_Connection_Object.xsd +540 -540
  40. data/config/1.2/stix/cybox/objects/Network_Flow_Object.xsd +1559 -1559
  41. data/config/1.2/stix/cybox/objects/Network_Packet_Object.xsd +2934 -2934
  42. data/config/1.2/stix/cybox/objects/Network_Route_Entry_Object.xsd +155 -155
  43. data/config/1.2/stix/cybox/objects/Network_Route_Object.xsd +93 -93
  44. data/config/1.2/stix/cybox/objects/Network_Socket_Object.xsd +529 -529
  45. data/config/1.2/stix/cybox/objects/Network_Subnet_Object.xsd +64 -64
  46. data/config/1.2/stix/cybox/objects/PDF_File_Object.xsd +595 -595
  47. data/config/1.2/stix/cybox/objects/Pipe_Object.xsd +40 -40
  48. data/config/1.2/stix/cybox/objects/Port_Object.xsd +40 -40
  49. data/config/1.2/stix/cybox/objects/Process_Object.xsd +199 -199
  50. data/config/1.2/stix/cybox/objects/Product_Object.xsd +65 -65
  51. data/config/1.2/stix/cybox/objects/SMS_Message_Object.xsd +79 -79
  52. data/config/1.2/stix/cybox/objects/Semaphore_Object.xsd +50 -50
  53. data/config/1.2/stix/cybox/objects/Socket_Address_Object.xsd +50 -50
  54. data/config/1.2/stix/cybox/objects/System_Object.xsd +410 -410
  55. data/config/1.2/stix/cybox/objects/URI_Object.xsd +62 -62
  56. data/config/1.2/stix/cybox/objects/URL_History_Object.xsd +104 -104
  57. data/config/1.2/stix/cybox/objects/Unix_File_Object.xsd +164 -164
  58. data/config/1.2/stix/cybox/objects/Unix_Network_Route_Entry_Object.xsd +56 -56
  59. data/config/1.2/stix/cybox/objects/Unix_Pipe_Object.xsd +36 -36
  60. data/config/1.2/stix/cybox/objects/Unix_Process_Object.xsd +143 -143
  61. data/config/1.2/stix/cybox/objects/Unix_User_Account_Object.xsd +78 -78
  62. data/config/1.2/stix/cybox/objects/Unix_Volume_Object.xsd +41 -41
  63. data/config/1.2/stix/cybox/objects/User_Account_Object.xsd +110 -110
  64. data/config/1.2/stix/cybox/objects/User_Session_Object.xsd +60 -60
  65. data/config/1.2/stix/cybox/objects/Volume_Object.xsd +235 -235
  66. data/config/1.2/stix/cybox/objects/Whois_Object.xsd +430 -430
  67. data/config/1.2/stix/cybox/objects/Win_Computer_Account_Object.xsd +135 -135
  68. data/config/1.2/stix/cybox/objects/Win_Critical_Section_Object.xsd +40 -40
  69. data/config/1.2/stix/cybox/objects/Win_Driver_Object.xsd +270 -270
  70. data/config/1.2/stix/cybox/objects/Win_Event_Log_Object.xsd +137 -137
  71. data/config/1.2/stix/cybox/objects/Win_Event_Object.xsd +80 -80
  72. data/config/1.2/stix/cybox/objects/Win_Executable_File_Object.xsd +1311 -1311
  73. data/config/1.2/stix/cybox/objects/Win_File_Object.xsd +269 -269
  74. data/config/1.2/stix/cybox/objects/Win_Filemapping_Object.xsd +175 -175
  75. data/config/1.2/stix/cybox/objects/Win_Handle_Object.xsd +351 -351
  76. data/config/1.2/stix/cybox/objects/Win_Hook_Object.xsd +152 -152
  77. data/config/1.2/stix/cybox/objects/Win_Kernel_Hook_Object.xsd +109 -109
  78. data/config/1.2/stix/cybox/objects/Win_Kernel_Object.xsd +128 -128
  79. data/config/1.2/stix/cybox/objects/Win_Mailslot_Object.xsd +56 -56
  80. data/config/1.2/stix/cybox/objects/Win_Memory_Page_Region_Object.xsd +198 -198
  81. data/config/1.2/stix/cybox/objects/Win_Mutex_Object.xsd +42 -42
  82. data/config/1.2/stix/cybox/objects/Win_Network_Route_Entry_Object.xsd +200 -200
  83. data/config/1.2/stix/cybox/objects/Win_Network_Share_Object.xsd +205 -205
  84. data/config/1.2/stix/cybox/objects/Win_Pipe_Object.xsd +73 -73
  85. data/config/1.2/stix/cybox/objects/Win_Prefetch_Object.xsd +113 -113
  86. data/config/1.2/stix/cybox/objects/Win_Process_Object.xsd +174 -174
  87. data/config/1.2/stix/cybox/objects/Win_Registry_Key_Object.xsd +290 -290
  88. data/config/1.2/stix/cybox/objects/Win_Semaphore_Object.xsd +42 -42
  89. data/config/1.2/stix/cybox/objects/Win_Service_Object.xsd +287 -287
  90. data/config/1.2/stix/cybox/objects/Win_System_Object.xsd +126 -126
  91. data/config/1.2/stix/cybox/objects/Win_System_Restore_Object.xsd +207 -207
  92. data/config/1.2/stix/cybox/objects/Win_Task_Object.xsd +755 -755
  93. data/config/1.2/stix/cybox/objects/Win_Thread_Object.xsd +146 -146
  94. data/config/1.2/stix/cybox/objects/Win_User_Account_Object.xsd +73 -73
  95. data/config/1.2/stix/cybox/objects/Win_Volume_Object.xsd +161 -161
  96. data/config/1.2/stix/cybox/objects/Win_Waitable_Timer_Object.xsd +90 -90
  97. data/config/1.2/stix/cybox/objects/X509_Certificate_Object.xsd +275 -275
  98. data/config/1.2/stix/data_marking.xsd +5 -5
  99. data/config/1.2/stix/exploit_target.xsd +2 -2
  100. data/config/1.2/stix/incident.xsd +1 -1
  101. data/config/1.2/stix/indicator.xsd +6 -6
  102. data/config/1.2/stix/report.xsd +6 -6
  103. data/config/1.2/stix/stix_common.xsd +22 -22
  104. data/config/1.2/stix/stix_core.xsd +7 -7
  105. data/config/1.2/stix/stix_default_vocabularies.xsd +8 -8
  106. data/config/1.2/stix/ttp.xsd +1 -1
  107. data/lib/stix_schema_spy/models/has_children.rb +3 -3
  108. data/lib/stix_schema_spy/version.rb +1 -1
  109. metadata +2 -2
@@ -1,212 +1,212 @@
1
- <?xml version='1.0' encoding='UTF-8'?>
2
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ArtifactObj="http://cybox.mitre.org/objects#ArtifactObject-2" xmlns:cyboxCommon="http://cybox.mitre.org/common-2" targetNamespace="http://cybox.mitre.org/objects#ArtifactObject-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.1">
3
- <xs:annotation>
4
- <xs:documentation>This schema was originally developed by The MITRE Corporation. The CybOX XML Schema implementation is maintained by The MITRE Corporation and developed by the open CybOX Community. For more information, including how to get involved in the effort and how to submit change requests, please visit the CybOX website at http://cybox.mitre.org.</xs:documentation>
5
- <xs:appinfo>
6
- <schema>Artifact_Object</schema>
7
- <version>2.1</version>
8
- <date>01/22/2014</date>
9
- <short_description>The following specifies the fields and types that compose this defined CybOX Object type. Each defined object is an extension of the abstract ObjectPropertiesType, defined in CybOX Common. For more information on this extension mechanism, please see the CybOX Specification. This document is intended for developers and assumes some familiarity with XML.</short_description>
10
- <terms_of_use>Copyright (c) 2012-2014, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the CybOX License located at http://cybox.mitre.org/about/termsofuse.html. See the CybOX License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the CybOX Schema, this license header must be included.</terms_of_use>
11
- </xs:appinfo>
12
- </xs:annotation>
13
- <xs:import namespace="http://cybox.mitre.org/common-2" schemaLocation="../cybox_common.xsd"/>
14
- <xs:element name="Artifact" type="ArtifactObj:ArtifactObjectType">
15
- <xs:annotation>
16
- <xs:documentation>The Artifact object is intended to encapsulate and convey the content of a Raw Artifact.</xs:documentation>
17
- </xs:annotation>
18
- </xs:element>
19
- <xs:complexType name="ArtifactObjectType">
20
- <xs:annotation>
21
- <xs:documentation>The ArtifactObjectType type is intended to encapsulate and convey the content of a Raw Artifact.</xs:documentation>
22
- </xs:annotation>
23
- <xs:complexContent>
24
- <xs:extension base="cyboxCommon:ObjectPropertiesType">
25
- <xs:sequence>
26
- <xs:element name="Hashes" type="cyboxCommon:HashListType" minOccurs="0">
27
- <xs:annotation>
28
- <xs:documentation>The Hashes field is optional and specifies hashes for the Raw_Artifact content.</xs:documentation>
29
- </xs:annotation>
30
- </xs:element>
31
- <xs:element name="Packaging" type="ArtifactObj:PackagingType" minOccurs="0">
32
- <xs:annotation>
33
- <xs:documentation>The Packaging field is optional and characterizes packaging layers (e.g. compression, encryption, encoding) applied to the original content to generate the content of the Raw_Artifact field of this Object. The ordering of entries in this sequence implicitly denotes the ordering of packaging layer operations applied.</xs:documentation>
34
- </xs:annotation>
35
- </xs:element>
36
- <xs:choice>
37
- <xs:element name="Raw_Artifact" type="ArtifactObj:RawArtifactType" minOccurs="0">
38
- <xs:annotation>
39
- <xs:documentation>The Raw_Artifact field contains the raw content of a cyber artifact (rather than simply analysis of that artifact). It is conveyed within a string-based field and should be further enclosed in a CDATA section within the string-based field.</xs:documentation>
40
- </xs:annotation>
41
- </xs:element>
42
- <xs:element name="Raw_Artifact_Reference" type="xs:anyURI" minOccurs="0">
43
- <xs:annotation>
44
- <xs:documentation>The Raw_Artifact_Reference field contains a reference to an external instance of the raw content of a cyber artifact (rather than simply analysis of that artifact).</xs:documentation>
45
- </xs:annotation>
46
- </xs:element>
47
- </xs:choice>
48
- </xs:sequence>
49
- <xs:attribute name="type" type="ArtifactObj:ArtifactTypeEnum">
50
- <xs:annotation>
51
- <xs:documentation>The type field specifies the general type of the artifact contained in this Defined Object.</xs:documentation>
52
- </xs:annotation>
53
- </xs:attribute>
54
- <xs:attribute name="content_type" type="xs:string">
55
- <xs:annotation>
56
- <xs:documentation>The content_type field is optional and specifies the Internet Media Type of the artifact contained in this Defined Object.</xs:documentation>
57
- </xs:annotation>
58
- </xs:attribute>
59
- <xs:attribute name="content_type_version" type="xs:string">
60
- <xs:annotation>
61
- <xs:documentation>The content_type_version field is optional and specifies the content type version of the artifact contained in this Defined Object.</xs:documentation>
62
- </xs:annotation>
63
- </xs:attribute>
64
- <xs:attribute name="suspected_malicious" type="xs:boolean">
65
- <xs:annotation>
66
- <xs:documentation>The suspected_malicious field is optional and conveys whether the content of the Raw_Artifact is believed to be malicious.</xs:documentation>
67
- </xs:annotation>
68
- </xs:attribute>
69
- </xs:extension>
70
- </xs:complexContent>
71
- </xs:complexType>
72
- <xs:complexType name="RawArtifactType">
73
- <xs:annotation>
74
- <xs:documentation>The RawArtifactType is intended to convey, with minimal characterization, the content of the Raw Artifact itself.</xs:documentation>
75
- </xs:annotation>
76
- <xs:complexContent>
77
- <xs:extension base="cyboxCommon:StringObjectPropertyType">
78
- <xs:attribute name="byte_order" type="cyboxCommon:EndiannessTypeEnum">
79
- <xs:annotation>
80
- <xs:documentation>The byte_order field specifies the endianness of the unpacked (e.g., unencrypted, base64-decoded, decompressed, etc.) Raw Artifact data.</xs:documentation>
81
- </xs:annotation>
82
- </xs:attribute>
83
- </xs:extension>
84
- </xs:complexContent>
85
- </xs:complexType>
86
- <xs:complexType name="PackagingType">
87
- <xs:annotation>
88
- <xs:documentation>The PackagingType captures any packaging layers applied to an artifact.</xs:documentation>
89
- </xs:annotation>
90
- <xs:sequence>
91
- <xs:choice maxOccurs="unbounded">
92
- <xs:element name="Compression" type="ArtifactObj:CompressionType" minOccurs="0">
93
- <xs:annotation>
94
- <xs:documentation>The Compression field is optional and specifies details for a compression layer applied to the content of the Raw_Artifact.</xs:documentation>
95
- </xs:annotation>
96
- </xs:element>
97
- <xs:element name="Encryption" type="ArtifactObj:EncryptionType" minOccurs="0">
98
- <xs:annotation>
99
- <xs:documentation>The Encryption field is optional and specifies details for an encryption layer applied to the content of the Raw_Artifact.</xs:documentation>
100
- </xs:annotation>
101
- </xs:element>
102
- <xs:element name="Encoding" type="ArtifactObj:EncodingType" minOccurs="0">
103
- <xs:annotation>
104
- <xs:documentation>The Encoding field is optional and specifies details for an encoding layer applied to the content of the Raw_Artifact.</xs:documentation>
105
- </xs:annotation>
106
- </xs:element>
107
- </xs:choice>
108
- </xs:sequence>
109
- <xs:attribute name="is_encrypted" type="xs:boolean">
110
- <xs:annotation>
111
- <xs:documentation>The is_encrypted field is optional and specifies whether the Raw_Artifact content is protected/encrypted.</xs:documentation>
112
- </xs:annotation>
113
- </xs:attribute>
114
- <xs:attribute name="is_compressed" type="xs:boolean">
115
- <xs:annotation>
116
- <xs:documentation>The is_compressed field is optional and specifies whether the Raw_Artifact content is compressed.</xs:documentation>
117
- </xs:annotation>
118
- </xs:attribute>
119
- </xs:complexType>
120
- <xs:complexType name="CompressionType">
121
- <xs:annotation>
122
- <xs:documentation>The CompressionType captures any compression packaging details for an artifact.</xs:documentation>
123
- </xs:annotation>
124
- <xs:attribute name="compression_mechanism" type="xs:string">
125
- <xs:annotation>
126
- <xs:documentation>The compression_mechanism field is optional and specifies the compression algorithm utilized to protect the Raw_Artifact content.</xs:documentation>
127
- </xs:annotation>
128
- </xs:attribute>
129
- <xs:attribute name="compression_mechanism_ref" type="xs:anyURI">
130
- <xs:annotation>
131
- <xs:documentation>The compression_mechanism_ref field is optional and conveys a reference to a description of the compression algorithm utilized to protect the Raw_Artifact content.</xs:documentation>
132
- </xs:annotation>
133
- </xs:attribute>
134
- </xs:complexType>
135
- <xs:complexType name="EncryptionType">
136
- <xs:annotation>
137
- <xs:documentation>The EncryptionType captures any encryption packaging details for an artifact.</xs:documentation>
138
- </xs:annotation>
139
- <xs:attribute name="encryption_mechanism" type="xs:string">
140
- <xs:annotation>
141
- <xs:documentation>The encryption_mechanism field is optional and specifies the protection/encryption algorithm utilized to protect the Raw_Artifact content.</xs:documentation>
142
- </xs:annotation>
143
- </xs:attribute>
144
- <xs:attribute name="encryption_mechanism_ref" type="xs:anyURI">
145
- <xs:annotation>
146
- <xs:documentation>The encryption_mechanism_ref field is optional and conveys a reference to a description of the protection/encryption algorithm utilized to protect the Raw_Artifact content.</xs:documentation>
147
- </xs:annotation>
148
- </xs:attribute>
149
- <xs:attribute name="encryption_key" type="xs:string">
150
- <xs:annotation>
151
- <xs:documentation>The encryption_key field is optional and locally specifies the password for unprotecting/decrypting the Raw_Artifact content.</xs:documentation>
152
- </xs:annotation>
153
- </xs:attribute>
154
- <xs:attribute name="encryption_key_ref" type="xs:anyURI">
155
- <xs:annotation>
156
- <xs:documentation>The encryption_key_ref field is optional and specifies a reference to a remote specification of the password for unlocking/decrypting the Raw_Artifact content.</xs:documentation>
157
- </xs:annotation>
158
- </xs:attribute>
159
- </xs:complexType>
160
- <xs:complexType name="EncodingType">
161
- <xs:annotation>
162
- <xs:documentation>The EncodingType captures any encoding packaging details for an artifact.</xs:documentation>
163
- </xs:annotation>
164
- <xs:attribute name="algorithm" type="xs:string" default="Base64">
165
- <xs:annotation>
166
- <xs:documentation>The algorithm field is optional and specifies the encoding algorithm utilized to encode the Raw_Artifact.</xs:documentation>
167
- </xs:annotation>
168
- </xs:attribute>
169
- <xs:attribute name="character_set" type="xs:string">
170
- <xs:annotation>
171
- <xs:documentation>The character_set field is optional and specifies the character set utilized in the Raw_Artifact content encoding.</xs:documentation>
172
- </xs:annotation>
173
- </xs:attribute>
174
- <xs:attribute name="custom_character_set_ref" type="xs:anyURI">
175
- <xs:annotation>
176
- <xs:documentation>The custom_character_set_ref field is optional and conveys a reference to a specification of the custom character set used to encode the Raw_Artifact.</xs:documentation>
177
- </xs:annotation>
178
- </xs:attribute>
179
- </xs:complexType>
180
- <xs:simpleType name="ArtifactTypeEnum">
181
- <xs:annotation>
182
- <xs:documentation>The ArtifactTypeEnum is a (non-exhaustive) enumeration of cyber raw artifact types.</xs:documentation>
183
- </xs:annotation>
184
- <xs:restriction base="xs:string">
185
- <xs:enumeration value="File">
186
- <xs:annotation>
187
- <xs:documentation>The File value specifies that the artifact is a file.</xs:documentation>
188
- </xs:annotation>
189
- </xs:enumeration>
190
- <xs:enumeration value="Memory Region">
191
- <xs:annotation>
192
- <xs:documentation>The Memory Region value specifies that the artifact is a block of data from a region of memory.</xs:documentation>
193
- </xs:annotation>
194
- </xs:enumeration>
195
- <xs:enumeration value="File System Fragment">
196
- <xs:annotation>
197
- <xs:documentation>The File System Fragment value specifies that the artifact is a block of data from a file system.</xs:documentation>
198
- </xs:annotation>
199
- </xs:enumeration>
200
- <xs:enumeration value="Network Traffic">
201
- <xs:annotation>
202
- <xs:documentation>The Network Traffic value specifies that the artifact is a block of network traffic data such as PCAP.</xs:documentation>
203
- </xs:annotation>
204
- </xs:enumeration>
205
- <xs:enumeration value="Generic Data Region">
206
- <xs:annotation>
207
- <xs:documentation>The Generic Data Region value specifies that the artifact is a block of data from an unknown source.</xs:documentation>
208
- </xs:annotation>
209
- </xs:enumeration>
210
- </xs:restriction>
211
- </xs:simpleType>
212
- </xs:schema>
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ArtifactObj="http://cybox.mitre.org/objects#ArtifactObject-2" xmlns:cyboxCommon="http://cybox.mitre.org/common-2" targetNamespace="http://cybox.mitre.org/objects#ArtifactObject-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.1">
3
+ <xs:annotation>
4
+ <xs:documentation>This schema was originally developed by The MITRE Corporation. The CybOX XML Schema implementation is maintained by The MITRE Corporation and developed by the open CybOX Community. For more information, including how to get involved in the effort and how to submit change requests, please visit the CybOX website at http://cybox.mitre.org.</xs:documentation>
5
+ <xs:appinfo>
6
+ <schema>Artifact_Object</schema>
7
+ <version>2.1</version>
8
+ <date>01/22/2014</date>
9
+ <short_description>The following specifies the fields and types that compose this defined CybOX Object type. Each defined object is an extension of the abstract ObjectPropertiesType, defined in CybOX Common. For more information on this extension mechanism, please see the CybOX Specification. This document is intended for developers and assumes some familiarity with XML.</short_description>
10
+ <terms_of_use>Copyright (c) 2012-2014, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the CybOX License located at http://cybox.mitre.org/about/termsofuse.html. See the CybOX License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the CybOX Schema, this license header must be included.</terms_of_use>
11
+ </xs:appinfo>
12
+ </xs:annotation>
13
+ <xs:import namespace="http://cybox.mitre.org/common-2" schemaLocation="../cybox_common.xsd"/>
14
+ <xs:element name="Artifact" type="ArtifactObj:ArtifactObjectType">
15
+ <xs:annotation>
16
+ <xs:documentation>The Artifact object is intended to encapsulate and convey the content of a Raw Artifact.</xs:documentation>
17
+ </xs:annotation>
18
+ </xs:element>
19
+ <xs:complexType name="ArtifactObjectType">
20
+ <xs:annotation>
21
+ <xs:documentation>The ArtifactObjectType type is intended to encapsulate and convey the content of a Raw Artifact.</xs:documentation>
22
+ </xs:annotation>
23
+ <xs:complexContent>
24
+ <xs:extension base="cyboxCommon:ObjectPropertiesType">
25
+ <xs:sequence>
26
+ <xs:element name="Hashes" type="cyboxCommon:HashListType" minOccurs="0">
27
+ <xs:annotation>
28
+ <xs:documentation>The Hashes field is optional and specifies hashes for the Raw_Artifact content.</xs:documentation>
29
+ </xs:annotation>
30
+ </xs:element>
31
+ <xs:element name="Packaging" type="ArtifactObj:PackagingType" minOccurs="0">
32
+ <xs:annotation>
33
+ <xs:documentation>The Packaging field is optional and characterizes packaging layers (e.g. compression, encryption, encoding) applied to the original content to generate the content of the Raw_Artifact field of this Object. The ordering of entries in this sequence implicitly denotes the ordering of packaging layer operations applied.</xs:documentation>
34
+ </xs:annotation>
35
+ </xs:element>
36
+ <xs:choice>
37
+ <xs:element name="Raw_Artifact" type="ArtifactObj:RawArtifactType" minOccurs="0">
38
+ <xs:annotation>
39
+ <xs:documentation>The Raw_Artifact field contains the raw content of a cyber artifact (rather than simply analysis of that artifact). It is conveyed within a string-based field and should be further enclosed in a CDATA section within the string-based field.</xs:documentation>
40
+ </xs:annotation>
41
+ </xs:element>
42
+ <xs:element name="Raw_Artifact_Reference" type="xs:anyURI" minOccurs="0">
43
+ <xs:annotation>
44
+ <xs:documentation>The Raw_Artifact_Reference field contains a reference to an external instance of the raw content of a cyber artifact (rather than simply analysis of that artifact).</xs:documentation>
45
+ </xs:annotation>
46
+ </xs:element>
47
+ </xs:choice>
48
+ </xs:sequence>
49
+ <xs:attribute name="type" type="ArtifactObj:ArtifactTypeEnum">
50
+ <xs:annotation>
51
+ <xs:documentation>The type field specifies the general type of the artifact contained in this Defined Object.</xs:documentation>
52
+ </xs:annotation>
53
+ </xs:attribute>
54
+ <xs:attribute name="content_type" type="xs:string">
55
+ <xs:annotation>
56
+ <xs:documentation>The content_type field is optional and specifies the Internet Media Type of the artifact contained in this Defined Object.</xs:documentation>
57
+ </xs:annotation>
58
+ </xs:attribute>
59
+ <xs:attribute name="content_type_version" type="xs:string">
60
+ <xs:annotation>
61
+ <xs:documentation>The content_type_version field is optional and specifies the content type version of the artifact contained in this Defined Object.</xs:documentation>
62
+ </xs:annotation>
63
+ </xs:attribute>
64
+ <xs:attribute name="suspected_malicious" type="xs:boolean">
65
+ <xs:annotation>
66
+ <xs:documentation>The suspected_malicious field is optional and conveys whether the content of the Raw_Artifact is believed to be malicious.</xs:documentation>
67
+ </xs:annotation>
68
+ </xs:attribute>
69
+ </xs:extension>
70
+ </xs:complexContent>
71
+ </xs:complexType>
72
+ <xs:complexType name="RawArtifactType">
73
+ <xs:annotation>
74
+ <xs:documentation>The RawArtifactType is intended to convey, with minimal characterization, the content of the Raw Artifact itself.</xs:documentation>
75
+ </xs:annotation>
76
+ <xs:complexContent>
77
+ <xs:extension base="cyboxCommon:StringObjectPropertyType">
78
+ <xs:attribute name="byte_order" type="cyboxCommon:EndiannessTypeEnum">
79
+ <xs:annotation>
80
+ <xs:documentation>The byte_order field specifies the endianness of the unpacked (e.g., unencrypted, base64-decoded, decompressed, etc.) Raw Artifact data.</xs:documentation>
81
+ </xs:annotation>
82
+ </xs:attribute>
83
+ </xs:extension>
84
+ </xs:complexContent>
85
+ </xs:complexType>
86
+ <xs:complexType name="PackagingType">
87
+ <xs:annotation>
88
+ <xs:documentation>The PackagingType captures any packaging layers applied to an artifact.</xs:documentation>
89
+ </xs:annotation>
90
+ <xs:sequence>
91
+ <xs:choice maxOccurs="unbounded">
92
+ <xs:element name="Compression" type="ArtifactObj:CompressionType" minOccurs="0">
93
+ <xs:annotation>
94
+ <xs:documentation>The Compression field is optional and specifies details for a compression layer applied to the content of the Raw_Artifact.</xs:documentation>
95
+ </xs:annotation>
96
+ </xs:element>
97
+ <xs:element name="Encryption" type="ArtifactObj:EncryptionType" minOccurs="0">
98
+ <xs:annotation>
99
+ <xs:documentation>The Encryption field is optional and specifies details for an encryption layer applied to the content of the Raw_Artifact.</xs:documentation>
100
+ </xs:annotation>
101
+ </xs:element>
102
+ <xs:element name="Encoding" type="ArtifactObj:EncodingType" minOccurs="0">
103
+ <xs:annotation>
104
+ <xs:documentation>The Encoding field is optional and specifies details for an encoding layer applied to the content of the Raw_Artifact.</xs:documentation>
105
+ </xs:annotation>
106
+ </xs:element>
107
+ </xs:choice>
108
+ </xs:sequence>
109
+ <xs:attribute name="is_encrypted" type="xs:boolean">
110
+ <xs:annotation>
111
+ <xs:documentation>The is_encrypted field is optional and specifies whether the Raw_Artifact content is protected/encrypted.</xs:documentation>
112
+ </xs:annotation>
113
+ </xs:attribute>
114
+ <xs:attribute name="is_compressed" type="xs:boolean">
115
+ <xs:annotation>
116
+ <xs:documentation>The is_compressed field is optional and specifies whether the Raw_Artifact content is compressed.</xs:documentation>
117
+ </xs:annotation>
118
+ </xs:attribute>
119
+ </xs:complexType>
120
+ <xs:complexType name="CompressionType">
121
+ <xs:annotation>
122
+ <xs:documentation>The CompressionType captures any compression packaging details for an artifact.</xs:documentation>
123
+ </xs:annotation>
124
+ <xs:attribute name="compression_mechanism" type="xs:string">
125
+ <xs:annotation>
126
+ <xs:documentation>The compression_mechanism field is optional and specifies the compression algorithm utilized to protect the Raw_Artifact content.</xs:documentation>
127
+ </xs:annotation>
128
+ </xs:attribute>
129
+ <xs:attribute name="compression_mechanism_ref" type="xs:anyURI">
130
+ <xs:annotation>
131
+ <xs:documentation>The compression_mechanism_ref field is optional and conveys a reference to a description of the compression algorithm utilized to protect the Raw_Artifact content.</xs:documentation>
132
+ </xs:annotation>
133
+ </xs:attribute>
134
+ </xs:complexType>
135
+ <xs:complexType name="EncryptionType">
136
+ <xs:annotation>
137
+ <xs:documentation>The EncryptionType captures any encryption packaging details for an artifact.</xs:documentation>
138
+ </xs:annotation>
139
+ <xs:attribute name="encryption_mechanism" type="xs:string">
140
+ <xs:annotation>
141
+ <xs:documentation>The encryption_mechanism field is optional and specifies the protection/encryption algorithm utilized to protect the Raw_Artifact content.</xs:documentation>
142
+ </xs:annotation>
143
+ </xs:attribute>
144
+ <xs:attribute name="encryption_mechanism_ref" type="xs:anyURI">
145
+ <xs:annotation>
146
+ <xs:documentation>The encryption_mechanism_ref field is optional and conveys a reference to a description of the protection/encryption algorithm utilized to protect the Raw_Artifact content.</xs:documentation>
147
+ </xs:annotation>
148
+ </xs:attribute>
149
+ <xs:attribute name="encryption_key" type="xs:string">
150
+ <xs:annotation>
151
+ <xs:documentation>The encryption_key field is optional and locally specifies the password for unprotecting/decrypting the Raw_Artifact content.</xs:documentation>
152
+ </xs:annotation>
153
+ </xs:attribute>
154
+ <xs:attribute name="encryption_key_ref" type="xs:anyURI">
155
+ <xs:annotation>
156
+ <xs:documentation>The encryption_key_ref field is optional and specifies a reference to a remote specification of the password for unlocking/decrypting the Raw_Artifact content.</xs:documentation>
157
+ </xs:annotation>
158
+ </xs:attribute>
159
+ </xs:complexType>
160
+ <xs:complexType name="EncodingType">
161
+ <xs:annotation>
162
+ <xs:documentation>The EncodingType captures any encoding packaging details for an artifact.</xs:documentation>
163
+ </xs:annotation>
164
+ <xs:attribute name="algorithm" type="xs:string" default="Base64">
165
+ <xs:annotation>
166
+ <xs:documentation>The algorithm field is optional and specifies the encoding algorithm utilized to encode the Raw_Artifact.</xs:documentation>
167
+ </xs:annotation>
168
+ </xs:attribute>
169
+ <xs:attribute name="character_set" type="xs:string">
170
+ <xs:annotation>
171
+ <xs:documentation>The character_set field is optional and specifies the character set utilized in the Raw_Artifact content encoding.</xs:documentation>
172
+ </xs:annotation>
173
+ </xs:attribute>
174
+ <xs:attribute name="custom_character_set_ref" type="xs:anyURI">
175
+ <xs:annotation>
176
+ <xs:documentation>The custom_character_set_ref field is optional and conveys a reference to a specification of the custom character set used to encode the Raw_Artifact.</xs:documentation>
177
+ </xs:annotation>
178
+ </xs:attribute>
179
+ </xs:complexType>
180
+ <xs:simpleType name="ArtifactTypeEnum">
181
+ <xs:annotation>
182
+ <xs:documentation>The ArtifactTypeEnum is a (non-exhaustive) enumeration of cyber raw artifact types.</xs:documentation>
183
+ </xs:annotation>
184
+ <xs:restriction base="xs:string">
185
+ <xs:enumeration value="File">
186
+ <xs:annotation>
187
+ <xs:documentation>The File value specifies that the artifact is a file.</xs:documentation>
188
+ </xs:annotation>
189
+ </xs:enumeration>
190
+ <xs:enumeration value="Memory Region">
191
+ <xs:annotation>
192
+ <xs:documentation>The Memory Region value specifies that the artifact is a block of data from a region of memory.</xs:documentation>
193
+ </xs:annotation>
194
+ </xs:enumeration>
195
+ <xs:enumeration value="File System Fragment">
196
+ <xs:annotation>
197
+ <xs:documentation>The File System Fragment value specifies that the artifact is a block of data from a file system.</xs:documentation>
198
+ </xs:annotation>
199
+ </xs:enumeration>
200
+ <xs:enumeration value="Network Traffic">
201
+ <xs:annotation>
202
+ <xs:documentation>The Network Traffic value specifies that the artifact is a block of network traffic data such as PCAP.</xs:documentation>
203
+ </xs:annotation>
204
+ </xs:enumeration>
205
+ <xs:enumeration value="Generic Data Region">
206
+ <xs:annotation>
207
+ <xs:documentation>The Generic Data Region value specifies that the artifact is a block of data from an unknown source.</xs:documentation>
208
+ </xs:annotation>
209
+ </xs:enumeration>
210
+ </xs:restriction>
211
+ </xs:simpleType>
212
+ </xs:schema>
@@ -1,417 +1,417 @@
1
- <?xml version='1.0' encoding='UTF-8'?>
2
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:CodeObj="http://cybox.mitre.org/objects#CodeObject-2" xmlns:cyboxCommon="http://cybox.mitre.org/common-2" targetNamespace="http://cybox.mitre.org/objects#CodeObject-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.1">
3
- <xs:annotation>
4
- <xs:documentation>This schema was originally developed by The MITRE Corporation. The CybOX XML Schema implementation is maintained by The MITRE Corporation and developed by the open CybOX Community. For more information, including how to get involved in the effort and how to submit change requests, please visit the CybOX website at http://cybox.mitre.org.</xs:documentation>
5
- <xs:appinfo>
6
- <schema>Code_Object</schema>
7
- <version>2.1</version>
8
- <date>01/22/2014</date>
9
- <short_description>The following specifies the fields and types that compose this defined CybOX Object type. Each defined object is an extension of the abstract ObjectPropertiesType, defined in CybOX Common. For more information on this extension mechanism, please see the CybOX Specification. This document is intended for developers and assumes some familiarity with XML. </short_description>
10
- <terms_of_use>Copyright (c) 2012-2014, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the CybOX License located at http://cybox.mitre.org/about/termsofuse.html. See the CybOX License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the CybOX Schema, this license header must be included.</terms_of_use>
11
- </xs:appinfo>
12
- </xs:annotation>
13
- <xs:import namespace="http://cybox.mitre.org/common-2" schemaLocation="../cybox_common.xsd"/>
14
- <xs:element name="Code_Object" type="CodeObj:CodeObjectType">
15
- <xs:annotation>
16
- <xs:documentation>The Code object is intended to characterize a body of computer code.</xs:documentation>
17
- </xs:annotation>
18
- </xs:element>
19
- <xs:complexType name="CodeObjectType">
20
- <xs:annotation>
21
- <xs:documentation>The CodeObjectType type is intended to characterize a body of computer code.</xs:documentation>
22
- </xs:annotation>
23
- <xs:complexContent>
24
- <xs:extension base="cyboxCommon:ObjectPropertiesType">
25
- <xs:sequence>
26
- <xs:element name="Description" type="cyboxCommon:StructuredTextType" minOccurs="0">
27
- <xs:annotation>
28
- <xs:documentation>The Description field is intended for use in providing a brief description of the code that is encapsulated in this field.</xs:documentation>
29
- </xs:annotation>
30
- </xs:element>
31
- <xs:element name="Type" type="CodeObj:CodeTypeType" minOccurs="0">
32
- <xs:annotation>
33
- <xs:documentation>The type field is intended to provide a way of specifying the type of code being characterized.</xs:documentation>
34
- </xs:annotation>
35
- </xs:element>
36
- <xs:element name="Purpose" type="CodeObj:CodePurposeType" minOccurs="0">
37
- <xs:annotation>
38
- <xs:documentation>The type field is intended to provide a way of specifying the purpose or flavor of code being characterized.</xs:documentation>
39
- </xs:annotation>
40
- </xs:element>
41
- <xs:element name="Code_Language" type="CodeObj:CodeLanguageType" minOccurs="0">
42
- <xs:annotation>
43
- <xs:documentation>The code_language field refers to the code language used in the code characterized in this field.</xs:documentation>
44
- </xs:annotation>
45
- </xs:element>
46
- <xs:element name="Targeted_Platforms" type="CodeObj:TargetedPlatformsType" minOccurs="0">
47
- <xs:annotation>
48
- <xs:documentation>The Targeted_Platforms field specifies a list platforms that this code is targeted for.</xs:documentation>
49
- </xs:annotation>
50
- </xs:element>
51
- <xs:element name="Processor_Family" type="CodeObj:ProcessorTypeType" minOccurs="0" maxOccurs="unbounded">
52
- <xs:annotation>
53
- <xs:documentation>The processor_family field specifies the class of processor that the code snippet is targeting. This field may be specified multiple times for code snippets that are applicable across multiple processor families. </xs:documentation>
54
- </xs:annotation>
55
- </xs:element>
56
- <xs:element name="Discovery_Method" type="cyboxCommon:MeasureSourceType" minOccurs="0">
57
- <xs:annotation>
58
- <xs:documentation>The Discovery_Method field is intended to characterize the method and/or tool used to discover the code.</xs:documentation>
59
- </xs:annotation>
60
- </xs:element>
61
- <xs:element name="Start_Address" type="cyboxCommon:HexBinaryObjectPropertyType" minOccurs="0">
62
- <xs:annotation>
63
- <xs:documentation>The start_address field can be used to reference the start address of the code, if it was discovered inside a binary.</xs:documentation>
64
- </xs:annotation>
65
- </xs:element>
66
- <xs:element name="Code_Segment" type="cyboxCommon:StringObjectPropertyType" minOccurs="0">
67
- <xs:annotation>
68
- <xs:documentation>The Code_Segment field encompasses any arbitrary code segment in unencoded (plaintext or binary) format. Code would typically be included here within a CDATA section.</xs:documentation>
69
- </xs:annotation>
70
- </xs:element>
71
- <xs:element name="Code_Segment_XOR" type="CodeObj:CodeSegmentXORType" form="qualified" minOccurs="0">
72
- <xs:annotation>
73
- <xs:documentation>The Code_Segment_XOR field encompasses any arbitrary code segment. Its contents should contain the actual code segment XORed with the pattern defined in the xorpattern property. This is so that the code contained in the pattern does not trigger IDS, AV, or other signature-based scanners. XOR'd Code would typically be included here within a CDATA section.</xs:documentation>
74
- </xs:annotation>
75
- </xs:element>
76
- <xs:element name="Digital_Signatures" type="cyboxCommon:DigitalSignaturesType" minOccurs="0">
77
- <xs:annotation>
78
- <xs:documentation>The Digital_Signatures field is optional and captures one or more digital signatures for the code.</xs:documentation>
79
- </xs:annotation>
80
- </xs:element>
81
- <xs:element name="Extracted_Features" type="cyboxCommon:ExtractedFeaturesType" minOccurs="0">
82
- <xs:annotation>
83
- <xs:documentation>A description of features extracted from this code segment.</xs:documentation>
84
- </xs:annotation>
85
- </xs:element>
86
- </xs:sequence>
87
- </xs:extension>
88
- </xs:complexContent>
89
- </xs:complexType>
90
- <xs:complexType name="CodeTypeType">
91
- <xs:annotation>
92
- <xs:documentation>CodeTypeType specifies types of code, via a union of the CodeTypeEnum type and the atomic xs:string type. Its base type is the CybOX Core BaseObjectPropertyType, for permitting complex (i.e. regular-expression based) specifications.</xs:documentation>
93
- </xs:annotation>
94
- <xs:simpleContent>
95
- <xs:restriction base="cyboxCommon:BaseObjectPropertyType">
96
- <xs:simpleType>
97
- <xs:union memberTypes="CodeObj:CodeTypeEnum xs:string"/>
98
- </xs:simpleType>
99
- <xs:attribute name="datatype" type="cyboxCommon:DatatypeEnum" fixed="string">
100
- <xs:annotation>
101
- <xs:documentation>This field is optional and specifies the expected type for the value of the specified field.</xs:documentation>
102
- </xs:annotation>
103
- </xs:attribute>
104
- </xs:restriction>
105
- </xs:simpleContent>
106
- </xs:complexType>
107
- <xs:complexType name="CodeSegmentXORType">
108
- <xs:annotation>
109
- <xs:documentation>Used to encapsulate a segment of code that has been XORed with a pattern in order to avoid tripping anti-virus detection.</xs:documentation>
110
- </xs:annotation>
111
- <xs:simpleContent>
112
- <xs:extension base="cyboxCommon:StringObjectPropertyType">
113
- <xs:attribute name="xor_pattern" type="xs:hexBinary" default="55AA55AA55AA55BB" use="optional">
114
- <xs:annotation>
115
- <xs:documentation>The xor_pattern field contains a 16-hexadecimal-character hex string, which represents the pattern that the Code_Segment_XOR field should be XORed with in order to recover the actual code. The default value is 55AA55AA55AA55BB, as specified by IETF RFC 5901.</xs:documentation>
116
- </xs:annotation>
117
- </xs:attribute>
118
- </xs:extension>
119
- </xs:simpleContent>
120
- </xs:complexType>
121
- <xs:simpleType name="CodeTypeEnum">
122
- <xs:annotation>
123
- <xs:documentation>CodeTypeEnum is a (non-exhaustive) enumeration of code types.</xs:documentation>
124
- </xs:annotation>
125
- <xs:restriction base="xs:string">
126
- <xs:enumeration value="Source_Code">
127
- <xs:annotation>
128
- <xs:documentation>The code represented is in the form of Source Code.</xs:documentation>
129
- </xs:annotation>
130
- </xs:enumeration>
131
- <xs:enumeration value="Byte_Code">
132
- <xs:annotation>
133
- <xs:documentation>The code represented is in the form of Byte Code.</xs:documentation>
134
- </xs:annotation>
135
- </xs:enumeration>
136
- <xs:enumeration value="Binary_Code">
137
- <xs:annotation>
138
- <xs:documentation>The code represented is in the form of binary code.</xs:documentation>
139
- </xs:annotation>
140
- </xs:enumeration>
141
- </xs:restriction>
142
- </xs:simpleType>
143
- <xs:complexType name="CodePurposeType">
144
- <xs:annotation>
145
- <xs:documentation>CodePurposeType specifies intended purposes of code, via a union of the CodePurposeEnum type and the atomic xs:string type. Its base type is the CybOX Core BaseObjectPropertyType, for permitting complex (i.e. regular-expression based) specifications.</xs:documentation>
146
- </xs:annotation>
147
- <xs:simpleContent>
148
- <xs:restriction base="cyboxCommon:BaseObjectPropertyType">
149
- <xs:simpleType>
150
- <xs:union memberTypes="CodeObj:CodePurposeEnum xs:string"/>
151
- </xs:simpleType>
152
- <xs:attribute name="datatype" type="cyboxCommon:DatatypeEnum" fixed="string">
153
- <xs:annotation>
154
- <xs:documentation>This field is optional and specifies the expected type for the value of the specified field.</xs:documentation>
155
- </xs:annotation>
156
- </xs:attribute>
157
- </xs:restriction>
158
- </xs:simpleContent>
159
- </xs:complexType>
160
- <xs:simpleType name="CodePurposeEnum">
161
- <xs:annotation>
162
- <xs:documentation>CodePurposeEnum is a (non-exhaustive) enumeration of classes of code intended purposes.</xs:documentation>
163
- </xs:annotation>
164
- <xs:restriction base="xs:string">
165
- <xs:enumeration value="Application_Code">
166
- <xs:annotation>
167
- <xs:documentation>The code represented is intended as application code.</xs:documentation>
168
- </xs:annotation>
169
- </xs:enumeration>
170
- <xs:enumeration value="Library_Code">
171
- <xs:annotation>
172
- <xs:documentation>The code represented is intended as library code.</xs:documentation>
173
- </xs:annotation>
174
- </xs:enumeration>
175
- <xs:enumeration value="Shellcode">
176
- <xs:annotation>
177
- <xs:documentation>The code represented is intended as shellcode.</xs:documentation>
178
- </xs:annotation>
179
- </xs:enumeration>
180
- <xs:enumeration value="Exploit_Code">
181
- <xs:annotation>
182
- <xs:documentation>The code represented is intended as exploit code.</xs:documentation>
183
- </xs:annotation>
184
- </xs:enumeration>
185
- <xs:enumeration value="Unknown">
186
- <xs:annotation>
187
- <xs:documentation>The code represented is intended for unknown purposes.</xs:documentation>
188
- </xs:annotation>
189
- </xs:enumeration>
190
- <xs:enumeration value="Other">
191
- <xs:annotation>
192
- <xs:documentation>The code represented is intended for a purpose other than those listed in this enumeration.</xs:documentation>
193
- </xs:annotation>
194
- </xs:enumeration>
195
- </xs:restriction>
196
- </xs:simpleType>
197
- <xs:complexType name="CodeLanguageType">
198
- <xs:annotation>
199
- <xs:documentation>CodeLanguageType specifies languages of code, via a union of the CodeLanguageEnum type and the atomic xs:string type. Its base type is the CybOX Core BaseObjectPropertyType, for permitting complex (i.e. regular-expression based) specifications.</xs:documentation>
200
- </xs:annotation>
201
- <xs:simpleContent>
202
- <xs:restriction base="cyboxCommon:BaseObjectPropertyType">
203
- <xs:simpleType>
204
- <xs:union memberTypes="CodeObj:CodeLanguageEnum xs:string"/>
205
- </xs:simpleType>
206
- <xs:attribute name="datatype" type="cyboxCommon:DatatypeEnum" fixed="string">
207
- <xs:annotation>
208
- <xs:documentation>This field is optional and specifies the expected type for the value of the specified field.</xs:documentation>
209
- </xs:annotation>
210
- </xs:attribute>
211
- </xs:restriction>
212
- </xs:simpleContent>
213
- </xs:complexType>
214
- <xs:simpleType name="CodeLanguageEnum">
215
- <xs:annotation>
216
- <xs:documentation>The CodeLanguageEnum simple type is an (non-exhaustive) enumeration of computer code languages.</xs:documentation>
217
- </xs:annotation>
218
- <xs:restriction base="xs:string">
219
- <xs:enumeration value="C">
220
- <xs:annotation>
221
- <xs:documentation>Indicates the code is written in the C programming language.</xs:documentation>
222
- </xs:annotation>
223
- </xs:enumeration>
224
- <xs:enumeration value="C++">
225
- <xs:annotation>
226
- <xs:documentation>Indicates the code is written in the C++ programming language.</xs:documentation>
227
- </xs:annotation>
228
- </xs:enumeration>
229
- <xs:enumeration value="C#">
230
- <xs:annotation>
231
- <xs:documentation>Indicates the code is written in the C# programming language.</xs:documentation>
232
- </xs:annotation>
233
- </xs:enumeration>
234
- <xs:enumeration value="Java">
235
- <xs:annotation>
236
- <xs:documentation>Indicates the code is written in the Java programming language.</xs:documentation>
237
- </xs:annotation>
238
- </xs:enumeration>
239
- <xs:enumeration value="JSP">
240
- <xs:annotation>
241
- <xs:documentation>Indicates the code is written in the JSP (Java Server Pages) language.</xs:documentation>
242
- </xs:annotation>
243
- </xs:enumeration>
244
- <xs:enumeration value="Javascript">
245
- <xs:annotation>
246
- <xs:documentation>Indicates the code is written in the Javascript programming language.</xs:documentation>
247
- </xs:annotation>
248
- </xs:enumeration>
249
- <xs:enumeration value="ASP.NET">
250
- <xs:annotation>
251
- <xs:documentation>Indicates the code is written in the ASP.NET programming language.</xs:documentation>
252
- </xs:annotation>
253
- </xs:enumeration>
254
- <xs:enumeration value="SQL">
255
- <xs:annotation>
256
- <xs:documentation>Indicates the code is written in SQL (Standard Query Language).</xs:documentation>
257
- </xs:annotation>
258
- </xs:enumeration>
259
- <xs:enumeration value="Python">
260
- <xs:annotation>
261
- <xs:documentation>Indicates the code is written in the Python programming language.</xs:documentation>
262
- </xs:annotation>
263
- </xs:enumeration>
264
- <xs:enumeration value="Perl">
265
- <xs:annotation>
266
- <xs:documentation>Indicates the code is written in the Perl programming language.</xs:documentation>
267
- </xs:annotation>
268
- </xs:enumeration>
269
- <xs:enumeration value="PHP">
270
- <xs:annotation>
271
- <xs:documentation>Indicates the code is written in the PHP programming language.</xs:documentation>
272
- </xs:annotation>
273
- </xs:enumeration>
274
- <xs:enumeration value="SOAP">
275
- <xs:annotation>
276
- <xs:documentation>Indicates the code is written as a SOAP message.</xs:documentation>
277
- </xs:annotation>
278
- </xs:enumeration>
279
- <xs:enumeration value="Ruby">
280
- <xs:annotation>
281
- <xs:documentation>Indicates the code is written in the Ruby programming language.</xs:documentation>
282
- </xs:annotation>
283
- </xs:enumeration>
284
- <xs:enumeration value="Shell">
285
- <xs:annotation>
286
- <xs:documentation>Indicates the code is written as a Shell script.</xs:documentation>
287
- </xs:annotation>
288
- </xs:enumeration>
289
- <xs:enumeration value="PseudoCode">
290
- <xs:annotation>
291
- <xs:documentation>Indicates the code is written as pseudo code.</xs:documentation>
292
- </xs:annotation>
293
- </xs:enumeration>
294
- <xs:enumeration value=".NET">
295
- <xs:annotation>
296
- <xs:documentation>Indicates the code utilizes the .NET framework.</xs:documentation>
297
- </xs:annotation>
298
- </xs:enumeration>
299
- <xs:enumeration value="Assembly">
300
- <xs:annotation>
301
- <xs:documentation>Indicates the code is written in an assembly language.</xs:documentation>
302
- </xs:annotation>
303
- </xs:enumeration>
304
- <xs:enumeration value="XML">
305
- <xs:annotation>
306
- <xs:documentation>Indicates the code is written in XML (eXtensible Markup Language).</xs:documentation>
307
- </xs:annotation>
308
- </xs:enumeration>
309
- <xs:enumeration value="HTML">
310
- <xs:annotation>
311
- <xs:documentation>Indicates the code is written in HTML (HyperText Markup Language).</xs:documentation>
312
- </xs:annotation>
313
- </xs:enumeration>
314
- <xs:enumeration value="Other">
315
- <xs:annotation>
316
- <xs:documentation>Indicates the code is written in a language not found in this enumeration.</xs:documentation>
317
- </xs:annotation>
318
- </xs:enumeration>
319
- </xs:restriction>
320
- </xs:simpleType>
321
- <xs:complexType name="ProcessorTypeType">
322
- <xs:annotation>
323
- <xs:documentation>ProcessorTypeType specifies relevant processor families, via a union of the ProcessorTypeEnum type and the atomic xs:string type. Its base type is the CybOX Core BaseObjectPropertyType, for permitting complex (i.e. regular-expression based) specifications.</xs:documentation>
324
- </xs:annotation>
325
- <xs:simpleContent>
326
- <xs:restriction base="cyboxCommon:BaseObjectPropertyType">
327
- <xs:simpleType>
328
- <xs:union memberTypes="CodeObj:ProcessorTypeEnum xs:string"/>
329
- </xs:simpleType>
330
- <xs:attribute name="datatype" type="cyboxCommon:DatatypeEnum" fixed="string">
331
- <xs:annotation>
332
- <xs:documentation>This attribute is optional and specifies the expected type for the value of the specified property.</xs:documentation>
333
- </xs:annotation>
334
- </xs:attribute>
335
- </xs:restriction>
336
- </xs:simpleContent>
337
- </xs:complexType>
338
- <xs:simpleType name="ProcessorTypeEnum">
339
- <xs:annotation>
340
- <xs:documentation>The ProcessorTypeEnum simple type is an (non-exhaustive) enumeration of computer processor architectures.</xs:documentation>
341
- </xs:annotation>
342
- <xs:restriction base="xs:string">
343
- <xs:enumeration value="x86-32">
344
- <xs:annotation>
345
- <xs:documentation>Indicates a x86 32bit processor.</xs:documentation>
346
- </xs:annotation>
347
- </xs:enumeration>
348
- <xs:enumeration value="x86-64">
349
- <xs:annotation>
350
- <xs:documentation>Indicates a x86 64bit processor.</xs:documentation>
351
- </xs:annotation>
352
- </xs:enumeration>
353
- <xs:enumeration value="IA-64">
354
- <xs:annotation>
355
- <xs:documentation>Indicates an IA (Intel Itanium) 64bit processor.</xs:documentation>
356
- </xs:annotation>
357
- </xs:enumeration>
358
- <xs:enumeration value="PowerPC">
359
- <xs:annotation>
360
- <xs:documentation>Indicates a PowerPC processor.</xs:documentation>
361
- </xs:annotation>
362
- </xs:enumeration>
363
- <xs:enumeration value="ARM">
364
- <xs:annotation>
365
- <xs:documentation>Indicates an ARM processor.</xs:documentation>
366
- </xs:annotation>
367
- </xs:enumeration>
368
- <xs:enumeration value="Alpha">
369
- <xs:annotation>
370
- <xs:documentation>Indicates an Alpha processor.</xs:documentation>
371
- </xs:annotation>
372
- </xs:enumeration>
373
- <xs:enumeration value="SPARC">
374
- <xs:annotation>
375
- <xs:documentation>Indicates a SPARC processor.</xs:documentation>
376
- </xs:annotation>
377
- </xs:enumeration>
378
- <xs:enumeration value="z/Architecture">
379
- <xs:annotation>
380
- <xs:documentation>Indicates a z/Architecture (IBM) processor.</xs:documentation>
381
- </xs:annotation>
382
- </xs:enumeration>
383
- <xs:enumeration value="eSi-RISC">
384
- <xs:annotation>
385
- <xs:documentation>Indicates an eSi-RISC processor.</xs:documentation>
386
- </xs:annotation>
387
- </xs:enumeration>
388
- <xs:enumeration value="MIPS">
389
- <xs:annotation>
390
- <xs:documentation>Indicates a MIPS processor.</xs:documentation>
391
- </xs:annotation>
392
- </xs:enumeration>
393
- <xs:enumeration value="Motorola 68k">
394
- <xs:annotation>
395
- <xs:documentation>Indicates a Motorola 68k processor.</xs:documentation>
396
- </xs:annotation>
397
- </xs:enumeration>
398
- <xs:enumeration value="Other">
399
- <xs:annotation>
400
- <xs:documentation>Indicates a processor outside of this enumeration.</xs:documentation>
401
- </xs:annotation>
402
- </xs:enumeration>
403
- </xs:restriction>
404
- </xs:simpleType>
405
- <xs:complexType name="TargetedPlatformsType">
406
- <xs:annotation>
407
- <xs:documentation>A list of targeted platforms.</xs:documentation>
408
- </xs:annotation>
409
- <xs:sequence>
410
- <xs:element name="Targeted_Platform" type="cyboxCommon:PlatformSpecificationType" maxOccurs="unbounded">
411
- <xs:annotation>
412
- <xs:documentation>The Targeted_Platform field specifies a particular platform that this code is targeted for.</xs:documentation>
413
- </xs:annotation>
414
- </xs:element>
415
- </xs:sequence>
416
- </xs:complexType>
417
- </xs:schema>
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:CodeObj="http://cybox.mitre.org/objects#CodeObject-2" xmlns:cyboxCommon="http://cybox.mitre.org/common-2" targetNamespace="http://cybox.mitre.org/objects#CodeObject-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.1">
3
+ <xs:annotation>
4
+ <xs:documentation>This schema was originally developed by The MITRE Corporation. The CybOX XML Schema implementation is maintained by The MITRE Corporation and developed by the open CybOX Community. For more information, including how to get involved in the effort and how to submit change requests, please visit the CybOX website at http://cybox.mitre.org.</xs:documentation>
5
+ <xs:appinfo>
6
+ <schema>Code_Object</schema>
7
+ <version>2.1</version>
8
+ <date>01/22/2014</date>
9
+ <short_description>The following specifies the fields and types that compose this defined CybOX Object type. Each defined object is an extension of the abstract ObjectPropertiesType, defined in CybOX Common. For more information on this extension mechanism, please see the CybOX Specification. This document is intended for developers and assumes some familiarity with XML. </short_description>
10
+ <terms_of_use>Copyright (c) 2012-2014, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the CybOX License located at http://cybox.mitre.org/about/termsofuse.html. See the CybOX License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the CybOX Schema, this license header must be included.</terms_of_use>
11
+ </xs:appinfo>
12
+ </xs:annotation>
13
+ <xs:import namespace="http://cybox.mitre.org/common-2" schemaLocation="../cybox_common.xsd"/>
14
+ <xs:element name="Code_Object" type="CodeObj:CodeObjectType">
15
+ <xs:annotation>
16
+ <xs:documentation>The Code object is intended to characterize a body of computer code.</xs:documentation>
17
+ </xs:annotation>
18
+ </xs:element>
19
+ <xs:complexType name="CodeObjectType">
20
+ <xs:annotation>
21
+ <xs:documentation>The CodeObjectType type is intended to characterize a body of computer code.</xs:documentation>
22
+ </xs:annotation>
23
+ <xs:complexContent>
24
+ <xs:extension base="cyboxCommon:ObjectPropertiesType">
25
+ <xs:sequence>
26
+ <xs:element name="Description" type="cyboxCommon:StructuredTextType" minOccurs="0">
27
+ <xs:annotation>
28
+ <xs:documentation>The Description field is intended for use in providing a brief description of the code that is encapsulated in this field.</xs:documentation>
29
+ </xs:annotation>
30
+ </xs:element>
31
+ <xs:element name="Type" type="CodeObj:CodeTypeType" minOccurs="0">
32
+ <xs:annotation>
33
+ <xs:documentation>The type field is intended to provide a way of specifying the type of code being characterized.</xs:documentation>
34
+ </xs:annotation>
35
+ </xs:element>
36
+ <xs:element name="Purpose" type="CodeObj:CodePurposeType" minOccurs="0">
37
+ <xs:annotation>
38
+ <xs:documentation>The type field is intended to provide a way of specifying the purpose or flavor of code being characterized.</xs:documentation>
39
+ </xs:annotation>
40
+ </xs:element>
41
+ <xs:element name="Code_Language" type="CodeObj:CodeLanguageType" minOccurs="0">
42
+ <xs:annotation>
43
+ <xs:documentation>The code_language field refers to the code language used in the code characterized in this field.</xs:documentation>
44
+ </xs:annotation>
45
+ </xs:element>
46
+ <xs:element name="Targeted_Platforms" type="CodeObj:TargetedPlatformsType" minOccurs="0">
47
+ <xs:annotation>
48
+ <xs:documentation>The Targeted_Platforms field specifies a list platforms that this code is targeted for.</xs:documentation>
49
+ </xs:annotation>
50
+ </xs:element>
51
+ <xs:element name="Processor_Family" type="CodeObj:ProcessorTypeType" minOccurs="0" maxOccurs="unbounded">
52
+ <xs:annotation>
53
+ <xs:documentation>The processor_family field specifies the class of processor that the code snippet is targeting. This field may be specified multiple times for code snippets that are applicable across multiple processor families. </xs:documentation>
54
+ </xs:annotation>
55
+ </xs:element>
56
+ <xs:element name="Discovery_Method" type="cyboxCommon:MeasureSourceType" minOccurs="0">
57
+ <xs:annotation>
58
+ <xs:documentation>The Discovery_Method field is intended to characterize the method and/or tool used to discover the code.</xs:documentation>
59
+ </xs:annotation>
60
+ </xs:element>
61
+ <xs:element name="Start_Address" type="cyboxCommon:HexBinaryObjectPropertyType" minOccurs="0">
62
+ <xs:annotation>
63
+ <xs:documentation>The start_address field can be used to reference the start address of the code, if it was discovered inside a binary.</xs:documentation>
64
+ </xs:annotation>
65
+ </xs:element>
66
+ <xs:element name="Code_Segment" type="cyboxCommon:StringObjectPropertyType" minOccurs="0">
67
+ <xs:annotation>
68
+ <xs:documentation>The Code_Segment field encompasses any arbitrary code segment in unencoded (plaintext or binary) format. Code would typically be included here within a CDATA section.</xs:documentation>
69
+ </xs:annotation>
70
+ </xs:element>
71
+ <xs:element name="Code_Segment_XOR" type="CodeObj:CodeSegmentXORType" form="qualified" minOccurs="0">
72
+ <xs:annotation>
73
+ <xs:documentation>The Code_Segment_XOR field encompasses any arbitrary code segment. Its contents should contain the actual code segment XORed with the pattern defined in the xorpattern property. This is so that the code contained in the pattern does not trigger IDS, AV, or other signature-based scanners. XOR'd Code would typically be included here within a CDATA section.</xs:documentation>
74
+ </xs:annotation>
75
+ </xs:element>
76
+ <xs:element name="Digital_Signatures" type="cyboxCommon:DigitalSignaturesType" minOccurs="0">
77
+ <xs:annotation>
78
+ <xs:documentation>The Digital_Signatures field is optional and captures one or more digital signatures for the code.</xs:documentation>
79
+ </xs:annotation>
80
+ </xs:element>
81
+ <xs:element name="Extracted_Features" type="cyboxCommon:ExtractedFeaturesType" minOccurs="0">
82
+ <xs:annotation>
83
+ <xs:documentation>A description of features extracted from this code segment.</xs:documentation>
84
+ </xs:annotation>
85
+ </xs:element>
86
+ </xs:sequence>
87
+ </xs:extension>
88
+ </xs:complexContent>
89
+ </xs:complexType>
90
+ <xs:complexType name="CodeTypeType">
91
+ <xs:annotation>
92
+ <xs:documentation>CodeTypeType specifies types of code, via a union of the CodeTypeEnum type and the atomic xs:string type. Its base type is the CybOX Core BaseObjectPropertyType, for permitting complex (i.e. regular-expression based) specifications.</xs:documentation>
93
+ </xs:annotation>
94
+ <xs:simpleContent>
95
+ <xs:restriction base="cyboxCommon:BaseObjectPropertyType">
96
+ <xs:simpleType>
97
+ <xs:union memberTypes="CodeObj:CodeTypeEnum xs:string"/>
98
+ </xs:simpleType>
99
+ <xs:attribute name="datatype" type="cyboxCommon:DatatypeEnum" fixed="string">
100
+ <xs:annotation>
101
+ <xs:documentation>This field is optional and specifies the expected type for the value of the specified field.</xs:documentation>
102
+ </xs:annotation>
103
+ </xs:attribute>
104
+ </xs:restriction>
105
+ </xs:simpleContent>
106
+ </xs:complexType>
107
+ <xs:complexType name="CodeSegmentXORType">
108
+ <xs:annotation>
109
+ <xs:documentation>Used to encapsulate a segment of code that has been XORed with a pattern in order to avoid tripping anti-virus detection.</xs:documentation>
110
+ </xs:annotation>
111
+ <xs:simpleContent>
112
+ <xs:extension base="cyboxCommon:StringObjectPropertyType">
113
+ <xs:attribute name="xor_pattern" type="xs:hexBinary" default="55AA55AA55AA55BB" use="optional">
114
+ <xs:annotation>
115
+ <xs:documentation>The xor_pattern field contains a 16-hexadecimal-character hex string, which represents the pattern that the Code_Segment_XOR field should be XORed with in order to recover the actual code. The default value is 55AA55AA55AA55BB, as specified by IETF RFC 5901.</xs:documentation>
116
+ </xs:annotation>
117
+ </xs:attribute>
118
+ </xs:extension>
119
+ </xs:simpleContent>
120
+ </xs:complexType>
121
+ <xs:simpleType name="CodeTypeEnum">
122
+ <xs:annotation>
123
+ <xs:documentation>CodeTypeEnum is a (non-exhaustive) enumeration of code types.</xs:documentation>
124
+ </xs:annotation>
125
+ <xs:restriction base="xs:string">
126
+ <xs:enumeration value="Source_Code">
127
+ <xs:annotation>
128
+ <xs:documentation>The code represented is in the form of Source Code.</xs:documentation>
129
+ </xs:annotation>
130
+ </xs:enumeration>
131
+ <xs:enumeration value="Byte_Code">
132
+ <xs:annotation>
133
+ <xs:documentation>The code represented is in the form of Byte Code.</xs:documentation>
134
+ </xs:annotation>
135
+ </xs:enumeration>
136
+ <xs:enumeration value="Binary_Code">
137
+ <xs:annotation>
138
+ <xs:documentation>The code represented is in the form of binary code.</xs:documentation>
139
+ </xs:annotation>
140
+ </xs:enumeration>
141
+ </xs:restriction>
142
+ </xs:simpleType>
143
+ <xs:complexType name="CodePurposeType">
144
+ <xs:annotation>
145
+ <xs:documentation>CodePurposeType specifies intended purposes of code, via a union of the CodePurposeEnum type and the atomic xs:string type. Its base type is the CybOX Core BaseObjectPropertyType, for permitting complex (i.e. regular-expression based) specifications.</xs:documentation>
146
+ </xs:annotation>
147
+ <xs:simpleContent>
148
+ <xs:restriction base="cyboxCommon:BaseObjectPropertyType">
149
+ <xs:simpleType>
150
+ <xs:union memberTypes="CodeObj:CodePurposeEnum xs:string"/>
151
+ </xs:simpleType>
152
+ <xs:attribute name="datatype" type="cyboxCommon:DatatypeEnum" fixed="string">
153
+ <xs:annotation>
154
+ <xs:documentation>This field is optional and specifies the expected type for the value of the specified field.</xs:documentation>
155
+ </xs:annotation>
156
+ </xs:attribute>
157
+ </xs:restriction>
158
+ </xs:simpleContent>
159
+ </xs:complexType>
160
+ <xs:simpleType name="CodePurposeEnum">
161
+ <xs:annotation>
162
+ <xs:documentation>CodePurposeEnum is a (non-exhaustive) enumeration of classes of code intended purposes.</xs:documentation>
163
+ </xs:annotation>
164
+ <xs:restriction base="xs:string">
165
+ <xs:enumeration value="Application_Code">
166
+ <xs:annotation>
167
+ <xs:documentation>The code represented is intended as application code.</xs:documentation>
168
+ </xs:annotation>
169
+ </xs:enumeration>
170
+ <xs:enumeration value="Library_Code">
171
+ <xs:annotation>
172
+ <xs:documentation>The code represented is intended as library code.</xs:documentation>
173
+ </xs:annotation>
174
+ </xs:enumeration>
175
+ <xs:enumeration value="Shellcode">
176
+ <xs:annotation>
177
+ <xs:documentation>The code represented is intended as shellcode.</xs:documentation>
178
+ </xs:annotation>
179
+ </xs:enumeration>
180
+ <xs:enumeration value="Exploit_Code">
181
+ <xs:annotation>
182
+ <xs:documentation>The code represented is intended as exploit code.</xs:documentation>
183
+ </xs:annotation>
184
+ </xs:enumeration>
185
+ <xs:enumeration value="Unknown">
186
+ <xs:annotation>
187
+ <xs:documentation>The code represented is intended for unknown purposes.</xs:documentation>
188
+ </xs:annotation>
189
+ </xs:enumeration>
190
+ <xs:enumeration value="Other">
191
+ <xs:annotation>
192
+ <xs:documentation>The code represented is intended for a purpose other than those listed in this enumeration.</xs:documentation>
193
+ </xs:annotation>
194
+ </xs:enumeration>
195
+ </xs:restriction>
196
+ </xs:simpleType>
197
+ <xs:complexType name="CodeLanguageType">
198
+ <xs:annotation>
199
+ <xs:documentation>CodeLanguageType specifies languages of code, via a union of the CodeLanguageEnum type and the atomic xs:string type. Its base type is the CybOX Core BaseObjectPropertyType, for permitting complex (i.e. regular-expression based) specifications.</xs:documentation>
200
+ </xs:annotation>
201
+ <xs:simpleContent>
202
+ <xs:restriction base="cyboxCommon:BaseObjectPropertyType">
203
+ <xs:simpleType>
204
+ <xs:union memberTypes="CodeObj:CodeLanguageEnum xs:string"/>
205
+ </xs:simpleType>
206
+ <xs:attribute name="datatype" type="cyboxCommon:DatatypeEnum" fixed="string">
207
+ <xs:annotation>
208
+ <xs:documentation>This field is optional and specifies the expected type for the value of the specified field.</xs:documentation>
209
+ </xs:annotation>
210
+ </xs:attribute>
211
+ </xs:restriction>
212
+ </xs:simpleContent>
213
+ </xs:complexType>
214
+ <xs:simpleType name="CodeLanguageEnum">
215
+ <xs:annotation>
216
+ <xs:documentation>The CodeLanguageEnum simple type is an (non-exhaustive) enumeration of computer code languages.</xs:documentation>
217
+ </xs:annotation>
218
+ <xs:restriction base="xs:string">
219
+ <xs:enumeration value="C">
220
+ <xs:annotation>
221
+ <xs:documentation>Indicates the code is written in the C programming language.</xs:documentation>
222
+ </xs:annotation>
223
+ </xs:enumeration>
224
+ <xs:enumeration value="C++">
225
+ <xs:annotation>
226
+ <xs:documentation>Indicates the code is written in the C++ programming language.</xs:documentation>
227
+ </xs:annotation>
228
+ </xs:enumeration>
229
+ <xs:enumeration value="C#">
230
+ <xs:annotation>
231
+ <xs:documentation>Indicates the code is written in the C# programming language.</xs:documentation>
232
+ </xs:annotation>
233
+ </xs:enumeration>
234
+ <xs:enumeration value="Java">
235
+ <xs:annotation>
236
+ <xs:documentation>Indicates the code is written in the Java programming language.</xs:documentation>
237
+ </xs:annotation>
238
+ </xs:enumeration>
239
+ <xs:enumeration value="JSP">
240
+ <xs:annotation>
241
+ <xs:documentation>Indicates the code is written in the JSP (Java Server Pages) language.</xs:documentation>
242
+ </xs:annotation>
243
+ </xs:enumeration>
244
+ <xs:enumeration value="Javascript">
245
+ <xs:annotation>
246
+ <xs:documentation>Indicates the code is written in the Javascript programming language.</xs:documentation>
247
+ </xs:annotation>
248
+ </xs:enumeration>
249
+ <xs:enumeration value="ASP.NET">
250
+ <xs:annotation>
251
+ <xs:documentation>Indicates the code is written in the ASP.NET programming language.</xs:documentation>
252
+ </xs:annotation>
253
+ </xs:enumeration>
254
+ <xs:enumeration value="SQL">
255
+ <xs:annotation>
256
+ <xs:documentation>Indicates the code is written in SQL (Standard Query Language).</xs:documentation>
257
+ </xs:annotation>
258
+ </xs:enumeration>
259
+ <xs:enumeration value="Python">
260
+ <xs:annotation>
261
+ <xs:documentation>Indicates the code is written in the Python programming language.</xs:documentation>
262
+ </xs:annotation>
263
+ </xs:enumeration>
264
+ <xs:enumeration value="Perl">
265
+ <xs:annotation>
266
+ <xs:documentation>Indicates the code is written in the Perl programming language.</xs:documentation>
267
+ </xs:annotation>
268
+ </xs:enumeration>
269
+ <xs:enumeration value="PHP">
270
+ <xs:annotation>
271
+ <xs:documentation>Indicates the code is written in the PHP programming language.</xs:documentation>
272
+ </xs:annotation>
273
+ </xs:enumeration>
274
+ <xs:enumeration value="SOAP">
275
+ <xs:annotation>
276
+ <xs:documentation>Indicates the code is written as a SOAP message.</xs:documentation>
277
+ </xs:annotation>
278
+ </xs:enumeration>
279
+ <xs:enumeration value="Ruby">
280
+ <xs:annotation>
281
+ <xs:documentation>Indicates the code is written in the Ruby programming language.</xs:documentation>
282
+ </xs:annotation>
283
+ </xs:enumeration>
284
+ <xs:enumeration value="Shell">
285
+ <xs:annotation>
286
+ <xs:documentation>Indicates the code is written as a Shell script.</xs:documentation>
287
+ </xs:annotation>
288
+ </xs:enumeration>
289
+ <xs:enumeration value="PseudoCode">
290
+ <xs:annotation>
291
+ <xs:documentation>Indicates the code is written as pseudo code.</xs:documentation>
292
+ </xs:annotation>
293
+ </xs:enumeration>
294
+ <xs:enumeration value=".NET">
295
+ <xs:annotation>
296
+ <xs:documentation>Indicates the code utilizes the .NET framework.</xs:documentation>
297
+ </xs:annotation>
298
+ </xs:enumeration>
299
+ <xs:enumeration value="Assembly">
300
+ <xs:annotation>
301
+ <xs:documentation>Indicates the code is written in an assembly language.</xs:documentation>
302
+ </xs:annotation>
303
+ </xs:enumeration>
304
+ <xs:enumeration value="XML">
305
+ <xs:annotation>
306
+ <xs:documentation>Indicates the code is written in XML (eXtensible Markup Language).</xs:documentation>
307
+ </xs:annotation>
308
+ </xs:enumeration>
309
+ <xs:enumeration value="HTML">
310
+ <xs:annotation>
311
+ <xs:documentation>Indicates the code is written in HTML (HyperText Markup Language).</xs:documentation>
312
+ </xs:annotation>
313
+ </xs:enumeration>
314
+ <xs:enumeration value="Other">
315
+ <xs:annotation>
316
+ <xs:documentation>Indicates the code is written in a language not found in this enumeration.</xs:documentation>
317
+ </xs:annotation>
318
+ </xs:enumeration>
319
+ </xs:restriction>
320
+ </xs:simpleType>
321
+ <xs:complexType name="ProcessorTypeType">
322
+ <xs:annotation>
323
+ <xs:documentation>ProcessorTypeType specifies relevant processor families, via a union of the ProcessorTypeEnum type and the atomic xs:string type. Its base type is the CybOX Core BaseObjectPropertyType, for permitting complex (i.e. regular-expression based) specifications.</xs:documentation>
324
+ </xs:annotation>
325
+ <xs:simpleContent>
326
+ <xs:restriction base="cyboxCommon:BaseObjectPropertyType">
327
+ <xs:simpleType>
328
+ <xs:union memberTypes="CodeObj:ProcessorTypeEnum xs:string"/>
329
+ </xs:simpleType>
330
+ <xs:attribute name="datatype" type="cyboxCommon:DatatypeEnum" fixed="string">
331
+ <xs:annotation>
332
+ <xs:documentation>This attribute is optional and specifies the expected type for the value of the specified property.</xs:documentation>
333
+ </xs:annotation>
334
+ </xs:attribute>
335
+ </xs:restriction>
336
+ </xs:simpleContent>
337
+ </xs:complexType>
338
+ <xs:simpleType name="ProcessorTypeEnum">
339
+ <xs:annotation>
340
+ <xs:documentation>The ProcessorTypeEnum simple type is an (non-exhaustive) enumeration of computer processor architectures.</xs:documentation>
341
+ </xs:annotation>
342
+ <xs:restriction base="xs:string">
343
+ <xs:enumeration value="x86-32">
344
+ <xs:annotation>
345
+ <xs:documentation>Indicates a x86 32bit processor.</xs:documentation>
346
+ </xs:annotation>
347
+ </xs:enumeration>
348
+ <xs:enumeration value="x86-64">
349
+ <xs:annotation>
350
+ <xs:documentation>Indicates a x86 64bit processor.</xs:documentation>
351
+ </xs:annotation>
352
+ </xs:enumeration>
353
+ <xs:enumeration value="IA-64">
354
+ <xs:annotation>
355
+ <xs:documentation>Indicates an IA (Intel Itanium) 64bit processor.</xs:documentation>
356
+ </xs:annotation>
357
+ </xs:enumeration>
358
+ <xs:enumeration value="PowerPC">
359
+ <xs:annotation>
360
+ <xs:documentation>Indicates a PowerPC processor.</xs:documentation>
361
+ </xs:annotation>
362
+ </xs:enumeration>
363
+ <xs:enumeration value="ARM">
364
+ <xs:annotation>
365
+ <xs:documentation>Indicates an ARM processor.</xs:documentation>
366
+ </xs:annotation>
367
+ </xs:enumeration>
368
+ <xs:enumeration value="Alpha">
369
+ <xs:annotation>
370
+ <xs:documentation>Indicates an Alpha processor.</xs:documentation>
371
+ </xs:annotation>
372
+ </xs:enumeration>
373
+ <xs:enumeration value="SPARC">
374
+ <xs:annotation>
375
+ <xs:documentation>Indicates a SPARC processor.</xs:documentation>
376
+ </xs:annotation>
377
+ </xs:enumeration>
378
+ <xs:enumeration value="z/Architecture">
379
+ <xs:annotation>
380
+ <xs:documentation>Indicates a z/Architecture (IBM) processor.</xs:documentation>
381
+ </xs:annotation>
382
+ </xs:enumeration>
383
+ <xs:enumeration value="eSi-RISC">
384
+ <xs:annotation>
385
+ <xs:documentation>Indicates an eSi-RISC processor.</xs:documentation>
386
+ </xs:annotation>
387
+ </xs:enumeration>
388
+ <xs:enumeration value="MIPS">
389
+ <xs:annotation>
390
+ <xs:documentation>Indicates a MIPS processor.</xs:documentation>
391
+ </xs:annotation>
392
+ </xs:enumeration>
393
+ <xs:enumeration value="Motorola 68k">
394
+ <xs:annotation>
395
+ <xs:documentation>Indicates a Motorola 68k processor.</xs:documentation>
396
+ </xs:annotation>
397
+ </xs:enumeration>
398
+ <xs:enumeration value="Other">
399
+ <xs:annotation>
400
+ <xs:documentation>Indicates a processor outside of this enumeration.</xs:documentation>
401
+ </xs:annotation>
402
+ </xs:enumeration>
403
+ </xs:restriction>
404
+ </xs:simpleType>
405
+ <xs:complexType name="TargetedPlatformsType">
406
+ <xs:annotation>
407
+ <xs:documentation>A list of targeted platforms.</xs:documentation>
408
+ </xs:annotation>
409
+ <xs:sequence>
410
+ <xs:element name="Targeted_Platform" type="cyboxCommon:PlatformSpecificationType" maxOccurs="unbounded">
411
+ <xs:annotation>
412
+ <xs:documentation>The Targeted_Platform field specifies a particular platform that this code is targeted for.</xs:documentation>
413
+ </xs:annotation>
414
+ </xs:element>
415
+ </xs:sequence>
416
+ </xs:complexType>
417
+ </xs:schema>