kriterion 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (564) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +5 -0
  5. data/Dockerfile +18 -0
  6. data/Gemfile +12 -0
  7. data/Gemfile.lock +62 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +58 -0
  10. data/Rakefile +6 -0
  11. data/bin/setup +8 -0
  12. data/bin/update_stigs.rb +42 -0
  13. data/criterion.gemspec +31 -0
  14. data/docker-compose.yml +14 -0
  15. data/exe/kriterion +16 -0
  16. data/lib/kriterion.rb +16 -0
  17. data/lib/kriterion/api.rb +27 -0
  18. data/lib/kriterion/backend.rb +13 -0
  19. data/lib/kriterion/backend/mongodb.rb +235 -0
  20. data/lib/kriterion/cli.rb +28 -0
  21. data/lib/kriterion/cli/api.rb +35 -0
  22. data/lib/kriterion/cli/worker.rb +35 -0
  23. data/lib/kriterion/event.rb +36 -0
  24. data/lib/kriterion/item.rb +42 -0
  25. data/lib/kriterion/logs.rb +14 -0
  26. data/lib/kriterion/metrics.rb +22 -0
  27. data/lib/kriterion/object.rb +50 -0
  28. data/lib/kriterion/report.rb +69 -0
  29. data/lib/kriterion/resource.rb +60 -0
  30. data/lib/kriterion/section.rb +32 -0
  31. data/lib/kriterion/standard.rb +65 -0
  32. data/lib/kriterion/version.rb +3 -0
  33. data/lib/kriterion/worker.rb +280 -0
  34. data/standards/cis_red_hat_enterprise_linux_7.json +34 -0
  35. data/standards/stig_a10_networks_adc_alg.json +209 -0
  36. data/standards/stig_a10_networks_adc_ndm.json +233 -0
  37. data/standards/stig_active_directory_domain.json +257 -0
  38. data/standards/stig_active_directory_forest.json +41 -0
  39. data/standards/stig_active_directory_service_2003.json +173 -0
  40. data/standards/stig_active_directory_service_2008.json +167 -0
  41. data/standards/stig_adobe_acrobat_pro_xi.json +167 -0
  42. data/standards/stig_adobe_acrobat_reader_dc_classic_track.json +179 -0
  43. data/standards/stig_adobe_acrobat_reader_dc_continuous_track.json +179 -0
  44. data/standards/stig_adobe_coldfusion_11.json +611 -0
  45. data/standards/stig_airwatch_mdm.json +185 -0
  46. data/standards/stig_aix_5.3.json +3095 -0
  47. data/standards/stig_aix_6.1.json +3047 -0
  48. data/standards/stig_akamai_ksd_service_impact_level_2_alg.json +209 -0
  49. data/standards/stig_akamai_ksd_service_impact_level_2_ndm.json +155 -0
  50. data/standards/stig_android_2.2_dell.json +311 -0
  51. data/standards/stig_apache_2.2_serverwindows.json +347 -0
  52. data/standards/stig_apache_2.2_sitewindows_security_implementation_guide.json +179 -0
  53. data/standards/stig_apache_server_2.0unix.json +341 -0
  54. data/standards/stig_apache_server_2.0windows.json +341 -0
  55. data/standards/stig_apache_server_2.2unix.json +347 -0
  56. data/standards/stig_apache_server_2.2windows.json +347 -0
  57. data/standards/stig_apache_site_2.0unix.json +185 -0
  58. data/standards/stig_apache_site_2.0windows.json +179 -0
  59. data/standards/stig_apache_site_2.2unix.json +185 -0
  60. data/standards/stig_apache_site_2.2windows.json +179 -0
  61. data/standards/stig_apple_ios6.json +341 -0
  62. data/standards/stig_apple_ios_10.json +245 -0
  63. data/standards/stig_apple_ios_11.json +269 -0
  64. data/standards/stig_apple_ios_4_good_mobility_suite_interim_security_configuration_guide_iscg.json +257 -0
  65. data/standards/stig_apple_ios_5.json +329 -0
  66. data/standards/stig_apple_ios_6.json +335 -0
  67. data/standards/stig_apple_ios_6_interim_security_configuration_guide_iscg.json +371 -0
  68. data/standards/stig_apple_ios_7.json +185 -0
  69. data/standards/stig_apple_ios_8_interim_security_configuration_guide.json +251 -0
  70. data/standards/stig_apple_ios_9_interim_security_configuration_guide.json +245 -0
  71. data/standards/stig_apple_os_x_10.10_yosemite_workstation.json +851 -0
  72. data/standards/stig_apple_os_x_10.11.json +725 -0
  73. data/standards/stig_apple_os_x_10.12.json +737 -0
  74. data/standards/stig_apple_os_x_10.8_mountain_lion_workstation.json +1241 -0
  75. data/standards/stig_apple_os_x_10.9_mavericks_workstation.json +809 -0
  76. data/standards/stig_application_layer_gateway_alg_security_requirements_guide_srg.json +911 -0
  77. data/standards/stig_application_layer_gateway_security_requirements_guide.json +911 -0
  78. data/standards/stig_application_security_and_development.json +1745 -0
  79. data/standards/stig_application_security_and_development_checklist.json +959 -0
  80. data/standards/stig_application_security_requirements_guide.json +1961 -0
  81. data/standards/stig_application_server_security_requirements_guide.json +791 -0
  82. data/standards/stig_arcgisserver_10.3.json +143 -0
  83. data/standards/stig_arista_mls_dcs-7000_series_l2s.json +53 -0
  84. data/standards/stig_arista_mls_dcs-7000_series_ndm.json +197 -0
  85. data/standards/stig_arista_mls_dcs-7000_series_rtr.json +143 -0
  86. data/standards/stig_bind_9.x.json +431 -0
  87. data/standards/stig_bind_dns.json +317 -0
  88. data/standards/stig_blackberry_10.2.x_os.json +179 -0
  89. data/standards/stig_blackberry_10_os.json +227 -0
  90. data/standards/stig_blackberry_bes_12.3.x_mdm.json +65 -0
  91. data/standards/stig_blackberry_bes_12.5.x_mdm.json +65 -0
  92. data/standards/stig_blackberry_device_service_6.2.json +425 -0
  93. data/standards/stig_blackberry_enterprise_mobility_server_2.x.json +149 -0
  94. data/standards/stig_blackberry_enterprise_server,_part_1.json +35 -0
  95. data/standards/stig_blackberry_enterprise_server,_part_2.json +155 -0
  96. data/standards/stig_blackberry_enterprise_server,_part_3.json +647 -0
  97. data/standards/stig_blackberry_enterprise_server_version_5.x,_part_1.json +35 -0
  98. data/standards/stig_blackberry_enterprise_server_version_5.x,_part_2.json +155 -0
  99. data/standards/stig_blackberry_enterprise_server_version_5.x,_part_3.json +653 -0
  100. data/standards/stig_blackberry_enterprise_service_v10.1.x_blackberry_device_service.json +317 -0
  101. data/standards/stig_blackberry_enterprise_service_v10.2.x_blackberry_device_service.json +263 -0
  102. data/standards/stig_blackberry_handheld_device.json +125 -0
  103. data/standards/stig_blackberry_os_10.3.x.json +257 -0
  104. data/standards/stig_blackberry_os_7.x.json +107 -0
  105. data/standards/stig_blackberry_os_7.x.x.json +101 -0
  106. data/standards/stig_blackberry_os_version_5-7.json +107 -0
  107. data/standards/stig_blackberry_playbook.json +65 -0
  108. data/standards/stig_blackberry_playbook_os_nea_mode.json +65 -0
  109. data/standards/stig_blackberry_playbook_os_v2.1.json +197 -0
  110. data/standards/stig_blackberry_uem_12.7.json +59 -0
  111. data/standards/stig_bluetoothzigbee.json +35 -0
  112. data/standards/stig_ca_api_gateway_alg.json +497 -0
  113. data/standards/stig_cisco_css_dns.json +71 -0
  114. data/standards/stig_cisco_ios_xe_release_3_ndm.json +395 -0
  115. data/standards/stig_cisco_ios_xe_release_3_rtr.json +149 -0
  116. data/standards/stig_cmd_management_server_policy.json +53 -0
  117. data/standards/stig_commercial_mobile_device_cmd_policy.json +83 -0
  118. data/standards/stig_csfc_campus_wlan_policy_security_implementation_guide.json +95 -0
  119. data/standards/stig_database_security_requirements_guide.json +767 -0
  120. data/standards/stig_dbn-6300_idps.json +107 -0
  121. data/standards/stig_dbn-6300_ndm.json +359 -0
  122. data/standards/stig_defense_switched_network.json +683 -0
  123. data/standards/stig_defense_switched_network_dsn.json +653 -0
  124. data/standards/stig_desktop_applications_general.json +41 -0
  125. data/standards/stig_dns_policy.json +155 -0
  126. data/standards/stig_domain_name_system_dns_security_requirements_guide.json +599 -0
  127. data/standards/stig_draft_aix.json +3503 -0
  128. data/standards/stig_edb_postgres_advanced_server.json +665 -0
  129. data/standards/stig_email_services_policy.json +137 -0
  130. data/standards/stig_exchange_2010_client_access_server.json +179 -0
  131. data/standards/stig_exchange_2010_edge_transport_server.json +389 -0
  132. data/standards/stig_exchange_2010_hub_transport_server.json +269 -0
  133. data/standards/stig_exchange_2010_mailbox_server.json +209 -0
  134. data/standards/stig_f5_big-ip_access_policy_manager_11.x.json +149 -0
  135. data/standards/stig_f5_big-ip_advanced_firewall_manager_11.x.json +41 -0
  136. data/standards/stig_f5_big-ip_application_security_manager_11.x.json +89 -0
  137. data/standards/stig_f5_big-ip_device_management_11.x.json +467 -0
  138. data/standards/stig_f5_big-ip_local_traffic_manager_11.x.json +407 -0
  139. data/standards/stig_final_draft_general_wireless_policy.json +71 -0
  140. data/standards/stig_firewall.json +449 -0
  141. data/standards/stig_firewall_-_cisco.json +449 -0
  142. data/standards/stig_firewall_security_requirements_guide.json +257 -0
  143. data/standards/stig_forescout_counteract_alg.json +83 -0
  144. data/standards/stig_forescout_counteract_ndm.json +239 -0
  145. data/standards/stig_free_space_optics_device.json +143 -0
  146. data/standards/stig_general_mobile_device_policy_non-enterprise_activated.json +113 -0
  147. data/standards/stig_general_mobile_device_technical_non-enterprise_activated.json +59 -0
  148. data/standards/stig_general_purpose_operating_system_srg.json +1199 -0
  149. data/standards/stig_general_wireless_policy.json +71 -0
  150. data/standards/stig_good_mobility_suite_server_android_os.json +203 -0
  151. data/standards/stig_good_mobility_suite_server_apple_ios_4_interim_security_configuration_guide_iscg.json +209 -0
  152. data/standards/stig_good_mobility_suite_server_windows_phone_6.5.json +449 -0
  153. data/standards/stig_goodenterprise_8.x.json +401 -0
  154. data/standards/stig_google_chrome_browser.json +209 -0
  155. data/standards/stig_google_chrome_current_windows.json +215 -0
  156. data/standards/stig_google_chrome_draft.json +281 -0
  157. data/standards/stig_google_chrome_v23_windows.json +275 -0
  158. data/standards/stig_google_chrome_v24_windows.json +263 -0
  159. data/standards/stig_google_chrome_v24_windows_benchmark.json +227 -0
  160. data/standards/stig_google_search_appliance.json +209 -0
  161. data/standards/stig_harris_secnet_11_54.json +89 -0
  162. data/standards/stig_hp-ux_11.23.json +3215 -0
  163. data/standards/stig_hp-ux_11.31.json +3155 -0
  164. data/standards/stig_hp-ux_smse.json +431 -0
  165. data/standards/stig_hpe_3par_storeserv_3.2.x.json +131 -0
  166. data/standards/stig_ibm_datapower_alg.json +401 -0
  167. data/standards/stig_ibm_datapower_network_device_management.json +395 -0
  168. data/standards/stig_ibm_db2_v10.5_luw.json +575 -0
  169. data/standards/stig_ibm_hardware_management_console_hmc.json +221 -0
  170. data/standards/stig_ibm_hardware_management_console_hmc_policies.json +35 -0
  171. data/standards/stig_ibm_maas360_v2.3.x_mdm.json +59 -0
  172. data/standards/stig_ibm_zvm_using_ca_vm:secure.json +473 -0
  173. data/standards/stig_idps_security_requirements_guide_srg.json +1865 -0
  174. data/standards/stig_idsips.json +257 -0
  175. data/standards/stig_iis6_server.json +221 -0
  176. data/standards/stig_iis6_site.json +263 -0
  177. data/standards/stig_iis_7.0_web_server.json +155 -0
  178. data/standards/stig_iis_7.0_web_site.json +299 -0
  179. data/standards/stig_iis_8.5_server.json +293 -0
  180. data/standards/stig_iis_8.5_site.json +347 -0
  181. data/standards/stig_infoblox_7.x_dns.json +419 -0
  182. data/standards/stig_infrastructure_l3_switch.json +599 -0
  183. data/standards/stig_infrastructure_l3_switch_-_cisco.json +659 -0
  184. data/standards/stig_infrastructure_l3_switch_secure_technical_implementation_guide_-_cisco.json +659 -0
  185. data/standards/stig_infrastructure_router.json +479 -0
  186. data/standards/stig_infrastructure_router_-_cisco.json +539 -0
  187. data/standards/stig_infrastructure_router_-_juniper.json +485 -0
  188. data/standards/stig_infrastructure_router__cisco.json +539 -0
  189. data/standards/stig_infrastructure_router__juniper.json +485 -0
  190. data/standards/stig_internet_explorer_8.json +821 -0
  191. data/standards/stig_internet_explorer_9.json +815 -0
  192. data/standards/stig_intrusion_detection_and_prevention_systems_idps_security_requirements_guide.json +371 -0
  193. data/standards/stig_ipsec_vpn_gateway.json +521 -0
  194. data/standards/stig_java_runtime_environment_jre_6_unix.json +65 -0
  195. data/standards/stig_java_runtime_environment_jre_6_win7.json +65 -0
  196. data/standards/stig_java_runtime_environment_jre_6_windows_xp.json +77 -0
  197. data/standards/stig_java_runtime_environment_jre_6_winxp.json +65 -0
  198. data/standards/stig_java_runtime_environment_jre_7_unix.json +65 -0
  199. data/standards/stig_java_runtime_environment_jre_7_win7.json +65 -0
  200. data/standards/stig_java_runtime_environment_jre_7_winxp.json +65 -0
  201. data/standards/stig_java_runtime_environment_jre_version_6_unix.json +77 -0
  202. data/standards/stig_java_runtime_environment_jre_version_6_windows_7.json +77 -0
  203. data/standards/stig_java_runtime_environment_jre_version_6_windows_xp.json +65 -0
  204. data/standards/stig_java_runtime_environment_jre_version_7_unix.json +77 -0
  205. data/standards/stig_java_runtime_environment_jre_version_7_windows_7.json +77 -0
  206. data/standards/stig_java_runtime_environment_jre_version_7_winxp.json +77 -0
  207. data/standards/stig_java_runtime_environment_jre_version_8_unix.json +107 -0
  208. data/standards/stig_java_runtime_environment_jre_version_8_windows.json +107 -0
  209. data/standards/stig_jboss_eap_6.3.json +413 -0
  210. data/standards/stig_juniper_srx_sg_alg.json +155 -0
  211. data/standards/stig_juniper_srx_sg_idps.json +179 -0
  212. data/standards/stig_juniper_srx_sg_ndm.json +443 -0
  213. data/standards/stig_juniper_srx_sg_vpn.json +185 -0
  214. data/standards/stig_keyboard_video_and_mouse_switch.json +269 -0
  215. data/standards/stig_l3_kov-26_talon_wireless_role.json +77 -0
  216. data/standards/stig_layer_2_switch.json +347 -0
  217. data/standards/stig_layer_2_switch_-_cisco.json +365 -0
  218. data/standards/stig_lg_android_5.x_interim_security_configuration_guide.json +245 -0
  219. data/standards/stig_lg_android_6.x.json +281 -0
  220. data/standards/stig_mac_osx_10.6_workstation.json +1319 -0
  221. data/standards/stig_mac_osx_10.6_workstation_draft.json +1319 -0
  222. data/standards/stig_mainframe_product_security_requirements_guide.json +1115 -0
  223. data/standards/stig_mcafee_application_control_7.x.json +203 -0
  224. data/standards/stig_mcafee_move_2.63.6.1_multi-platform_client.json +149 -0
  225. data/standards/stig_mcafee_move_2.63.6.1_multi-platform_oss.json +101 -0
  226. data/standards/stig_mcafee_move_2.6_multi-platform_client.json +149 -0
  227. data/standards/stig_mcafee_move_2.6_multi-platform_oss.json +101 -0
  228. data/standards/stig_mcafee_move_3.6.1_multi-platform_client.json +149 -0
  229. data/standards/stig_mcafee_move_3.6.1_multi-platform_oss.json +101 -0
  230. data/standards/stig_mcafee_move_agentless_3.03.6.1_security_virtual_appliance.json +167 -0
  231. data/standards/stig_mcafee_move_agentless_3.0_security_virtual_appliance.json +167 -0
  232. data/standards/stig_mcafee_move_agentless_3.0_vsel_1.9sva.json +203 -0
  233. data/standards/stig_mcafee_move_agentless_3.6.1_security_virtual_appliance.json +167 -0
  234. data/standards/stig_mcafee_move_av_agentless_4.5.json +155 -0
  235. data/standards/stig_mcafee_move_av_multi-platform_4.5.json +215 -0
  236. data/standards/stig_mcafee_virusscan_8.8_local_client.json +533 -0
  237. data/standards/stig_mcafee_virusscan_8.8_managed_client.json +533 -0
  238. data/standards/stig_mcafee_vsel_1.92.0_local_client.json +245 -0
  239. data/standards/stig_mcafee_vsel_1.92.0_managed_client.json +239 -0
  240. data/standards/stig_mdm_server_policy.json +47 -0
  241. data/standards/stig_microsoft_access_2003.json +47 -0
  242. data/standards/stig_microsoft_access_2007.json +77 -0
  243. data/standards/stig_microsoft_access_2010.json +119 -0
  244. data/standards/stig_microsoft_access_2013.json +113 -0
  245. data/standards/stig_microsoft_access_2016.json +107 -0
  246. data/standards/stig_microsoft_dot_net_framework_4.0.json +101 -0
  247. data/standards/stig_microsoft_excel_2003.json +47 -0
  248. data/standards/stig_microsoft_excel_2007.json +155 -0
  249. data/standards/stig_microsoft_excel_2010.json +287 -0
  250. data/standards/stig_microsoft_excel_2013.json +293 -0
  251. data/standards/stig_microsoft_excel_2016.json +257 -0
  252. data/standards/stig_microsoft_exchange_2010_client_access_server_role.json +71 -0
  253. data/standards/stig_microsoft_exchange_2010_core_server.json +47 -0
  254. data/standards/stig_microsoft_exchange_2010_edge_transport_server_role.json +233 -0
  255. data/standards/stig_microsoft_exchange_2010_hub_transport_server_role.json +125 -0
  256. data/standards/stig_microsoft_exchange_2010_mailbox_server_role.json +107 -0
  257. data/standards/stig_microsoft_exchange_server_2003.json +647 -0
  258. data/standards/stig_microsoft_groove_2013.json +71 -0
  259. data/standards/stig_microsoft_ie_version_6.json +599 -0
  260. data/standards/stig_microsoft_ie_version_7.json +749 -0
  261. data/standards/stig_microsoft_infopath_2003.json +41 -0
  262. data/standards/stig_microsoft_infopath_2007.json +167 -0
  263. data/standards/stig_microsoft_infopath_2010.json +155 -0
  264. data/standards/stig_microsoft_infopath_2013.json +149 -0
  265. data/standards/stig_microsoft_internet_explorer_10.json +857 -0
  266. data/standards/stig_microsoft_internet_explorer_11.json +839 -0
  267. data/standards/stig_microsoft_internet_explorer_9.json +821 -0
  268. data/standards/stig_microsoft_lync_2013.json +29 -0
  269. data/standards/stig_microsoft_office_system_2007.json +221 -0
  270. data/standards/stig_microsoft_office_system_2010.json +233 -0
  271. data/standards/stig_microsoft_office_system_2013.json +293 -0
  272. data/standards/stig_microsoft_office_system_2016.json +131 -0
  273. data/standards/stig_microsoft_onedrivebusiness_2016.json +89 -0
  274. data/standards/stig_microsoft_onenote_2010.json +77 -0
  275. data/standards/stig_microsoft_onenote_2013.json +71 -0
  276. data/standards/stig_microsoft_onenote_2016.json +71 -0
  277. data/standards/stig_microsoft_outlook_2003.json +65 -0
  278. data/standards/stig_microsoft_outlook_2007.json +479 -0
  279. data/standards/stig_microsoft_outlook_2010.json +515 -0
  280. data/standards/stig_microsoft_outlook_2013.json +497 -0
  281. data/standards/stig_microsoft_outlook_2016.json +359 -0
  282. data/standards/stig_microsoft_powerpoint_2003.json +47 -0
  283. data/standards/stig_microsoft_powerpoint_2007.json +131 -0
  284. data/standards/stig_microsoft_powerpoint_2010.json +191 -0
  285. data/standards/stig_microsoft_powerpoint_2013.json +251 -0
  286. data/standards/stig_microsoft_powerpoint_2016.json +233 -0
  287. data/standards/stig_microsoft_project_2010.json +83 -0
  288. data/standards/stig_microsoft_project_2013.json +95 -0
  289. data/standards/stig_microsoft_project_2016.json +95 -0
  290. data/standards/stig_microsoft_publisher_2010.json +107 -0
  291. data/standards/stig_microsoft_publisher_2013.json +101 -0
  292. data/standards/stig_microsoft_publisher_2016.json +101 -0
  293. data/standards/stig_microsoft_sharepoint_designer_2013.json +71 -0
  294. data/standards/stig_microsoft_skypebusiness_2016.json +29 -0
  295. data/standards/stig_microsoft_sql_server_2005_database.json +167 -0
  296. data/standards/stig_microsoft_sql_server_2005_instance.json +1001 -0
  297. data/standards/stig_microsoft_sql_server_2012_database.json +179 -0
  298. data/standards/stig_microsoft_sql_server_2012_database_instance.json +929 -0
  299. data/standards/stig_microsoft_visio_2013.json +89 -0
  300. data/standards/stig_microsoft_visio_2016.json +89 -0
  301. data/standards/stig_microsoft_windows_10_mobile.json +215 -0
  302. data/standards/stig_microsoft_windows_2008_server_domain_name_system.json +269 -0
  303. data/standards/stig_microsoft_windows_2012_server_domain_name_system.json +551 -0
  304. data/standards/stig_microsoft_windows_phone_8.1.json +161 -0
  305. data/standards/stig_microsoft_windows_server_2012_domain_controller.json +2633 -0
  306. data/standards/stig_microsoft_windows_server_2012_member_server.json +2411 -0
  307. data/standards/stig_microsoft_word_2003.json +47 -0
  308. data/standards/stig_microsoft_word_2007.json +119 -0
  309. data/standards/stig_microsoft_word_2010.json +221 -0
  310. data/standards/stig_microsoft_word_2013.json +221 -0
  311. data/standards/stig_microsoft_word_2016.json +215 -0
  312. data/standards/stig_mobile_application_management_mam_server.json +95 -0
  313. data/standards/stig_mobile_application_security_requirements_guide.json +233 -0
  314. data/standards/stig_mobile_device_integrity_scanning_mdis_server.json +119 -0
  315. data/standards/stig_mobile_device_management_mdm_server.json +125 -0
  316. data/standards/stig_mobile_device_manager_security_requirements_guide.json +2555 -0
  317. data/standards/stig_mobile_email_management_mem_server.json +197 -0
  318. data/standards/stig_mobile_operating_system_security_requirements_guide.json +1943 -0
  319. data/standards/stig_mobile_policy.json +35 -0
  320. data/standards/stig_mobile_policy_security_requirements_guide.json +437 -0
  321. data/standards/stig_mobileiron_core_v9.x_mdm.json +89 -0
  322. data/standards/stig_mobility_policy.json +65 -0
  323. data/standards/stig_mozilla_firefox.json +161 -0
  324. data/standards/stig_ms_exchange_2013_client_access_server.json +209 -0
  325. data/standards/stig_ms_exchange_2013_edge_transport_server.json +443 -0
  326. data/standards/stig_ms_exchange_2013_mailbox_server.json +437 -0
  327. data/standards/stig_ms_sharepoint_2010.json +269 -0
  328. data/standards/stig_ms_sharepoint_2013.json +245 -0
  329. data/standards/stig_ms_sharepoint_designer_2013.json +71 -0
  330. data/standards/stig_ms_sql_server_2014_database.json +263 -0
  331. data/standards/stig_ms_sql_server_2014_instance.json +575 -0
  332. data/standards/stig_ms_sql_server_2016_database.json +185 -0
  333. data/standards/stig_ms_sql_server_2016_instance.json +731 -0
  334. data/standards/stig_ms_windows_defender_antivirus.json +257 -0
  335. data/standards/stig_multifunction_device_and_network_printers.json +131 -0
  336. data/standards/stig_network_device_management_security_requirements_guide.json +863 -0
  337. data/standards/stig_network_devices.json +389 -0
  338. data/standards/stig_network_infrastructure_policy.json +455 -0
  339. data/standards/stig_network_security_requirements_guide.json +1961 -0
  340. data/standards/stig_operating_system_security_requirements_guide.json +1961 -0
  341. data/standards/stig_oracle_10_database_installation.json +527 -0
  342. data/standards/stig_oracle_10_database_instance.json +569 -0
  343. data/standards/stig_oracle_11_database_installation.json +527 -0
  344. data/standards/stig_oracle_11_database_instance.json +551 -0
  345. data/standards/stig_oracle_database_10g_installation.json +527 -0
  346. data/standards/stig_oracle_database_10g_instance.json +581 -0
  347. data/standards/stig_oracle_database_11.2g.json +1229 -0
  348. data/standards/stig_oracle_database_11g_installation.json +527 -0
  349. data/standards/stig_oracle_database_11g_instance.json +575 -0
  350. data/standards/stig_oracle_database_12c.json +1217 -0
  351. data/standards/stig_oracle_http_server_12.1.3.json +1703 -0
  352. data/standards/stig_oracle_linux_5.json +3431 -0
  353. data/standards/stig_oracle_linux_6.json +1583 -0
  354. data/standards/stig_oracle_weblogic_server_12c.json +443 -0
  355. data/standards/stig_palo_alto_networks_alg.json +311 -0
  356. data/standards/stig_palo_alto_networks_idps.json +185 -0
  357. data/standards/stig_palo_alto_networks_ndm.json +251 -0
  358. data/standards/stig_pda.json +83 -0
  359. data/standards/stig_pdasmartphone.json +95 -0
  360. data/standards/stig_perimeter_l3_switch.json +923 -0
  361. data/standards/stig_perimeter_l3_switch_-_cisco.json +1001 -0
  362. data/standards/stig_perimeter_router.json +803 -0
  363. data/standards/stig_perimeter_router_cisco.json +881 -0
  364. data/standards/stig_perimeter_router_juniper.json +803 -0
  365. data/standards/stig_postgresql_9.x.json +677 -0
  366. data/standards/stig_red_hat_enterprise_linux_5.json +3437 -0
  367. data/standards/stig_red_hat_enterprise_linux_6.json +1565 -0
  368. data/standards/stig_red_hat_enterprise_linux_7.json +1451 -0
  369. data/standards/stig_remote_access_policy.json +317 -0
  370. data/standards/stig_removable_storage_and_external_connection_technologies.json +143 -0
  371. data/standards/stig_removable_storage_and_external_connections.json +137 -0
  372. data/standards/stig_rfid_scanner.json +35 -0
  373. data/standards/stig_rfid_workstation.json +23 -0
  374. data/standards/stig_riverbed_steelhead_cx_v8_alg.json +83 -0
  375. data/standards/stig_riverbed_steelhead_cx_v8_ndm.json +371 -0
  376. data/standards/stig_router_security_requirements_guide.json +575 -0
  377. data/standards/stig_samsung_android_os_5_with_knox_2.0.json +365 -0
  378. data/standards/stig_samsung_android_os_6_with_knox_2.x.json +377 -0
  379. data/standards/stig_samsung_android_os_7_with_knox_2.x.json +443 -0
  380. data/standards/stig_samsung_android_with_knox_1.x.json +293 -0
  381. data/standards/stig_samsung_android_with_knox_2.x.json +371 -0
  382. data/standards/stig_samsung_knox_android_1.0.json +167 -0
  383. data/standards/stig_sharepoint_2010.json +269 -0
  384. data/standards/stig_sharepoint_2013.json +245 -0
  385. data/standards/stig_smartphone_policy.json +131 -0
  386. data/standards/stig_solaris_10_sparc.json +3029 -0
  387. data/standards/stig_solaris_10_x86.json +3065 -0
  388. data/standards/stig_solaris_11_sparc.json +1427 -0
  389. data/standards/stig_solaris_11_x86.json +1421 -0
  390. data/standards/stig_solaris_9_sparc.json +2915 -0
  391. data/standards/stig_solaris_9_x86.json +2915 -0
  392. data/standards/stig_sun_ray_4.json +185 -0
  393. data/standards/stig_sun_ray_4_policy.json +77 -0
  394. data/standards/stig_suse_linux_enterprise_server_v11system_z.json +3311 -0
  395. data/standards/stig_symantec_endpoint_protection_12.1_local_client_antivirus.json +689 -0
  396. data/standards/stig_symantec_endpoint_protection_12.1_managed_client_antivirus.json +695 -0
  397. data/standards/stig_tanium_6.5.json +461 -0
  398. data/standards/stig_tanium_7.0.json +803 -0
  399. data/standards/stig_test_and_development_zone_a.json +167 -0
  400. data/standards/stig_test_and_development_zone_b.json +179 -0
  401. data/standards/stig_test_and_development_zone_c.json +143 -0
  402. data/standards/stig_test_and_development_zone_d.json +143 -0
  403. data/standards/stig_traditional_security.json +917 -0
  404. data/standards/stig_unix_srg.json +3287 -0
  405. data/standards/stig_video_services_policy.json +497 -0
  406. data/standards/stig_video_teleconference.json +47 -0
  407. data/standards/stig_video_teleconference_vtc.json +12 -0
  408. data/standards/stig_vmware_esx_3_policy.json +155 -0
  409. data/standards/stig_vmware_esx_3_server.json +3791 -0
  410. data/standards/stig_vmware_esx_3_virtual_center.json +257 -0
  411. data/standards/stig_vmware_esx_3_virtual_machine.json +53 -0
  412. data/standards/stig_vmware_esxi_server_5.0.json +809 -0
  413. data/standards/stig_vmware_esxi_v5.json +5177 -0
  414. data/standards/stig_vmware_esxi_version_5_virtual_machine.json +317 -0
  415. data/standards/stig_vmware_nsx_distributed_firewall.json +83 -0
  416. data/standards/stig_vmware_nsx_distributed_logical_router.json +35 -0
  417. data/standards/stig_vmware_nsx_manager.json +191 -0
  418. data/standards/stig_vmware_vcenter_server.json +179 -0
  419. data/standards/stig_vmware_vcenter_server_version_5.json +149 -0
  420. data/standards/stig_vmware_vsphere_esxi_6.0.json +659 -0
  421. data/standards/stig_vmware_vsphere_vcenter_server_version_6.json +311 -0
  422. data/standards/stig_vmware_vsphere_virtual_machine_version_6.json +269 -0
  423. data/standards/stig_voice_and_video_over_internet_protocol_vvoip_policy.json +407 -0
  424. data/standards/stig_voice_video_endpoint_security_requirements_guide.json +395 -0
  425. data/standards/stig_voice_video_services_policy.json +671 -0
  426. data/standards/stig_voice_video_session_management_security_requirements_guide.json +329 -0
  427. data/standards/stig_voicevideo_over_internet_protocol.json +419 -0
  428. data/standards/stig_voicevideo_over_internet_protocol_vvoip.json +263 -0
  429. data/standards/stig_voicevideo_services_policy.json +569 -0
  430. data/standards/stig_web_policy.json +95 -0
  431. data/standards/stig_web_server.json +317 -0
  432. data/standards/stig_web_server_security_requirements_guide.json +587 -0
  433. data/standards/stig_win2k3_audit.json +761 -0
  434. data/standards/stig_win2k8_audit.json +1085 -0
  435. data/standards/stig_win2k8_r2_audit.json +1637 -0
  436. data/standards/stig_win7_audit.json +1613 -0
  437. data/standards/stig_windows_10.json +1691 -0
  438. data/standards/stig_windows_2003_domain_controller.json +893 -0
  439. data/standards/stig_windows_2003_member_server.json +845 -0
  440. data/standards/stig_windows_2008_domain_controller.json +1475 -0
  441. data/standards/stig_windows_2008_member_server.json +1301 -0
  442. data/standards/stig_windows_7.json +1781 -0
  443. data/standards/stig_windows_8.json +2399 -0
  444. data/standards/stig_windows_88.1.json +2273 -0
  445. data/standards/stig_windows_8_8.1.json +2297 -0
  446. data/standards/stig_windows_defender_antivirus.json +239 -0
  447. data/standards/stig_windows_dns.json +185 -0
  448. data/standards/stig_windows_firewall_with_advanced_security.json +137 -0
  449. data/standards/stig_windows_paw.json +155 -0
  450. data/standards/stig_windows_phone_6.5_with_good_mobility_suite.json +65 -0
  451. data/standards/stig_windows_server_2008_r2_domain_controller.json +1961 -0
  452. data/standards/stig_windows_server_2008_r2_member_server.json +1745 -0
  453. data/standards/stig_windows_server_20122012_r2_domain_controller.json +2255 -0
  454. data/standards/stig_windows_server_20122012_r2_member_server.json +2045 -0
  455. data/standards/stig_windows_server_2012_2012_r2_domain_controller.json +2279 -0
  456. data/standards/stig_windows_server_2012_2012_r2_member_server.json +2075 -0
  457. data/standards/stig_windows_server_2012_domain_controller.json +2471 -0
  458. data/standards/stig_windows_server_2012_member_server.json +2249 -0
  459. data/standards/stig_windows_server_2016.json +1661 -0
  460. data/standards/stig_windows_vista.json +1517 -0
  461. data/standards/stig_windows_xp.json +893 -0
  462. data/standards/stig_wireless_keyboard_and_mouse.json +23 -0
  463. data/standards/stig_wireless_management_server_policy.json +53 -0
  464. data/standards/stig_wireless_remote_access_policy_security_implementation_guide.json +29 -0
  465. data/standards/stig_wlan_access_point_enclave-niprnet_connected.json +227 -0
  466. data/standards/stig_wlan_access_point_internet_gateway_only_connection.json +209 -0
  467. data/standards/stig_wlan_access_point_policy.json +17 -0
  468. data/standards/stig_wlan_authentication_server.json +29 -0
  469. data/standards/stig_wlan_bridge.json +209 -0
  470. data/standards/stig_wlan_client.json +65 -0
  471. data/standards/stig_wlan_controller.json +215 -0
  472. data/standards/stig_wlan_ids_sensorserver.json +23 -0
  473. data/standards/stig_wman_access_point.json +263 -0
  474. data/standards/stig_wman_bridge.json +209 -0
  475. data/standards/stig_wman_subscriber.json +65 -0
  476. data/standards/stig_zos_acf2.json +1451 -0
  477. data/standards/stig_zos_bmc_control-dacf2.json +53 -0
  478. data/standards/stig_zos_bmc_control-dracf.json +59 -0
  479. data/standards/stig_zos_bmc_control-dtss.json +65 -0
  480. data/standards/stig_zos_bmc_control-macf2.json +59 -0
  481. data/standards/stig_zos_bmc_control-mracf.json +65 -0
  482. data/standards/stig_zos_bmc_control-mrestartacf2.json +23 -0
  483. data/standards/stig_zos_bmc_control-mrestartracf.json +23 -0
  484. data/standards/stig_zos_bmc_control-mrestarttss.json +23 -0
  485. data/standards/stig_zos_bmc_control-mtss.json +71 -0
  486. data/standards/stig_zos_bmc_control-oacf2.json +53 -0
  487. data/standards/stig_zos_bmc_control-oracf.json +59 -0
  488. data/standards/stig_zos_bmc_control-otss.json +65 -0
  489. data/standards/stig_zos_bmc_ioaacf2.json +53 -0
  490. data/standards/stig_zos_bmc_ioaracf.json +59 -0
  491. data/standards/stig_zos_bmc_ioatss.json +65 -0
  492. data/standards/stig_zos_bmc_mainviewzosacf2.json +47 -0
  493. data/standards/stig_zos_bmc_mainviewzosracf.json +53 -0
  494. data/standards/stig_zos_bmc_mainviewzostss.json +59 -0
  495. data/standards/stig_zos_ca_1_tape_managementacf2.json +65 -0
  496. data/standards/stig_zos_ca_1_tape_managementracf.json +77 -0
  497. data/standards/stig_zos_ca_1_tape_managementtss.json +77 -0
  498. data/standards/stig_zos_ca_auditoracf2.json +29 -0
  499. data/standards/stig_zos_ca_auditorracf.json +29 -0
  500. data/standards/stig_zos_ca_auditortss.json +29 -0
  501. data/standards/stig_zos_ca_common_servicesacf2.json +23 -0
  502. data/standards/stig_zos_ca_common_servicesracf.json +29 -0
  503. data/standards/stig_zos_ca_common_servicestss.json +29 -0
  504. data/standards/stig_zos_ca_micsacf2.json +23 -0
  505. data/standards/stig_zos_ca_micsracf.json +23 -0
  506. data/standards/stig_zos_ca_micstss.json +23 -0
  507. data/standards/stig_zos_ca_mimacf2.json +41 -0
  508. data/standards/stig_zos_ca_mimracf.json +47 -0
  509. data/standards/stig_zos_ca_mimtss.json +47 -0
  510. data/standards/stig_zos_ca_vtapeacf2.json +29 -0
  511. data/standards/stig_zos_ca_vtaperacf.json +35 -0
  512. data/standards/stig_zos_ca_vtapetss.json +35 -0
  513. data/standards/stig_zos_catalog_solutionsacf2.json +23 -0
  514. data/standards/stig_zos_catalog_solutionsracf.json +23 -0
  515. data/standards/stig_zos_catalog_solutionstss.json +23 -0
  516. data/standards/stig_zos_clsupersessionacf2.json +53 -0
  517. data/standards/stig_zos_clsupersessionracf.json +65 -0
  518. data/standards/stig_zos_clsupersessiontss.json +71 -0
  519. data/standards/stig_zos_compuware_abend-aidacf2.json +47 -0
  520. data/standards/stig_zos_compuware_abend-aidracf.json +53 -0
  521. data/standards/stig_zos_compuware_abend-aidtss.json +53 -0
  522. data/standards/stig_zos_cssmtpacf2.json +23 -0
  523. data/standards/stig_zos_cssmtpracf.json +29 -0
  524. data/standards/stig_zos_cssmtptss.json +29 -0
  525. data/standards/stig_zos_fdracf2.json +23 -0
  526. data/standards/stig_zos_fdrracf.json +23 -0
  527. data/standards/stig_zos_fdrtss.json +23 -0
  528. data/standards/stig_zos_hcdacf2.json +29 -0
  529. data/standards/stig_zos_hcdracf.json +29 -0
  530. data/standards/stig_zos_hcdtss.json +29 -0
  531. data/standards/stig_zos_ibm_cics_transaction_serveracf2.json +17 -0
  532. data/standards/stig_zos_ibm_cics_transaction_serverracf.json +17 -0
  533. data/standards/stig_zos_ibm_cics_transaction_servertss.json +17 -0
  534. data/standards/stig_zos_ibm_health_checkeracf2.json +23 -0
  535. data/standards/stig_zos_ibm_health_checkerracf.json +29 -0
  536. data/standards/stig_zos_ibm_health_checkertss.json +29 -0
  537. data/standards/stig_zos_ibm_system_display_and_search_facility_sdsfacf2.json +53 -0
  538. data/standards/stig_zos_ibm_system_display_and_search_facility_sdsfracf.json +59 -0
  539. data/standards/stig_zos_ibm_system_display_and_search_facility_sdsftss.json +53 -0
  540. data/standards/stig_zos_icsfacf2.json +29 -0
  541. data/standards/stig_zos_icsfracf.json +35 -0
  542. data/standards/stig_zos_icsftss.json +35 -0
  543. data/standards/stig_zos_netviewacf2.json +41 -0
  544. data/standards/stig_zos_netviewracf.json +47 -0
  545. data/standards/stig_zos_netviewtss.json +53 -0
  546. data/standards/stig_zos_quest_nc-passacf2.json +35 -0
  547. data/standards/stig_zos_quest_nc-passracf.json +41 -0
  548. data/standards/stig_zos_quest_nc-passtss.json +47 -0
  549. data/standards/stig_zos_racf.json +1415 -0
  550. data/standards/stig_zos_roscoeacf2.json +47 -0
  551. data/standards/stig_zos_roscoeracf.json +53 -0
  552. data/standards/stig_zos_roscoetss.json +59 -0
  553. data/standards/stig_zos_srrauditacf2.json +23 -0
  554. data/standards/stig_zos_srrauditracf.json +23 -0
  555. data/standards/stig_zos_srraudittss.json +23 -0
  556. data/standards/stig_zos_tadzacf2.json +29 -0
  557. data/standards/stig_zos_tadzracf.json +35 -0
  558. data/standards/stig_zos_tadztss.json +35 -0
  559. data/standards/stig_zos_tdmfacf2.json +23 -0
  560. data/standards/stig_zos_tdmfracf.json +23 -0
  561. data/standards/stig_zos_tdmftss.json +23 -0
  562. data/standards/stig_zos_tss.json +1523 -0
  563. data/standards/stig_zos_vssracf.json +29 -0
  564. metadata +691 -0
@@ -0,0 +1,959 @@
1
+ {
2
+ "name": "stig_application_security_and_development_checklist",
3
+ "date": "2014-12-22",
4
+ "description": "None",
5
+ "title": "Application Security and Development Checklist",
6
+ "version": "None",
7
+ "item_syntax": "^\\w-\\d+$",
8
+ "section_separator": null,
9
+ "items": [
10
+ {
11
+ "id": "V-16773",
12
+ "title": "The Program Manager will provide an Application Configuration Guide to the application hosting\nproviders to include a list of all potential hosting enclaves and connection rules and requirements. ",
13
+ "description": "The security posture of the enclave could be degraded if an Application Configuration Guide is not available and followed by application developers. ",
14
+ "severity": "medium"
15
+ },
16
+ {
17
+ "id": "V-16775",
18
+ "title": "The Program Manager will ensure the system has been assigned specific MAC and confidentiality levels.",
19
+ "description": "The site security posture and mission completion could be adversely affected if site managed applications and data are not properly assigned with the MAC and confidentiality levels.",
20
+ "severity": "medium"
21
+ },
22
+ {
23
+ "id": "V-16776",
24
+ "title": "The Program Manager will ensure the development team follows a set of coding standards.",
25
+ "description": "Implementing coding standards provides many benefits to the development process. These benefits include readability, consistency, and ease of integration. \n\nCode conforming to a standard format is easier to read, especially if someone other than the original developer is examining the code. In addition, formatted code can be debugged and corrected faster than unformatted code.\n\nIntroducing coding standards can help increase the consistency, reliability, and security of the application by ensuring common programming structures and tasks are handled by similar methods, as well as, reducing the occurrence of common logic errors.\n\nCoding standards also allow developers to quickly adapt to code which has been developed by various members of a development team. Coding standards are useful in the code review process as well as in situations where a team member leaves and duties must then be assigned to another team member. Coding standards often cover the use of white space characters, variable naming conventions, function naming conventions, and comment styles. \n",
26
+ "severity": "medium"
27
+ },
28
+ {
29
+ "id": "V-16777",
30
+ "title": "The Program Manager will ensure COTS IA and IA enabled products, comply with NIAP/NSA endorsed protection profiles.\n\n",
31
+ "description": "The security posture of the enclave could be compromised if applications are not at the approved NIAP/NSA protection profile. GOTS, or COTS IA and IA enabled IT products, must be in compliance with NIAP/NSA protection profiles in order to protect classified information when the information transits networks which are at a lower classification level than the information being transported.",
32
+ "severity": "medium"
33
+ },
34
+ {
35
+ "id": "V-16778",
36
+ "title": "The Program Manager will document and obtain DAA risk acceptance for all public domain, shareware, freeware, and other software products/libraries with both (1) no source code to review, repair, and extend, and (2) limited or no warranty, when such products are required for mission accomplishment.",
37
+ "description": "The security posture of the enclave could be compromised if untested or unwarranted software is used due to the risk of software failure, hidden vulnerabilities, or other malware embedded in the application. The Program Manager and IAO must get DAA approval prior to using this type of software for risk acceptance. Public domain software is shareware. There cannot be any assurance the products integrity or security mechanisms exist without conducting a code review or vulnerability analysis. Failure to properly authorize shareware, before it is installed or used, on corporate AISs could result in the compromise of sensitive corporate resources.",
38
+ "severity": "medium"
39
+ },
40
+ {
41
+ "id": "V-16779",
42
+ "title": "The Program Manager and designer will ensure the application is registered with the DoD Ports and Protocols Database.\n\n",
43
+ "description": "Failure to register the applications usage of ports, protocols, and services with the DoD PPS Database may result in a Denial of Service (DoS) because of enclave boundary protections at other end points within the network.",
44
+ "severity": "medium"
45
+ },
46
+ {
47
+ "id": "V-16780",
48
+ "title": "The Program Manager will ensure all levels of program management, designers, developers, and testers receive the appropriate security training pertaining to their job function. ",
49
+ "description": "Well trained IT personnel are the first line of defense against attacks or disruptions to the information system. Lack of sufficient training can lead to security oversights thereby, leading to compromise or failure to take necessary actions to prevent disruptions to operations.",
50
+ "severity": "medium"
51
+ },
52
+ {
53
+ "id": "V-16781",
54
+ "title": "The Program Manager will ensure a vulnerability management process is in place to include ensuring a mechanism is in place to notify users, and users are provided with a means of obtaining security updates for the application.\n\n",
55
+ "description": "If there is no mechanism (e.g., e-mail list, patch server) to provide updates for an application that is already deployed, security flaws can never be addressed. Also, if there is no comprehensive vulnerability management process or policy for the systematic identification and mitigation of software vulnerabilities, security vulnerabilities may go unnoticed, unreported, or unmitigated. ",
56
+ "severity": "medium"
57
+ },
58
+ {
59
+ "id": "V-16782",
60
+ "title": "The Program Manager will ensure a security incident response process for the application is established that defines reportable incidents and outlines a standard operating procedure for incident response to include Information Operations Condition (INFOCON).\n\n",
61
+ "description": "Without a plan, training, and assistance, users will not know what actions needs to be taken in the event of system attack or system/application compromise. This could result in additional compromise and theft, or degraded system capability.",
62
+ "severity": "medium"
63
+ },
64
+ {
65
+ "id": "V-16783",
66
+ "title": "The Program Manager will ensure procedures are implemented to assure physical handling and storage of information is in accordance with the data’s sensitivity.\n\n",
67
+ "description": "Failure to have proper workplace security procedures can lead to the loss or compromise of classified or sensitive information.",
68
+ "severity": "medium"
69
+ },
70
+ {
71
+ "id": "V-16784",
72
+ "title": "The designer will ensure the user interface services are physically or logically separated from data storage and management services.",
73
+ "description": "If user interface services are compromised, this may lead to the compromise of data storage and management services if they are not logically or physically separated.",
74
+ "severity": "medium"
75
+ },
76
+ {
77
+ "id": "V-16785",
78
+ "title": "The designer will ensure the application supports detection and/or prevention of communication session hijacking. \n",
79
+ "description": "Session tokens can be compromised by various methods. Using predictable session tokens can allow an attacker to hijack a session in progress. Session sniffing can be used to capture a valid session token or session id, and the attacker uses this session information to gain immediate unauthorized access to the server which is a loss of confidentially and potentially a loss of integrity. Also, the Man-in-the-Middle (MITM) attack can be accomplished over an TLS connection with a session in progress.\n\nAny vulnerability associated with a DoD Information system or system enclave, the exploitation of which, by a risk factor, will directly and immediately result in loss of Confidentiality, Availability or Integrity of the system\nassociated data.\n",
80
+ "severity": "high"
81
+ },
82
+ {
83
+ "id": "V-16786",
84
+ "title": "The designer will ensure the application installs with unnecessary functionality disabled by default.\n",
85
+ "description": "If functionality is enabled that is not required for operation of the application, this functionality may be exploited without knowledge because the functionality is not required by anyone.",
86
+ "severity": "medium"
87
+ },
88
+ {
89
+ "id": "V-16787",
90
+ "title": "The designer will ensure the application follows the secure failure design principle.\n",
91
+ "description": "The secure design principle ensures the application follows a secure predictable path in the application code. If all possible code paths are not accounted for, the application may allow access to unauthorized users. Applications should perform checks on the validity of data, user permissions, and resource existence before performing a function. Secure failure is defined if a check fails for any reason, the application remains in a secure state.\n",
92
+ "severity": "high"
93
+ },
94
+ {
95
+ "id": "V-16788",
96
+ "title": "The designer will ensure the application uses encryption to implement key exchange and authenticate endpoints prior to establishing a communication channel for key exchange.\n",
97
+ "description": "If the application does not use encryption and authenticate endpoints prior to establishing a communication channel and prior to transmitting encryption keys, these keys may be intercepted, and could be used to decrypt the traffic of the current session, leading to potential loss or compromise of DoD data.",
98
+ "severity": "medium"
99
+ },
100
+ {
101
+ "id": "V-16789",
102
+ "title": "The designer will ensure private keys are accessible only to administrative users.",
103
+ "description": "If private keys are accessible to non-administrative users, these users could potentially read and use the private keys to unencrypt stored or transmitted sensitive data used by the application. ",
104
+ "severity": "medium"
105
+ },
106
+ {
107
+ "id": "V-16790",
108
+ "title": "The designer will ensure the application does not connect to a database using administrative credentials or other privileged database accounts.",
109
+ "description": "If the application uses administrative credentials or other privileged database accounts to access the database, an attacker that has already compromised the application though another vulnerability can drop, add, and modify the data in the database or the database structure.",
110
+ "severity": "medium"
111
+ },
112
+ {
113
+ "id": "V-16791",
114
+ "title": "The designer will ensure transaction based applications implement transaction rollback and transaction journaling.",
115
+ "description": "Transaction based systems must have transaction rollback and transaction journaling, or technical equivalents implemented to ensure the system can recover from an attack or faulty transaction data. Otherwise, a denial of service condition could result. ",
116
+ "severity": "low"
117
+ },
118
+ {
119
+ "id": "V-16792",
120
+ "title": "The designer will ensure sensitive data held in memory is cryptographically protected when not in use, if required by the information owner, and classified data held in memory is always cryptographically protected when not in use.\n",
121
+ "description": "Sensitive or classified data in memory must be encrypted to protect data from the possibility of an attacker causing an application crash then analyzing a memory dump of the application for sensitive or classified information.",
122
+ "severity": "medium"
123
+ },
124
+ {
125
+ "id": "V-16793",
126
+ "title": "The designer will ensure the application properly clears or overwrites all memory blocks used to process sensitive data, if required by the information owner, and clears or overwrites all memory blocks used for classified data.\n",
127
+ "description": "Sensitive and classified data in memory should be cleared or overwritten to protect data from the possibility of an attacker causing the application to crash and analyzing a memory dump of the application for sensitive information.",
128
+ "severity": "medium"
129
+ },
130
+ {
131
+ "id": "V-16794",
132
+ "title": "The designer will ensure the application uses mechanisms assuring the integrity of all transmitted information (including labels and security parameters).",
133
+ "description": "Data is subject to manipulation and other integrity related attacks whenever that data is transferred across a network. To protect data integrity during transmission, the application must implement mechanisms to ensure the integrity of all transmitted information. All transmitted information means that the protections are not restricted to just the data itself. Protection mechanisms must be extended to include data labels, security parameters or metadata if data protection requirements specify. Modern web application data transfer methods can be complex and are not necessarily just point to point in nature. Service Oriented Architecture (SOA) and RESTFUL web services allow for XML based application data to be transmitted in a manner similar to network traffic wherein the application data is transmitted along multiple servers hops. In such cases, point to point protection methods like TLS or SSL may not be the best choice for ensuring data integrity and alternative data integrity protection methods like XML Integrity Signature protections where the XML payload itself is signed may be required as part of the application design. Overall application design and architecture must always be taken into account when establishing data integrity protection mechanisms. Custom-developed solutions that provide a file transfer capability should implement data integrity checks for incoming and outgoing files. Transmitted information requires mechanisms to ensure the data integrity (e.g. digital signatures, SSL, TLS or cryptographic hashing). ",
134
+ "severity": "medium"
135
+ },
136
+ {
137
+ "id": "V-16795",
138
+ "title": "The designer will ensure the application does not display account passwords as clear text.\n",
139
+ "description": "Passwords being displayed in clear text can be easily seen by casual observers. Password masking should be employed so any casual observers cannot see passwords on the screen as they are being typed.",
140
+ "severity": "high"
141
+ },
142
+ {
143
+ "id": "V-16796",
144
+ "title": "The designer will ensure the application transmits account passwords in an approved encrypted format.\n",
145
+ "description": "Passwords transmitted in clear text or with an unapproved format are vulnerable to network protocol analyzers. These passwords acquired with the network protocol analyzers can be used to immediately access the application.",
146
+ "severity": "high"
147
+ },
148
+ {
149
+ "id": "V-16797",
150
+ "title": "The designer will ensure the application stores account passwords in an approved encrypted format.\n",
151
+ "description": "Passwords stored without encryption or with weak, unapproved, encryption can easily be read and unencrypted. These passwords can then be used for immediate access to the application.",
152
+ "severity": "high"
153
+ },
154
+ {
155
+ "id": "V-16798",
156
+ "title": "The designer will ensure the application protects access to authentication data by restricting access to authorized users and services.\n",
157
+ "description": "If authentication is not properly restricted using access controls list, unauthorized users of the server where the authentication data is stored may be able to use the authentication data to access unauthorized servers or services.",
158
+ "severity": "medium"
159
+ },
160
+ {
161
+ "id": "V-16799",
162
+ "title": "The designer will ensure the application installs with unnecessary accounts disabled, or deleted, by default.\n",
163
+ "description": "Unnecessary accounts should be disabled to limit the number of entry points for attackers to gain access to the system. Removing unnecessary accounts also limits the number of users and passwords the system administrator must maintain.",
164
+ "severity": "medium"
165
+ },
166
+ {
167
+ "id": "V-16800",
168
+ "title": "The designer will ensure users’ accounts are locked after three consecutive unsuccessful logon attempts within one hour.\n",
169
+ "description": "If user accounts are not locked after a set number of unsuccessful logins, attackers can infinitely retry user password combinations providing immediate access to the application.",
170
+ "severity": "high"
171
+ },
172
+ {
173
+ "id": "V-16801",
174
+ "title": "The designer will ensure locked users’ accounts can only be unlocked by the application administrator.\n",
175
+ "description": "User accounts should only be unlocked by the user contacting an administrator, and making a formal request to have the account reset. Accounts that are automatically unlocked after a set time limit, allow potential attackers to retry possible user password combinations without knowledge of the user or the administrator.",
176
+ "severity": "medium"
177
+ },
178
+ {
179
+ "id": "V-16802",
180
+ "title": "The designer will ensure the application provides a capability to automatically terminate a session and log out after a system defined session idle time limit is exceeded.\n",
181
+ "description": "In the event a user does not log out of the application, the application should automatically terminate the session and log out; otherwise, subsequent users of a shared system could continue to use the previous user's session to the application.",
182
+ "severity": "medium"
183
+ },
184
+ {
185
+ "id": "V-16803",
186
+ "title": "The designer and IAO will ensure application resources are protected with permission sets which allow only an application administrator to modify application resource configuration files.\n",
187
+ "description": "If application resources are not protected with permission sets that allow only an application administrator to modify application resource configuration files, unauthorized users can modify configuration files allowing these users to capture data within the application, or turn off encryption, or change any configurable option in the application.",
188
+ "severity": "medium"
189
+ },
190
+ {
191
+ "id": "V-16804",
192
+ "title": "The designer will ensure the application does not rely solely on a resource name to control access to a resource.\n",
193
+ "description": "Application access control decisions should be based on authentication of users. Resource names alone can be spoofed allowing access control mechanisms to be bypassed giving immediate access to the application.\n",
194
+ "severity": "high"
195
+ },
196
+ {
197
+ "id": "V-16806",
198
+ "title": "The designer will ensure the web application assigns the character set on all web pages.\n",
199
+ "description": "For web applications, setting the character set on the web page reduces the possibility of receiving unexpected input that uses other character set encodings by the web application.",
200
+ "severity": "medium"
201
+ },
202
+ {
203
+ "id": "V-16807",
204
+ "title": "The designer will ensure the application is not vulnerable to SQL Injection, uses prepared or parameterized statements, does not use concatenation or replacement to build SQL queries, and does not directly access the tables in a database.",
205
+ "description": "SQL Injection can be used to bypass user login to gain immediate access to the application and can also be used to elevate privileges with an existing user account.",
206
+ "severity": "high"
207
+ },
208
+ {
209
+ "id": "V-16808",
210
+ "title": "The designer will ensure the application is not vulnerable to integer arithmetic issues.\n",
211
+ "description": "Integer overflows occur when an integer has not been properly checked and is used in memory allocation, copying, and concatenation. Also, when incrementing integers past their maximum possible value, it could potentially become a very small or negative number. Integer overflows can lead to infinite looping when loop index variables are compromised and cause a denial of service. If the integer is used in data references, the data can become corrupt. Also, using the integer in memory allocation can cause buffer overflows, and a denial of service. Integers used in access control mechanisms can potentially trigger buffer overflows, which can be used to execute arbitrary code. ",
212
+ "severity": "high"
213
+ },
214
+ {
215
+ "id": "V-16809",
216
+ "title": "The designer will ensure the application does not contain format string vulnerabilities.\n",
217
+ "description": "Format string vulnerabilities usually occur when unvalidated input is entered and is directly written into the format string used to format data in the print style family of C/C++ functions. If an attacker can manipulate a format string, this may result in a buffer overflow causing a denial of service for the application. Format string vulnerabilities may lead to information disclosure vulnerabilities. Format string vulnerabilities may be used to execute arbitrary code. ",
218
+ "severity": "high"
219
+ },
220
+ {
221
+ "id": "V-16810",
222
+ "title": "The designer will ensure the application does not allow command injection.\n",
223
+ "description": "A command injection attack, is an attack on a vulnerable application where improperly validated input is passed to a command shell setup in the application. A command injection allows an attacker to execute their own commands with the same privileges as the application executing. Command injection allows immediate access to the system where the application is executing.\n",
224
+ "severity": "high"
225
+ },
226
+ {
227
+ "id": "V-16811",
228
+ "title": "The designer will ensure the application does not have cross site scripting (XSS) vulnerabilities. \n",
229
+ "description": "XSS vulnerabilities exist when an attacker uses a trusted website to inject malicious scripts into applications with improperly validated input. \n",
230
+ "severity": "high"
231
+ },
232
+ {
233
+ "id": "V-16812",
234
+ "title": "The designer will ensure the application has no canonical representation vulnerabilities.\n",
235
+ "description": "Canonical representation issues arise when the name of a resource is used to control resource access. There are multiple methods of representing resource names on a computer system. An application relying solely on a resource name to control access may incorrectly make an access control decision if the name is specified in an unrecognized format.",
236
+ "severity": "medium"
237
+ },
238
+ {
239
+ "id": "V-16813",
240
+ "title": "The designer will ensure the application does not use hidden fields to control user access privileges or as a part of a security mechanism.\n",
241
+ "description": "Using hidden fields to pass data in forms is very common. However, hidden fields can be easily manipulated by users. Hidden fields used to control access decisions can lead to a complete compromise of access control mechanism allowing immediate anonymous user access. ",
242
+ "severity": "high"
243
+ },
244
+ {
245
+ "id": "V-16814",
246
+ "title": "The designer will ensure the application does not disclose unnecessary information to users.\n",
247
+ "description": "Applications should not disclose information not required for the transaction. (e.g., a web application should not divulge the fact there is a SQL server database and/or its version) This provides attackers additional information which they can use to find other attack avenues, or tailor specific attacks, on the application.",
248
+ "severity": "medium"
249
+ },
250
+ {
251
+ "id": "V-16815",
252
+ "title": "The designer will ensure the application is not vulnerable to race conditions.\n\n",
253
+ "description": "A race condition occurs when an application receives two or more actions on the same resource in an unanticipated order which causes a conflict. Sometimes, the resource is locked by different users or functions within the application creating a deadlock situation. \n",
254
+ "severity": "medium"
255
+ },
256
+ {
257
+ "id": "V-16816",
258
+ "title": "The designer will ensure the application supports the creation of transaction logs for access and changes to the data. \n",
259
+ "description": "Without required logging and access control, security issues related to data changes will not be identified. This could lead to security compromises such as data misuse, unauthorized changes, or unauthorized access.",
260
+ "severity": "medium"
261
+ },
262
+ {
263
+ "id": "V-16817",
264
+ "title": "The designer will ensure the application has a capability to notify the user of important login information.",
265
+ "description": "Attempted logons must be controlled to prevent password guessing exploits and unauthorized access attempts. ",
266
+ "severity": "low"
267
+ },
268
+ {
269
+ "id": "V-16818",
270
+ "title": "The designer will ensure the application has a capability to display the user’s time and date of the last change in data content.\n",
271
+ "description": "Without access control mechanisms in place, the data is not secure. The time and date display of data content change provides an indication that the data may have been accessed by unauthorized persons, and It may have been compromised, misused, or changed.",
272
+ "severity": "medium"
273
+ },
274
+ {
275
+ "id": "V-16819",
276
+ "title": "The designer will ensure development of new mobile code includes measures to mitigate the risks identified. \n",
277
+ "description": "New mobile code types may introduce unknown vulnerabilities if a risk assessment is not completed prior to the use of mobile code. ",
278
+ "severity": "medium"
279
+ },
280
+ {
281
+ "id": "V-16820",
282
+ "title": "The Release Manager will ensure the access privileges to the configuration management (CM) repository are reviewed every 3 months.\n",
283
+ "description": "Incorrect access privileges to the CM repository can lead to malicious code or unintentional code being introduced into the application.",
284
+ "severity": "low"
285
+ },
286
+ {
287
+ "id": "V-16822",
288
+ "title": "The Release Manager will develop an SCM plan describing the configuration control and change management process of objects developed and the roles and responsibilities of the organization.\n\n",
289
+ "description": "Software Configuration Management (SCM) is very important in tracking code releases, baselines, and managing access to the configuration management repository. The SCM plan identifies what should be under configuration management control. Without an SCM plan, code releases can be tracked and vulnerabilities can be inserted intentionally or unintentionally into the code base of the application.\n",
290
+ "severity": "medium"
291
+ },
292
+ {
293
+ "id": "V-16823",
294
+ "title": "The Release Manager will establish a Configuration Control Board (CCB), that meets at least every release cycle, for managing the CM process.",
295
+ "description": "Software Configuration Management (SCM) is very important in tracking code releases, baselines, and managing access to the configuration management repository. The SCM plan identifies what should be under configuration management control. Without an SCM plan code, and a CCB, releases can be tracked and vulnerabilities can be inserted intentionally or unintentionally into the code base of the application.\n",
296
+ "severity": "medium"
297
+ },
298
+ {
299
+ "id": "V-16824",
300
+ "title": "The Test Manager will ensure at least one tester is designated to test for security flaws in addition to functional testing.\n",
301
+ "description": "If there is no person designated to test for security flaws, vulnerabilities can potentially be missed during testing.",
302
+ "severity": "low"
303
+ },
304
+ {
305
+ "id": "V-16825",
306
+ "title": "The Test Manager will ensure the changes to the application are assessed for IA and accreditation impact prior to implementation.\n",
307
+ "description": "IA assessment of proposed changes is necessary to ensure security integrity is maintained within the application.",
308
+ "severity": "medium"
309
+ },
310
+ {
311
+ "id": "V-16826",
312
+ "title": "The Test Manager will ensure tests plans and procedures are created and executed prior to each release of the application or updates to system patches.\n",
313
+ "description": "Without test plans and procedures for application releases or updates, unexpected results may occur which could lead to a denial of service to the application or components.",
314
+ "severity": "medium"
315
+ },
316
+ {
317
+ "id": "V-16827",
318
+ "title": "The Test Manager will ensure test procedures are created and at least annually executed to ensure system initialization, shutdown, and aborts are configured to ensure the system remains in a secure state.\n",
319
+ "description": "Secure state assurance cannot be accomplished without testing the system state at least annually to ensure the system remains in a secure state upon intialization, shutdown and abort.",
320
+ "severity": "medium"
321
+ },
322
+ {
323
+ "id": "V-16828",
324
+ "title": "The Test Manager will ensure code coverage statistics are maintained for each release of the application.\n",
325
+ "description": "Code coverage statistics describes the how much of the source code has been executed based on the test procedures.\n",
326
+ "severity": "low"
327
+ },
328
+ {
329
+ "id": "V-16829",
330
+ "title": "The Test Manager will ensure a code review is performed before the application is released.\n",
331
+ "description": "A code review is a systematic evaluation of computer source code conducted for the purposes of identifying and remediating security flaws. Examples of security flaws include but are not limited to format string exploits, memory leaks, buffer overflows or race conditions. The code review is usually conducted during the application development phase, this allows discovered security issues to be corrected prior to release. A code review can also be performed after the development phase, however, in all instances identified errors must go back to development for correction so conducting the code review during development is the logical and preferred action. Automated code review tools are to be used whenever reviewing application source code. These tools are often incorporated into many Integrated Development Environments (IDE) so code reviews can be conducted during all stages of the development life cycle. Periodically reviewing code during the development phase makes transition to a production environment easier as flaws are continually identified and addressed during the development phase rather than en masse at the end of the development effort.\n \nCode review processes and the tools used to conduct the code review analysis will vary depending upon application architecture and the development languages utilized. \n\nIn addition to automated testing, manual code reviews may also be used to validate or augment automated code review results. Larger projects will have a large code base and will require the use of automated code review tools in order to achieve complete code review coverage. \n\nA manual code review may consist of a peer review wherein other programmers on the team manually examine source code and automated code review results for known flaws that introduce security bugs into the application.\n\nAs with any testing, there is no single best approach and the tests must be tailored to the application architecture. Use of automated tools along with manual review of code and testing results is considered a best practice when conducting code reviews. This method is the most likely way to ensure the maximum number of errors are caught and addressed prior to implementing the application in a production environment. \n\nFor a list of tools that can be used for source code review, please reference http://samate.nist.gov/index.php/Source_Code_Security_Analyzers.html.\nPlease note that reference to these tools does not imply that they have been tested and approved for use by DISA. \n",
332
+ "severity": "medium"
333
+ },
334
+ {
335
+ "id": "V-16830",
336
+ "title": "The Test Manager will ensure flaws found during a code review are tracked in a defect tracking system.\n",
337
+ "description": "If flaws are not tracked they may possibly be forgotten to be included in a release. Tracking flaws in the configuration management repository will help identify code elements to be changed, as well as the requested change.\n",
338
+ "severity": "medium"
339
+ },
340
+ {
341
+ "id": "V-16831",
342
+ "title": "The IAO will ensure active vulnerability testing is performed.",
343
+ "description": "Use of automated scanning tools accompanied with manual testing/validation which confirms or expands on the automated test results is an accepted best practice when performing application security testing. Automated scanning tools expedite and help to standardize security testing, they can incorporate known attack methods and procedures, test for libraries and other software modules known to be vulnerable to attack and utilize a test method known as \"fuzz testing\". Fuzz testing is a testing process where the application is provided invalid, unexpected, or random data. Poorly designed and coded applications will become unstable or crash. Properly designed and coded applications will reject improper and unexpected data input from application clients and remain stable. \n\nMany vulnerability scanning tools provide automated fuzz testing capabilities for the testing of web applications. All of these tools help to identify a wide range of application vulnerabilities including, but not limited to; buffer overflows, cross-site scripting flaws, denial of service format bugs and SQL injection, all of which can lead to a successful compromise of the system or result in a denial of service. \n\nDue to changes in the production environment, it is a good practice to schedule periodic active testing of production web applications. Ideally, this will occur prior to deployment and after updates or changes to the application production environment. \n\nIt is imperative that automated scanning tools are configured properly to ensure that all of the application components that can be tested are tested. In the case of web applications, some of the application code base may be accessible on the web site and could potentially be corrected by a knowledgeable system administrator. Active testing is different from code review testing in that active testing does not require access to the application source code base. A code review requires complete code base access and is normally performed by the development team.\n\nIf vulnerability testing is not conducted, there is the distinct potential that security vulnerabilities could be unknowingly introduced into the application environment.\n\nThe following website provides an overview of fuzz testing and examples:\n\nhttp://www.owasp.org/index.php/Fuzzing\n\nThe following website provides information on web application vulnerability scanner tools. Reference the “Related Links” section at the bottom of the page for a list of available commercial and open source tools. \n\nhttp://samate.nist.gov/index.php/Web_Application_Vulnerability_Scanners.html\nPlease note that reference to these tools does not imply that they have been tested and approved for use by DISA.\n",
344
+ "severity": "medium"
345
+ },
346
+ {
347
+ "id": "V-16832",
348
+ "title": "The Test Manager will ensure security flaws are fixed or addressed in the project plan.\n",
349
+ "description": "If security flaws are not tracked, they may possibly be forgotten to be included in a release. Tracking flaws in the project plan will help identify code elements to be changed as well as the requested change.\n",
350
+ "severity": "medium"
351
+ },
352
+ {
353
+ "id": "V-16833",
354
+ "title": "The IAO will ensure if an application is designated critical, the application is not hosted on a general purpose machine.\n",
355
+ "description": "Critical applications should not be hosted on a multi-purpose server with other applications. Applications that share resources are susceptible to the other shared application security defects. Even if the critical application is designed and deployed securely, an application that is not designed and deployed securely, can cause resource issues and possibly crash effecting the critical application. \n",
356
+ "severity": "medium"
357
+ },
358
+ {
359
+ "id": "V-16834",
360
+ "title": "The IAO shall ensure if a DoD STIG or NSA guide is not available, a third-party product will be configured by the following in descending order as available: 1) commercially accepted practices, (2) independent testing results, or (3) vendor literature.",
361
+ "description": "Not all COTS products are covered by a STIG. Those products not covered by a STIG, should be minimally configured to vendors recommendation guidelines.\n",
362
+ "severity": "medium"
363
+ },
364
+ {
365
+ "id": "V-16835",
366
+ "title": "The IAO will ensure at least one application administrator has registered to receive update notifications, or security alerts, when automated alerts are available.\n",
367
+ "description": "Administrators should register for updates to all COTS and custom developed software, so when security flaws are identified, they can be tracked for testing and updates of the application can be applied.\n",
368
+ "severity": "medium"
369
+ },
370
+ {
371
+ "id": "V-16836",
372
+ "title": "The IAO will ensure the system and installed applications have current patches, security updates, and configuration settings.\n",
373
+ "description": "Due to viruses, worms, Trojans, and other malicious software, in addition to inevitable\nweaknesses in code, the necessity to patch critical vulnerabilities is paramount. As part of the\ngeneral practice of performing application or system administration, it is imperative that security vulnerabilities from the vendor are monitored and patches are tested and applied.",
374
+ "severity": "medium"
375
+ },
376
+ {
377
+ "id": "V-16837",
378
+ "title": "The IAO will ensure the application is decommissioned when maintenance or support is no longer available.",
379
+ "description": "When maintenance no longer exists for an application, there are no individuals responsible for providing security updates. The application is no longer supported, and should be decommissioned.\n",
380
+ "severity": "high"
381
+ },
382
+ {
383
+ "id": "V-16838",
384
+ "title": "Procedures are not in place to notify users when an application is decommissioned.\n",
385
+ "description": "When maintenance no longer exists for an application, there are no individuals responsible for making security updates. The application should maintain procedures for decommissioning.\n",
386
+ "severity": "low"
387
+ },
388
+ {
389
+ "id": "V-16839",
390
+ "title": "The IAO will ensure protections against DoS attacks are implemented.\n",
391
+ "description": "Known threats documented in the threat model should be mitigated, to prevent DoS type attacks.\n",
392
+ "severity": "medium"
393
+ },
394
+ {
395
+ "id": "V-16840",
396
+ "title": "The IAO will ensure the system alerts an administrator when low resource conditions are encountered.\n",
397
+ "description": "In order to prevent DoS type attacks, applications should be monitored when resource conditions reach a predefined threshold indicating there may be attack occurring.",
398
+ "severity": "low"
399
+ },
400
+ {
401
+ "id": "V-16841",
402
+ "title": "The IAO will review audit trails periodically based on system documentation recommendations or immediately upon system security events. \n",
403
+ "description": "Without access control the data is not secure. It can be compromised, misused, or changed by unauthorized access at any time.",
404
+ "severity": "low"
405
+ },
406
+ {
407
+ "id": "V-16842",
408
+ "title": "The IAO will report all suspected violations of IA policies in accordance with DoD information system IA procedures.\n",
409
+ "description": "All potential sources are monitored for suspected violations of IA policies. If there are not policies regarding the reporting of IA violations, some IA violations may not be tracked or dealt with in a proper manner.\n",
410
+ "severity": "medium"
411
+ },
412
+ {
413
+ "id": "V-16843",
414
+ "title": "The IAO will ensure, for classified systems, application audit trails are continuously and automatically monitored, and alerts are provided immediately when unusual or inappropriate activity is detected.\n",
415
+ "description": "For critical and classified systems, an automated, continuous on-line monitoring and audit trail creation capability must be deployed with the capability to immediately alert personnel of any unusual or inappropriate activity with potential IA implications, and with a user configurable capability to automatically disable the system if serious IA violations are detected. This protects the system from serious data compromises. ",
416
+ "severity": "low"
417
+ },
418
+ {
419
+ "id": "V-16844",
420
+ "title": "The IAO will ensure back-up copies of the application software are stored in a fire-rated container and not collocated with operational software.\n",
421
+ "description": "Inadequate back-up software or improper storage of back-up software can result in extended outages of the information system in the event of a fire or other situation that results in destruction of the operating copy.",
422
+ "severity": "medium"
423
+ },
424
+ {
425
+ "id": "V-16845",
426
+ "title": "The IAO will ensure procedures are in place to assure the appropriate physical and technical protection of the backup and restoration of the application.\n",
427
+ "description": "Protection of backup and restoration assets is essential for the successful restore of operations after a catastrophic failure or damage to the system or data files. Failure to follow proper procedures may result in the permanent loss of system data and/or the loss of system capability resulting in failure of the customers mission.",
428
+ "severity": "medium"
429
+ },
430
+ {
431
+ "id": "V-16846",
432
+ "title": "The IAO will ensure a disaster recovery plan exists in accordance with DoD policy based on the Mission Assurance Category (MAC).",
433
+ "description": "Well thought out recovery plans are essential for system recovery and/or business restoration in the event of catastrophic failure or disaster.",
434
+ "severity": "medium"
435
+ },
436
+ {
437
+ "id": "V-16847",
438
+ "title": "The IAO will ensure an account management process is implemented, verifying only authorized users can gain access to the application, and individual accounts designated as inactive, suspended, or terminated are promptly removed. \n",
439
+ "description": "A comprehensive account management process will ensure that only authorized users can gain access to applications and that individual accounts designated as inactive, suspended, or terminated are promptly deactivated. Such a process greatly reduces the risk that accounts will be misused, hijacked, or data compromised.",
440
+ "severity": "medium"
441
+ },
442
+ {
443
+ "id": "V-16848",
444
+ "title": "The IAO will ensure passwords generated for users are not predictable and comply with the organization's password policy.\n",
445
+ "description": "Predictable passwords may allow an attacker to gain immediate access to new user accounts which would result in a loss of integrity.\n\nAny vulnerability associated with a DoD Information system or system enclave, the exploitation of which, by a risk factor, will directly and immediately result in loss of Confidentiality, Availability or Integrity of the system\nassociated data.\n",
446
+ "severity": "high"
447
+ },
448
+ {
449
+ "id": "V-16849",
450
+ "title": "The IAO will ensure the application's users do not use shared accounts. \n",
451
+ "description": "Group or shared accounts for application access may be used only in conjunction with an individual authenticator. Group accounts do not allow for proper auditing of who is accessing the application and security incidents cannot be attributed to specific individuals. ",
452
+ "severity": "medium"
453
+ },
454
+ {
455
+ "id": "V-16850",
456
+ "title": "The IAO will ensure connections between the DoD enclave and the Internet or other public or commercial wide area networks require a DMZ.\n",
457
+ "description": "In order to protect DoD data and systems, all remote access to DoD information systems must be mediated through a managed access control point, such as a remote access server in a DMZ.\n",
458
+ "severity": "medium"
459
+ },
460
+ {
461
+ "id": "V-19687",
462
+ "title": "The IAO will ensure web servers are on logically separate network segments from the application and database servers if it is a tiered application. \n",
463
+ "description": "Web servers should be on logically separated network segments from the application and database servers in order to provide different levels and types of defenses for each type of server. Failure to comply would result in an immediate loss of confidentiality.\n\nThis requirement to this STIG was added at the request of the DoD DMZ PM. The goal is to ensure this requirement is addressed as the application is being developed. This requirement and severity was previously approved by the DSAWG in the Internet-NIPRNet DoD DMZ Inrecrement 1, Phase 1 STIG.\n \n\nAny vulnerability associated with a DoD Information system or system enclave, the exploitation of which, by a risk factor, will directly and immediately result in loss of Confidentiality, Availability or Integrity of the system\nassociated data.\n",
464
+ "severity": "high"
465
+ },
466
+ {
467
+ "id": "V-19688",
468
+ "title": "The designer and the IAO will ensure physical operating system separation and physical application separation is employed between servers of different data types in the web tier of Increment 1/Phase 1 deployment of the DoD DMZ for Internet-facing applications.\n",
469
+ "description": "Restricted and unrestricted data residing on the same server may allow unauthorized access which would result in a loss of integrity and possibly the availability of the data.\n \nThis requirement to this STIG was added at the request of the DoD DMZ PM. The goal is to ensure this requirement is addressed as the application is being developed. This requirement and severity was previously approved by the DSAWG in the Internet-NIPRNet DoD DMZ Increment 1, Phase 1 STIG.\n\n*This requirement does not apply to SIPRNet DMZs. \n\n",
470
+ "severity": "high"
471
+ },
472
+ {
473
+ "id": "V-19689",
474
+ "title": "The designer will ensure web services are designed and implemented to recognize and react to the attack patterns associated with application-level DoS attacks.\n",
475
+ "description": "Because of potential denial of service, web services should be designed to recognize potential attack patterns.\n",
476
+ "severity": "medium"
477
+ },
478
+ {
479
+ "id": "V-19690",
480
+ "title": "The designer will ensure the web service design includes redundancy of critical functions.\n",
481
+ "description": "Because of potential denial of service, web services should be designed to be redundant.\n",
482
+ "severity": "medium"
483
+ },
484
+ {
485
+ "id": "V-19691",
486
+ "title": "The designer will ensure web service design of critical functions is implemented using different algorithms to prevent similar attacks from forming a complete application level DoS.",
487
+ "description": "Denial of service attacks could occur if web services use the same algorithm for all critical features. An algorithm is defined as: an effective method expressed as a finite list of well-defined instructions. Combining a large array of varying, unrelated functionality into a single web service increases the chances that the service may become susceptible to a DoS attack which could affect not only the individual service, but the entire application as well.\n",
488
+ "severity": "medium"
489
+ },
490
+ {
491
+ "id": "V-19692",
492
+ "title": "The designer will ensure web services are designed to prioritize requests to increase availability of the system.\n",
493
+ "description": "Because of potential denial of service, web services should be designed to prioritize web service requests.\n",
494
+ "severity": "medium"
495
+ },
496
+ {
497
+ "id": "V-19693",
498
+ "title": "The designer will ensure execution flow diagrams are created and used to mitigate deadlock and recursion issues.\n",
499
+ "description": "To prevent web services from becoming deadlocked, an execution flow diagram should be documented.\n",
500
+ "severity": "medium"
501
+ },
502
+ {
503
+ "id": "V-19694",
504
+ "title": "The IAO will ensure an XML firewall is deployed to protect web services. \n",
505
+ "description": "Web Services are vulnerable to many types of attacks. XML based firewalls can be used to prevent common attacks.\n",
506
+ "severity": "medium"
507
+ },
508
+ {
509
+ "id": "V-19695",
510
+ "title": "The designer will ensure web services provide a mechanism for detecting resubmitted SOAP messages.\n",
511
+ "description": "SOAP messages should be designed so duplicate messages are detected. \nReplay attacks may lead to a loss of confidentiality and potentially a loss of availability\n\nAny vulnerability associated with a DoD Information system or system enclave, the exploitation of which, by a risk factor, will directly and immediately result in loss of Confidentiality, Availability or Integrity of the system\nassociated data.\n",
512
+ "severity": "high"
513
+ },
514
+ {
515
+ "id": "V-19696",
516
+ "title": "The designer and IAO will ensure digital signatures exist on UDDI registry entries to verify the publisher.\n",
517
+ "description": "UDDI registries must provide digital signatures for verification of integrity of the publisher of each web service contained within the registry. Users publishing to the UDDI repository could potentially setup multiple fraudulent web services without a digital signature associated with each web service.\n",
518
+ "severity": "medium"
519
+ },
520
+ {
521
+ "id": "V-19697",
522
+ "title": "The designer and IAO will ensure UDDI versions are used supporting digital signatures of registry entries.\n\n",
523
+ "description": "UDDI repositories must provide the capability to support digital signatures. Without the capability to support digital signatures, web service users cannot verify the integrity of the UDDI registry. \n",
524
+ "severity": "medium"
525
+ },
526
+ {
527
+ "id": "V-19698",
528
+ "title": "The designer and IAO will ensure UDDI publishing is restricted to authenticated users.\n\n",
529
+ "description": "Ficticious or false entries could result if someone other than an authenticated user is able to create or modify the UDDI registry. The data integrity would be questionable if anonymous users are able to write to the repository.",
530
+ "severity": "medium"
531
+ },
532
+ {
533
+ "id": "V-19699",
534
+ "title": "The IAO will ensure web service inquiries to UDDI provide read-only access to the registry to anonymous users.\n",
535
+ "description": "If modification of UDDI registries are allowed by anonymous users, UDDI registries can be corrupted, or potentially be hijacked.\n",
536
+ "severity": "medium"
537
+ },
538
+ {
539
+ "id": "V-19700",
540
+ "title": "The IAO will ensure if the UDDI registry contains sensitive information and read access to the UDDI registry is granted only to authenticated users.\n",
541
+ "description": "If a UDDI registry contains sensitive data, the repository should require authentication to read the UDDI data repository. If the repository does not require authentication, the UDDI data repository will be accessed by anonymous users.\n",
542
+ "severity": "medium"
543
+ },
544
+ {
545
+ "id": "V-19701",
546
+ "title": "The designer will ensure SOAP messages requiring integrity, sign the following message elements:\n-Message ID\n-Service Request\n-Timestamp\n-SAML Assertion (optionally included in messages)\n",
547
+ "description": "Digitally signed SOAP messages provide message integrity and authenticity of the signer of the message independent of the transport layer. Service requests may be intercepted and changed in transit and the data integrity may be at risk if the SOAP message is not digitally signed. \n",
548
+ "severity": "medium"
549
+ },
550
+ {
551
+ "id": "V-19702",
552
+ "title": "The designer will ensure when using WS-Security, messages use timestamps with creation and expiration times.\n",
553
+ "description": "The lack of timestamps could lead to the eventual replay of the message, leaving the application susceptible to replay events which may result in an immediate loss of confidentiality. \n\nAny vulnerability associated with a DoD Information system or system enclave, the exploitation of which, by a risk factor, will directly and immediately result in loss of Confidentiality, Availability or Integrity of the system\nassociated data.\n",
554
+ "severity": "high"
555
+ },
556
+ {
557
+ "id": "V-19703",
558
+ "title": "The designer will ensure validity periods are verified on all messages using WS-Security or SAML assertions. \n",
559
+ "description": "When using WS-Security in SOAP messages, the application should check the validity of the timestamps with creation and expiration times. Unvalidated timestamps may lead to a replay event and provide immediate unauthorized access of the application. Unauthorized access results in an immediate loss of confidentiality. \n\nAny vulnerability associated with a DoD Information system or system enclave, the exploitation of which, by a risk factor, will directly and immediately result in loss of Confidentiality, Availability or Integrity of the system\nassociated data.\n",
560
+ "severity": "high"
561
+ },
562
+ {
563
+ "id": "V-19704",
564
+ "title": "The designer shall ensure each unique asserting party provides unique assertion ID references for each SAML assertion.\n",
565
+ "description": "SAML assertion identifiers should be unique across a server implementation. Duplicate SAML assertion identifiers could lead to unauthorized access to a web service.\n\n",
566
+ "severity": "medium"
567
+ },
568
+ {
569
+ "id": "V-19705",
570
+ "title": "The designer shall ensure encrypted assertions, or equivalent confidentiality protections, when assertion data is passed through an intermediary, and confidentiality of the assertion data is required to pass through the intermediary.\n",
571
+ "description": "The confidentially of the data in a message as the message is passed through an intermediary web service may be required to be restricted by the intermediary web service. The intermediary web service may leak or distribute the data contained in a message if not encrypted or protected. \n",
572
+ "severity": "medium"
573
+ },
574
+ {
575
+ "id": "V-19706",
576
+ "title": "The designer will ensure the application is compliant with all DoD IT Standards Registry (DISR) IPv6 profiles.\n",
577
+ "description": "If the application has not been upgraded to execute on an IPv6-only network, there is a possibility the application will not execute properly, and as a result, a denial of service could occur.\n",
578
+ "severity": "medium"
579
+ },
580
+ {
581
+ "id": "V-19707",
582
+ "title": "The designer will ensure supporting application services and interfaces have been designed, or upgraded for, IPv6 transport. \n",
583
+ "description": "If the application's supporting services (e.g., software update, security update, driver updating, and automatic patching services) have not been updated to retrieve updates over a IPv6 network connection, there is a possibility the application will not execute properly, and as a result, a denial of service could occur.\n",
584
+ "severity": "medium"
585
+ },
586
+ {
587
+ "id": "V-19708",
588
+ "title": "The designer will ensure the application is compliant with IPv6 multicast addressing and features an IPv6 network configuration options as defined in RFC 4038.\n",
589
+ "description": "If the application has not been updated to IPv6 multicast features, there is a possibility the application will not execute properly and as a result, a denial of service could occur.\n",
590
+ "severity": "medium"
591
+ },
592
+ {
593
+ "id": "V-19709",
594
+ "title": "The designer will ensure the application is compliant with the IPv6 addressing scheme as defined in RFC 1884. \n",
595
+ "description": "If the application is not compliant with the IPv6 addressing scheme, the entry of IPv6 formats that are 128 bits long or hexadecimal notation including colons, could result in buffer overflows compromising the application and creating additional attack vectors.\n",
596
+ "severity": "medium"
597
+ },
598
+ {
599
+ "id": "V-21498",
600
+ "title": "The designer will ensure the application is not vulnerable to XML Injection.\n",
601
+ "description": "XML injection results in an immediate loss of “integrity” of the data.\n\nAny vulnerability associated with a DoD Information system or system enclave, the exploitation of which, by a risk factor, will directly and immediately result in loss of Confidentiality, Availability or Integrity of the system\nassociated data. \n",
602
+ "severity": "high"
603
+ },
604
+ {
605
+ "id": "V-21500",
606
+ "title": "The designer will ensure the application does not have CSRF vulnerabilities. \n",
607
+ "description": "Cross Site Request Forgery (CSRF) is an attack where an end user is previously authenticated to a specific website and the user through social engineering (e.g., e-mail or chat) launches a hyperlink which executes unwanted actions on a website. A CSRF attack may execute any web site request on behalf of the user leading to compromise of the user’s data.",
608
+ "severity": "medium"
609
+ },
610
+ {
611
+ "id": "V-21519",
612
+ "title": "The Program Manager will ensure all products are supported by the vendor or the development team. ",
613
+ "description": "Unsupported software products should not be used because of the unknown potential vulnerabilities.\n\nAny vulnerability associated with a DoD Information system or system enclave, the exploitation of which, by a risk factor, will directly and immediately result in loss of Confidentiality, Availability or Integrity of the system\nassociated data. \n\nUnsupported software where there is no documented acceptance of DAA risk. \n",
614
+ "severity": "high"
615
+ },
616
+ {
617
+ "id": "V-22028",
618
+ "title": "The designer shall use the NotOnOrAfter condition when using the SubjectConfirmation element in a SAML assertion.\n",
619
+ "description": "When a SAML assertion is used with a <SubjectConfirmation> element, a begin and end time for the <SubjectConfirmation> should be set to prevent reuse of the message at a later time. Not setting a specific time period for the <SubjectConfirmation>, may grant immediate access to an attacker and results in an immediate loss of confidentiality.\n\nAny vulnerability associated with a DoD Information system or system enclave, the exploitation of which, by a risk factor, will directly and immediately result in loss of Confidentiality, Availability or Integrity of the system\nassociated data.\n",
620
+ "severity": "high"
621
+ },
622
+ {
623
+ "id": "V-22029",
624
+ "title": "The designer shall use both the <NotBefore> and <NotOnOrAfter> elements or <OneTimeUse> element when using the <Conditions> element in a SAML assertion.\n",
625
+ "description": "When a SAML assertion is used with a <Conditions> element, a begin and end time for the <Conditions> element should be set to prevent reuse of the message at a later time. Not setting a specific time period for the <Conditions> element, the possibility exists of granting immediate access or elevated privileges to an attacker which result in an immediate loss of confidentiality.\n\nAny vulnerability associated with a DoD Information system or system enclave, the exploitation of which, by a risk factor, will directly and immediately result in loss of Confidentiality, Availability or Integrity of the system\nassociated data.\n",
626
+ "severity": "high"
627
+ },
628
+ {
629
+ "id": "V-22030",
630
+ "title": "The designer will ensure the asserting party uses FIPS approved random numbers in the generation of SessionIndex in the SAML element AuthnStatement.\n",
631
+ "description": "A predictable SessionIndex could lead to an attacker computing a future SessionIndex, thereby, possibly compromising the application.",
632
+ "severity": "medium"
633
+ },
634
+ {
635
+ "id": "V-22031",
636
+ "title": "The designer shall ensure messages are encrypted when the SessionIndex is tied to privacy data.\n",
637
+ "description": "When the SessionIndex is tied to privacy data (e.g., attributes containing privacy data) the message should be encrypted. If the message is not encrypted there is the possibility of compromise of privacy data.",
638
+ "severity": "medium"
639
+ },
640
+ {
641
+ "id": "V-22032",
642
+ "title": "The designer shall ensure if a OneTimeUse element is used in an assertion, there is only one used in the Conditions element portion of an assertion.\n",
643
+ "description": "Multiple OneTimeUse elements used in a SAML assertion can lead to elevation of privileges, if the application does not process SAML assertions correctly.",
644
+ "severity": "medium"
645
+ },
646
+ {
647
+ "id": "V-47163",
648
+ "title": "The release manager must ensure application files are cryptographically hashed prior to deploying to DoD operational networks.",
649
+ "description": "When application code and binaries are transferred from one environment to another, there is the potential for malware to be introduced into either the application code or even the application binaries themselves. Care must be taken to ensure that application code and binaries are validated for integrity prior to deployment into a production environment. \n\nTo ensure file integrity, application files and/or application packages are cryptographically hashed using a strong hashing algorithm. Comparing hashes after transferring the files makes it possible to detect changes in files that could indicate potential integrity issues with the application.\n\nCurrently, SHA256 is the DoD approved standard for cryptographic hash functions. DoD application developers must use SHA256 when creating cryptographic hashes, however, some non-DoD vendors might still use MD5 or SHA1 when generating a checksum hash for their application packages. It is important to use the same algorithms when validating the hash. If a non DoD vendor uses SHA1 when hashing their files, you must use SHA1 to validate the hash. Otherwise, the hashes will not match and a false positive indication of tampering will result.\n\nPrior to release of the application receiving an ATO/IATO for deployment into a DoD operational network, the application must be validated for integrity to ensure no tampering of source code or binaries has occurred. Failure to validate the integrity of application code and/or application binaries prior to deploying an application into a production environment may compromise the operational network.",
650
+ "severity": "medium"
651
+ },
652
+ {
653
+ "id": "V-6127",
654
+ "title": "The designer will ensure applications requiring user authentication are PK-enabled and are designed and implemented to support hardware tokens (e.g., CAC for NIPRNet).",
655
+ "description": "Non PK-enabled applications can allow unauthorized persons or entities to intercept information. A PK-enabled application gives assurance of the user accessing the application.",
656
+ "severity": "medium"
657
+ },
658
+ {
659
+ "id": "V-6128",
660
+ "title": "The designer and IAO will ensure PK-enabled applications are designed and implemented to use approved credentials authorized under the DoD PKI program.\n\n",
661
+ "description": "Using unapproved PKI certificates could allow access by non-DoD and unauthorized users.",
662
+ "severity": "medium"
663
+ },
664
+ {
665
+ "id": "V-6129",
666
+ "title": "The designer will ensure the application using PKI validates certificates for expiration, confirms origin is from a DoD authorized CA, and verifies the certificate has not been revoked by CRL or OCSP, and CRL cache (if used) is updated at least daily.",
667
+ "description": "The application should not provide access to users or other entities using expired, revoked or improperly signed certificates because the identity cannot be verified. ",
668
+ "severity": "high"
669
+ },
670
+ {
671
+ "id": "V-6130",
672
+ "title": "The designer will ensure the application has the capability to require account passwords that conform to DoD policy.",
673
+ "description": "Weak passwords can be guessed or easily cracked using various methods. This can potentially lead to unauthorized access to the application. ",
674
+ "severity": "medium"
675
+ },
676
+ {
677
+ "id": "V-6131",
678
+ "title": "The designer will ensure the application prevents the creation of duplicate accounts.\n",
679
+ "description": "Duplicate user accounts can create a situation where multiple users will be mapped to a single account. These duplicate user accounts may cause users to assume other users roles and privilege escalation. If user IDs are not unique and individual, user activity may not be accurately audited and unauthorized activity may not be seen by the audit system. ",
680
+ "severity": "medium"
681
+ },
682
+ {
683
+ "id": "V-6132",
684
+ "title": "The IAO will ensure all user accounts are disabled which are authorized to have access to the application but have not authenticated within the past 35 days.\n",
685
+ "description": "Disabling inactive userids ensures access and privilege are available to only those who need it.",
686
+ "severity": "low"
687
+ },
688
+ {
689
+ "id": "V-6133",
690
+ "title": "The IAO will ensure unnecessary built-in application accounts are disabled.\n",
691
+ "description": "Default passwords and properties of built-in accounts are often publicly available. Anyone with necessary knowledge, internal or external, can compromise an application using built-in accounts.",
692
+ "severity": "medium"
693
+ },
694
+ {
695
+ "id": "V-6134",
696
+ "title": "The IAO will ensure default passwords are changed.\n",
697
+ "description": "Default passwords can easily be compromised by attackers allowing immediate access to the applications.",
698
+ "severity": "high"
699
+ },
700
+ {
701
+ "id": "V-6135",
702
+ "title": "The designer will ensure the appropriate cryptography is used to protect stored DoD information if required by the information owner.\n\n",
703
+ "description": "Application data needs to be properly protected. Content of application data contains not only operationally sensitive data, but also personal data covered by the privacy act that needs to be protected internally and externally. Classifed data could be compromised if the required level of encryption is not utilized. ",
704
+ "severity": "medium"
705
+ },
706
+ {
707
+ "id": "V-6136",
708
+ "title": "The designer will ensure data transmitted through a commercial or wireless network is protected using an appropriate form of cryptography.\n\n",
709
+ "description": "Unencrypted sensitive application data could be intercepted in transit.",
710
+ "severity": "high"
711
+ },
712
+ {
713
+ "id": "V-6137",
714
+ "title": "The designer will ensure the application uses the Federal Information Processing Standard (FIPS) 140-2 validated cryptographic modules and random number generator if the application implements encryption, key exchange, digital signature, and hash functionality.\n\n\n",
715
+ "description": "Unapproved cryptographic module algorithms cannot be verified, and cannot be relied upon to provide confidentiality or integrity and DoD data may be compromised due to weak algorithms.",
716
+ "severity": "medium"
717
+ },
718
+ {
719
+ "id": "V-6138",
720
+ "title": "The designer will ensure the application design includes audits on all access to need-to-know information and key application events.\n\n",
721
+ "description": "Properly logged and monitored audit logs not only assist in combating threats, but also play a key role in diagnosis, forensics, and recovery. ",
722
+ "severity": "medium"
723
+ },
724
+ {
725
+ "id": "V-6139",
726
+ "title": "The designer will ensure the application has a capability to notify an administrator when audit logs are nearing capacity as specified in the system documentation.\n",
727
+ "description": "If an application audit log reaches capacity without warning, it will stop logging important system and security events. It could also open the system up for a type of denial of service attack, if an application halts with a full log.",
728
+ "severity": "low"
729
+ },
730
+ {
731
+ "id": "V-6140",
732
+ "title": "The designer and IAO will ensure the audit trail is readable only by the application and auditors and protected against modification and deletion by unauthorized individuals.",
733
+ "description": "Excessive permissions of audit records allow cover up of intrusion or misuse of the application.",
734
+ "severity": "medium"
735
+ },
736
+ {
737
+ "id": "V-6141",
738
+ "title": "The designer will ensure access control mechanisms exist to ensure data is accessed and changed only by authorized personnel. \n",
739
+ "description": "If access control mechanisms are not in place, anonymous users could potentially make unauthorized read and modification requests to the application data which is an immediate loss of the integrity of the data.\n\nAny vulnerability associated with a DoD Information system or system enclave, the exploitation of which, by a risk factor, will directly and immediately result in loss of Confidentiality, Availability or Integrity of the system\nassociated data.\n",
740
+ "severity": "high"
741
+ },
742
+ {
743
+ "id": "V-6142",
744
+ "title": "The designer will ensure all access authorizations to data are revoked prior to initial assignment, allocation or reallocation to an unused state.",
745
+ "description": "DoD data may be compromised if applications do not protect residual data in objects when they are allocated to an unused state. Access authorizations to data should be revoked prior to initial assignment, allocation or reallocation to an unused state because subsequent use of the object could allow access to the residual data.",
746
+ "severity": "medium"
747
+ },
748
+ {
749
+ "id": "V-6143",
750
+ "title": "The designer will ensure the application executes with no more privileges than necessary for proper operation.\n",
751
+ "description": "An application with unnecessary access privileges can give an attacker access to the underlying operating system.",
752
+ "severity": "medium"
753
+ },
754
+ {
755
+ "id": "V-6144",
756
+ "title": "The designer will ensure the application provides a capability to limit the number of logon sessions per user and per application. ",
757
+ "description": "If a user account has been compromised, limiting the number of sessions will allow the administrator to detect if the account has been compromised by an indication that the maximum number of sessions has been exceeded. Also, limiting the number of sessions affords an application the ability to prevent resources from becoming overloaded, and prevent a large scale DoS.",
758
+ "severity": "medium"
759
+ },
760
+ {
761
+ "id": "V-6145",
762
+ "title": "If the application contains classified data, the Program Manager will ensure a Security Classification Guide exists containing data elements and their classification.\n\n",
763
+ "description": "Without a classification guide the marking, storage, and output media of classified material can be inadvertently mixed with unclassified material, leading to its possible loss or compromise. ",
764
+ "severity": "medium"
765
+ },
766
+ {
767
+ "id": "V-6146",
768
+ "title": "The designer will ensure the application has the capability to mark sensitive/classified output when required.\n",
769
+ "description": "Failure to properly mark output could result in a disclosure of sensitive or classified data which is an immediate loss in confidentiality.\n\nAny vulnerability associated with a DoD Information system or system enclave, the exploitation of which, by a risk factor, will directly and immediately result in loss of Confidentiality, Availability or Integrity of the system\nassociated data.\n",
770
+ "severity": "high"
771
+ },
772
+ {
773
+ "id": "V-6147",
774
+ "title": "The Test Manager will ensure the application does not modify data files outside the scope of the application.\n",
775
+ "description": "Modifying data or files outside the scope of the application could lead to system instability in the event of an application problem. Also, a problem with this application could effect the operation of another application.",
776
+ "severity": "medium"
777
+ },
778
+ {
779
+ "id": "V-6148",
780
+ "title": "The designer will ensure threat models are documented and reviewed for each application release and updated as required by design and functionality changes or new threats are discovered.\n\n",
781
+ "description": "The lack of threat modeling will potentially leave unidentified threats for attackers to utilize to gain access to the application.",
782
+ "severity": "medium"
783
+ },
784
+ {
785
+ "id": "V-6149",
786
+ "title": "The designer will ensure the application does not contain source code that is never invoked during operation, except for software components and libraries from approved third-party products.\n",
787
+ "description": "Unused libraries increase a program size without any benefits. and may expose an enclave to possible malware. They can be used by a worm as program space, and increase the risk of a buffer overflow attack. As code evaluations are performed, to identify potential vulnerabilities or to identify security enhancements, unused code will not be evaluated and therefore, adds additional unknown risk. ",
788
+ "severity": "medium"
789
+ },
790
+ {
791
+ "id": "V-6150",
792
+ "title": "The Designer will ensure the application does not store configuration and control files in the same directory as user data.\n",
793
+ "description": "Application code and data require two very different security requirements, authentication and authorization (especially in file access). Without proper authentication and authorization there is the potential for existing code to be changed. These changes in code can lead to a Denial of Service (DoS) attack or allow malicious code to be placed within the application. In addition, collocating application data and code complicates many issues such as backup, recovery, directory access privilege, and upgrades.",
794
+ "severity": "medium"
795
+ },
796
+ {
797
+ "id": "V-6151",
798
+ "title": "The IAO will ensure unnecessary services are disabled or removed.\n",
799
+ "description": "Unnecessary services and software increases the security risk by increasing the potential attack surface of the application.",
800
+ "severity": "medium"
801
+ },
802
+ {
803
+ "id": "V-6152",
804
+ "title": "The designer will ensure the application is capable of displaying a customizable click-through banner at logon which prevents further activity on the information system unless and until the user executes a positive action to manifest agreement by clicking on a box indicating \"OK.”\n",
805
+ "description": "A logon banner is used to warn users against unauthorized entry and the possibility of legal action for unauthorized users, and advise all users that system use constitutes consent to monitoring, recording, and auditing, and that they have no expectation of privacy. Failure to display a logon warning banner without this type of information could adversely impact the ability to prosecute unauthorized users and users who abuse the system.",
806
+ "severity": "medium"
807
+ },
808
+ {
809
+ "id": "V-6153",
810
+ "title": "The designer will ensure the application removes authentication credentials on client computers after a session terminates. \n",
811
+ "description": "Leaving authentication credentials stored at the client level allows potential access to session information that can be used by subsequent users of a shared workstation and could also be exported and used on other workstation providing immediate unauthorized access to the application.\n",
812
+ "severity": "high"
813
+ },
814
+ {
815
+ "id": "V-6154",
816
+ "title": "The designer will ensure the application is organized by functionality and roles to support the assignment of specific roles to specific application functions. \n\n",
817
+ "description": "Without a least privilege policy, a user can gain access to information that he or she is not entitled to and can compromise confidentiality, integrity, and availability of the system. Also, minimizing privileges reduces the risk associated with hijacked accounts. Role based accounts can separate administrative and non-administrative rights in different roles.\n",
818
+ "severity": "medium"
819
+ },
820
+ {
821
+ "id": "V-6155",
822
+ "title": "The designer will ensure the application provides a capability to terminate a session and log out.\n",
823
+ "description": "If a user cannot log out of the application, subsequent users of a shared system could continue to use the previous user's session to the application.",
824
+ "severity": "medium"
825
+ },
826
+ {
827
+ "id": "V-6156",
828
+ "title": "The designer will ensure the application does not contain embedded authentication data. \n",
829
+ "description": "Authentication data stored in code could potentially be read and used by anonymous users to gain access to a backend database or application server. This could lead to immediate access to a backend server.\n",
830
+ "severity": "high"
831
+ },
832
+ {
833
+ "id": "V-6157",
834
+ "title": "The designer will ensure the application does not contain invalid URL or path references.\n",
835
+ "description": "Resource information in code can easily advertise available vulnerabilities to unauthorized users. By placing the references into configuration files, the files can be further protected by file permissions and will be separated for ease of updating.",
836
+ "severity": "medium"
837
+ },
838
+ {
839
+ "id": "V-6158",
840
+ "title": "The designer will ensure the application only embeds mobile code in e-mail which does not execute automatically when the user opens the e-mail body or attachment.\n",
841
+ "description": "The practice of opening e-mails with executable code renders the recipient vulnerable to Internet worms, malicious content, and other threats.",
842
+ "severity": "medium"
843
+ },
844
+ {
845
+ "id": "V-6159",
846
+ "title": "The designer will ensure unsigned Category 1A mobile code is not used in the application in accordance with DoD policy. ",
847
+ "description": "Use of un-trusted Level 1 and 2 mobile code technologies can introduce security vulnerabilities and malicious code into the client system. ",
848
+ "severity": "medium"
849
+ },
850
+ {
851
+ "id": "V-6160",
852
+ "title": "The designer will ensure unsigned Category 2 mobile code executing in a constrained environment has no access to local system and network resources.\n",
853
+ "description": "Mobile code cannot conform to traditional installation and configuration safeguards, therefore, the use of local operating system resources and spawning of network connections introduce harmful and uncertain effects.",
854
+ "severity": "medium"
855
+ },
856
+ {
857
+ "id": "V-6161",
858
+ "title": "The designer will ensure signed Category 1A and Category 2 mobile code signature is validated before executing.",
859
+ "description": "Untrusted mobile code may contain malware or malicious code and digital signatures provide a source of the content which is crucial to authentication and trust of the data. ",
860
+ "severity": "medium"
861
+ },
862
+ {
863
+ "id": "V-6162",
864
+ "title": "The designer will ensure uncategorized or emerging mobile code is not used in applications. \n",
865
+ "description": "Mobile code does not require any traditional software acceptance testing or security validation. Mobile code needs to follow sound policy to maintain a reasonable level of trust. Mobile code that does not fall into existing policy cannot be trusted.",
866
+ "severity": "medium"
867
+ },
868
+ {
869
+ "id": "V-6163",
870
+ "title": "The Designer will ensure the application removes temporary storage of files and cookies when the application is terminated.\n",
871
+ "description": "If the application does not remove temporary data (e.g., authentication data, temporary files containing sensitive data, etc.) this temporary data could be used to re-authenticate the user or allow unauthorized access to sensitive data.",
872
+ "severity": "medium"
873
+ },
874
+ {
875
+ "id": "V-6164",
876
+ "title": "The designer will ensure the application validates all input.\n",
877
+ "description": "Absence of input validation opens an application to improper manipulation of data. The lack of input validation can lead immediate access of application, denial of service, and corruption of data.\n",
878
+ "severity": "high"
879
+ },
880
+ {
881
+ "id": "V-6165",
882
+ "title": "The designer will ensure the application does not have buffer overflows, use functions known to be vulnerable to buffer overflows, and does not use signed values for memory allocation where permitted by the programming language.",
883
+ "description": "Buffer overflow attacks occur when improperly validated input is passed to an application overwriting of memory. Usually, buffer overflow errors stop execution of the application causing a minimum of denial of service and possibly a system call to a command shell giving the attacker access to the underlying operating system.",
884
+ "severity": "high"
885
+ },
886
+ {
887
+ "id": "V-6166",
888
+ "title": "The designer will ensure the application is not subject to error handling vulnerabilities.",
889
+ "description": "Unhandled exceptions leaves users with no means to properly respond to errors. Mishandled exceptions can transmit information that can be used in future security breaches. Properly handled errors allow applications to follow security procedures and guidelines in an informed manner. If too much information is revealed in the error message, it can be used as the basis for an attack.",
890
+ "severity": "medium"
891
+ },
892
+ {
893
+ "id": "V-6167",
894
+ "title": "The designer will ensure application initialization, shutdown, and aborts are designed to keep the application in a secure state.\n",
895
+ "description": "An application could be compromised, providing an attack vector into the enclave if application initialization, shutdown, and aborts are not designed to keep the application in a secure state. \n\nIf an application fails without closing or shutting down processes or open sessions; authentication and validation mechanisms are in doubt. Responsible application development practices must be applied to ensure the failed application is handled gracefully to prevent creation of security risks. ",
896
+ "severity": "medium"
897
+ },
898
+ {
899
+ "id": "V-6168",
900
+ "title": "The designer will ensure applications requiring server authentication are PK-enabled. \n\n\n",
901
+ "description": "Applications not using PKI are at risk of containing many password vulnerabilities. PKI is the preferred method of authentication.\n",
902
+ "severity": "medium"
903
+ },
904
+ {
905
+ "id": "V-6169",
906
+ "title": "The Program Manager and Designer will ensure the use of new IPs, data services, and associated ports used by the application are submitted to the appropriate approving authority for that organization, which in turn are submitted through the DoD Ports, Protocols, and Services Management (DoD PPSM). \n\n",
907
+ "description": "Failure to comply with DoD Ports, Protocols, and Services (PPS) Vulnerability Analysis and associated PPS mitigations may result in compromise of enclave boundary protections and/or functionality of the application.",
908
+ "severity": "medium"
909
+ },
910
+ {
911
+ "id": "V-6170",
912
+ "title": "The Program Manager and designer will ensure any IA, or IA enabled, products used by the application are NIAP approved or in the NIAP approval process.\n\n",
913
+ "description": "IA or IA enabled products that have not been evaluated by NIAP may degrade the security posture of the enclave, if they do not operate as expected, be configured incorrectly, or have hidden security flaws. ",
914
+ "severity": "low"
915
+ },
916
+ {
917
+ "id": "V-6171",
918
+ "title": "The IAO will ensure recovery procedures and technical system features exist so recovery is performed in a secure and verifiable manner. \n\nThe IAO will document circumstances inhibiting a trusted recovery. \n",
919
+ "description": "Without a disaster recovery plan, the application is susceptible to interruption in service due to damage within the processing site.",
920
+ "severity": "medium"
921
+ },
922
+ {
923
+ "id": "V-6172",
924
+ "title": "The IAO will ensure data backup is performed at required intervals in accordance with DoD policy.\n",
925
+ "description": "Without proper backups, the application is not protected from the loss of data or the operating environment in the event of hardware or software failure.",
926
+ "severity": "medium"
927
+ },
928
+ {
929
+ "id": "V-6173",
930
+ "title": "The IAO will ensure application audit trails are retained for at least 1 year for applications without SAMI data, and 5 years for applications including SAMI data.\n",
931
+ "description": "Log files are a requirement to trace intruder activity or to audit user activity.",
932
+ "severity": "medium"
933
+ },
934
+ {
935
+ "id": "V-6174",
936
+ "title": "The IAO will ensure production database exports have database administration credentials and sensitive data removed before releasing the export.\n",
937
+ "description": "Production database exports are often used to populate development databases. Test and development environments do not typically have the same rigid security protections that production environments do. When production data is used in test and development, the production database exports will need to be scrubbed to prevent information like passwords and other sensitive data from becoming available to development and test staff who may not have a need to know. Sensitive data should not be included in database exports because of classification, privacy, and other types of data protection requirement issues. Not all application developers have a need to know sensitive information such as HIPAA data, Privacy Act Data, production admin passwords or classified data.",
938
+ "severity": "medium"
939
+ },
940
+ {
941
+ "id": "V-6197",
942
+ "title": "The Program Manager will ensure a System Security Plan (SSP) is established to describe the technical, administrative, and procedural IA program and policies governing the DoD information system, and identifying all IA personnel and specific IA requirements and objectives. ",
943
+ "description": "If the DAA, IAM, or IAO are not performing assigned functions in accordance with DoD\nrequirements, it could impact the overall security of the facility, personnel, systems, and data, which\ncould lead to degraded security. If the DAA and the IAM/IAO are not appointed in writing, there will\nbe no way to ensure they understand the responsibilities of the position and the appointment\ncriteria. The lack of a complete System Security Plan (SSP) could lead to ineffective secure\noperations and impede accreditation. A System Identification Profile (SIP) and the DIACAP Implementation Plan (DIP) may be considered as sufficient proof of compliance as long as the documentation provides all of the information that is needed to meet the requirement.",
944
+ "severity": "medium"
945
+ },
946
+ {
947
+ "id": "V-6198",
948
+ "title": "The Program Manager and IAO will ensure development systems, build systems, test systems, and all components comply with all appropriate DoD STIGs, NSA guides, and all applicable DoD policies. \nThe Test Manager will ensure both client and server machines are STIG compliant.\n\n",
949
+ "description": "Applications developed on a non STIG compliant platform may not function when deployed to a STIG compliant platform, and therefore cause a potential denial of service to the users and the application, or require lessening security requirements on the client side of the application. ",
950
+ "severity": "medium"
951
+ },
952
+ {
953
+ "id": "V-7013",
954
+ "title": "The designer will create and update the Design Document for each release of the application.",
955
+ "description": "The detailed functional architecture must be documented to ensure all risks are assessed and mitigated to the maximum extent practical. Failure to do so may result in unexposed risk, and failure to mitigate the risk leading to failure or compromise of the system.",
956
+ "severity": "medium"
957
+ }
958
+ ]
959
+ }