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,1961 @@
1
+ {
2
+ "name": "stig_application_security_requirements_guide",
3
+ "date": "2011-12-28",
4
+ "description": "None",
5
+ "title": "Application Security Requirements Guide",
6
+ "version": "None",
7
+ "item_syntax": "^\\w-\\d+$",
8
+ "section_separator": null,
9
+ "items": [
10
+ {
11
+ "id": "V-26664",
12
+ "title": "The application must be able to define the maximum number of concurrent sessions for an application account globally, by account type, by account, or a combination thereof. ",
13
+ "description": "Application management includes the ability to control the number of users and user sessions that utilize an application. Limiting the number of allowed users and sessions per user is helpful in limiting risks related to Denial of Service attacks.\n\nThis requirement addresses concurrent session control for a single information system account and does not address concurrent sessions by a single user via multiple system accounts. \n\nThis requirement may be met via the application or by utilizing information system session control provided by a web server with specialized session management capabilities. If it has been specified that this requirement will be handled by the application, the capability to limit the maximum number of concurrent single user sessions must be designed and built into the application. \n\nThe organization will need to define the maximum number of concurrent sessions for an information system account globally, by account type, by account, or a combination thereof and the application shall enforce that requirement.\n\n",
14
+ "severity": "medium"
15
+ },
16
+ {
17
+ "id": "V-26665",
18
+ "title": "The application must ensure that the screen display is obfuscated when an application session lock event occurs. ",
19
+ "description": "A session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence. \n\nThe session lock is implemented at the point where session activity can be determined. This is typically at the operating system-level, but may be at the application-level. \n\nWhen the application design specifies the application rather than the operating system will determine when to lock the session, the application session lock event must include an obfuscation of the display screen so as to prevent other users from reading what was previously displayed. \n\nAn example of obfuscation is a screensaver creating a viewable pattern that overwrites the entire screen rendering the screen contents unreadable. \n",
20
+ "severity": "medium"
21
+ },
22
+ {
23
+ "id": "V-26666",
24
+ "title": "The application must support the requirement to initiate a session lock after an organization defined time period of system or application inactivity has transpired. ",
25
+ "description": "A session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their application session prior to vacating the vicinity, applications need to be able to identify when a user's application session has idled and take action to initiate the session lock.\n\nThe session lock is implemented at the point where session activity can be determined and/or controlled. This is typically at the operating system-level and results in a system lock, but may be at the application-level where the application interface window is secured instead. The organization defines the period of inactivity that shall pass before a session lock is initiated so this must be configurable. ",
26
+ "severity": "medium"
27
+ },
28
+ {
29
+ "id": "V-26671",
30
+ "title": "Applications must ensure that users can directly initiate session lock mechanisms which prevent further access to the system. ",
31
+ "description": "A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to log out because of the temporary nature of the absence. \n\nThe session lock is implemented at the point where session activity can be determined. This is typically at the operating system-level, but may be at the application-level. Rather than be forced to wait for a period of time to expire before the user session can be locked, applications need to provide users with the ability to manually invoke a session lock so users may secure their application should the need arise for them to temporarily vacate the immediate physical vicinity.",
32
+ "severity": "medium"
33
+ },
34
+ {
35
+ "id": "V-26672",
36
+ "title": "The application must have the ability to retain a session lock remaining in effect until the user re-authenticates using established identification and authentication procedures.",
37
+ "description": "A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to log out because of the temporary nature of the absence. \n\nThe session lock is implemented at the point where session activity can be determined. This is typically determined and performed at the operating system-level, but in some instances it may be at the application-level. \n\nRegardless of where the session lock is determined and implemented, once invoked the session lock shall remain in place until the user re-authenticates. No other system or application activity aside from re-authentication shall unlock the system. ",
38
+ "severity": "medium"
39
+ },
40
+ {
41
+ "id": "V-26673",
42
+ "title": "The application must maintain and support the use of organization defined security attributes to stored information. ",
43
+ "description": "Security attributes are abstractions representing the basic properties or characteristics of an entity (e.g., subjects and objects) with respect to safeguarding information. \n\nThese attributes are typically associated with internal data structures (e.g., records, buffers, files) within the information system and are used to enable the implementation of access control and flow control policies, reflect special dissemination, handling or distribution instructions, or support other aspects of the information security policy. \n\nOne example includes marking data as classified or FOUO. These security attributes may be assigned manually or during data processing but either way, it is imperative these assignments are maintained while the data is in storage. If the security attributes are lost when the data is stored, there is the risk of a data compromise.",
44
+ "severity": "medium"
45
+ },
46
+ {
47
+ "id": "V-26674",
48
+ "title": "The application must support and maintain the binding of organization defined security attributes to information in process. ",
49
+ "description": "Security attributes are abstractions representing the basic properties or characteristics of an entity (e.g., subjects and objects) with respect to safeguarding information. \n\nThese attributes are typically associated with internal data structures (e.g., records, buffers, files) within the application and are used to enable the implementation of access control and flow control policies, reflect special dissemination, handling or distribution instructions, or support other aspects of the information security policy. \n\nOrganizations define the security attributes of their data (e.g., classified, FOUO). Applications generating and/or processing data assigned these security attributes must maintain the binding of these security attributes to the data while it is being processed. \n\nIf the application does not maintain the data security attributes while it processes the data, there is a risk of data compromise.",
50
+ "severity": "medium"
51
+ },
52
+ {
53
+ "id": "V-26675",
54
+ "title": "The application must maintain and support the use of organization defined security attributes to information in transmission. ",
55
+ "description": "Security attributes are abstractions representing the basic properties or characteristics of an entity (e.g., subjects and objects) with respect to safeguarding information. \n\nThese attributes are typically associated with internal data structures (e.g., records, buffers, files) within the application and are used to enable the implementation of access control and flow control policies, reflect special dissemination, handling or distribution instructions, or support other aspects of the information security policy. \n\nOrganizations define the security attributes of their data (e.g., classified, FOUO). Applications generating and/or processing data assigned these organization defined security attributes must maintain the binding of these attributes to the data when the data are transmitted.\n\nIf the application does not maintain the data security attributes when it transmits the data, there is a risk of data compromise.",
56
+ "severity": "medium"
57
+ },
58
+ {
59
+ "id": "V-26676",
60
+ "title": "The application must dynamically reconfigure security attributes in accordance with an identified security policy as information is created and combined. ",
61
+ "description": "Security attributes are abstractions representing the basic properties or characteristics of an entity (e.g., subjects and objects) with respect to safeguarding information. \n\nThese attributes are typically associated with internal data structures (e.g., data records, buffers, files) within the application and are used to enable the implementation of access control and flow control policies, reflect special dissemination, handling or distribution instructions, or support other aspects of the information security policy. \n\nOrganizations define the security attributes of their data (e.g., classified, FOUO).\n\nWhen application data is created and/or combined, data security attributes defined by organizational policy must be dynamically created and/or updated to reflect the potential change in data sensitivity and characteristics.\n\nIf the application does not dynamically reconfigure the data security attributes as data is created and combined, there is the possibility that classified data may become comingled with unclassified data resulting in a data compromise.",
62
+ "severity": "medium"
63
+ },
64
+ {
65
+ "id": "V-26677",
66
+ "title": "The application must provide the capability to specify administrative users and grant them the right to change application security attributes pertaining to application data.",
67
+ "description": "Security attributes are abstractions representing the basic properties or characteristics of an entity (e.g., subjects and objects) with respect to safeguarding information. \n\nSecurity attributes are typically associated with internal data structures (e.g., records, buffers, files) within the application and are used to enable the implementation of access control and flow control policies, reflect special dissemination, handling or distribution instructions, or support other aspects of the organizational information security policy.\n\nOrganizations define the security attributes of their data (e.g., classified, FOUO, sensitive).\n\nChanging security attributes within an application is usually performed by a person or persons who have been delegated the task and the associated responsibilities accorded to application administrative personnel.\n\nApplications creating and/or assigning security attributes to data must have the flexibility to allow authorized staff to change these security attributes.\n",
68
+ "severity": "medium"
69
+ },
70
+ {
71
+ "id": "V-26678",
72
+ "title": "The application must maintain the binding of security attributes to information with sufficient assurance that the information/attribute association can be used as the basis for automated policy actions.",
73
+ "description": "Security attributes are abstractions representing the basic properties or characteristics of an entity (e.g., subjects and objects) with respect to safeguarding information. \n\nThese attributes are typically associated with internal data structures (e.g., records, buffers, files) within the information system and are used to enable the implementation of access control and flow control policies, reflect special dissemination, handling or distribution instructions, or support other aspects of the information security policy. \n\nExamples of application security attributes are classified, FOUO, sensitive, etc. \n\nApplications maintaining the binding of organization defined security attributes to data must ensure the information-attribute associations can be used as a basis for automated policy actions.\n\nThe integrity of security attribute values is critical to ensuring that automated policy actions are performed accurately. Examples of automated policy actions include automated access control decisions (e.g., Mandatory Access Control decisions), or decisions to release (or not release) information (e.g., information flows via cross domain systems). ",
74
+ "severity": "medium"
75
+ },
76
+ {
77
+ "id": "V-26679",
78
+ "title": "The application must allow authorized users to associate security attributes with information.",
79
+ "description": "Security attributes are abstractions representing the basic properties or characteristics of an entity (e.g., subjects and objects) with respect to safeguarding information. \n\nThese attributes are typically associated with internal data structures (e.g., records, buffers, files) within the information system and are used to enable the implementation of access control and flow control policies, reflect special dissemination, handling or distribution instructions, or support other aspects of the information security policy. \n\nExamples of application security attributes are classified, FOUO, sensitive, etc. \n\nThroughout the course of normal usage, authorized users of applications that handle sensitive data will have the need to associate security attributes with information. Applications that maintain the binding of organization defined security attributes to data must ensure authorized users can associate security attributes with information.",
80
+ "severity": "medium"
81
+ },
82
+ {
83
+ "id": "V-26680",
84
+ "title": "The application must display security attributes in human-readable form on each object output from the system to system output devices to identify an organization-identified set of special dissemination, handling, or distribution instructions using organization-identified human readable, standard naming conventions.",
85
+ "description": "Security attributes are abstractions representing the basic properties or characteristics of an entity (e.g., subjects and objects) with respect to safeguarding information. \n\nThese attributes are typically associated with internal data structures (e.g., records, buffers, files, registry keys) within the information system and are used to enable the implementation of access control and flow control policies, reflect special dissemination, handling or distribution instructions, or support other aspects of the information security policy. \n\nExamples of application security attributes are classified, FOUO, sensitive, etc. \n\nSecurity attributes need to be displayed in human readable form in order to determine how the data should be disseminated, handled and what distribution instructions apply to the data. When applications generate or output data, the associated security attributes need to be displayed.\n\nObjects output from the information system include pages, screens, or equivalent. \n\nOutput devices include printers and video displays on computer terminals, monitors, screens on notebook/laptop computers and personal digital assistants. ",
86
+ "severity": "medium"
87
+ },
88
+ {
89
+ "id": "V-26681",
90
+ "title": "Applications providing remote access capabilities must utilize approved cryptography to protect the confidentiality of remote access sessions. ",
91
+ "description": "Remote access is any access to an organizational information system by a user (or an information system) communicating through an external, non-organization-controlled network (e.g., the Internet). Examples of remote access methods include dial-up, broadband, and wireless. \n\nRemote network access is accomplished by leveraging common communication protocols and establishing a remote connection. These connections will typically occur over either the public Internet or the Public Switched Telephone Network (PSTN). Since neither of these internetworking mechanisms are private nor secure, if cryptography is not used, then the session data traversing the remote connection could be intercepted and compromised. Cryptography provides a means to secure the remote connection so as to prevent unauthorized access to the data traversing the remote access connection thereby providing a degree of confidentiality. The encryption strength of mechanism is selected based on the security categorization of the information traversing the remote connection.",
92
+ "severity": "medium"
93
+ },
94
+ {
95
+ "id": "V-26682",
96
+ "title": "Applications providing remote access connectivity must use cryptography to protect the integrity of the remote access session. ",
97
+ "description": "Remote access is any access to an organizational information system by a user (or an information system) communicating through an external, non-organization-controlled network (e.g., the Internet). Examples of remote access methods include dial-up, broadband, and wireless. \n\nRemote network access is accomplished by leveraging common communication protocols and establishing a remote connection. These connections will typically occur over the public Internet, the Public Switched Telephone Network (PSTN) or sometimes both. Since neither of these internetworking mechanisms are private nor secure, if cryptography is not used, then the session data traversing the remote connection could be intercepted and potentially modified. Cryptography provides a means to secure the remote connection so as to prevent unauthorized access to the data traversing the remote access connection thereby providing a degree of integrity. The encryption strength of mechanism is selected based on the security categorization of the information traversing the remote connection.",
98
+ "severity": "medium"
99
+ },
100
+ {
101
+ "id": "V-26684",
102
+ "title": "The application must employ automated mechanisms to facilitate the monitoring and control of remote access methods.",
103
+ "description": "Remote network access is accomplished by leveraging common communication protocols and establishing a remote connection. These connections will occur over the public Internet. \n\nRemote access is any access to an organizational information system by a user (or an information system) communicating through an external, non-organization-controlled network (e.g., the Internet). Examples of remote access methods include dial-up, broadband, and wireless. \n\nAutomated monitoring of remote access sessions allows organizations to audit user activities on a variety of information system components (e.g., servers, workstations, notebook/laptop computers) and to ensure compliance with remote access policy.\n\nRemote access applications such as those providing remote access to network devices and information systems and are individually configured with no monitoring or automation capabilities increase risk and makes remote user access management difficult at best.\n\nApplications providing remote access capability need to provide the ability to automatically monitor and control remote user sessions. This includes the capability to directly trigger actions based on user activity or pass information and or data to a separate application or entity that can then perform automated tasks based on the information. ",
104
+ "severity": "medium"
105
+ },
106
+ {
107
+ "id": "V-26685",
108
+ "title": "Applications providing remote access must have capabilities that allow all remote access to be routed through managed access control points.",
109
+ "description": "This requirement relates to the use of applications providing remote access services. Remote access is any access to an organizational information system by a user (or an information system) communicating through an external, non-organization-controlled network (e.g., the Internet). Examples of remote access methods include dial-up, broadband, and wireless. \n\nRemote network access is accomplished by leveraging common communication protocols and establishing a remote connection. These connections will typically occur over either the public Internet or the Public Switched Telephone Network (PSTN). \n\nPlease note, utilization of a virtual private network when adequately provisioned with appropriate security controls, is considered an internal network and is not considered remote access.\n\nWithout centralized control of inbound connections, management of these access points is difficult at best. It is critical that applications providing or offering remote access capabilities also have the capability to route the access through managed access control points. \n\nOne example is the use of software applications such as PCAnywhere or Terminal Services. Rather than having PCAnywhere installed on multiple systems, remote access software must have the capability to be centrally managed and controlled so there are not multiple disparate access points into the environment.\n\nApplications providing remote access must have capabilities that allow all remote access to be routed through managed access control points.",
110
+ "severity": "medium"
111
+ },
112
+ {
113
+ "id": "V-26686",
114
+ "title": "The application must monitor for unauthorized remote connections to the information system on an organization-defined frequency.",
115
+ "description": "Organizations need to monitor for unauthorized remote access connections to information systems in order to determine if break-in attempts or other unauthorized activity is occurring. There are already other SRG requirements for applications to generate audit connection logs to record connection activity. It is for the organization to determine which of those audited connections is unauthorized. \n\nThis task is usually handled by the IDS, log alarming or some other security mechanism specifically designed to automate and address this requirement. \n\nThis requirement is NA for applications not designed to monitor for unauthorized remote connections to information systems. Applications designed to meet this requirement must be able to do so on an organization-defined frequency.",
116
+ "severity": "medium"
117
+ },
118
+ {
119
+ "id": "V-26687",
120
+ "title": "The application must ensure remote sessions for accessing an organization-defined list of security functions and security-relevant information are audited.",
121
+ "description": "Remote access is any access to an organizational information system by a user (or an information system) communicating through an external, non-organization-controlled network (e.g., the Internet). Examples of remote access methods include dial-up, broadband, and wireless. \n\nRemote network and system access is accomplished by leveraging common communication protocols to establish a remote connection. These connections will typically originate over either the public Internet or the Public Switched Telephone Network (PSTN). Neither of these internetworking mechanisms is private or secure and they do not by default restrict access to networked resources once connectivity is established. \n\nNumerous best practices are employed to protect remote connections such as utilizing encryption to protect data sessions and firewalls to restrict and control network connectivity. In addition to these protections, auditing must also be utilized in order to track system activity, assist in diagnosing system issues and provide evidence needed for forensic investigations post security incident. \n\nWhen organizations define security related application functions or security-related application information, it is incumbent upon the application providing access to that data to ensure auditing of remote connectivity to those resources occurs in support of organizational requirements. \n\nRemote access to security functions (e.g., user management, audit log management, etc.) and security relevant information requires the activity be audited by the organization. Any application providing remote access must support organizational requirements to audit access or organization-defined security functions and security-relevant information.",
122
+ "severity": "medium"
123
+ },
124
+ {
125
+ "id": "V-26688",
126
+ "title": "Applications must support the capability to disable network protocols deemed by the organization to be nonsecure except for explicitly identified components in support of specific operational requirements.",
127
+ "description": "This control is related to remote access but more specifically to the networking protocols allowing systems to communicate. Remote access is any access to an organizational information system by a user (or an information system) communicating through an external, non-organization-controlled network (e.g., the Internet). Examples of remote access methods include dial-up, broadband, and wireless. \n\nSome networking protocols allowing remote access may not meet security requirements to protect data and components. Bluetooth and peer-to-peer networking are examples of less than secure networking protocols. \n\nThe DoD Ports, Protocols, and Services Management (PPSM) program provides implementation guidance on the use of IP protocols and application and data services traversing the DoD Networks in a manner supporting net-centric operations. \n\nApplications implementing or utilizing remote access network protocols need to ensure the application is developed and implemented in accordance with the PPSM requirements. In situations where it has been determined that specific operational requirements outweigh the risks of enabling an insecure network protocol, the organization may pursue a risk acceptance.",
128
+ "severity": "medium"
129
+ },
130
+ {
131
+ "id": "V-26692",
132
+ "title": "The application must monitor for unauthorized connections of mobile devices to organizational information systems.",
133
+ "description": "Mobile devices include portable storage media (e.g., USB memory sticks, external hard disk drives) and portable computing and communications devices with information storage capability (e.g., notebook/laptop computers, personal digital assistants, cellular telephones, digital cameras, and audio recording devices). \n\nOrganization-controlled mobile devices include those devices for which the organization has the authority to specify and the ability to enforce specific security requirements.\n\nUsage restrictions and implementation guidance related to mobile devices include, configuration management, device identification and authentication, implementation of mandatory protective software (e.g., malicious code detection, firewall), scanning devices for malicious code, updating virus protection software, scanning for critical software updates and patches, conducting primary operating system (and possibly other resident software) integrity checks, and disabling unnecessary hardware (e.g., wireless, infrared).\n\nIn order to detect unauthorized mobile device connections, organizations must first identify and document what mobile devices are authorized. \n\nMonitoring for unauthorized connections is usually handled by configuration management software, log alarming, IDS, or some other security mechanism specifically designed to automate and address this requirement. \n\nThis requirement is NA for applications not designed to monitor for unauthorized connections to information systems. Applications designed to meet this requirement must be able to do so according to organizational usage restrictions and policy.",
134
+ "severity": "medium"
135
+ },
136
+ {
137
+ "id": "V-26693",
138
+ "title": "Applications must not enable information system functionality providing the capability for automatic execution of code on mobile devices without user direction.",
139
+ "description": "Mobile devices include portable storage media (e.g., USB memory sticks, external hard disk drives) and portable computing and communications devices with information storage capability (e.g., notebook/laptop computers, personal digital assistants, cellular telephones, digital cameras, and audio recording devices). \n\nAuto execution vulnerabilities can result in malicious programs being automatically executed. Examples of information system functionality providing the capability for automatic execution of code are Auto Run and Auto Play. Auto Run and Auto Play are components of the Microsoft Windows operating system dictating what actions the system takes when a drive is mounted. This requirement is designed to address vulnerabilities arising when mobile devices such as USB memory sticks or other mobile storage devices are automatically mounted and applications are automatically invoked without user knowledge or acceptance.\n",
140
+ "severity": "medium"
141
+ },
142
+ {
143
+ "id": "V-26699",
144
+ "title": "Applications must provide automated mechanisms for supporting user account management. The automated mechanisms may reside within the application itself or may be offered by the operating system or other infrastructure providing automated account management capabilities.",
145
+ "description": "A comprehensive application account management process that includes automation helps to ensure that accounts designated as requiring attention are consistently and promptly addressed. Examples include but are not limited to using automation to take action on multiple accounts designated as inactive, suspended or terminated or by disabling accounts located in non-centralized account stores such as multiple servers.\n\nEnterprise environments make application user account management challenging and complex. A user management process requiring administrators to manually address account management functions adds risk of potential oversight.\n\nAutomated mechanisms may be comprised of differing technologies that when placed together contain an overall automated mechanism supporting an organization's automated account management requirements.",
146
+ "severity": "medium"
147
+ },
148
+ {
149
+ "id": "V-26701",
150
+ "title": "The application must provide a mechanism to automatically terminate accounts designated as temporary or emergency accounts after an organization-defined time period.",
151
+ "description": "Temporary application accounts could ostensibly be used in the event of a vendor support visit where a support representative requires a temporary unique account in order to perform diagnostic testing or conduct some other support related activity. When these types of accounts are created, there is a risk that the temporary account may remain in place and active after the support representative has left. \n\nTo address this, in the event temporary application accounts are required, the application must ensure that accounts designated as temporary in nature shall automatically terminate these accounts after an organization-defined time period. Such a process and capability greatly reduces the risk that accounts will be misused, hijacked, or data compromised. \n\nTo address the multitude of policy based access requirements, many application developers choose to integrate their applications with enterprise level authentication/access mechanisms meeting or exceeding access control policy requirements. Such integration allows the application developer to off-load those access control functions and focus on core application features and functionality. \n\nExamples of enterprise level authentication/access mechanisms include but are not limited to, Active Directory and LDAP.\n",
152
+ "severity": "medium"
153
+ },
154
+ {
155
+ "id": "V-26703",
156
+ "title": "The application must be capable of automatically disabling accounts after a 35 day period of account inactivity.",
157
+ "description": "Users are often the first line of defense within an application. Active users take notice of system and data conditions and are usually the first to notify systems administrators when they notice a system or application related anomaly pertaining to their own account. Inactive user accounts pose a risk to systems and applications. Owners of inactive accounts will not notice if unauthorized access to their user account has been obtained. \n\nAttackers that are able to exploit an inactive account can potentially obtain and maintain undetected access to an application. Applications need to track periods of user inactivity and disable application accounts after an organization-defined period of inactivity. Such a process greatly reduces the risk that accounts will be misused, hijacked, or data compromised. \n\nTo address the multitude of policy based access requirements, many application developers choose to integrate their applications with enterprise level authentication/access mechanisms that meet or exceed access control policy requirements. Such integration allows the application developer to off-load those access control functions and focus on core application features and functionality. \n\nExamples of enterprise level authentication/access mechanisms include but are not limited to, Active Directory and LDAP.",
158
+ "severity": "medium"
159
+ },
160
+ {
161
+ "id": "V-26705",
162
+ "title": "Applications must support the requirement to automatically audit account creation.",
163
+ "description": "Once an attacker establishes initial access to a system, they often attempt to create a persistent method of re-establishing access. One way to accomplish this is for the attacker to simply create a new account. \n\nAuditing of account creation is one method and best practice for mitigating this risk. A comprehensive account management process will ensure an audit trail documents the creation of application user accounts and, as required, notifies administrators and/or application owners exists. Such a process greatly reduces the risk that accounts will be surreptitiously created and provides logging that can be used for forensic purposes. \n\nTo address the multitude of policy based access requirements, many application developers choose to integrate their applications with enterprise level authentication/access mechanisms meeting or exceeding access control policy requirements. Such integration allows the application developer to off-load those access control functions and focus on core application features and functionality. \n\nExamples of enterprise level authentication/access mechanisms include but are not limited to, Active Directory and LDAP.",
164
+ "severity": "medium"
165
+ },
166
+ {
167
+ "id": "V-26706",
168
+ "title": "Applications must support the requirement to automatically audit account modification.",
169
+ "description": "Once an attacker establishes initial access to a system, they often attempt to create a persistent method of re-establishing access. One way to accomplish this is for the attacker to simply modify an existing account. \n\nAuditing of account modification is one method and best practice for mitigating this risk. A comprehensive application account management process ensures an audit trail automatically documents the modification of application user accounts and, as required, notifies administrators, application owners, and/or appropriate individuals. Applications must provide this capability directly, leveraging complimentary technology providing this capability or a combination thereof.\n\nAutomated account auditing processes greatly reduces the risk that accounts will be surreptitiously modified and provides logging that can be used for forensic purposes. \n\nTo address the multitude of policy based access requirements, many application developers choose to integrate their applications with enterprise level authentication/access mechanisms meeting or exceeding access control policy requirements. Such integration allows the application developer to off-load those access control functions and focus on core application features and functionality. \n\nExamples of enterprise level authentication/access mechanisms include but are not limited to, Active Directory and LDAP.",
170
+ "severity": "medium"
171
+ },
172
+ {
173
+ "id": "V-26730",
174
+ "title": "The application must automatically audit account disabling actions and notify appropriate individuals.",
175
+ "description": "When application accounts are disabled, user accessibility is affected. Accounts are utilized for identifying individual application users or for identifying the application processes themselves. \n\nIn order to detect and respond to events affecting user accessibility and application processing, applications must audit account disabling actions and, as required, notify the appropriate individuals, so they can investigate the event. \n\nSuch a capability greatly reduces the risk that application accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. \n\nTo address the multitude of policy based access requirements, many application developers choose to integrate their applications with enterprise level authentication/access mechanisms meeting or exceeding access control policy requirements. Such integration allows the application developer to off-load those access control functions and focus on core application features and functionality. \n\nExamples of enterprise level authentication/access mechanisms include but are not limited to, Active Directory and LDAP.",
176
+ "severity": "medium"
177
+ },
178
+ {
179
+ "id": "V-26731",
180
+ "title": "The application must automatically audit account termination and notify appropriate individuals.",
181
+ "description": "When application accounts are terminated, user accessibility is affected. Accounts are utilized for identifying individual application users or for identifying the application processes themselves. \n\nIn order to detect and respond to events affecting user accessibility and application processing, applications must audit account terminating actions and notify the appropriate individuals, so they can investigate the event. Such a capability greatly reduces the risk that application accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. \n\nTo address the multitude of policy based audit requirements, and to ease the burden of meeting these requirements, many application developers choose to integrate their applications with enterprise level authentication/access/audit mechanisms meeting or exceeding access control policy requirements. Examples include but are not limited to, Active Directory and LDAP.",
182
+ "severity": "medium"
183
+ },
184
+ {
185
+ "id": "V-26732",
186
+ "title": "Applications must support the organizational requirement to automatically monitor on atypical usage of accounts.",
187
+ "description": "Atypical account usage is behavior that is not part of normal usage cycles. For example, user account activity occurring after hours or on weekends. \n\nA comprehensive account management process will ensure that an audit trail which documents the use of application user accounts and as required, notifies administrators and/or application owners exists. \n\nSuch a process greatly reduces the risk that compromised user accounts will continue to be used by unauthorized persons and provides logging that can be used for forensic purposes. \n",
188
+ "severity": "medium"
189
+ },
190
+ {
191
+ "id": "V-26733",
192
+ "title": "Service Oriented Architecture (SOA) based applications must dynamically manage user privileges and associated access authorizations.",
193
+ "description": "Web services are web applications providing a method of communication between two or more different electronic devices. They are normally used by applications to provide each other with data. \n\nThe World Wide Web Consortium (W3C) defines a web service as:\n\"a software system designed to support interoperable machine to machine interaction over a network. It has an interface described in a machine processable format (specifically, Web Services Description Language or WSDL). Other systems interact with the web service in a manner prescribed by its description using Simple Object Access Protocol (SOAP) messages typically conveyed using HTTP with an XML serialization in conjunction with other web-related standards\".\n\nWeb services provide different challenges in managing access than what is presented by typical user based applications. In contrast to conventional access control approaches which employ static information system accounts and predefined sets of user privileges, many service-oriented architecture implementations rely on run time access control decisions facilitated by dynamic privilege management. While user identities remain relatively constant over time, user privileges may change more frequently based on the ongoing mission/business requirements and operational needs of the organization. \n\nService Oriented Architecture (SOA) based applications need to take this possibility into account and leverage dynamic access control methodologies.",
194
+ "severity": "medium"
195
+ },
196
+ {
197
+ "id": "V-26734",
198
+ "title": "The application must employ automated mechanisms enabling authorized users to make information sharing decisions based on access authorizations of sharing partners and access restrictions on information to be shared.",
199
+ "description": "User based collaboration and information sharing applications present challenges regarding classification and dissemination of information generated and shared among the application users. These types of applications are intended to share information created and stored within the application; however, not all users have a need to view all data created or stored within the collaboration tool. \n\nCollaboration tools and all applications handling information that may be restricted in some manner (e.g., privileged medical, contract-sensitive, proprietary, personally identifiable information, special access programs/compartments) must provide the capability to automatically enable authorized users to make information sharing decisions based upon access authorizations. \n\nDepending on the information-sharing circumstance, the sharing partner may be defined at the individual, group, or organization level and information may be defined by specific content, type, or security categorization. ",
200
+ "severity": "medium"
201
+ },
202
+ {
203
+ "id": "V-26735",
204
+ "title": "The application must enforce approved authorizations for logical access to the system in accordance with applicable policy.",
205
+ "description": "Strong access controls are critical to securing application data. Access control policies (e.g., identity-based policies, role-based policies, attribute-based policies) and access enforcement mechanisms (e.g., access control lists, access control matrices, cryptography) must be employed by applications, when applicable, to control access between users (or processes acting on behalf of users) and objects (e.g., devices, files, records, processes, programs, domains) in the information system.\n\nConsideration should be given to the implementation of an audited, explicit override of automated mechanisms in the event of emergencies or other serious events. If encryption of stored information is employed as an access enforcement mechanism, the cryptography used is FIPS 140-2 (as amended) compliant.\n",
206
+ "severity": "medium"
207
+ },
208
+ {
209
+ "id": "V-26737",
210
+ "title": "The application must enforce dual authorization, based on organizational policies and procedures for organization-defined privileged commands.",
211
+ "description": "Dual authorization requires 2 distinct approving authorities to approve the use of an application command prior to it being invoked. This capability is typically reserved for specific application functionality where the application owner, data owner or organization requires an additional assurance that certain application commands are only invoked under the utmost authority. When a policy is defined stating that certain commands contained within an application require dual-authorization before they may be invoked, or when an organization defines a set of application related privileged commands requiring dual authorization, the application must support those requirements. \n\nDue to potential delays in obtaining secondary approvals prior to executing commands, dual authorization mechanisms should not be utilized when an immediate response is necessary in order to ensure public and/or environmental safety. If, after due consideration, it is determined the benefit of dual authorization outweighs identified risks, the organization must establish documented procedures, assign specific personnel to provide approvals and establish operational exercises assuring that any risks to public safety, environmental safety or otherwise, are minimized. ",
212
+ "severity": "medium"
213
+ },
214
+ {
215
+ "id": "V-26748",
216
+ "title": "Applications must enforce non-discretionary access control policies over users and resources where the policy rule set for each policy specifies:\naccess control information (i.e., attributes) employed by the policy rule set (e.g., position, nationality, age, project, time of day).",
217
+ "description": "Access control policies (e.g., identity-based policies, role-based policies, attribute-based policies) and access enforcement mechanisms (e.g., access control lists, access control matrices, cryptography) are employed to control access between users (or processes acting on behalf of users) and objects (e.g., devices, files, records, processes, programs, domains). \n\nNon-discretionary access controls are controls determined by policy makers, are managed centrally or by a central authority and may not be changed at the discretion of ordinary application users. Data protection requirements may result in a non-discretionary access control policy being specified as part of the application design. \n\nNon-discretionary access controls are employed at the application level to restrict and control access to application data thereby providing increased information security for the organization. \n\nPolicy rule sets would be developed to establish that each user receives only the information to which the user is authorized. The policy rule set will specify that each application user account will be assigned attributes including information such as position, nationality, age, project, time of data, etc.\n\nApplications must enforce these non-discretionary access control policies over application users and resources.",
218
+ "severity": "medium"
219
+ },
220
+ {
221
+ "id": "V-26750",
222
+ "title": "The application must enforce Discretionary Access Control (DAC) policy allowing users to specify and control sharing by named individuals, groups of individuals, or by both, limiting propagation of access rights and includes or excludes access to the granularity of a single user.",
223
+ "description": "Access control policies (e.g., identity-based policies, role-based policies, attribute-based policies) and access enforcement mechanisms (e.g., access control lists, access control matrices, cryptography) are employed by organizations to control access between users (or processes acting on behalf of users) and objects (e.g., devices, files, records, processes, programs, domains). \n\nDAC is a type of access control methodology serving as a means of restricting access to objects and data based on the identity of subjects and/or groups to which they belong. It is discretionary in the sense that application users with the appropriate permissions to access an application resource or data have the discretion to pass that permission on to another user either directly or indirectly.\n\nData protection requirements may result in a DAC policy being specified as part of the application design. Discretionary access controls would be employed at the application level to restrict and control access to application objects and data thereby providing increased information security for the organization. \n\nWhen DAC controls are employed, those controls must limit sharing to named application users, groups of users or both. The application DAC controls must also limit the propagation of access rights and have the ability to exclude access to data down to the granularity of a single user.\n\n",
224
+ "severity": "medium"
225
+ },
226
+ {
227
+ "id": "V-26751",
228
+ "title": "The application must prevent access to organization-defined security-relevant information except during secure, non-operable system states.",
229
+ "description": "Security-relevant information is any information within the information system that can potentially impact the operation of security functions in a manner possibly resulting in failure to enforce the system security policy or maintain isolation of code and data. Organizations may define specific security relevant information requiring protection.\n\nFiltering rules for routers and firewalls, cryptographic key management information, key configuration parameters for security services, and access control lists are examples of security-relevant information. \n\nSecure, non-operable system states are states in which the information system is not performing mission/business-related processing (e.g., the system is off-line for maintenance, troubleshooting, boot-up, shutdown). \n\nAccess to these types of data is to be prevented unless the system is in a maintenance mode or has otherwise been brought off-line. The goal is to minimize the potential a security configuration or data may be dynamically and perhaps, surreptitiously overwritten or changed (without going through a formal system change process that can document the changes).",
230
+ "severity": "medium"
231
+ },
232
+ {
233
+ "id": "V-26752",
234
+ "title": "Applications providing information flow control must enforce approved authorizations for controlling the flow of information within the system in accordance with applicable policy.",
235
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nFrom an application perspective, flow control is established once application data flow modeling has been completed. Data flow modeling can be described as:\n\nthe process of identifying, modeling and documenting how data moves around an information system. Data flow modeling examines processes (activities transforming data from one form to another), data stores (the holding areas for data), external entities (what sends data into a system or receives data from a system, and data flows (routes by which data can flow). \n\nOnce the application data flows have been identified, corresponding flow controls can be applied at the appropriate points.\n\nA few examples of flow control restrictions include: keeping export controlled information from being transmitted in the clear to the Internet and blocking information marked as classified but is being transported to an unapproved destination. Information flow control policies and enforcement mechanisms are commonly employed by organizations to control the flow of information between designated sources and destinations (e.g., networks, individuals, devices) within information systems and between interconnected systems. Flow control is based on the characteristics of the information and/or the information path.\n\nApplication specific examples of flow control enforcement can be found in information protection software (e.g., guards, proxies, gateways and cross domain solutions) employing rule sets or establish configuration settings restricting information system services or provide message-filtering capability based on content (e.g., using key word searches or document characteristics). \n\nApplications providing information flow control must be able to enforce approved authorizations for controlling the flow of information within the system in accordance with applicable policy.\n",
236
+ "severity": "medium"
237
+ },
238
+ {
239
+ "id": "V-26754",
240
+ "title": "Applications providing information flow control must enforce approved authorizations for controlling the flow of information between interconnected systems in accordance with applicable policy. ",
241
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nFrom an application perspective, flow control is established once application data flow modeling has been completed. Data flow modeling can be described as:\n\nthe process of identifying, modeling and documenting how data moves around an information system. Data flow modeling examines processes (activities that transform data from one form to another), data stores (the holding areas for data), external entities (what sends data into a system or receives data from a system, and data flows (routes by which data can flow). \n\nOnce the application data flows have been identified, corresponding flow controls can be applied at the appropriate points.\n\nA few examples of flow control restrictions include: keeping export controlled information from being transmitted in the clear to the Internet and blocking information that is marked as classified but is being transported to an unapproved destination. Information flow control policies and enforcement mechanisms are commonly employed by organizations to control the flow of information between designated sources and destinations (e.g., networks, individuals, devices) within information systems and between interconnected systems. Flow control is based on the characteristics of the information and/or the information path.\n\nApplication specific examples of flow control enforcement can be found in information protection software (e.g., guards, proxies, gateways and cross domain solutions) employing rule sets or establishing configuration settings restricting information system services or provide message-filtering capability based on content (e.g., using key word searches or document characteristics). \n\nApplications providing information flow control must be able to enforce approved authorizations for controlling the flow of information between interconnected systems in accordance with applicable policy.",
242
+ "severity": "medium"
243
+ },
244
+ {
245
+ "id": "V-26755",
246
+ "title": "Applications providing information flow control must use explicit security attributes on information, source, and destination objects as a basis for flow control decisions.",
247
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nFrom an application perspective, flow control is established once application data flow modeling has been completed. Data flow modeling can be described as: the process of identifying, modeling and documenting how data moves around an information system. Data flow modeling examines processes (activities that transform data from one form to another), data stores (the holding areas for data), external entities (what sends data into a system or receives data from a system), and data flows (routes by which data can flow). \n\nOnce the application data flows have been identified, corresponding flow controls can be applied at the appropriate points.\n\nA few examples of flow control restrictions include: keeping export controlled information from being transmitted in the clear to the Internet and blocking information marked as classified but is being transported to an unapproved destination. Information flow control policies and enforcement mechanisms are commonly employed by organizations to control the flow of information between designated sources and destinations (e.g., networks, individuals, devices) within information systems and between interconnected systems. Flow control is based on the characteristics of the information and/or the information path.\n\nApplication specific examples of flow control enforcement can be found in information protection software (e.g., guards, proxies, gateways and cross domain solutions) employing rule sets or establish configuration settings restricting information system services or provide message-filtering capability based on content (e.g., using key word searches or document characteristics). \n\nApplications providing information flow control capabilities must use explicit security attributes on information, source, and destination objects as a basis for flow control decisions.",
248
+ "severity": "medium"
249
+ },
250
+ {
251
+ "id": "V-26767",
252
+ "title": "Applications providing information flow control must provide the capability for privileged administrators to enable/disable security policy filters.",
253
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nFrom an application perspective, flow control is established once application data flow modeling has been completed. Data flow modeling can be described as: the process of identifying, modeling and documenting how data moves around an information system. Data flow modeling examines processes (activities that transform data from one form to another), data stores (the holding areas for data), external entities (what sends data into a system or receives data from a system), and data flows (routes by which data can flow). \n\nOnce the application data flows have been identified, corresponding flow controls can be applied at the appropriate points.\n\nA few examples of flow control restrictions include: keeping export controlled information from being transmitted in the clear to the Internet and blocking information marked as classified but is being transported to an unapproved destination. Information flow control policies and enforcement mechanisms are commonly employed by organizations to control the flow of information between designated sources and destinations (e.g., networks, individuals, devices) within information systems and between interconnected systems. Flow control is based on the characteristics of the information and/or the information path.\n\nApplication specific examples of flow control enforcement can be found in information protection software (e.g., guards, proxies, gateways and cross domain solutions) employing rule sets or establishing configuration settings restricting information system services or provide message-filtering capability based on content (e.g., using key word searches or document characteristics). \n\nA crucial part of any flow control solution is the ability to create policy filters. Policy filters serve to enact and enforce the organizational policy as it pertains to controlling data flow. \n\nOrganization-defined security policy filters include, for example, file type checking filters, structured data filters, unstructured data filters, metadata content filters, and hidden content filters. \n\n- Structured data permits the interpretation of its content by virtue of elements that are understandable by an application and are indivisible. \n- Unstructured data refers to masses of (usually) digital information that does not have a data structure or does have a data structure that is not easily readable by a machine. Unstructured data consists of two basic categories: (i) bitmap objects that are inherently non language-based (i.e., image, video, or audio files); and (ii) textual objects based on a written or printed language (i.e., commercial off-the-shelf word processing documents, spreadsheets, or emails).\n\nApplications providing information flow control must provide the capability for a privileged administrator to enable/disable security policy filters.",
254
+ "severity": "medium"
255
+ },
256
+ {
257
+ "id": "V-26768",
258
+ "title": "Applications providing information flow controls must provide the capability for privileged administrators to configure security policy filters to support different organizational security policies. ",
259
+ "description": "\nInformation flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nFrom an application perspective, flow control is established once application data flow modeling has been completed. Data flow modeling can be described as: the process of identifying, modeling and documenting how data moves around an information system. Data flow modeling examines processes (activities that transform data from one form to another), data stores (the holding areas for data), external entities (what sends data into a system or receives data from a system), and data flows (routes by which data can flow). \n\nOnce the application data flows have been identified, corresponding flow controls can be applied at the appropriate points.\n\nA few examples of flow control restrictions include: keeping export controlled information from being transmitted in the clear to the Internet and blocking information marked as classified but is being transported to an unapproved destination. Information flow control policies and enforcement mechanisms are commonly employed by organizations to control the flow of information between designated sources and destinations (e.g., networks, individuals, devices) within information systems and between interconnected systems. Flow control is based on the characteristics of the information and/or the information path.\n\nApplication specific examples of flow control enforcement can be found in information protection software (e.g., guards, proxies, gateways and cross domain solutions) employing rule sets or establish configuration settings restricting information system services or provide message filtering capability based on content (e.g., using key word searches or document characteristics). \n\nA crucial part of any flow control solution is the ability to create policy filters. Policy filters serve to enact and enforce the organizational policy as it pertains to controlling data flow. \n\nOrganization-defined security policy filters include, file type checking filters, structured data filters, unstructured data filters, metadata content filters, and hidden content filters. \n\n- Structured data permits the interpretation of its content by virtue of atomic elements that are understandable by an application and indivisible. \n- Unstructured data refers to masses of (usually) digital information does not have a data structure or does have a data structure that is not easily readable by a machine. Unstructured data consists of two basic categories: (i) bitmap objects that are inherently non language-based (i.e., image, video, or audio files); and (ii) textual objects based on a written or printed language (i.e., commercial off-the-shelf word processing documents, spreadsheets, or emails).\n\nApplications providing information flow control must provide the capability for privileged administrators to configure security policy filters to support different security policies.",
260
+ "severity": "medium"
261
+ },
262
+ {
263
+ "id": "V-26769",
264
+ "title": "Applications providing flow control must identify data type, specification and usage when transferring information between different security domains so policy restrictions may be applied.",
265
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nAn example of flow control restrictions includes: keeping export controlled information from being transmitted in the clear to the Internet. Information flow control policies and enforcement mechanisms are commonly employed by organizations to control the flow of information between designated sources and destinations (e.g., users, networks, devices) within information systems and between interconnected systems. \n\nApplication specific examples of flow control enforcement can be found in information protection software (e.g., guards, proxies, application layer gateways and cross domain solutions) employing rule sets or establish configuration settings restricting information system services or provide message-filtering capability based on content (e.g., using key word searches or document characteristics). \n\nFlow control is based on the characteristics of the information and/or the information path. Applications providing flow control must identify data type, specification, and usage when transferring information between different security domains so policy restrictions may be applied.\n\nA Security domain is defined as a domain implementing a security policy and is administered by a single authority.\n\nData type, specification and usage includes, using file naming to reflect the type of data being transferred and limiting data transfer based on file type. ",
266
+ "severity": "medium"
267
+ },
268
+ {
269
+ "id": "V-26770",
270
+ "title": "Applications, when transferring information between different security domains, must decompose information into policy-relevant subcomponents for submission to policy enforcement mechanisms. ",
271
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nSpecific examples of flow control enforcement can be found in boundary protection devices (e.g., proxies, gateways, guards, encrypted tunnels, firewalls, and routers) employing rule sets or establish configuration settings restricting information system services, provide a packet-filtering capability based on header information, or message-filtering capability based on content (e.g., using key word searches or document characteristics). \n\nPolicy enforcement mechanisms include the filtering and/or sanitization rules applied to information prior to transfer to a different security domain. \n\nParsing transfer files facilitates policy decisions on source, destination, certificates, classification, subject, attachments, and other information security-related component differentiators. \n\nPolicy rules for cross domain transfers include, limitations on embedding components/information types within other components/information types, prohibiting more than two-levels of embedding, and prohibiting the transfer of archived information types.",
272
+ "severity": "medium"
273
+ },
274
+ {
275
+ "id": "V-26771",
276
+ "title": "Applications, when transferring information between different security domains, must implement or incorporate policy filters that constrain data object and structure attributes according to organizational security policy requirements. ",
277
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nSpecific examples of flow control enforcement can be found in boundary protection devices (e.g., proxies, gateways, guards, encrypted tunnels, firewalls, and routers) employing rule sets or establish configuration settings restricting information system services, provide a packet-filtering capability based on header information, or message-filtering capability based on content (e.g., using key word searches or document characteristics). \n\nExamples of constraints include ensuring: (i) character data fields only contain printable ASCII; (ii) character data fields only contain alpha-numeric characters; (iii) character data fields do not contain special characters; (iv) maximum field sizes and file lengths are enforced based upon organization-defined security policy.",
278
+ "severity": "medium"
279
+ },
280
+ {
281
+ "id": "V-26772",
282
+ "title": "Applications designed to control information flow must provide the ability to detect unsanctioned information being transmitted across security domains. ",
283
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nSpecific examples of flow control enforcement can be found in boundary protection devices (e.g., proxies, application layer gateways, cross domain guards, content filters) employing rule sets or establish configuration settings restricting information system services, provide a packet-filtering capability based on header information, or message-filtering capability based on content (e.g., using key word searches or document characteristics). \n\nActions to support this requirement include, but are not limited to: checking all transferred information for malware, implementing dirty word list searches on transferred information, and applying the same protection measures to metadata (e.g., security attributes) that is applied to the information payload.",
284
+ "severity": "medium"
285
+ },
286
+ {
287
+ "id": "V-26773",
288
+ "title": "Applications must provide the ability to prohibit the transfer of unsanctioned information in accordance with security policy. ",
289
+ "description": "The application enforces approved authorizations for controlling the flow of information within the system and between interconnected systems in accordance with applicable policy. \n\nInformation flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nSpecific examples of flow control enforcement can be found in boundary protection devices (e.g., proxies, gateways, guards, encrypted tunnels, firewalls, and routers) employing rule sets or establish configuration settings restricting information system services, provide a packet-filtering capability based on header information, or message-filtering capability based on content (e.g., using key word searches or document characteristics). \n\nActions to support this requirement include, but are not limited to: checking all transferred information for malware, implementing dirty word list searches on transferred information, and applying the same protection measures to metadata (e.g., security attributes) that is applied to the information payload.",
290
+ "severity": "medium"
291
+ },
292
+ {
293
+ "id": "V-26774",
294
+ "title": "Applications must provide the ability to enforce security policies regarding information on interconnected systems. ",
295
+ "description": "The application enforces approved authorizations for controlling the flow of information within the system and between interconnected systems in accordance with applicable policy. \n\nInformation flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nTransferring information between interconnected information systems of differing security policies introduces risk that such transfers violate one or more policies. While security policy violations may not be absolutely prohibited, policy guidance from information owners/stewards is implemented at the policy enforcement point between the interconnected systems. Specific architectural solutions are mandated, when required, to reduce the potential for undiscovered vulnerabilities. \n\nArchitectural solutions include: (i) prohibiting information transfers between interconnected systems (i.e., implementing access only, one way transfer mechanisms); (ii) employing hardware mechanisms to enforce unitary information flow directions; and (iii) implementing fully tested, re-grading mechanisms to reassign security attributes and associated security labels. ",
296
+ "severity": "medium"
297
+ },
298
+ {
299
+ "id": "V-26775",
300
+ "title": "Applications must uniquely identify source domains for information transfer.",
301
+ "description": "The application enforces approved authorizations for controlling the flow of information within the system and between interconnected systems in accordance with applicable policy. \n\nInformation flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nSpecific examples of flow control enforcement can be found in boundary protection devices (e.g., proxies, gateways, guards, encrypted tunnels, firewalls, and routers) employing rule sets or establish configuration settings restricting information system services, provide a packet-filtering capability based on header information, or message-filtering capability based on content (e.g., using key word searches or document characteristics). \n\nAttribution, (e.g., the ability to attribute actions to certain individuals) is a critical component of a security concept of operations. The ability to identify source and destination points for information flowing in an information system, allows forensic reconstruction of events when required, and increases policy compliance by attributing policy violations to specific organizations/individuals. ",
302
+ "severity": "medium"
303
+ },
304
+ {
305
+ "id": "V-26776",
306
+ "title": "Applications must uniquely authenticate source domains for information transfer.",
307
+ "description": "The information system enforces approved authorizations for controlling the flow of information within the system and between interconnected systems in accordance with applicable policy. \n\nInformation flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nSpecific examples of flow control enforcement can be found in boundary protection devices (e.g., proxies, gateways, guards, encrypted tunnels, firewalls, and routers) employing rule sets or establish configuration settings restricting information system services, provide a packet-filtering capability based on header information, or message-filtering capability based on content (e.g., using key word searches or document characteristics). \n\nAttribution, (e.g., the ability to attribute actions to certain individuals) is a critical component of a security concept of operations. The ability to identify source and destination points for information flowing in an information system, allows forensic reconstruction of events when required, and increases policy compliance by attributing policy violations to specific organizations/individuals. ",
308
+ "severity": "medium"
309
+ },
310
+ {
311
+ "id": "V-26777",
312
+ "title": "Applications must uniquely identify destination domains for information transfer.",
313
+ "description": "The application enforces approved authorizations for controlling the flow of information within the system and between interconnected systems in accordance with applicable policy. \n\nInformation flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nSpecific examples of flow control enforcement can be found in boundary protection devices (e.g., proxies, gateways, guards, encrypted tunnels, firewalls, and routers) employing rule sets or establish configuration settings restricting information system services, provide a packet-filtering capability based on header information, or message-filtering capability based on content (e.g., using key word searches or document characteristics). \n\nAttribution, (e.g., the ability to attribute actions to certain individuals) is a critical component of a security concept of operations. The ability to identify source and destination points for information flowing in an information system, allows forensic reconstruction of events when required, and increases policy compliance by attributing policy violations to specific organizations/individuals. \n",
314
+ "severity": "medium"
315
+ },
316
+ {
317
+ "id": "V-26779",
318
+ "title": "The application must bind security attributes to information to facilitate information flow policy enforcement.",
319
+ "description": "The application enforces approved authorizations for controlling the flow of information within the system and between interconnected systems in accordance with applicable policy. Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nAttribution is a critical component of a security concept of operations. The ability to identify source and destination points for information flowing in an information system, allows forensic reconstruction of events when required, and increases policy compliance by attributing policy violations to specific organizations/individuals. Binding security attributes to information allows policy enforcement mechanisms to act on that information and enforce policy.\n",
320
+ "severity": "medium"
321
+ },
322
+ {
323
+ "id": "V-26782",
324
+ "title": "Applications providing information flow control must track problems associated with the binding of security attributes to data. ",
325
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nAttribution, (e.g., the ability to attribute actions to certain individuals) is a critical component of a security concept of operations. The ability to identify source and destination points for information flowing in an information system, allows forensic reconstruction of events when required, and increases policy compliance by attributing policy violations to specific organizations/individuals. \n\nIn order to identify problems that may occur when binding security attributes to information, tracking and or auditing of these binding events must take place.",
326
+ "severity": "medium"
327
+ },
328
+ {
329
+ "id": "V-26786",
330
+ "title": "Applications must enforce information flow control using protected processing domains (e.g., domain type-enforcement) as a basis for flow control decisions.",
331
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nInformation flow enforcement mechanisms compare security attributes on all information (data content and data structure), source and destination objects, and respond appropriately (e.g., block, quarantine, alert administrator) when the mechanisms encounter information flows not explicitly allowed by the information flow policy. Information flow enforcement using explicit security attributes can be used, for example, to control the release of certain types of information. ",
332
+ "severity": "medium"
333
+ },
334
+ {
335
+ "id": "V-26788",
336
+ "title": "Applications must enforce information flow using dynamic control based on policy that allows or disallows information flow based on changing conditions or operational considerations.",
337
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nA few examples of flow control restrictions include: keeping export controlled information from being transmitted in the clear to the Internet, blocking outside traffic claiming to be from within the organization and not passing any web requests to the Internet that are not from the internal web proxy. Information flow control policies and enforcement mechanisms are commonly employed by organizations to control the flow of information between designated sources and destinations (e.g., networks, individuals, devices) within information systems and between interconnected systems. \n\nFlow control is based on the characteristics of the information and/or the information path. Flow control is also based on the characteristics of the information and/or the information path. Specific examples of flow control enforcement can be found in boundary protection devices (e.g., proxies, gateways, guards, encrypted tunnels, firewalls, and routers) employing rule sets or establish configuration settings restricting information system services, provide a packet-filtering capability based on header information, or message-filtering capability based on content (e.g., using key word searches or document characteristics). ",
338
+ "severity": "medium"
339
+ },
340
+ {
341
+ "id": "V-26790",
342
+ "title": "Applications must prevent encrypted data from bypassing content-checking mechanisms. ",
343
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nInformation flow enforcement mechanisms compare security attributes on all information (data content and data structure), source and destination objects, and respond appropriately (e.g., block, quarantine, alert administrator) when the mechanisms encounter information flows not explicitly allowed by the information flow policy. When data is encrypted, devices and software designed to examine data content so as to detect attacks or malicious code are unable to accomplish the task unless they are capable of unencrypting the data. Example includes decrypting email in order to scan attachments.",
344
+ "severity": "medium"
345
+ },
346
+ {
347
+ "id": "V-26791",
348
+ "title": "Applications must enforce organization-defined limitations on the embedding of data types within other data types.",
349
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nInformation flow enforcement mechanisms compare security attributes on all information (data content and data structure), source and destination objects, and respond appropriately (e.g., block, quarantine, alert administrator) when the mechanisms encounter information flows not explicitly allowed by the information flow policy. \n\nEmbedding of data within other data is often used for the surreptitious transfer of data. For example, embedding data within an image file (e.g., .jpg) is referred to as Steganography and is used to circumvent protections in place to protect information.",
350
+ "severity": "medium"
351
+ },
352
+ {
353
+ "id": "V-26792",
354
+ "title": "Applications must enforce information flow control on metadata.",
355
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nInformation flow enforcement mechanisms compare security attributes on all information (data content and data structure), source and destination objects, and respond appropriately (e.g., block, quarantine, alert administrator) when the mechanisms encounter information flows not explicitly allowed by the information flow policy. \n\nMetadata is defined as data providing information about one or more other pieces of data such as; purpose of the data, author/creator of the data, network location of where data was created, and application specific data information. ",
356
+ "severity": "medium"
357
+ },
358
+ {
359
+ "id": "V-26810",
360
+ "title": "The information system must enforce organization-defined one-way flows using hardware mechanisms.",
361
+ "description": "This is a requirement to enforce information flow with a hardware device or mechanism. By definition, this is not related to software applications. This is expected to be addressed via hardware.\n\nDoes not apply to applications.",
362
+ "severity": "medium"
363
+ },
364
+ {
365
+ "id": "V-26811",
366
+ "title": "Applications must use security policy filters as a basis for making information flow control decisions.",
367
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nInformation flow enforcement mechanisms compare security attributes on all information (data content and data structure), source and destination objects, and respond appropriately (e.g., block, quarantine, alert administrator) when the mechanisms encounter information not explicitly allowed by the information flow policy. \n\nSecurity policy filters are defined by the organization and include, dirty word filters, file type checking filters, structured data filters, unstructured data filters, metadata content filters, and hidden content filters. \n\n- Structured data typically describes data intended for storage in a data management system such as a relational database.\n- Unstructured data refers to masses of digital information that do not have a data structure such as word processing documents, email, pictures, audio, and video.\n- In the case of unstructured data, metadata is considered to be data about the data in question. \n- In the case of structured data, metadata is considered to be data about the containers of the data. \n",
368
+ "severity": "medium"
369
+ },
370
+ {
371
+ "id": "V-26819",
372
+ "title": "Applications providing information flow control must uniquely authenticate destination domains when transferring information.",
373
+ "description": "Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. \n\nSpecific examples of flow control enforcement can be found in boundary protection devices (e.g., proxies, application gateways, guards, cross domain systems) employing rule sets or establish configuration settings restricting information system services, provide a packet-filtering capability based on header information, or message-filtering capability based on content (e.g., using key word searches or document characteristics). \n\nAttribution, (e.g., the ability to attribute actions to individuals), processes or systems, is a critical component of a security concept of operations. \n\nThe ability to identify source and destination points for information flowing in an information system, allows forensic reconstruction of events when required, and increases policy compliance by attributing policy violations to specific organizations/individuals. \n",
374
+ "severity": "medium"
375
+ },
376
+ {
377
+ "id": "V-26820",
378
+ "title": "In support of information flow requirements, applications must track problems associated with information transfer.",
379
+ "description": "When an application transfers data, there is the chance an error or problem with the data transfer may occur. Applications need to track failures and any problems encountered when performing data transfers so problems can be identified and remediated. \n\nSome potential issues with a failed or problematic data transfer include: leaving sensitive data in a processing queue indefinitely, partial or incomplete data transfers, and corrupted data transfers. Tracking problems with data transfers also serves to create a forensic record that can be retained to assist in investigations regarding the flow of application data.",
380
+ "severity": "medium"
381
+ },
382
+ {
383
+ "id": "V-26821",
384
+ "title": "Applications must support organizational requirements to implement separation of duties through assigned information access authorizations.",
385
+ "description": "Separation of duties is a prevalent Information Technology control that is implemented at different layers of the information system including the operating system and in applications. It serves to eliminate or reduce the possibility that a single user may carry out a prohibited action. Separation of duties requires that the person accountable for approving an action is not the same person who is tasked with implementing or carrying out that action. \n\nAdditionally, the person or entity accountable for monitoring the activity must be separate as well. To meet this requirement, applications, when applicable, shall be divided where functionality is based on roles and duties. Examples of separation of duties include: (i) mission functions and distinct information system support functions are divided among different individuals/roles; (ii) different individuals perform information system support functions (e.g., system management, systems programming, configuration management, quality assurance and testing, network security); (iii) security personnel who administer access control functions do not administer audit functions; and (iv) different administrator accounts for different roles. ",
386
+ "severity": "medium"
387
+ },
388
+ {
389
+ "id": "V-26827",
390
+ "title": "Application users must utilize a separate, distinct administrative account when accessing application security functions or security-relevant information. Non-privileged accounts must be utilized when accessing non-administrative application functions. The application must provide this functionality itself or leverage an existing technology providing this capability.",
391
+ "description": "This requirement is intended to limit exposure due to operating from within a privileged account or role. The inclusion of role is intended to address those situations where an access control policy such as Role Based Access Control (RBAC) is being implemented and where a change of role provides the same degree of assurance in the change of access authorizations for both the user and all processes acting on behalf of the user as would be provided by a change between a privileged and non-privileged account. \n\nAudit of privileged activity may require physical separation employing information systems on which the user does not have privileged access.\n\nTo limit exposure and provide forensic history of activity when operating from within a privileged account or role, the application must support organizational requirements that users of information system accounts, or roles, with access to organization-defined list of security functions or security-relevant information, use non-privileged accounts, or roles, when accessing other (non-security) system functions.\n\nIf feasible, applications should provide access logging that ensures users who are granted a privileged role (or roles) have their privileged activity logged. ",
392
+ "severity": "medium"
393
+ },
394
+ {
395
+ "id": "V-26830",
396
+ "title": "Applications must be able to function within separate processing domains (virtualized systems), when specified, so as to enable finer-grained allocation of user privileges.",
397
+ "description": "Applications must employ the concept of least privilege, allowing only authorized accesses for users (and processes acting on behalf of users) which are necessary to accomplish assigned tasks in accordance with organizational missions and business functions. \n\nEmploying virtualization techniques to allow greater privilege within a virtual machine, while restricting privilege to the underlying actual machine is an example of providing separate processing domains for finer-grained allocation of user privileges.",
398
+ "severity": "medium"
399
+ },
400
+ {
401
+ "id": "V-26845",
402
+ "title": "The application must produce audit records containing sufficient information to establish what type of events occurred.",
403
+ "description": "Information system auditing capability is critical for accurate forensic analysis. Audit record content that may be necessary to satisfy the requirement of this control, includes: time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. ",
404
+ "severity": "medium"
405
+ },
406
+ {
407
+ "id": "V-26847",
408
+ "title": "The application must produce audit records containing sufficient information to establish when (date and time) the events occurred.",
409
+ "description": "Information system auditing capability is critical for accurate forensic analysis. Audit record content that may be necessary to satisfy the requirement of this control, includes: time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked.",
410
+ "severity": "medium"
411
+ },
412
+ {
413
+ "id": "V-26848",
414
+ "title": "The information system must provide additional protection for mobile devices accessed via login by purging information from the device after organization-defined number of consecutive, unsuccessful login attempts to the mobile device.",
415
+ "description": "Mobile devices present additional risks related to attempted unauthorized access. If they are lost, stolen or misplaced, attempts can be made to unlock the device by guessing the pin. In order to address this risk, mobile devices shall provide additional protection enabling the device to automatically wipe itself clean and purge itself of any and all data. \n\nThis does not apply to applications. This is a requirement for Mobile Devices (smart phones, PDAs, etc) to be able to purge themselves of data if x number of failed login attempts occur.\n\nThis requirement applies only to mobile devices for which a login occurs (e.g., personal digital assistants and smart phones) and not to mobile devices accessed without a login such as removable media. In certain situations, this requirement may not apply to mobile devices if the information on the device is encrypted with sufficiently strong encryption mechanisms, making purging unnecessary. The login is to the mobile device, not to any one account on the device. \n\nTherefore, a successful login to any account on the mobile device resets the unsuccessful login count to zero. ",
416
+ "severity": "medium"
417
+ },
418
+ {
419
+ "id": "V-26849",
420
+ "title": "The application must produce audit records containing sufficient information to establish where the events occurred.",
421
+ "description": "Information system auditing capability is critical for accurate forensic analysis. Audit record content that may be necessary to satisfy the requirement of this control, includes: time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. \n\nWithout sufficient information establishing where the audit events occurred, investigation into the cause of events is severely hindered.",
422
+ "severity": "medium"
423
+ },
424
+ {
425
+ "id": "V-26851",
426
+ "title": "The application must produce audit records containing sufficient information to establish the sources of the events.",
427
+ "description": "Information system auditing capability is critical for accurate forensic analysis. Audit record content that may be necessary to satisfy the requirement of this control, includes but is not limited to: time stamps, source and destination IP addresses, user/process identifiers, event descriptions, application specific events, success/fail indications, filenames involved, access control or flow control rules invoked. \n\nWithout information establishing the source of activity, the value of audit records from a forensics perspective is questionable.",
428
+ "severity": "medium"
429
+ },
430
+ {
431
+ "id": "V-26853",
432
+ "title": "Applications must have the capability to limit the number of failed login attempts based upon an organization defined number of consecutive invalid attempts occurring within an organization defined time period.",
433
+ "description": "Anytime an authentication method is exposed so as to allow for the utilization of an application, there is a risk that attempts will be made to obtain unauthorized access. \n\nTo defeat these attempts, organizations define the number of times a user account may consecutively fail a login attempt. The organization also defines the period of time in which these consecutive failed attempts may occur. \n\nBy limiting the number of failed login attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute forcing, is reduced. Limits are imposed by locking the account. ",
434
+ "severity": "medium"
435
+ },
436
+ {
437
+ "id": "V-26855",
438
+ "title": "The application must enforce the organization-defined time period during which the limit of consecutive invalid access attempts by a user is counted.",
439
+ "description": "Anytime an authentication method is exposed, so as to allow for the utilization of an application, there is a risk that attempts will be made to obtain unauthorized access. \n\nTo aid in defeating these attempts, organizations define the number of times that a user account may consecutively fail a login attempt. The organization also defines the period of time in which these consecutive failed attempts may occur. \n\nBy limiting the number of failed login attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute forcing, is reduced. Limits are imposed by locking the account. ",
440
+ "severity": "medium"
441
+ },
442
+ {
443
+ "id": "V-26856",
444
+ "title": "Applications, when the maximum number of unsuccessful attempts are exceeded, must automatically lock the account/node for an organization-defined time period or lock the account/node until released by an administrator IAW organizational policy. ",
445
+ "description": "Anytime an authentication method is exposed so as to allow for the utilization of an application, there is a risk that attempts will be made to obtain unauthorized access. \n\nTo defeat these attempts, organizations define the number of times a user account may consecutively fail a login attempt. The organization also defines the period of time in which these consecutive failed attempts may occur. \n\nBy limiting the number of failed login attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute forcing, is reduced. Limits are imposed by locking the account. ",
446
+ "severity": "medium"
447
+ },
448
+ {
449
+ "id": "V-26858",
450
+ "title": "Applications must display an approved system use notification message or banner before granting access to the system. ",
451
+ "description": "Applications are required to display an approved system use notification message or banner before granting access to the system providing privacy and security notices consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance and states that: \n\n(i) users are accessing a U.S. Government information system; \n(ii) system usage may be monitored, recorded, and subject to audit; \n(iii) unauthorized use of the system is prohibited and subject to criminal and civil penalties; and \n(iv) the use of the system indicates consent to monitoring and recording.\n\nSystem use notification messages can be implemented in the form of warning banners displayed when individuals log in to the information system. \n\nSystem use notification is intended only for information system access including an interactive login interface with a human user and is not intended to require notification when an interactive interface does not exist. \n\nUse this banner for desktops, laptops, and other devices accommodating banners of 1300 characters. The banner shall be implemented as a click-through banner at logon (to the extent permitted by the operating system), meaning it 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\n\"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.\nBy using this IS (which includes any device attached to this IS), you consent to the following conditions:\n-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.\n-At any time, the USG may inspect and seize data stored on this IS.\n-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.\n-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.\n-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details.\"\n \n\nFor Blackberries and other PDAs/PEDs with severe character limitations use the following:\n\n\"I've read & consent to terms in IS user agreem't.\"\n",
452
+ "severity": "medium"
453
+ },
454
+ {
455
+ "id": "V-26860",
456
+ "title": "The application must produce audit records that contain sufficient information to establish the outcome (success or failure) of the events.",
457
+ "description": "Information system auditing capability is critical for accurate forensic analysis. Audit record content that may be necessary to satisfy the requirement of this control, includes but is not limited to: time stamps, source and destination IP addresses, user/process identifiers, event descriptions, application specific events, success/fail indications, filenames involved, access control or flow control rules invoked. \n\nSuccess and failure indicators ascertain the outcome of a particular event. As such, they also provide a means to measure the impact of an event and help authorized personnel to determine the appropriate response.",
458
+ "severity": "medium"
459
+ },
460
+ {
461
+ "id": "V-26862",
462
+ "title": "The application must retain the notification message or banner on the screen until users take explicit actions to logon to or further access.",
463
+ "description": "To establish acceptance of system usage policy, a click-through banner at application logon is required. The banner shall prevent further activity on the application unless and until the user executes a positive action to manifest agreement by clicking on a box indicating \"OK\". The text of this banner should be customizable in the event of future user agreement changes. ",
464
+ "severity": "medium"
465
+ },
466
+ {
467
+ "id": "V-26864",
468
+ "title": "The application must produce audit records containing sufficient information to establish the identity of any user/subject or process associated with the event.",
469
+ "description": "Information system auditing capability is critical for accurate forensic analysis. Audit record content that may be necessary to satisfy the requirement of this control, includes: time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked. ",
470
+ "severity": "medium"
471
+ },
472
+ {
473
+ "id": "V-26865",
474
+ "title": "Applications must display an approved system use notification message or banner before granting access to the system. \n",
475
+ "description": "Applications must display an approved system use notification message or banner before granting access to the system. \n\nThe banner shall be formatted in accordance with the DoD policy \"Use of DoD Information Systems - Standard Consent and User Agreement\". The message banner shall provide privacy and security notices consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance and shall state that:\n \n(i) users are accessing a U.S. Government information system; \n(ii) system usage may be monitored, recorded, and is subject to audit; \n(iii) unauthorized use of the system is prohibited and subject to criminal and civil penalties;\n(iv) the use of the system indicates consent to monitoring and recording;\n(v) in the notice given to public users of the information system, shall provide a description of the authorized uses of the system.\n\nSystem use notification messages are implemented in the form of warning banners displayed when individuals log in to the information system. System use notification is intended only for information system access including an interactive login interface with a human user and is not intended to require notification when an interactive interface does not exist. \n\nThe banner shall state:\n\n\"You are accessing a U.S. Government (USG) Information System (IS) that is provided\nfor USG-authorized use only.\nBy using this IS (which includes any device attached to this IS), you consent to the\nfollowing conditions:\n-The USG routinely intercepts and monitors communications on this IS for purposes\nincluding, but not limited to, penetration testing, COMSEC monitoring, network\noperations and defense, personnel misconduct (PM), law enforcement (LE), and\ncounterintelligence (CI) investigations.\n-At any time, the USG may inspect and seize data stored on this IS.\n-Communications using, or data stored on, this IS are not private, are subject to routine\nmonitoring, interception, and search, and may be disclosed or used for any USG authorized\npurpose.\n-This IS includes security measures (e.g., authentication and access controls) to protect\nUSG interests--not for your personal benefit or privacy.\n-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI\ninvestigative searching or monitoring of the content of privileged communications, or\nwork product, related to personal representation or services by attorneys,\npsychotherapists, or clergy, and their assistants. Such communications and work product\nare private and confidential. See User Agreement for details.\"\n",
476
+ "severity": "medium"
477
+ },
478
+ {
479
+ "id": "V-26868",
480
+ "title": "Applications must include organization-defined additional, more detailed information in the audit records for audit events identified by type, location, or subject.\n\n",
481
+ "description": "Information system auditing capability is critical for accurate forensic analysis. Audit record content that may be necessary to satisfy the requirement of this control, includes: time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked.\n\nIn addition, the application must have the capability to include organization-defined additional, more detailed information in the audit records for audit events. These events may be identified by type, location, or subject. \n\nAn example of detailed information that the organization may require in audit records is full-text recording of privileged commands or the individual identities of group account users.",
482
+ "severity": "medium"
483
+ },
484
+ {
485
+ "id": "V-26871",
486
+ "title": "To support DoD requirements to centrally manage the content of audit records, applications must provide the ability to write specified audit record content to a centralized audit log repository. ",
487
+ "description": "Information system auditing capability is critical for accurate forensic analysis. Audit record content that may be necessary to satisfy the requirement of this control, includes but is not limited: time stamps, source and destination IP addresses, user/process identifiers, event descriptions, application specific events, success/fail indications, filenames involved, access control or flow control rules invoked. \n\nCentralized management of audit records and logs provides for efficiency in maintenance and management of records, as well as the backup and archiving of those records. When organizations define application components requiring centralized audit log management, applications need to support that requirement.",
488
+ "severity": "medium"
489
+ },
490
+ {
491
+ "id": "V-26879",
492
+ "title": "Applications upon successful logon, must display to the user the date and time of the last logon (access).",
493
+ "description": "Users need to be aware of activity that occurs regarding their application account. Providing users with information regarding the date and time of their last successful login allows the user to determine if any unauthorized activity has occurred and gives them an opportunity to notify administrators. \n\nThis requirement is intended to cover both traditional interactive logons to information systems and general accesses to information systems that occur in other types of architectural configurations (e.g., service oriented architectures). ",
494
+ "severity": "medium"
495
+ },
496
+ {
497
+ "id": "V-26881",
498
+ "title": "In order to inform the user of failed login attempts made with the users account, the application upon successful logon/access must display to the user the number of unsuccessful logon/access attempts since the last successful logon/access. ",
499
+ "description": "Users need to be aware of activity that occurs regarding their application account. Providing users with information regarding the number of unsuccessful attempts made to login to their account allows the user to determine if any unauthorized activity has occurred and gives them an opportunity to notify administrators. \n\nThis requirement is intended to cover both traditional logons to information systems and general accesses to information systems that occur in other types of architectural configurations (e.g., service oriented architectures). ",
500
+ "severity": "medium"
501
+ },
502
+ {
503
+ "id": "V-26882",
504
+ "title": "Applications must allocate audit record storage capacity. ",
505
+ "description": "In order to ensure applications have a sufficient storage capacity in which to write the audit logs, applications need to be able to allocate audit record storage capacity. The task of allocating audit record storage capacity is usually performed during initial installation of the application and is closely associated with the DBA and system administrator roles. The DBA or system administrator will usually coordinate the allocation of physical drive space with the application owner/installer and the application will prompt the installer to provide the capacity information, the physical location of the disk, or both.",
506
+ "severity": "medium"
507
+ },
508
+ {
509
+ "id": "V-26883",
510
+ "title": "In order to inform the user of the number of successful login attempts made with the users account, the application must notify the user of the number of successful logins/accesses occurring during an organization-defined time period.",
511
+ "description": "Users need to be aware of activity that occurs regarding their application account. Providing users with information regarding the number of successful attempts made to login to their account allows the user to determine if any unauthorized activity has occurred and gives them an opportunity to notify administrators. \n\nThis requirement is intended to cover both traditional logons to information systems and general accesses to information systems occurring in other types of architectural configurations (e.g., service oriented architectures). ",
512
+ "severity": "medium"
513
+ },
514
+ {
515
+ "id": "V-26884",
516
+ "title": "The application must notify the user of the number of unsuccessful login/access attempts occurring during an organization-defined time period.",
517
+ "description": "Users need to be aware of activity that occurs regarding their application account. Providing users with information regarding the number of unsuccessful attempts made to login to their account allows the user to determine if any unauthorized activity has occurred and gives them an opportunity to notify administrators.\n\nThis requirement is intended to cover both traditional logons to information systems and general accesses to information systems occurring in other types of architectural configurations (e.g., service oriented architectures). In order to inform the user of the number of unsuccessful login attempts made with the users account.",
518
+ "severity": "medium"
519
+ },
520
+ {
521
+ "id": "V-26886",
522
+ "title": "Applications must notify users of organization-defined security-related changes to the user’s account occurring during the organization-defined time period.",
523
+ "description": "Some organizations may define certain security events as events requiring user notification. An organization may define an event such as a password change to a user's account occurring outside of normal business hours as a security related event requiring that the application user be notified. In those instances, where organizations define such events, the application must notify the affected user or users.",
524
+ "severity": "medium"
525
+ },
526
+ {
527
+ "id": "V-26887",
528
+ "title": "Applications must configure their auditing to reduce the likelihood of storage capacity being exceeded.",
529
+ "description": "Applications need to be cognizant of potential audit log storage capacity issues. During the installation and/or configuration process, applications should detect and determine if adequate storage capacity has been allocated for audit logs. \n\nDuring the installation process, a notification may be provided to the installer indicating, based on the auditing configuration chosen and the amount of storage space allocated for audit logs, the amount of storage capacity available is not sufficient enough to meet storage requirements.\n",
530
+ "severity": "medium"
531
+ },
532
+ {
533
+ "id": "V-26888",
534
+ "title": "The application must protect against an individual falsely denying having performed a particular action.",
535
+ "description": "Non-repudiation of actions taken is required in order to maintain application integrity. Examples of particular actions taken by individuals include creating information, sending a message, approving information (e.g., indicating concurrence or signing a contract), and receiving a message. \n\nNon-repudiation protects individuals against later claims by an author of not having authored a particular document, a sender of not having transmitted a message, a receiver of not having received a message, or a signatory of not having signed a document. ",
536
+ "severity": "medium"
537
+ },
538
+ {
539
+ "id": "V-26889",
540
+ "title": "Applications themselves, or the logging mechanism the application utilizes, must provide a warning when allocated audit record storage volume reaches an organization-defined percentage of maximum audit record storage capacity.",
541
+ "description": "It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Audit processing failures include: software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. \n\nIf audit log capacity were to be exceeded then events subsequently occurring will not be recorded. Organizations shall define a maximum allowable percentage of storage capacity serving as an alarming threshold (e.g., application has exceeded 80 % of log storage capacity allocated) at which time the application or the logging mechanism the application utilizes will provide a warning to the appropriate personnel. ",
542
+ "severity": "medium"
543
+ },
544
+ {
545
+ "id": "V-26890",
546
+ "title": "The application must associate the identity of the information producer with the information.",
547
+ "description": "Non-repudiation supports audit requirements to provide the appropriate organizational officials the means to identify who produced specific information in the event of an information transfer. \n\nThe nature and strength of the binding between the information producer and the information are determined and approved by the appropriate organizational officials based on the security categorization of the information and relevant risk factors. ",
548
+ "severity": "medium"
549
+ },
550
+ {
551
+ "id": "V-26891",
552
+ "title": "Applications must validate the binding of the information producer’s identity to the information.",
553
+ "description": "Non-repudiation protects individuals against later claims by an author of not having authored a particular document, a sender of not having transmitted a message, a receiver of not having received a message, or a signatory of not having signed a document.\n\nThis non-repudiation control enhancement is intended to mitigate the risk that information gets modified between production and review. The validation of bindings can be achieved, for example, by the use of cryptographic checksums. ",
554
+ "severity": "medium"
555
+ },
556
+ {
557
+ "id": "V-26892",
558
+ "title": "The application must provide a real-time alert when organization-defined audit failure events occur.",
559
+ "description": "It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Audit processing failures include: software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. \n\nOrganizations shall define audit failure events requiring an application to send an alarm. When those defined events occur, the application will provide a real-time alert to the appropriate personnel.",
560
+ "severity": "medium"
561
+ },
562
+ {
563
+ "id": "V-26893",
564
+ "title": "Applications must maintain reviewer/releaser identity and credentials within the established chain of custody for all information reviewed or released.",
565
+ "description": "Non-repudiation protects individuals against later claims by an author of not having authored a particular document, a sender of not having transmitted a message, a receiver of not having received a message, or a signatory of not having signed a document. Non-repudiation services can be used to determine if information originated from an individual, or if an individual took specific actions (e.g., sending an email, signing a contract, approving a procurement request) or received specific information. Non-repudiation services are obtained by employing various techniques or mechanisms (e.g., digital signatures, digital message receipts).\n\nWhen it comes to data review and data release, there must be a correlation between the data that is reviewed and the person who performs the review. If the reviewer is a human or if the review function is automated but separate from the release/transfer function, the application associates the identity of the reviewer of the information to be released with the information and the information label. \n\nIn the case of human reviews, this requirement provides appropriate organizational officials the means to identify who reviewed and released the information. In the case of automated reviews, this control enhancement helps ensure only approved review functions are employed. \n",
566
+ "severity": "medium"
567
+ },
568
+ {
569
+ "id": "V-26894",
570
+ "title": "The application must validate the binding of the reviewer’s identity to the information at the transfer/release point prior to release/transfer from one security domain to another security domain.",
571
+ "description": "This non-repudiation control enhancement is intended to mitigate the risk that information could be modified between review and transfer/release particularly when transfer is occurring between security domains. \n\nIn those instances where the application is transferring data intended for release across security domains, the application must validate the binding of the reviewer’s identity to the information at the transfer/release point prior to release/transfer from one security domain to another security domain.",
572
+ "severity": "medium"
573
+ },
574
+ {
575
+ "id": "V-26896",
576
+ "title": "The application must provide the capability to compile audit records from multiple components within the system into a system-wide (logical or physical) audit trail that is time-correlated to within organization-defined level of tolerance.",
577
+ "description": "Audit generation and audit records can be generated from various components within the information system. The list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records (i.e., auditable events). \n\nThe events occurring must be time-correlated on order to conduct accurate forensic analysis. In addition, the correlation must meet a certain tolerance criteria. For instance, the organization may define that the time stamps of different audited events must not differ by any amount greater than ten seconds.",
578
+ "severity": "medium"
579
+ },
580
+ {
581
+ "id": "V-26900",
582
+ "title": "The application must produce a system-wide (logical or physical) audit trail composed of audit records in a standardized format.",
583
+ "description": "Audits records can be generated from various components within the information system. The list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records (i.e., auditable events). ",
584
+ "severity": "medium"
585
+ },
586
+ {
587
+ "id": "V-26901",
588
+ "title": "The application must provide audit record generation capability for defined auditable events within defined application components.",
589
+ "description": "Audit records can be generated from various components within the information system (e.g., network interface, hard disk, modem etc.). From an application perspective, certain specific application functionalities may be audited as well.\n\nThe list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records (i.e., auditable events, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked).\n\nOrganizations define which application components shall provide auditable events. ",
590
+ "severity": "medium"
591
+ },
592
+ {
593
+ "id": "V-26902",
594
+ "title": "The application must allow designated organizational personnel to select which auditable events are to be audited by specific components of the system.",
595
+ "description": "Audit records can be generated from various components within the information system, such as network interfaces, hard disks, modems, etc. From an application perspective, certain specific application functionalities may be audited, as well.\n\nThe list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records (i.e., auditable events, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked).\n\nOrganizations may define the organizational personal accountable for determining which application components shall provide auditable events.",
596
+ "severity": "medium"
597
+ },
598
+ {
599
+ "id": "V-26903",
600
+ "title": "Applications must generate audit records for the DoD selected list of auditable events. ",
601
+ "description": "Audit records can be generated from various components within the information system. The list of audited events is the set of events for which audits are to be generated. \n\nThis set of events is typically a subset of the list of all events for which the system is capable of generating audit records (i.e., auditable events). \n\nDoD shall select the list of auditable events and applications must generate audit records for those events.",
602
+ "severity": "medium"
603
+ },
604
+ {
605
+ "id": "V-26904",
606
+ "title": "The application must initiate session auditing upon start up.",
607
+ "description": "Session auditing activities are developed, integrated, and used in consultation with legal counsel in accordance with applicable federal laws, Executive Orders, directives, policies, or regulations. ",
608
+ "severity": "medium"
609
+ },
610
+ {
611
+ "id": "V-26905",
612
+ "title": "The application must provide the capability to capture, record, and log all content related to a user session.",
613
+ "description": "While a great deal of effort is made to secure applications so as to prevent unauthorized access, in certain instances there can be valid requirements to capture, record, and log all content related to a particular user's application session. \n\nThese instances are reserved for monitoring or investigative purposes supported through policy and are officially sanctioned. Session auditing activities are developed, integrated, and used in consultation with legal counsel in accordance with applicable federal laws, Executive Orders, directives, policies, or regulations. \n\nThese monitoring events occur at the application layer and as such maybe required to be conducted at a host system however in some cases network monitoring may be involved as well.\n\nApplications must support valid monitoring requirement capabilities performed in accordance with applicable federal laws, Executive Orders, directives, policies, or regulations. This includes the capability to capture, record, and log all content related to an established user session. ",
614
+ "severity": "medium"
615
+ },
616
+ {
617
+ "id": "V-26906",
618
+ "title": "The application must provide the capability to remotely view/hear all content related to an established user session in real time.",
619
+ "description": "While a great deal of effort is made to secure applications so as to prevent unauthorized access, in certain instances there can be valid requirements to listen/hear or view all content related to a particular user's application session in real time as it occurs. \n\nThese instances are reserved for monitoring or investigative purposes supported through policy and are officially sanctioned. Session auditing activities are developed, integrated, and used in consultation with legal counsel in accordance with applicable federal laws, Executive Orders, directives, policies, or regulations. \n\nThese monitoring events occur at the application layer and as such, may be required to be conducted at a host system however in some cases network monitoring may be involved as well.\n\nApplications must support valid monitoring requirement capabilities performed in accordance with applicable federal laws, Executive Orders, directives, policies, or regulations. This includes the capability to remotely view/hear all content related to an established user session in real time. ",
620
+ "severity": "medium"
621
+ },
622
+ {
623
+ "id": "V-26907",
624
+ "title": "The application must use organization-defined replay-resistant authentication mechanisms for network access to privileged accounts.",
625
+ "description": "An authentication process resists replay attacks if it is impractical to achieve a successful authentication by recording and replaying a previous authentication message. \n\nTechniques used to address this include protocols using nonce's (e.g., numbers generated for a specific one time use) or challenges (e.g., TLS, WS_Security), and time synchronous or challenge-response one-time authenticators. ",
626
+ "severity": "medium"
627
+ },
628
+ {
629
+ "id": "V-26908",
630
+ "title": "The application must use organization-defined replay-resistant authentication mechanisms for network access to non-privileged accounts.",
631
+ "description": "An authentication process resists replay attacks if it is impractical to achieve a successful authentication by recording and replaying a previous authentication message. \n\nTechniques used to address this include protocols using nonce's (e.g., numbers generated for a specific one time use) or challenges (e.g., TLS, WS_Security), and time synchronous or challenge-response one-time authenticators. ",
632
+ "severity": "medium"
633
+ },
634
+ {
635
+ "id": "V-26909",
636
+ "title": "Applications required to identify devices must uniquely identify and authenticate an organization-defined list of specific and/or types of devices before establishing a connection.",
637
+ "description": "Device authentication is a solution enabling an organization to manage both users and devices. It is an additional layer of authentication ensuring only specific pre-authorized devices operated by specific pre-authorized users can access the network. \n\nDevice authentication requires unique identification and authentication that may be defined by type, by specific device, or by a combination of type and device, as deemed appropriate by the organization. \n\nThe application typically uses either shared known information (e.g., Media Access Control [MAC] or Transmission Control Protocol/Internet Protocol [TCP/IP] addresses) for identification or an organizational authentication solution (e.g., IEEE 802.1x and Extensible Authentication Protocol [EAP], Radius server with EAP-Transport Layer Security [TLS] authentication, Kerberos) to identify and authenticate devices on local and/or wide area networks. \n\nThe required strength of the device authentication mechanism is determined by the security categorization of the information system. ",
638
+ "severity": "medium"
639
+ },
640
+ {
641
+ "id": "V-26910",
642
+ "title": "Applications managing devices must authenticate devices before establishing remote network connections using bidirectional authentication between devices that are cryptographically based.",
643
+ "description": "Device authentication is a solution enabling an organization to manage devices. \n\nIt is an additional layer of authentication ensuring only specific pre-authorized devices operated by specific pre-authorized users can access the network. \n\nDevice authentication requires unique identification and authentication that may be defined by type, by specific device, or by a combination of type and device, as deemed appropriate by the organization. \n\nThe application typically uses either shared known information (e.g., Media Access Control [MAC] or Transmission Control Protocol/Internet Protocol [TCP/IP] addresses) for identification or an organizational authentication solution (e.g., IEEE 802.1x and Extensible Authentication Protocol [EAP], Radius server with EAP-Transport Layer Security [TLS] authentication, Kerberos) to identify and authenticate devices on local and/or wide area networks. \n\nThe required strength of the device authentication mechanism is determined by the security categorization of the information system. \n\nRemote network connection is any connection with a device communicating through an external network (e.g., the Internet). \n\nBidirectional authentication provides a means for both connecting parties to mutually authenticate one another and cryptographically based authentication provides a secure means of authenticating without the use of clear text passwords. ",
644
+ "severity": "medium"
645
+ },
646
+ {
647
+ "id": "V-26911",
648
+ "title": "Applications managing network connections for devices must authenticate devices before establishing wireless network connections by using bidirectional authentication that is cryptographically based.",
649
+ "description": "Device authentication is a solution enabling an organization to manage devices. \n\nIt is an additional layer of authentication ensuring only specific pre-authorized devices operated by specific pre-authorized users can access the network. \n\nDevice authentication requires unique identification and authentication that may be defined by type, by specific device, or by a combination of type and device, as deemed appropriate by the organization. \n\nThe application typically uses either shared known information (e.g., Media Access Control [MAC] or Transmission Control Protocol/Internet Protocol [TCP/IP] addresses) for identification or an organizational authentication solution (e.g., IEEE 802.1x and Extensible Authentication Protocol [EAP], Radius server with EAP-Transport Layer Security [TLS] authentication, Kerberos) to identify and authenticate devices on local and/or wide area networks. \n\nThe required strength of the device authentication mechanism is determined by the security categorization of the information system. \n\nBidirectional authentication provides a means for both connecting parties to mutually authenticate one another and cryptographically based authentication provides a secure means of authenticating without the use of clear text passwords. ",
650
+ "severity": "medium"
651
+ },
652
+ {
653
+ "id": "V-26912",
654
+ "title": "Applications managing network connectivity must have the capability to authenticate devices before establishing network connections by using bidirectional authentication that is cryptographically based.",
655
+ "description": "Device authentication is a solution enabling an organization to manage both users and devices. \n\nIt is an additional layer of authentication ensuring only specific pre-authorized devices operated by specific pre-authorized users can access the network. \n\nDevice authentication requires unique identification and authentication that may be defined by type, by specific device, or by a combination of type and device as deemed appropriate by the organization. \n\nThe application typically uses either shared known information (e.g., Media Access Control [MAC] or Transmission Control Protocol/Internet Protocol [TCP/IP] addresses) for identification or an organizational authentication solution (e.g., IEEE 802.1x and Extensible Authentication Protocol [EAP], Radius server with EAP-Transport Layer Security [TLS] authentication, Kerberos) to identify and authenticate devices on local and/or wide area networks. \n\nThe required strength of the device authentication mechanism is determined by the security categorization of the information system. \n\nBidirectional authentication provides a means for both connecting parties to mutually authenticate one another and cryptographically based authentication provides a secure means of authenticating without the use of clear text passwords. ",
656
+ "severity": "medium"
657
+ },
658
+ {
659
+ "id": "V-26913",
660
+ "title": "Web services applications establishing identities at run-time for previously unknown entities must dynamically manage identifiers, attributes, and associated access authorizations.",
661
+ "description": "Web services are web applications providing a method of communication between two or more different electronic devices. They are normally used by applications to provide each other with data. \n\nThe W3C defines a web service as:\n\"a software system designed to support interoperable machine to machine interaction over a network. It has an interface described in a machine processable format (specifically Web Services Description Language or WSDL). Other systems interact with the web service in a manner prescribed by its description using SOAP messages typically conveyed using HTTP with an XML serialization in conjunction with other web-related standards\".\n\nWeb services provide different challenges in managing access than what is presented by typical user based applications. In contrast to conventional access control approaches which employ static information system accounts and predefined sets of user privileges, many service-oriented architecture implementations rely on run time access control decisions facilitated by dynamic privilege management. While user identities remain relatively constant over time, user privileges may change more frequently based on the ongoing mission/business requirements and operational needs of the organization. \n\nIn contrast to conventional approaches to identification and authentication which employ static information system accounts for preregistered users, many service-oriented architecture implementations rely on establishing identities at run time for entities that were previously unknown. Dynamic establishment of identities and association of attributes and privileges with these identities are anticipated and provisioned. Pre-established trust relationships and mechanisms with appropriate authorities to validate identities and related credentials are essential.",
662
+ "severity": "medium"
663
+ },
664
+ {
665
+ "id": "V-26914",
666
+ "title": "Applications must support organizational requirements to disable user accounts after an organization-defined time period of inactivity.",
667
+ "description": "Users are often the first line of defense within an application. Active users take notice of system and data conditions and are usually the first to notify systems administrators when they notice a system or application related anomaly, particularly if the anomaly is related to their own account. \n\nInactive user accounts pose a risk to systems and applications. Owners of inactive accounts will not notice if unauthorized access to their user account has been obtained. \n\nAttackers that are able to exploit an inactive user account can potentially obtain and maintain undetected access to an application. Applications need to track periods of user inactivity and disable application accounts after an organization-defined period of inactivity. Such a process greatly reduces the risk that accounts will be misused, hijacked, or will have data compromised. \n\nManagement of user identifiers is not applicable to shared information system accounts (e.g., guest and anonymous accounts). It is commonly the case that a user account is the name of an information system account associated with an individual.\n\nTo avoid having to build complex user management capabilities directly into their application, wise developers leverage the underlying OS or other user account management infrastructure (AD, LDAP) that is already in place within the organization and meets organizational user account management requirements. ",
668
+ "severity": "medium"
669
+ },
670
+ {
671
+ "id": "V-26915",
672
+ "title": "The application must support organizational requirements to enforce minimum password length.",
673
+ "description": "Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \n\nPassword length is one factor of several that helps to determine strength and how long it takes to crack a password. The shorter the password is, the lower the number of possible combinations that need to be tested before the password is compromised. \n\nUse of more characters in a password helps to exponentially increase the time and/or resources required to compromise the password. ",
674
+ "severity": "medium"
675
+ },
676
+ {
677
+ "id": "V-26916",
678
+ "title": "The application must support organizational requirements to prohibit password reuse for the organization-defined number of generations.",
679
+ "description": "Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \n\nTo meet password policy requirements, passwords need to be changed at specific policy based intervals. \n\nIf the information system or application allows the user to consecutively reuse their password when that password has exceeded its defined lifetime, the end result is a password that is not changed as per policy requirements. ",
680
+ "severity": "medium"
681
+ },
682
+ {
683
+ "id": "V-26917",
684
+ "title": "The application must enforce configurable traffic volume thresholds representing auditing capacity for network traffic.",
685
+ "description": "It is critical when a system is at risk of failing to process audit logs as required; actions are automatically taken to mitigate the failure. Audit processing failures include: software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. \n\nOne method used to thwart the auditing system is for an attacker to attempt to overwhelm the auditing system with large amounts of irrelevant data. The end result being audit logs that are either overwritten and activity thereby erased or disk space that is exhausted and any future activity is no longer logged. Applications and/or logging mechanisms employed by applications must take steps to enforce configurable volume thresholds representing the auditing capacity for network traffic.",
686
+ "severity": "medium"
687
+ },
688
+ {
689
+ "id": "V-26918",
690
+ "title": "The application must support organizational requirements to enforce password complexity by the number of upper case characters used.",
691
+ "description": "Password complexity or strength is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \n\nPassword complexity is one factor of several that determine how long it takes to crack a password. The more complex the password is, the greater the number of possible combinations that need to be tested before the password is compromised. \n\nUse of a complex password helps to increase the time and resources required to compromise the password. ",
692
+ "severity": "medium"
693
+ },
694
+ {
695
+ "id": "V-26919",
696
+ "title": "The application must support organizational requirements to enforce password complexity by the number of lower case characters used.",
697
+ "description": "Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \n\nPassword complexity is one factor of several that determine how long it takes to crack a password. \n\nThe more complex the password is, the greater the number of possible combinations that need to be tested before the password is compromised. \n\nUse of a complex password helps to increase the time and resources required to compromise the password. ",
698
+ "severity": "medium"
699
+ },
700
+ {
701
+ "id": "V-26920",
702
+ "title": "The application must support organizational requirements to enforce password complexity by the number of numeric characters used.",
703
+ "description": "Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \n\nPassword complexity is one factor of several that determine how long it takes to crack a password. \n\nThe more complex the password is, the greater the number of possible combinations that need to be tested before the password is compromised. \n\nUse of a complex password helps to increase the time and resources required to compromise the password. ",
704
+ "severity": "medium"
705
+ },
706
+ {
707
+ "id": "V-26921",
708
+ "title": "The application must support organizational requirements to enforce password complexity by the number of special characters used.",
709
+ "description": "Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \n\nPassword complexity is one factor in determining how long it takes to crack a password. \n\nThe more complex the password is, the greater the number of possible combinations that need to be tested before the password is compromised. \n\nUse of a complex password helps to increase the time and resources required to compromise the password. ",
710
+ "severity": "medium"
711
+ },
712
+ {
713
+ "id": "V-26922",
714
+ "title": "The application must support organizational requirements to enforce the number of characters that get changed when passwords are changed.",
715
+ "description": "Passwords need to be changed at specific policy based intervals. \n\nIf the information system or application allows the user to consecutively reuse extensive portions of their password when they change their password, the end result is a password that has not had enough elements changed to meet the policy requirements. ",
716
+ "severity": "medium"
717
+ },
718
+ {
719
+ "id": "V-26923",
720
+ "title": "The application must support organizational requirements to enforce password encryption for storage.",
721
+ "description": "Applications must enforce password encryption when storing passwords. Passwords need to be protected at all times and encryption is the standard method for protecting passwords. If passwords are not encrypted, they can be plainly read and easily compromised.",
722
+ "severity": "medium"
723
+ },
724
+ {
725
+ "id": "V-26924",
726
+ "title": "The application must support organizational requirements to enforce password encryption for transmission.",
727
+ "description": "Passwords need to be protected at all times and encryption is the standard method for protecting passwords during transmission.",
728
+ "severity": "medium"
729
+ },
730
+ {
731
+ "id": "V-26925",
732
+ "title": "Applications must enforce password minimum lifetime restrictions.",
733
+ "description": "Password minimum lifetime is defined as: the minimum period of time, (typically in days) a user's password must be in effect before the user can change it. \n\nRestricting this setting limits the user's ability to change their password. Passwords need to be changed at specific policy based intervals, however if the application allows the user to immediately and continually change their password then the password could be repeatedly changed in a short period of time so as to defeat the organizations policy regarding password reuse.\n\nThis would allow users to keep using the same password over and over again by immediately changing their password X number of times. This would effectively negate password policy. ",
734
+ "severity": "medium"
735
+ },
736
+ {
737
+ "id": "V-26926",
738
+ "title": "Applications must enforce password maximum lifetime restrictions.",
739
+ "description": "Password maximum lifetime is defined as: the maximum period of time, (typically in days) a user's password may be in effect before the user is forced to change it. \n\nPasswords need to be changed at specific policy based intervals as per policy. Any password no matter how complex can eventually be cracked. \n\nOne method of minimizing this risk is to use complex passwords and periodically change them. If the application does not limit the lifetime of passwords and force users to change their passwords there is the risk that the system and/or application passwords could be compromised. ",
740
+ "severity": "medium"
741
+ },
742
+ {
743
+ "id": "V-26927",
744
+ "title": "The application, when utilizing PKI-based authentication, must validate certificates by constructing a certification path with status information to an accepted trust anchor.",
745
+ "description": "A trust anchor is an authoritative entity represented via a public key and associated data. It is used in the context of public key infrastructures, X.509 digital certificates, and DNSSEC. \n\nWhen there is a chain of trust, usually the top entity to be trusted becomes the trust anchor; it can be for example a Certification Authority (CA). A certification path starts with the Subject certificate and proceeds through a number of intermediate certificates up to a trusted root certificate, typically issued by a trusted CA. \n\nPath validation is necessary for a relying party to make an informed trust decision when presented with any certificate not already explicitly trusted. \n\nStatus information for certification paths includes, certificate revocation lists or online certificate status protocol responses. ",
746
+ "severity": "medium"
747
+ },
748
+ {
749
+ "id": "V-26928",
750
+ "title": "The application, when using PKI-based authentication, must enforce authorized access to the corresponding private key.",
751
+ "description": "The cornerstone of the PKI is the private key used to encrypt or digitally sign information. \n\nIf the private key is stolen, this will lead to the compromise of the authentication and non-repudiation gained through PKI because the attacker can use the private key to digitally sign documents and can pretend to be the authorized user. \n\nBoth the holders of a digital certificate and the issuing authority must protect the computers, storage devices, or whatever they use to keep the private keys. ",
752
+ "severity": "medium"
753
+ },
754
+ {
755
+ "id": "V-26929",
756
+ "title": "The application must protect audit data records and integrity by using cryptographic mechanisms.",
757
+ "description": "Protection of audit records and audit data is of critical importance. Cryptographic mechanisms are the industry established standard used to protect the integrity of audit data. An example of a cryptographic mechanism is the computation and application of a cryptographic-signed hash using asymmetric cryptography. ",
758
+ "severity": "medium"
759
+ },
760
+ {
761
+ "id": "V-26930",
762
+ "title": "Applications must ensure that PKI-based authentication maps the authenticated identity to the user account.",
763
+ "description": "The cornerstone of the PKI is the private key used to encrypt or digitally sign information. The key by itself is a cryptographic value that does not contain specific user information.",
764
+ "severity": "medium"
765
+ },
766
+ {
767
+ "id": "V-26932",
768
+ "title": "The application must obscure feedback of authentication information during the authentication process to protect the information from possible exploitation/use by unauthorized individuals.",
769
+ "description": "To prevent the compromise of authentication information such as passwords during the authentication process, the feedback from the information system shall not provide any information that would allow an unauthorized user to compromise the authentication mechanism. \n\nObfuscation of user provided information when typed into the system is a method used in addressing this risk. \n\nFor example, displaying asterisks when a user types in a password, is an example of obscuring feedback of authentication information. ",
770
+ "severity": "medium"
771
+ },
772
+ {
773
+ "id": "V-26933",
774
+ "title": "The application must protect the audit records generated as a result of remote accesses to privileged accounts and the execution of privileged functions.",
775
+ "description": "Protection of audit records and audit data is of critical importance. Care must be taken to ensure privileged users cannot circumvent audit protections put in place. \n\nAuditing might not be reliable when performed by an information system which the user being audited has privileged access to. \n\nThe privileged user could inhibit auditing or directly modify audit records. To prevent this from occurring, privileged access shall be further defined between audit-related privileges and other privileges, thus, limiting the users with audit-related privileges. \n\nReducing the risk of audit compromises by privileged users can also be achieved, for example, by performing audit activity on a separate information system where the user in question has limited access or by using storage media that cannot be modified (e.g., write-once recording devices).",
776
+ "severity": "medium"
777
+ },
778
+ {
779
+ "id": "V-26934",
780
+ "title": "The application must support the enforcement of logical access restrictions associated with changes to application configuration. ",
781
+ "description": "When dealing with access restrictions pertaining to change control, it should be noted any changes to the hardware, software, and/or firmware components of the information system and/or application can potentially have significant effects on the overall security of the system. \n\nAccordingly, only qualified and authorized individuals should be allowed to obtain access to application components for the purposes of initiating changes, including upgrades and modifications. ",
782
+ "severity": "medium"
783
+ },
784
+ {
785
+ "id": "V-26935",
786
+ "title": "The application must use mechanisms for authentication to a cryptographic module that meet the requirements of applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance for such authentication.",
787
+ "description": "Encryption is only as good as the encryption modules utilized. 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. \n\nApplications utilizing encryption are required to use approved encryption modules that meet the requirements of applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance. \n\nFIPS 140-2 is the current standard for validating cryptographic modules and NSA Type-X (where X=1, 2, 3, 4) products are NSA certified hardware based encryption modules. ",
788
+ "severity": "medium"
789
+ },
790
+ {
791
+ "id": "V-26937",
792
+ "title": "The application must uniquely identify and authenticate non-organizational users (or processes acting on behalf of non-organizational users).",
793
+ "description": "Non-organizational users include all information system users other than organizational users which include organizational employees or individuals the organization deems to have equivalent status of employees (e.g., contractors, guest researchers, individuals from allied nations). \n\nNon-organizational users shall be uniquely identified and authenticated for all accesses other than those accesses explicitly identified and documented by the organization when related to the use of anonymous access such as accessing a web server. \n\nAccordingly, a risk assessment is used in determining the authentication needs of the organization. \n\nScalability, practicality, and security are simultaneously considered in balancing the need to ensure ease of use for access to federal information and information systems with the need to protect and adequately mitigate risk to organizational operations, organizational assets, individuals, other organizations, and the Nation. ",
794
+ "severity": "medium"
795
+ },
796
+ {
797
+ "id": "V-26938",
798
+ "title": "The application must support the organizational requirement to employ automated mechanisms enforcing access restrictions.",
799
+ "description": "When dealing with access restrictions pertaining to change control, it should be noted, any changes to the hardware, software, and/or firmware components of the information system and/or application can potentially have significant effects on the overall security of the system. \n\nAccordingly, only qualified and authorized individuals should be allowed to obtain access to information system components for the purposes of initiating changes, upgrades, and modifications. \n\nAccess restrictions for change also include application software libraries. \n\nExamples of access restrictions include, physical and logical access controls, workflow automation, media libraries, abstract layers (e.g., changes are implemented into a third-party interface rather than directly into the information system component), and change windows (e.g., changes occur only during specified times, making unauthorized changes outside the window easy to discover). ",
800
+ "severity": "medium"
801
+ },
802
+ {
803
+ "id": "V-26939",
804
+ "title": "Applications that are designed and intended to address incident response scenarios must provide a configurable capability to automatically disable an information system if any of the organization defined security violations are detected.",
805
+ "description": "When responding to a security incident a capability must exist allowing authorized personnel to disable a particular system if the system exhibits a security violation and the organization determines an action is warranted. \n\nOrganizations shall define a list of security violations that warrant an immediate disabling of a system.",
806
+ "severity": "medium"
807
+ },
808
+ {
809
+ "id": "V-26940",
810
+ "title": "The application must support the employment of automated mechanisms supporting the auditing of enforcement actions.",
811
+ "description": "Any changes to the hardware, software, and/or firmware components of the information system and/or application can potentially have significant effects on the overall security of the system. \n\nAccordingly, only qualified and authorized individuals are allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications. \n\nAccess restrictions for change also include software libraries. \n\nExamples of access restrictions include: physical and logical access controls, workflow automation, media libraries, abstract layers (e.g., changes are implemented into a third-party interface rather than directly into the information system component), and change windows (e.g., changes occur only during specified times, making unauthorized changes outside the window easy to discover). ",
812
+ "severity": "medium"
813
+ },
814
+ {
815
+ "id": "V-26941",
816
+ "title": "Applications related to incident tracking must support organizational requirements to employ automated mechanisms to assist in the tracking of security incidents.",
817
+ "description": "Incident tracking is a method of monitoring networks and systems for activity indicative of viral infection or system attack. \n\nMonitoring for this type of activity provides the organization with the capability to proactively detect and respond to attacks. Automated mechanisms for tracking security incidents and collecting/analyzing incident information include, the Einstein network monitoring device and monitoring online Computer Incident Response Centers (CIRCs) or other electronic databases of incidents. ",
818
+ "severity": "medium"
819
+ },
820
+ {
821
+ "id": "V-26943",
822
+ "title": "Applications must prevent the installation of organization-defined critical software programs not signed with a certificate that has been recognized and approved by the organization.",
823
+ "description": "Any changes to the hardware, software, and/or firmware components of the information system and/or application can potentially have significant effects on the overall security of the system. \n\nAccordingly, software defined by the organization as critical software may be signed with a certificate recognized and approved by the organization. \n\nExamples of critical software programs and/or modules include, for example, patches, service packs, software libraries and where applicable, device drivers. ",
824
+ "severity": "medium"
825
+ },
826
+ {
827
+ "id": "V-26944",
828
+ "title": "Applications scanning for malicious code must scan all media used for system maintenance prior to use.",
829
+ "description": "There are security-related issues arising from software brought into the information system specifically for diagnostic and repair actions (e.g., a software packet sniffer installed on a system in order to troubleshoot system traffic, or a vendor installing or running a diagnostic application in order to troubleshoot an issue with a vendor supported system).\n\nThis requirement ensures the media containing the application is scanned for malicious code prior to use. ",
830
+ "severity": "medium"
831
+ },
832
+ {
833
+ "id": "V-26945",
834
+ "title": "The organization must employ automated mechanisms to restrict the use of maintenance tools to authorized personnel only.",
835
+ "description": "The intent of this control is to address the security-related issues arising from the software brought into the information system specifically for diagnostic and repair actions (e.g., a software packet sniffer introduced for the purpose of a particular maintenance activity). \n\nThis is an organizational requirement to utilize automated mechanisms in order to prevent maintenance tools from being utilized by unauthorized personnel. This requirement does not address application characteristics and does not apply.",
836
+ "severity": "medium"
837
+ },
838
+ {
839
+ "id": "V-26946",
840
+ "title": "The application must support the enforcement of a two-person rule for changes to organization-defined application components and system-level information.",
841
+ "description": "Regarding access restrictions for changes made to organization defined information system components and system level information. Any changes to the hardware, software, and/or firmware components of the information system and/or application can potentially have significant effects on the overall security of the system. \n\nAccordingly, only qualified and authorized individuals are allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications. \n\nA two person rule requires two separate individuals acknowledge and approve those changes. Two person rule for changes to critical application components helps to reduce risks pertaining to availability and integrity.\n",
842
+ "severity": "medium"
843
+ },
844
+ {
845
+ "id": "V-26947",
846
+ "title": "The organization must audit non-local maintenance and diagnostic sessions.",
847
+ "description": "Non-local maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network in order to conduct system diagnostics. \n\nThis is an organizational requirement to audit non-local maintenance sessions. This does not address an application characteristic and does not apply to applications.",
848
+ "severity": "medium"
849
+ },
850
+ {
851
+ "id": "V-26948",
852
+ "title": "Applications used for non-local maintenance sessions must protect those sessions through the use of a strong authenticator tightly bound to the user.",
853
+ "description": "Non-local maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network.\n\nIdentification and authentication techniques used in the establishment of non-local maintenance and diagnostic sessions must be consistent with the network access requirements in IA-2. Strong authenticators include, PKI where certificates are stored on a token protected by a password, passphrase, or biometric.\n\nExamples of types of applications used for non-local maintenance and diagnostic activities are provided below. Use as an example does not imply compliance with policy requirements or approval for use. Examples include but are not limited to:\n\n- Terminal Services\n- Remote Desktop\n- Dameware\n- VNC (all variants)\n",
854
+ "severity": "medium"
855
+ },
856
+ {
857
+ "id": "V-26949",
858
+ "title": "Applications must limit privileges to change the software resident within software libraries (including privileged programs).",
859
+ "description": "When dealing with change control issues, it should be noted any changes to the hardware, software, and/or firmware components of the information system and/or application can potentially have significant effects on the overall security of the system. \n\nIf the application were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process.\n\nThis requirement is contingent upon the language in which the application is programmed as many application architectures in use today incorporate their software libraries into and make them inseparable from their compiled distributions rendering them static and version dependant. However, this requirement does apply to applications with software libraries accessible and configurable as in the case of interpreted languages.\n\nAccordingly, only qualified and authorized individuals shall be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications. ",
860
+ "severity": "medium"
861
+ },
862
+ {
863
+ "id": "V-26950",
864
+ "title": "The organization must protect non-local maintenance sessions by separating the maintenance session from other network sessions with the information system by either physically separated communications paths; or logically separated communications paths based upon encryption.",
865
+ "description": "This is a requirement that maintenance needs to be done on a separate interface or encrypted channel to segment maintenance activity from regular usage.\n\nThis does not address an application characteristic and does not apply.",
866
+ "severity": "medium"
867
+ },
868
+ {
869
+ "id": "V-26952",
870
+ "title": "Applications must automatically implement organization-defined safeguards and countermeasures if security functions (or mechanisms) are changed inappropriately.",
871
+ "description": "Any changes to the application components of the information system can potentially have significant effects on the overall security of the system. \n\nAccordingly, only qualified and authorized individuals shall be allowed to obtain access to the application components for purposes of initiating changes, including upgrades and modifications.\n\nIn order to ensure a prompt response to unauthorized changes to application security functions or security mechanisms, organizations may define countermeasures and safeguards that monitoring applications must undertake in the event these types of changes occur. This degree of functionality is typically built into a support architecture providing change management and/or system monitoring capabilities. \n\nAutomatic implementation of safeguards and countermeasures includes: reversing the change; halting the system; or triggering an audit alert when an unauthorized modification to a critical security file or process occurs. \n\nExamples of such support architecture include but are not limited to: HIDS, change management software or file/process monitoring software. ",
872
+ "severity": "medium"
873
+ },
874
+ {
875
+ "id": "V-26953",
876
+ "title": "The application must employ cryptographic mechanisms to protect the integrity and confidentiality of non-local maintenance and diagnostic communications.",
877
+ "description": "Non-local maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. \n\nThe act of managing systems and applications includes the ability to access sensitive application information such as system configuration details, diagnostic information, user information, and potentially sensitive application data. \n\nWhen applications provide a remote management capability that is inherent to the application, the application needs to ensure the communication channels used to remotely access the system are adequately protected. ",
878
+ "severity": "medium"
879
+ },
880
+ {
881
+ "id": "V-26954",
882
+ "title": "The application must employ strong identification and authentication techniques when establishing non-local maintenance and diagnostic sessions",
883
+ "description": "Non-local maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. \n\nThe act of managing systems and applications includes the ability to access sensitive application information, such as, system configuration details, diagnostic information, user information and potentially sensitive application data. \n\nWhen applications provide a remote management capability that is inherent to the application, the application needs to ensure the identification and authentication techniques used to remotely access the system are strong enough to protect the system. ",
884
+ "severity": "medium"
885
+ },
886
+ {
887
+ "id": "V-26955",
888
+ "title": "Configuration management applications must employ automated mechanisms to centrally manage configuration settings.",
889
+ "description": "Configuration settings are the configurable security-related parameters of information technology products that are part of the information system. \n\nSecurity-related parameters are those parameters impacting the security state of the system including parameters related to meeting other security control requirements. \n\nSecurity-related parameters include: registry settings; account, file, and directory settings (i.e., permissions); and settings for services, ports, protocols, and remote connections. \n\nRather than visiting each and every system when making application configuration changes, organizations will employ automated tools that can make changes across all systems. This greatly increases efficiency and manageability of systems and applications in a large scale environment. To support this requirement, configuration management applications will employ automated mechanisms to centrally manage configuration settings and applications, in general, will ensure that they do not hinder the use of such tools. ",
890
+ "severity": "medium"
891
+ },
892
+ {
893
+ "id": "V-26956",
894
+ "title": "Configuration management applications must employ automated mechanisms to centrally apply configuration settings.",
895
+ "description": "Configuration settings are the configurable security-related parameters of information technology products that are part of the information system. \n\nSecurity-related parameters are those parameters impacting the security state of the system including parameters related to meeting other security control requirements. \n\nSecurity-related parameters include: registry settings; account, file, and directory settings (i.e., permissions); and settings for services, ports, protocols, and remote connections. \n\nRather than visiting each and every system when making configuration changes, organizations will employ automated tools that can make changes across all systems. This greatly increases efficiency and manageability of systems and applications in a large scale environment. \n\nCentrally apply means to apply settings from a centralized location. In order to accommodate large scale environments, centralized solutions may also employ distributed systems used as configuration management proxies. This is allowable as long as these systems are centrally managed and controlled as part of the overall configuration management solution.\n\nTo support this requirement, configuration management applications will employ automated mechanisms to centrally apply configuration settings and applications in general will ensure they do not hinder the use of such tools.",
896
+ "severity": "medium"
897
+ },
898
+ {
899
+ "id": "V-26957",
900
+ "title": "Configuration management applications must employ automated mechanisms to centrally verify configuration settings.",
901
+ "description": "Configuration settings are the configurable security-related parameters of information technology products that are part of the information system. \n\nSecurity-related parameters are those parameters impacting the security state of the system, including parameters related to meeting other security control requirements. \n\nSecurity-related parameters include: registry settings; account, file, and directory settings (i.e., permissions); and settings for services, ports, protocols, and remote connections. \n\nRather than visiting each and every system when making configuration changes, organizations will employ automated tools that can make changes across all systems. This greatly increases efficiency and manageability of systems and applications in a large scale environment. \n\nCentrally verify means to verify settings have taken effect from a centralized location. In order to accommodate large scale environments, centralized solutions may also employ distributed systems used as configuration management proxies. This is allowable as long as these systems are centrally managed and controlled as part of the overall configuration management solution.\n\nTo support this requirement, configuration management applications will employ automated mechanisms to centrally verify configuration settings and applications in general will ensure they do not hinder the use of such tools.",
902
+ "severity": "medium"
903
+ },
904
+ {
905
+ "id": "V-26958",
906
+ "title": "Configuration management applications must employ automated mechanisms to centrally respond to unauthorized changes to configuration settings. ",
907
+ "description": "Configuration settings are the configurable security-related parameters of information technology products that are part of the information system. \n\nSecurity-related parameters are those parameters impacting the security state of the system, including parameters related to meeting other security control requirements. \n\nSecurity-related parameters include: registry settings; account, file, and directory settings (i.e., permissions); and settings for services, ports, protocols, and remote connections. \n\nResponses to unauthorized changes to configuration settings can include: alerting designated organizational personnel, restoring mandatory/organization-defined configuration settings, or in the extreme case, halting affected information system processing. \n\nCentrally respond means to respond to unauthorized changes to settings have taken effect from a centralized location. In order to accommodate large scale environments, centralized solutions may also employ distributed systems used as configuration management proxies. This is allowable as long as these systems are centrally managed and controlled as part of the overall configuration management solution.",
908
+ "severity": "medium"
909
+ },
910
+ {
911
+ "id": "V-26959",
912
+ "title": "Configuration management solutions must track unauthorized, security-relevant configuration changes.",
913
+ "description": "Configuration settings are the configurable security-related parameters of information technology products that are part of the information system. \n\nSecurity-related parameters are those parameters impacting the security state of the system including parameters related to meeting other security control requirements. \n\nSecurity-related parameters include: registry settings; account, file, and directory settings (i.e., permissions); and settings for services, ports, protocols, and remote connections. \n\nIncident Response teams require input from authoritative sources in order to investigate events that have occurred. Configuration management solutions are a logical source for providing information regarding system configuration changes. Unauthorized, security-relevant configuration changes must be incorporated into the organization’s incident response capability to ensure such detected events are tracked for historical purposes.",
914
+ "severity": "medium"
915
+ },
916
+ {
917
+ "id": "V-26961",
918
+ "title": "Applications must adhere to the principles of least functionality by providing only essential capabilities.",
919
+ "description": "Information systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). \n\nIt is detrimental for applications to provide, or install by default, functionality exceeding requirements or mission objectives. Examples include, but are not limited to: installing advertising software, demo's or browser plugins not related to requirements or providing a wide array of functionality not required for every mission, yet cannot be disabled. \n\nApplications must adhere to the principles of least functionality by providing only essential capabilities.",
920
+ "severity": "medium"
921
+ },
922
+ {
923
+ "id": "V-26962",
924
+ "title": "The application must support the organizational requirements to specifically prohibit or restrict the use of unauthorized functions, ports, protocols, and/or services.",
925
+ "description": "Information systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). \n\nAdditionally, it is sometimes convenient to provide multiple services from a single component of an information system (e.g., email and web services) but doing so increases risk over limiting the services provided by any one component. \n\nTo support the requirements and principles of least functionality the application must support the organizational requirements providing only essential capabilities and limiting the use of ports, protocols, and/or services to only those required, authorized, and approved to conduct official business or to address authorized quality of life issues.",
926
+ "severity": "medium"
927
+ },
928
+ {
929
+ "id": "V-26963",
930
+ "title": "To support the requirements and principles of least functionality, the application must support organizational requirements regarding the use of automated mechanisms preventing program execution on the information system in accordance with the organization-defined specifications.",
931
+ "description": "Information systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). \n\nStandard operating procedure for placing an information system into a production environment includes creating a baseline configuration of the system. The baseline configuration provides information about the components of the information system (e.g., the standard software load for a workstation, server, network component, or mobile device including operating system/installed applications with current version numbers and patch information), network topology, and the logical placement of the component within the system architecture. \n\nIt is sometimes convenient to provide multiple services from a single information system, but doing so increases risk when compared to limiting the services provided by any one system. This is particularly true when these services have conflicting missions, user communities or availability requirements.\n\nThis requirement addresses the need to provide an automated mechanism that will prevent the execution of programs not associated with the established baseline configuration.\n\nThis is a requirement to disable services as part of the baseline process and provide automated tools that monitor the system and prevent unauthorized system processes from executing. \n\nThis requirement will apply to configuration management applications, HIDS applications and other similar types of applications designed to manage system processes and configurations. ",
932
+ "severity": "medium"
933
+ },
934
+ {
935
+ "id": "V-26964",
936
+ "title": "The organization must employ automated mechanisms, per organization-defined frequency, to detect the addition of unauthorized components/devices into the information system.",
937
+ "description": "Information deemed to be necessary by the organization to achieve effective property accountability can include: hardware inventory specifications (manufacturer, type, model, serial number, physical location), software license information, information system/component owner, and for a networked component/device, the machine name and network address. \n\nThis is not an application requirement. This requirement is regarding information system component inventory. The purpose is to require organizations to employ an automated mechanism to inventory and detect when new devices and components are installed into information systems. \n",
938
+ "severity": "medium"
939
+ },
940
+ {
941
+ "id": "V-26965",
942
+ "title": "Applications must implement transaction recovery for systems that are transaction-based.",
943
+ "description": "Application recovery and reconstitution constitutes executing an information system contingency plan that is comprised of activities that restore essential missions and business functions. \n\nDatabase management systems and transaction-based processing systems are examples of information systems that are transaction-based. Transaction rollback and transaction journaling are examples of mechanisms supporting transaction recovery. ",
944
+ "severity": "medium"
945
+ },
946
+ {
947
+ "id": "V-26966",
948
+ "title": "Backup / Disaster Recovery oriented applications must be capable of backing up user-level information per a defined frequency. ",
949
+ "description": "Information system backup is a critical step in maintaining data assurance and availability. \n\nUser-level information is data generated by information system and/or application users. In order to assure availability of this data in the event of a system failure, DoD organizations are required to ensure user generated data is backed up at a defined frequency. This includes data stored on file systems, within databases or within any other storage media.\n\nApplications performing backups must be capable of backing up user-level information per the DoD defined frequency.",
950
+ "severity": "medium"
951
+ },
952
+ {
953
+ "id": "V-26967",
954
+ "title": "The application must reject or delay, as defined by the organization, network traffic generated above configurable traffic volume thresholds.",
955
+ "description": "It is critical when a system is at risk of failing to process audit logs as required; actions are automatically taken to mitigate the failure or risk of failure. \n\nOne method used to thwart the auditing system is for an attacker to attempt to overwhelm the auditing system with large amounts of irrelevant data. The end result being audit logs that are either overwritten and activity thereby erased or disk space that is exhausted and any future activity is no longer logged. \n\nIn many system configurations, the disk space allocated to the auditing system is separate from the disks allocated for the operating system; therefore, this may not result in a system outage.",
956
+ "severity": "medium"
957
+ },
958
+ {
959
+ "id": "V-26968",
960
+ "title": "The application must invoke a system shutdown in the event of an audit failure, unless an alternative audit capability exists.",
961
+ "description": "It is critical when a system is at risk of failing to process audit logs as required; it takes action to mitigate the failure. If the system were to continue processing without auditing enabled, actions can be taken on the system that cannot be tracked and recorded for later forensic analysis. \n\nAudit processing failures include; software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. \n\nIn many system configurations, the disk space allocated to the auditing system is separate from the disks allocated for the operating system; therefore, this may not result in a system outage. This forces the application to detect and take actions.",
962
+ "severity": "medium"
963
+ },
964
+ {
965
+ "id": "V-26969",
966
+ "title": "The application must support and must not impede organizational requirements to conduct backups of system-level information contained in the information system per organization-defined frequency.",
967
+ "description": "Information system backup is a critical step in maintaining data assurance and availability. \n\nSystem-level information includes: system-state information, operating system and application software, and licenses. \n\nBackups shall be consistent with organizational recovery time and recovery point objectives. ",
968
+ "severity": "medium"
969
+ },
970
+ {
971
+ "id": "V-26970",
972
+ "title": "The application must alert designated organizational officials in the event of an audit processing failure.",
973
+ "description": "It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Audit processing failures include; software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded.",
974
+ "severity": "medium"
975
+ },
976
+ {
977
+ "id": "V-26971",
978
+ "title": "The application must support and must not impede organizational requirements to conduct backups of information system documentation including security-related documentation per organization-defined frequency. ",
979
+ "description": "Information system backup is a critical step in maintaining data assurance and availability. \n\nInformation system and security related documentation contains information pertaining to system configuration and security settings. \n\nBackups shall be consistent with organizational recovery time and recovery point objectives. ",
980
+ "severity": "medium"
981
+ },
982
+ {
983
+ "id": "V-26972",
984
+ "title": "The application must uniquely identify and authenticate organizational users (or processes acting on behalf of organizational users). ",
985
+ "description": "To assure accountability and prevent unauthorized access, organizational users shall be identified and authenticated. \n\nOrganizational users include organizational employees or individuals the organization deems to have equivalent status of employees (e.g., contractors, guest researchers, individuals from allied nations). \n\nUsers (and any processes acting on behalf of users) are uniquely identified and authenticated for all accesses other than those accesses explicitly identified and documented by the organization which outlines specific user actions that can be performed on the information system without identification or authentication. ",
986
+ "severity": "medium"
987
+ },
988
+ {
989
+ "id": "V-26973",
990
+ "title": "The application must use multifactor authentication for network access to privileged accounts.",
991
+ "description": "Multifactor authentication is defined as: using two or more factors to achieve authentication. \n\nFactors include: \n(i) something a user knows (e.g., password/PIN); \n(ii) something a user has (e.g., cryptographic identification device, token); or \n(iii) something a user is (e.g., biometric). \n\nA privileged account is defined as: \nAn information system account with authorizations of a privileged user. \n\nNetwork Access is defined as: \nAccess to an information system by a user (or a process acting on behalf of a user) communicating through a network (e.g., local area network, wide area network, Internet). ",
992
+ "severity": "medium"
993
+ },
994
+ {
995
+ "id": "V-26974",
996
+ "title": "The application must be capable of taking organization-defined actions upon audit failure (e.g., overwrite oldest audit records, stop generating audit records, cease processing, notify of audit failure).",
997
+ "description": "It is critical when a system is at risk of failing to process audit logs as required; it detects and takes action to mitigate the failure. Audit processing failures include: software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. Applications are required to be capable of either directly performing or calling system level functionality performing defined actions upon detection of an application audit log processing failure.",
998
+ "severity": "medium"
999
+ },
1000
+ {
1001
+ "id": "V-26975",
1002
+ "title": "The application must use multifactor authentication for network access to non-privileged accounts.",
1003
+ "description": "Multifactor authentication is defined as: using two or more factors to achieve authentication. \n\nFactors include: \n(i) something a user knows (e.g., password/PIN); \n(ii) something a user has (e.g., cryptographic identification device, token); or \n(iii) something a user is (e.g., biometric). \n\nA non-privileged account is defined as: \nAn information system account with authorizations of a regular or non-privileged user. \n\nNetwork Access is defined as: \nAccess to an information system by a user (or a process acting on behalf of a user) communicating through a network (e.g., local area network, wide area network, Internet). \n\nApplications integrating with the DoD Active Directory and utilize the DoD CAC are examples of compliant multifactor authentication solutions.",
1004
+ "severity": "medium"
1005
+ },
1006
+ {
1007
+ "id": "V-26976",
1008
+ "title": "To support audit review, analysis and reporting the application must integrate audit review, analysis, and reporting processes to support organizational processes for investigation and response to suspicious activities.",
1009
+ "description": "Successful incident response and auditing relies on timely, accurate system information and analysis in order to allow the organization to identify and respond to potential incidents in a proficient manner. \n\nAudit review, analysis and reporting are all activities related to the evaluation of system activity through the inspection and analysis of system log data. \n\nSome examples include but are not limited to: organizational requirements to cooperate with legal counsel and/or auditors in order to provide reports on certain types of system activity or analyzing system logs to ascertain sources or causes of certain system activity.",
1010
+ "severity": "medium"
1011
+ },
1012
+ {
1013
+ "id": "V-26977",
1014
+ "title": "The application must use multifactor authentication for local access to privileged accounts.",
1015
+ "description": "Multifactor authentication is defined as: using two or more factors to achieve authentication. \n\nFactors include: \n(i) something a user knows (e.g., password/PIN); \n(ii) something a user has (e.g., cryptographic identification device, token); or \n(iii) something a user is (e.g., biometric). \n\nA privileged account is defined as an information system account with authorizations of a privileged user. \n\nLocal Access is defined as access to an organizational information system by a user (or process acting on behalf of a user) communicating through a direct connection without the use of a network.",
1016
+ "severity": "medium"
1017
+ },
1018
+ {
1019
+ "id": "V-26978",
1020
+ "title": "The application must use multifactor authentication for local access to non-privileged accounts.",
1021
+ "description": "Multifactor authentication is defined as: using two or more factors to achieve authentication. \n\nFactors include: \n(i) something a user knows (e.g., password/PIN); \n(ii) something a user has (e.g., cryptographic identification device, token); or \n(iii) something a user is (e.g., biometric). \n\nA non-privileged account is defined as an information system account with authorizations of a regular or non-privileged user. \n\nLocal Access is defined as access to an organizational information system by a user (or process acting on behalf of a user) communicating through a direct connection without the use of a network. ",
1022
+ "severity": "medium"
1023
+ },
1024
+ {
1025
+ "id": "V-26979",
1026
+ "title": "Applications authenticating users must ensure users are authenticated with an individual authenticator prior to using a group authenticator.",
1027
+ "description": "To assure individual accountability and prevent unauthorized access, application users (and any processes acting on behalf of users) must be individually identified and authenticated. \n\nA group authenticator is a generic account used by multiple individuals. Use of a group authenticator alone does not uniquely identify individual users. An example of a group authenticator is the UNIX OS 'root' user account, a Windows 'administrator' account, an 'sa' account or a \"helpdesk\" account.\n\nFor example, the UNIX and Windows operating systems offer a 'switch user' capability allowing users to authenticate with their individual credentials and, when needed, 'switch' to the administrator role. This method provides for unique individual authentication prior to using a group authenticator.\n\nSome applications may not have the need to provide a group authenticator; this is considered a matter of application design. In those instances where the application design includes the use of a group authenticator, this requirement will apply.\n\nThere may also be instances when specific user actions need to be performed on the information system without unique user identification or authentication. An example of this type of access is a web server which contains publicly releasable information. These types of accesses are allowed but must be explicitly identified and documented by the organization.\n ",
1028
+ "severity": "medium"
1029
+ },
1030
+ {
1031
+ "id": "V-26980",
1032
+ "title": "Applications using multifactor authentication when accessing privileged accounts via the network must provide one of the factors by a device that is separate from the information system gaining access. ",
1033
+ "description": "Multifactor authentication is defined as: using two or more factors to achieve authentication. \n\nFactors include: \n(i) something a user knows (e.g., password/PIN); \n(ii) something a user has (e.g., cryptographic identification device, token); or \n(iii) something a user is (e.g., biometric). \n\nA privileged account is defined as an information system account with authorizations of a privileged user. \n\nNetwork access is defined as; any access to an information system by a user (or process acting on behalf of a user) where said access is obtained through a network connection.\n\nOut Of Band 2 Factor Authentication (OOB2FA) is defined as: when one of the authentication factors is provided by a device that is separate from the system that is used to gain access. \n\nFor example, a mobile device such as a smart phone is registered within the application to an application user. Upon a successful authentication, the system sends instructions to the registered mobile device in the form of on-screen prompts instructing the user on how to complete the login process.\n\nOOB2FA employs separate communication channels where at least one is independently maintained and trusted to authenticate an end user. \n\nApplications using multifactor authentication when accessing privileged accounts via the network must provide one of the factors by a device separate from the information system gaining access. ",
1034
+ "severity": "medium"
1035
+ },
1036
+ {
1037
+ "id": "V-26981",
1038
+ "title": "Applications using multifactor authentication when accessing non-privileged accounts via the network must provide one of the factors by a device separate from the information system gaining access. \n",
1039
+ "description": "Multifactor authentication is defined as: using two or more factors to achieve authentication. \n\nFactors include: \n(i) something a user knows (e.g., password/PIN); \n(ii) something a user has (e.g., cryptographic identification device, token); or \n(iii) something a user is (e.g., biometric). \n\nA non-privileged account is defined as an information system account with authorizations of a non-privileged user or simply, a regular user.\n\nNetwork access is defined as any access to an information system by a user (or process acting on behalf of a user) where said access is obtained through a network connection.\n\nOut Of Band 2 Factor Authentication is defined as: when one of the authentication factors is provided by a device that is separate from the system that is used to gain access. \n\nFor example, a mobile device such as a smart phone is registered within the application to an application user. Upon a successful authentication, the system sends instructions to the registered mobile device in the form of on-screen prompts instructing the user on how to complete the login process.\n\nOOB2FA employs separate communication channels where at least one is independently maintained and trusted to authenticate an end user. \n\nApplications using multifactor authentication when accessing non-privileged accounts via the network must provide one of the factors by a device separate from the information system gaining access. ",
1040
+ "severity": "medium"
1041
+ },
1042
+ {
1043
+ "id": "V-27011",
1044
+ "title": "The application must perform data origin authentication and data integrity verification on the name/address resolution responses the system receives from authoritative sources when requested by client systems.",
1045
+ "description": "A recursive resolving or caching Domain Name System (DNS) server is an example of an information system providing name/address resolution service for local clients. \n\nAuthoritative DNS servers are examples of authoritative sources. Information systems using technologies other than the DNS to map between host/service names and network addresses provide other means to enable clients to verify the authenticity and integrity of response data. ",
1046
+ "severity": "medium"
1047
+ },
1048
+ {
1049
+ "id": "V-27012",
1050
+ "title": "The application must perform data origin authentication and data integrity verification on all resolution responses received whether or not local client systems explicitly request this service.",
1051
+ "description": "A recursive resolving or caching Domain Name System (DNS) server is an example of an information system providing name/address resolution service for local clients. \n\nAuthoritative DNS servers are examples of authoritative sources owning DNS data. Information systems using technologies other than the DNS to map between host/service names and network addresses provide other means to enable clients to verify the authenticity and integrity of response data. ",
1052
+ "severity": "medium"
1053
+ },
1054
+ {
1055
+ "id": "V-27013",
1056
+ "title": "The information systems that collectively provide name/address resolution service for an organization must be fault-tolerant.",
1057
+ "description": "A Domain Name System (DNS) server is an example of an information system providing name/address resolution service. To eliminate single points of failure and to enhance redundancy, there are typically at least two authoritative DNS servers, one configured as primary and the other as secondary. Additionally, the two servers are commonly located in two different network subnets and geographically separated (i.e., not located in the same physical facility). \n\nWith regard to role separation, DNS servers with an internal role, only process name/address resolution requests from within the organization (i.e., internal clients). DNS servers with an external role only process name/address resolution information requests from clients external to the organization (i.e., on the external networks including the Internet). The set of clients that can access an authoritative DNS server in a particular role is specified by the organization (e.g., by address ranges, explicit lists). \n\nThis requirement addresses the need to have redundant DNS servers and does not apply to DNS application functionality.",
1058
+ "severity": "medium"
1059
+ },
1060
+ {
1061
+ "id": "V-27014",
1062
+ "title": "Applications that collectively provide name/address resolution service for an organization must implement internal/external role separation.",
1063
+ "description": "A Domain Name System (DNS) server is an example of an information system providing name/address resolution service. To eliminate single points of failure and to enhance redundancy, there are typically at least two authoritative domain DNS servers, one configured as primary and the other as secondary. \n\nAdditionally, the two servers are commonly located in two different network subnets and geographically separated (i.e., not located in the same physical facility). With regard to role separation, DNS servers with an internal role, only process name/address resolution requests from within the organization (i.e., internal clients). \n\nDNS servers with an external role only process name/address resolution information requests from clients external to the organization (i.e., on the external networks including the Internet). The set of clients that can access an authoritative DNS server in a particular role is specified by the organization (e.g., by address ranges, explicit lists). ",
1064
+ "severity": "medium"
1065
+ },
1066
+ {
1067
+ "id": "V-27015",
1068
+ "title": "Application must ensure authentication of both client and server during the entire session. An example of this is SSL Mutual Authentication.\n",
1069
+ "description": "This control focuses on communications protection at the session, versus packet level. \n\nAt the application layer, session IDs are tokens generated by web applications to uniquely identify an application user's session. Web applications utilize session tokens or session IDs in order to establish application user identity. Proper use of session IDs addressed man-in-the-middle attacks including session hijacking or insertion of false information into a session. This control is only implemented where deemed necessary by the organization (e.g., sessions in service-oriented architectures providing web-based services). ",
1070
+ "severity": "medium"
1071
+ },
1072
+ {
1073
+ "id": "V-27016",
1074
+ "title": "Applications must terminate user sessions upon user logout or any other organization or policy defined session termination events such as idle time limit exceeded.",
1075
+ "description": "This requirement focuses on communications protection at the application session, versus network packet level. \n\nSession IDs are tokens generated by web applications to uniquely identify an application user's session. Applications will make application decisions and execute business logic based on the session ID. Unique session identifiers or IDs are the opposite of sequentially generated session IDs which can be easily guessed by an attacker. Unique session IDs help to reduce predictability of said identifiers. Unique session IDs address man-in-the-middle attacks including session hijacking or insertion of false information into a session. If the attacker is unable to identify or guess the session information related to pending application traffic, they will have more difficulty in hijacking the session or otherwise manipulating valid sessions. When a user logs out, or when any other session termination event occurs, the application must terminate the user session to minimize the potential for an attacker to hijack that particular user session.",
1076
+ "severity": "medium"
1077
+ },
1078
+ {
1079
+ "id": "V-27017",
1080
+ "title": "Applications providing a login capability must also provide a logout functionality to allow the user to manually terminate the session.",
1081
+ "description": "Manually terminating an application session allows users to immediately depart the physical vicinity of the system they are logged into without the risk of subsequent system users reactivating or continuing their application session. User's who log into applications must have the ability to manually terminate their application session. \n\nWithout an observable manual logout capability provided by the application, the user will have no means of manually terminating their application session. Their session could remain active until which time the inactivity period expires and the application automatically logs the user out. This increases the likelihood that the next subsequent user of the system could pick up on the previous user's session and continue utilizing the application as the previous user.",
1082
+ "severity": "medium"
1083
+ },
1084
+ {
1085
+ "id": "V-27018",
1086
+ "title": "Applications must generate a unique session identifier for each session.",
1087
+ "description": "This requirement focuses on communications protection at the application session, versus network packet level. The intent of this control is to establish grounds for confidence at each end of a communications session in the ongoing identity of the other party and in the validity of the information being transmitted. \n\nUnique session IDs are the opposite of sequentially generated session IDs which can be easily guessed by an attacker. Unique session identifiers help to reduce predictability of said identifiers. Unique session IDs address man-in-the-middle attacks including session hijacking or insertion of false information into a session. If the attacker is unable to identify or guess the session information related to pending application traffic, they will have more difficulty in hijacking the session or otherwise manipulating valid sessions.",
1088
+ "severity": "medium"
1089
+ },
1090
+ {
1091
+ "id": "V-27019",
1092
+ "title": "Applications must recognize only system-generated session identifiers.",
1093
+ "description": "This requirement focuses on communications protection at the application session, versus network packet level. The intent of this control is to establish grounds for confidence at each end of a communications session in the ongoing identity of the other party and in the validity of the information being transmitted. \n\nUnique session IDs are the opposite of sequentially generated session IDs which can be easily guessed by an attacker. Unique session identifiers help to reduce predictability of said identifiers. \n\nUnique session IDs address man-in-the-middle attacks including session hijacking or insertion of false information into a session. If the attacker is unable to identify or guess the session information related to pending application traffic, they will have more difficulty in hijacking the session or otherwise manipulating valid sessions.",
1094
+ "severity": "medium"
1095
+ },
1096
+ {
1097
+ "id": "V-27020",
1098
+ "title": "Applications must generate unique session identifiers with organization-defined randomness requirements.",
1099
+ "description": "This requirement focuses on communications protection at the application session, versus network packet level. The intent of this control is to establish grounds for confidence at each end of a communications session in the ongoing identity of the other party and in the validity of the information being transmitted. \n\nUnique session IDs are the opposite of sequentially generated session IDs which can be easily guessed by an attacker. Unique session identifiers help to reduce predictability of said identifiers. \n\nUnique session IDs address man-in-the-middle attacks including session hijacking or insertion of false information into a session. If the attacker is unable to identify or guess the session information related to pending application traffic, they will have more difficulty in hijacking the session or otherwise manipulating valid sessions.\n\nOrganizations can define the randomness of unique session identifiers when deemed necessary (e.g., sessions in service-oriented architectures providing web-based services). ",
1100
+ "severity": "medium"
1101
+ },
1102
+ {
1103
+ "id": "V-27021",
1104
+ "title": "Applications must be built to fail to a known safe state for defined types of failures.",
1105
+ "description": "Failure in a known state can address safety or security in accordance with the mission/business needs of the organization. \n\nFailure in a known secure state helps prevent a loss of confidentiality, integrity, or availability in the event of a failure of the information system or a component of the system. \n\nFailure in a known safe state helps prevent systems from failing to a state that may cause loss of data or unauthorized access to system resources. Applications or systems that fail suddenly and with no incorporated failure state planning may leave the hosting system available but with a reduced security protection capability. Preserving information system state information also facilitates system restart and return to the operational mode of the organization with less disruption of mission/business processes. \n\nAn example is a firewall that blocks all traffic rather than allowing all traffic when a firewall component fails. This prevents an attacker from forcing a failure of the system in order to obtain access.\n",
1106
+ "severity": "medium"
1107
+ },
1108
+ {
1109
+ "id": "V-27023",
1110
+ "title": "Only a Honey Pot information system and/or application must include components that proactively seek to identify web-based malicious code. Honey Pot systems must be not be shared or used for any other purpose other than described.",
1111
+ "description": "A Honey Pot is an organization designated information system and/or application that includes components specifically designed to be the target of malicious attacks for the purpose of detecting, deflecting, and analyzing such attacks. ",
1112
+ "severity": "medium"
1113
+ },
1114
+ {
1115
+ "id": "V-27024",
1116
+ "title": "Applications must take needed steps to protect data at rest and ensure confidentiality and integrity of application data. ",
1117
+ "description": "This control is intended to address the confidentiality and integrity of\ninformation at rest in non-mobile devices and covers user information and system information. Information at rest refers to the state of information when it is located on a secondary storage device (e.g., disk drive, tape drive) within an organizational information system. Applications and application users generate information throughout the course of their application use. \n\nUser data generated, as well as, application specific configuration data needs to be protected. Configurations and/or rule sets for firewalls, gateways, intrusion detection/prevention systems, and filtering routers and authenticator content are examples of system information likely requiring protection. Organizations may choose to employ different mechanisms to achieve confidentiality and integrity protections, as appropriate. ",
1118
+ "severity": "medium"
1119
+ },
1120
+ {
1121
+ "id": "V-27025",
1122
+ "title": "Applications must isolate security functions from non-security functions by means of an isolation boundary (implemented via partitions and domains) controlling access to and protecting the integrity of, the hardware, software, and firmware that perform those security functions. The application must isolate security functions from non-security functions.",
1123
+ "description": "Security functions are defined as \"the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based\". \n\nDevelopers and implementers can increase the assurance in security functions by employing well-defined security policy models, structured, disciplined, and rigorous hardware and software development techniques, and sound system/security engineering principles. ",
1124
+ "severity": "medium"
1125
+ },
1126
+ {
1127
+ "id": "V-27027",
1128
+ "title": "Applications must meet organizational requirements to implement an information system isolation boundary that minimizes the number of non-security functions included within the boundary containing security functions.",
1129
+ "description": "The information system isolates security functions from non-security functions by means of an isolation boundary (implemented via partitions and domains) controlling access to and protecting the integrity of, the hardware, software, and firmware that perform those security functions. The information system maintains a separate execution domain (e.g., address space) for each executing process.",
1130
+ "severity": "medium"
1131
+ },
1132
+ {
1133
+ "id": "V-27029",
1134
+ "title": "Applications must meet organizational requirements to implement security functions as a layered structure minimizing interactions between layers of the design and avoiding any dependence by lower layers on the functionality or correctness of higher layers.",
1135
+ "description": "The information system isolates security functions from non-security functions by means of an isolation boundary (implemented via partitions and domains) controlling access to and protecting the integrity of, the hardware, software, and firmware that perform those security functions. The information system maintains a separate execution domain (e.g., address space) for each executing process.",
1136
+ "severity": "medium"
1137
+ },
1138
+ {
1139
+ "id": "V-27030",
1140
+ "title": "The application must protect the integrity of information during the processes of data aggregation, packaging, and transformation in preparation for transmission.",
1141
+ "description": "Information can be subjected to unauthorized changes (e.g., malicious and/or unintentional modification) at information aggregation or protocol transformation points. It is therefore imperative the application take steps to validate and assure the integrity of data while at these stages of processing. \n\nFor example, an application developer may determine based upon application requirements that various application data must accumulate in a processing queue where the application analyses, packages or transforms the data pending a data transfer. A window of time now exists where if an attacker were to gain access to the data residing in the application queue they could potentially compromise that data or alter results. The application must ensure the integrity of data that is pending transfer is maintained. If the application were to simply transmit aggregated, packaged or transformed data without ensuring the data was not manipulated during these processes, then the integrity of the data may be called into question.",
1142
+ "severity": "medium"
1143
+ },
1144
+ {
1145
+ "id": "V-27031",
1146
+ "title": "Applications required to be non-modifiable must support organizational requirements to provide components that contain no writeable storage capability. These components must be persistent across restart and/or power on/off.",
1147
+ "description": "Organizations may require applications or application components to be non-modifiable or to be stored and executed on non-writeable storage. Use of non-modifiable storage ensures the integrity of the software program from the point of creation of the read-only image and eliminates the possibility of malicious code insertion. ",
1148
+ "severity": "medium"
1149
+ },
1150
+ {
1151
+ "id": "V-27032",
1152
+ "title": "Applications must, for organization-defined information system components, load and execute the operating environment from hardware-enforced, read-only media.",
1153
+ "description": "Organizations may require the information system to load the operating environment from hardware enforced read-only media. The term operating environment is defined as the code upon which applications are hosted, for example, a monitor, executive, operating system, or application running directly on the hardware platform. \n\nHardware-enforced, read-only media include, CD-R/DVD-R disk drives. Use of non-modifiable storage ensures the integrity of the software program from the point of creation of the read-only image. ",
1154
+ "severity": "medium"
1155
+ },
1156
+ {
1157
+ "id": "V-27033",
1158
+ "title": "Applications must support organizationally-defined requirements to load and execute from hardware-enforced, read-only media.",
1159
+ "description": "Use of non-modifiable storage ensures the integrity of the software program from the point of creation of the read-only image. Organizations may require the information system to load specified applications from hardware enforced read-only media. Hardware-enforced, read-only media include, CD-R/DVD-R disk drives. ",
1160
+ "severity": "medium"
1161
+ },
1162
+ {
1163
+ "id": "V-27034",
1164
+ "title": "Applications must prevent unauthorized and unintended information transfer via shared system resources.",
1165
+ "description": "The purpose of this control is to prevent information, including encrypted representations of information, produced by the actions of a prior user/role (or the actions of a process acting on behalf of a prior user/role) from being available to any current user/role (or current process) that obtains access to a shared system resource (e.g., registers, main memory, secondary storage) after the resource has been released back to the information system. Control of information in shared resources is also referred to as object reuse. ",
1166
+ "severity": "medium"
1167
+ },
1168
+ {
1169
+ "id": "V-27035",
1170
+ "title": "Applications must not share resources used to interface with systems operating at different security levels.\n",
1171
+ "description": "The purpose of this control is to prevent information, including encrypted representations of information, produced by the actions of a prior user/role (or the actions of a process acting on behalf of a prior user/role) from being available to any current user/role (or current process) that obtains access to a shared system resource (e.g., registers, main memory, secondary storage) after the resource has been released back to the information system. Shared resources include, memory, input/output queues, and network interface cards. ",
1172
+ "severity": "medium"
1173
+ },
1174
+ {
1175
+ "id": "V-27036",
1176
+ "title": "Applications must protect against or limit the effects of the organization-defined or referenced types of Denial of Service (DoS) attacks.",
1177
+ "description": "A variety of technologies exist to limit, or in some cases, eliminate the effects of DoS attacks. For example, boundary protection devices can filter certain types of packets to protect devices on an organization’s internal network from being directly affected by DoS attacks. \n\nEmploying increased capacity and bandwidth combined with service redundancy may reduce the susceptibility to some DoS attacks. \n",
1178
+ "severity": "medium"
1179
+ },
1180
+ {
1181
+ "id": "V-27037",
1182
+ "title": "Applications must preserve any organization-defined system state information in the event of a system failure.",
1183
+ "description": "Failure in a known state can address safety or security in accordance with the mission/business needs of the organization. Failure in a known secure state helps prevent a loss of confidentiality, integrity, or availability in the event of a failure of the information system or a component of the system. \n\nPreserving information system state information helps to facilitate system restart and return to the operational mode of the organization with less disruption of mission/business processes. ",
1184
+ "severity": "medium"
1185
+ },
1186
+ {
1187
+ "id": "V-27039",
1188
+ "title": "Applications must restrict the ability of users to launch Denial of Service (DoS) attacks against other information systems or networks.",
1189
+ "description": "When it comes to DoS attacks most of the attention is paid to ensuring that systems and applications are not victims of these attacks. \n\nWhile it is true that those accountable for systems want to ensure they are not affected by a DoS attack, they also need to ensure their systems and applications are not used to launch such an attack against others. To that extent, a variety of technologies exist to limit, or in some cases, eliminate the effects of DoS attacks. \n\nFor example, boundary protection devices can filter certain types of packets to protect devices from being directly affected by denial of service attacks. Limiting system resources that are allocated to any user to a bare minimum may also reduce the ability of users to launch some DoS attacks. \n\nApplications and application developers must take the steps needed to ensure that users cannot use these applications to launch DoS attacks against other systems and networks. An example would be designing applications to include mechanisms that throttle network traffic so that users are not able to generate unlimited network traffic via the application. \n\nThe methods employed to counter this risk will be dependent upon the potential application layer methods that can be used to exploit it.",
1190
+ "severity": "medium"
1191
+ },
1192
+ {
1193
+ "id": "V-27040",
1194
+ "title": "Applications must manage excess capacity, bandwidth, or other redundancy to limit the effects of information flooding types of Denial of Service (DoS) attacks.",
1195
+ "description": "In the case of application DoS attacks, care must be taken when designing the application so as to ensure that the application makes the best use of system resources. SQL queries have the potential to consume large amounts of CPU cycles if they are not tuned for optimal performance. Web services containing complex calculations requiring large amounts of time to complete can bog down if too many requests for the service are encountered within a short period of time. \n\nThe methods employed to meet this requirement will vary depending upon the technology the application utilizes. However, a variety of technologies exist to limit, or in some cases, eliminate the effects of application related DoS attacks. Employing increased capacity and bandwidth combined with specialized application layer protection devices and service redundancy may reduce the susceptibility to some DoS attacks. ",
1196
+ "severity": "medium"
1197
+ },
1198
+ {
1199
+ "id": "V-27041",
1200
+ "title": "Applications must limit the use of resources by priority and not impede the host from servicing processes designated as a higher-priority.",
1201
+ "description": "Priority protection helps prevent a lower-priority process from delaying or interfering with the information system servicing any higher-priority process. This control does not apply to components in the information system for which there is only a single user/role. The application must limit the use of resources by priority.",
1202
+ "severity": "medium"
1203
+ },
1204
+ {
1205
+ "id": "V-27042",
1206
+ "title": "Applications functioning in the capacity of a firewall must check incoming communications to ensure the communications are coming from an authorized source and routed to an authorized destination.",
1207
+ "description": "In regards to boundary controls such as routers and firewalls, examples of restricting and prohibiting communications are: restricting external web traffic only to organizational web servers within managed interfaces and prohibiting external traffic that appears to be spoofing an internal address as the source. ",
1208
+ "severity": "medium"
1209
+ },
1210
+ {
1211
+ "id": "V-27043",
1212
+ "title": "The application must be capable of implementing host-based boundary protection mechanisms for servers, workstations, and mobile devices.",
1213
+ "description": "A host-based boundary protection mechanism is a host-based firewall. Host-based boundary protection mechanisms are employed on mobile devices, such as notebook/laptop computers, and other types of mobile devices where such boundary protection mechanisms are available. \n",
1214
+ "severity": "medium"
1215
+ },
1216
+ {
1217
+ "id": "V-27044",
1218
+ "title": "The organization must isolate organization-defined key information security tools, mechanisms, and support components from other internal information system components via physically separate subnets with managed interfaces to other portions of the system.",
1219
+ "description": "The application must isolate organization-defined key information security tools, mechanisms, and support components from other internal information system components via physically separate subnets with managed interfaces to other portions of the system.\n\nThis is a physical separation requirement and is not applicable.",
1220
+ "severity": "medium"
1221
+ },
1222
+ {
1223
+ "id": "V-27046",
1224
+ "title": "The information system must route all networked, privileged accesses through a dedicated, managed interface for purposes of access control and auditing.",
1225
+ "description": "Managed interfaces employing boundary protection devices include: proxies, gateways, routers, firewalls, guards, or encrypted tunnels arranged in effective security architecture (e.g., routers protecting firewalls and application gateways residing on a protected sub network commonly referred to as a demilitarized zone or DMZ).\n\nThis is a configuration requirement to route privileged access through a dedicated managed interface (e.g., firewall) and does not apply to applications.",
1226
+ "severity": "medium"
1227
+ },
1228
+ {
1229
+ "id": "V-27047",
1230
+ "title": "Boundary protection applications must prevent discovery of specific system components (or devices) composing a managed interface.",
1231
+ "description": "Firewall control requirement for isolating and preventing the discovery of management interfaces. This control enhancement is intended to protect the network addresses of information system components that are part of the managed interface from discovery through common tools and techniques used to identify devices on a network.",
1232
+ "severity": "medium"
1233
+ },
1234
+ {
1235
+ "id": "V-27048",
1236
+ "title": "Applications designed to enforce protocol formats must employ automated mechanisms to enforce strict adherence to protocol format. ",
1237
+ "description": "Automated mechanisms used to enforce protocol formats include, deep packet inspection firewalls and XML gateways. These devices verify adherence to the protocol specification (e.g., IEEE) at the application layer and serve to identify significant vulnerabilities that cannot be detected by devices operating at the network or transport layer. It is impractical to expect protocol format inspection to be conducted manually.",
1238
+ "severity": "medium"
1239
+ },
1240
+ {
1241
+ "id": "V-27049",
1242
+ "title": "Boundary protection applications must fail securely in the event of an operational failure.",
1243
+ "description": "Fail secure is a condition achieved by the application of a set of information system mechanisms to ensure that in the event of an operational failure of a boundary protection device at a managed interface (e.g., router, firewall, guard, application gateway residing on a protected sub network commonly referred to as a demilitarized zone), the system does not enter into an unsecure state where intended security properties no longer hold. A failure of a boundary protection device cannot lead to, or cause information external to the boundary protection device to enter the device, nor can a failure permit unauthorized information release.",
1244
+ "severity": "medium"
1245
+ },
1246
+ {
1247
+ "id": "V-27050",
1248
+ "title": "Boundary protection applications must be capable of preventing public access into the organization’s internal networks except as appropriately mediated by managed interfaces.",
1249
+ "description": "Access into an organization's internal network and to key internal boundaries must be tightly controlled and managed. Applications monitoring and/or controlling communications at the external boundary of the system and at key internal boundaries must be capable of preventing public access into the organization’s internal networks except as appropriately mediated by managed interfaces. ",
1250
+ "severity": "medium"
1251
+ },
1252
+ {
1253
+ "id": "V-27051",
1254
+ "title": "Any software application designed to function as a firewall must be capable employing a default deny all configuration. ",
1255
+ "description": "A firewall default deny is a firewall configuration setting that will force the administrator to explicitly allow network or application traffic rather than allowing all traffic by default. The purpose is to prevent unmanaged access into the internal network or in the case of an application firewall, to application content, features, or functionality. ",
1256
+ "severity": "medium"
1257
+ },
1258
+ {
1259
+ "id": "V-27052",
1260
+ "title": "Applications providing remote connectivity must prevent remote devices that have established a non-remote connection with the system from communicating outside of the communications path with resources in external networks.",
1261
+ "description": "This control enhancement is implemented within the remote device (e.g., notebook/laptop computer) via configuration settings that are not configurable by the user of that device. An example of a non-remote communications path from a remote device is a virtual private network. When a non-remote connection is established using a virtual private network, the configuration settings prevent split-tunneling. Split-tunneling might otherwise be used by remote users to communicate with the information system as an extension of that system and to communicate with local resources such as, a printer or file server. Since the remote device, when connected by a non-remote connection, becomes an extension of the information system, allowing dual communications paths such as split-tunneling would be, in effect, allowing unauthorized external connections into the system.",
1262
+ "severity": "medium"
1263
+ },
1264
+ {
1265
+ "id": "V-27053",
1266
+ "title": "Proxy applications must support logging individual Transmission Control Protocol (TCP) sessions and blocking specific Uniform Resource Locators (URLs), domain names, and Internet Protocol (IP) addresses. Proxy applications must also be configurable with organization-defined lists of authorized and unauthorized websites.",
1267
+ "description": "External networks are networks outside the control of the organization. Proxy servers support logging individual Transmission Control Protocol (TCP) sessions and blocking specific Uniform Resource Locators (URLs), domain names, and Internet Protocol (IP) addresses. Proxy servers are also configurable with organization-defined lists of authorized and unauthorized websites.",
1268
+ "severity": "medium"
1269
+ },
1270
+ {
1271
+ "id": "V-27054",
1272
+ "title": "Applications performing extrusion detection must be capable of denying network traffic and auditing internal users (or malicious code) posing a threat to external information systems.",
1273
+ "description": "Detecting internal actions that may pose a security threat to external information systems is sometimes termed extrusion detection. Extrusion detection at the information system boundary includes the analysis of network traffic (incoming as well as, outgoing) looking for indications of an internal threat to the security of external systems.",
1274
+ "severity": "medium"
1275
+ },
1276
+ {
1277
+ "id": "V-27055",
1278
+ "title": "The information system must monitor and control communications at the external boundary of the information system and at key internal boundaries within the system.",
1279
+ "description": "Restricting external web traffic only to organizational web servers within managed interfaces and prohibiting external traffic that appears to be spoofing an internal address as the source are examples of restricting and prohibiting communications. The same can be said for the monitoring of the traffic.\n\nThe information system must monitor and control communications at the external boundary of the information system and at key internal boundaries within the system.\n\nThis is a boundary control requirement to use firewalls and proxy servers to control communications and is not an application requirement.",
1280
+ "severity": "medium"
1281
+ },
1282
+ {
1283
+ "id": "V-27056",
1284
+ "title": "The information system must connect to external networks or information systems only through managed interfaces consisting of boundary protection devices arranged in accordance with an organizational security architecture.",
1285
+ "description": "Managed interfaces employing boundary protection devices include: proxies, gateways, routers, firewalls, guards, or encrypted tunnels arranged in an effective security architecture (e.g., routers protecting firewalls and application gateways residing on a protected sub-network commonly referred to as a demilitarized zone or DMZ).\n\nThis is a boundary control requirement to route traffic through managed firewalls and proxies deployed according to an architectural design. This is a network configuration issue not an application requirement.",
1286
+ "severity": "medium"
1287
+ },
1288
+ {
1289
+ "id": "V-27057",
1290
+ "title": "Applications must protect the integrity of transmitted information.",
1291
+ "description": "Ensuring the integrity of transmitted information requires that applications take feasible measures to employ security during data transport. Examples include but are not limited to SSL, TLS and IPSEC, and VPN. This requirement applies to communications across internal and external networks. If the organization is relying on a commercial service provider for transmission services as a commodity item rather than a fully dedicated service, it may be more difficult to obtain the necessary assurances regarding the implementation of needed security controls for transmission integrity. \n\nWhen it is infeasible or impractical to obtain the necessary security controls and assurances of control effectiveness through appropriate contracting vehicles, the organization either implements appropriate compensating security controls or explicitly accepts the additional risk. \n\nThis is a network requirement regarding the use of dedicated circuits and does not apply to applications.",
1292
+ "severity": "medium"
1293
+ },
1294
+ {
1295
+ "id": "V-27058",
1296
+ "title": "Applications must employ cryptographic mechanisms to recognize changes to information during transmission unless otherwise protected by alternative physical measures.",
1297
+ "description": "Ensuring the integrity of transmitted information requires that applications take measures to employ some form of cryptographic mechanism in order to recognize changes to information. This is usually achieved through the use of checksums, cryptographic hash or message authentication. \n\nAlternative physical protection measures include, Protected Distribution Systems (PDS). PDS are used to transmit unencrypted classified NSI through an area of lesser classification or control. In as much as the classified NSI is unencrypted, the PDS must provide adequate electrical, electromagnetic, and physical safeguards to deter exploitation.\n\nThis is a requirement for PDS systems to use cryptographic mechanisms and is not an application requirement.",
1298
+ "severity": "medium"
1299
+ },
1300
+ {
1301
+ "id": "V-27059",
1302
+ "title": "The application must maintain the integrity of information during aggregation, packaging, and transformation in preparation for transmission.",
1303
+ "description": "Ensuring the confidentiality of transmitted information requires that applications take feasible measures to employ transmission layer security. This requirement applies to communications across internal and external networks. If the organization is relying on a commercial service provider for transmission services as a commodity item rather than a fully dedicated service, it may be more difficult to obtain the necessary assurances regarding the implementation of needed security controls for transmission integrity. \n\nWhen it is infeasible or impractical to obtain the necessary security controls and assurances of control effectiveness through appropriate contracting vehicles, the organization either implements appropriate compensating security controls or explicitly accepts the additional risk. \n\nWhen transmitting data, applications need to leverage transmission protection mechanisms such as TLS, SSL VPNs, or IPSEC. ",
1304
+ "severity": "medium"
1305
+ },
1306
+ {
1307
+ "id": "V-27060",
1308
+ "title": "Applications must protect the confidentiality of transmitted information.",
1309
+ "description": "Ensuring the confidentiality of transmitted information requires that applications take feasible measures to employ security mechanisms during data transmission. Examples include but are not limited to, SSL, TLS, IPSec, and VPN. This requirement applies to communications across internal and external networks. If the organization is relying on a commercial service provider for transmission services as a commodity item rather than a fully dedicated service, it may be more difficult to obtain the necessary assurances regarding the implementation of needed security controls for transmission integrity. \n\nWhen it is infeasible or impractical to obtain the necessary security controls and assurances of control effectiveness through appropriate contracting vehicles, the organization either implements appropriate compensating security controls or explicitly accepts the additional risk. \n",
1310
+ "severity": "medium"
1311
+ },
1312
+ {
1313
+ "id": "V-27061",
1314
+ "title": "The application must employ cryptographic mechanisms preventing the unauthorized disclosure of information during transmission unless the transmitted data is otherwise protected by alternative physical measures.",
1315
+ "description": "Preventing the disclosure of transmitted information requires that applications take measures to employ some form of cryptographic mechanism in order to protect the information during transmission. This is usually achieved through the use of Transport Layer Security (TLS), SSL VPN, or IPSEC tunnel. \n\nAlternative physical protection measures include, Protected Distribution Systems (PDS). PDS are used to transmit unencrypted classified NSI through an area of lesser classification or control. In as much as the classified NSI is unencrypted, the PDS must provide adequate electrical, electromagnetic, and physical safeguards to deter exploitation. Refer to NSTSSI No. 7003 for additional details on a PDS.\n",
1316
+ "severity": "medium"
1317
+ },
1318
+ {
1319
+ "id": "V-27062",
1320
+ "title": "Applications must maintain the confidentiality of information during aggregation, packaging, and transformation in preparation for transmission. When transmitting data, applications need to leverage transmission protection mechanisms such as TLS, SSL VPNs, or IPSEC. ",
1321
+ "description": "Preventing the disclosure of transmitted information requires that applications take measures to employ some form of cryptographic mechanism in order to protect the information during transmission. This is usually achieved through the use of Transport Layer Security (TLS), SSL VPN, or IPSEC tunnel. \n\nAlternative physical protection measures include, protected distribution systems. Protective Distribution Systems (PDS) are used to transmit unencrypted classified NSI through an area of lesser classification or control. In as much as the classified NSI is unencrypted, the PDS must provide adequate electrical, electromagnetic and physical safeguards to deter exploitation. Refer to NSTSSI No. 7003 for additional details on a PDS.",
1322
+ "severity": "medium"
1323
+ },
1324
+ {
1325
+ "id": "V-27063",
1326
+ "title": "The application must check the validity of data inputs.",
1327
+ "description": "Invalid user input occurs when a user inserts data or characters into an applications data entry fields and the application is unprepared to process that data. This results in unanticipated application behavior potentially leading to an application or information system compromise. Invalid user input is one of the primary methods employed when attempting to compromise an application. \n\nAll applications need to validate the data users attempt to input to the application for processing. Rules for checking the valid syntax and semantics of information system inputs (e.g., character set, length, numerical range, acceptable values) are in place to verify that inputs match specified definitions for format and content. Inputs passed to interpreters are prescreened to prevent the content from being unintentionally interpreted as commands.",
1328
+ "severity": "medium"
1329
+ },
1330
+ {
1331
+ "id": "V-27064",
1332
+ "title": "The application must identify potentially security-relevant error conditions.",
1333
+ "description": "The structure and content of error messages need to be carefully considered by the organization and development team. The extent to which the application is able to identify and handle error conditions is guided by organizational policy and operational requirements. ",
1334
+ "severity": "medium"
1335
+ },
1336
+ {
1337
+ "id": "V-27065",
1338
+ "title": "The application must only generate error messages that provide information necessary for corrective actions without revealing organization-defined sensitive or potentially harmful information in error logs and administrative messages that could be exploited. ",
1339
+ "description": "Any application providing too much information in error logs and in administrative messages to the screen risks compromising the data and security of the application and system. The structure and content of error messages needs to be carefully considered by the organization and development team. \n\nThe extent to which the application is able to identify and handle error conditions is guided by organizational policy and operational requirements. Sensitive information includes, account numbers, social security numbers, and credit card numbers.",
1340
+ "severity": "medium"
1341
+ },
1342
+ {
1343
+ "id": "V-27066",
1344
+ "title": "The application must restrict error messages so only authorized personnel may view them.",
1345
+ "description": "If the application provides too much information in error logs and administrative messages to the screen, this could lead to compromise. The structure and content of error messages need to be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements. ",
1346
+ "severity": "medium"
1347
+ },
1348
+ {
1349
+ "id": "V-27067",
1350
+ "title": "Applications must support the requirement to activate an alarm and/or automatically shut down the information system if an application component failure is detected. This can include conducting a graceful application shutdown to avoid losing information.",
1351
+ "description": "Predictable failure prevention requires organizational planning to address system failure issues. If components key to maintaining systems security fail to function, the system could continue operating in an insecure state. The organization must be prepared and the application must support requirements that specify if the application must alarm for such conditions and/or automatically shut down the application or the system. ",
1352
+ "severity": "medium"
1353
+ },
1354
+ {
1355
+ "id": "V-27068",
1356
+ "title": "Applications providing patch management capabilities must support the organizational requirements to install software updates automatically.",
1357
+ "description": "Security faults with software applications and operating systems are discovered daily. Vendors are constantly updating and patching their products to address newly discovered security vulnerabilities. Organizations (including any contractor to the organization) are required to promptly install security-relevant software updates (e.g., patches, service packs, and hot fixes). Flaws discovered during security assessments, continuous monitoring, incident response activities, or information system error handling, must also be addressed expeditiously. \n\nAnytime new software code is introduced to a system there is the potential for unintended consequences. There have been documented instances where the application of a patch has caused problems with system integrity or availability. Due to information system integrity and availability concerns, organizations must give careful consideration to the methodology used to carry out automatic updates. ",
1358
+ "severity": "medium"
1359
+ },
1360
+ {
1361
+ "id": "V-27069",
1362
+ "title": "Applications serving to determine the state of information system components with regard to flaw remediation (patching) must use automated mechanisms to make that determination. The automation schedule must be determined on an organization-defined basis and any solution utilized must support the scheduling requirement.",
1363
+ "description": "Organizations are required to identify information systems containing software affected by recently announced software flaws (and potential vulnerabilities resulting from those flaws) and report this information to designated organizational officials with information security responsibilities (e.g., senior information security officers, information system security managers, information systems security officers). To support this requirement, an automated process or mechanism is required. \n\nThis role is usually assigned to patch management software that is deployed in order to track the number of systems installed in the network, as well as, the types of software installed on these systems, the corresponding versions, and the related flaws that require patching. ",
1364
+ "severity": "medium"
1365
+ },
1366
+ {
1367
+ "id": "V-27070",
1368
+ "title": "The application must support organizational requirements to employ automated patch management tools to facilitate flaw remediation to organization-defined information system components. Patch management tools must be automated.",
1369
+ "description": "The organization (including any contractor to the organization) shall promptly install security-relevant software updates (e.g., patches, service packs, and hot fixes). Flaws discovered during security assessments, continuous monitoring, incident response activities, or information system error handling, shall also be addressed expeditiously. Due to information system integrity and availability concerns, organizations shall give careful consideration to the methodology used to carry out automatic updates. ",
1370
+ "severity": "medium"
1371
+ },
1372
+ {
1373
+ "id": "V-27071",
1374
+ "title": "The application must automatically update malicious code protection mechanisms, including signature definitions. Examples include anti-virus signatures and malware data files employed to identify and/or block malicious software from executing.",
1375
+ "description": "Anti-virus and malicious software detection applications utilize signature definitions in order to identify viruses and other malicious software. These signature definitions need to be constantly updated in order to identify the new threats that are discovered every day. All anti-virus and malware software shall come with an update mechanism that automatically updates these signatures. The organization (including any contractor to the organization) is required to promptly install security-relevant malicious code protection software updates (e.g., anti-virus signature updates and hot fixes). Malicious code includes, viruses, worms, Trojan horses, and Spyware. ",
1376
+ "severity": "medium"
1377
+ },
1378
+ {
1379
+ "id": "V-27072",
1380
+ "title": "The application must prevent non-privileged users from circumventing malicious code protection capabilities. ",
1381
+ "description": "Malicious code protection software must be protected so as to prevent a non-privileged user or malicious piece of software from disabling the protection mechanism. A common tactic of malware is to identify the type of malicious code protection software running on the system and deactivate it. Malicious code includes, viruses, worms, Trojan horses, and Spyware. \n\nExamples include the capability for non-administrative user's to turn off or otherwise disable anti-virus.",
1382
+ "severity": "medium"
1383
+ },
1384
+ {
1385
+ "id": "V-27073",
1386
+ "title": "Applications must provide the capability to centralize the review and analysis of audit records from multiple components within the system.",
1387
+ "description": "Successful incident response and auditing relies on timely, accurate system information and analysis in order to allow the organization to identify and respond to potential incidents in a proficient manner. \n\nSegregation of logging data to multiple disparate computer systems is counter-productive and makes log analysis and log event alarming difficult to implement and manage, particularly when the system or application has multiple logging components written to different locations or systems.",
1388
+ "severity": "medium"
1389
+ },
1390
+ {
1391
+ "id": "V-27075",
1392
+ "title": "Malicious code protection applications must update malicious code protection mechanisms only when directed by a privileged user.",
1393
+ "description": "Malicious code protection software must be protected to prevent a non-privileged user or malicious piece of software from manipulating the protection update mechanism. \n\nMalicious code includes, viruses, worms, Trojan horses, and Spyware. ",
1394
+ "severity": "medium"
1395
+ },
1396
+ {
1397
+ "id": "V-27077",
1398
+ "title": "Applications must support organizational requirements restricting users from introducing removable media into the information system. ",
1399
+ "description": "Malicious code is known to propagate via removable media such as, floppy disks, USB or flash drives, and removable hard drives. \n\nIn order to prevent propagation and potential infection due to malware contained on removable media, the information system must be able to restrict and/or limit the use of removable media. Applications must not be designed so as to circumvent or otherwise disable this protection requirement. \n\nThis is a requirement to restrict users from inserting removable media into a system. This is not an application requirement.",
1400
+ "severity": "medium"
1401
+ },
1402
+ {
1403
+ "id": "V-27078",
1404
+ "title": "The organization must employ malicious code protection mechanisms at information system entry and exit points to detect and eradicate malicious code transported by electronic mail, electronic mail attachments, web accesses, removable media, or other common means. ",
1405
+ "description": "In order to minimize potential negative impact to the organization that can be caused by malicious code, it is imperative that malicious code is identified and eradicated prior to entering protected enclaves via information system entry and exit points. \n\nInformation system entry and exit points include: firewalls, electronic mail servers, web servers, proxy servers, and remote-access servers. Malicious code includes viruses, worms, Trojan horses, and Spyware. \n\nThe requirement states that anti-virus and malware protection applications must be used at entry and exit points. This does not apply to applications. ",
1406
+ "severity": "medium"
1407
+ },
1408
+ {
1409
+ "id": "V-27079",
1410
+ "title": "The organization must employ malicious code protection mechanisms at workstations, servers, or mobile computing devices on the network to detect and eradicate malicious code transported by electronic mail, electronic mail attachments, web accesses, removable media, or other common means.",
1411
+ "description": "In order to minimize potential negative impact to the organization that can be caused by malicious code, it is imperative that malicious code is identified and eradicated. Malicious code includes viruses, worms, Trojan horses, and Spyware. \n\nApplications providing malicious code protection must support organizational requirements to employ malicious code protection mechanisms at workstations, servers, or mobile computing devices on the network to detect and eradicate malicious code transported by electronic mail, electronic mail attachments, web accesses, removable media, or other common means. \n\nThe requirement states that malicious code protection mechanisms such as anti-virus must be used on workstations, servers and mobile computing devices. This does not apply to applications.",
1412
+ "severity": "medium"
1413
+ },
1414
+ {
1415
+ "id": "V-27082",
1416
+ "title": "Applications providing malicious code protection must support organizational requirements to update malicious code protection mechanisms (including signature definitions) whenever new releases are available in accordance with organizational configuration management policy and procedures.",
1417
+ "description": "Malicious code protection mechanisms include, but are not limited to, anti-virus and malware detection software. In order to minimize potential negative impact to the organization caused by malicious code, it is imperative that malicious code is identified and eradicated. \n\nMalicious code includes, viruses, worms, Trojan horses, and Spyware. ",
1418
+ "severity": "medium"
1419
+ },
1420
+ {
1421
+ "id": "V-27084",
1422
+ "title": "Applications scanning for malicious code must support organizational requirements to configure malicious code protection mechanisms to perform periodic scans of the information system on an organization-defined frequency.",
1423
+ "description": "Malicious code protection mechanisms include but are not limited to anti-virus and malware detection software. In order to minimize potential negative impact to the organization that can be caused by malicious code, it is imperative that malicious code is identified and eradicated. \n\nMalicious code includes, viruses, worms, Trojan horses, and Spyware. It is not enough to simply have the software installed. This software must periodically scan the system to search for malware on an organization defined frequency. ",
1424
+ "severity": "medium"
1425
+ },
1426
+ {
1427
+ "id": "V-27085",
1428
+ "title": "The application must provide an audit reduction capability.",
1429
+ "description": "Audit reduction is used to reduce the volume of audit records in order to facilitate manual review. Before a security review information systems and/or applications with an audit reduction capability may remove many audit records known to have little security significance. \n\nThis is generally accomplished by removing records generated by specified classes of events, such as records generated by nightly backups. Audit reduction does not alter original audit records. \n\nAn audit reduction capability provides support for near real-time audit review and analysis requirements and after-the-fact investigations of security incidents. ",
1430
+ "severity": "medium"
1431
+ },
1432
+ {
1433
+ "id": "V-27086",
1434
+ "title": "Applications providing malicious code protection must support organizational requirements to configure malicious code protection mechanisms to perform real-time scans of files from external sources as the files are downloaded, opened, or executed in accordance with organizational security policy.",
1435
+ "description": "Malicious code protection mechanisms include but are not limited to anti-virus and malware detection software. In order to minimize potential negative impact to the organization that can be caused by malicious code, it is imperative that malicious code is identified and eradicated. \n\nMalicious code includes, viruses, worms, Trojan horses, and Spyware. ",
1436
+ "severity": "medium"
1437
+ },
1438
+ {
1439
+ "id": "V-27087",
1440
+ "title": "Applications providing malicious code protection must support organizational requirements to be configured to perform organization-defined action(s) in response to malicious code detection.",
1441
+ "description": "Malicious code protection mechanisms include but are not limited to anti-virus and malware detection software. In order to minimize potential negative impact to the organization that can be caused by malicious code, it is imperative that malicious code is identified and eradicated. \n\nApplications providing this capability must be able to perform actions in response to detected malware. Responses include, but are not limited to, quarantine, deletion, and alerting.\n\nMalicious code includes, viruses, worms, Trojan horses, and Spyware. ",
1442
+ "severity": "medium"
1443
+ },
1444
+ {
1445
+ "id": "V-27088",
1446
+ "title": "Applications providing malicious code protection must support organizational requirements to address the receipt of false positives during malicious code detection, eradication efforts, and the resulting potential impact on the availability of the information system. ",
1447
+ "description": "In order to minimize potential negative impact to the organization that can be caused by malicious code, it is imperative that malicious code is identified and eradicated. Malicious code includes, viruses, worms, Trojan horses, and Spyware. Applications providing this capability must have an ability to address the issue of false alerts. False alerts can overwhelm reporting and administrative interfaces making it difficult to identify the true threat. A filtering capability that serves to identify and remove false positives is often employed to address this issue.\n",
1448
+ "severity": "medium"
1449
+ },
1450
+ {
1451
+ "id": "V-27089",
1452
+ "title": "Applications must provide a report generation capability for audit reduction data.",
1453
+ "description": "In support of Audit Review, Analysis, and Reporting requirements, audit reduction is a technique used to reduce the volume of audit records in order to facilitate a manual review. \n\nBefore a security review is conducted, information systems and/or applications with an audit reduction capability may remove many audit records known to have little security significance. This is generally accomplished by removing records generated by specified classes of events, such as records generated by nightly backups. \n\nIn order to identify and report on what (repetitive) data has been removed via the use of audit reduction, the application must provide a capability to generate reports containing what values were removed by the audit reduction. \n\nAudit reduction does not alter original audit records. An audit reduction capability provides support for near real-time audit review and analysis based on policy based requirements and after-the-fact investigations of security incidents. \n\nReporting tools employing audit reduction methods must not alter the original audit data. An example of a tool employing audit reduction methods is the Windows Event Viewer tool which is used to view and analyze audit logs on Windows systems.",
1454
+ "severity": "medium"
1455
+ },
1456
+ {
1457
+ "id": "V-27090",
1458
+ "title": "Intrusion detection software must be able to interconnect using standard protocols to create a system wide intrusion detection system.",
1459
+ "description": "When utilizing intrusion detection software, monitoring components are usually dispersed throughout the network, such as, when utilizing HIDS and multiple NIDS sensors. In order to leverage the capabilities of intrusion detection systems to get a complete overall view of network and host activity, these separate components must be able to report and react to activity they detect. \n\nNon-standard or custom communication protocols do not provide the reliability and veracity required of an enterprise class intrusion detection system. An example of a custom protocol includes, but is not limited to, vendor specific communication protocols that have not undergone IETF RFC evaluation and/or are not in common use throughout the Internet as a whole.",
1460
+ "severity": "medium"
1461
+ },
1462
+ {
1463
+ "id": "V-27092",
1464
+ "title": "For those instances where the organization requires encrypted traffic to be visible to information system monitoring tools, the application transmitting the encrypted traffic must make provisions to allow that traffic to be visible to specific system monitoring tools.",
1465
+ "description": "There is a recognized need to balance encrypting traffic versus the need to have insight into the traffic from a monitoring perspective. \n\nFor some organizations, the need to ensure the confidentiality of traffic is paramount; for others, the mission-assurance concerns are greater. ",
1466
+ "severity": "medium"
1467
+ },
1468
+ {
1469
+ "id": "V-27093",
1470
+ "title": "The organization must analyze outbound communications traffic at the external boundary of the system (i.e., system perimeter).",
1471
+ "description": "Anomalies within the information system include, for example, large file transfers, long-time persistent connections, unusual protocols and ports in use, and attempted communications with suspected malicious external addresses. \n\nThis is a requirement to analyze outbound traffic. This does not apply to applications.",
1472
+ "severity": "medium"
1473
+ },
1474
+ {
1475
+ "id": "V-27094",
1476
+ "title": "The organization must analyze outbound communications traffic at selected interior points within the system (e.g., subnets, subsystems), as deemed necessary, to discover anomalies. ",
1477
+ "description": "Anomalies within the information system include, for example, large file transfers, long-time persistent connections, unusual protocols and ports in use, and attempted communications with suspected malicious external addresses. \n\nThis is a requirement to analyze outbound traffic at selected interior points. This does not apply to applications.",
1478
+ "severity": "medium"
1479
+ },
1480
+ {
1481
+ "id": "V-27095",
1482
+ "title": "The organization must employ a wireless intrusion detection system to detect attack attempts to the information system.\n",
1483
+ "description": "Wireless intrusion detection monitors wireless network traffic for known attack patterns and notifies IA staff members when possible attacks are detected.\n\nThis is a network monitoring traffic analysis requirement to deploy wireless IDS. This does not apply to applications. ",
1484
+ "severity": "medium"
1485
+ },
1486
+ {
1487
+ "id": "V-27096",
1488
+ "title": "The organization must employ a wireless Intrusion Detection System (IDS) to detect potential compromises/breaches to the information system.\n\n",
1489
+ "description": "Wireless IDS is used to detect and alarm on known attack patterns.\n\nThis is a requirement to deploy wireless IDS network monitoring. This does not apply to applications. ",
1490
+ "severity": "medium"
1491
+ },
1492
+ {
1493
+ "id": "V-27097",
1494
+ "title": "Applications providing malware and/or firewall protection must monitor inbound and outbound communications for unauthorized activities or conditions.",
1495
+ "description": "Unusual/unauthorized activities or conditions include internal traffic indicating the presence of malicious code within an information system or propagating among system components, the unauthorized export of information, or signaling to an external information system. \n\nEvidence of malicious code is used to identify potentially compromised information systems or information system components. \n\nExamples of applications that provide monitoring capability for unusual/unauthorized activities include, but are not limited to, Intrusion Detection, Anti-Virus and Malware etc.",
1496
+ "severity": "medium"
1497
+ },
1498
+ {
1499
+ "id": "V-27101",
1500
+ "title": "Applications that detect and alarm on security events such as Intrusion Detection, Firewalls, Anti-Virus, or Malware must provide near real-time alert notification. ",
1501
+ "description": "When an intrusion detection security event occurs it is imperative the application that has detected the event immediately notify the appropriate support personnel so they can respond accordingly. \n\nLack of this capability increases the risk that attacks will go unnoticed or responses will be delayed.",
1502
+ "severity": "medium"
1503
+ },
1504
+ {
1505
+ "id": "V-27102",
1506
+ "title": "Applications providing IDS and prevention capabilities must prevent non-privileged users from circumventing intrusion detection and prevention capabilities.",
1507
+ "description": "Any application providing intrusion detection and prevention capabilities must be architected and implemented so as to prevent non-privileged users from circumventing such protections. This can be accomplished through the use of user roles, use of proper systems permissions, auditing, logging, etc.",
1508
+ "severity": "medium"
1509
+ },
1510
+ {
1511
+ "id": "V-27103",
1512
+ "title": "Applications providing notifications regarding suspicious events must include the capability to notify an organization-defined list of response personnel who are identified by name and/or by role.",
1513
+ "description": "Incident response applications are by their nature designed to monitor, detect, and alarm on defined events occurring on the system or on the network. A large part of their functionality is accurate and timely notification of events. Notifications can be made more efficient by the creation of notification groups containing members who would be responding to a particular alarm or event. ",
1514
+ "severity": "medium"
1515
+ },
1516
+ {
1517
+ "id": "V-27105",
1518
+ "title": "The application must support taking organization-defined list of least-disruptive actions to terminate suspicious events. ",
1519
+ "description": "System availability is a key tenet of system security. Organizations need to have the flexibility to be able to define the automated actions taken in response to an identified incident. This includes being able to define a least disruptive action that the application takes to terminate suspicious events. A least disruptive action may include initiating a request for human response rather than blocking traffic or disrupting system operation.",
1520
+ "severity": "medium"
1521
+ },
1522
+ {
1523
+ "id": "V-27107",
1524
+ "title": "The application must enforce organizational requirements to protect information obtained from intrusion monitoring tools from unauthorized access, modification, and deletion.",
1525
+ "description": "Intrusion monitoring applications are by their nature designed to monitor and record network and system traffic and activity. They can accumulate a significant amount of sensitive data, examples of which could include user account information and application data not related to the intrusion monitoring application itself. \n\nIntrusion monitoring tools also obtain information that is critical to conducting forensic analysis on attacks occurring within the network. This data may be sensitive in nature. Information obtained by intrusion monitoring applications in the course of evaluating network and system security needs to be protected. ",
1526
+ "severity": "medium"
1527
+ },
1528
+ {
1529
+ "id": "V-27114",
1530
+ "title": "The application must terminate all sessions and network connections when non-local maintenance is completed.",
1531
+ "description": "Non-local maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. \n\nThe act of managing systems and applications includes the ability to access sensitive application information such as system configuration details, diagnostic information, user information and potentially sensitive application data. \n\nWhen applications provide a remote management capability that is inherent to the application, the application needs to ensure all sessions and network connections are terminated when non-local maintenance is completed. ",
1532
+ "severity": "medium"
1533
+ },
1534
+ {
1535
+ "id": "V-27116",
1536
+ "title": "The application must either implement compensating security controls or the organization explicitly accepts the risk of not performing the verification as required. ",
1537
+ "description": "Application security functional testing involves testing the application for conformance to the applications security function specifications, as well as, for the underlying security model. The need to verify security functionality applies to all security functions. The conformance criteria state the conditions necessary for the application to exhibit the desired security behavior or satisfy a security property for example, successful login triggers an audit entry. \n\nOrganizations may define conditions requiring verification and the frequency in which such testing occurs. Security function testing usually occurs during the development phase and can in some instances occur in the production phase if the developer provides the security conformance criteria or if the conformance criteria can be established. There are application testing frameworks available that can perform functional testing on production systems however they are limited in their applicability and are language or product centric. ",
1538
+ "severity": "medium"
1539
+ },
1540
+ {
1541
+ "id": "V-27117",
1542
+ "title": "Applications must respond to security function anomalies in accordance with organization-defined responses and alternative action(s).",
1543
+ "description": "The need to verify security functionality applies to all security functions. \n\nFor those security functions not able to execute automated self-tests the organization either implements compensating security controls or explicitly accepts the risk of not performing the verification as required. Information system transitional states include, startup, restart, shutdown, and abort.",
1544
+ "severity": "medium"
1545
+ },
1546
+ {
1547
+ "id": "V-27118",
1548
+ "title": "Applications employed to write data to portable digital media must use cryptographic mechanisms to protect and restrict access to information on portable digital media. ",
1549
+ "description": "When data is written to portable digital media such as thumb drives, floppy diskettes, compact disks, magnetic tape, etc., there is risk of data loss. \n\nAn organizational assessment of risk guides the selection of media and associated information contained on that media requiring restricted access. \n\nOrganizations need to document in policy and procedures, the media requiring restricted access, individuals authorized to access the media, and the specific measures taken to restrict access. Fewer protection measures are needed for media containing information determined by the organization to be in the public domain, to be publicly releasable, or to have limited or no adverse impact if accessed by other than authorized personnel. \n\nIn these situations, it is assumed the physical access controls where the media resides provide adequate protection. The employment of cryptography is at the discretion of the information owner/steward. \n\nThe selection of the cryptographic mechanisms used is based upon maintaining the confidentiality and integrity of the information. \n\nThe strength of mechanisms is commensurate with the classification and sensitivity of the information. \n\nWhen the organization has determined the risk warrants it, data written to portable digital media must be encrypted. ",
1550
+ "severity": "medium"
1551
+ },
1552
+ {
1553
+ "id": "V-27120",
1554
+ "title": "Applications must support organizational requirements to employ cryptographic mechanisms to protect information in storage.",
1555
+ "description": "When data is written to digital media such as, hard drives, mobile computers, external/removable hard drives, personal digital assistants, flash/thumb drives, etc., there is risk of data loss and data compromise. \n\nAn organizational assessment of risk guides the selection of media and associated information contained on that media requiring restricted access. Organizations need to document in policy and procedures, the media requiring restricted access, individuals authorized to access the media, and the specific measures taken to restrict access. \n\nFewer protection measures are needed for media containing information determined by the organization to be in the public domain, to be publicly releasable, or to have limited or no adverse impact if accessed by other than authorized personnel. In these situations, it is assumed the physical access controls where the media resides provide adequate protection. \n\nAs part of a defense-in-depth strategy, the organization considers routinely encrypting information at rest on selected secondary storage devices. The employment of cryptography is at the discretion of the information owner/steward. The selection of the cryptographic mechanisms used is based upon maintaining the confidentiality and integrity of the information. \n\nThe strength of mechanisms is commensurate with the classification and sensitivity of the information.",
1556
+ "severity": "medium"
1557
+ },
1558
+ {
1559
+ "id": "V-27121",
1560
+ "title": "Applications must provide notification of failed automated security tests.",
1561
+ "description": "The need to verify security functionality applies to all security functions. \n\nFor those security functions not able to execute automated self-tests the organization either implements compensating security controls or explicitly accepts the risk of not performing the verification as required. Information system transitional states include, startup, restart, shutdown, and abort.",
1562
+ "severity": "medium"
1563
+ },
1564
+ {
1565
+ "id": "V-27125",
1566
+ "title": "Application software used to detect the presence of unauthorized software must employ automated detection mechanisms and notify designated organizational officials in accordance with the organization-defined frequency.",
1567
+ "description": "Scanning software is purpose built to check for vulnerabilities in the information system and hosted applications and is also used to enumerate platforms, software flaws, and improper configurations. \n\nOrganizations are required to scan for vulnerabilities in information systems and hosted applications on an organization defined frequency and/or randomly in accordance with an organization defined process. \n\nScanning software includes the capability to scan for specific functions, applications, ports, protocols, and services that should not be accessible to users or devices and for improperly configured or incorrectly operating information flow mechanisms. ",
1568
+ "severity": "medium"
1569
+ },
1570
+ {
1571
+ "id": "V-27127",
1572
+ "title": "The organization (or information system) must enforce explicit rules governing the installation of software by users.",
1573
+ "description": "If provided the privilege, information system users have the ability to install software. This can create security related issues if the users install unapproved or insecurely written software. \n\nThe organization shall identify what types of software installations are permitted (e.g., updates and security patches to existing software) and what types of installations are prohibited (e.g., software whose pedigree with regard to being potentially malicious is unknown or suspect). \n\nThis is an OS requirement and does not apply to applications.",
1574
+ "severity": "medium"
1575
+ },
1576
+ {
1577
+ "id": "V-27128",
1578
+ "title": "The application must terminate the network connection associated with a communications session at the end of the session or after an organization-defined time period of inactivity.",
1579
+ "description": "This requirement applies to both internal and external networks. \n\nTerminating network connections associated with communications sessions include, de-allocating associated TCP/IP address/port pairs at the operating-system level, or de-allocating networking assignments at the application level if multiple application sessions are using a single, operating system-level network connection. \n\nThe time period of inactivity may, as the organization deems necessary, be a set of time periods by type of network access or for specific accesses. ",
1580
+ "severity": "medium"
1581
+ },
1582
+ {
1583
+ "id": "V-27130",
1584
+ "title": "The application must establish a trusted communications path between the user and organization-defined security functions within the information system.",
1585
+ "description": "The application user interface must provide an unspoofable and faithful communication channel between the user and any entity trusted to manipulate authorities on the user's behalf. \n\nA trusted path shall be employed for high-confidence connections between the security functions of the information system and the user (e.g., for login). ",
1586
+ "severity": "medium"
1587
+ },
1588
+ {
1589
+ "id": "V-27131",
1590
+ "title": "Applications involved in the production, control, and distribution of symmetric cryptographic keys must use NIST-approved or NSA-approved key management technology and processes.",
1591
+ "description": "Cryptographic key management and establishment can be performed using manual procedures or automated mechanisms with supporting manual procedures. \n\nIn addition to being required for the effective operation of a cryptographic mechanism, effective cryptographic key management provides protections to maintain the availability of the information in the event of the loss of cryptographic keys by users. ",
1592
+ "severity": "medium"
1593
+ },
1594
+ {
1595
+ "id": "V-27132",
1596
+ "title": "Applications involved in the production, control, and distribution of symmetric and asymmetric cryptographic keys must use NIST-approved or NSA-approved key management technology and processes.",
1597
+ "description": "Cryptographic key management and establishment can be performed using manual procedures or automated mechanisms with supporting manual procedures. \n\nIn addition to being required for the effective operation of a cryptographic mechanism, effective cryptographic key management provides protections to maintain the availability of the information in the event of the loss of cryptographic keys by users. ",
1598
+ "severity": "medium"
1599
+ },
1600
+ {
1601
+ "id": "V-27134",
1602
+ "title": "Applications involved in the production, control, and distribution of asymmetric cryptographic keys must use must use approved PKI Class 3 certificates or prepositioned keying material.",
1603
+ "description": "Cryptographic key management and establishment can be performed using manual procedures or automated mechanisms with supporting manual procedures. \n\nIn addition to being required for the effective operation of a cryptographic mechanism, effective cryptographic key management provides protections to maintain the availability of the information in the event of the loss of cryptographic keys by users. ",
1604
+ "severity": "medium"
1605
+ },
1606
+ {
1607
+ "id": "V-27135",
1608
+ "title": "Applications must provide automated support for the management of distributed security testing.",
1609
+ "description": "The need to verify security functionality applies to all security functions. \n\nFor those security functions that are not able to execute automated self-tests the organization either implements compensating security controls or explicitly accepts the risk of not performing the verification as required. Information system transitional states include: startup, restart, shutdown, and abort.",
1610
+ "severity": "medium"
1611
+ },
1612
+ {
1613
+ "id": "V-27136",
1614
+ "title": "Applications involved in the production, control, and distribution of asymmetric cryptographic keys must use approved PKI Class 3 or class 4 certificates and hardware tokens that protect the users private key.",
1615
+ "description": "Cryptographic key management and establishment can be performed using manual procedures or automated mechanisms with supporting manual procedures. \n\nIn addition to being required for the effective operation of a cryptographic mechanism, effective cryptographic key management provides protections to maintain the availability of the information in the event of the loss of cryptographic keys by users. ",
1616
+ "severity": "medium"
1617
+ },
1618
+ {
1619
+ "id": "V-27137",
1620
+ "title": "Applications utilized for integrity verification must detect unauthorized changes to software and information.",
1621
+ "description": "Organizations are required to employ integrity verification applications on information systems to look for evidence of information tampering, errors, and omissions. The organization is also required to employ good software engineering practices with regard to commercial off-the-shelf integrity mechanisms (e.g., parity checks, cyclical redundancy checks, and cryptographic hashes) and uses tools to automatically monitor the integrity of the information system and the applications it hosts.",
1622
+ "severity": "medium"
1623
+ },
1624
+ {
1625
+ "id": "V-27139",
1626
+ "title": "Applications that are utilized to address the issue of SPAM and provide protection from SPAM must automatically update any and all SPAM protection measures including signature definitions.",
1627
+ "description": "Originators of SPAM emails are constantly changing their source email addresses in order to defeat SPAM countermeasures; therefore, SPAM software must be constantly updated to address the changing threat. A manual update procedure is labor intensive and does not scale well in an enterprise environment which necessitates an automatic update capability.",
1628
+ "severity": "medium"
1629
+ },
1630
+ {
1631
+ "id": "V-27140",
1632
+ "title": "The application must implement required cryptographic protections using cryptographic modules complying with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance.",
1633
+ "description": "Cryptography is only as strong as the encryption modules/algorithms employed to encrypt the data. \n\nUse of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. ",
1634
+ "severity": "medium"
1635
+ },
1636
+ {
1637
+ "id": "V-27141",
1638
+ "title": "The organization must employ malicious code protection mechanisms at information system entry and exit points to detect and take action on unsolicited messages transported by electronic mail, electronic mail attachments, web accesses, removable media, or other common means.",
1639
+ "description": "Unsolicited email messages otherwise known as SPAM are known to be one of the primary vectors for the propagation of many types of attacks including phishing attacks. SPAM and malware protection techniques include examining email messages, files, and web traffic at border gateways or proxies to determine if the traffic contains SPAM or some other type of malware.\n\nThis is a requirement to deploy SPAM protection at certain locations on the network. This requirement does not apply to applications.",
1640
+ "severity": "medium"
1641
+ },
1642
+ {
1643
+ "id": "V-27143",
1644
+ "title": "The organization must employ malicious code protection mechanisms at workstations, servers, or mobile computing devices on the network to detect and take action on unsolicited messages transported by electronic mail, electronic mail attachments, and web accesses.\n",
1645
+ "description": "Senders of SPAM messages are continually modifying their tactics and source email addresses in order to elude protection mechanisms. To stay up-to-date with the changing threat and to identify SPAM messages, it is critical that SPAM protection mechanisms are kept current.\n\nUnsolicited email messages otherwise known as SPAM are known to be one of the primary vectors for the propagation of many types of attacks including phishing attacks. SPAM and malware protection techniques include examining email messages, files, and web traffic at border gateways or proxies to determine if the traffic contains SPAM or some other type of malware.\n\nThis is a requirement to utilize SPAM prevention and anti-virus/malware software on workstations, servers, and laptops. This requirement does not apply to applications. ",
1646
+ "severity": "medium"
1647
+ },
1648
+ {
1649
+ "id": "V-27144",
1650
+ "title": "Applications that serve to protect organizations and individuals from SPAM messages must incorporate update mechanisms updating protection mechanisms and signature updates when new application releases are available in accordance with organizational configuration management policy and procedures.",
1651
+ "description": "Senders of SPAM messages are continually modifying their tactics and source email addresses in order to elude protection mechanisms. To stay up-to-date with the changing threat and to identify SPAM messages, it is critical that SPAM protection mechanisms are kept current.",
1652
+ "severity": "medium"
1653
+ },
1654
+ {
1655
+ "id": "V-27145",
1656
+ "title": "Applications must provide the capability to automatically process audit records for events of interest based upon selectable, event criteria.",
1657
+ "description": "Audit reduction is used to reduce the volume of audit records in order to facilitate manual review. Before a security review information systems and/or applications with an audit reduction capability may remove many audit records known to have little security significance. \n\nThis is generally accomplished by removing records generated by specified classes of events, such as records generated by nightly backups. \n\nAn audit reduction capability provides support for near real-time audit review and analysis based on policy requirements regarding what must be audited on the system and after-the-fact investigations of security incidents. It is important to recognize audit reduction does not alter original audit records. \n\nAudit reduction and reporting tools do not alter original audit records. \n\nTo leverage the complete capability of audit reduction, the application must possess the ability to specify and automatically process certain event criteria that are selectable in nature. In other words, a system administrator (SA) may be performing a manual review of audit data to identify a particular problem. The SA has determined that backup activity and network connections from a particular host comprise the bulk of the events. However, these events are not related to the activity being investigated. The application must be able to automatically process these audit records for audit reduction purposes rather than making the administrator manually process them.",
1658
+ "severity": "medium"
1659
+ },
1660
+ {
1661
+ "id": "V-27146",
1662
+ "title": "Applications must use internal system clocks to generate time stamps for audit records.",
1663
+ "description": "Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. \n\nTime stamps generated by the information system shall include both date and time. The time may be expressed in Coordinated Universal Time (UTC), a modern continuation of Greenwich Mean Time (GMT), or local time with an offset from UTC.",
1664
+ "severity": "medium"
1665
+ },
1666
+ {
1667
+ "id": "V-27147",
1668
+ "title": "The application must synchronize with internal information system clocks which in turn, are synchronized on an organization-defined frequency with an organization-defined authoritative time source. ",
1669
+ "description": "Determining the correct time a particular application event occurred on a system is critical when conducting forensic analysis and investigating system events. \n\nSynchronization of system clocks is needed in order to correctly correlate the timing of events that occur across multiple systems. To meet that requirement the organization will define an authoritative time source and frequency to which each system will synchronize its internal clock. \n\nAn example is utilizing the NTP protocol to synchronize with centralized NTP servers. Time stamps generated by the information system shall include both date and time. The time may be expressed in Coordinated Universal Time (UTC), a modern continuation of Greenwich Mean Time (GMT), or local time with an offset from UTC. \n\nApplications not purposed to provide NTP services should not try to compete with or replace NTP functionality and should synchronize with internal information system clocks that are in turn synchronized with an organization defined authoritative time source.",
1670
+ "severity": "medium"
1671
+ },
1672
+ {
1673
+ "id": "V-27148",
1674
+ "title": "The application must protect audit information from any type of unauthorized access. ",
1675
+ "description": "If audit data were to become compromised then competent forensic analysis and discovery of the true source of potentially malicious system activity is difficult if not impossible to achieve. In addition, access to audit records provides information an attacker could potentially use to his or her advantage.\n\nTo ensure the veracity of audit data the information system and/or the application must protect audit information from any and all unauthorized access. This includes read, write, copy, etc.\n\nThis requirement can be achieved through multiple methods which will depend upon system architecture and design. Some commonly employed methods include ensuring log files enjoy the proper file system permissions utilizing file system protections and limiting log data location. \n\nAdditionally, applications with user interfaces to audit records should not allow for the unfettered manipulation of or access to those records via the application. If the application provides access to the audit data, the application becomes accountable for ensuring that audit information is protected from unauthorized access.\n\nAudit information includes all information (e.g., audit records, audit settings, and audit reports) needed to successfully audit information system activity. ",
1676
+ "severity": "medium"
1677
+ },
1678
+ {
1679
+ "id": "V-27150",
1680
+ "title": "Applications must employ FIPS-validated cryptography to protect unclassified information.",
1681
+ "description": "Cryptography is only as strong as the encryption modules/algorithms employed to encrypt the data. \n\nUse of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. ",
1682
+ "severity": "medium"
1683
+ },
1684
+ {
1685
+ "id": "V-27152",
1686
+ "title": "The application must protect audit information from unauthorized modification.",
1687
+ "description": "If audit data were to become compromised then competent forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. \n\nTo ensure the veracity of audit data the information system and/or the application must protect audit information from unauthorized modification. \n\nThis requirement can be achieved through multiple methods which will depend upon system architecture and design. Some commonly employed methods include ensuring log files enjoy the proper file system permissions, and limiting log data locations. \n\nApplications providing a user interface to audit data will leverage user permissions and roles identifying the user accessing the data and the corresponding rights that the user enjoys in order to make access decisions regarding the modification of audit data.\n\nAudit information includes all information (e.g., audit records, audit settings, and audit reports) needed to successfully audit information system activity. ",
1688
+ "severity": "medium"
1689
+ },
1690
+ {
1691
+ "id": "V-27153",
1692
+ "title": "Applications must employ NSA-approved cryptography to protect classified information.",
1693
+ "description": "Cryptography is only as strong as the encryption modules/algorithms employed to encrypt the data. Use of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. \n\nNSA has developed Type 1 algorithms for protecting classified information. The Committee on National Security Systems (CNSS) National Information Assurance Glossary (CNSS Instruction No. 4009) defines Type 1 products as:\n\n“Cryptographic equipment, assembly or component classified or certified by NSA for encrypting and decrypting classified and sensitive national security information when appropriately keyed.\nDeveloped using established NSA business processes and containing NSA approved algorithms\nare used to protect systems requiring the most stringent protection mechanisms.”\n\nNSA-approved cryptography is required to be used for classified information system processing.",
1694
+ "severity": "medium"
1695
+ },
1696
+ {
1697
+ "id": "V-27154",
1698
+ "title": "Applications must employ FIPS-validated cryptography to protect unclassified information when such information must be separated from individuals who have the necessary clearances yet lack the necessary access approvals.",
1699
+ "description": "Cryptography is only as strong as the encryption modules/algorithms employed to encrypt the data. Use of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. FIPS 140-2 Security Requirements for Cryptographic Modules can be found at the following web site: http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf.\n\nAlthough persons may have a security clearance, they may not have a \"need to know\" and are required to be separated from the information in question. Applications must employ FIPS validated cryptography to protect unclassified information from those individuals who have no \"need to know\".\n\n",
1700
+ "severity": "medium"
1701
+ },
1702
+ {
1703
+ "id": "V-27155",
1704
+ "title": "Applications must employ FIPS-validated or NSA-approved cryptography to implement digital signatures.",
1705
+ "description": "Cryptography is only as strong as the encryption modules/algorithms employed to encrypt the data. Use of weak or un-tested encryption algorithms undermines the purposes of utilizing encryption to protect data. \n\nThe integrity and reliability of the algorithms used to generate digital signatures is just as important as those used to encrypt data. \n\nDigital signatures provide non-repudiation and authenticity of a message or document, therefore, it is imperative that applications employ FIPS validated algorithms when generating digital signatures to be applied to unclassified data and NSA approved algorithms when generating signatures to be applied to classified data.\n\nThis application requirement is not applicable. This requirement is addressed by CCI-001342 which requires applications to meet policy and legal requirements regarding the use of approved encryption technology. CCI-001342 is a comprehensive cryptography requirement that mandates the use of FIPS-validation or NSA-approved cryptography when using digital signatures.",
1706
+ "severity": "medium"
1707
+ },
1708
+ {
1709
+ "id": "V-27159",
1710
+ "title": "The application must protect the integrity and availability of publicly available information and applications.",
1711
+ "description": "The purpose of this control is to ensure organizations explicitly address the protection needs for public information and applications with such protection likely being implemented as part of other security controls. ",
1712
+ "severity": "medium"
1713
+ },
1714
+ {
1715
+ "id": "V-27160",
1716
+ "title": "The application must protect audit information from unauthorized deletion.",
1717
+ "description": "If audit data were to become compromised then competent forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. \n\nTo ensure the veracity of audit data the information system and/or the application must protect audit information from unauthorized deletion. This requirement can be achieved through multiple methods which will depend upon system architecture and design. \n\nSome commonly employed methods include: ensuring log files enjoy the proper file system permissions utilizing file system protections; restricting access and backing up log data to ensure log data is retained. \n\nApplications providing a user interface to audit data will leverage user permissions and roles identifying the user accessing the data and the corresponding rights the user enjoys in order make access decisions regarding the deletion of audit data.\n\nAudit information includes all information (e.g., audit records, audit settings, and audit reports) needed to successfully audit information system activity. ",
1718
+ "severity": "medium"
1719
+ },
1720
+ {
1721
+ "id": "V-27162",
1722
+ "title": "The information system or supporting environment must block both inbound and outbound traffic between instant messaging clients that are independently configured by end users and external service providers.",
1723
+ "description": "Blocking restrictions do not include instant messaging services configured by an organization to perform an authorized function. \n\nThis requirement specifies blocking any external IRC chat clients that are not configured and managed by the organization. This requirement does not apply to applications.",
1724
+ "severity": "medium"
1725
+ },
1726
+ {
1727
+ "id": "V-27163",
1728
+ "title": "The application must protect audit tools from unauthorized access.",
1729
+ "description": "Protecting audit data also includes identifying and protecting the tools used to view and manipulate log data. \n\nDepending upon the log format and application, system and application log tools may provide the only means to manipulate and manage application and system log data. \n\nIt is, therefore, imperative that access to audit tools be controlled and protected from unauthorized access. \n\nApplications providing tools to interface with audit data will leverage user permissions and roles identifying the user accessing the tools and the corresponding rights the user enjoys in order make access decisions regarding the access to audit tools.\n\nAudit tools include but are not limited to OS provided audit tools, vendor provided audit tools, and open source audit tools needed to successfully view and manipulate audit information system activity and records. ",
1730
+ "severity": "medium"
1731
+ },
1732
+ {
1733
+ "id": "V-27164",
1734
+ "title": "The application must protect audit tools from unauthorized modification.",
1735
+ "description": "Protecting audit data also includes identifying and protecting the tools used to view and manipulate log data. \n\nDepending upon the log format and application, system and application log tools may provide the only means to manipulate and manage application and system log data. \n\nIf the tools are compromised it could provide attackers with the capability to manipulate log data. It is, therefore, imperative that audit tools be controlled and protected from unauthorized modification. \n\nAudit tools include but are not limited to OS provided audit tools, vendor provided audit tools, and open source audit tools needed to successfully view and manipulate audit information system activity and records. ",
1736
+ "severity": "medium"
1737
+ },
1738
+ {
1739
+ "id": "V-27165",
1740
+ "title": "The application must protect audit tools from unauthorized deletion.",
1741
+ "description": "Protecting audit data also includes identifying and protecting the tools used to view and manipulate log data. \n\nDepending upon the log format and application, system and application log tools may provide the only means to manipulate and manage application and system log data. If the tools are deleted, it would affect the administrator’s ability to access and review log data. \n\nAudit tools include but are not limited to OS provided audit tools, vendor provided audit tools, and open source audit tools needed to successfully view and manipulate audit information system activity and records.",
1742
+ "severity": "medium"
1743
+ },
1744
+ {
1745
+ "id": "V-27166",
1746
+ "title": "The application must have the capability to produce audit records on hardware-enforced, write-once media.",
1747
+ "description": "Applications are typically designed to incorporate their audit logs into the auditing sub-system hosted by the operating system. However, in some instances application developers may decide to forego the audit capabilities offered by the operating system and maintain application audit logs separately. \n\nThe protection of audit records from unauthorized or accidental deletion or modification requires that information systems be able to produce audit records on hardware enforced write-once media. \n\nApplications that do not write audit records to a resource (e.g., underlying OS or separate system) that is capable of producing audit records on hardware enforced, write-once media must provide the capability to do so. This requirement is related to backup of records and not real-time creation of audit records.\n\nExamples of such hardware devices include, but are not limited to: CD-R or DVD-R.",
1748
+ "severity": "medium"
1749
+ },
1750
+ {
1751
+ "id": "V-27168",
1752
+ "title": "The application must support the requirement to back up audit data and records onto a different system or media than the system being audited on an organization-defined frequency.",
1753
+ "description": "Protection of log data includes assuring log data is not accidentally lost or deleted. Backing up audit records to a different system or onto separate media than the system being audited on an organizationally defined frequency helps to assure in the event of a catastrophic system failure, the audit records will be retained. ",
1754
+ "severity": "medium"
1755
+ },
1756
+ {
1757
+ "id": "V-27169",
1758
+ "title": "Software and/or firmware used for collaborative computing devices must prohibit remote activation excluding the organization-defined exceptions where remote activation is to be allowed.",
1759
+ "description": "Collaborative computing devices include, networked white boards, cameras, and microphones. Collaborative software examples include instant messaging or chat clients. ",
1760
+ "severity": "medium"
1761
+ },
1762
+ {
1763
+ "id": "V-27170",
1764
+ "title": "The application must associate security attributes with information exchanged between information systems.",
1765
+ "description": "When data is exchanged between information systems, the security attributes associated with said data needs to be maintained. \n\nSecurity attributes are an abstraction representing the basic properties or characteristics of an entity with respect to safeguarding information, typically associated with internal data structures (e.g., records, buffers, files) within the information system and used to enable the implementation of access control and flow control policies, reflect special dissemination, handling or distribution instructions, or support other aspects of the information security policy. \n\nSecurity attributes may be explicitly or implicitly associated with the information contained within the information system. ",
1766
+ "severity": "medium"
1767
+ },
1768
+ {
1769
+ "id": "V-27171",
1770
+ "title": "The application must validate the integrity of security attributes exchanged between systems.",
1771
+ "description": "When data is exchanged between information systems, the security attributes associated with said data needs to be maintained. \n\nSecurity attributes are an abstraction representing the basic properties or characteristics of an entity with respect to safeguarding information, typically associated with internal data structures (e.g., records, buffers, files) within the information system and used to enable the implementation of access control and flow control policies, reflect special dissemination, handling or distribution instructions, or support other aspects of the information security policy. \n\nSecurity attributes may be explicitly or implicitly associated with the information contained within the information system. ",
1772
+ "severity": "medium"
1773
+ },
1774
+ {
1775
+ "id": "V-27172",
1776
+ "title": "Applications must support organizational requirements to issue public key certificates under an appropriate certificate policy or obtain public key certificates under an appropriate certificate policy from an approved service provider.",
1777
+ "description": "For user certificates, each organization attains certificates from an approved, shared service provider, as required by OMB policy. \n\nFor federal agencies operating a legacy public key infrastructure cross-certified with the Federal Bridge Certification Authority at medium assurance or higher, this Certification Authority will suffice. \n\nThis control focuses on certificates with a visibility external to the information system and does not include certificates related to internal system operations, for example, application-specific time services. ",
1778
+ "severity": "medium"
1779
+ },
1780
+ {
1781
+ "id": "V-27173",
1782
+ "title": "Applications designed to address malware issues and/or enforce policy pertaining to organizational use of mobile code must implement detection and inspection mechanisms to identify unauthorized mobile code",
1783
+ "description": "Decisions regarding the employment of mobile code within organizational information systems are based on the potential for the code to cause damage to the system if used maliciously. \n\nMobile code technologies include: Java, JavaScript, ActiveX, PDF, Postscript, Shockwave movies, Flash animations, and VBScript. Usage restrictions and implementation guidance apply to both the selection and use of mobile code installed on organizational servers and mobile code downloaded and executed on individual workstations. \n\nPolicy and procedures related to mobile code, address preventing the development, acquisition, or introduction of unacceptable mobile code within the information system. ",
1784
+ "severity": "medium"
1785
+ },
1786
+ {
1787
+ "id": "V-27174",
1788
+ "title": "Applications designed to address malware issues and/or enforce policy pertaining to organizational use of mobile code must take corrective actions, when unauthorized mobile code is identified.",
1789
+ "description": "Decisions regarding the employment of mobile code within organizational information systems are based on the potential for the code to cause damage to the system if used maliciously. \n\nMobile code technologies include: Java, JavaScript, ActiveX, PDF, Postscript, Shockwave movies, Flash animations, and VBScript. Usage restrictions and implementation guidance apply to both the selection and use of mobile code installed on organizational servers and mobile code downloaded and executed on individual workstations. \n\nPolicy and procedures related to mobile code, address preventing the development, acquisition, or introduction of unacceptable mobile code within the information system. ",
1790
+ "severity": "medium"
1791
+ },
1792
+ {
1793
+ "id": "V-27175",
1794
+ "title": "Applications utilizing mobile code must meet policy requirements regarding the acquisition, development, and/or use of mobile code. ",
1795
+ "description": "Decisions regarding the employment of mobile code within organizational information systems are based on the potential for the code to cause damage to the system if used maliciously. \n\nMobile code technologies include: Java, JavaScript, ActiveX, PDF, Postscript, Shockwave movies, Flash animations, and VBScript. Usage restrictions and implementation guidance apply to both the selection and use of mobile code installed on organizational servers and mobile code downloaded and executed on individual workstations. \n\nDoDI 8552.01 policy pertains to the use of mobile code technologies within DoD information systems. ",
1796
+ "severity": "medium"
1797
+ },
1798
+ {
1799
+ "id": "V-27176",
1800
+ "title": "Applications designed to enforce policy pertaining to organizational use of mobile code must prevent the download and execution of prohibited mobile code.",
1801
+ "description": "Decisions regarding the employment of mobile code within organizational information systems are based on the potential for the code to cause damage to the system if used maliciously. \n\nMobile code technologies include: Java, JavaScript, ActiveX, PDF, Postscript, Shockwave movies, Flash animations, and VBScript. Usage restrictions and implementation guidance apply to both the selection and use of mobile code installed on organizational servers and mobile code downloaded and executed on individual workstations. ",
1802
+ "severity": "medium"
1803
+ },
1804
+ {
1805
+ "id": "V-27177",
1806
+ "title": "Applications designed to enforce policy pertaining to the use of mobile code must prevent the automatic execution of mobile code in organization-defined software applications and require organization-defined actions prior to executing the code.",
1807
+ "description": "Decisions regarding the employment of mobile code within organizational information systems are based on the potential for the code to cause damage to the system if used maliciously. \n\nMobile code technologies include: Java, JavaScript, ActiveX, PDF, Postscript, Shockwave movies, Flash animations, and VBScript. \n\nUsage restrictions and implementation guidance apply to both the selection and use of mobile code installed on organizational servers and mobile code downloaded and executed on individual workstations. \n\nOrganization-defined software may be a specific application, web site or web sites in general. Organization-defined actions include but are not limited to: alerts to the user, logging actions, a centralized alarm, or any combination thereof.",
1808
+ "severity": "medium"
1809
+ },
1810
+ {
1811
+ "id": "V-27178",
1812
+ "title": "The application must separate user functionality (including user interface services) from information system management functionality.",
1813
+ "description": "Information system management functionality includes, functions necessary to administer databases, network components, workstations, or servers, and typically requires privileged user access. \n\nThe separation of user functionality from information system management functionality is either physical or logical and is accomplished by using different computers, different central processing units, different instances of the operating system, different network addresses, combinations of these methods, or other methods, as appropriate. \n\nAn example of this type of separation is observed in web administrative interfaces that use separate authentication methods for users of any other information system resources. \n\nThis may include isolating the administrative interface on a different domain and with additional access controls. ",
1814
+ "severity": "medium"
1815
+ },
1816
+ {
1817
+ "id": "V-27179",
1818
+ "title": "The application must prevent the presentation of information system management-related functionality at an interface utilized by general (i.e., non-privileged) users.",
1819
+ "description": "Information system management functionality includes, functions necessary to administer databases, network components, workstations, or servers, and typically requires privileged user access. \n\nThe separation of user functionality from information system management functionality is either physical or logical and is accomplished by using different computers, different central processing units, different instances of the operating system, different network addresses, combinations of these methods, or other methods as appropriate. \n\nAn example of this type of separation is observed in web administrative interfaces that use separate authentication methods for users of any other information system resources. This may include isolating the administrative interface on a different domain and with additional access controls. ",
1820
+ "severity": "medium"
1821
+ },
1822
+ {
1823
+ "id": "V-27180",
1824
+ "title": "The application must provide additional data origin and integrity artifacts along with the authoritative data the system returns in response to name/address resolution queries.",
1825
+ "description": "This control enables remote clients to obtain origin authentication and integrity verification assurances for the host/service name to network address resolution information obtained through the service. \n\nA Domain Name System (DNS) server is an example of an information system providing name/address resolution service. Digital signatures and cryptographic keys are examples of additional artifacts. DNS resource records are examples of authoritative data. \n\nInformation systems using technologies other than the DNS to map between host/service names and network addresses provide other means to assure the authenticity and integrity of response data. The DNS security controls are consistent with, and referenced from, OMB Memorandum 08-23. ",
1826
+ "severity": "medium"
1827
+ },
1828
+ {
1829
+ "id": "V-27181",
1830
+ "title": "Applications, when operating as part of a distributed, hierarchical namespace, must provide the means to indicate the security status of child subspaces and (if the child supports secure resolution services) enable verification of a chain of trust among parent and child domains.",
1831
+ "description": "This control enables remote clients to obtain origin authentication and integrity verification assurances for the host/service name to network address resolution information obtained through the service.\n\n A Domain Name System (DNS) server is an example of an information system providing name/address resolution service. Digital signatures and cryptographic keys are examples of additional artifacts. DNS resource records are examples of authoritative data. \n\nInformation systems using technologies other than the DNS to map between host/service names and network addresses provide other means to assure the authenticity and integrity of response data. The DNS security controls are consistent with, and referenced from, OMB Memorandum 08-23. ",
1832
+ "severity": "medium"
1833
+ },
1834
+ {
1835
+ "id": "V-27182",
1836
+ "title": "The application must perform data origin authentication and data integrity verification on the name/address resolution responses the system receives from authoritative sources when requested by client systems.",
1837
+ "description": "A recursive resolving or caching Domain Name System (DNS) server is an example of an information system providing name/address resolution service for local clients. \n\nAuthoritative DNS servers are examples of authoritative sources. Information systems using technologies other than the DNS to map between host/service names and network addresses provide other means to enable clients to verify the authenticity and integrity of response data. ",
1838
+ "severity": "medium"
1839
+ },
1840
+ {
1841
+ "id": "V-29188",
1842
+ "title": "Applications handling data requiring \"data at rest\" protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information that is at rest unless otherwise protected by alternative physical measures.",
1843
+ "description": "This control is intended to address the confidentiality and integrity of information at rest in non-mobile devices and covers user information and system information. Information at rest refers to the state of information when it is located on a secondary storage device (e.g., disk drive, tape drive) within an organizational information system. Alternative physical protection measures include, protected distribution systems.\n",
1844
+ "severity": "medium"
1845
+ },
1846
+ {
1847
+ "id": "V-29189",
1848
+ "title": "Applications must isolate security functions enforcing access and information flow control from both non-security functions and from other security functions.",
1849
+ "description": "Application functionality is typically broken down into modules that perform various tasks or roles. Examples of non-privileged application functionality include, but are not limited to, application modules written for displaying data or printing reports. \n\nApplication security functionality that performs security tasks such as enforcing access and information flow control requires additional system privilege and can have a large impact on the security of the application and its data. Rather than allowing the entire application access to this security functionality, application developers must isolate these critical functions from non-privileged application functions and other security functions.",
1850
+ "severity": "medium"
1851
+ },
1852
+ {
1853
+ "id": "V-30532",
1854
+ "title": "The information system must protect wireless access to the system using encryption.",
1855
+ "description": "Wireless technologies include, but are not limited to, microwave, satellite, packet radio (UHF/VHF), 802.11x, and Bluetooth. \n\nWireless networks use authentication protocols (e.g., EAP/TLS, PEAP), which provide credential protection and mutual authentication. In certain situations, wireless signals may radiate beyond the confines and control of organization-controlled facilities.\n\nWhen systems connect to a wireless access point there is a requirement to authenticate. Authentication applies to user, device, or both as necessary. Authentication data needs to be protected by encryption. \n\nThis is a wireless access requirement regarding WAP encryption. This requirement does not apply to applications.\n",
1856
+ "severity": "medium"
1857
+ },
1858
+ {
1859
+ "id": "V-30533",
1860
+ "title": "The information system must protect wireless access to the system using authentication.",
1861
+ "description": "Wireless technologies include, but are not limited to, microwave, satellite, packet radio (UHF/VHF), 802.11x, and Bluetooth. \n\nWireless networks use authentication protocols (e.g., EAP/TLS, PEAP), which provide credential protection and mutual authentication. In certain situations, wireless signals may radiate beyond the confines and control of organization-controlled facilities.\n\nWhen systems connect to a wireless access point they need to be authenticated by the WAP. Authentication applies to user, device, or both as necessary. \n\nThis is a wireless access requirement regarding WAP authentication. This requirement does not apply to applications.",
1862
+ "severity": "medium"
1863
+ },
1864
+ {
1865
+ "id": "V-30570",
1866
+ "title": "The application must enforce requirements for remote connections to the information system.",
1867
+ "description": "Applications that provide remote access to information systems must be able to enforce remote access policy requirements or work in conjunction with enterprise tools designed to enforce policy requirements. Examples of policy requirements include but are not limited to; authorizing remote access to the information system, limiting access based on authentication credentials and monitoring for unauthorized access. ",
1868
+ "severity": "medium"
1869
+ },
1870
+ {
1871
+ "id": "V-30571",
1872
+ "title": "Applications must enforce requirements regarding the connection of mobile devices to organizational information systems.",
1873
+ "description": "Applications designed to manage the connection of mobile devices to information systems must be able to enforce organizational connectivity requirements or work in conjunction with enterprise tools designed to enforce policy requirements. \n\nMobile devices include portable storage media (e.g., USB memory sticks, external hard disk drives) and portable computing and communications devices with information storage capability (e.g., notebook/laptop computers, personal digital assistants, cellular telephones, digital cameras, and audio recording devices).\n\nOrganizational connectivity requirements may include usage restrictions and implementation guidance related to mobile devices. \n\nFor example, the organization may require the device be part of the configuration management environment or may require mandatory protective software be installed prior to connecting to the infrastructure (e.g., malicious code detection or a firewall). \n\nScanning devices for malicious code may be required prior to connecting as well as updating virus protection software, scanning for critical software updates and patches, conducting primary operating system (and possibly other resident software) integrity checks, and disabling unnecessary hardware (e.g., wireless, infrared).\n\nAn example of information system functionality that may need to be disabled prior to connecting includes the capability for automatic execution of code such as AutoRun and AutoPlay.",
1874
+ "severity": "medium"
1875
+ },
1876
+ {
1877
+ "id": "V-30572",
1878
+ "title": "The application must disable network access by unauthorized components/devices or notify designated organizational officials.",
1879
+ "description": "Maintaining system and network integrity requires all systems on the network are identified and accounted for. Without an accurate accounting of systems utilizing the network, the opportunity exists for the introduction of rogue systems. The significance of this manner of security compromise increases exponentially over time and could become a persistent threat. Therefore, organizations must employ automated mechanisms to detect the addition unauthorized devices. \n\nInformation deemed to be necessary by the organization to achieve effective property accountability can include, for example, hardware inventory specifications (manufacturer, type, model, serial number, physical location), software license information, information system/component owner, and for a networked component/device, the machine name and network address. \n\nThe monitoring for unauthorized components/devices on information system networks may be accomplished on an ongoing basis or by the periodic scanning of organizational networks for that purpose. Automated mechanisms can be implemented within the information system and/or in another separate information system or device.\n\nApplications that are designed as systems configuration management solutions or other solutions developed specifically to fill the role of identifying or managing systems in the enterprise must be able to either disable the identified device or notify the appropriate personnel when new systems have been introduced into the environment. ",
1880
+ "severity": "medium"
1881
+ },
1882
+ {
1883
+ "id": "V-30573",
1884
+ "title": "The organization must protect against unauthorized physical connections across the boundary protections implemented at an organization-defined list of managed interfaces.",
1885
+ "description": "This is a requirement to protect against physically by-passing the firewall interfaces by moving ethernet cables. This does not apply to applications.",
1886
+ "severity": "medium"
1887
+ },
1888
+ {
1889
+ "id": "V-30574",
1890
+ "title": "The information system must automatically terminate emergency accounts after an organization-defined time period for each type of account.",
1891
+ "description": "Emergency application accounts are typically created due to an unforeseen operational event or could ostensibly be used in the event of a vendor support visit where a support representative requires a temporary unique account in order to perform diagnostic testing or conduct some other support related activity. When these types of accounts are created, there is a risk that the temporary account may remain in place and active after the support representative has left. \n\nIn the event emergency application accounts are required, the application must ensure that accounts designated as temporary in nature shall automatically terminate these accounts after an organization-defined time period. Such a process and capability greatly reduces the risk that accounts will be misused, hijacked, or application data compromised. \n\nTo address the multitude of policy based access requirements, many application developers choose to integrate their applications with enterprise level authentication/access mechanisms that meet or exceed access control policy requirements. Such an integration allows the application developer to off-load those access control functions and focus on core application features and functionality. \n\nExamples of enterprise level authentication/access mechanisms include but are not limited to Active Directory and LDAP.\n\nThe application must provide or utilize a mechanism to automatically terminate accounts that have been designated as temporary or emergency accounts after an organization defined time period.",
1892
+ "severity": "medium"
1893
+ },
1894
+ {
1895
+ "id": "V-30575",
1896
+ "title": "The application must notify appropriate individuals when accounts are created.",
1897
+ "description": "Once an attacker establishes initial access to a system, they often attempt to create a persistent method of re-establishing access. One way to accomplish this is for the attacker to simply create a new account. \n\nNotification of account creation is one method and best practice for mitigating this risk. A comprehensive account management process will ensure that an audit trail which documents the creation of application user accounts and notifies administrators and/or application owners exists. Such a process greatly reduces the risk that accounts will be surreptitiously created and provides logging that can be used for forensic purposes. \n\nTo address the multitude of policy based access requirements, many application developers choose to integrate their applications with enterprise level authentication/access mechanisms that meet or exceed access control policy requirements. Such integration allows the application developer to off-load those access control functions and focus on core application features and functionality. \n\nExamples of enterprise level authentication/access mechanisms include but are not limited to Active Directory and LDAP. \n\nApplications must support the requirement to notify appropriate individuals upon account creation.",
1898
+ "severity": "medium"
1899
+ },
1900
+ {
1901
+ "id": "V-30576",
1902
+ "title": "The application must notify appropriate individuals when accounts are modified.",
1903
+ "description": "Once an attacker establishes initial access to a system, they often attempt to create a persistent method of re-establishing access. One way to accomplish this is for the attacker to simply modify or copy an existing account. \n\nNotification of account modification is one method and best practice for mitigating this risk. A comprehensive account management process will ensure that an audit trail which documents the modification of application user accounts and notifies administrators and/or application owners exists. Such a process greatly reduces the risk that accounts will be surreptitiously created or modified and provides logging that can be used for forensic purposes. \n\nTo address the multitude of policy based access requirements, many application developers choose to integrate their applications with enterprise level authentication/access mechanisms that meet or exceed access control policy requirements. Such integration allows the application developer to off-load those access control functions and focus on core application features and functionality. \n\nExamples of enterprise level authentication/access mechanisms include but are not limited to Active Directory and LDAP. \n\nApplications must support the requirement to notify appropriate individuals when accounts are modified.",
1904
+ "severity": "medium"
1905
+ },
1906
+ {
1907
+ "id": "V-30582",
1908
+ "title": "The application must notify appropriate individuals when account disabling actions are taken.",
1909
+ "description": "When application accounts are disabled, user accessibility is affected. Accounts are utilized for identifying individual application users or for identifying the application processes themselves. \n\nIn order to detect and respond to events that affect user accessibility and application processing, applications must audit account disabling actions and, as required, notify as required the appropriate individuals so they can investigate the event. Such a capability greatly reduces the risk that application accessibility will be negatively affected for extended periods of time and also provides logging that can be used for forensic purposes. \n\nTo address the multitude of policy based access requirements, many application developers choose to integrate their applications with enterprise level authentication/access mechanisms that meet or exceed access control policy requirements. Such integration allows the application developer to off-load those access control functions and focus on core application features and functionality. \n\nExamples of enterprise level authentication/access mechanisms include but are not limited to Active Directory and LDAP.\n\nApplications must notify, or leverage other mechanisms that notify, the appropriate individuals when accounts disabling actions are taken.",
1910
+ "severity": "medium"
1911
+ },
1912
+ {
1913
+ "id": "V-30583",
1914
+ "title": "The application must notify appropriate individuals when accounts are terminated.",
1915
+ "description": "When application accounts are terminated, user accessibility is affected. Accounts are utilized for identifying individual application users or for identifying the application processes themselves. \n\nIn order to detect and respond to events that affect user accessibility and application processing, applications must notify the appropriate individuals when an account is terminated so they can investigate the event. Such a capability greatly reduces the risk that application accessibility will be negatively affected for extended periods of time and provides logging that can be used for forensic purposes. \n\nTo address the multitude of policy based audit requirements, and to ease the burden of meeting these requirements, many application developers choose to integrate their applications with enterprise level authentication/access/audit mechanisms that meet or exceed access control policy requirements. Examples include but are not limited to Active Directory and LDAP.\n\nThe application must automatically notify the appropriate individuals when accounts are terminated.",
1916
+ "severity": "medium"
1917
+ },
1918
+ {
1919
+ "id": "V-30584",
1920
+ "title": "Applications utilizing mobile code must meet DoD-defined mobile code requirements.",
1921
+ "description": "Decisions regarding the deployment of mobile code within organizational information systems are based on the potential for the code to cause damage to the system if used maliciously. \n\nMobile code technologies include but are not limited to: Java, JavaScript, ActiveX, PDF, Postscript, Shockwave movies, Flash animations, and VBScript. Usage restrictions and implementation guidance apply to both the selection and use of mobile code installed on organizational servers and mobile code downloaded and executed on individual workstations. \n\nDoDI 8552.01 policy pertains to the use of mobile code technologies within DoD information systems. \n\nApplications utilizing mobile code must meet policy requirements regarding the deployment, and/or use of mobile code. ",
1922
+ "severity": "medium"
1923
+ },
1924
+ {
1925
+ "id": "V-30589",
1926
+ "title": "The application must use cryptographic mechanisms to protect the integrity of audit tools.",
1927
+ "description": "Protecting the integrity of the tools used for auditing purposes is a critical step to ensuring the integrity of audit data. Audit data includes all information (e.g., audit records, audit settings, and audit reports) needed to successfully audit information system activity. \n\nIt is not uncommon for attackers to replace the audit tools or inject code into the existing tools with the purpose of providing the capability to hide or erase system activity from the audit logs. \n\nTo address this risk, audit tools must be cryptographically signed in order to provide the capability to identify when the audit tools have been modified, manipulated or replaced. An example is a checksum hash of the file or files.\n\nApplications that function as audit tools must use cryptographic mechanisms to protect the integrity of the tools or allow cryptographic protection mechanisms to be applied to their tools. All applications must not impede or hamper this requirement.",
1928
+ "severity": "medium"
1929
+ },
1930
+ {
1931
+ "id": "V-30590",
1932
+ "title": "The application must employ automated mechanisms to alert security personnel of inappropriate or unusual activities with security implications.",
1933
+ "description": "Applications will typically utilize logging mechanisms for maintaining a historical log of activity that occurs within the application. This information can then be used for diagnostic purposes, forensics purposes or other purposes relevant to ensuring the availability and integrity of the application. \n\nWhile it is important to log events identified as being critical and relevant to security, it is equally important to notify the appropriate personnel in a timely manner so they are able to respond to events as they occur.\n\nSolutions that include a manual notification procedure do not offer the reliability and speed of an automated notification solution. Applications must employ automated mechanisms to alert security personnel of inappropriate or unusual activities that have security implications. If this capability is not built directly into the application, the application must be able to integrate with existing security infrastructure that provides this capability.",
1934
+ "severity": "medium"
1935
+ },
1936
+ {
1937
+ "id": "V-30592",
1938
+ "title": "Applications utilizing Discretionary Access Control (DAC) must enforce a policy that limits propagation of access rights.",
1939
+ "description": "Discretionary Access Control (DAC) is based on the premise that individual users are \"owners\" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment.\n\nDAC allows the owner to determine who will have access to objects they control. An example of DAC includes user controlled file permissions. DAC models have the potential for the access controls to propagate without limit resulting in unauthorized access to said objects.\n\nWhen applications provide a discretionary access control mechanism, the application must be able to limit the propagation of those access rights.",
1940
+ "severity": "medium"
1941
+ },
1942
+ {
1943
+ "id": "V-30593",
1944
+ "title": "Applications that utilize Discretionary Access Control (DAC) must enforce a policy that Includes or excludes access to the granularity of a single user.",
1945
+ "description": "DAC is based on the notion that individual users are \"owners\" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment.\n\nDAC allows the owner to determine who will have access to objects they control. An example of DAC includes user controlled file permissions.\n\nIncluding or excluding access to the granularity of a single user means providing the capability to either allow or deny access to objects (e.g., files, folders) on a per single user basis.\n\nApplications that utilize Discretionary Access Control (DAC) must enforce a policy that includes or excludes access to the granularity of a single user.",
1946
+ "severity": "medium"
1947
+ },
1948
+ {
1949
+ "id": "V-30596",
1950
+ "title": "The application must ensure the acquisition of mobile code to be deployed in information systems meets organization-defined mobile code requirements.",
1951
+ "description": "Decisions regarding the acquisition of mobile code within organizational information systems need to include evaluations that determine the potential for the code to cause damage to the system if used maliciously. \n\nMobile code technologies include, for example, Java, JavaScript, ActiveX, PDF, Postscript, Shockwave movies, Flash animations, and VBScript. Usage restrictions and implementation guidance apply to both the selection and use of mobile code installed on organizational servers and mobile code downloaded and executed on individual workstations. \n\nDoDI 8552.01 policy pertains to the use of mobile code technologies within DoD information systems. Mobile code that is acquired for use and deployment in DoD information systems must meet DoD policy requirements\n\nThis requirement relates to the acquisition of mobile code. The purpose is to ensure DoD organizations review applications which utilize mobile code to ensure they adhere to DoD mobile code policy prior to acquiring these applications and introducing them into the DoD environment. This is not an application specific requirement and is Not Applicable to applications.",
1952
+ "severity": "medium"
1953
+ },
1954
+ {
1955
+ "id": "V-30597",
1956
+ "title": "The application must prevent the execution of prohibited mobile code.",
1957
+ "description": "Decisions regarding the utilization of mobile code within organizational information systems needs to include evaluations which help determine the potential for the code to cause damage to the system if used maliciously. \n\nMobile code technologies include, for example, Java, JavaScript, ActiveX, PDF, Postscript, Shockwave movies, Flash animations, and VBScript. Usage restrictions and implementation guidance apply to both the selection and use of mobile code installed on organizational servers and mobile code downloaded and executed on individual workstations.\n\nApplications can prevent the execution of prohibited mobile code by leveraging architectures that provide a virtual execution environment sometimes referred to as a \"sandbox\". The mobile code is executed within this isolated environment apart from the hosts indigenous operating environment which allows for mobile code capability restrictions and helps to prevent malicious code from accessing system resources and data. \n\nPolicy and procedures related to mobile code address preventing the introduction of unacceptable mobile code within the information system. The DoDI 8552.01 policy pertains to the use of mobile code technologies within DoD information systems. \n\nThe application must prevent the execution of prohibited mobile code.\n",
1958
+ "severity": "medium"
1959
+ }
1960
+ ]
1961
+ }