diff options
| author | Adam Janovsky | 2022-10-04 14:30:15 +0200 |
|---|---|---|
| committer | Adam Janovsky | 2022-10-04 14:30:15 +0200 |
| commit | 75db582be0a68d762ea9ba89d2ff5613526cd8db (patch) | |
| tree | 17563967089b7d3154bd4e6b302297891e624ae4 | |
| parent | 875f1657f42c9c3f698a4ddd0905e55cd92005eb (diff) | |
| download | sec-certs-75db582be0a68d762ea9ba89d2ff5613526cd8db.tar.gz sec-certs-75db582be0a68d762ea9ba89d2ff5613526cd8db.tar.zst sec-certs-75db582be0a68d762ea9ba89d2ff5613526cd8db.zip | |
prepare code for CPE manual evaluation
| -rw-r--r-- | data/cpe_eval/random.csv | 101 | ||||
| -rw-r--r-- | notebooks/cc/cpe_eval.ipynb | 131 | ||||
| -rw-r--r-- | notebooks/cc/temporal_trends.ipynb | 4 | ||||
| -rw-r--r-- | notebooks/cc/vulnerabilities.ipynb | 17 | ||||
| -rw-r--r-- | notebooks/latex_plotting.ipynb | 2 | ||||
| -rw-r--r-- | sec_certs/config/settings.yaml | 4 | ||||
| -rw-r--r-- | sec_certs/dataset/dataset.py | 8 |
7 files changed, 244 insertions, 23 deletions
diff --git a/data/cpe_eval/random.csv b/data/cpe_eval/random.csv new file mode 100644 index 00000000..0a98305d --- /dev/null +++ b/data/cpe_eval/random.csv @@ -0,0 +1,101 @@ +dgst,cpe_matches +ed3e225330ea92ba,{'cpe:2.3:a:imperva:securesphere:11.5:*:*:*:*:*:*:*'} +becec4ab092863f5,"{'cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:x64:*', 'cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:x86:*'}" +bfad9cf83b8ad085,{'cpe:2.3:a:samsung:knox:1.2.02.39:*:*:*:*:*:*:*'} +f41144f844927ef1,"{'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.00086:*:*:*:*:windows:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.04043:*:*:*:*:windows:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.05042:*:*:*:*:windows:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.03047:*:*:*:*:windows:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.03047:*:*:*:*:macos:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.01095:*:*:*:*:windows:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.03047:*:*:*:*:linux_kernel:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9\\(5086\\):*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9\\(3052\\):*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:anyconnect_secure_mobility_client:4.9.03049:*:*:*:*:windows:*:*'}" +b644b78aafc367b0,{'cpe:2.3:a:redhat:jboss_enterprise_application_platform:6.2.2:*:*:*:*:*:*:*'} +e0be32a08b66d264,"{'cpe:2.3:o:redhat:enterprise_linux:7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:redhat:linux:7.1:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:linux:7:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:linux:7.1:*:*:*:*:*:*:*'}" +22843e80e1e0c5d2,{'cpe:2.3:a:bea:weblogic_platform:8.1:*:*:*:*:*:*:*'} +eeb2e28f54484dc9,"{'cpe:2.3:a:microsoft:sql_server:2012:-:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_server:2012:*:*:*:*:*:*:*', 'cpe:2.3:a:microsoft:sql_server:2012:*:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_server:2012:r2:*:*:*:*:*:*'}" +6d4a3715391db624,"{'cpe:2.3:o:microsoft:windows_server:2012:*:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_server:2012:r2:*:*:*:*:*:*'}" +0785f187bc5d550d,"{'cpe:2.3:o:hp:laserjet_enterprise_m806_firmware:-:*:*:*:*:*:*:*', 'cpe:2.3:o:hp:futuresmart_4:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:laserjet_enterprise_m806:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:laserjet_4:-:*:*:*:*:*:*:*'}" +0d3fbaed08d668e2,{'cpe:2.3:o:hp:futuresmart_4:-:*:*:*:*:*:*:*'} +5e646214ea5b1044,"{'cpe:2.3:o:apple:mac_os:11.4:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:mac_os:11.5:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.0:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.3:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.2:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.5:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:mac_os:11.2:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.6.6:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:mac_os:11.3:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.1:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:mac_os:11.1:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.4:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:macos:11.6:*:*:*:*:*:*:*'}" +fd1a78c4cfc3ce73,{'cpe:2.3:a:oracle:database:10.2.0.3:*:*:*:*:*:*:*'} +33f684e367c142d4,"{'cpe:2.3:o:netapp:element_os:10.3.1:*:*:*:*:*:*:*', 'cpe:2.3:o:netapp:element_os:10.3:*:*:*:*:*:*:*'}" +3e8c0381164e725c,"{'cpe:2.3:h:xerox:workcentre:5665:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre:5645:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre:5675:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre:5655:*:*:*:*:*:*:*'}" +268595dff72078d3,"{'cpe:2.3:h:hp:color_laserjet_enterprise_mfp_m577:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:pagewide_enterprise_color_mfp_586:-:*:*:*:*:*:*:*'}" +9686c5d0a0bb5197,"{'cpe:2.3:h:cisco:nexus_9000:-:*:*:*:*:*:*:*', 'cpe:2.3:h:cisco:nexus_2000:-:*:*:*:*:*:*:*'}" +5a32443b7ba2a43c,"{'cpe:2.3:h:f5:big-ip_protocol_security_manager:10.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:f5:big-ip_local_traffic_manager:10.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:f5:big-ip_protocol_security_module:10.2.2:*:*:*:*:*:*:*'}" +3303a75be8960a6b,{'cpe:2.3:a:emc:vipr_srm:4.0:*:*:*:*:*:*:*'} +77666acfbd865b66,"{'cpe:2.3:a:cisco:prime_infrastructure:3.2\\(2.0\\):*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2_base:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2:fips:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2\\(0.0\\):*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:prime_infrastructure:3.2\\(1.0\\):*:*:*:*:*:*:*'}" +f0fa5d1487859497,{'cpe:2.3:h:xerox:workcentre_5655:-:*:*:*:*:*:*:*'} +58fdc89ee3768634,"{'cpe:2.3:o:apple:iphone_os:14.5.1:*:*:*:*:*:*:*', 'cpe:2.3:o:apple:iphone_os:14.5:*:*:*:*:*:*:*'}" +9939d1e87bb98ebe,"{'cpe:2.3:o:ibm:z\\/os:1.8:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.12:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.3:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.6:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.10:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.11:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.5:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.2:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.9:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.4:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.7:*:*:*:*:*:*:*'}" +bafc9aec08b99262,"{'cpe:2.3:a:gigamon:gigavue:5.9.00.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gigamon:gigavue:5.9:*:*:*:*:*:*:*'}" +908128ea95f94b09,{'cpe:2.3:o:juniper:junos:19.3:-:*:*:*:*:*:*'} +02ee895cd5a94793,"{'cpe:2.3:h:cisco:catalyst_3650:-:*:*:*:*:*:*:*', 'cpe:2.3:h:cisco:catalyst_3850:-:*:*:*:*:*:*:*'}" +c2eafdfea336ae85,{'cpe:2.3:a:primekey:ejbca:7.4.1:*:*:*:enterprise:*:*:*'} +5e9eab631db3c27f,"{'cpe:2.3:a:microsoft:active_directory_federation_services:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:microsoft:excel:2.0:*:*:*:*:*:*:*'}" +c6e205ed4cf148f5,"{'cpe:2.3:a:vmware:horizon_client:4.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:vmware:horizon:7.3:*:*:*:*:*:*:*'}" +f6af10cec01d965e,"{'cpe:2.3:a:fortinet:fortianalyzer:5.6.6:*:*:*:*:*:*:*', 'cpe:2.3:a:fortinet:fortimanager:5.6.6:*:*:*:*:*:*:*'}" +b7f814ed16f2ecca,{'cpe:2.3:a:clavister:cos_core:12.00.00:*:*:*:*:*:*:*'} +fee9778a4830abdd,{'cpe:2.3:o:juniper:junos:14.2:-:*:*:*:*:*:*'} +b81b515ce712c6b7,"{'cpe:2.3:h:hp:laserjet_enterprise_m608:-:*:*:*:*:*:*:*', 'cpe:2.3:o:hp:laserjet_enterprise_m609_firmware:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:laserjet_enterprise_m609:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:laserjet_enterprise_m607:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:laserjet_4:-:*:*:*:*:*:*:*', 'cpe:2.3:o:hp:futuresmart_4:-:*:*:*:*:*:*:*', 'cpe:2.3:o:hp:laserjet_enterprise_m607_firmware:-:*:*:*:*:*:*:*', 'cpe:2.3:o:hp:laserjet_enterprise_m608_firmware:-:*:*:*:*:*:*:*'}" +edce62ced3b50eb7,{'cpe:2.3:a:ibm:db2_universal_database:8.2:*:*:*:*:*:*:*'} +8e7fc995564ffe31,"{'cpe:2.3:a:google:android_api:12.0:*:*:*:*:*:*:*', 'cpe:2.3:o:google:android:12.0:*:*:*:*:*:*:*'}" +ba4b6de88757ad8c,"{'cpe:2.3:o:lexmark:mx722_firmware:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx722:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx721:-:*:*:*:*:*:*:*', 'cpe:2.3:o:lexmark:mx721_firmware:-:*:*:*:*:*:*:*'}" +0ff82b1cc24b3105,{'cpe:2.3:a:ibm:aix_5l:-:*:*:*:*:*:*:*'} +893be82a6b027186,"{'cpe:2.3:a:cisco:vpn_client:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:vpn_client:5.0.03.0560:*:*:*:*:*:*:*'}" +495c0da27cb35c00,{'cpe:2.3:a:tenable:nessus:4.4.1.15078:*:*:*:*:*:x64:*'} +1e5d8721adb66043,"{'cpe:2.3:a:citrix:presentation_server:4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:management_console_for_metaframe_presentation_server:4.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:metaframe:4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:metaframe_presentation_server:4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:metaframe_presentation_server_for_windows:4.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:web_interface_for_metaframe_presentation_server:4.0.45083\\#28412:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:metaframe_presentation_server_for_windows:4.0.7:*:*:*:*:*:*:*'}" +370d590d42b7d9f3,"{'cpe:2.3:o:redhat:enterprise_linux_server_tus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:a:redhat:enterprise_linux_server_update_services_for_sap_solutions:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_for_power_big_endian_eus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_server_update_services_for_sap_solutions:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_server_eus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_for_ibm_z_systems_eus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_server_for_power_little_endian_update_services_for_sap_solutions:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:linux:7:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_for_real_time_for_nfv:7:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_server:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_server_for_power_little_endian:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_server_aus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_tus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_for_real_time:7:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_eus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_openstack_platform:7:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_compute_node_eus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_for_power_big_endian_eus:7.6_ppc64:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_hpc_node_eus:7:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_for_power_little_endian_eus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_aus:7.6:*:*:*:*:*:*:*', 'cpe:2.3:o:redhat:enterprise_linux_desktop:7:*:*:*:*:*:*:*'}" +28a2b2549990a711,"{'cpe:2.3:a:unisys:stealth:4.0.114:*:*:*:*:*:*:*', 'cpe:2.3:a:unisys:stealth:4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unisys:stealth:4.0.027.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unisys:stealth:4.0.134:*:*:*:*:*:*:*', 'cpe:2.3:a:unisys:stealth:4.0.131:*:*:*:*:*:*:*'}" +1092b91c4d853106,{'cpe:2.3:o:cisco:ios_xr:12.4:*:*:*:*:*:*:*'} +3f039f69a0665170,{'cpe:2.3:a:samsung:knox:1.0:*:*:*:*:*:*:*'} +129481739aabc8df,"{'cpe:2.3:h:lexmark:cs622:-:*:*:*:*:*:*:*', 'cpe:2.3:o:lexmark:cs622_firmware:-:*:*:*:*:*:*:*'}" +854f4851530238f8,{'cpe:2.3:h:kyocera:taskalfa_5052ci:-:*:*:*:*:*:*:*'} +0103071bf39bf8c2,"{'cpe:2.3:a:symantec:message_gateway:10.6.1-3:*:*:*:*:*:*:*', 'cpe:2.3:a:symantec:message_gateway:10.6:*:*:*:*:*:*:*', 'cpe:2.3:a:symantec:message_gateway_for_service_providers:10.6:*:*:*:*:*:*:*', 'cpe:2.3:a:symantec:message_gateway:10.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:symantec:messaging_gateway:10.6.1:*:*:*:*:*:*:*'}" +cbdba17c06d06fac,"{'cpe:2.3:h:xerox:workcentre_7225:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre_7220:-:*:*:*:*:*:*:*'}" +c93ab87c8c28856f,"{'cpe:2.3:a:google:android_api:11.0:*:*:*:*:*:*:*', 'cpe:2.3:o:google:android:11.0:*:*:*:*:*:*:*'}" +83e595d2b5e3d74f,{'cpe:2.3:o:watchguard:fireware:11.5.1:*:*:*:*:*:*:*'} +0a3793d207c47790,"{'cpe:2.3:a:mcafee:email_gateway:7.0.1:*:*:*:*:*:*:*', 'cpe:2.3:h:mcafee:web_gateway:7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:security_center:7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:email_gateway:7.0:*:*:*:*:*:*:*'}" +7e1a44114c80a5b2,"{'cpe:2.3:o:cisco:ios_xe:17.3.3a:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:ios_xe:17.3.3:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.2a:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.1x:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.1w:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:ios_xe:17.3:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.1a:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.1:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.1z:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:17.3.2:*:*:*:*:*:*:*'}" +0d33e68859fe5b33,"{'cpe:2.3:a:bmc:bladelogic_server_automation_console:8.3.02:*:*:*:*:*:*:*', 'cpe:2.3:a:bmc:bladelogic_server_automation_console:8.3.00:*:*:*:*:*:*:*', 'cpe:2.3:a:bmc:bladelogic_server_automation_console:8.3.03:*:*:*:*:*:*:*', 'cpe:2.3:a:bmc:bladelogic_server_automation_console:8.3.01:*:*:*:*:*:*:*'}" +1783abbe873fb8be,"{'cpe:2.3:o:sun:solaris:8.1:*:*:*:*:*:*:*', 'cpe:2.3:o:sun:solaris:8.2:*:*:*:*:*:*:*', 'cpe:2.3:o:sun:solaris:8.0:*:*:*:*:*:*:*', 'cpe:2.3:o:sun:solaris:4.1.1:*:*:*:*:*:*:*', 'cpe:2.3:o:sun:solaris:8:*:*:*:*:*:*:*'}" +435d9d1457653dfd,"{'cpe:2.3:a:forcepoint:next_generation_firewall:6.10.1:*:*:*:*:*:*:*', 'cpe:2.3:a:forcepoint:next_generation_firewall:6.10.0:*:*:*:*:*:*:*', 'cpe:2.3:a:forcepoint:next_generation_firewall:6.10.2:*:*:*:*:*:*:*'}" +28bb2a8869397c4c,"{'cpe:2.3:a:oracle:database_server:8.0.5:*:*:*:*:*:*:*', 'cpe:2.3:a:oracle:database_server:8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:oracle:database_server:8:*:*:*:*:*:*:*'}" +f3d1f7d2a741549a,"{'cpe:2.3:a:citrix:presentation_server_for_windows:4.5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_for_windows:4.5.6:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_for_windows:4.5.7:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_presentation_server_reports:4.5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_for_windows:4.5.8:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_administration_snap-in:4.5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server:4.5:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:metaframe_presentation_server:4.5:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:management_console_for_citrix_presentation_server:4.5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_document_center:4.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:edgesight_for_presentation_server:4.5:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:management_console_for_citrix_presentation_server:4.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:presentation_server_document_center:4.5.1:*:*:*:*:*:*:*'}" +66c2b4f175819960,"{'cpe:2.3:a:blackberry:unified_endpoint_management:12.8:*:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.10:*:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.12.0:-:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.7:*:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.11.1:-:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.13.0:-:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.10.1a:*:*:*:*:*:*:*', 'cpe:2.3:a:blackberry:unified_endpoint_management:12.9:*:*:*:*:*:*:*'}" +2f5789b225af5694,{'cpe:2.3:a:cisco:firepower:6.4.0:*:*:*:*:*:*:*'} +c57b9308028caccf,"{'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p2:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p7:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p14:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p13:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p1:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p5:*:*:*:*:*:*', 'cpe:2.3:o:netapp:clustered_data_ontap:9.1:p19:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:rc2:*:*:*:*:*:*', 'cpe:2.3:o:netapp:clustered_data_ontap:9.1:*:*:*:*:*:*:*', 'cpe:2.3:o:netapp:clustered_data_ontap:9.1:p18:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:-:*:*:*:*:*:*', 'cpe:2.3:o:netapp:clustered_data_ontap:9.1:p20:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p4:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p6:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p9:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p8:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p15:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p3:*:*:*:*:*:*', 'cpe:2.3:a:netapp:data_ontap:9.1:*:*:*:*:*:*:*', 'cpe:2.3:o:netapp:clustered_data_ontap:9.1:-:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p10:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:rc1:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p11:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p16:*:*:*:*:*:*', 'cpe:2.3:a:netapp:clustered_data_ontap:9.1:p12:*:*:*:*:*:*', 'cpe:2.3:o:netapp:clustered_data_ontap:9.1:p15:*:*:*:*:*:*'}" +df0370c328effb92,"{'cpe:2.3:o:suse:linux_enterprise_server:15:sp1:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:*:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp2:*:*:business_critical_linux:-:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:-:*:*:ltss:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp1:*:*:ltss:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:*:*:*:*:sap:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp5:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:*:*:*:ltss:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp3:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise:15.0:*:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp4:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp2:*:*:*:-:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:*:*:*:*:ltss:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp2:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp2:*:*:ltss:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:-:*:*:espos:*:*:*', 'cpe:2.3:o:suse:suse_linux_enterprise_server:15:*:*:*:*:*:*:*', 'cpe:2.3:o:suse:suse_linux_enterprise_server:15:sp1:*:*:*:*:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp1:*:*:business_critical_linux:-:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp1:*:*:-:-:*:*', 'cpe:2.3:o:suse:linux_enterprise_server:15:sp2:*:*:*:sap:*:*', 'cpe:2.3:o:suse:suse_linux_enterprise_server:15:sp3:*:*:*:*:*:*'}" +f3a461d6bf980196,{'cpe:2.3:o:citrix:netscaler_firmware:9.1:*:*:*:*:*:*:*'} +287695704a721905,"{'cpe:2.3:o:cisco:ios_xe:16.6.9:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.7a:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:ios_xe:16.6.2:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.6:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.3:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.5:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.2:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:ios_xe:16.6.1:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.5a:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.4:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.8:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.1a:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.1:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.5b:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.4a:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.4s:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:ios_xe:16.6.7:*:*:*:*:*:*:*'}" +18e5179ba124af1d,"{'cpe:2.3:o:juniper:junos:12.1:*:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:12.1:-:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:12.1r:*:*:*:*:*:*:*'}" +17607d6e8c79fe05,"{'cpe:2.3:h:hp:laserjet_m4345_mfp:-:*:*:*:*:*:*:*', 'cpe:2.3:h:hp:laserjet_m5035_mfp:-:*:*:*:*:*:*:*'}" +979357f42415d6d8,{'cpe:2.3:h:lg:v30\\+:-:*:*:*:*:*:*:*'} +789564ffe9bfea87,{'cpe:2.3:h:nokia:1830_photonic_service_switch-32:-:*:*:*:*:*:*:*'} +26b7973a845a68d6,"{'cpe:2.3:a:cisco:email_security_appliance:7.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:email_security_appliance:7.1.3:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:email_security_appliance_firmware:7.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cisco:email_security_appliance:7.1.1:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:email_security_appliance_firmware:7.1.3:*:*:*:*:*:*:*', 'cpe:2.3:o:cisco:email_security_appliance_firmware:7.1.1:*:*:*:*:*:*:*'}" +9fc3661a70580d0d,"{'cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:x64:*', 'cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:x86:*'}" +8cfb943de1ca8e41,"{'cpe:2.3:h:xerox:altalink_c8045:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:altalink_c8070:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:atlalink_c8030:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:altalink_c8035:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:altalink_c8030:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:altalink_c8055:-:*:*:*:*:*:*:*'}" +451e0806dfcfd29d,{'cpe:2.3:a:pandasecurity:panda_adaptive_defense_360:8.0.17:*:*:*:*:*:*:*'} +770f2b13b0723e49,"{'cpe:2.3:o:juniper:junos:20.3:r2:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r3-s3:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:-:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r3-s1:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r2-s1:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r3:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r3-s2:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r1-s2:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r1:*:*:*:*:*:*', 'cpe:2.3:o:juniper:junos:20.3:r1-s1:*:*:*:*:*:*'}" +a94f3463bd227935,"{'cpe:2.3:a:acronis:cyber_backup:12.5:11010:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:16180:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:14330:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:8850:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:14280:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:9010:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:16327:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:7641:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:-:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:10130:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:16318:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:10330:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:13160:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:7970:*:*:*:*:*:*', 'cpe:2.3:a:acronis:cyber_backup:12.5:13400:*:*:*:*:*:*'}" +a92fe4e09a418288,{'cpe:2.3:a:hp:asset_manager:9.50:*:*:*:*:*:*:*'} +dc75a9687cef3288,"{'cpe:2.3:a:oracle:weblogic_server_proxy_plug-in:12.1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:oracle:weblogic_server:12.1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:oracle:weblogic_server:12.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:oracle:weblogic_server:12.1.3.0.0:*:*:*:*:*:*:*'}" +ce504241f1c04e66,{'cpe:2.3:o:citrix:netscaler_firmware:10.0:*:*:*:*:*:*:*'} +1123d3a2653e7711,"{'cpe:2.3:h:xerox:workcentre_7855:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre_7845i:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre_7855i:-:*:*:*:*:*:*:*', 'cpe:2.3:h:xerox:workcentre_7845:-:*:*:*:*:*:*:*'}" +fc64674fe7ede43b,"{'cpe:2.3:a:microsoft:sql_server:2016:*:*:*:*:*:*:*', 'cpe:2.3:a:microsoft:sql_server:2016:-:*:*:*:*:*:*'}" +f621ca835cf98a6d,"{'cpe:2.3:o:ibm:z\\/os:1.8:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.12:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.3:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.6:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.13:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.10:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.11:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.5:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.2:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.9:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.4:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.7:*:*:*:*:*:*:*'}" +482919a6159cf398,"{'cpe:2.3:h:hp:9000:-:*:*:*:*:*:*:*', 'cpe:2.3:a:hp:p9000_command_view_advanced_edition_software:-:*:*:*:*:*:*:*'}" +4cddc91dd1baf20a,"{'cpe:2.3:h:fujixerox:apeosport_3060:-:*:*:*:*:*:*:*', 'cpe:2.3:h:fujixerox:docucentre-v_3065:-:*:*:*:*:*:*:*'}" +d3323745a51a604d,{'cpe:2.3:a:infineon:rsa_library:1.02.013:*:*:*:*:*:*:*'} +d0ab7ad11ed94a08,"{'cpe:2.3:o:ibm:z\\/os:1.8:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.12:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.3:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.6:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.10:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.11:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.5:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.2:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.9:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.4:*:*:*:*:*:*:*', 'cpe:2.3:o:ibm:z\\/os:1.7:*:*:*:*:*:*:*'}" +27544f52a5cb3875,{'cpe:2.3:h:ricoh:mp_c2003:-:*:*:*:*:*:*:*'} +f89c3a438204a45b,"{'cpe:2.3:h:lexmark:mx810:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xm7155:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xm7170:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xm7163:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx812:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xc2132:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xm9155:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx811:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xm9145:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx911:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx910:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:xm9165:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx912:-:*:*:*:*:*:*:*'}" +7e664d089ed905a5,"{'cpe:2.3:o:sonicwall:sonicos:6.2.5.3:*:*:*:*:*:*:*', 'cpe:2.3:o:sonicwall:sonicos:6.2.5.0:*:*:*:*:*:*:*'}" +e93d9f67292a22cc,{'cpe:2.3:a:tenable:nessus:8.11.1:*:*:*:*:*:*:*'} +5c3c5ae929b50352,"{'cpe:2.3:a:microsoft:windows_mobile:5.0:*:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_mobile:5.0:*:pocket_pc:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_mobile:5.0:*:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_ce:5.0:*:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows-ce:5.0:*:*:*:*:*:*:*', 'cpe:2.3:o:microsoft:windows_mobile:5.0:*:smartphone:*:*:*:*:*'}" +8b6133628e7d8351,"{'cpe:2.3:h:lexmark:c79x:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cx923:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cx625:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:c95x:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cx924:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cx622:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:c762:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cx921:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:x652:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cs622:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx826:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:cx922:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx822:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:x862:-:*:*:*:*:*:*:*', 'cpe:2.3:h:lexmark:mx522:-:*:*:*:*:*:*:*'}" +bf0f130ebce2e124,"{'cpe:2.3:a:ibm:websphere_application_server:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ibm:websphere_mq:6.0.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ibm:websphere_mq:6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ibm:websphere_portal_unified_task_list_portlet:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ibm:websphere_application_server:6.0.1.1:*:*:*:*:*:*:*'}" +a67614bd685d7dfc,"{'cpe:2.3:h:cisco:catalyst_6500-e:-:*:*:*:*:*:*:*', 'cpe:2.3:h:cisco:catalyst_6500:-:*:*:*:*:*:*:*'}" +fd34fcd8a64e1253,"{'cpe:2.3:a:citrix:xenserver:6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:citrix:xenserver:6.0.2:*:*:*:*:*:*:*'}" +bfc86f14e2484335,"{'cpe:2.3:a:mcafee:application_change_control:8.0.0:hotfix3:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:epolicy_orchestrator:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:application_and_change_control:8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:application_change_control:8.0.0:hotfix2:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:application_change_control:8.0.0:hotfix5:*:*:*:*:*:*', 'cpe:2.3:a:mcafee:application_change_control:8.0.0:-:*:*:*:*:*:*'}" +f6a0156714508a75,"{'cpe:2.3:o:netapp:element_os:8.0:*:*:*:*:*:*:*', 'cpe:2.3:o:netapp:element_os:8.0.1:*:*:*:*:*:*:*'}" +a182266a61c97e00,"{'cpe:2.3:a:bea:weblogic_portal:8.1:sp2:*:*:*:*:*:*', 'cpe:2.3:a:bea:weblogic_portal:8.1:sp3:*:*:*:*:*:*', 'cpe:2.3:a:bea:weblogic_portal:8.1:sp5:*:*:*:*:*:*', 'cpe:2.3:a:bea:weblogic_portal:8.1:*:*:*:*:*:*:*', 'cpe:2.3:a:bea:weblogic_portal:8.1:sp1:*:*:*:*:*:*', 'cpe:2.3:a:bea:weblogic_portal:8.1:sp4:*:*:*:*:*:*'}" +b24a14935edd51ad,"{'cpe:2.3:h:nxp:j3d082_m60:-:*:*:*:*:*:*:*', 'cpe:2.3:h:nxp:j3d145_m59:-:*:*:*:*:*:*:*', 'cpe:2.3:h:nxp:j3d120_m60:-:*:*:*:*:*:*:*', 'cpe:2.3:h:nxp:j2d145_m59:-:*:*:*:*:*:*:*', 'cpe:2.3:h:nxp:j2d120_m60:-:*:*:*:*:*:*:*', 'cpe:2.3:h:nxp:j2d082_m60:-:*:*:*:*:*:*:*'}" +ddbdaf31570c65e8,"{'cpe:2.3:a:landesk:landesk_management_suite:8.7:*:*:*:*:*:*:*', 'cpe:2.3:a:landesk:landesk_management_suite:8.8:*:*:*:*:*:*:*'}" +3c0ad7156491cc68,"{'cpe:2.3:a:netiq:security_manager:6.5.3.149:*:*:*:*:*:*:*', 'cpe:2.3:a:netiq:security_manager_agent:6.5.3.149:*:*:*:*:*:*:*'}" +000c322098e4b530,{'cpe:2.3:a:cisco:unified_communications_manager:11.0:*:*:*:*:*:*:*'} +8ce134684a5ee3c4,{'cpe:2.3:a:citrix:xendesktop:4.0:*:*:*:*:*:*:*'} diff --git a/notebooks/cc/cpe_eval.ipynb b/notebooks/cc/cpe_eval.ipynb new file mode 100644 index 00000000..db256c6e --- /dev/null +++ b/notebooks/cc/cpe_eval.ipynb @@ -0,0 +1,131 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Manual CPE matching evaluation\n", + "\n", + "This notebook assists the manual matching evaluation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from sec_certs.dataset import CCDataset\n", + "import pandas as pd\n", + "import json" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prepare the input data for label studio" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dset = CCDataset.from_web_latest()\n", + "df = dset.to_pandas()\n", + "\n", + "eval_digests = pd.read_csv(\"./../../data/cpe_eval/random.csv\").set_index(\"dgst\").index\n", + "eval_certs = df.loc[df.index.isin(eval_digests)]\n", + "\n", + "# It may be handy to display max number of assigned cpe matches here\n", + "eval_certs[\"n_cpes\"] = eval_certs.cpes.map(lambda x: len(x))\n", + "max_n_cpes = eval_certs.n_cpes.max()\n", + "\n", + "# Now you may want to adjust the key `cpe_n_max_matches` config in sec_certs/config/settings.yml\n", + "# This helps to avoid clutter in label studio interface\n", + "\n", + "dset.certs = {x.dgst: x for x in dset if x.dgst in eval_certs.index.tolist()}\n", + "dset.to_label_studio_json(\"./label_studio_input_data.json\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`Now you import this data to label studio and label it`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load the data from label studio and show the results" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with open(\"/Users/adam/Downloads/cpe_hundred.json\", \"r\") as handle:\n", + " data = json.load(handle)\n", + "\n", + "\n", + "results = []\n", + "for sample in data:\n", + " option_keys = [key for key in sample.keys() if \"option_\" in key]\n", + " n_cpe_matches = len([sample[key] for key in option_keys if sample[key] != \"No good match\"])\n", + "\n", + " if not \"verified_cpe_match\" in sample.keys():\n", + " n_wrong = 0\n", + " elif isinstance(sample[\"verified_cpe_match\"], str):\n", + " n_wrong = 1\n", + " else:\n", + " n_wrong = len(sample[\"verified_cpe_match\"])\n", + "\n", + " results.append([n_cpe_matches, n_wrong])\n", + "\n", + " #if isinstance(sample[\"verified_cpe_match\"], str)\n", + "\n", + "correct = [x[0] for x in results]\n", + "wrong = [x[1] for x in results]\n", + "n_candidates = [x[0] + x[1] for x in results]\n", + "completely_right = [x == 0 for x in wrong]\n", + "\n", + "print(f\"Evaluated {sum(n_candidates)} CPE matches in {len(results)} certificates\")\n", + "print(f\"In total, {sum(correct)} ({(100 * sum(correct) / sum(n_candidates)):.2f}%) are correct (precision of the positive class).\")\n", + "print(f\"Also, {sum(completely_right)} ({(100 * sum(completely_right) / len(n_candidates)):.2f}%) certificates have perfect matches.\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.8.13 ('venv': venv)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "a5b8c5b127d2cfe5bc3a1c933e197485eb9eba25154c3661362401503b4ef9d4" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/cc/temporal_trends.ipynb b/notebooks/cc/temporal_trends.ipynb index 1be4bac2..e7feacbd 100644 --- a/notebooks/cc/temporal_trends.ipynb +++ b/notebooks/cc/temporal_trends.ipynb @@ -59,7 +59,7 @@ "long_categories = {'Access Control Devices and Systems': 'Access control',\n", " 'Biometric Systems and Devices': 'Biometrics',\n", " 'Boundary Protection Devices and Systems': 'Boundary protection',\n", - " 'ICs, Smart Cards and Smart Card-Related Devices and Systems': 'ICs, Smartcards',\n", + " 'ICs, Smart Cards and Smart Card-Related Devices and Systems': 'ICs and Smartcards',\n", " 'Network and Network-Related Devices and Systems': 'Network(-related) devices',\n", "}\n", "\n", @@ -269,7 +269,7 @@ " g.fig.suptitle('Average EAL between categories')\n", " plt.show()\n", "\n", - "avg_levels[\"smartcard_category\"] = avg_levels.category.map(lambda x: x if x == \"ICs, Smartcards\" else \"Other 14 categories\")\n", + "avg_levels[\"smartcard_category\"] = avg_levels.category.map(lambda x: x if x == \"ICs and Smartcards\" else \"Other 14 categories\")\n", "line = sns.lineplot(data=avg_levels, x=\"year_from\", y=\"eal_number\", hue=\"smartcard_category\", ci=None, style=\"smartcard_category\", markers=True)\n", "line.legend(title=\"Category\", bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)\n", "line.set(xlabel=\"Year of certification\", ylabel=\"Average security level EAL1-EAL7+\", title=\"Average EAL over time\")\n", diff --git a/notebooks/cc/vulnerabilities.ipynb b/notebooks/cc/vulnerabilities.ipynb index 5d9ab1ef..6ea04cf0 100644 --- a/notebooks/cc/vulnerabilities.ipynb +++ b/notebooks/cc/vulnerabilities.ipynb @@ -902,7 +902,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 36, "metadata": {}, "outputs": [ { @@ -921,19 +921,6 @@ "max 3752 days 00:00:00\n", "Name: time_to_fix_cve, dtype: object\n" ] - }, - { - "ename": "FileNotFoundError", - "evalue": "[Errno 2] No such file or directory: 'results/certs/maintenances/reports/pdf/cert_0159438014a94e93_update_e5388bce562ec8db.pdf'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m/Users/adam/phd/projects/certificates/sec-certs/notebooks/cc/vulnerabilities.ipynb Cell 21\u001b[0m in \u001b[0;36m<cell line: 10>\u001b[0;34m()\u001b[0m\n\u001b[1;32m <a href='vscode-notebook-cell:/Users/adam/phd/projects/certificates/sec-certs/notebooks/cc/vulnerabilities.ipynb#X26sZmlsZQ%3D%3D?line=7'>8</a>\u001b[0m updates_that_should_fix_vulns_path \u001b[39m=\u001b[39m RESULTS_DIR \u001b[39m/\u001b[39m \u001b[39m\"\u001b[39m\u001b[39mupdates_that_should_fix_vulns\u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m <a href='vscode-notebook-cell:/Users/adam/phd/projects/certificates/sec-certs/notebooks/cc/vulnerabilities.ipynb#X26sZmlsZQ%3D%3D?line=8'>9</a>\u001b[0m updates_that_should_fix_vulns_path\u001b[39m.\u001b[39mmkdir(exist_ok\u001b[39m=\u001b[39m\u001b[39mTrue\u001b[39;00m)\n\u001b[0;32m---> <a href='vscode-notebook-cell:/Users/adam/phd/projects/certificates/sec-certs/notebooks/cc/vulnerabilities.ipynb#X26sZmlsZQ%3D%3D?line=9'>10</a>\u001b[0m mu_filenames \u001b[39m=\u001b[39m move_fixing_mu_to_directory(df_fixed, main_dset\u001b[39m.\u001b[39;49mto_pandas(), updates_that_should_fix_vulns_path, RESULTS_DIR \u001b[39m/\u001b[39;49m \u001b[39m\"\u001b[39;49m\u001b[39mcerts/maintenances/reports/pdf\u001b[39;49m\u001b[39m\"\u001b[39;49m)\n", - "File \u001b[0;32m~/phd/projects/certificates/sec-certs/sec_certs/utils/pandas.py:439\u001b[0m, in \u001b[0;36mmove_fixing_mu_to_directory\u001b[0;34m(df_fixed, main_df, outdir, inpath)\u001b[0m\n\u001b[1;32m 436\u001b[0m inpath\u001b[39m.\u001b[39mmkdir()\n\u001b[1;32m 438\u001b[0m \u001b[39mfor\u001b[39;00m i \u001b[39min\u001b[39;00m mu_filenames:\n\u001b[0;32m--> 439\u001b[0m copyfile(inpath \u001b[39m/\u001b[39;49m i, Path(outdir) \u001b[39m/\u001b[39;49m i)\n\u001b[1;32m 441\u001b[0m \u001b[39mreturn\u001b[39;00m mu_filenames\n", - "File \u001b[0;32m~/.pyenv/versions/3.8.13/lib/python3.8/shutil.py:264\u001b[0m, in \u001b[0;36mcopyfile\u001b[0;34m(src, dst, follow_symlinks)\u001b[0m\n\u001b[1;32m 262\u001b[0m os\u001b[39m.\u001b[39msymlink(os\u001b[39m.\u001b[39mreadlink(src), dst)\n\u001b[1;32m 263\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[0;32m--> 264\u001b[0m \u001b[39mwith\u001b[39;00m \u001b[39mopen\u001b[39;49m(src, \u001b[39m'\u001b[39;49m\u001b[39mrb\u001b[39;49m\u001b[39m'\u001b[39;49m) \u001b[39mas\u001b[39;00m fsrc, \u001b[39mopen\u001b[39m(dst, \u001b[39m'\u001b[39m\u001b[39mwb\u001b[39m\u001b[39m'\u001b[39m) \u001b[39mas\u001b[39;00m fdst:\n\u001b[1;32m 265\u001b[0m \u001b[39m# macOS\u001b[39;00m\n\u001b[1;32m 266\u001b[0m \u001b[39mif\u001b[39;00m _HAS_FCOPYFILE:\n\u001b[1;32m 267\u001b[0m \u001b[39mtry\u001b[39;00m:\n", - "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'results/certs/maintenances/reports/pdf/cert_0159438014a94e93_update_e5388bce562ec8db.pdf'" - ] } ], "source": [ @@ -946,7 +933,7 @@ "print(df_fixed.loc[~df_fixed.time_to_fix_cve.isnull()]['time_to_fix_cve'].describe())\n", "updates_that_should_fix_vulns_path = RESULTS_DIR / \"updates_that_should_fix_vulns\"\n", "updates_that_should_fix_vulns_path.mkdir(exist_ok=True)\n", - "mu_filenames = move_fixing_mu_to_directory(df_fixed, main_dset.to_pandas(), updates_that_should_fix_vulns_path, RESULTS_DIR / \"certs/maintenances/reports/pdf\")" + "mu_filenames = move_fixing_mu_to_directory(df_fixed, main_dset.to_pandas(), updates_that_should_fix_vulns_path, \"/Users/adam/phd/projects/certificates/sec-certs/datasets/new_cc/certs/maintenances/reports/pdf/\")" ] }, { diff --git a/notebooks/latex_plotting.ipynb b/notebooks/latex_plotting.ipynb index c619ec68..25a3823a 100644 --- a/notebooks/latex_plotting.ipynb +++ b/notebooks/latex_plotting.ipynb @@ -407,7 +407,7 @@ "source": [ "n_certs = pd.read_csv(RESULTS_DIR / \"popular_categories.csv\").astype({\"year_from\": \"category\"})\n", "dct = {\n", - " \"ICs, Smart Cards and Smart Card-Related Devices and Systems\": \"ICs, Smart Cards\",\n", + " \"ICs, Smart Cards and Smart Card-Related Devices and Systems\": \"ICs and Smart Cards\",\n", " \"Network and Network-Related Devices and Systems\": \"Network-Related Devices\",\n", " \"Other Devices and Systems\": \"Other Devices\",\n", " \"One of 11 other categories\": \"11 Other Categories\",\n", diff --git a/sec_certs/config/settings.yaml b/sec_certs/config/settings.yaml index 6a7f9d6b..8a4cc33d 100644 --- a/sec_certs/config/settings.yaml +++ b/sec_certs/config/settings.yaml @@ -17,10 +17,10 @@ n_threads: value: 8 cpe_matching_threshold: description: Level of required string similarity between CPE and certificate name on CC CPE matching, 0-100. Lower values yield more false negatives, higher values more false positives - value: 90 + value: 100 cpe_n_max_matches: description: Maximum number of candidate CPE items that may be related to given certificate, >0 - value: 100 + value: 99 cc_latest_snapshot: description: Url from where to fetch the latest snapshot of fully processed CC dataset value: https://seccerts.org/cc/dataset.json diff --git a/sec_certs/dataset/dataset.py b/sec_certs/dataset/dataset.py index 38b434ba..f20ce5e7 100644 --- a/sec_certs/dataset/dataset.py +++ b/sec_certs/dataset/dataset.py @@ -244,12 +244,14 @@ class Dataset(Generic[CertSubType], ABC): return clf, cpe_dset, cve_dset def to_label_studio_json(self, output_path: Union[str, Path]) -> None: + cpe_dset = self._prepare_cpe_dataset() + lst = [] for cert in [x for x in cast(Iterator[Certificate], self) if x.heuristics.cpe_matches]: dct = {"text": cert.label_studio_title} - candidates = [x[1].title for x in cert.heuristics.cpe_matches] - candidates += ["No good match"] * (config.cc_cpe_max_matches - len(candidates)) - options = ["option_" + str(x) for x in range(1, 21)] + candidates = [cpe_dset[x].title for x in cert.heuristics.cpe_matches] + candidates += ["No good match"] * (config.cpe_n_max_matches - len(candidates)) + options = ["option_" + str(x) for x in range(1, config.cpe_n_max_matches)] dct.update({o: c for o, c in zip(options, candidates)}) lst.append(dct) |
