stix_schema_spy 1.0

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 (482) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +24 -0
  5. data/README.md +41 -0
  6. data/Rakefile +3 -0
  7. data/config/1.0.1/stix/README.md +20 -0
  8. data/config/1.0.1/stix/campaign.xsd +210 -0
  9. data/config/1.0.1/stix/course_of_action.xsd +166 -0
  10. data/config/1.0.1/stix/cybox/README.md +13 -0
  11. data/config/1.0.1/stix/cybox/cybox_common.xsd +2319 -0
  12. data/config/1.0.1/stix/cybox/cybox_core.xsd +1095 -0
  13. data/config/1.0.1/stix/cybox/cybox_default_vocabularies.xsd +3326 -0
  14. data/config/1.0.1/stix/cybox/extensions/platform/README.txt +1 -0
  15. data/config/1.0.1/stix/cybox/extensions/platform/cpe-language_2.3.xsd +234 -0
  16. data/config/1.0.1/stix/cybox/extensions/platform/cpe-naming_2.3.xsd +45 -0
  17. data/config/1.0.1/stix/cybox/extensions/platform/cpe2.3.xsd +40 -0
  18. data/config/1.0.1/stix/cybox/extensions/platform/xml.xsd +145 -0
  19. data/config/1.0.1/stix/cybox/objects/API_Object.xsd +55 -0
  20. data/config/1.0.1/stix/cybox/objects/Account_Object.xsd +50 -0
  21. data/config/1.0.1/stix/cybox/objects/Address_Object.xsd +122 -0
  22. data/config/1.0.1/stix/cybox/objects/Artifact_Object.xsd +206 -0
  23. data/config/1.0.1/stix/cybox/objects/Code_Object.xsd +417 -0
  24. data/config/1.0.1/stix/cybox/objects/Custom_Object.xsd +43 -0
  25. data/config/1.0.1/stix/cybox/objects/DNS_Cache_Object.xsd +53 -0
  26. data/config/1.0.1/stix/cybox/objects/DNS_Query_Object.xsd +159 -0
  27. data/config/1.0.1/stix/cybox/objects/DNS_Record_Object.xsd +87 -0
  28. data/config/1.0.1/stix/cybox/objects/Device_Object.xsd +55 -0
  29. data/config/1.0.1/stix/cybox/objects/Disk_Object.xsd +117 -0
  30. data/config/1.0.1/stix/cybox/objects/Disk_Partition_Object.xsd +199 -0
  31. data/config/1.0.1/stix/cybox/objects/Email_Message_Object.xsd +273 -0
  32. data/config/1.0.1/stix/cybox/objects/File_Object.xsd +359 -0
  33. data/config/1.0.1/stix/cybox/objects/GUI_Dialogbox_Object.xsd +41 -0
  34. data/config/1.0.1/stix/cybox/objects/GUI_Object.xsd +40 -0
  35. data/config/1.0.1/stix/cybox/objects/GUI_Window_Object.xsd +46 -0
  36. data/config/1.0.1/stix/cybox/objects/HTTP_Session_Object.xsd +623 -0
  37. data/config/1.0.1/stix/cybox/objects/Library_Object.xsd +114 -0
  38. data/config/1.0.1/stix/cybox/objects/Link_Object.xsd +36 -0
  39. data/config/1.0.1/stix/cybox/objects/Linux_Package_Object.xsd +119 -0
  40. data/config/1.0.1/stix/cybox/objects/Memory_Object.xsd +70 -0
  41. data/config/1.0.1/stix/cybox/objects/Mutex_Object.xsd +40 -0
  42. data/config/1.0.1/stix/cybox/objects/Network_Connection_Object.xsd +609 -0
  43. data/config/1.0.1/stix/cybox/objects/Network_Flow_Object.xsd +1559 -0
  44. data/config/1.0.1/stix/cybox/objects/Network_Packet_Object.xsd +2948 -0
  45. data/config/1.0.1/stix/cybox/objects/Network_Route_Entry_Object.xsd +155 -0
  46. data/config/1.0.1/stix/cybox/objects/Network_Route_Object.xsd +93 -0
  47. data/config/1.0.1/stix/cybox/objects/Network_Socket_Object.xsd +524 -0
  48. data/config/1.0.1/stix/cybox/objects/Network_Subnet_Object.xsd +64 -0
  49. data/config/1.0.1/stix/cybox/objects/PDF_File_Object.xsd +601 -0
  50. data/config/1.0.1/stix/cybox/objects/Pipe_Object.xsd +40 -0
  51. data/config/1.0.1/stix/cybox/objects/Port_Object.xsd +74 -0
  52. data/config/1.0.1/stix/cybox/objects/Process_Object.xsd +197 -0
  53. data/config/1.0.1/stix/cybox/objects/Product_Object.xsd +60 -0
  54. data/config/1.0.1/stix/cybox/objects/Semaphore_Object.xsd +50 -0
  55. data/config/1.0.1/stix/cybox/objects/Socket_Address_Object.xsd +42 -0
  56. data/config/1.0.1/stix/cybox/objects/System_Object.xsd +409 -0
  57. data/config/1.0.1/stix/cybox/objects/URI_Object.xsd +62 -0
  58. data/config/1.0.1/stix/cybox/objects/Unix_File_Object.xsd +164 -0
  59. data/config/1.0.1/stix/cybox/objects/Unix_Network_Route_Entry_Object.xsd +56 -0
  60. data/config/1.0.1/stix/cybox/objects/Unix_Pipe_Object.xsd +36 -0
  61. data/config/1.0.1/stix/cybox/objects/Unix_Process_Object.xsd +143 -0
  62. data/config/1.0.1/stix/cybox/objects/Unix_User_Account_Object.xsd +78 -0
  63. data/config/1.0.1/stix/cybox/objects/Unix_Volume_Object.xsd +41 -0
  64. data/config/1.0.1/stix/cybox/objects/User_Account_Object.xsd +110 -0
  65. data/config/1.0.1/stix/cybox/objects/User_Session_Object.xsd +60 -0
  66. data/config/1.0.1/stix/cybox/objects/Volume_Object.xsd +235 -0
  67. data/config/1.0.1/stix/cybox/objects/Whois_Object.xsd +456 -0
  68. data/config/1.0.1/stix/cybox/objects/Win_Computer_Account_Object.xsd +135 -0
  69. data/config/1.0.1/stix/cybox/objects/Win_Critical_Section_Object.xsd +40 -0
  70. data/config/1.0.1/stix/cybox/objects/Win_Driver_Object.xsd +269 -0
  71. data/config/1.0.1/stix/cybox/objects/Win_Event_Log_Object.xsd +137 -0
  72. data/config/1.0.1/stix/cybox/objects/Win_Event_Object.xsd +80 -0
  73. data/config/1.0.1/stix/cybox/objects/Win_Executable_File_Object.xsd +1333 -0
  74. data/config/1.0.1/stix/cybox/objects/Win_File_Object.xsd +269 -0
  75. data/config/1.0.1/stix/cybox/objects/Win_Handle_Object.xsd +186 -0
  76. data/config/1.0.1/stix/cybox/objects/Win_Kernel_Hook_Object.xsd +109 -0
  77. data/config/1.0.1/stix/cybox/objects/Win_Kernel_Object.xsd +128 -0
  78. data/config/1.0.1/stix/cybox/objects/Win_Mailslot_Object.xsd +56 -0
  79. data/config/1.0.1/stix/cybox/objects/Win_Memory_Page_Region_Object.xsd +198 -0
  80. data/config/1.0.1/stix/cybox/objects/Win_Mutex_Object.xsd +42 -0
  81. data/config/1.0.1/stix/cybox/objects/Win_Network_Route_Entry_Object.xsd +200 -0
  82. data/config/1.0.1/stix/cybox/objects/Win_Network_Share_Object.xsd +205 -0
  83. data/config/1.0.1/stix/cybox/objects/Win_Pipe_Object.xsd +73 -0
  84. data/config/1.0.1/stix/cybox/objects/Win_Prefetch_Object.xsd +113 -0
  85. data/config/1.0.1/stix/cybox/objects/Win_Process_Object.xsd +167 -0
  86. data/config/1.0.1/stix/cybox/objects/Win_Registry_Key_Object.xsd +290 -0
  87. data/config/1.0.1/stix/cybox/objects/Win_Semaphore_Object.xsd +42 -0
  88. data/config/1.0.1/stix/cybox/objects/Win_Service_Object.xsd +287 -0
  89. data/config/1.0.1/stix/cybox/objects/Win_System_Object.xsd +126 -0
  90. data/config/1.0.1/stix/cybox/objects/Win_System_Restore_Object.xsd +199 -0
  91. data/config/1.0.1/stix/cybox/objects/Win_Task_Object.xsd +755 -0
  92. data/config/1.0.1/stix/cybox/objects/Win_Thread_Object.xsd +146 -0
  93. data/config/1.0.1/stix/cybox/objects/Win_User_Account_Object.xsd +73 -0
  94. data/config/1.0.1/stix/cybox/objects/Win_Volume_Object.xsd +161 -0
  95. data/config/1.0.1/stix/cybox/objects/Win_Waitable_Timer_Object.xsd +90 -0
  96. data/config/1.0.1/stix/cybox/objects/X509_Certificate_Object.xsd +270 -0
  97. data/config/1.0.1/stix/data_marking.xsd +92 -0
  98. data/config/1.0.1/stix/exploit_target.xsd +224 -0
  99. data/config/1.0.1/stix/extensions/address/ciq_address_3.0.xsd +27 -0
  100. data/config/1.0.1/stix/extensions/address/readme.txt +1 -0
  101. data/config/1.0.1/stix/extensions/attack_pattern/capec_2.6.1.xsd +31 -0
  102. data/config/1.0.1/stix/extensions/attack_pattern/readme.txt +1 -0
  103. data/config/1.0.1/stix/extensions/identity/ciq_identity_3.0.xsd +108 -0
  104. data/config/1.0.1/stix/extensions/identity/readme.txt +1 -0
  105. data/config/1.0.1/stix/extensions/malware/maec_4.0.1.xsd +31 -0
  106. data/config/1.0.1/stix/extensions/malware/readme.txt +1 -0
  107. data/config/1.0.1/stix/extensions/marking/simple_marking.xsd +30 -0
  108. data/config/1.0.1/stix/extensions/marking/tlp.xsd +39 -0
  109. data/config/1.0.1/stix/extensions/structured_coa/generic.xsd +46 -0
  110. data/config/1.0.1/stix/extensions/test_mechanism/generic.xsd +46 -0
  111. data/config/1.0.1/stix/extensions/test_mechanism/open_ioc_2010.xsd +32 -0
  112. data/config/1.0.1/stix/extensions/test_mechanism/oval_5.10.xsd +37 -0
  113. data/config/1.0.1/stix/extensions/test_mechanism/snort.xsd +36 -0
  114. data/config/1.0.1/stix/extensions/test_mechanism/yara.xsd +36 -0
  115. data/config/1.0.1/stix/extensions/vulnerability/cvrf_1.1.xsd +33 -0
  116. data/config/1.0.1/stix/extensions/vulnerability/readme.txt +1 -0
  117. data/config/1.0.1/stix/external/capec_2.6.1/ap_schema_v2.6.1.xsd +3618 -0
  118. data/config/1.0.1/stix/external/cvrf_1.1/common.xsd +176 -0
  119. data/config/1.0.1/stix/external/cvrf_1.1/cpe-language_2.2a.xsd +182 -0
  120. data/config/1.0.1/stix/external/cvrf_1.1/cvrf.xsd +487 -0
  121. data/config/1.0.1/stix/external/cvrf_1.1/cvss-v2_0.9.xsd +415 -0
  122. data/config/1.0.1/stix/external/cvrf_1.1/dc.xsd +118 -0
  123. data/config/1.0.1/stix/external/cvrf_1.1/prod.xsd +292 -0
  124. data/config/1.0.1/stix/external/cvrf_1.1/scap-core_0.9.xsd +170 -0
  125. data/config/1.0.1/stix/external/cvrf_1.1/vuln.xsd +631 -0
  126. data/config/1.0.1/stix/external/cvrf_1.1/xml.xsd +287 -0
  127. data/config/1.0.1/stix/external/maec_4.0.1/maec_bundle_schema.xsd +1139 -0
  128. data/config/1.0.1/stix/external/maec_4.0.1/maec_package_schema.xsd +938 -0
  129. data/config/1.0.1/stix/external/maec_4.0.1/metadataSharing.xsd +1712 -0
  130. data/config/1.0.1/stix/external/oasis_ciq_3.0/CommonTypes.xsd +104 -0
  131. data/config/1.0.1/stix/external/oasis_ciq_3.0/xAL-types.xsd +511 -0
  132. data/config/1.0.1/stix/external/oasis_ciq_3.0/xAL.xsd +672 -0
  133. data/config/1.0.1/stix/external/oasis_ciq_3.0/xNAL-types.xsd +36 -0
  134. data/config/1.0.1/stix/external/oasis_ciq_3.0/xNAL.xsd +126 -0
  135. data/config/1.0.1/stix/external/oasis_ciq_3.0/xNL-types.xsd +222 -0
  136. data/config/1.0.1/stix/external/oasis_ciq_3.0/xNL.xsd +284 -0
  137. data/config/1.0.1/stix/external/oasis_ciq_3.0/xPIL-types.xsd +854 -0
  138. data/config/1.0.1/stix/external/oasis_ciq_3.0/xPIL.xsd +1621 -0
  139. data/config/1.0.1/stix/external/oasis_ciq_3.0/xlink-2003-12-31.xsd +90 -0
  140. data/config/1.0.1/stix/external/open_ioc_2010/ioc-TR.xsd +25 -0
  141. data/config/1.0.1/stix/external/open_ioc_2010/ioc.xsd +105 -0
  142. data/config/1.0.1/stix/external/oval_5.10/oval-common-schema.xsd +781 -0
  143. data/config/1.0.1/stix/external/oval_5.10/oval-definitions-schema.xsd +1608 -0
  144. data/config/1.0.1/stix/external/oval_5.10/oval-variables-schema.xsd +84 -0
  145. data/config/1.0.1/stix/external/oval_5.10/xmldsig-core-schema.xsd +309 -0
  146. data/config/1.0.1/stix/incident.xsd +787 -0
  147. data/config/1.0.1/stix/indicator.xsd +310 -0
  148. data/config/1.0.1/stix/stix_common.xsd +762 -0
  149. data/config/1.0.1/stix/stix_core.xsd +218 -0
  150. data/config/1.0.1/stix/stix_default_vocabularies.xsd +1684 -0
  151. data/config/1.0.1/stix/threat_actor.xsd +174 -0
  152. data/config/1.0.1/stix/ttp.xsd +341 -0
  153. data/config/1.0/stix/campaign.xsd +209 -0
  154. data/config/1.0/stix/course_of_action.xsd +165 -0
  155. data/config/1.0/stix/cybox/cybox_common.xsd +2319 -0
  156. data/config/1.0/stix/cybox/cybox_core.xsd +1090 -0
  157. data/config/1.0/stix/cybox/cybox_default_vocabularies.xsd +3106 -0
  158. data/config/1.0/stix/cybox/extensions/platform/README.txt +1 -0
  159. data/config/1.0/stix/cybox/extensions/platform/cpe2.3.xsd +40 -0
  160. data/config/1.0/stix/cybox/objects/API_Object.xsd +55 -0
  161. data/config/1.0/stix/cybox/objects/Account_Object.xsd +50 -0
  162. data/config/1.0/stix/cybox/objects/Address_Object.xsd +122 -0
  163. data/config/1.0/stix/cybox/objects/Artifact_Object.xsd +206 -0
  164. data/config/1.0/stix/cybox/objects/Code_Object.xsd +417 -0
  165. data/config/1.0/stix/cybox/objects/Custom_Object.xsd +43 -0
  166. data/config/1.0/stix/cybox/objects/DNS_Cache_Object.xsd +53 -0
  167. data/config/1.0/stix/cybox/objects/DNS_Query_Object.xsd +159 -0
  168. data/config/1.0/stix/cybox/objects/DNS_Record_Object.xsd +87 -0
  169. data/config/1.0/stix/cybox/objects/Device_Object.xsd +55 -0
  170. data/config/1.0/stix/cybox/objects/Disk_Object.xsd +117 -0
  171. data/config/1.0/stix/cybox/objects/Disk_Partition_Object.xsd +199 -0
  172. data/config/1.0/stix/cybox/objects/Email_Message_Object.xsd +273 -0
  173. data/config/1.0/stix/cybox/objects/File_Object.xsd +359 -0
  174. data/config/1.0/stix/cybox/objects/GUI_Dialogbox_Object.xsd +41 -0
  175. data/config/1.0/stix/cybox/objects/GUI_Object.xsd +40 -0
  176. data/config/1.0/stix/cybox/objects/GUI_Window_Object.xsd +46 -0
  177. data/config/1.0/stix/cybox/objects/HTTP_Session_Object.xsd +623 -0
  178. data/config/1.0/stix/cybox/objects/Library_Object.xsd +114 -0
  179. data/config/1.0/stix/cybox/objects/Link_Object.xsd +24 -0
  180. data/config/1.0/stix/cybox/objects/Linux_Package_Object.xsd +119 -0
  181. data/config/1.0/stix/cybox/objects/Memory_Object.xsd +70 -0
  182. data/config/1.0/stix/cybox/objects/Mutex_Object.xsd +40 -0
  183. data/config/1.0/stix/cybox/objects/Network_Connection_Object.xsd +609 -0
  184. data/config/1.0/stix/cybox/objects/Network_Flow_Object.xsd +1559 -0
  185. data/config/1.0/stix/cybox/objects/Network_Packet_Object.xsd +2948 -0
  186. data/config/1.0/stix/cybox/objects/Network_Route_Entry_Object.xsd +155 -0
  187. data/config/1.0/stix/cybox/objects/Network_Route_Object.xsd +93 -0
  188. data/config/1.0/stix/cybox/objects/Network_Socket_Object.xsd +524 -0
  189. data/config/1.0/stix/cybox/objects/Network_Subnet_Object.xsd +64 -0
  190. data/config/1.0/stix/cybox/objects/PDF_File_Object.xsd +601 -0
  191. data/config/1.0/stix/cybox/objects/Pipe_Object.xsd +40 -0
  192. data/config/1.0/stix/cybox/objects/Port_Object.xsd +74 -0
  193. data/config/1.0/stix/cybox/objects/Process_Object.xsd +197 -0
  194. data/config/1.0/stix/cybox/objects/Product_Object.xsd +60 -0
  195. data/config/1.0/stix/cybox/objects/Semaphore_Object.xsd +50 -0
  196. data/config/1.0/stix/cybox/objects/Socket_Address_Object.xsd +42 -0
  197. data/config/1.0/stix/cybox/objects/System_Object.xsd +409 -0
  198. data/config/1.0/stix/cybox/objects/URI_Object.xsd +62 -0
  199. data/config/1.0/stix/cybox/objects/Unix_File_Object.xsd +164 -0
  200. data/config/1.0/stix/cybox/objects/Unix_Network_Route_Entry_Object.xsd +56 -0
  201. data/config/1.0/stix/cybox/objects/Unix_Pipe_Object.xsd +36 -0
  202. data/config/1.0/stix/cybox/objects/Unix_Process_Object.xsd +143 -0
  203. data/config/1.0/stix/cybox/objects/Unix_User_Account_Object.xsd +78 -0
  204. data/config/1.0/stix/cybox/objects/Unix_Volume_Object.xsd +41 -0
  205. data/config/1.0/stix/cybox/objects/User_Account_Object.xsd +110 -0
  206. data/config/1.0/stix/cybox/objects/User_Session_Object.xsd +60 -0
  207. data/config/1.0/stix/cybox/objects/Volume_Object.xsd +235 -0
  208. data/config/1.0/stix/cybox/objects/Whois_Object.xsd +456 -0
  209. data/config/1.0/stix/cybox/objects/Win_Computer_Account_Object.xsd +135 -0
  210. data/config/1.0/stix/cybox/objects/Win_Critical_Section_Object.xsd +40 -0
  211. data/config/1.0/stix/cybox/objects/Win_Driver_Object.xsd +269 -0
  212. data/config/1.0/stix/cybox/objects/Win_Event_Log_Object.xsd +137 -0
  213. data/config/1.0/stix/cybox/objects/Win_Event_Object.xsd +80 -0
  214. data/config/1.0/stix/cybox/objects/Win_Executable_File_Object.xsd +1333 -0
  215. data/config/1.0/stix/cybox/objects/Win_File_Object.xsd +269 -0
  216. data/config/1.0/stix/cybox/objects/Win_Handle_Object.xsd +186 -0
  217. data/config/1.0/stix/cybox/objects/Win_Kernel_Hook_Object.xsd +109 -0
  218. data/config/1.0/stix/cybox/objects/Win_Kernel_Object.xsd +128 -0
  219. data/config/1.0/stix/cybox/objects/Win_Mailslot_Object.xsd +56 -0
  220. data/config/1.0/stix/cybox/objects/Win_Memory_Page_Region_Object.xsd +198 -0
  221. data/config/1.0/stix/cybox/objects/Win_Mutex_Object.xsd +42 -0
  222. data/config/1.0/stix/cybox/objects/Win_Network_Route_Entry_Object.xsd +200 -0
  223. data/config/1.0/stix/cybox/objects/Win_Network_Share_Object.xsd +205 -0
  224. data/config/1.0/stix/cybox/objects/Win_Pipe_Object.xsd +73 -0
  225. data/config/1.0/stix/cybox/objects/Win_Prefetch_Object.xsd +113 -0
  226. data/config/1.0/stix/cybox/objects/Win_Process_Object.xsd +167 -0
  227. data/config/1.0/stix/cybox/objects/Win_Registry_Key_Object.xsd +290 -0
  228. data/config/1.0/stix/cybox/objects/Win_Semaphore_Object.xsd +42 -0
  229. data/config/1.0/stix/cybox/objects/Win_Service_Object.xsd +287 -0
  230. data/config/1.0/stix/cybox/objects/Win_System_Object.xsd +126 -0
  231. data/config/1.0/stix/cybox/objects/Win_System_Restore_Object.xsd +199 -0
  232. data/config/1.0/stix/cybox/objects/Win_Task_Object.xsd +755 -0
  233. data/config/1.0/stix/cybox/objects/Win_Thread_Object.xsd +146 -0
  234. data/config/1.0/stix/cybox/objects/Win_User_Account_Object.xsd +73 -0
  235. data/config/1.0/stix/cybox/objects/Win_Volume_Object.xsd +161 -0
  236. data/config/1.0/stix/cybox/objects/Win_Waitable_Timer_Object.xsd +90 -0
  237. data/config/1.0/stix/cybox/objects/X509_Certificate_Object.xsd +270 -0
  238. data/config/1.0/stix/data_marking.xsd +92 -0
  239. data/config/1.0/stix/exploit_target.xsd +223 -0
  240. data/config/1.0/stix/extensions/address/ciq_address_3.0.xsd +27 -0
  241. data/config/1.0/stix/extensions/address/readme.txt +1 -0
  242. data/config/1.0/stix/extensions/attack_pattern/capec_2.5.xsd +31 -0
  243. data/config/1.0/stix/extensions/identity/ciq_identity_3.0.xsd +108 -0
  244. data/config/1.0/stix/extensions/identity/readme.txt +1 -0
  245. data/config/1.0/stix/extensions/malware/maec_4.0.xsd +32 -0
  246. data/config/1.0/stix/extensions/malware/readme.txt +3 -0
  247. data/config/1.0/stix/extensions/marking/simple_marking.xsd +30 -0
  248. data/config/1.0/stix/extensions/marking/tlp.xsd +39 -0
  249. data/config/1.0/stix/extensions/structured_coa/generic.xsd +46 -0
  250. data/config/1.0/stix/extensions/test_mechanism/generic.xsd +46 -0
  251. data/config/1.0/stix/extensions/test_mechanism/open_ioc_2010.xsd +32 -0
  252. data/config/1.0/stix/extensions/test_mechanism/oval_5.10.xsd +37 -0
  253. data/config/1.0/stix/extensions/test_mechanism/snort.xsd +36 -0
  254. data/config/1.0/stix/extensions/test_mechanism/yara.xsd +36 -0
  255. data/config/1.0/stix/extensions/vulnerability/cvrf_1.1.xsd +33 -0
  256. data/config/1.0/stix/extensions/vulnerability/readme.txt +1 -0
  257. data/config/1.0/stix/external/capec_2.5/ap_schema_v2.5.xsd +2671 -0
  258. data/config/1.0/stix/external/cvrf_1.1/common.xsd +176 -0
  259. data/config/1.0/stix/external/cvrf_1.1/cpe-language_2.2a.xsd +182 -0
  260. data/config/1.0/stix/external/cvrf_1.1/cvrf.xsd +487 -0
  261. data/config/1.0/stix/external/cvrf_1.1/cvss-v2_0.9.xsd +415 -0
  262. data/config/1.0/stix/external/cvrf_1.1/dc.xsd +118 -0
  263. data/config/1.0/stix/external/cvrf_1.1/prod.xsd +292 -0
  264. data/config/1.0/stix/external/cvrf_1.1/scap-core_0.9.xsd +170 -0
  265. data/config/1.0/stix/external/cvrf_1.1/vuln.xsd +631 -0
  266. data/config/1.0/stix/external/cvrf_1.1/xml.xsd +287 -0
  267. data/config/1.0/stix/external/oasis_ciq_3.0/CommonTypes.xsd +104 -0
  268. data/config/1.0/stix/external/oasis_ciq_3.0/xAL-types.xsd +511 -0
  269. data/config/1.0/stix/external/oasis_ciq_3.0/xAL.xsd +672 -0
  270. data/config/1.0/stix/external/oasis_ciq_3.0/xNAL-types.xsd +36 -0
  271. data/config/1.0/stix/external/oasis_ciq_3.0/xNAL.xsd +126 -0
  272. data/config/1.0/stix/external/oasis_ciq_3.0/xNL-types.xsd +222 -0
  273. data/config/1.0/stix/external/oasis_ciq_3.0/xNL.xsd +284 -0
  274. data/config/1.0/stix/external/oasis_ciq_3.0/xPIL-types.xsd +854 -0
  275. data/config/1.0/stix/external/oasis_ciq_3.0/xPIL.xsd +1621 -0
  276. data/config/1.0/stix/external/oasis_ciq_3.0/xlink-2003-12-31.xsd +90 -0
  277. data/config/1.0/stix/external/open_ioc_2010/ioc-TR.xsd +25 -0
  278. data/config/1.0/stix/external/open_ioc_2010/ioc.xsd +105 -0
  279. data/config/1.0/stix/external/oval_5.10/oval-common-schema.xsd +781 -0
  280. data/config/1.0/stix/external/oval_5.10/oval-definitions-schema.xsd +1608 -0
  281. data/config/1.0/stix/external/oval_5.10/oval-variables-schema.xsd +84 -0
  282. data/config/1.0/stix/external/oval_5.10/xmldsig-core-schema.xsd +309 -0
  283. data/config/1.0/stix/incident.xsd +786 -0
  284. data/config/1.0/stix/indicator.xsd +309 -0
  285. data/config/1.0/stix/stix_common.xsd +762 -0
  286. data/config/1.0/stix/stix_core.xsd +217 -0
  287. data/config/1.0/stix/stix_default_vocabularies.xsd +1578 -0
  288. data/config/1.0/stix/threat_actor.xsd +173 -0
  289. data/config/1.0/stix/ttp.xsd +340 -0
  290. data/config/1.1/stix/campaign.xsd +223 -0
  291. data/config/1.1/stix/course_of_action.xsd +190 -0
  292. data/config/1.1/stix/cybox/cybox_common.xsd +2700 -0
  293. data/config/1.1/stix/cybox/cybox_core.xsd +1145 -0
  294. data/config/1.1/stix/cybox/cybox_default_vocabularies.xsd +5180 -0
  295. data/config/1.1/stix/cybox/extensions/location/ciq_address_3.0.xsd +27 -0
  296. data/config/1.1/stix/cybox/extensions/platform/README.txt +1 -0
  297. data/config/1.1/stix/cybox/extensions/platform/cpe2.3.xsd +34 -0
  298. data/config/1.1/stix/cybox/external/cpe_2.3/cpe-language_2.3.xsd +234 -0
  299. data/config/1.1/stix/cybox/external/cpe_2.3/cpe-naming_2.3.xsd +45 -0
  300. data/config/1.1/stix/cybox/external/cpe_2.3/xml.xsd +145 -0
  301. data/config/1.1/stix/cybox/external/oasis_ciq_3.0/CommonTypes.xsd +104 -0
  302. data/config/1.1/stix/cybox/external/oasis_ciq_3.0/xAL-types.xsd +511 -0
  303. data/config/1.1/stix/cybox/external/oasis_ciq_3.0/xAL.xsd +672 -0
  304. data/config/1.1/stix/cybox/external/oasis_ciq_3.0/xNAL-types.xsd +36 -0
  305. data/config/1.1/stix/cybox/external/oasis_ciq_3.0/xNAL.xsd +126 -0
  306. data/config/1.1/stix/cybox/external/oasis_ciq_3.0/xNL-types.xsd +222 -0
  307. data/config/1.1/stix/cybox/external/oasis_ciq_3.0/xNL.xsd +284 -0
  308. data/config/1.1/stix/cybox/external/oasis_ciq_3.0/xPIL-types.xsd +854 -0
  309. data/config/1.1/stix/cybox/external/oasis_ciq_3.0/xPIL.xsd +1621 -0
  310. data/config/1.1/stix/cybox/external/oasis_ciq_3.0/xlink-2003-12-31.xsd +90 -0
  311. data/config/1.1/stix/cybox/objects/API_Object.xsd +55 -0
  312. data/config/1.1/stix/cybox/objects/ARP_Cache_Object.xsd +98 -0
  313. data/config/1.1/stix/cybox/objects/AS_Object.xsd +50 -0
  314. data/config/1.1/stix/cybox/objects/Account_Object.xsd +501 -0
  315. data/config/1.1/stix/cybox/objects/Address_Object.xsd +127 -0
  316. data/config/1.1/stix/cybox/objects/Archive_File_Object.xsd +134 -0
  317. data/config/1.1/stix/cybox/objects/Artifact_Object.xsd +212 -0
  318. data/config/1.1/stix/cybox/objects/Code_Object.xsd +417 -0
  319. data/config/1.1/stix/cybox/objects/Custom_Object.xsd +42 -0
  320. data/config/1.1/stix/cybox/objects/DNS_Cache_Object.xsd +53 -0
  321. data/config/1.1/stix/cybox/objects/DNS_Query_Object.xsd +164 -0
  322. data/config/1.1/stix/cybox/objects/DNS_Record_Object.xsd +92 -0
  323. data/config/1.1/stix/cybox/objects/Device_Object.xsd +65 -0
  324. data/config/1.1/stix/cybox/objects/Disk_Object.xsd +117 -0
  325. data/config/1.1/stix/cybox/objects/Disk_Partition_Object.xsd +199 -0
  326. data/config/1.1/stix/cybox/objects/Domain_Name_Object.xsd +57 -0
  327. data/config/1.1/stix/cybox/objects/Email_Message_Object.xsd +278 -0
  328. data/config/1.1/stix/cybox/objects/File_Object.xsd +397 -0
  329. data/config/1.1/stix/cybox/objects/GUI_Dialogbox_Object.xsd +41 -0
  330. data/config/1.1/stix/cybox/objects/GUI_Object.xsd +40 -0
  331. data/config/1.1/stix/cybox/objects/GUI_Window_Object.xsd +46 -0
  332. data/config/1.1/stix/cybox/objects/HTTP_Session_Object.xsd +633 -0
  333. data/config/1.1/stix/cybox/objects/Hostname_Object.xsd +45 -0
  334. data/config/1.1/stix/cybox/objects/Image_File_Object.xsd +124 -0
  335. data/config/1.1/stix/cybox/objects/Library_Object.xsd +114 -0
  336. data/config/1.1/stix/cybox/objects/Link_Object.xsd +36 -0
  337. data/config/1.1/stix/cybox/objects/Linux_Package_Object.xsd +75 -0
  338. data/config/1.1/stix/cybox/objects/Memory_Object.xsd +141 -0
  339. data/config/1.1/stix/cybox/objects/Mutex_Object.xsd +40 -0
  340. data/config/1.1/stix/cybox/objects/Network_Connection_Object.xsd +540 -0
  341. data/config/1.1/stix/cybox/objects/Network_Flow_Object.xsd +1559 -0
  342. data/config/1.1/stix/cybox/objects/Network_Packet_Object.xsd +2934 -0
  343. data/config/1.1/stix/cybox/objects/Network_Route_Entry_Object.xsd +155 -0
  344. data/config/1.1/stix/cybox/objects/Network_Route_Object.xsd +93 -0
  345. data/config/1.1/stix/cybox/objects/Network_Socket_Object.xsd +529 -0
  346. data/config/1.1/stix/cybox/objects/Network_Subnet_Object.xsd +64 -0
  347. data/config/1.1/stix/cybox/objects/PDF_File_Object.xsd +595 -0
  348. data/config/1.1/stix/cybox/objects/Pipe_Object.xsd +40 -0
  349. data/config/1.1/stix/cybox/objects/Port_Object.xsd +40 -0
  350. data/config/1.1/stix/cybox/objects/Process_Object.xsd +199 -0
  351. data/config/1.1/stix/cybox/objects/Product_Object.xsd +65 -0
  352. data/config/1.1/stix/cybox/objects/SMS_Message_Object.xsd +79 -0
  353. data/config/1.1/stix/cybox/objects/Semaphore_Object.xsd +50 -0
  354. data/config/1.1/stix/cybox/objects/Socket_Address_Object.xsd +50 -0
  355. data/config/1.1/stix/cybox/objects/System_Object.xsd +410 -0
  356. data/config/1.1/stix/cybox/objects/URI_Object.xsd +62 -0
  357. data/config/1.1/stix/cybox/objects/URL_History_Object.xsd +104 -0
  358. data/config/1.1/stix/cybox/objects/Unix_File_Object.xsd +164 -0
  359. data/config/1.1/stix/cybox/objects/Unix_Network_Route_Entry_Object.xsd +56 -0
  360. data/config/1.1/stix/cybox/objects/Unix_Pipe_Object.xsd +36 -0
  361. data/config/1.1/stix/cybox/objects/Unix_Process_Object.xsd +143 -0
  362. data/config/1.1/stix/cybox/objects/Unix_User_Account_Object.xsd +78 -0
  363. data/config/1.1/stix/cybox/objects/Unix_Volume_Object.xsd +41 -0
  364. data/config/1.1/stix/cybox/objects/User_Account_Object.xsd +110 -0
  365. data/config/1.1/stix/cybox/objects/User_Session_Object.xsd +60 -0
  366. data/config/1.1/stix/cybox/objects/Volume_Object.xsd +235 -0
  367. data/config/1.1/stix/cybox/objects/Whois_Object.xsd +430 -0
  368. data/config/1.1/stix/cybox/objects/Win_Computer_Account_Object.xsd +135 -0
  369. data/config/1.1/stix/cybox/objects/Win_Critical_Section_Object.xsd +40 -0
  370. data/config/1.1/stix/cybox/objects/Win_Driver_Object.xsd +270 -0
  371. data/config/1.1/stix/cybox/objects/Win_Event_Log_Object.xsd +137 -0
  372. data/config/1.1/stix/cybox/objects/Win_Event_Object.xsd +80 -0
  373. data/config/1.1/stix/cybox/objects/Win_Executable_File_Object.xsd +1311 -0
  374. data/config/1.1/stix/cybox/objects/Win_File_Object.xsd +269 -0
  375. data/config/1.1/stix/cybox/objects/Win_Filemapping_Object.xsd +175 -0
  376. data/config/1.1/stix/cybox/objects/Win_Handle_Object.xsd +351 -0
  377. data/config/1.1/stix/cybox/objects/Win_Hook_Object.xsd +152 -0
  378. data/config/1.1/stix/cybox/objects/Win_Kernel_Hook_Object.xsd +109 -0
  379. data/config/1.1/stix/cybox/objects/Win_Kernel_Object.xsd +128 -0
  380. data/config/1.1/stix/cybox/objects/Win_Mailslot_Object.xsd +56 -0
  381. data/config/1.1/stix/cybox/objects/Win_Memory_Page_Region_Object.xsd +198 -0
  382. data/config/1.1/stix/cybox/objects/Win_Mutex_Object.xsd +42 -0
  383. data/config/1.1/stix/cybox/objects/Win_Network_Route_Entry_Object.xsd +200 -0
  384. data/config/1.1/stix/cybox/objects/Win_Network_Share_Object.xsd +205 -0
  385. data/config/1.1/stix/cybox/objects/Win_Pipe_Object.xsd +73 -0
  386. data/config/1.1/stix/cybox/objects/Win_Prefetch_Object.xsd +113 -0
  387. data/config/1.1/stix/cybox/objects/Win_Process_Object.xsd +174 -0
  388. data/config/1.1/stix/cybox/objects/Win_Registry_Key_Object.xsd +290 -0
  389. data/config/1.1/stix/cybox/objects/Win_Semaphore_Object.xsd +42 -0
  390. data/config/1.1/stix/cybox/objects/Win_Service_Object.xsd +287 -0
  391. data/config/1.1/stix/cybox/objects/Win_System_Object.xsd +126 -0
  392. data/config/1.1/stix/cybox/objects/Win_System_Restore_Object.xsd +207 -0
  393. data/config/1.1/stix/cybox/objects/Win_Task_Object.xsd +755 -0
  394. data/config/1.1/stix/cybox/objects/Win_Thread_Object.xsd +146 -0
  395. data/config/1.1/stix/cybox/objects/Win_User_Account_Object.xsd +73 -0
  396. data/config/1.1/stix/cybox/objects/Win_Volume_Object.xsd +161 -0
  397. data/config/1.1/stix/cybox/objects/Win_Waitable_Timer_Object.xsd +90 -0
  398. data/config/1.1/stix/cybox/objects/X509_Certificate_Object.xsd +275 -0
  399. data/config/1.1/stix/data_marking.xsd +96 -0
  400. data/config/1.1/stix/exploit_target.xsd +323 -0
  401. data/config/1.1/stix/extensions/address/ciq_3.0_address.xsd +27 -0
  402. data/config/1.1/stix/extensions/address/readme.txt +1 -0
  403. data/config/1.1/stix/extensions/attack_pattern/capec_2.7_attack_pattern.xsd +31 -0
  404. data/config/1.1/stix/extensions/attack_pattern/readme.txt +1 -0
  405. data/config/1.1/stix/extensions/identity/ciq_3.0_identity.xsd +113 -0
  406. data/config/1.1/stix/extensions/identity/readme.txt +1 -0
  407. data/config/1.1/stix/extensions/malware/maec_4.1_malware.xsd +31 -0
  408. data/config/1.1/stix/extensions/malware/readme.txt +1 -0
  409. data/config/1.1/stix/extensions/marking/simple_marking.xsd +31 -0
  410. data/config/1.1/stix/extensions/marking/terms_of_use_marking.xsd +31 -0
  411. data/config/1.1/stix/extensions/marking/tlp_marking.xsd +40 -0
  412. data/config/1.1/stix/extensions/structured_coa/generic_structured_coa.xsd +46 -0
  413. data/config/1.1/stix/extensions/test_mechanism/generic_test_mechanism.xsd +46 -0
  414. data/config/1.1/stix/extensions/test_mechanism/open_ioc_2010_test_mechanism.xsd +32 -0
  415. data/config/1.1/stix/extensions/test_mechanism/oval_5.10_test_mechanism.xsd +37 -0
  416. data/config/1.1/stix/extensions/test_mechanism/snort_test_mechanism.xsd +56 -0
  417. data/config/1.1/stix/extensions/test_mechanism/yara_test_mechanism.xsd +36 -0
  418. data/config/1.1/stix/extensions/vulnerability/cvrf_1.1_vulnerability.xsd +33 -0
  419. data/config/1.1/stix/extensions/vulnerability/readme.txt +1 -0
  420. data/config/1.1/stix/external/capec_2.7/ap_schema_v2.7.xsd +3618 -0
  421. data/config/1.1/stix/external/cvrf_1.1/common.xsd +176 -0
  422. data/config/1.1/stix/external/cvrf_1.1/cpe-language_2.2a.xsd +182 -0
  423. data/config/1.1/stix/external/cvrf_1.1/cvrf.xsd +487 -0
  424. data/config/1.1/stix/external/cvrf_1.1/cvss-v2_0.9.xsd +415 -0
  425. data/config/1.1/stix/external/cvrf_1.1/dc.xsd +118 -0
  426. data/config/1.1/stix/external/cvrf_1.1/prod.xsd +292 -0
  427. data/config/1.1/stix/external/cvrf_1.1/scap-core_0.9.xsd +170 -0
  428. data/config/1.1/stix/external/cvrf_1.1/vuln.xsd +631 -0
  429. data/config/1.1/stix/external/cvrf_1.1/xml.xsd +287 -0
  430. data/config/1.1/stix/external/maec_4.1/maec_bundle_schema.xsd +1228 -0
  431. data/config/1.1/stix/external/maec_4.1/maec_container_schema.xsd +62 -0
  432. data/config/1.1/stix/external/maec_4.1/maec_default_vocabularies.xsd +5325 -0
  433. data/config/1.1/stix/external/maec_4.1/maec_package_schema.xsd +1095 -0
  434. data/config/1.1/stix/external/maec_4.1/metadataSharing.xsd +1712 -0
  435. data/config/1.1/stix/external/oasis_ciq_3.0/CommonTypes.xsd +104 -0
  436. data/config/1.1/stix/external/oasis_ciq_3.0/xAL-types.xsd +511 -0
  437. data/config/1.1/stix/external/oasis_ciq_3.0/xAL.xsd +672 -0
  438. data/config/1.1/stix/external/oasis_ciq_3.0/xNAL-types.xsd +36 -0
  439. data/config/1.1/stix/external/oasis_ciq_3.0/xNAL.xsd +126 -0
  440. data/config/1.1/stix/external/oasis_ciq_3.0/xNL-types.xsd +222 -0
  441. data/config/1.1/stix/external/oasis_ciq_3.0/xNL.xsd +284 -0
  442. data/config/1.1/stix/external/oasis_ciq_3.0/xPIL-types.xsd +854 -0
  443. data/config/1.1/stix/external/oasis_ciq_3.0/xPIL.xsd +1621 -0
  444. data/config/1.1/stix/external/oasis_ciq_3.0/xlink-2003-12-31.xsd +90 -0
  445. data/config/1.1/stix/external/open_ioc_2010/ioc-TR.xsd +25 -0
  446. data/config/1.1/stix/external/open_ioc_2010/ioc.xsd +105 -0
  447. data/config/1.1/stix/external/oval_5.10/oval-common-schema.xsd +781 -0
  448. data/config/1.1/stix/external/oval_5.10/oval-definitions-schema.xsd +1608 -0
  449. data/config/1.1/stix/external/oval_5.10/oval-variables-schema.xsd +84 -0
  450. data/config/1.1/stix/external/oval_5.10/xmldsig-core-schema.xsd +309 -0
  451. data/config/1.1/stix/incident.xsd +759 -0
  452. data/config/1.1/stix/indicator.xsd +367 -0
  453. data/config/1.1/stix/stix_common.xsd +932 -0
  454. data/config/1.1/stix/stix_core.xsd +253 -0
  455. data/config/1.1/stix/stix_default_vocabularies.xsd +2015 -0
  456. data/config/1.1/stix/threat_actor.xsd +181 -0
  457. data/config/1.1/stix/ttp.xsd +429 -0
  458. data/config/1.1/uber_schema.xsd +149 -0
  459. data/config/mappings.json +30 -0
  460. data/lib/stix_schema_spy.rb +18 -0
  461. data/lib/stix_schema_spy/models/attribute.rb +20 -0
  462. data/lib/stix_schema_spy/models/complex_type.rb +50 -0
  463. data/lib/stix_schema_spy/models/element.rb +26 -0
  464. data/lib/stix_schema_spy/models/external_type.rb +48 -0
  465. data/lib/stix_schema_spy/models/has_children.rb +83 -0
  466. data/lib/stix_schema_spy/models/node.rb +71 -0
  467. data/lib/stix_schema_spy/models/schema.rb +217 -0
  468. data/lib/stix_schema_spy/models/simple_type.rb +47 -0
  469. data/lib/stix_schema_spy/models/special_field.rb +21 -0
  470. data/lib/stix_schema_spy/models/type.rb +106 -0
  471. data/lib/stix_schema_spy/util/schema_naming.rb +106 -0
  472. data/lib/stix_schema_spy/util/tasks.rb +69 -0
  473. data/lib/stix_schema_spy/version.rb +3 -0
  474. data/spec/lib/schema_naming_spec.rb +190 -0
  475. data/spec/models/complex_type_spec.rb +68 -0
  476. data/spec/models/node_spec.rb +47 -0
  477. data/spec/models/schema_spec.rb +63 -0
  478. data/spec/models/simple_type_spec.rb +38 -0
  479. data/spec/models/type_spec.rb +43 -0
  480. data/spec/spec_helper.rb +8 -0
  481. data/stix_schema_spy.gemspec +27 -0
  482. metadata +602 -0
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:stixCommon="http://stix.mitre.org/common-1" xmlns:indicator="http://stix.mitre.org/Indicator-2" xmlns="http://stix.mitre.org/extensions/TestMechanism#Snort-1" xmlns:snortTM="http://stix.mitre.org/extensions/TestMechanism#Snort-1" targetNamespace="http://stix.mitre.org/extensions/TestMechanism#Snort-1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" xml:lang="English">
3
+ <xs:annotation>
4
+ <xs:documentation>This schema was originally developed by The MITRE Corporation. The STIX XML Schema implementation is maintained by The MITRE Corporation and developed by the open STIX Community. For more information, including how to get involved in the effort and how to submit change requests, please visit the STIX website at http://stix.mitre.org.</xs:documentation>
5
+ <xs:appinfo>
6
+ <schema>STIX Extension - Snort Test Mechanism Instance</schema>
7
+ <version>1.0</version>
8
+ <date>03/21/2013 9:00:00 AM</date>
9
+ <short_description>Structured Threat Information eXpression (STIX) Extension - Snort Test Mechanism Instance - Schematic implementation for the using a Snort rule as a Test Machanism within the STIX structured cyber threat expression language architecture.</short_description>
10
+ <terms_of_use>Copyright (c) 2012-2013, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the STIX License located at http://stix.mitre.org/about/termsofuse.html. See the STIX License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the STIX Schema, this license header must be included. </terms_of_use>
11
+ </xs:appinfo>
12
+ </xs:annotation>
13
+ <xs:import namespace="http://stix.mitre.org/Indicator-2" schemaLocation="../../indicator.xsd"/>
14
+ <xs:import namespace="http://stix.mitre.org/common-1" schemaLocation="../../stix_common.xsd"/>
15
+ <xs:complexType name="SnortTestMechanismType">
16
+ <xs:annotation>
17
+ <xs:documentation>The SnortTestMechanismType specifies an instantial extension from the abstract TestMechanismType intended to support the inclusion of a Snort rule as a test mechanism content.</xs:documentation>
18
+ </xs:annotation>
19
+ <xs:complexContent>
20
+ <xs:extension base="indicator:TestMechanismType">
21
+ <xs:sequence>
22
+ <xs:element name="Version" type="xs:string" minOccurs="0">
23
+ <xs:annotation>
24
+ <xs:documentation>The Version of Snort that the rule was written against.</xs:documentation>
25
+ </xs:annotation>
26
+ </xs:element>
27
+ <xs:element name="Rule" type="stixCommon:EncodedCDATAType" minOccurs="0">
28
+ <xs:annotation>
29
+ <xs:documentation>The Rule field encapsulates a Snort rule in its native format within a String field. The specification should be within a CDATA construct within the String field.</xs:documentation>
30
+ </xs:annotation>
31
+ </xs:element>
32
+ </xs:sequence>
33
+ </xs:extension>
34
+ </xs:complexContent>
35
+ </xs:complexType>
36
+ </xs:schema>
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:indicator="http://stix.mitre.org/Indicator-2" xmlns="http://stix.mitre.org/extensions/TestMechanism#YARA-1" xmlns:stixCommon="http://stix.mitre.org/common-1" xmlns:yaraTM="http://stix.mitre.org/extensions/TestMechanism#YARA-1" targetNamespace="http://stix.mitre.org/extensions/TestMechanism#YARA-1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" xml:lang="English">
3
+ <xs:annotation>
4
+ <xs:documentation>This schema was originally developed by The MITRE Corporation. The STIX XML Schema implementation is maintained by The MITRE Corporation and developed by the open STIX Community. For more information, including how to get involved in the effort and how to submit change requests, please visit the STIX website at http://stix.mitre.org.</xs:documentation>
5
+ <xs:appinfo>
6
+ <schema>STIX Extension - YARA Test Mechanism Instance</schema>
7
+ <version>1.0</version>
8
+ <date>04/08/2013 9:00:00 AM</date>
9
+ <short_description>Structured Threat Information eXpression (STIX) Extension - YARA Test Mechanism Instance - Schematic implementation for the using a YARA rule as a Test Machanism within the STIX structured cyber threat expression language architecture.</short_description>
10
+ <terms_of_use>Copyright (c) 2012-2013, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the STIX License located at http://stix.mitre.org/about/termsofuse.html. See the STIX License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the STIX Schema, this license header must be included. </terms_of_use>
11
+ </xs:appinfo>
12
+ </xs:annotation>
13
+ <xs:import namespace="http://stix.mitre.org/Indicator-2" schemaLocation="../../indicator.xsd"/>
14
+ <xs:import namespace="http://stix.mitre.org/common-1" schemaLocation="../../stix_common.xsd"/>
15
+ <xs:complexType name="YaraTestMechanismType">
16
+ <xs:annotation>
17
+ <xs:documentation>The YaraTestMechanismType specifies an instantial extension from the abstract TestMechanismType intended to support the inclusion of a YARA rule as a test mechanism content.</xs:documentation>
18
+ </xs:annotation>
19
+ <xs:complexContent>
20
+ <xs:extension base="indicator:TestMechanismType">
21
+ <xs:sequence>
22
+ <xs:element name="Version" type="xs:string" minOccurs="0">
23
+ <xs:annotation>
24
+ <xs:documentation>The Version of YARA that the rule was written against.</xs:documentation>
25
+ </xs:annotation>
26
+ </xs:element>
27
+ <xs:element name="Rule" type="stixCommon:EncodedCDATAType" minOccurs="0">
28
+ <xs:annotation>
29
+ <xs:documentation>The Rule field encapsulates a YARA rule in its native format within a String field. The specification should be within a CDATA construct within the String field.</xs:documentation>
30
+ </xs:annotation>
31
+ </xs:element>
32
+ </xs:sequence>
33
+ </xs:extension>
34
+ </xs:complexContent>
35
+ </xs:complexType>
36
+ </xs:schema>
@@ -0,0 +1,33 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://stix.mitre.org/extensions/Vulnerability#CVRF-1" xmlns="http://stix.mitre.org/extensions/Vulnerability#CVRF-1" xmlns:cvrf="http://www.icasi.org/CVRF/schema/cvrf/1.1" xmlns:et="http://stix.mitre.org/ExploitTarget-1" version="1.0" xml:lang="English">
3
+ <xs:annotation>
4
+ <xs:documentation>This schema was originally developed by The MITRE Corporation. The STIX XML Schema implementation is maintained by The MITRE Corporation and developed by the open STIX Community. For more information, including how to get involved in the effort and how to submit change requests, please visit the STIX website at http://stix.mitre.org. </xs:documentation>
5
+ <xs:appinfo>
6
+ <schema>STIX Extension - CVRF 1.1 Vulnerability Instance</schema>
7
+ <version>1.0</version>
8
+ <date>04/08/2013 9:00:00 AM</date>
9
+ <short_description>Structured Threat Information eXpression (STIX) Extension - CVRF 1.1 Vulnerability Instance - Schematic implementation for the using version 1.1 of CVRF to describe an Vulneability within the STIX structured cyber threat expression language architecture.</short_description>
10
+ <terms_of_use>Copyright (c) 2012-2013, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the STIX License located at http://stix.mitre.org/about/termsofuse.html. See the STIX License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the STIX Schema, this license header must be included. </terms_of_use>
11
+ </xs:appinfo>
12
+ </xs:annotation>
13
+ <xs:import namespace="http://www.icasi.org/CVRF/schema/cvrf/1.1" schemaLocation="../../external/cvrf_1.1/cvrf.xsd"/>
14
+ <xs:import namespace="http://stix.mitre.org/ExploitTarget-1" schemaLocation="../../exploit_target.xsd"/>
15
+ <xs:complexType name="CVRF1.1InstanceType">
16
+ <xs:annotation>
17
+ <xs:documentation>
18
+ The CVRF1.1InstanceType provides an extension to the VulnerabilityType which imports and leverages the CVRF schema for structured characterization of Vulnerabilities. This could include characterization of 0-days or other vulnerabilities that do not have a CVE or OSVDB ID.
19
+ </xs:documentation>
20
+ </xs:annotation>
21
+ <xs:complexContent>
22
+ <xs:extension base="et:VulnerabilityType">
23
+ <xs:sequence>
24
+ <xs:element ref="cvrf:cvrfdoc">
25
+ <xs:annotation>
26
+ <xs:documentation>The CVRF field contains the structured characterization of Vulnerabilities utilizing the CVRF schema.</xs:documentation>
27
+ </xs:annotation>
28
+ </xs:element>
29
+ </xs:sequence>
30
+ </xs:extension>
31
+ </xs:complexContent>
32
+ </xs:complexType>
33
+ </xs:schema>
@@ -0,0 +1 @@
1
+ The default type for representing vulnerabilities in STIX is CVRF1.1InstanceType in cvrf1.1.xsd
@@ -0,0 +1,2671 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:capec="http://capec.mitre.org/capec-2" xmlns:cybox="http://cybox.mitre.org/cybox-2" targetNamespace="http://capec.mitre.org/capec-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.5">
3
+ <xs:import namespace="http://cybox.mitre.org/cybox-2" schemaLocation="../../cybox/cybox_core.xsd"/>
4
+ <xs:element name="Attack_Pattern_Catalog">
5
+ <xs:annotation>
6
+ <xs:documentation>This is the enumerated catalog of common attack patterns.</xs:documentation>
7
+ </xs:annotation>
8
+ <xs:complexType>
9
+ <xs:sequence>
10
+ <xs:element name="Views" minOccurs="0">
11
+ <xs:complexType>
12
+ <xs:sequence>
13
+ <xs:element ref="capec:View" maxOccurs="unbounded"/>
14
+ </xs:sequence>
15
+ </xs:complexType>
16
+ </xs:element>
17
+ <xs:element name="Categories" minOccurs="0">
18
+ <xs:complexType>
19
+ <xs:sequence>
20
+ <xs:element ref="capec:Category" maxOccurs="unbounded">
21
+ <xs:annotation>
22
+ <xs:documentation>A category is a collection of attack patterns sharing a common attribute. The shared attribute may any number of things.</xs:documentation>
23
+ </xs:annotation>
24
+ </xs:element>
25
+ </xs:sequence>
26
+ </xs:complexType>
27
+ </xs:element>
28
+ <xs:element name="Attack_Patterns" minOccurs="0">
29
+ <xs:complexType>
30
+ <xs:sequence>
31
+ <xs:element ref="capec:Attack_Pattern" maxOccurs="unbounded"/>
32
+ </xs:sequence>
33
+ </xs:complexType>
34
+ </xs:element>
35
+ <xs:element name="Compound_Elements" minOccurs="0">
36
+ <xs:complexType>
37
+ <xs:sequence>
38
+ <xs:element ref="capec:Compound_Element">
39
+ <xs:annotation>
40
+ <xs:documentation> The Compound_Element structure represents a meaningful aggregation of several attack patterns. </xs:documentation>
41
+ </xs:annotation>
42
+ </xs:element>
43
+ </xs:sequence>
44
+ </xs:complexType>
45
+ </xs:element>
46
+ <xs:element name="Common_Attack_Steps" minOccurs="0">
47
+ <xs:complexType>
48
+ <xs:sequence>
49
+ <xs:element name="Common_Attack_Step" maxOccurs="unbounded">
50
+ <xs:complexType>
51
+ <xs:complexContent>
52
+ <xs:extension base="capec:Custom_Attack_StepType">
53
+ <xs:attribute name="ID" type="xs:integer" use="required"/>
54
+ </xs:extension>
55
+ </xs:complexContent>
56
+ </xs:complexType>
57
+ </xs:element>
58
+ </xs:sequence>
59
+ </xs:complexType>
60
+ </xs:element>
61
+ <xs:element name="Common_Attack_Surfaces" minOccurs="0">
62
+ <xs:complexType>
63
+ <xs:sequence>
64
+ <xs:element name="Common_Attack_Surface" maxOccurs="unbounded">
65
+ <xs:complexType>
66
+ <xs:complexContent>
67
+ <xs:extension base="capec:Target_Attack_Surface_DescriptionType">
68
+ <xs:attribute name="ID" type="xs:integer" use="required"/>
69
+ </xs:extension>
70
+ </xs:complexContent>
71
+ </xs:complexType>
72
+ </xs:element>
73
+ </xs:sequence>
74
+ </xs:complexType>
75
+ </xs:element>
76
+ <xs:element name="Environments" minOccurs="0">
77
+ <xs:complexType>
78
+ <xs:sequence>
79
+ <xs:element ref="capec:Environment" maxOccurs="unbounded"/>
80
+ </xs:sequence>
81
+ </xs:complexType>
82
+ </xs:element>
83
+ </xs:sequence>
84
+ <xs:attribute name="Catalog_Name" type="xs:string" use="required"/>
85
+ <xs:attribute name="Catalog_Version" type="xs:string" use="required"/>
86
+ <xs:attribute name="Catalog_Date" type="xs:date"/>
87
+ </xs:complexType>
88
+ </xs:element>
89
+ <xs:element name="View">
90
+ <xs:annotation>
91
+ <xs:documentation> Each View element represents a perspective with which one might look at the attack patterns in CAPEC. </xs:documentation>
92
+ </xs:annotation>
93
+ <xs:complexType>
94
+ <xs:group ref="capec:View_Attributes">
95
+ <xs:annotation>
96
+ <xs:documentation> The View_Attributes structure is a collection of common elements which might be shared by all Views. </xs:documentation>
97
+ </xs:annotation>
98
+ </xs:group>
99
+ <xs:attribute name="ID" type="xs:integer" use="required">
100
+ <xs:annotation>
101
+ <xs:documentation> The ID attribute provides a unique identifier for the entry. It will be static for the lifetime of the entry. In the event that this entry becomes deprecated, the ID will not be reused and a pointer will be left in this entry to the replacement. This is required for all Views.</xs:documentation>
102
+ </xs:annotation>
103
+ </xs:attribute>
104
+ <xs:attribute name="Name" type="xs:string" use="required">
105
+ <xs:annotation>
106
+ <xs:documentation> The Name is a descriptive attribute used to give the reader an idea of what perspective this view represents. All words in the name should be capitalized except for articles and prepositions unless they begin or end the name. Subsequent words in a hyphenated chain are also not capitalized. This is required for all Views. </xs:documentation>
107
+ </xs:annotation>
108
+ </xs:attribute>
109
+ <xs:attribute name="Status" type="capec:Status_Type" use="required">
110
+ <xs:annotation>
111
+ <xs:documentation> The Status attribute defines the status level for this view.
112
+ </xs:documentation>
113
+ </xs:annotation>
114
+ </xs:attribute>
115
+ </xs:complexType>
116
+ </xs:element>
117
+ <xs:element name="Category">
118
+ <xs:complexType>
119
+ <xs:sequence>
120
+ <xs:element name="Description">
121
+ <xs:annotation>
122
+ <xs:documentation> This field provides a description of this Category. Its primary subelement is Description_Summary which is intended to serve as a minimalistic description which provides the information necessary to understand the primary focus of this entry. Additionally, it has the subelement Extended_Description which is optional and is used to provide further information pertaining to this attack pattern. </xs:documentation>
123
+ </xs:annotation>
124
+ <xs:complexType>
125
+ <xs:sequence>
126
+ <xs:element name="Description_Summary" type="xs:string">
127
+ <xs:annotation>
128
+ <xs:documentation> This description should be short and should limit itself to describing the key points that define this entry. Further explanation can be included in the extended description element. This is required for all entries. </xs:documentation>
129
+ </xs:annotation>
130
+ </xs:element>
131
+ <xs:element name="Extended_Description" type="capec:Structured_Text_Type" minOccurs="0">
132
+ <xs:annotation>
133
+ <xs:documentation> This element provides a place for details important to the description of this entry to be included that are not necessary to convey the fundamental concept behind the entry. This is not required for all entries and should only be included where appropriate. </xs:documentation>
134
+ </xs:annotation>
135
+ </xs:element>
136
+ </xs:sequence>
137
+ </xs:complexType>
138
+ </xs:element>
139
+ <xs:element name="Related_Weaknesses" minOccurs="0">
140
+ <xs:annotation>
141
+ <xs:documentation>Which specific weaknesses does this attack target and leverage? Specific weaknesses (underlying issues that may cause vulnerabilities) reference the industry-standard Common Weakness Enumeration (CWE). This list should include not only those weaknesses that are directly targeted by the attack but also those whose presence can directly increase the likelihood of the attack succeeding or the impact if it does succeed.</xs:documentation>
142
+ </xs:annotation>
143
+ <xs:complexType>
144
+ <xs:sequence>
145
+ <xs:element name="Related_Weakness" maxOccurs="unbounded">
146
+ <xs:annotation>
147
+ <xs:documentation>This field describes an individual related weakness.</xs:documentation>
148
+ </xs:annotation>
149
+ <xs:complexType>
150
+ <xs:sequence>
151
+ <xs:element name="CWE_ID" type="xs:integer">
152
+ <xs:annotation>
153
+ <xs:documentation>The CWE_ID is a field that exists for all weaknesses enumerated in the Common Weakness Enumeration (CWE). It is a unique value that allows each weakness to be unambiguously identified. The CWE_ID field for the attack pattern contains the value of the CWE_ID for the specific related weakness. </xs:documentation>
154
+ </xs:annotation>
155
+ </xs:element>
156
+ <xs:element name="Weakness_Relationship_Type">
157
+ <xs:annotation>
158
+ <xs:documentation>This field describes the nature of the relationship between this weakness and the attack pattern. Weaknesses that are specifically targeted by the attack are of type "Targeted". Weaknesses which are not specifically targeted but whose presence may increase the likelihood of the attack succeeding or the impact of the attack if it does succeed are of type "Secondary".</xs:documentation>
159
+ </xs:annotation>
160
+ <xs:simpleType>
161
+ <xs:restriction base="xs:string">
162
+ <xs:enumeration value="Targeted"/>
163
+ <xs:enumeration value="Secondary"/>
164
+ </xs:restriction>
165
+ </xs:simpleType>
166
+ </xs:element>
167
+ </xs:sequence>
168
+ </xs:complexType>
169
+ </xs:element>
170
+ </xs:sequence>
171
+ </xs:complexType>
172
+ </xs:element>
173
+ <xs:element name="Attack_Prerequisites" minOccurs="0">
174
+ <xs:annotation>
175
+ <xs:documentation>This field describes the conditions that must exist or the functionality and characteristics that the target software must have or behavior it must exhibit for an attack of this type to succeed.</xs:documentation>
176
+ </xs:annotation>
177
+ <xs:complexType>
178
+ <xs:sequence>
179
+ <xs:element name="Attack_Prerequisite" type="capec:Structured_Text_Type" maxOccurs="unbounded">
180
+ <xs:annotation>
181
+ <xs:documentation>This field describes an individual attack prerequisite.</xs:documentation>
182
+ </xs:annotation>
183
+ </xs:element>
184
+ </xs:sequence>
185
+ </xs:complexType>
186
+ </xs:element>
187
+ <xs:element name="Methods_of_Attack" minOccurs="0">
188
+ <xs:annotation>
189
+ <xs:documentation>This field describes the mechanism of attack used by this pattern. This field can help define the applicable attack surface required for this attack.</xs:documentation>
190
+ </xs:annotation>
191
+ <xs:complexType>
192
+ <xs:sequence>
193
+ <xs:element name="Method_of_Attack" minOccurs="0" maxOccurs="unbounded">
194
+ <xs:annotation>
195
+ <xs:documentation>This field describes the mechanism of attack used by this pattern. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined vectors which is currently incomplete and will grow as new relevant vectors are identified. This field can help define the applicable attack surface required for this attack.</xs:documentation>
196
+ </xs:annotation>
197
+ <xs:simpleType>
198
+ <xs:restriction base="xs:string">
199
+ <xs:enumeration value="Injection"/>
200
+ <xs:enumeration value="Modification of Resources"/>
201
+ <xs:enumeration value="Protocol Manipulation"/>
202
+ <xs:enumeration value="Analysis"/>
203
+ <xs:enumeration value="API Abuse"/>
204
+ <xs:enumeration value="Brute Force"/>
205
+ <xs:enumeration value="Flooding"/>
206
+ <xs:enumeration value="Time and State"/>
207
+ <xs:enumeration value="Spoofing"/>
208
+ <xs:enumeration value="Social Engineering"/>
209
+ </xs:restriction>
210
+ </xs:simpleType>
211
+ </xs:element>
212
+ </xs:sequence>
213
+ </xs:complexType>
214
+ </xs:element>
215
+ <xs:element name="Attacker_Skills_or_Knowledge_Required" minOccurs="0">
216
+ <xs:annotation>
217
+ <xs:documentation>This field describes the level of skills or specific knowledge required by an attacker to execute this type of attack. </xs:documentation>
218
+ </xs:annotation>
219
+ <xs:complexType>
220
+ <xs:sequence>
221
+ <xs:element name="Attacker_Skill_or_Knowledge_Required" maxOccurs="unbounded">
222
+ <xs:annotation>
223
+ <xs:documentation>This field describes the level of skill or specific knowledge required by an attacker to execute this type of attack. </xs:documentation>
224
+ </xs:annotation>
225
+ <xs:complexType>
226
+ <xs:sequence>
227
+ <xs:element name="Skill_or_Knowledge_Level" minOccurs="0">
228
+ <xs:annotation>
229
+ <xs:documentation>This should be communicated on a rough scale (Low, Medium, High).
230
+ For example:
231
+ • Low - Basic computer familiarity
232
+ • Low - Basic SQL knowledge
233
+ • Medium - Moderate scripting and shell experience and ability to disassemble and decompile
234
+ • High - Expert knowledge of LINUX kernel
235
+ • High - Detailed knowledge of target software development practices and business context (former employee)
236
+ • Etc.
237
+ </xs:documentation>
238
+ </xs:annotation>
239
+ <xs:simpleType>
240
+ <xs:restriction base="xs:string">
241
+ <xs:enumeration value="Low"/>
242
+ <xs:enumeration value="Medium"/>
243
+ <xs:enumeration value="High"/>
244
+ </xs:restriction>
245
+ </xs:simpleType>
246
+ </xs:element>
247
+ <xs:element name="Skill_or_Knowledge_Type" type="capec:Structured_Text_Type" minOccurs="0">
248
+ <xs:annotation>
249
+ <xs:documentation>This field provides contextual detail for the skill or knowledge level.</xs:documentation>
250
+ </xs:annotation>
251
+ </xs:element>
252
+ </xs:sequence>
253
+ </xs:complexType>
254
+ </xs:element>
255
+ </xs:sequence>
256
+ </xs:complexType>
257
+ </xs:element>
258
+ <xs:element name="Resources_Required" type="capec:Structured_Text_Type" minOccurs="0">
259
+ <xs:annotation>
260
+ <xs:documentation>This field describes the resources (CPU cycles, IP addresses, tools, etc.) required by an attacker to effectively execute this type of attack.</xs:documentation>
261
+ </xs:annotation>
262
+ </xs:element>
263
+ <xs:element name="Attack_Motivation-Consequences" minOccurs="0">
264
+ <xs:annotation>
265
+ <xs:documentation>What is the attacker trying to achieve by using this attack? This is not the end business/mission goal of the attack within the target context but rather the specific technical result desired that could be leveraged to achieve the end business/mission objective. This information is useful for aligning attack patterns to threat models and for determining which attack patterns are relevant for a given context.</xs:documentation>
266
+ </xs:annotation>
267
+ <xs:complexType>
268
+ <xs:sequence>
269
+ <xs:element name="Attack_Motivation-Consequence" type="capec:Common_ConsequenceType" maxOccurs="unbounded">
270
+ <xs:annotation>
271
+ <xs:documentation>What is the attacker trying to achieve by using this attack? This is not the end business/mission goal of the attack within the target context but rather the specific technical result desired that could be leveraged to achieve the end business/mission objective. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined motivations/consequences which is currently incomplete and will grow as new relevant possibilities are identified. This information is useful for aligning attack patterns to threat models and for determining which attack patterns are relevant for a given context.</xs:documentation>
272
+ </xs:annotation>
273
+ </xs:element>
274
+ </xs:sequence>
275
+ </xs:complexType>
276
+ </xs:element>
277
+ <xs:element ref="capec:Relationships" minOccurs="0">
278
+ <xs:annotation>
279
+ <xs:documentation> The Relationships structure contains one or more Relationship elements, each of which identifies an association between this structure, whether it is an Attack Pattern, Category, or Compound_Element and another structure.
280
+ </xs:documentation>
281
+ </xs:annotation>
282
+ </xs:element>
283
+ <xs:element ref="capec:Relationship_Notes" minOccurs="0">
284
+ <xs:annotation>
285
+ <xs:documentation> This structure houses one or more Relationship_Note elements, which each contain details regarding the relationships between CAPEC entries. </xs:documentation>
286
+ </xs:annotation>
287
+ </xs:element>
288
+ <xs:element ref="capec:Maintenance_Notes" minOccurs="0">
289
+ <xs:annotation>
290
+ <xs:documentation> This element contains one or more Maintenance_Note elements which each contain significant maintenance tasks within this entry that still need to be addressed, such as clarifying the concepts involved or improving relationships. It should be filled out in any entry that is still undergoing significant review by the
291
+ CAPEC team.</xs:documentation>
292
+ </xs:annotation>
293
+ </xs:element>
294
+ <xs:element name="Background_Details" minOccurs="0">
295
+ <xs:annotation>
296
+ <xs:documentation> This structure contains one or more Background_Detail elements, each of which holds information regarding the entry or any technologies that are related to it, where the background information is not related to the nature of the entry itself. It should be filled out where appropriate. </xs:documentation>
297
+ </xs:annotation>
298
+ <xs:complexType>
299
+ <xs:sequence>
300
+ <xs:element name="Background_Detail" type="capec:Structured_Text_Type" maxOccurs="unbounded">
301
+ <xs:annotation>
302
+ <xs:documentation> This element contains background information regarding the entry or any technologies that are related to it, where the background information is not related to the nature of the category itself. It should be filled out where appropriate.
303
+ </xs:documentation>
304
+ </xs:annotation>
305
+ </xs:element>
306
+ </xs:sequence>
307
+ </xs:complexType>
308
+ </xs:element>
309
+ <xs:element ref="capec:Other_Notes" minOccurs="0">
310
+ <xs:annotation>
311
+ <xs:documentation> This element contains one or more Note elements, each of which provide any additional notes or comments that cannot be captured using other elements. New elements might be defined in the future to contain this information. It should be filled out where needed. </xs:documentation>
312
+ </xs:annotation>
313
+ </xs:element>
314
+ <xs:element ref="capec:Alternate_Terms" minOccurs="0">
315
+ <xs:annotation>
316
+ <xs:documentation> This element contains one or more Alternate_Term elements, each of which contains other names used to describe this attack pattern. </xs:documentation>
317
+ </xs:annotation>
318
+ </xs:element>
319
+ <xs:element ref="capec:Research_Gaps" minOccurs="0">
320
+ <xs:annotation>
321
+ <xs:documentation> This structure contains one or more Research gap elements, each of which identifies potential opportunities for the vulnerability research community to conduct further exploration of issues related to this attack pattern. It is intended to highlight parts of CAPEC that have not received sufficient attention from researchers.
322
+ This should be filled out where appropriate for attack patterns and categories.</xs:documentation>
323
+ </xs:annotation>
324
+ </xs:element>
325
+ <xs:element name="References" type="capec:Reference_List_Type" minOccurs="0">
326
+ <xs:annotation>
327
+ <xs:documentation> The References element contains one or more Reference elements, each of which provide further reading and insight into this
328
+ attack pattern. </xs:documentation>
329
+ </xs:annotation>
330
+ </xs:element>
331
+ <xs:element ref="capec:Content_History" minOccurs="0">
332
+ <xs:annotation>
333
+ <xs:documentation> This element is used to keep track of the author of the attack pattern entry and anyone who has made modifications to the content. This provides a means of contacting the authors and modifiers for clarifying ambiguities, merging overlapping contributions, etc. This should be filled out for all entries. </xs:documentation>
334
+ </xs:annotation>
335
+ </xs:element>
336
+ </xs:sequence>
337
+ <xs:attribute name="ID" type="xs:integer" use="required">
338
+ <xs:annotation>
339
+ <xs:documentation> This attribute provides a unique identifier for the entry. It will be static for the lifetime of the entry. In the event that this entry becomes deprecated, the ID will not be reused and a pointer will be left in this entry to the replacement. This is required for all Categories.</xs:documentation>
340
+ </xs:annotation>
341
+ </xs:attribute>
342
+ <xs:attribute name="Name" type="xs:string" use="required">
343
+ <xs:annotation>
344
+ <xs:documentation> The Name is a descriptive name used to give the reader an idea of what the commonality is amongst the children of this category. All
345
+ words in the name should be capitalized except for articles and prepositions unless they begin or end the name. Subsequent words in a hyphenated chain are also not capitalized. This is required for all Categories.</xs:documentation>
346
+ </xs:annotation>
347
+ </xs:attribute>
348
+ <xs:attribute name="Status" type="capec:Status_Type" use="required">
349
+ <xs:annotation>
350
+ <xs:documentation> The Status attribute defines the status level for this category. </xs:documentation>
351
+ </xs:annotation>
352
+ </xs:attribute>
353
+ </xs:complexType>
354
+ </xs:element>
355
+ <xs:element name="Attack_Pattern" type="capec:Attack_PatternType">
356
+ <xs:annotation>
357
+ <xs:documentation>This element is an individual attack pattern.</xs:documentation>
358
+ </xs:annotation>
359
+ </xs:element>
360
+ <xs:element name="Compound_Element">
361
+ <xs:complexType>
362
+ <xs:sequence>
363
+ <xs:element name="Description">
364
+ <xs:annotation>
365
+ <xs:documentation> This field provides a description of this Structure, whether it is an Attack Pattern, Category or Compound Element. Its primary subelement is Description_Summary which is intended to serve as a minimalistic description which provides the information necessary to understand the primary focus of this entry. Additionally, it has the subelement Extended_Description which is optional and is used to provide further information pertaining to this attack pattern. </xs:documentation>
366
+ </xs:annotation>
367
+ <xs:complexType>
368
+ <xs:sequence>
369
+ <xs:element name="Description_Summary" type="xs:string">
370
+ <xs:annotation>
371
+ <xs:documentation> This description should be short and should limit itself to describing the key points that define this entry. Further explanation can be included in the extended description element. This is required for all entries. </xs:documentation>
372
+ </xs:annotation>
373
+ </xs:element>
374
+ <xs:element name="Extended_Description" type="capec:Structured_Text_Type" minOccurs="0">
375
+ <xs:annotation>
376
+ <xs:documentation> This element provides a place for details important to the description of this entry to be included that are not necessary to convey the fundamental concept behind the entry. This is not required for all entries and should only be included where appropriate. </xs:documentation>
377
+ </xs:annotation>
378
+ </xs:element>
379
+ </xs:sequence>
380
+ </xs:complexType>
381
+ </xs:element>
382
+ <xs:element ref="capec:Relationships" minOccurs="0">
383
+ <xs:annotation>
384
+ <xs:documentation> The Relationships structure contains one or more Relationship elements, each of which identifies an association between this structure, whether it is an Attack Pattern, Category, or Compound_Element and another structure.
385
+ </xs:documentation>
386
+ </xs:annotation>
387
+ </xs:element>
388
+ <xs:element ref="capec:Relationship_Notes" minOccurs="0">
389
+ <xs:annotation>
390
+ <xs:documentation> This structure houses one or more Relationship_Note elements, which each contain details regarding the relationships between CAPEC entries. </xs:documentation>
391
+ </xs:annotation>
392
+ </xs:element>
393
+ <xs:element ref="capec:Maintenance_Notes" minOccurs="0">
394
+ <xs:annotation>
395
+ <xs:documentation> This element contains one or more Maintenance_Note elements which each contain significant maintenance tasks within this entry that still need to be addressed, such as clarifying the concepts involved or improving relationships. It should be filled out in any entry that is still undergoing significant review by the
396
+ CAPEC team.</xs:documentation>
397
+ </xs:annotation>
398
+ </xs:element>
399
+ <xs:element name="Background_Details" minOccurs="0">
400
+ <xs:annotation>
401
+ <xs:documentation> This structure contains one or more Background_Detail elements, each of which holds information regarding the entry or any technologies that are related to it, where the background information is not related to the nature of the entry itself. It should be filled out where appropriate. </xs:documentation>
402
+ </xs:annotation>
403
+ <xs:complexType>
404
+ <xs:sequence>
405
+ <xs:element name="Background_Detail" type="capec:Structured_Text_Type" maxOccurs="unbounded">
406
+ <xs:annotation>
407
+ <xs:documentation> This element contains background information regarding the entry or any technologies that are related to it, where the background information is not related to the nature of the attack pattern itself. It should be filled out where appropriate.
408
+ </xs:documentation>
409
+ </xs:annotation>
410
+ </xs:element>
411
+ </xs:sequence>
412
+ </xs:complexType>
413
+ </xs:element>
414
+ <xs:element ref="capec:Other_Notes" minOccurs="0">
415
+ <xs:annotation>
416
+ <xs:documentation> This element contains one or more Note elements, each of which provide any additional notes or comments that cannot be captured using other elements. New elements might be defined in the future to contain this information. It should be filled out where needed. </xs:documentation>
417
+ </xs:annotation>
418
+ </xs:element>
419
+ <xs:element ref="capec:Alternate_Terms" minOccurs="0">
420
+ <xs:annotation>
421
+ <xs:documentation> This element contains one or more Alternate_Term elements, each of which contains other names used to describe this attack pattern. </xs:documentation>
422
+ </xs:annotation>
423
+ </xs:element>
424
+ <xs:element ref="capec:Research_Gaps" minOccurs="0">
425
+ <xs:annotation>
426
+ <xs:documentation> This structure contains one or more Research gap elements, each of which identifies potential opportunities for the vulnerability research community to conduct further exploration of issues related to this attack pattern. It is intended to highlight parts of CAPEC that have not received sufficient attention from researchers.
427
+ This should be filled out where appropriate for attack patterns and categories.</xs:documentation>
428
+ </xs:annotation>
429
+ </xs:element>
430
+ <xs:element name="References" type="capec:Reference_List_Type" minOccurs="0">
431
+ <xs:annotation>
432
+ <xs:documentation> The References element contains one or more Reference elements, each of which provide further reading and insight into this
433
+ attack pattern. </xs:documentation>
434
+ </xs:annotation>
435
+ </xs:element>
436
+ <xs:element ref="capec:Content_History" minOccurs="0">
437
+ <xs:annotation>
438
+ <xs:documentation> This element is used to keep track of the author of the attack pattern entry and anyone who has made modifications to the content. This provides a means of contacting the authors and modifiers for clarifying ambiguities, merging overlapping contributions, etc. This should be filled out for all entries. </xs:documentation>
439
+ </xs:annotation>
440
+ </xs:element>
441
+ </xs:sequence>
442
+ <xs:attribute name="ID" type="xs:integer" use="required">
443
+ <xs:annotation>
444
+ <xs:documentation> This attribute provides a unique identifier for the entry. It will be static for the lifetime of the entry. In the event that this entry becomes deprecated, the ID will not be reused and a pointer will be left in this entry to the replacement. This is required for all Compound_Elements.</xs:documentation>
445
+ </xs:annotation>
446
+ </xs:attribute>
447
+ <xs:attribute name="Name" type="xs:string" use="required">
448
+ <xs:annotation>
449
+ <xs:documentation> The Name is a descriptive name used to give the reader an idea of the meaning behind the compound attack pattern structure. All words in the name should be capitalized except for articles and prepositions unless they begin or end the name. Subsequent words in a hyphenated chain are also not capitalized. This is required for all Compound_Elements. </xs:documentation>
450
+ </xs:annotation>
451
+ </xs:attribute>
452
+ <xs:attribute name="Compound_Element_Abstraction" use="required">
453
+ <xs:annotation>
454
+ <xs:documentation> The Abstraction defines the abstraction level for this attack pattern. The abstraction levels for Compound_Elements and Attack Patterns are the same. For example, if the Compound_Element is a chain, and all elements of the chain are Meta level, then the Compound_Element Abstraction attribute is Meta. This is required for all Compound_Elements.</xs:documentation>
455
+ </xs:annotation>
456
+ <xs:simpleType>
457
+ <xs:restriction base="xs:string">
458
+ <xs:enumeration value="Meta"/>
459
+ <xs:enumeration value="Standard"/>
460
+ <xs:enumeration value="Detailed"/>
461
+ </xs:restriction>
462
+ </xs:simpleType>
463
+ </xs:attribute>
464
+ <xs:attribute name="Compound_Element_Completeness" use="required">
465
+ <xs:simpleType>
466
+ <xs:restriction base="xs:string">
467
+ <xs:enumeration value="Complete"/>
468
+ <xs:enumeration value="Stub"/>
469
+ <xs:enumeration value="Hook"/>
470
+ </xs:restriction>
471
+ </xs:simpleType>
472
+ </xs:attribute>
473
+ <xs:attribute name="Compound_Element_Structure" use="required">
474
+ <xs:annotation>
475
+ <xs:documentation> The Structure attribute defines the structural nature of this compound element - that is, composed of other attack patterns concurrently, as in a composite, or consecutively, as in a chain. </xs:documentation>
476
+ </xs:annotation>
477
+ <xs:simpleType>
478
+ <xs:restriction base="xs:string">
479
+ <xs:enumeration value="Composite"/>
480
+ <xs:enumeration value="Chain"/>
481
+ </xs:restriction>
482
+ </xs:simpleType>
483
+ </xs:attribute>
484
+ <xs:attribute name="Status" type="capec:Status_Type" use="required">
485
+ <xs:annotation>
486
+ <xs:documentation> The Status attribute defines the status level for this compound element. </xs:documentation>
487
+ </xs:annotation>
488
+ </xs:attribute>
489
+ </xs:complexType>
490
+ </xs:element>
491
+ <xs:element name="Environment">
492
+ <xs:complexType>
493
+ <xs:annotation>
494
+ <xs:documentation> Description and globally unique ID for a kind of environment or
495
+ context that is required. Used in Attack Steps, Indicators of Susceptibility,
496
+ and Security Controls, etc. </xs:documentation>
497
+ </xs:annotation>
498
+ <xs:all>
499
+ <xs:element name="Environment_Title" type="xs:token"/>
500
+ <xs:element name="Environment_Description" type="xs:token"/>
501
+ </xs:all>
502
+ <xs:attribute name="ID" type="xs:ID" use="required"/>
503
+ </xs:complexType>
504
+ </xs:element>
505
+ <xs:element name="Attack_Execution_Flow">
506
+ <xs:complexType>
507
+ <xs:sequence>
508
+ <xs:element name="Attack_Phases">
509
+ <xs:complexType>
510
+ <xs:sequence>
511
+ <xs:element name="Attack_Phase" maxOccurs="3">
512
+ <xs:annotation>
513
+ <xs:documentation>Segment the attack steps into the various phases of attack. One of three phases "Explore," "Experiment," or "Exploit." Each phase should appear at most once, and attack steps should be grouped by what kind of activities the attacker is carrying out. The exploration and experimentation phases may or may not occur during a particular attack, because the attacker may already know exactly how to exploit a system.</xs:documentation>
514
+ </xs:annotation>
515
+ <xs:complexType>
516
+ <xs:sequence>
517
+ <xs:annotation>
518
+ <xs:documentation> One of three phases "Explore," "Experiment," or
519
+ "Exploit." Each phase should appear at most once, and attack steps should be grouped by what kind of activities the attacker is carrying out. </xs:documentation>
520
+ </xs:annotation>
521
+ <xs:element name="Attack_Steps">
522
+ <xs:complexType>
523
+ <xs:sequence>
524
+ <xs:element name="Attack_Step" maxOccurs="unbounded">
525
+ <xs:annotation>
526
+ <xs:documentation>Brief description of an individual action step
527
+ in carrying out the attack</xs:documentation>
528
+ </xs:annotation>
529
+ <xs:complexType>
530
+ <xs:choice>
531
+ <xs:element name="Common_Attack_Step">
532
+ <xs:complexType>
533
+ <xs:sequence>
534
+ <xs:element name="Pattern_Specific_Overrides" type="capec:Custom_Attack_StepType"/>
535
+ </xs:sequence>
536
+ <xs:attribute name="Common_Attack_Step_ID" type="xs:integer" use="required"/>
537
+ </xs:complexType>
538
+ </xs:element>
539
+ <xs:element name="Custom_Attack_Step" type="capec:Custom_Attack_StepType"/>
540
+ </xs:choice>
541
+ <xs:attribute name="ID" type="xs:integer" use="required"/>
542
+ </xs:complexType>
543
+ </xs:element>
544
+ </xs:sequence>
545
+ </xs:complexType>
546
+ </xs:element>
547
+ </xs:sequence>
548
+ <xs:attribute name="ID" type="xs:integer" use="required"/>
549
+ <xs:attribute name="Name" use="required">
550
+ <xs:annotation>
551
+ <xs:documentation>"Explore," "Experiment," or "Exploit." </xs:documentation>
552
+ </xs:annotation>
553
+ <xs:simpleType>
554
+ <xs:restriction base="xs:token">
555
+ <xs:enumeration value="Explore"/>
556
+ <xs:enumeration value="Experiment"/>
557
+ <xs:enumeration value="Exploit"/>
558
+ <xs:enumeration value=""/>
559
+ </xs:restriction>
560
+ </xs:simpleType>
561
+ </xs:attribute>
562
+ </xs:complexType>
563
+ </xs:element>
564
+ </xs:sequence>
565
+ </xs:complexType>
566
+ </xs:element>
567
+ </xs:sequence>
568
+ </xs:complexType>
569
+ </xs:element>
570
+ <xs:element name="Attack_Step_Technique">
571
+ <xs:complexType>
572
+ <xs:annotation>
573
+ <xs:documentation>
574
+ A particular technique that may accomplish this attack step.
575
+ </xs:documentation>
576
+ </xs:annotation>
577
+ <xs:all>
578
+ <xs:element name="Attack_Step_Technique_Description" type="capec:Structured_Text_Type">
579
+ <xs:annotation>
580
+ <xs:documentation>This field contains a brief description of the attack step technique.</xs:documentation>
581
+ </xs:annotation>
582
+ </xs:element>
583
+ <xs:element name="Leveraged_Attack_Patterns" minOccurs="0">
584
+ <xs:complexType>
585
+ <xs:sequence>
586
+ <xs:element name="Leveraged_Attack_Pattern_ID" maxOccurs="unbounded"/>
587
+ </xs:sequence>
588
+ </xs:complexType>
589
+ </xs:element>
590
+ <xs:element name="Relevant_Attack_Surface_Elements" type="capec:Relevant_Attack_Surface_ElementsType" minOccurs="0"/>
591
+ <xs:element name="Observables" type="cybox:ObservablesType" minOccurs="0"/>
592
+ <xs:element name="Environments" type="xs:IDREFS">
593
+ <xs:annotation>
594
+ <xs:documentation>References the defined environments where this attack step technique is applicable.</xs:documentation>
595
+ </xs:annotation>
596
+ </xs:element>
597
+ </xs:all>
598
+ <xs:attribute name="ID" type="xs:integer" use="required"/>
599
+ </xs:complexType>
600
+ </xs:element>
601
+ <xs:group name="View_Attributes">
602
+ <xs:annotation>
603
+ <xs:documentation> The View_Attributes structure is a collection of common elements which might be shared by all Views. </xs:documentation>
604
+ </xs:annotation>
605
+ <xs:sequence>
606
+ <xs:element name="View_Structure">
607
+ <xs:annotation>
608
+ <xs:documentation>The View_Structure element describes how this view is being constructed. Valid values are: Implicit Slice = a slice based on a filter criteria; Explicit Slice = a slice based on arbitrary membership, as defined by specific relationships between entries; Graph = a bounded graphical slice based on ChildOf relationships.</xs:documentation>
609
+ </xs:annotation>
610
+ <xs:simpleType>
611
+ <xs:restriction base="xs:string">
612
+ <xs:enumeration value="Implicit_Slice"/>
613
+ <xs:enumeration value="Explicit_Slice"/>
614
+ <xs:enumeration value="Graph"/>
615
+ </xs:restriction>
616
+ </xs:simpleType>
617
+ </xs:element>
618
+ <xs:element name="View_Objective" type="capec:Structured_Text_Type">
619
+ <xs:annotation>
620
+ <xs:documentation> The View_Objective element describes the perspective from which this View is constructed. </xs:documentation>
621
+ </xs:annotation>
622
+ </xs:element>
623
+ <xs:element name="View_Audience" minOccurs="0">
624
+ <xs:annotation>
625
+ <xs:documentation> The View_Audience element provides a reference to the targeted audiences or groups for this view. </xs:documentation>
626
+ </xs:annotation>
627
+ <xs:complexType>
628
+ <xs:sequence>
629
+ <xs:element name="Audience" maxOccurs="unbounded">
630
+ <xs:annotation>
631
+ <xs:documentation> The Audience element provides a reference to the
632
+ target audience or group for this view. </xs:documentation>
633
+ </xs:annotation>
634
+ <xs:complexType>
635
+ <xs:sequence>
636
+ <xs:element name="Stakeholder">
637
+ <xs:annotation>
638
+ <xs:documentation> The Stakeholder element specifies what types of members of the CAPEC community might be
639
+ interested in this view. </xs:documentation>
640
+ </xs:annotation>
641
+ <xs:simpleType>
642
+ <xs:restriction base="xs:string">
643
+ <xs:enumeration value="Developers"/>
644
+ <xs:enumeration value="Software_Vendors"/>
645
+ <xs:enumeration value="Assessment_Vendors"/>
646
+ <xs:enumeration value="Educators"/>
647
+ <xs:enumeration value="OWGV"/>
648
+ <xs:enumeration value="SAMATE"/>
649
+ <xs:enumeration value="CAPEC_Formalization"/>
650
+ <xs:enumeration value="CAPEC_Team"/>
651
+ <xs:enumeration value="Software_Customers"/>
652
+ <xs:enumeration value="Assessment_Customers"/>
653
+ <xs:enumeration value="Academic_Researchers"/>
654
+ <xs:enumeration value="Applied_Researchers"/>
655
+ <xs:enumeration value="Information_Providers"/>
656
+ </xs:restriction>
657
+ </xs:simpleType>
658
+ </xs:element>
659
+ <xs:element name="Stakeholder_Description" type="capec:Structured_Text_Type" minOccurs="0">
660
+ <xs:annotation>
661
+ <xs:documentation> The Stakeholder_Description el provides some text describing what properties of this View this particular Stakeholder might find
662
+ useful.</xs:documentation>
663
+ </xs:annotation>
664
+ </xs:element>
665
+ </xs:sequence>
666
+ </xs:complexType>
667
+ </xs:element>
668
+ </xs:sequence>
669
+ </xs:complexType>
670
+ </xs:element>
671
+ <xs:element ref="capec:Relationships" minOccurs="0">
672
+ <xs:annotation>
673
+ <xs:documentation> The Relationships structure contains one or more Relationship elements, each of which identifies an association between this structure, whether it is a Attack Pattern, Category, or Compound_Element and another structure. </xs:documentation>
674
+ </xs:annotation>
675
+ </xs:element>
676
+ <xs:element ref="capec:Relationship_Notes" minOccurs="0">
677
+ <xs:annotation>
678
+ <xs:documentation> This structure houses one or more Relationship_Note elements, which each contain details regarding the relationships between CAPEC entries.
679
+ </xs:documentation>
680
+ </xs:annotation>
681
+ </xs:element>
682
+ <xs:element ref="capec:Maintenance_Notes" minOccurs="0">
683
+ <xs:annotation>
684
+ <xs:documentation> This element contains one or more Maintenance_Note elements which each contain significant maintenance tasks within this entry that still need to be addressed, such as clarifying the concepts involved or improving relationships. It should be filled out in any entry that is still undergoing significant review by the CAPEC team.</xs:documentation>
685
+ </xs:annotation>
686
+ </xs:element>
687
+ <xs:element ref="capec:Other_Notes" minOccurs="0">
688
+ <xs:annotation>
689
+ <xs:documentation> This element contains one or more Note elements, each of which provide any additional notes or comments that cannot be captured using other elements. New elements might be defined in the future to contain this information. It should be filled out where needed. </xs:documentation>
690
+ </xs:annotation>
691
+ </xs:element>
692
+ <xs:element ref="capec:Alternate_Terms" minOccurs="0">
693
+ <xs:annotation>
694
+ <xs:documentation> This element contains one or more Alternate_Term elements, each of which contains other names used to describe this attack pattern. </xs:documentation>
695
+ </xs:annotation>
696
+ </xs:element>
697
+ <xs:element ref="capec:Research_Gaps" minOccurs="0">
698
+ <xs:annotation>
699
+ <xs:documentation> This structure contains one or more Research gap elements, each of which identifies potential opportunities for the vulnerability research community to conduct further exploration of issues related to this attack pattern. It is intended to highlight parts of CAPEC that have not received sufficient attention from researchers. This should be filled out where appropriate for attack patterns and categories.</xs:documentation>
700
+ </xs:annotation>
701
+ </xs:element>
702
+ <xs:element name="References" type="capec:Reference_List_Type" minOccurs="0">
703
+ <xs:annotation>
704
+ <xs:documentation>The References element contains one or more Reference elements, each of which provide further reading and insight into this view. This should be filled out when the view is based on sources or projects that are external to the CAPEC project.</xs:documentation>
705
+ </xs:annotation>
706
+ </xs:element>
707
+ <xs:element name="View_Filter" type="xs:string" minOccurs="0">
708
+ <xs:annotation>
709
+ <xs:documentation>The View_Filter element holds an XSL query for identifying which elements are members of an implicit slice. This should only be present for implicit slices.</xs:documentation>
710
+ </xs:annotation>
711
+ </xs:element>
712
+ <xs:element ref="capec:Content_History" minOccurs="0">
713
+ <xs:annotation>
714
+ <xs:documentation> This element is used to keep track of the author of the attack pattern entry and anyone who has made modifications to the content. This provides a means of
715
+ contacting the authors and modifiers for clarifying ambiguities, merging overlapping contributions, etc. This should be filled out for all entries. </xs:documentation>
716
+ </xs:annotation>
717
+ </xs:element>
718
+ </xs:sequence>
719
+ </xs:group>
720
+ <xs:element name="Relationships">
721
+ <xs:annotation>
722
+ <xs:documentation> The Relationships structure contains one or more Relationship elements, each of which identifies an association between this structure, whether it is a Attack Pattern, Category, or Compound_Element and another structure.</xs:documentation>
723
+ </xs:annotation>
724
+ <xs:complexType>
725
+ <xs:sequence>
726
+ <xs:element name="Relationship" type="capec:RelationshipType" maxOccurs="unbounded">
727
+ <xs:annotation>
728
+ <xs:documentation> Each Relationship identifies an association between this structure, whether it is an Attack Pattern, Category, or Compound_Element and another structure. The relationship also identifies the views under which the relationship is applicable. </xs:documentation>
729
+ </xs:annotation>
730
+ </xs:element>
731
+ </xs:sequence>
732
+ </xs:complexType>
733
+ </xs:element>
734
+ <xs:complexType name="RelationshipType">
735
+ <xs:sequence>
736
+ <xs:element name="Relationship_Views">
737
+ <xs:annotation>
738
+ <xs:documentation> This element contains a list of the individual Views to which this relationship pertains. </xs:documentation>
739
+ </xs:annotation>
740
+ <xs:complexType>
741
+ <xs:sequence>
742
+ <xs:element name="Relationship_View_ID" maxOccurs="unbounded">
743
+ <xs:annotation>
744
+ <xs:documentation> Specifies the unique ID of the individual view element to which this relationship pertains. This ID must correspond to a View. </xs:documentation>
745
+ </xs:annotation>
746
+ <xs:complexType>
747
+ <xs:simpleContent>
748
+ <xs:extension base="xs:integer">
749
+ <xs:attribute name="Ordinal">
750
+ <xs:annotation>
751
+ <xs:documentation> The ordinal attribute is used
752
+ to determine if this relationship is the primary ChildOf relationship for this
753
+ entry for a given Relationship_View_ID element.. This attribute can only have the value "Primary" and should only be included for the primary parent/child relationship.
754
+ </xs:documentation>
755
+ </xs:annotation>
756
+ <xs:simpleType>
757
+ <xs:restriction base="xs:string">
758
+ <xs:enumeration value="Primary"/>
759
+ </xs:restriction>
760
+ </xs:simpleType>
761
+ </xs:attribute>
762
+ </xs:extension>
763
+ </xs:simpleContent>
764
+ </xs:complexType>
765
+ </xs:element>
766
+ </xs:sequence>
767
+ </xs:complexType>
768
+ </xs:element>
769
+ <xs:element name="Relationship_Chains" minOccurs="0">
770
+ <xs:annotation>
771
+ <xs:documentation> This element contains a list of the individual Chains this relationship pertains to. </xs:documentation>
772
+ </xs:annotation>
773
+ <xs:complexType>
774
+ <xs:sequence>
775
+ <xs:element name="Relationship_Chain_ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded">
776
+ <xs:annotation>
777
+ <xs:documentation> This element specifies the unique ID of an individual chain element this relationship pertains to.</xs:documentation>
778
+ </xs:annotation>
779
+ </xs:element>
780
+ </xs:sequence>
781
+ </xs:complexType>
782
+ </xs:element>
783
+ <xs:element name="Relationship_Target_Form">
784
+ <xs:annotation>
785
+ <xs:documentation>The Relationship_Target_Form element defines the form of the target of this relationship, such as Category, Attack Pattern, View or Compound_Element.</xs:documentation>
786
+ </xs:annotation>
787
+ <xs:simpleType>
788
+ <xs:restriction base="xs:string">
789
+ <xs:enumeration value="Category"/>
790
+ <xs:enumeration value="Attack Pattern"/>
791
+ <xs:enumeration value="View"/>
792
+ <xs:enumeration value="Compound_Element"/>
793
+ </xs:restriction>
794
+ </xs:simpleType>
795
+ </xs:element>
796
+ <xs:element name="Relationship_Nature" maxOccurs="unbounded">
797
+ <xs:annotation>
798
+ <xs:documentation> The Relationship_Nature element defines the nature of the relationship between this element and the target element, such as ChildOf, HasMember or Requires to name a few. </xs:documentation>
799
+ </xs:annotation>
800
+ <xs:simpleType>
801
+ <xs:restriction base="xs:string">
802
+ <xs:enumeration value="HasMember">
803
+ <xs:annotation>
804
+ <xs:documentation> This Relationship_Nature denotes the
805
+ specified entry as a top level member of this View. This
806
+ value for Relationship_Nature can only be used in Views. The
807
+ complementary relationship is MemberOf.</xs:documentation>
808
+ </xs:annotation>
809
+ </xs:enumeration>
810
+ <xs:enumeration value="MemberOf">
811
+ <xs:annotation>
812
+ <xs:documentation>This Relationship_Nature denotes membership of
813
+ this entry in the top level of the View specified in
814
+ Relationship_Target_ID. The complementary relationship is
815
+ HasMember.</xs:documentation>
816
+ </xs:annotation>
817
+ </xs:enumeration>
818
+ <xs:enumeration value="ChildOf">
819
+ <xs:annotation>
820
+ <xs:documentation>This Relationship_Nature denotes a specified
821
+ entry as a parent of this entry. In general, this means
822
+ that the parent will be a higher level representation of
823
+ this entry from the perspective of the View provided in
824
+ Relationship_View_ID. The complementary relationship is
825
+ ParentOf.</xs:documentation>
826
+ </xs:annotation>
827
+ </xs:enumeration>
828
+ <xs:enumeration value="ParentOf">
829
+ <xs:annotation>
830
+ <xs:documentation>This Relationship_Nature denotes a specified
831
+ entry as a child of this entry. In general, this means
832
+ that the child will be a lower level representation of this
833
+ entry from the perspective of the View provided in
834
+ Relationship_View_ID. The complementary relationship is
835
+ ChildOf.</xs:documentation>
836
+ </xs:annotation>
837
+ </xs:enumeration>
838
+ <xs:enumeration value="PeerOf">
839
+ <xs:annotation>
840
+ <xs:documentation> This Relationship_Nature denotes a specified
841
+ entry as having some similarity with this entry which does
842
+ not fit any of the other Relationship_Nature values. In this
843
+ case, a Relationship_Note should also be provided explaining
844
+ the connection. The complementary relationship is itself
845
+ (PeerOf).</xs:documentation>
846
+ </xs:annotation>
847
+ </xs:enumeration>
848
+ <xs:enumeration value="Requires">
849
+ <xs:annotation>
850
+ <xs:documentation> This Relationship_Nature denotes a
851
+ Compound_Element of Compound_Element_Structure="Composite".
852
+ All entries that a Composite Requires must exist
853
+ simultaneously in order for the Compound_Element to exist.
854
+ The complementary relationship is
855
+ RequiredBy.</xs:documentation>
856
+ </xs:annotation>
857
+ </xs:enumeration>
858
+ <xs:enumeration value="RequiredBy">
859
+ <xs:annotation>
860
+ <xs:documentation> This Relationship_Nature denotes an entry
861
+ that is required in order for the Compound_Element specified
862
+ in Relationship_Target_ID to exist. The complementary
863
+ relationship is Requires.</xs:documentation>
864
+ </xs:annotation>
865
+ </xs:enumeration>
866
+ <xs:enumeration value="StartsWith">
867
+ <xs:annotation>
868
+ <xs:documentation>This Relationship_Nature denotes the starting
869
+ point in this chain as the entry specified by
870
+ Relationship_Target_ID. This Relationship_Nature can only be
871
+ used for Compound_Elements with
872
+ Compound_Element_Structure="Chain". For named chains, the
873
+ complementary relationship is
874
+ StartsChain.</xs:documentation>
875
+ </xs:annotation>
876
+ </xs:enumeration>
877
+ <xs:enumeration value="StartsChain">
878
+ <xs:annotation>
879
+ <xs:documentation>This Relationship_Nature denotes this entry
880
+ as the starting point in the chain specified in
881
+ Relationship_Target_ID. For named chains, the complementary
882
+ relationship is StartsWith.</xs:documentation>
883
+ </xs:annotation>
884
+ </xs:enumeration>
885
+ <xs:enumeration value="CanPrecede">
886
+ <xs:annotation>
887
+ <xs:documentation>This Relationship_Nature denotes a chain where
888
+ this entry can precede the entry specified by
889
+ Relationship_Target_ID in a sequential fashion. It is
890
+ important to note that not all CanPrecede relationships are
891
+ captured in a Compound_Element chain, only the most common
892
+ for now. The complementary relationship is
893
+ CanFollow.</xs:documentation>
894
+ </xs:annotation>
895
+ </xs:enumeration>
896
+ <xs:enumeration value="CanFollow">
897
+ <xs:annotation>
898
+ <xs:documentation>This Relationship_Nature denotes a chain where
899
+ this entry can follow the entry specified by
900
+ Relationship_Target_ID in a sequential fashion. It is
901
+ important to note that not all CanFollow relationships are
902
+ captured in a Compound_Element chain, only the most common
903
+ for now. The complementary relationship is
904
+ CanPrecede.</xs:documentation>
905
+ </xs:annotation>
906
+ </xs:enumeration>
907
+ <xs:enumeration value="CanAlsoBe">
908
+ <xs:annotation>
909
+ <xs:documentation> This Relationship_Nature denotes an entry
910
+ that, in the proper environment and context, can also be
911
+ perceived as the entry specified by Relationship_Target_ID.
912
+ This relationship is not necessarily reciprocal.
913
+ </xs:documentation>
914
+ </xs:annotation>
915
+ </xs:enumeration>
916
+ </xs:restriction>
917
+ </xs:simpleType>
918
+ </xs:element>
919
+ <xs:element name="Relationship_Target_ID" type="xs:integer">
920
+ <xs:annotation>
921
+ <xs:documentation>The Relationship_Target_ID specifies the unique ID of the
922
+ target element of the relationship.</xs:documentation>
923
+ </xs:annotation>
924
+ </xs:element>
925
+ <xs:element name="Relationship_Description" type="capec:Structured_Text_Type" minOccurs="0"/>
926
+ </xs:sequence>
927
+ </xs:complexType>
928
+ <xs:element name="Relationship_Notes">
929
+ <xs:annotation>
930
+ <xs:documentation> This structure houses one or more Relationship_Note elements, which each contain details regarding the relationships between CAPEC entries.
931
+ </xs:documentation>
932
+ </xs:annotation>
933
+ <xs:complexType>
934
+ <xs:sequence>
935
+ <xs:element name="Relationship_Note" type="capec:Structured_Text_Type" maxOccurs="unbounded">
936
+ <xs:annotation>
937
+ <xs:documentation> This element contains a note regarding the relationships between CAPEC entries. </xs:documentation>
938
+ </xs:annotation>
939
+ </xs:element>
940
+ </xs:sequence>
941
+ </xs:complexType>
942
+ </xs:element>
943
+ <xs:element name="Maintenance_Notes">
944
+ <xs:annotation>
945
+ <xs:documentation> This element contains one or more Maintenance_Note elements which each contain significant maintenance tasks within this entry that still need to be addressed, such as clarifying the concepts involved or improving relationships. It should be filled out in any entry that is still undergoing significant review by the CAPEC team.</xs:documentation>
946
+ </xs:annotation>
947
+ <xs:complexType>
948
+ <xs:sequence>
949
+ <xs:element name="Maintenance_Note" type="capec:Structured_Text_Type" maxOccurs="unbounded">
950
+ <xs:annotation>
951
+ <xs:documentation> This element describes a significant maintenance task
952
+ within this entry that still need to be addressed, such as clarifying the concepts involved or improving relationships. It should be filled out in any entry that is still undergoing significant review by the CAPEC team. </xs:documentation>
953
+ </xs:annotation>
954
+ </xs:element>
955
+ </xs:sequence>
956
+ </xs:complexType>
957
+ </xs:element>
958
+ <xs:element name="Other_Notes">
959
+ <xs:annotation>
960
+ <xs:documentation> This element contains one or more Note elements, each of which provide any additional notes or comments that cannot be captured using other elements. New elements might be defined in the future to contain this information. It should be filled out where needed. </xs:documentation>
961
+ </xs:annotation>
962
+ <xs:complexType>
963
+ <xs:sequence>
964
+ <xs:element name="Note" type="capec:Structured_Text_Type" maxOccurs="unbounded">
965
+ <xs:annotation>
966
+ <xs:documentation> This element contains any additional notes or comments
967
+ that cannot be captured using other elements. New elements might be defined in the future to contain this information. It should be filled out where needed. </xs:documentation>
968
+ </xs:annotation>
969
+ </xs:element>
970
+ </xs:sequence>
971
+ </xs:complexType>
972
+ </xs:element>
973
+ <xs:element name="Alternate_Terms">
974
+ <xs:annotation>
975
+ <xs:documentation> This element contains one or more Alternate_Term elements, each of which contains other names used to describe this attack pattern. </xs:documentation>
976
+ </xs:annotation>
977
+ <xs:complexType>
978
+ <xs:sequence>
979
+ <xs:element name="Alternate_Term" maxOccurs="unbounded">
980
+ <xs:annotation>
981
+ <xs:documentation> This element contains alternate terms by which this
982
+ attack pattern may be known and a description to explain the context in which the term may be relevant. This is not required for all entries and should only be included where appropriate. </xs:documentation>
983
+ </xs:annotation>
984
+ <xs:complexType>
985
+ <xs:sequence>
986
+ <xs:element name="Term" type="xs:string">
987
+ <xs:annotation>
988
+ <xs:documentation> This element contains the actual term for the Alternate_Term element. Each term should follow the same conventions as the entry Name attribute.</xs:documentation>
989
+ </xs:annotation>
990
+ </xs:element>
991
+ <xs:element name="Alternate_Term_Description" type="capec:Structured_Text_Type" minOccurs="0">
992
+ <xs:annotation>
993
+ <xs:documentation> This element provides context to each
994
+ Alternate_Term by which this attack pattern may be known.</xs:documentation>
995
+ </xs:annotation>
996
+ </xs:element>
997
+ </xs:sequence>
998
+ </xs:complexType>
999
+ </xs:element>
1000
+ </xs:sequence>
1001
+ </xs:complexType>
1002
+ </xs:element>
1003
+ <xs:element name="Research_Gaps">
1004
+ <xs:annotation>
1005
+ <xs:documentation> This structure contains one or more Research gap elements, each of which identifies potential opportunities for the attack research community to conduct further exploration of issues related to this attack pattern. It is intended to highlight parts of CAPEC that have not received sufficient attention from researchers. This should be filled out where appropriate for attack patterns and categories.</xs:documentation>
1006
+ </xs:annotation>
1007
+ <xs:complexType>
1008
+ <xs:sequence>
1009
+ <xs:element name="Research_Gap" type="capec:Structured_Text_Type" maxOccurs="unbounded">
1010
+ <xs:annotation>
1011
+ <xs:documentation> This element identifies potential opportunities for the
1012
+ vulnerability research community to conduct further exploration of issues related to this attack pattern. It is intended to highlight parts of CAPEC that have not received sufficient attention from researchers. This should be filled out where appropriate for attack patterns and categories.</xs:documentation>
1013
+ </xs:annotation>
1014
+ </xs:element>
1015
+ </xs:sequence>
1016
+ </xs:complexType>
1017
+ </xs:element>
1018
+ <xs:element name="Content_History">
1019
+ <xs:annotation>
1020
+ <xs:documentation> This element is used to keep track of the author of the attack pattern entry and anyone who has made modifications to the content. This provides a means of contacting the authors and modifiers for clarifying ambiguities, merging overlapping contributions, etc. This should be filled out for all entries. </xs:documentation>
1021
+ </xs:annotation>
1022
+ <xs:complexType>
1023
+ <xs:sequence>
1024
+ <xs:element name="Submissions" minOccurs="0">
1025
+ <xs:annotation>
1026
+ <xs:documentation>This structure contains one or more Submission elements.</xs:documentation>
1027
+ </xs:annotation>
1028
+ <xs:complexType>
1029
+ <xs:sequence>
1030
+ <xs:element name="Submission" maxOccurs="unbounded">
1031
+ <xs:annotation>
1032
+ <xs:documentation> This element houses the subelements which identify the submitter and the submitter's comments related to this entry. This element has a single attribute, Submission_Source, which provides a general idea of how the initial information for this entry was obtained, whether internal to the CAPEC team, external, donated, etc.</xs:documentation>
1033
+ </xs:annotation>
1034
+ <xs:complexType>
1035
+ <xs:sequence>
1036
+ <xs:element name="Submitter" type="xs:string" minOccurs="0">
1037
+ <xs:annotation>
1038
+ <xs:documentation> This element should contain the name of the author for this entry. </xs:documentation>
1039
+ </xs:annotation>
1040
+ </xs:element>
1041
+ <xs:element name="Submitter_Organization" type="xs:string" minOccurs="0">
1042
+ <xs:annotation>
1043
+ <xs:documentation> This element should identify the author's organization. </xs:documentation>
1044
+ </xs:annotation>
1045
+ </xs:element>
1046
+ <xs:element name="Submission_Date" type="xs:date" minOccurs="0">
1047
+ <xs:annotation>
1048
+ <xs:documentation> This element should provide the date on which this content was authored in YYYY-MM-DD format. </xs:documentation>
1049
+ </xs:annotation>
1050
+ </xs:element>
1051
+ <xs:element name="Submission_Comment" type="xs:string" minOccurs="0">
1052
+ <xs:annotation>
1053
+ <xs:documentation> This element provides the author with a place to store any comments regarding the content of this attack pattern entry, such as assumptions made, reasons for omitting elements, contact information, pending questions, etc.</xs:documentation>
1054
+ </xs:annotation>
1055
+ </xs:element>
1056
+ </xs:sequence>
1057
+ <xs:attribute name="Submission_Source" use="optional">
1058
+ <xs:annotation>
1059
+ <xs:documentation> This attribute identifies how the initial information for this entry was obtained. </xs:documentation>
1060
+ </xs:annotation>
1061
+ <xs:simpleType>
1062
+ <xs:restriction base="xs:string">
1063
+ <xs:enumeration value="Externally_Mined"/>
1064
+ <xs:enumeration value="NDA"/>
1065
+ <xs:enumeration value="Internal_CAPEC_Team"/>
1066
+ <xs:enumeration value="External_Submission"/>
1067
+ </xs:restriction>
1068
+ </xs:simpleType>
1069
+ </xs:attribute>
1070
+ </xs:complexType>
1071
+ </xs:element>
1072
+ </xs:sequence>
1073
+ </xs:complexType>
1074
+ </xs:element>
1075
+ <xs:element name="Contributions" minOccurs="0">
1076
+ <xs:annotation>
1077
+ <xs:documentation>This structure contains one or more Contribution elements.</xs:documentation>
1078
+ </xs:annotation>
1079
+ <xs:complexType>
1080
+ <xs:sequence>
1081
+ <xs:element name="Contribution" maxOccurs="unbounded">
1082
+ <xs:annotation>
1083
+ <xs:documentation> This element houses the subelements which identify the contributor and contributor's comments related to this entry. This element has a single attribute, Contribution_Mode, which indicates whether the contribution was part of feedback given to the CAPEC team or actual content that was donated.</xs:documentation>
1084
+ </xs:annotation>
1085
+ <xs:complexType>
1086
+ <xs:sequence>
1087
+ <xs:element name="Contributor" type="xs:string" minOccurs="0">
1088
+ <xs:annotation>
1089
+ <xs:documentation> This element should contain the name of the author for this entry. </xs:documentation>
1090
+ </xs:annotation>
1091
+ </xs:element>
1092
+ <xs:element name="Contribution_Organization" type="xs:string" minOccurs="0">
1093
+ <xs:annotation>
1094
+ <xs:documentation> This element should identify the author's organization. </xs:documentation>
1095
+ </xs:annotation>
1096
+ </xs:element>
1097
+ <xs:element name="Contribution_Date" type="xs:date" minOccurs="0">
1098
+ <xs:annotation>
1099
+ <xs:documentation> This element should provide the date on which this content was authored in YYYY-MM-DD format.</xs:documentation>
1100
+ </xs:annotation>
1101
+ </xs:element>
1102
+ <xs:element name="Contribution_Comment" type="xs:string" minOccurs="0">
1103
+ <xs:annotation>
1104
+ <xs:documentation> This element provides the author with a place to store any comments regarding the content of this attack patterns entry, such as assumptions made, reasons for omitting elements, contact information, pending questions, etc.</xs:documentation>
1105
+ </xs:annotation>
1106
+ </xs:element>
1107
+ </xs:sequence>
1108
+ <xs:attribute name="Contribution_Mode" use="optional">
1109
+ <xs:annotation>
1110
+ <xs:documentation> This attribute indicates whether the contribution was part of feedback given to the CAPEC team or actual content that was donated.</xs:documentation>
1111
+ </xs:annotation>
1112
+ <xs:simpleType>
1113
+ <xs:restriction base="xs:string">
1114
+ <xs:enumeration value="Content"/>
1115
+ <xs:enumeration value="Feedback"/>
1116
+ </xs:restriction>
1117
+ </xs:simpleType>
1118
+ </xs:attribute>
1119
+ </xs:complexType>
1120
+ </xs:element>
1121
+ </xs:sequence>
1122
+ </xs:complexType>
1123
+ </xs:element>
1124
+ <xs:element name="Modifications" minOccurs="0">
1125
+ <xs:annotation>
1126
+ <xs:documentation>This structure contains one or more Modification elements.</xs:documentation>
1127
+ </xs:annotation>
1128
+ <xs:complexType>
1129
+ <xs:sequence>
1130
+ <xs:element name="Modification" maxOccurs="unbounded">
1131
+ <xs:annotation>
1132
+ <xs:documentation> This element houses the subelements which identify the modifier and modifier's comments related to this entry. A new Modification element should exist for each modification of the entry content. This element has a single attribute, Modification_Source, which indicates whether this modification was made by a CAPEC team member or an external party.</xs:documentation>
1133
+ </xs:annotation>
1134
+ <xs:complexType>
1135
+ <xs:sequence>
1136
+ <xs:element name="Modifier" type="xs:string" minOccurs="0">
1137
+ <xs:annotation>
1138
+ <xs:documentation> This element should contain the name of the person modifying this entry. </xs:documentation>
1139
+ </xs:annotation>
1140
+ </xs:element>
1141
+ <xs:element name="Modifier_Organization" type="xs:string" minOccurs="0">
1142
+ <xs:annotation>
1143
+ <xs:documentation> This element should contain the modifier's organization. </xs:documentation>
1144
+ </xs:annotation>
1145
+ </xs:element>
1146
+ <xs:element name="Modification_Date" type="xs:date" minOccurs="0">
1147
+ <xs:annotation>
1148
+ <xs:documentation> This element should contain the date of the modifications. </xs:documentation>
1149
+ </xs:annotation>
1150
+ </xs:element>
1151
+ <xs:element name="Modification_Comment" type="xs:string" minOccurs="0">
1152
+ <xs:annotation>
1153
+ <xs:documentation> This element provides the modifier with a place to store any comments regarding the content of this attack pattern entry, such as assumptions made, reasons for omitting elements, contact information, pending questions, etc. </xs:documentation>
1154
+ </xs:annotation>
1155
+ </xs:element>
1156
+ </xs:sequence>
1157
+ <xs:attribute name="Modification_Importance">
1158
+ <xs:annotation>
1159
+ <xs:documentation> This attribute identifies how significant the modification is to the attack pattern with regard to the meaning and interpretation of the pattern. If a modification has a value of Critical, then the meaning of the entry or how it might be interpreted has changed and requires attention from anyone previously dependent on the attack pattern. </xs:documentation>
1160
+ </xs:annotation>
1161
+ <xs:simpleType>
1162
+ <xs:restriction base="xs:string">
1163
+ <xs:enumeration value="Normal"/>
1164
+ <xs:enumeration value="Critical"/>
1165
+ </xs:restriction>
1166
+ </xs:simpleType>
1167
+ </xs:attribute>
1168
+ <xs:attribute name="Modification_Source" use="optional">
1169
+ <xs:annotation>
1170
+ <xs:documentation> This attribute indicates whether this modification was created by a CAPEC team member or provided by an
1171
+ external party.</xs:documentation>
1172
+ </xs:annotation>
1173
+ <xs:simpleType>
1174
+ <xs:restriction base="xs:string">
1175
+ <xs:enumeration value="Internal"/>
1176
+ <xs:enumeration value="External"/>
1177
+ </xs:restriction>
1178
+ </xs:simpleType>
1179
+ </xs:attribute>
1180
+ </xs:complexType>
1181
+ </xs:element>
1182
+ </xs:sequence>
1183
+ </xs:complexType>
1184
+ </xs:element>
1185
+ <xs:element name="Previous_Entry_Names" minOccurs="0">
1186
+ <xs:annotation>
1187
+ <xs:documentation> This structure contains one or more Previous_Entry_Name elements, each of which describes a previous name that was used for this entry. This should be filled out whenever a substantive name change occurs.</xs:documentation>
1188
+ </xs:annotation>
1189
+ <xs:complexType>
1190
+ <xs:sequence>
1191
+ <xs:element name="Previous_Entry_Name" maxOccurs="unbounded">
1192
+ <xs:annotation>
1193
+ <xs:documentation> This element identifies a name that was previously used for this entry.</xs:documentation>
1194
+ </xs:annotation>
1195
+ <xs:complexType>
1196
+ <xs:simpleContent>
1197
+ <xs:extension base="xs:string">
1198
+ <xs:attribute name="Name_Change_Date" type="xs:date" use="required">
1199
+ <xs:annotation>
1200
+ <xs:documentation>This lists the date on which this name was changed to something else. Typically, this date will be closely aligned with new releases of CAPEC.</xs:documentation>
1201
+ </xs:annotation>
1202
+ </xs:attribute>
1203
+ </xs:extension>
1204
+ </xs:simpleContent>
1205
+ </xs:complexType>
1206
+ </xs:element>
1207
+ </xs:sequence>
1208
+ </xs:complexType>
1209
+ </xs:element>
1210
+ </xs:sequence>
1211
+ </xs:complexType>
1212
+ </xs:element>
1213
+ <xs:complexType name="ObservablesType">
1214
+ <xs:sequence>
1215
+ <xs:element name="Observable" maxOccurs="unbounded">
1216
+ <xs:complexType>
1217
+ <xs:sequence>
1218
+ <xs:element name="Signature">
1219
+ <xs:complexType>
1220
+ <xs:sequence>
1221
+ <xs:element name="Location-Sensor" minOccurs="0"/>
1222
+ <xs:element name="Stateful_Measure">
1223
+ <xs:complexType>
1224
+ <xs:sequence>
1225
+ <xs:element name="Description" type="capec:Structured_Text_Type"/>
1226
+ <xs:element name="Value_Type">
1227
+ <xs:complexType>
1228
+ <xs:choice>
1229
+ <xs:element name="Objective_Value" type="xs:string"/>
1230
+ <xs:element name="Trend">
1231
+ <xs:simpleType>
1232
+ <xs:restriction base="xs:string">
1233
+ <xs:enumeration value="Increasing"/>
1234
+ <xs:enumeration value="Decreasing"/>
1235
+ </xs:restriction>
1236
+ </xs:simpleType>
1237
+ </xs:element>
1238
+ <xs:element name="Frequency">
1239
+ <xs:complexType>
1240
+ <xs:attribute name="Rate" type="xs:float" use="required"/>
1241
+ <xs:attribute name="Units" type="xs:string" use="required"/>
1242
+ <xs:attribute name="Scale" type="xs:string" use="required"/>
1243
+ </xs:complexType>
1244
+ </xs:element>
1245
+ </xs:choice>
1246
+ </xs:complexType>
1247
+ </xs:element>
1248
+ </xs:sequence>
1249
+ <xs:attribute name="Name"/>
1250
+ </xs:complexType>
1251
+ </xs:element>
1252
+ <xs:element name="Event">
1253
+ <xs:complexType>
1254
+ <xs:sequence>
1255
+ <xs:element name="Description" type="capec:Structured_Text_Type"/>
1256
+ <xs:element name="Action">
1257
+ <xs:complexType>
1258
+ <xs:sequence>
1259
+ <xs:element name="Object" maxOccurs="unbounded">
1260
+ <xs:complexType>
1261
+ <xs:sequence>
1262
+ <xs:element name="Value" maxOccurs="unbounded">
1263
+ <xs:complexType>
1264
+ <xs:sequence>
1265
+ <xs:element name="Objective_Value" type="xs:string" minOccurs="0"/>
1266
+ <xs:element name="Change" type="xs:boolean" minOccurs="0"/>
1267
+ <xs:element name="Delta" minOccurs="0">
1268
+ <xs:complexType>
1269
+ <xs:choice>
1270
+ <xs:element name="Trend">
1271
+ <xs:simpleType>
1272
+ <xs:restriction base="xs:string">
1273
+ <xs:enumeration value="Increasing"/>
1274
+ <xs:enumeration value="Decreasing"/>
1275
+ </xs:restriction>
1276
+ </xs:simpleType>
1277
+ </xs:element>
1278
+ <xs:element name="Frequency">
1279
+ <xs:complexType>
1280
+ <xs:attribute name="Rate" type="xs:float" use="required"/>
1281
+ <xs:attribute name="Units" type="xs:string" use="required"/>
1282
+ <xs:attribute name="Scale" type="xs:string" use="required"/>
1283
+ </xs:complexType>
1284
+ </xs:element>
1285
+ </xs:choice>
1286
+ </xs:complexType>
1287
+ </xs:element>
1288
+ </xs:sequence>
1289
+ </xs:complexType>
1290
+ </xs:element>
1291
+ </xs:sequence>
1292
+ </xs:complexType>
1293
+ </xs:element>
1294
+ </xs:sequence>
1295
+ </xs:complexType>
1296
+ </xs:element>
1297
+ </xs:sequence>
1298
+ <xs:attribute name="Event_Type" type="xs:string"/>
1299
+ </xs:complexType>
1300
+ </xs:element>
1301
+ </xs:sequence>
1302
+ </xs:complexType>
1303
+ </xs:element>
1304
+ <xs:element name="Noisiness" minOccurs="0">
1305
+ <xs:simpleType>
1306
+ <xs:restriction base="xs:string">
1307
+ <xs:enumeration value="High"/>
1308
+ <xs:enumeration value="Medium"/>
1309
+ <xs:enumeration value="Low"/>
1310
+ </xs:restriction>
1311
+ </xs:simpleType>
1312
+ </xs:element>
1313
+ <xs:element name="Ease_of_Obfuscation" minOccurs="0">
1314
+ <xs:simpleType>
1315
+ <xs:restriction base="xs:string">
1316
+ <xs:enumeration value="High"/>
1317
+ <xs:enumeration value="Medium"/>
1318
+ <xs:enumeration value="Low"/>
1319
+ </xs:restriction>
1320
+ </xs:simpleType>
1321
+ </xs:element>
1322
+ <xs:element name="Obfuscation_Techniques" minOccurs="0">
1323
+ <xs:complexType>
1324
+ <xs:sequence>
1325
+ <xs:element name="Obfuscation_Technique" maxOccurs="unbounded">
1326
+ <xs:complexType>
1327
+ <xs:sequence>
1328
+ <xs:element name="Description" type="capec:Structured_Text_Type"/>
1329
+ <xs:element name="Observables" type="capec:ObservablesType"/>
1330
+ </xs:sequence>
1331
+ </xs:complexType>
1332
+ </xs:element>
1333
+ </xs:sequence>
1334
+ </xs:complexType>
1335
+ </xs:element>
1336
+ </xs:sequence>
1337
+ </xs:complexType>
1338
+ </xs:element>
1339
+ </xs:sequence>
1340
+ </xs:complexType>
1341
+ <xs:complexType name="Structured_Text_Type">
1342
+ <xs:sequence>
1343
+ <xs:choice maxOccurs="unbounded">
1344
+ <xs:group ref="capec:Structured_Text_Group"/>
1345
+ <xs:element ref="capec:Block">
1346
+ <xs:annotation>
1347
+ <xs:documentation> Block is a Structured_Text element consisting of one of Text_Title, Text, Code_Example_Language, or Code followed by another Block element. Structured_Text elements help define whitespace and text segments.</xs:documentation>
1348
+ </xs:annotation>
1349
+ </xs:element>
1350
+ </xs:choice>
1351
+ </xs:sequence>
1352
+ </xs:complexType>
1353
+ <xs:group name="Structured_Text_Group">
1354
+ <xs:sequence>
1355
+ <xs:choice>
1356
+ <xs:element name="Text_Title" type="xs:string" minOccurs="0" maxOccurs="unbounded">
1357
+ <xs:annotation>
1358
+ <xs:documentation> Presentation Element: This element is used to definebold-faced title for a subsequent block of text. </xs:documentation>
1359
+ </xs:annotation>
1360
+ </xs:element>
1361
+ <xs:element name="Text" type="xs:string" minOccurs="0" maxOccurs="unbounded">
1362
+ <xs:annotation>
1363
+ <xs:documentation> Presentation Element: This element is used to define a paragraph of text. </xs:documentation>
1364
+ </xs:annotation>
1365
+ </xs:element>
1366
+ <xs:element name="Code_Example_Language" type="capec:Language_Type" minOccurs="0" maxOccurs="unbounded">
1367
+ <xs:annotation>
1368
+ <xs:documentation>Presentation Element: This element is used to identify the programming language being used in the following block of Code</xs:documentation>
1369
+ </xs:annotation>
1370
+ </xs:element>
1371
+ <xs:element name="Code" type="xs:string" minOccurs="0" maxOccurs="unbounded">
1372
+ <xs:annotation>
1373
+ <xs:documentation> Presentation Element: This element is used to define a line of code. </xs:documentation>
1374
+ </xs:annotation>
1375
+ </xs:element>
1376
+ <xs:element name="Comment" type="xs:string" minOccurs="0" maxOccurs="unbounded">
1377
+ <xs:annotation>
1378
+ <xs:documentation>Presentation Element: This element is used to define a
1379
+ comment in code.</xs:documentation>
1380
+ </xs:annotation>
1381
+ </xs:element>
1382
+ <xs:element name="Images" minOccurs="0">
1383
+ <xs:annotation>
1384
+ <xs:documentation>Presentation Element: This element is used to define an
1385
+ image.</xs:documentation>
1386
+ </xs:annotation>
1387
+ <xs:complexType>
1388
+ <xs:sequence>
1389
+ <xs:element name="Image" maxOccurs="unbounded">
1390
+ <xs:annotation>
1391
+ <xs:documentation> Presentation Element: This element is used to define an image. </xs:documentation>
1392
+ </xs:annotation>
1393
+ <xs:complexType>
1394
+ <xs:sequence maxOccurs="unbounded">
1395
+ <xs:element name="Image_Location" type="xs:string">
1396
+ <xs:annotation>
1397
+ <xs:documentation>This element provides the location of the image file.</xs:documentation>
1398
+ </xs:annotation>
1399
+ </xs:element>
1400
+ <xs:element name="Image_Title" type="xs:string">
1401
+ <xs:annotation>
1402
+ <xs:documentation>This element provides a title for the image.</xs:documentation>
1403
+ </xs:annotation>
1404
+ </xs:element>
1405
+ </xs:sequence>
1406
+ </xs:complexType>
1407
+ </xs:element>
1408
+ </xs:sequence>
1409
+ </xs:complexType>
1410
+ </xs:element>
1411
+ </xs:choice>
1412
+ </xs:sequence>
1413
+ </xs:group>
1414
+ <xs:element name="Block">
1415
+ <xs:annotation>
1416
+ <xs:documentation> Block is a Structured_Text element consisting of one of Text_Title,
1417
+ Text, Code_Example_Language, or Code followed by another Block element.
1418
+ Structured_Text elements help define whitespace and text segments.
1419
+ </xs:documentation>
1420
+ </xs:annotation>
1421
+ <xs:complexType>
1422
+ <xs:choice maxOccurs="unbounded">
1423
+ <xs:group ref="capec:Structured_Text_Group"/>
1424
+ <xs:element ref="capec:Block">
1425
+ <xs:annotation>
1426
+ <xs:documentation> Block is a Structured_Text element consisting of one of Text_Title,Text, Code_Example_Language, or Code followed by another Block element. Structured_Text elements help define whitespace and text segments.</xs:documentation>
1427
+ </xs:annotation>
1428
+ </xs:element>
1429
+ </xs:choice>
1430
+ <xs:attribute name="Block_Nature">
1431
+ <xs:annotation>
1432
+ <xs:documentation> This attribute identifies the nature of the content containedwithin the Block. </xs:documentation>
1433
+ </xs:annotation>
1434
+ <xs:simpleType>
1435
+ <xs:restriction base="xs:string">
1436
+ <xs:enumeration value="Good_Code"/>
1437
+ <xs:enumeration value="Bad_Code"/>
1438
+ <xs:enumeration value="Mitigation_Code"/>
1439
+ <xs:enumeration value="Attack"/>
1440
+ <xs:enumeration value="Result"/>
1441
+ <xs:enumeration value="List"/>
1442
+ </xs:restriction>
1443
+ </xs:simpleType>
1444
+ </xs:attribute>
1445
+ </xs:complexType>
1446
+ </xs:element>
1447
+ <xs:complexType name="Reference_List_Type">
1448
+ <xs:annotation>
1449
+ <xs:documentation>The References_List_Type contains one or more Reference elements, each
1450
+ of which provide further reading and insight into the item. This should be filled
1451
+ out as appropriate.</xs:documentation>
1452
+ </xs:annotation>
1453
+ <xs:sequence>
1454
+ <xs:element name="Reference" type="capec:Reference_Type" maxOccurs="unbounded">
1455
+ <xs:annotation>
1456
+ <xs:documentation> Each Reference subelement should provide a single source from which more information and deeper insight can be obtained, such as a research paper or an excerpt from a publication. Multiple Reference subelements can exist. The sole attribute of this element is the id. The id is optional and translates to a preceding footnote below the context notes if the author of the entry wants to cite a reference. Not all subelements need to be completed, since some are designed for web references and others are designed for book references. The fields Reference_Author and Reference_Title should be filled out for all references if possible. Reference_Section and Reference_Date can be included for either book references or online references. Reference_Edition, Reference_Publication, Reference_Publisher, and Reference_PubDate are intended for book references,
1457
+ however they can be included where appropriate for other types of references. Reference_Link is intended for web references, however it can be included for book references as well if applicable. </xs:documentation>
1458
+ </xs:annotation>
1459
+ </xs:element>
1460
+ </xs:sequence>
1461
+ </xs:complexType>
1462
+ <xs:complexType name="Reference_Type">
1463
+ <xs:sequence>
1464
+ <xs:element name="Reference_Description" type="capec:Structured_Text_Type" minOccurs="0"/>
1465
+ <xs:element name="Reference_Author" type="xs:string" minOccurs="0" maxOccurs="unbounded">
1466
+ <xs:annotation>
1467
+ <xs:documentation> This element identifies an individual author of the material being referenced. It is not required, but may be repeated sequentially in order to identify multiple authors for a single piece of material.</xs:documentation>
1468
+ </xs:annotation>
1469
+ </xs:element>
1470
+ <xs:element name="Reference_Title" type="xs:string" minOccurs="0">
1471
+ <xs:annotation>
1472
+ <xs:documentation> This element identifies the title of the material beingreferenced. It is not required if the material does not have a title.</xs:documentation>
1473
+ </xs:annotation>
1474
+ </xs:element>
1475
+ <xs:element name="Reference_Section" type="xs:string" minOccurs="0">
1476
+ <xs:annotation>
1477
+ <xs:documentation> This element is intended to provide a means of identifying the exact location of the material inside of the publication source, such as the relevant pages of a research paper, the appropriate chapters from a book, etc. This is useful for both book references and internet references.</xs:documentation>
1478
+ </xs:annotation>
1479
+ </xs:element>
1480
+ <xs:element name="Reference_Edition" type="xs:string" minOccurs="0">
1481
+ <xs:annotation>
1482
+ <xs:documentation> This element identifies the edition of the material being
1483
+ referenced in the event that multiple editions of the material exist. This will usually only be useful for book references. </xs:documentation>
1484
+ </xs:annotation>
1485
+ </xs:element>
1486
+ <xs:element name="Reference_Publication" type="xs:string" minOccurs="0">
1487
+ <xs:annotation>
1488
+ <xs:documentation> This element identifies the publication source of the reference material, if one exists. </xs:documentation>
1489
+ </xs:annotation>
1490
+ </xs:element>
1491
+ <xs:element name="Reference_Publisher" type="xs:string" minOccurs="0">
1492
+ <xs:annotation>
1493
+ <xs:documentation> This element identifies the publisher of the reference material, if one exists. </xs:documentation>
1494
+ </xs:annotation>
1495
+ </xs:element>
1496
+ <xs:element name="Reference_Date" type="xs:date" minOccurs="0">
1497
+ <xs:annotation>
1498
+ <xs:documentation> This element identifies the date when the reference was included in the entry. This provides the reader with a time line for when the material in the reference, usually the link, was valid. The date should be of the format YYYY-MM-DD. </xs:documentation>
1499
+ </xs:annotation>
1500
+ </xs:element>
1501
+ <xs:element name="Reference_PubDate" type="xs:string" minOccurs="0">
1502
+ <xs:annotation>
1503
+ <xs:documentation> This field describes the date when the reference was published YYYY. </xs:documentation>
1504
+ </xs:annotation>
1505
+ </xs:element>
1506
+ <xs:element name="Reference_Link" type="xs:string" minOccurs="0">
1507
+ <xs:annotation>
1508
+ <xs:documentation> This element should hold the URL for the material being referenced, if one exists. This should always be used for web references, and may optionally be used for book and other publication references.</xs:documentation>
1509
+ </xs:annotation>
1510
+ </xs:element>
1511
+ </xs:sequence>
1512
+ <xs:attribute name="Reference_ID">
1513
+ <xs:annotation>
1514
+ <xs:documentation> The id attribute is optional and is used as a mechanism forciting text in the entry. If an id is provided, it is placed between brackets and precedes this reference and the matching id should be used inside of the text for the attack pattern itself where this reference is applicable. All reference ids assigned within an entry must be unique. </xs:documentation>
1515
+ </xs:annotation>
1516
+ </xs:attribute>
1517
+ </xs:complexType>
1518
+ <xs:simpleType name="Language_Type">
1519
+ <xs:restriction base="xs:string">
1520
+ <xs:enumeration value="C"/>
1521
+ <xs:enumeration value="C++"/>
1522
+ <xs:enumeration value="C#"/>
1523
+ <xs:enumeration value="Java"/>
1524
+ <xs:enumeration value="JSP"/>
1525
+ <xs:enumeration value="Javascript"/>
1526
+ <xs:enumeration value="ASP.NET"/>
1527
+ <xs:enumeration value="SQL"/>
1528
+ <xs:enumeration value="Python"/>
1529
+ <xs:enumeration value="Perl"/>
1530
+ <xs:enumeration value="PHP"/>
1531
+ <xs:enumeration value="SOAP"/>
1532
+ <xs:enumeration value="Ruby"/>
1533
+ <xs:enumeration value="Shell"/>
1534
+ <xs:enumeration value="PseudoCode"/>
1535
+ <xs:enumeration value=".NET"/>
1536
+ <xs:enumeration value="Assembly"/>
1537
+ <xs:enumeration value="XML"/>
1538
+ <xs:enumeration value="HTML"/>
1539
+ </xs:restriction>
1540
+ </xs:simpleType>
1541
+ <xs:simpleType name="Frequency_Type">
1542
+ <xs:restriction base="xs:string">
1543
+ <xs:enumeration value="Often"/>
1544
+ <xs:enumeration value="Sometimes"/>
1545
+ <xs:enumeration value="Rarely"/>
1546
+ </xs:restriction>
1547
+ </xs:simpleType>
1548
+ <xs:simpleType name="Status_Type">
1549
+ <xs:restriction base="xs:string">
1550
+ <xs:enumeration value="Deprecated"/>
1551
+ <xs:enumeration value="Incomplete"/>
1552
+ <xs:enumeration value="Draft"/>
1553
+ <xs:enumeration value="Usable"/>
1554
+ <xs:enumeration value="Stable"/>
1555
+ </xs:restriction>
1556
+ </xs:simpleType>
1557
+ <xs:complexType name="Custom_Attack_StepType">
1558
+ <xs:sequence>
1559
+ <xs:element name="Attack_Step_Title" type="xs:string" minOccurs="0">
1560
+ <xs:annotation>
1561
+ <xs:documentation>This field contains a short descriptive title for the attack step. It should be kept as short as possible but also clearly convey the nature of the attack step being described.</xs:documentation>
1562
+ </xs:annotation>
1563
+ </xs:element>
1564
+ <xs:element name="Attack_Step_Description" type="capec:Structured_Text_Type">
1565
+ <xs:annotation>
1566
+ <xs:documentation>This field contains a brief description of the attack step.</xs:documentation>
1567
+ </xs:annotation>
1568
+ </xs:element>
1569
+ <xs:element name="Attack_Step_Techniques" minOccurs="0">
1570
+ <xs:complexType>
1571
+ <xs:sequence>
1572
+ <xs:element ref="capec:Attack_Step_Technique" maxOccurs="unbounded">
1573
+ <xs:annotation>
1574
+ <xs:documentation>This field captures various techniques that the attacker can use to achieve the attack step's goal. For example, an attacker may use tools such as WebScarab and Tamper Data in the experimentation phase of a SQL Injection attack pattern. The techniques include references to environments, because not all techniques work in all environments</xs:documentation>
1575
+ </xs:annotation>
1576
+ </xs:element>
1577
+ </xs:sequence>
1578
+ </xs:complexType>
1579
+ </xs:element>
1580
+ <xs:element name="Indicators" minOccurs="0">
1581
+ <xs:complexType>
1582
+ <xs:sequence>
1583
+ <xs:element name="Indicator" maxOccurs="unbounded">
1584
+ <xs:annotation>
1585
+ <xs:documentation>These are indicators that the application may or may not be susceptible to the given attack step (not necessarily the pattern as a whole). </xs:documentation>
1586
+ </xs:annotation>
1587
+ <xs:complexType>
1588
+ <xs:all>
1589
+ <xs:element name="Indicator_Description" type="capec:Structured_Text_Type">
1590
+ <xs:annotation>
1591
+ <xs:documentation>This field contains a brief description of the indicator.</xs:documentation>
1592
+ </xs:annotation>
1593
+ </xs:element>
1594
+ <xs:element name="Relevant_Attack_Surface_Elements" type="capec:Relevant_Attack_Surface_ElementsType" minOccurs="0"/>
1595
+ <xs:element name="Environments" type="xs:IDREFS">
1596
+ <xs:annotation>
1597
+ <xs:documentation>References the defined environments where this indicator of susceptibility is applicable.</xs:documentation>
1598
+ </xs:annotation>
1599
+ </xs:element>
1600
+ <xs:element name="Observables" type="cybox:ObservablesType" minOccurs="0"/>
1601
+ </xs:all>
1602
+ <xs:attribute name="ID" type="xs:integer" use="required">
1603
+ <xs:annotation>
1604
+ <xs:documentation>This field contains a unique integer identifier for the indicator.</xs:documentation>
1605
+ </xs:annotation>
1606
+
1607
+ </xs:attribute>
1608
+ <xs:attribute name="type" use="required">
1609
+ <xs:annotation>
1610
+ <xs:documentation>Each indicator has a mandatory type attribute that can be one of the values "Positive," "Negative," or "Inconclusive." For example, a positive indicator of susceptibility to parameter tampering is the existence of parameters in the URL. Although it does not guarantee susceptibility, it indicates a cause for further examination. A negative indicator for the technique of privilege escalation is a lack of credentials and user identifiers in an application. Again, this is not a conclusive measure of resistance to attack, but an indicator that the attack step technique is unlikely to bear significant fruit. An inconclusive indicator of susceptibility to dynamic code injection is a page whose URL ends in .jsp, .asp, or .do but which has no visible explicit parameters. Such URLs typically indicate dynamic processing, but since no visible parameters are passed, it is inconclusive whether dynamic code could be injected into the application.</xs:documentation>
1611
+ </xs:annotation>
1612
+ <xs:simpleType>
1613
+ <xs:restriction base="xs:token">
1614
+ <xs:enumeration value="Positive"/>
1615
+ <xs:enumeration value="Negative"/>
1616
+ <xs:enumeration value="Inconclusive"/>
1617
+ </xs:restriction>
1618
+ </xs:simpleType>
1619
+ </xs:attribute>
1620
+ </xs:complexType>
1621
+ </xs:element>
1622
+ </xs:sequence>
1623
+ </xs:complexType>
1624
+ </xs:element>
1625
+ <xs:element name="Outcomes" minOccurs="0">
1626
+ <xs:complexType>
1627
+ <xs:sequence>
1628
+ <xs:element name="Outcome" maxOccurs="unbounded">
1629
+ <xs:annotation>
1630
+ <xs:documentation>This field captures possible outcomes for this attack step. </xs:documentation>
1631
+ </xs:annotation>
1632
+ <xs:complexType>
1633
+ <xs:sequence>
1634
+ <xs:element name="Outcome_Description" type="xs:string"/>
1635
+ <xs:element name="Relevant_Attack_Surface_Elements" type="capec:Relevant_Attack_Surface_ElementsType" minOccurs="0"/>
1636
+ <xs:element name="Observables" type="cybox:ObservablesType" minOccurs="0"/>
1637
+ </xs:sequence>
1638
+ <xs:attribute name="ID" type="xs:integer" use="required">
1639
+ <xs:annotation>
1640
+ <xs:documentation>This field contains a unique integer identifier for the outcome.</xs:documentation>
1641
+ </xs:annotation>
1642
+ </xs:attribute>
1643
+ <xs:attribute name="type" use="required">
1644
+ <xs:annotation>
1645
+ <xs:documentation>An outcome has a mandatory type attribute that can be one of the values "success," "failure," or "inconclusive." It indicates what results of executing the attack step techniques should be considered successes, which should be considered failures, and which ones are inconclusive. Outcomes' successes are determined relative to the attacker's point of view. It is a success if the attack step got the attacker closer to his goal of attacking the application. It is a failure if the attacker got no closer to his goal.</xs:documentation>
1646
+ </xs:annotation>
1647
+ <xs:simpleType>
1648
+ <xs:restriction base="xs:token">
1649
+ <xs:enumeration value="Success"/>
1650
+ <xs:enumeration value="Failure"/>
1651
+ <xs:enumeration value="Inconclusive"/>
1652
+ </xs:restriction>
1653
+ </xs:simpleType>
1654
+ </xs:attribute>
1655
+ </xs:complexType>
1656
+ </xs:element>
1657
+ </xs:sequence>
1658
+ </xs:complexType>
1659
+ </xs:element>
1660
+ <xs:element name="Security_Controls" minOccurs="0">
1661
+ <xs:complexType>
1662
+ <xs:sequence>
1663
+ <xs:element name="Security_Control" maxOccurs="unbounded">
1664
+ <xs:annotation>
1665
+ <xs:documentation>This field captures security controls for this attack step that describe ways in which the attack step can be detected, corrected, or prevented. These are presented from a defender's point of view, where the defender may be a developer, tester, operations administrator, or other resource resisting the attacker. </xs:documentation>
1666
+ </xs:annotation>
1667
+ <xs:complexType>
1668
+ <xs:sequence>
1669
+ <xs:element name="Security_Control_Description" type="xs:string"/>
1670
+ <xs:element name="Relevant_Attack_Surface_Elements" type="capec:Relevant_Attack_Surface_ElementsType" minOccurs="0"/>
1671
+ <xs:element name="Observable_Evidence" minOccurs="0">
1672
+ <xs:complexType>
1673
+ <xs:choice>
1674
+ <xs:element name="IfPresent_Observables" type="cybox:ObservablesType"/>
1675
+ <xs:element name="IfNotPresent_Observables" type="cybox:ObservablesType"/>
1676
+ </xs:choice>
1677
+ </xs:complexType>
1678
+ </xs:element>
1679
+ </xs:sequence>
1680
+ <xs:attribute name="ID" type="xs:integer" use="required">
1681
+ <xs:annotation>
1682
+ <xs:documentation>This field contains a unique integer identifier for the security control.</xs:documentation>
1683
+ </xs:annotation>
1684
+ </xs:attribute>
1685
+ <xs:attribute name="type" use="required">
1686
+ <xs:annotation>
1687
+ <xs:documentation>Each security control has a mandatory type attribute that can be one of the values "Detective," "Corrective," or "Preventative." Detective controls detect an attacker's activities in the attack step, whether the activities are successful or not. Corrective controls attempt to mitigate an attacker's success by responding to a successful outcome. They are not related to or normalized against outcomes. Preventative controls are those that make the attack step unlikely or impossible to succeed.</xs:documentation>
1688
+ </xs:annotation>
1689
+ <xs:simpleType>
1690
+ <xs:restriction base="xs:token">
1691
+ <xs:enumeration value="Detective"/>
1692
+ <xs:enumeration value="Corrective"/>
1693
+ <xs:enumeration value="Preventative"/>
1694
+ </xs:restriction>
1695
+ </xs:simpleType>
1696
+ </xs:attribute>
1697
+ </xs:complexType>
1698
+ </xs:element>
1699
+ </xs:sequence>
1700
+ </xs:complexType>
1701
+ </xs:element>
1702
+ <xs:element name="Observables" type="cybox:ObservablesType" minOccurs="0"/>
1703
+ </xs:sequence>
1704
+ </xs:complexType>
1705
+ <xs:complexType name="Target_Attack_SurfaceType">
1706
+ <xs:choice>
1707
+ <xs:element name="Common_Attack_Surface_Description">
1708
+ <xs:complexType>
1709
+ <xs:sequence>
1710
+ <xs:element name="Relevant_Attack_Surface_Elements" type="capec:Relevant_Attack_Surface_ElementsType"/>
1711
+ <xs:element name="Pattern_Specific_Overrides" type="capec:Target_Attack_Surface_DescriptionType" minOccurs="0"/>
1712
+ </xs:sequence>
1713
+ <xs:attribute name="Common_Attack_Surface_ID"/>
1714
+ </xs:complexType>
1715
+ </xs:element>
1716
+ <xs:element name="Target_Attack_Surface_Description" type="capec:Target_Attack_Surface_DescriptionType"/>
1717
+ </xs:choice>
1718
+ </xs:complexType>
1719
+ <xs:complexType name="Target_Attack_Surface_DescriptionType">
1720
+ <xs:sequence>
1721
+ <xs:element name="Targeted_OSI_Layers">
1722
+ <xs:complexType>
1723
+ <xs:sequence>
1724
+ <xs:element name="Targeted_OSI_Layer" maxOccurs="unbounded">
1725
+ <xs:simpleType>
1726
+ <xs:restriction base="xs:string">
1727
+ <xs:enumeration value="Physical Layer"/>
1728
+ <xs:enumeration value="Data Link Layer"/>
1729
+ <xs:enumeration value="Network Layer"/>
1730
+ <xs:enumeration value="Transport Layer"/>
1731
+ <xs:enumeration value="Session Layer"/>
1732
+ <xs:enumeration value="Presentation Layer"/>
1733
+ <xs:enumeration value="Application Layer"/>
1734
+ </xs:restriction>
1735
+ </xs:simpleType>
1736
+ </xs:element>
1737
+ </xs:sequence>
1738
+ </xs:complexType>
1739
+ </xs:element>
1740
+ <xs:element name="Target_Attack_Surface_Localities">
1741
+ <xs:complexType>
1742
+ <xs:sequence>
1743
+ <xs:element name="Target_Attack_Surface_Locality" maxOccurs="unbounded">
1744
+ <xs:simpleType>
1745
+ <xs:restriction base="xs:string">
1746
+ <xs:enumeration value="Client-side"/>
1747
+ <xs:enumeration value="Server-side"/>
1748
+ </xs:restriction>
1749
+ </xs:simpleType>
1750
+ </xs:element>
1751
+ </xs:sequence>
1752
+ </xs:complexType>
1753
+ </xs:element>
1754
+ <xs:element name="Target_Attack_Surface_Types">
1755
+ <xs:complexType>
1756
+ <xs:sequence>
1757
+ <xs:element name="Target_Attack_Surface_Type" maxOccurs="unbounded">
1758
+ <xs:simpleType>
1759
+ <xs:restriction base="xs:string">
1760
+ <xs:enumeration value="Network"/>
1761
+ <xs:enumeration value="Host"/>
1762
+ <xs:enumeration value="Service"/>
1763
+ <xs:enumeration value="Non-Web Application"/>
1764
+ <xs:enumeration value="Web Application"/>
1765
+ <xs:enumeration value="Firewall"/>
1766
+ </xs:restriction>
1767
+ </xs:simpleType>
1768
+ </xs:element>
1769
+ </xs:sequence>
1770
+ </xs:complexType>
1771
+ </xs:element>
1772
+ <xs:element name="Target_Functional_Services" minOccurs="0">
1773
+ <xs:complexType>
1774
+ <xs:sequence>
1775
+ <xs:element name="Target_Functional_Service" maxOccurs="unbounded">
1776
+ <xs:complexType>
1777
+ <xs:sequence>
1778
+ <xs:element name="Protocol" minOccurs="0" maxOccurs="unbounded">
1779
+ <xs:complexType>
1780
+ <xs:sequence>
1781
+ <xs:element name="Protocol_Structure" minOccurs="0">
1782
+ <xs:complexType>
1783
+ <xs:sequence>
1784
+ <xs:element name="Protocol_Header" maxOccurs="unbounded">
1785
+ <xs:complexType>
1786
+ <xs:sequence>
1787
+ <xs:element name="Protocol_RFC" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
1788
+ <xs:element name="Protocol_Field_Name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
1789
+ <xs:element name="Protocol_Field_Description" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
1790
+ <xs:element name="Protocol_Flag_Description" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
1791
+ <xs:element name="Protocol_Flag_Value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
1792
+ <xs:element name="Protocol_Operation_Code" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
1793
+ <xs:element name="Protocol_Data" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
1794
+ </xs:sequence>
1795
+ <xs:attribute name="ID" type="xs:integer" use="required"/>
1796
+ <xs:attribute name="Name" type="xs:string"/>
1797
+ </xs:complexType>
1798
+ </xs:element>
1799
+ </xs:sequence>
1800
+ </xs:complexType>
1801
+ </xs:element>
1802
+ <xs:element name="Command_Structures" minOccurs="0">
1803
+ <xs:complexType>
1804
+ <xs:sequence>
1805
+ <xs:element name="Command_Structure" maxOccurs="unbounded">
1806
+ <xs:complexType>
1807
+ <xs:sequence>
1808
+ <xs:element name="Command_Description" type="xs:string" minOccurs="0"/>
1809
+ <xs:element name="Command_Type" type="xs:string" minOccurs="0"/>
1810
+ <xs:element name="Command_Group_Label" type="xs:string" minOccurs="0"/>
1811
+ </xs:sequence>
1812
+ <xs:attribute name="ID" type="xs:integer" use="required"/>
1813
+ <xs:attribute name="Name" type="xs:string" use="required"/>
1814
+ </xs:complexType>
1815
+ </xs:element>
1816
+ </xs:sequence>
1817
+ </xs:complexType>
1818
+ </xs:element>
1819
+ <xs:element name="Related_Protocols" minOccurs="0">
1820
+ <xs:complexType>
1821
+ <xs:sequence>
1822
+ <xs:element name="Related_Protocol" maxOccurs="unbounded">
1823
+ <xs:complexType>
1824
+ <xs:sequence>
1825
+ <xs:element name="Relationship_Type" maxOccurs="unbounded">
1826
+ <xs:simpleType>
1827
+ <xs:restriction base="xs:string">
1828
+ <xs:enumeration value="Is an abstraction of"/>
1829
+ <xs:enumeration value="Is a refinement of"/>
1830
+ <xs:enumeration value="Is an alternative to"/>
1831
+ <xs:enumeration value="Uses Protocol"/>
1832
+ <xs:enumeration value="Is a service of"/>
1833
+ <xs:enumeration value="Is a command of"/>
1834
+ </xs:restriction>
1835
+ </xs:simpleType>
1836
+ </xs:element>
1837
+ </xs:sequence>
1838
+ <xs:attribute name="Name"/>
1839
+ <xs:attribute name="RFC"/>
1840
+ </xs:complexType>
1841
+ </xs:element>
1842
+ </xs:sequence>
1843
+ </xs:complexType>
1844
+ </xs:element>
1845
+ </xs:sequence>
1846
+ <xs:attribute name="ID" type="xs:integer" use="required"/>
1847
+ <xs:attribute name="Name" type="xs:string" use="required"/>
1848
+ <xs:attribute name="RFC" type="xs:string"/>
1849
+ <xs:attribute name="Encryption" type="xs:boolean"/>
1850
+ <xs:attribute name="Encryption_Type" type="xs:string"/>
1851
+ </xs:complexType>
1852
+ </xs:element>
1853
+ </xs:sequence>
1854
+ <xs:attribute name="ID" type="xs:integer" use="required"/>
1855
+ <xs:attribute name="Name" type="xs:string" use="required"/>
1856
+ </xs:complexType>
1857
+ </xs:element>
1858
+ </xs:sequence>
1859
+ </xs:complexType>
1860
+ </xs:element>
1861
+ </xs:sequence>
1862
+ </xs:complexType>
1863
+ <xs:complexType name="Relevant_Attack_Surface_ElementsType">
1864
+ <xs:sequence>
1865
+ <xs:element name="Relevant_Functional_Services" minOccurs="0">
1866
+ <xs:complexType>
1867
+ <xs:sequence>
1868
+ <xs:element name="Relevant_Functional_Service_ID" maxOccurs="unbounded"/>
1869
+ </xs:sequence>
1870
+ </xs:complexType>
1871
+ </xs:element>
1872
+ <xs:element name="Relevant_Protocols" minOccurs="0">
1873
+ <xs:complexType>
1874
+ <xs:sequence>
1875
+ <xs:element name="Relevant_Protocol_ID" maxOccurs="unbounded"/>
1876
+ </xs:sequence>
1877
+ </xs:complexType>
1878
+ </xs:element>
1879
+ <xs:element name="Relevant_Protocol_Headers" minOccurs="0">
1880
+ <xs:complexType>
1881
+ <xs:sequence>
1882
+ <xs:element name="Relevant_Protocol_Header_ID" maxOccurs="unbounded"/>
1883
+ </xs:sequence>
1884
+ </xs:complexType>
1885
+ </xs:element>
1886
+ <xs:element name="Relevant_Command_Structures" minOccurs="0">
1887
+ <xs:complexType>
1888
+ <xs:sequence>
1889
+ <xs:element name="Relevant_Command_Structure_ID" maxOccurs="unbounded"/>
1890
+ </xs:sequence>
1891
+ </xs:complexType>
1892
+ </xs:element>
1893
+ </xs:sequence>
1894
+ </xs:complexType>
1895
+ <xs:complexType name="Common_ConsequenceType">
1896
+ <xs:sequence>
1897
+ <xs:element name="Consequence_Scope" minOccurs="0" maxOccurs="unbounded">
1898
+ <xs:annotation>
1899
+ <xs:documentation> This subelement identifies an individual consequence that
1900
+ may result from this attack pattern. </xs:documentation>
1901
+ </xs:annotation>
1902
+ <xs:simpleType>
1903
+ <xs:restriction base="xs:string">
1904
+ <xs:enumeration value="Confidentiality"/>
1905
+ <xs:enumeration value="Integrity"/>
1906
+ <xs:enumeration value="Availability"/>
1907
+ <xs:enumeration value="Access_Control"/>
1908
+ <xs:enumeration value="Non-Repudiation"/>
1909
+ <xs:enumeration value="Accountability"/>
1910
+ <xs:enumeration value="Authentication"/>
1911
+ <xs:enumeration value="Authorization"/>
1912
+ <xs:enumeration value="Other"/>
1913
+ </xs:restriction>
1914
+ </xs:simpleType>
1915
+ </xs:element>
1916
+ <xs:element name="Consequence_Technical_Impact" minOccurs="0" maxOccurs="unbounded">
1917
+ <xs:annotation>
1918
+ <xs:documentation>This subelement describes the technical impacts that can result from successful execution of this attack pattern.</xs:documentation>
1919
+ </xs:annotation>
1920
+ <xs:simpleType>
1921
+ <xs:restriction base="xs:string">
1922
+ <xs:whiteSpace value="collapse"/>
1923
+ <xs:enumeration value="Modify memory"/>
1924
+ <xs:enumeration value="Read memory"/>
1925
+ <xs:enumeration value="Modify files or directories"/>
1926
+ <xs:enumeration value="Read files or directories"/>
1927
+ <xs:enumeration value="Modify application data"/>
1928
+ <xs:enumeration value="Read application data"/>
1929
+ <xs:enumeration value="DoS: crash / exit / restart"/>
1930
+ <xs:enumeration value="DoS: amplification"/>
1931
+ <xs:enumeration value="DoS: instability"/>
1932
+ <xs:enumeration value="DoS: resource consumption (CPU)"/>
1933
+ <xs:enumeration value="DoS: resource consumption (memory)"/>
1934
+ <xs:enumeration value="DoS: resource consumption (other)"/>
1935
+ <xs:enumeration value="Execute unauthorized code or commands"/>
1936
+ <xs:enumeration value="Gain privileges / assume identity"/>
1937
+ <xs:enumeration value="Bypass protection mechanism"/>
1938
+ <xs:enumeration value="Hide activities"/>
1939
+ <xs:enumeration value="Alter execution logic"/>
1940
+ <xs:enumeration value="Other"/>
1941
+ <xs:enumeration value="&quot;Varies by context&quot;"/>
1942
+ <xs:enumeration value="Quality degradation"/>
1943
+ <xs:enumeration value="Unexpected State"/>
1944
+ </xs:restriction>
1945
+ </xs:simpleType>
1946
+ </xs:element>
1947
+ <xs:element name="Consequence_Note" type="capec:Structured_Text_Type" minOccurs="0">
1948
+ <xs:annotation>
1949
+ <xs:documentation>This subelement provides additional commentary about this consequence.</xs:documentation>
1950
+ </xs:annotation>
1951
+ </xs:element>
1952
+ </xs:sequence>
1953
+ <xs:attribute name="Common_Consequence_ID" type="xs:string">
1954
+ <xs:annotation>
1955
+ <xs:documentation> The Common_Consequence_ID stores the value for the related
1956
+ Common_Consequence entry identifier as a string. Only one
1957
+ Common_Consequence_ID element can exist for each Common_Consequence element
1958
+ (ex: CC-1). However, Common_Consequences across CAPEC with the same ID should
1959
+ only vary in small details.</xs:documentation>
1960
+ </xs:annotation>
1961
+ </xs:attribute>
1962
+ </xs:complexType>
1963
+ <xs:complexType name="Attack_PatternType">
1964
+ <xs:sequence>
1965
+ <xs:element name="Description" minOccurs="0">
1966
+ <xs:annotation>
1967
+ <xs:documentation>This field contains a detailed description of the attack including the chain of actions taken by the attacker. More comprehensive descriptions could include relevant attack trees and/or exploit graphs to more clearly elaborate this type of attack.</xs:documentation>
1968
+ </xs:annotation>
1969
+ <xs:complexType>
1970
+ <xs:sequence>
1971
+ <xs:element name="Summary" type="capec:Structured_Text_Type">
1972
+ <xs:annotation>
1973
+ <xs:documentation>Brief description of what the attack involves and what weaknesses it is leveraging for exploit.</xs:documentation>
1974
+ </xs:annotation>
1975
+ </xs:element>
1976
+ <xs:element ref="capec:Attack_Execution_Flow" minOccurs="0">
1977
+ <xs:annotation>
1978
+ <xs:documentation>Outline of the steps involved in an attacker executing the typical flow of the attack.</xs:documentation>
1979
+ </xs:annotation>
1980
+ </xs:element>
1981
+ </xs:sequence>
1982
+ </xs:complexType>
1983
+ </xs:element>
1984
+ <xs:element ref="capec:Alternate_Terms" minOccurs="0">
1985
+ <xs:annotation>
1986
+ <xs:documentation> This element contains one or more Alternate_Term elements, each ofwhich contains other names used to describe this attack pattern. </xs:documentation>
1987
+ </xs:annotation>
1988
+ </xs:element>
1989
+ <xs:element name="Target_Attack_Surface" type="capec:Target_Attack_SurfaceType" minOccurs="0"/>
1990
+ <xs:element name="Attack_Prerequisites" minOccurs="0">
1991
+ <xs:annotation>
1992
+ <xs:documentation>This field describes the conditions that must exist or the functionality and characteristics that the target software must have or behavior it must exhibit for an attack of this type to succeed.</xs:documentation>
1993
+ </xs:annotation>
1994
+ <xs:complexType>
1995
+ <xs:sequence>
1996
+ <xs:element name="Attack_Prerequisite" type="capec:Structured_Text_Type" maxOccurs="unbounded">
1997
+ <xs:annotation>
1998
+ <xs:documentation>This field describes an individual attack prerequisite.</xs:documentation>
1999
+ </xs:annotation>
2000
+ </xs:element>
2001
+ </xs:sequence>
2002
+ </xs:complexType>
2003
+ </xs:element>
2004
+ <xs:element name="Typical_Severity" minOccurs="0">
2005
+ <xs:annotation>
2006
+ <xs:documentation>On a rough scale (Very Low, Low, Medium, High, Very high), what is the typical severity of impact to the targeted software if this attack occurs? The severity of a specific attack instance can vary greatly depending on the specific context of the target software under attack. This field is intended to capture an overall typical average value for this type of attack with the understanding that it will not be completely accurate for all attacks.</xs:documentation>
2007
+ </xs:annotation>
2008
+ <xs:simpleType>
2009
+ <xs:restriction base="xs:string">
2010
+ <xs:enumeration value="Very High"/>
2011
+ <xs:enumeration value="High"/>
2012
+ <xs:enumeration value="Medium"/>
2013
+ <xs:enumeration value="Low"/>
2014
+ <xs:enumeration value="Very Low"/>
2015
+ </xs:restriction>
2016
+ </xs:simpleType>
2017
+ </xs:element>
2018
+ <xs:element name="Typical_Likelihood_of_Exploit" minOccurs="0">
2019
+ <xs:annotation>
2020
+ <xs:documentation>On a rough scale (Very Low, Low Medium, High, Very High), what is the overall likelihood of this type of attack typically succeeding considering the attack prerequisites, targeted weakness attack surface, skill required and resources required as well as available and likely implemented blocking solutions? The likelihood of exploit of a specific attack instance can vary greatly depending on the specific context of the target software under attack. This field is intended to capture an overall typical average value for this type of attack with the understanding that it will not be completely accurate for all attacks.</xs:documentation>
2021
+ </xs:annotation>
2022
+ <xs:complexType>
2023
+ <xs:sequence>
2024
+ <xs:element name="Likelihood" type="xs:string" minOccurs="0">
2025
+ <xs:annotation>
2026
+ <xs:documentation>On a rough scale (Very Low, Low Medium, High, Very High), what is the overall likelihood of this type of attack typically succeeding considering the attack prerequisites, targeted weakness attack surface, skill required and resources required as well as available and likely implemented blocking solutions?</xs:documentation>
2027
+ </xs:annotation>
2028
+ </xs:element>
2029
+ <xs:element name="Explanation" type="capec:Structured_Text_Type" minOccurs="0">
2030
+ <xs:annotation>
2031
+ <xs:documentation>This field captures any useful explanation for the defined Likelihood.</xs:documentation>
2032
+ </xs:annotation>
2033
+ </xs:element>
2034
+ </xs:sequence>
2035
+ </xs:complexType>
2036
+ </xs:element>
2037
+ <xs:element name="Methods_of_Attack" minOccurs="0">
2038
+ <xs:annotation>
2039
+ <xs:documentation>This field describes the mechanism of attack used by this pattern. This field can help define the applicable attack surface required for this attack.</xs:documentation>
2040
+ </xs:annotation>
2041
+ <xs:complexType>
2042
+ <xs:sequence>
2043
+ <xs:element name="Method_of_Attack" minOccurs="0" maxOccurs="unbounded">
2044
+ <xs:annotation>
2045
+ <xs:documentation>This field describes the mechanism of attack used by this pattern. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined vectors which is currently incomplete and will grow as new relevant vectors are identified. This field can help define the applicable attack surface required for this attack.</xs:documentation>
2046
+ </xs:annotation>
2047
+ <xs:simpleType>
2048
+ <xs:restriction base="xs:string">
2049
+ <xs:enumeration value="Injection"/>
2050
+ <xs:enumeration value="Modification of Resources"/>
2051
+ <xs:enumeration value="Protocol Manipulation"/>
2052
+ <xs:enumeration value="Analysis"/>
2053
+ <xs:enumeration value="API Abuse"/>
2054
+ <xs:enumeration value="Brute Force"/>
2055
+ <xs:enumeration value="Flooding"/>
2056
+ <xs:enumeration value="Time and State"/>
2057
+ <xs:enumeration value="Spoofing"/>
2058
+ <xs:enumeration value="Social Engineering"/>
2059
+ </xs:restriction>
2060
+ </xs:simpleType>
2061
+ </xs:element>
2062
+ </xs:sequence>
2063
+ </xs:complexType>
2064
+ </xs:element>
2065
+ <xs:element name="Examples-Instances" minOccurs="0">
2066
+ <xs:annotation>
2067
+ <xs:documentation>This field contains explanatory examples or demonstrative exploit instances of this attack, which are intended to help the reader understand the nature, context and variability of the attack in more practical and concrete terms.</xs:documentation>
2068
+ </xs:annotation>
2069
+ <xs:complexType>
2070
+ <xs:sequence>
2071
+ <xs:element name="Example-Instance" maxOccurs="unbounded">
2072
+ <xs:annotation>
2073
+ <xs:documentation>This field describes an individual example or exploit instance.</xs:documentation>
2074
+ </xs:annotation>
2075
+ <xs:complexType>
2076
+ <xs:sequence>
2077
+ <xs:element name="Example-Instance_Description" type="capec:Structured_Text_Type">
2078
+ <xs:annotation>
2079
+ <xs:documentation>This field describes in detail a specific example or exploit instance of this attack. It should outline the context of the attack, the targeted software, the targeted weaknesses or vulnerabilities, the specific set of actions involved in the attack and the resulting impact of the attacks success or failure (in the case of counterexamples).</xs:documentation>
2080
+ </xs:annotation>
2081
+ </xs:element>
2082
+ <xs:element name="References" minOccurs="0">
2083
+ <xs:complexType>
2084
+ <xs:sequence>
2085
+ <xs:element name="Reference" type="capec:Reference_Type" maxOccurs="unbounded"/>
2086
+ </xs:sequence>
2087
+ </xs:complexType>
2088
+ </xs:element>
2089
+ <xs:element name="Example-Instance_Related_Vulnerabilities" minOccurs="0">
2090
+ <xs:complexType>
2091
+ <xs:sequence>
2092
+ <xs:element name="Example-Instance_Related_Vulnerability" type="capec:Structured_Text_Type" maxOccurs="unbounded">
2093
+ <xs:annotation>
2094
+ <xs:documentation>This field lists the specific vulnerabilities targeted by this exploit instance of the attack. Specific vulnerabilities should reference industry-standard identifiers such as Common Vulnerabilities and Exposures (CVE) numbers and/or US-CERT numbers.</xs:documentation>
2095
+ </xs:annotation>
2096
+ </xs:element>
2097
+ </xs:sequence>
2098
+ </xs:complexType>
2099
+ </xs:element>
2100
+ </xs:sequence>
2101
+ </xs:complexType>
2102
+ </xs:element>
2103
+ </xs:sequence>
2104
+ </xs:complexType>
2105
+ </xs:element>
2106
+ <xs:element name="Attacker_Skills_or_Knowledge_Required" minOccurs="0">
2107
+ <xs:annotation>
2108
+ <xs:documentation>This field describes the level of skills or specific knowledge required by an attacker to execute this type of attack. </xs:documentation>
2109
+ </xs:annotation>
2110
+ <xs:complexType>
2111
+ <xs:sequence>
2112
+ <xs:element name="Attacker_Skill_or_Knowledge_Required" maxOccurs="unbounded">
2113
+ <xs:annotation>
2114
+ <xs:documentation>This field describes the level of skill or specific knowledge required by an attacker to execute this type of attack. </xs:documentation>
2115
+ </xs:annotation>
2116
+ <xs:complexType>
2117
+ <xs:sequence>
2118
+ <xs:element name="Skill_or_Knowledge_Level" minOccurs="0">
2119
+ <xs:annotation>
2120
+ <xs:documentation>This should be communicated on a rough scale (Low, Medium, High).
2121
+ For example:
2122
+ • Low - Basic computer familiarity
2123
+ • Low - Basic SQL knowledge
2124
+ • Medium - Moderate scripting and shell experience and ability to disassemble and decompile
2125
+ • High - Expert knowledge of LINUX kernel
2126
+ • High - Detailed knowledge of target software development practices and business context (former employee)
2127
+ • Etc.
2128
+ </xs:documentation>
2129
+ </xs:annotation>
2130
+ <xs:simpleType>
2131
+ <xs:restriction base="xs:string">
2132
+ <xs:enumeration value="Low"/>
2133
+ <xs:enumeration value="Medium"/>
2134
+ <xs:enumeration value="High"/>
2135
+ </xs:restriction>
2136
+ </xs:simpleType>
2137
+ </xs:element>
2138
+ <xs:element name="Skill_or_Knowledge_Type" type="capec:Structured_Text_Type" minOccurs="0">
2139
+ <xs:annotation>
2140
+ <xs:documentation>This field provides contextual detail for the skill or knowledge level.</xs:documentation>
2141
+ </xs:annotation>
2142
+ </xs:element>
2143
+ </xs:sequence>
2144
+ </xs:complexType>
2145
+ </xs:element>
2146
+ </xs:sequence>
2147
+ </xs:complexType>
2148
+ </xs:element>
2149
+ <xs:element name="Resources_Required" type="capec:Structured_Text_Type" minOccurs="0">
2150
+ <xs:annotation>
2151
+ <xs:documentation>This field describes the resources (CPU cycles, IP addresses, tools, etc.) required by an attacker to effectively execute this type of attack.</xs:documentation>
2152
+ </xs:annotation>
2153
+ </xs:element>
2154
+ <xs:element name="Probing_Techniques" minOccurs="0">
2155
+ <xs:annotation>
2156
+ <xs:documentation>This field describes techniques typically used to probe and reconnoiter a potential target to determine vulnerability and/or to prepare for this type of attack.</xs:documentation>
2157
+ </xs:annotation>
2158
+ <xs:complexType>
2159
+ <xs:sequence>
2160
+ <xs:element name="Probing_Technique" maxOccurs="unbounded">
2161
+ <xs:annotation>
2162
+ <xs:documentation>This field describes an individual probing technique.</xs:documentation>
2163
+ </xs:annotation>
2164
+ <xs:complexType>
2165
+ <xs:sequence>
2166
+ <xs:element name="Description" type="capec:Structured_Text_Type" minOccurs="0"/>
2167
+ <xs:element name="Observables" type="cybox:ObservablesType" minOccurs="0"/>
2168
+ </xs:sequence>
2169
+ </xs:complexType>
2170
+ </xs:element>
2171
+ </xs:sequence>
2172
+ </xs:complexType>
2173
+ </xs:element>
2174
+ <xs:element name="Indicators-Warnings_of_Attack" minOccurs="0">
2175
+ <xs:annotation>
2176
+ <xs:documentation>This field describes activities, events, conditions or behaviors that could serve as indicators that an attack of this type is imminent, in progress or has occurred.</xs:documentation>
2177
+ </xs:annotation>
2178
+ <xs:complexType>
2179
+ <xs:sequence>
2180
+ <xs:element name="Indicator-Warning_of_Attack" maxOccurs="unbounded">
2181
+ <xs:annotation>
2182
+ <xs:documentation>This field describes an individual indicator/warning.</xs:documentation>
2183
+ </xs:annotation>
2184
+ <xs:complexType>
2185
+ <xs:sequence>
2186
+ <xs:element name="Description" type="capec:Structured_Text_Type" minOccurs="0"/>
2187
+ <xs:element name="Observables" type="cybox:ObservablesType" minOccurs="0"/>
2188
+ </xs:sequence>
2189
+ </xs:complexType>
2190
+ </xs:element>
2191
+ </xs:sequence>
2192
+ </xs:complexType>
2193
+ </xs:element>
2194
+ <xs:element name="Obfuscation_Techniques" minOccurs="0">
2195
+ <xs:annotation>
2196
+ <xs:documentation>This field describes techniques typically used to disguise the fact that an attack of this type is imminent, in progress or has occurred.</xs:documentation>
2197
+ </xs:annotation>
2198
+ <xs:complexType>
2199
+ <xs:sequence>
2200
+ <xs:element name="Obfuscation_Technique" maxOccurs="unbounded">
2201
+ <xs:annotation>
2202
+ <xs:documentation>This field describes an individual obfuscation technique.</xs:documentation>
2203
+ </xs:annotation>
2204
+ <xs:complexType>
2205
+ <xs:sequence>
2206
+ <xs:element name="Description" type="capec:Structured_Text_Type" minOccurs="0"/>
2207
+ <xs:element name="Observables" type="cybox:ObservablesType" minOccurs="0"/>
2208
+ </xs:sequence>
2209
+ </xs:complexType>
2210
+ </xs:element>
2211
+ </xs:sequence>
2212
+ </xs:complexType>
2213
+ </xs:element>
2214
+ <xs:element name="Solutions_and_Mitigations" minOccurs="0">
2215
+ <xs:annotation>
2216
+ <xs:documentation>This field describes actions or approaches that can potentially prevent or mitigate the risk of this attack. These solutions and mitigations are targeted to improve the resistance of the target software and thereby reduce the likelihood of the attack's success or to improve the resilience of the target software and thereby reduce the impact of the attack if it is successful. </xs:documentation>
2217
+ </xs:annotation>
2218
+ <xs:complexType>
2219
+ <xs:sequence>
2220
+ <xs:element name="Solution_or_Mitigation" type="capec:Structured_Text_Type" maxOccurs="unbounded">
2221
+ <xs:annotation>
2222
+ <xs:documentation>This field describes an individual blocking solution or mitigation.</xs:documentation>
2223
+ </xs:annotation>
2224
+ </xs:element>
2225
+ </xs:sequence>
2226
+ </xs:complexType>
2227
+ </xs:element>
2228
+ <xs:element name="Attack_Motivation-Consequences" minOccurs="0">
2229
+ <xs:annotation>
2230
+ <xs:documentation>What is the attacker trying to achieve by using this attack? This is not the end business/mission goal of the attack within the target context but rather the specific technical result desired that could be leveraged to achieve the end business/mission objective. This information is useful for aligning attack patterns to threat models and for determining which attack patterns are relevant for a given context.</xs:documentation>
2231
+ </xs:annotation>
2232
+ <xs:complexType>
2233
+ <xs:sequence>
2234
+ <xs:element name="Attack_Motivation-Consequence" type="capec:Common_ConsequenceType" maxOccurs="unbounded">
2235
+ <xs:annotation>
2236
+ <xs:documentation>What is the attacker trying to achieve by using this attack? This is not the end business/mission goal of the attack within the target context but rather the specific technical result desired that could be leveraged to achieve the end business/mission objective. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined motivations/consequences which is currently incomplete and will grow as new relevant possibilities are identified. This information is useful for aligning attack patterns to threat models and for determining which attack patterns are relevant for a given context.</xs:documentation>
2237
+ </xs:annotation>
2238
+ </xs:element>
2239
+ </xs:sequence>
2240
+ </xs:complexType>
2241
+ </xs:element>
2242
+ <xs:element name="Injection_Vector" type="capec:Structured_Text_Type" minOccurs="0">
2243
+ <xs:annotation>
2244
+ <xs:documentation>This field describes, as precisely as possible, the mechanism and format of an input-driven attack of this type. Injection vectors must take into account the grammar of an attack, the syntax accepted by the system, the position of various fields, and the ranges of data that are acceptable. </xs:documentation>
2245
+ </xs:annotation>
2246
+ </xs:element>
2247
+ <xs:element name="Payload" type="capec:Structured_Text_Type" minOccurs="0">
2248
+ <xs:annotation>
2249
+ <xs:documentation>This field describes the code, configuration or other data to be executed or otherwise activated as part of an injection-based attack of this type. </xs:documentation>
2250
+ </xs:annotation>
2251
+ </xs:element>
2252
+ <xs:element name="Activation_Zone" type="capec:Structured_Text_Type" minOccurs="0">
2253
+ <xs:annotation>
2254
+ <xs:documentation>This field describes the area within the target software that is capable of executing or otherwise activating the payload of an injection-based attack of this type. The activation zone is where the intent of the attacker is put into action. The activation zone may be a command interpreter, some active machine code in a buffer, a client browser, a system API call, etc. </xs:documentation>
2255
+ </xs:annotation>
2256
+ </xs:element>
2257
+ <xs:element name="Payload_Activation_Impact" minOccurs="0">
2258
+ <xs:annotation>
2259
+ <xs:documentation>This field is a description of the impact that the activation of the attack payload for an injection-based attack of this type would typically have on the confidentiality, integrity or availability of the target software.</xs:documentation>
2260
+ </xs:annotation>
2261
+ <xs:complexType>
2262
+ <xs:sequence>
2263
+ <xs:element name="Description" type="capec:Structured_Text_Type" minOccurs="0"/>
2264
+ <xs:element name="Observables" type="cybox:ObservablesType" minOccurs="0"/>
2265
+ </xs:sequence>
2266
+ </xs:complexType>
2267
+ </xs:element>
2268
+ <xs:element name="Related_Weaknesses" minOccurs="0">
2269
+ <xs:annotation>
2270
+ <xs:documentation>Which specific weaknesses does this attack target and leverage? Specific weaknesses (underlying issues that may cause vulnerabilities) reference the industry-standard Common Weakness Enumeration (CWE). This list should include not only those weaknesses that are directly targeted by the attack but also those whose presence can directly increase the likelihood of the attack succeeding or the impact if it does succeed.</xs:documentation>
2271
+ </xs:annotation>
2272
+ <xs:complexType>
2273
+ <xs:sequence>
2274
+ <xs:element name="Related_Weakness" maxOccurs="unbounded">
2275
+ <xs:annotation>
2276
+ <xs:documentation>This field describes an individual related weakness.</xs:documentation>
2277
+ </xs:annotation>
2278
+ <xs:complexType>
2279
+ <xs:sequence>
2280
+ <xs:element name="CWE_ID" type="xs:integer">
2281
+ <xs:annotation>
2282
+ <xs:documentation>The CWE_ID is a field that exists for all weaknesses enumerated in the Common Weakness Enumeration (CWE). It is a unique value that allows each weakness to be unambiguously identified. The CWE_ID field for the attack pattern contains the value of the CWE_ID for the specific related weakness. </xs:documentation>
2283
+ </xs:annotation>
2284
+ </xs:element>
2285
+ <xs:element name="Weakness_Relationship_Type">
2286
+ <xs:annotation>
2287
+ <xs:documentation>This field describes the nature of the relationship between this weakness and the attack pattern. Weaknesses that are specifically targeted by the attack are of type "Targeted". Weaknesses which are not specifically targeted but whose presence may increase the likelihood of the attack succeeding or the impact of the attack if it does succeed are of type "Secondary".</xs:documentation>
2288
+ </xs:annotation>
2289
+ <xs:simpleType>
2290
+ <xs:restriction base="xs:string">
2291
+ <xs:enumeration value="Targeted"/>
2292
+ <xs:enumeration value="Secondary"/>
2293
+ </xs:restriction>
2294
+ </xs:simpleType>
2295
+ </xs:element>
2296
+ </xs:sequence>
2297
+ </xs:complexType>
2298
+ </xs:element>
2299
+ </xs:sequence>
2300
+ </xs:complexType>
2301
+ </xs:element>
2302
+ <xs:element name="Related_Vulnerabilities" minOccurs="0">
2303
+ <xs:annotation>
2304
+ <xs:documentation>What specific vulnerabilities does this attack target and leverage? Specific vulnerabilities should reference industry-standard identifiers such as Common Vulnerabilities and Exposures (CVE ) numbers and/or US-CERT numbers. As vulnerabilities are much more specific and localized than weaknesses, it is typically rare that an attack pattern will target specific vulnerabilities. This would most likely occur if they are targeting vulnerabilities in underlying platforms, frameworks, libraries, etc.</xs:documentation>
2305
+ </xs:annotation>
2306
+ <xs:complexType>
2307
+ <xs:sequence>
2308
+ <xs:element name="Related_Vulnerability" maxOccurs="unbounded">
2309
+ <xs:annotation>
2310
+ <xs:documentation>This field describes an individual related vulnerability.</xs:documentation>
2311
+ </xs:annotation>
2312
+ <xs:complexType>
2313
+ <xs:sequence>
2314
+ <xs:element name="Vulnerability_ID" type="xs:string">
2315
+ <xs:annotation>
2316
+ <xs:documentation>This field uses the unique reference ID for a specific related vulnerability utilizing an industry standard vulnerability listing (e.g., CVE-2006-4192, VU#650769, etc.).</xs:documentation>
2317
+ </xs:annotation>
2318
+ </xs:element>
2319
+ <xs:element name="Vulnerability_Description" type="capec:Structured_Text_Type">
2320
+ <xs:annotation>
2321
+ <xs:documentation>This field contains a short textual description of the specific related vulnerability taken from the industry standard vulnerability listing.</xs:documentation>
2322
+ </xs:annotation>
2323
+ </xs:element>
2324
+ </xs:sequence>
2325
+ </xs:complexType>
2326
+ </xs:element>
2327
+ </xs:sequence>
2328
+ </xs:complexType>
2329
+ </xs:element>
2330
+ <xs:element name="Related_Attack_Patterns" minOccurs="0">
2331
+ <xs:annotation>
2332
+ <xs:documentation>This field identifies other attack patterns that are somehow related to, dependent on, typically chained together, etc. with this pattern.</xs:documentation>
2333
+ </xs:annotation>
2334
+ <xs:complexType>
2335
+ <xs:sequence>
2336
+ <xs:element name="Related_Attack_Pattern" type="capec:RelationshipType" maxOccurs="unbounded">
2337
+ <xs:annotation>
2338
+ <xs:documentation>This field describes an individual related attack pattern.</xs:documentation>
2339
+ </xs:annotation>
2340
+ </xs:element>
2341
+ </xs:sequence>
2342
+ </xs:complexType>
2343
+ </xs:element>
2344
+ <xs:element name="Relevant_Security_Requirements" minOccurs="0">
2345
+ <xs:annotation>
2346
+ <xs:documentation>This field identifies specific security requirements that are relevant to this type of attack and are general enough to offer opportunities for reuse.</xs:documentation>
2347
+ </xs:annotation>
2348
+ <xs:complexType>
2349
+ <xs:sequence>
2350
+ <xs:element name="Relevant_Security_Requirement" type="capec:Structured_Text_Type" maxOccurs="unbounded">
2351
+ <xs:annotation>
2352
+ <xs:documentation>This field describes an individual relevant security requirement.</xs:documentation>
2353
+ </xs:annotation>
2354
+ </xs:element>
2355
+ </xs:sequence>
2356
+ </xs:complexType>
2357
+ </xs:element>
2358
+ <xs:element name="Relevant_Design_Patterns" minOccurs="0">
2359
+ <xs:annotation>
2360
+ <xs:documentation>This field identifies specific relevant design patterns that are recommended as providing resistance or resilience to this attack, or which are not recommended as they are particularly susceptible to this type of attack.</xs:documentation>
2361
+ </xs:annotation>
2362
+ <xs:complexType>
2363
+ <xs:sequence>
2364
+ <xs:element name="Recommended_Design_Patterns">
2365
+ <xs:complexType>
2366
+ <xs:sequence>
2367
+ <xs:element name="Recommended_Design_Pattern" type="capec:Structured_Text_Type" maxOccurs="unbounded">
2368
+ <xs:annotation>
2369
+ <xs:documentation>This field describes an individual design pattern that is recommended due to its likelihood of increasing the software's resistance or resiliency to this type of attack.</xs:documentation>
2370
+ </xs:annotation>
2371
+ </xs:element>
2372
+ </xs:sequence>
2373
+ </xs:complexType>
2374
+ </xs:element>
2375
+ <xs:element name="Non-Recommended_Design_Patterns">
2376
+ <xs:complexType>
2377
+ <xs:sequence>
2378
+ <xs:element name="Non-Recommended_Design_Pattern" type="capec:Structured_Text_Type" maxOccurs="unbounded">
2379
+ <xs:annotation>
2380
+ <xs:documentation>This field describes an individual design pattern that is not recommended due to its likelihood of decreasing the software's resistance or resiliency to this type of attack.</xs:documentation>
2381
+ </xs:annotation>
2382
+ </xs:element>
2383
+ </xs:sequence>
2384
+ </xs:complexType>
2385
+ </xs:element>
2386
+ </xs:sequence>
2387
+ </xs:complexType>
2388
+ </xs:element>
2389
+ <xs:element name="Relevant_Security_Patterns" minOccurs="0">
2390
+ <xs:annotation>
2391
+ <xs:documentation>This field identifies specific security patterns that are recommended as providing resistance or resilience to this type of attack.</xs:documentation>
2392
+ </xs:annotation>
2393
+ <xs:complexType>
2394
+ <xs:sequence>
2395
+ <xs:element name="Relevant_Security_Pattern" type="capec:Structured_Text_Type" maxOccurs="unbounded">
2396
+ <xs:annotation>
2397
+ <xs:documentation>This field describes an individual relevant security pattern.</xs:documentation>
2398
+ </xs:annotation>
2399
+ </xs:element>
2400
+ </xs:sequence>
2401
+ </xs:complexType>
2402
+ </xs:element>
2403
+ <xs:element name="Related_Security_Principles" minOccurs="0">
2404
+ <xs:annotation>
2405
+ <xs:documentation>This field identifies specific security principles relevant to this attack pattern. The security principles that this field references come from the set available on the Build Security In website.</xs:documentation>
2406
+ </xs:annotation>
2407
+ <xs:complexType>
2408
+ <xs:sequence>
2409
+ <xs:element name="Related_Security_Principle" type="capec:Structured_Text_Type" maxOccurs="unbounded">
2410
+ <xs:annotation>
2411
+ <xs:documentation>This field describes an individual security principle.</xs:documentation>
2412
+ </xs:annotation>
2413
+ </xs:element>
2414
+ </xs:sequence>
2415
+ </xs:complexType>
2416
+ </xs:element>
2417
+ <xs:element name="Related_Guidelines" minOccurs="0">
2418
+ <xs:annotation>
2419
+ <xs:documentation>This field identifies existing security guidelines that are relevant to identifying or mitigating this type of attack.</xs:documentation>
2420
+ </xs:annotation>
2421
+ <xs:complexType>
2422
+ <xs:sequence>
2423
+ <xs:element name="Related_Guideline" type="capec:Structured_Text_Type" maxOccurs="unbounded">
2424
+ <xs:annotation>
2425
+ <xs:documentation>This field describes an individual related guideline.</xs:documentation>
2426
+ </xs:annotation>
2427
+ </xs:element>
2428
+ </xs:sequence>
2429
+ </xs:complexType>
2430
+ </xs:element>
2431
+ <xs:element name="Purposes" minOccurs="0">
2432
+ <xs:annotation>
2433
+ <xs:documentation>This field describes the generalized purposes of the pattern in order to enable the capture of pattern composibility. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined purposes which may be currently incomplete and may grow as new relevant possibilities are identified.</xs:documentation>
2434
+ </xs:annotation>
2435
+ <xs:complexType>
2436
+ <xs:sequence>
2437
+ <xs:element name="Purpose" maxOccurs="unbounded">
2438
+ <xs:annotation>
2439
+ <xs:documentation>This field describes the generalized purpose of the pattern in order to enable the capture of pattern composibility. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined purposes which may be currently incomplete and may grow as new relevant possibilities are identified.</xs:documentation>
2440
+ </xs:annotation>
2441
+ <xs:simpleType>
2442
+ <xs:restriction base="xs:string">
2443
+ <xs:enumeration value="Reconnaissance"/>
2444
+ <xs:enumeration value="Penetration"/>
2445
+ <xs:enumeration value="Exploitation"/>
2446
+ <xs:enumeration value="Obfuscation"/>
2447
+ </xs:restriction>
2448
+ </xs:simpleType>
2449
+ </xs:element>
2450
+ </xs:sequence>
2451
+ </xs:complexType>
2452
+ </xs:element>
2453
+ <xs:element name="CIA_Impact" minOccurs="0">
2454
+ <xs:annotation>
2455
+ <xs:documentation>This field characterizes the typical relative impact of this pattern on the confidentiality, integrity and availability of the targeted software.</xs:documentation>
2456
+ </xs:annotation>
2457
+ <xs:complexType>
2458
+ <xs:sequence>
2459
+ <xs:element name="Confidentiality_Impact" minOccurs="0">
2460
+ <xs:annotation>
2461
+ <xs:documentation>This field describes the typical impact of this pattern on the confidentiality characteristics of the targeted software and related data.</xs:documentation>
2462
+ </xs:annotation>
2463
+ <xs:simpleType>
2464
+ <xs:restriction base="xs:string">
2465
+ <xs:enumeration value="Low"/>
2466
+ <xs:enumeration value="Medium"/>
2467
+ <xs:enumeration value="High"/>
2468
+ </xs:restriction>
2469
+ </xs:simpleType>
2470
+ </xs:element>
2471
+ <xs:element name="Integrity_Impact" minOccurs="0">
2472
+ <xs:annotation>
2473
+ <xs:documentation>This field describes the typical impact of this pattern on the integrity characteristics of the targeted software and related data.</xs:documentation>
2474
+ </xs:annotation>
2475
+ <xs:simpleType>
2476
+ <xs:restriction base="xs:string">
2477
+ <xs:enumeration value="Low"/>
2478
+ <xs:enumeration value="Medium"/>
2479
+ <xs:enumeration value="High"/>
2480
+ </xs:restriction>
2481
+ </xs:simpleType>
2482
+ </xs:element>
2483
+ <xs:element name="Availability_Impact" minOccurs="0">
2484
+ <xs:annotation>
2485
+ <xs:documentation>This field describes the typical impact of this pattern on the availability characteristics of the targeted software and related data.</xs:documentation>
2486
+ </xs:annotation>
2487
+ <xs:simpleType>
2488
+ <xs:restriction base="xs:string">
2489
+ <xs:enumeration value="Low"/>
2490
+ <xs:enumeration value="Medium"/>
2491
+ <xs:enumeration value="High"/>
2492
+ </xs:restriction>
2493
+ </xs:simpleType>
2494
+ </xs:element>
2495
+ </xs:sequence>
2496
+ </xs:complexType>
2497
+ </xs:element>
2498
+ <xs:element name="Technical_Context" minOccurs="0">
2499
+ <xs:annotation>
2500
+ <xs:documentation>This field characterizes the technical context where this pattern is applicable.</xs:documentation>
2501
+ </xs:annotation>
2502
+ <xs:complexType>
2503
+ <xs:sequence>
2504
+ <xs:element name="Architectural_Paradigms" minOccurs="0">
2505
+ <xs:annotation>
2506
+ <xs:documentation>This field outlines the architectural paradigms of target software where the pattern is possible and relevant. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined paradigms which may be currently incomplete and may grow or change as new relevant possibilities are identified.</xs:documentation>
2507
+ </xs:annotation>
2508
+ <xs:complexType>
2509
+ <xs:sequence>
2510
+ <xs:element name="Architectural_Paradigm" maxOccurs="unbounded">
2511
+ <xs:annotation>
2512
+ <xs:documentation>This field outlines the architectural paradigms of target software where the pattern is possible and relevant. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined paradigms which may be currently incomplete and may grow or change as new relevant possibilities are identified.</xs:documentation>
2513
+ </xs:annotation>
2514
+ <xs:simpleType>
2515
+ <xs:restriction base="xs:string">
2516
+ <xs:enumeration value="Mainframe"/>
2517
+ <xs:enumeration value="Client-Server"/>
2518
+ <xs:enumeration value="n-Tier"/>
2519
+ <xs:enumeration value="Web"/>
2520
+ <xs:enumeration value="SOA"/>
2521
+ <xs:enumeration value="Other"/>
2522
+ <xs:enumeration value="All"/>
2523
+ </xs:restriction>
2524
+ </xs:simpleType>
2525
+ </xs:element>
2526
+ </xs:sequence>
2527
+ </xs:complexType>
2528
+ </xs:element>
2529
+ <xs:element name="Frameworks" minOccurs="0">
2530
+ <xs:annotation>
2531
+ <xs:documentation>This field outlines the frameworks used as part of the target software where the pattern is possible and relevant. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined frameworks which may be currently incomplete and may grow or change as new relevant possibilities are identified.</xs:documentation>
2532
+ </xs:annotation>
2533
+ <xs:complexType>
2534
+ <xs:sequence>
2535
+ <xs:element name="Framework" minOccurs="0" maxOccurs="unbounded">
2536
+ <xs:annotation>
2537
+ <xs:documentation>This field outlines the frameworks used as part of the target software where the pattern is possible and relevant. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined frameworks which may be currently incomplete and may grow or change as new relevant possibilities are identified.</xs:documentation>
2538
+ </xs:annotation>
2539
+ <xs:simpleType>
2540
+ <xs:restriction base="xs:string">
2541
+ <xs:enumeration value="J2EE"/>
2542
+ <xs:enumeration value=".NET"/>
2543
+ <xs:enumeration value="Struts"/>
2544
+ <xs:enumeration value="Spring"/>
2545
+ <xs:enumeration value="Hibernate"/>
2546
+ <xs:enumeration value="Other"/>
2547
+ <xs:enumeration value="All"/>
2548
+ </xs:restriction>
2549
+ </xs:simpleType>
2550
+ </xs:element>
2551
+ </xs:sequence>
2552
+ </xs:complexType>
2553
+ </xs:element>
2554
+ <xs:element name="Platforms" minOccurs="0">
2555
+ <xs:annotation>
2556
+ <xs:documentation>This field outlines the platforms (OS) of the target software where the pattern is possible and relevant. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined platforms which may be currently incomplete and may grow or change as new relevant possibilities are identified.</xs:documentation>
2557
+ </xs:annotation>
2558
+ <xs:complexType>
2559
+ <xs:sequence>
2560
+ <xs:element name="Platform" minOccurs="0" maxOccurs="unbounded">
2561
+ <xs:annotation>
2562
+ <xs:documentation>This field outlines the platforms (OS) of the target software where the pattern is possible and relevant. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined platforms which may be currently incomplete and may grow or change as new relevant possibilities are identified.</xs:documentation>
2563
+ </xs:annotation>
2564
+ <xs:simpleType>
2565
+ <xs:restriction base="xs:string">
2566
+ <xs:enumeration value="Windows"/>
2567
+ <xs:enumeration value="UNIX-LINUX"/>
2568
+ <xs:enumeration value="Solaris"/>
2569
+ <xs:enumeration value="Other"/>
2570
+ <xs:enumeration value="All"/>
2571
+ </xs:restriction>
2572
+ </xs:simpleType>
2573
+ </xs:element>
2574
+ </xs:sequence>
2575
+ </xs:complexType>
2576
+ </xs:element>
2577
+ <xs:element name="Languages" minOccurs="0">
2578
+ <xs:annotation>
2579
+ <xs:documentation>This field outlines the implementation languages of the target software where the pattern is possible and relevant. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined platforms which may be currently incomplete and may grow or change as new relevant possibilities are identified.</xs:documentation>
2580
+ </xs:annotation>
2581
+ <xs:complexType>
2582
+ <xs:sequence>
2583
+ <xs:element name="Language" minOccurs="0" maxOccurs="unbounded">
2584
+ <xs:annotation>
2585
+ <xs:documentation>This field outlines the implementation languages of the target software where the pattern is possible and relevant. In order to assist in normalization and classification, this field involves a selection from an enumerated list of defined platforms which may be currently incomplete and may grow or change as new relevant possibilities are identified.</xs:documentation>
2586
+ </xs:annotation>
2587
+ <xs:simpleType>
2588
+ <xs:restriction base="xs:string">
2589
+ <xs:enumeration value="AJAX"/>
2590
+ <xs:enumeration value="ASP"/>
2591
+ <xs:enumeration value="ASP.NET"/>
2592
+ <xs:enumeration value="C"/>
2593
+ <xs:enumeration value="C++"/>
2594
+ <xs:enumeration value="C#"/>
2595
+ <xs:enumeration value="Java"/>
2596
+ <xs:enumeration value="JSP"/>
2597
+ <xs:enumeration value="PHP"/>
2598
+ <xs:enumeration value="PERL"/>
2599
+ <xs:enumeration value="Ruby"/>
2600
+ <xs:enumeration value="Visual Basic"/>
2601
+ <xs:enumeration value="Other"/>
2602
+ <xs:enumeration value="All"/>
2603
+ </xs:restriction>
2604
+ </xs:simpleType>
2605
+ </xs:element>
2606
+ </xs:sequence>
2607
+ </xs:complexType>
2608
+ </xs:element>
2609
+ </xs:sequence>
2610
+ </xs:complexType>
2611
+ </xs:element>
2612
+ <xs:element name="Keywords" minOccurs="0">
2613
+ <xs:annotation>
2614
+ <xs:documentation>This field is intended to be a catch-all field for assisting in searching and subsecting a collection of patterns according to criteria not contained elsewehre in this schema.</xs:documentation>
2615
+ </xs:annotation>
2616
+ <xs:complexType>
2617
+ <xs:sequence>
2618
+ <xs:element name="Keyword" type="xs:string" maxOccurs="unbounded">
2619
+ <xs:annotation>
2620
+ <xs:documentation>This field contains an individual keyword to be used for tagging and searching.</xs:documentation>
2621
+ </xs:annotation>
2622
+ </xs:element>
2623
+ </xs:sequence>
2624
+ </xs:complexType>
2625
+ </xs:element>
2626
+ <xs:element name="References" minOccurs="0">
2627
+ <xs:annotation>
2628
+ <xs:documentation>This field enumerates reference resources that were used to develop the definition of this attack pattern and those that could prove valuable to the reader looking for further information on this attack.</xs:documentation>
2629
+ </xs:annotation>
2630
+ <xs:complexType>
2631
+ <xs:sequence>
2632
+ <xs:element name="Reference" type="capec:Reference_Type" maxOccurs="unbounded">
2633
+ <xs:annotation>
2634
+ <xs:documentation>This field should describe the reference clearly and unambiguously by name and with some method of address such that the reader can locate the resource for further reference.</xs:documentation>
2635
+ </xs:annotation>
2636
+ </xs:element>
2637
+ </xs:sequence>
2638
+ </xs:complexType>
2639
+ </xs:element>
2640
+ <xs:element ref="capec:Other_Notes" minOccurs="0"/>
2641
+ <xs:element ref="capec:Maintenance_Notes" minOccurs="0"/>
2642
+ <xs:element ref="capec:Content_History" minOccurs="0"/>
2643
+ </xs:sequence>
2644
+ <xs:attribute name="ID" type="xs:integer" use="optional" default="0"/>
2645
+ <xs:attribute name="Name" type="xs:string" use="required"/>
2646
+ <xs:attribute name="Pattern_Completeness">
2647
+ <xs:simpleType>
2648
+ <xs:restriction base="xs:string">
2649
+ <xs:enumeration value="Complete"/>
2650
+ <xs:enumeration value="Stub"/>
2651
+ <xs:enumeration value="Hook"/>
2652
+ </xs:restriction>
2653
+ </xs:simpleType>
2654
+ </xs:attribute>
2655
+ <xs:attribute name="Pattern_Abstraction" use="optional">
2656
+ <xs:simpleType>
2657
+ <xs:restriction base="xs:string">
2658
+ <xs:enumeration value="Meta"/>
2659
+ <xs:enumeration value="Standard"/>
2660
+ <xs:enumeration value="Detailed"/>
2661
+ </xs:restriction>
2662
+ </xs:simpleType>
2663
+ </xs:attribute>
2664
+ <xs:attribute name="Status" type="capec:Status_Type" use="required">
2665
+ <xs:annotation>
2666
+ <xs:documentation> The Status attribute defines the status level for this view.
2667
+ </xs:documentation>
2668
+ </xs:annotation>
2669
+ </xs:attribute>
2670
+ </xs:complexType>
2671
+ </xs:schema>