Visualizations in Vulnerability Management Marco Krebs
Total Page:16
File Type:pdf, Size:1020Kb
Visualizations in Vulnerability Management Marco Krebs Technical Report RHUL–MA–2013– 8 01 May 2013 Information Security Group Royal Holloway, University of London Egham, Surrey TW20 0EX, United Kingdom www.ma.rhul.ac.uk/tech Title Visualizations in Vulnerability Management Version of this document 1.0 (released) Student Marco Krebs Student number 080401461 Date March 08, 2012 Supervisor William Rothwell Submitted as part of the requirements for the award of the MSc in Information Security of the University of London. ! Acknowledgements ACKNOWLEDGEMENTS! This is the place to express my thanks to all the people who have supported me over the last couple of months. However, I would like to single out a few names. For example, there is Marc Ruef with whom I touched base on the initial idea for this thesis during a lunch discussion. We share a similar experience on security testing and found out that we were both not fully satisfied with the way the results are provided to the client. Another thank you goes to Jan Monsch, the creator of DAVIX. He was able to draw my attention to the subject of visualization when we worked together as security analysts. Quite a few items of his personal library moved to my place for the duration of this thesis. I would also like to thank William Rothwell for becoming my project supervisor and for his ongoing support. He received the first status report in October last year and has been providing valuable feedback since. Few people have read the project report as many times as he did. Bruno, your tough feedback has been very much appreciated. Now I know why you have been so successful in your job over the last couple of years. You have been officially elected to be on the reviewer’s list for the next one. Greg surprised me again with his speed and professionalism when it came to reviewing about 100 pages in a row. I would like to say thanks as well to Christoph and Didi who have voluntarily helped with the proof-reading of this document. And last, but not least, a huge thank you goes to Sue for her love and support over the years of study (and beyond). Now the duty is on her as she has become a student, too. Visualizations in vulnerability management Page 1 of 96 Table of contents, list of tables, list of figures, terms and definitions TABLE!OF!CONTENTS! EXECUTIVE SUMMARY 7! 1! INTRODUCTION 8! 1.1! MOTIVATION 8! 1.2! BACKGROUND 8! 1.3! OBJECTIVES/PROJECT GOALS 9! 1.4! PROJECT SCOPE 10! 1.5! METHODS USED 11! 1.6! DOCUMENT OUTLINE 11! 2! BASIC VISUALIZATION THEORY 12! 2.1! BENEFITS OF VISUALIZATION 12! 2.2! VISUAL PERCEPTION 13! 2.3! RULES TO CREATE A VISUAL REPRESENTATION 14! 2.4! CONCLUSION 17! 3! VISUALIZATIONS FOR VULNERABILITY MANAGEMENT 18! 3.1! THE INFORMATION VISUALIZATION PROCESS 18! 3.2! VISUALIZATIONS COMMONLY USED IN VULNERABILITY MANAGEMENT 21! 3.2.1! WEAKNESS TABLE/LIST OF VULNERABILITIES 21! 3.2.2! LINE CHARTS, BAR CHARTS, AND PIE CARTS 22! 3.2.3! RISK HEAT MAP 24! 3.2.4! RADAR CHART/COBWEB 25! 3.3! VISUALIZATIONS THAT PROVIDE ADDITIONAL CONTEXT 26! 3.3.1! TREEMAPS 26! 3.3.2! NODE-LINK GRAPHS 28! 3.3.3! ATTACK TREES/ATTACK GRAPHS 30! 3.3.4! RADIAL TREE LAYOUTS 35! 3.4! CONCLUSION 36! 4! VULNERABILITY SCORING AND CATEGORIZATION FRAMEWORKS 37! 4.1! POPULAR VULNERABILITY SCORING SYSTEMS 37! 4.1.1! MICROSOFT SEVERITY RATING SYSTEM (MSRS) 37! 4.1.2! SYMANTEC DEEPSIGHT THREAT MANAGEMENT SYSTEM 38! 4.1.3! COMMON VULNERABILITY SCORING SYSTEM (CVSS) 40! 4.2! POPULAR VULNERABILITY CLASSIFICATION AND CATEGORIZATION SYSTEMS 44! 4.2.1! COMMON VULNERABILITIES AND EXPOSURES (CVE) DATABASE 44! 4.2.2! COMMON WEAKNESS ENUMERATION (CWE) 45! 4.2.3! COMMON ATTACK PATTERN ENUMERATION AND CLASSIFICATION (CAPEC) 47! 4.2.4! OPEN SOURCE VULNERABILITY DATABASE (OSVDB) 47! 4.3! VULNERABILITY SCORING AND CLASSIFICATION SYSTEM USED IN THIS WORK 48! 4.4! CONCLUSION 51! 5! INFORMATION VISUALIZATION IN ACTION (FROM NESSUS FILE TO GRAPH) 53! 5.1! PROBLEM DEFINITION AND MESSAGE 53! 5.2! DATA ANALYSIS 53! 5.3! PROCESS INFORMATION 55! 5.4! VISUAL TRANSFORMATION 58! 5.5! VIEW TRANSFORMATION 60! 5.6! INTERPRET AND DECIDE 64! Visualizations in vulnerability management Page 2 of 96 Table of contents, list of tables, list of figures, terms and definitions 5.7! VULNERABILITY MANAGEMENT APPLICATION REFERENCE MODEL 67! 5.8! CONCLUSION 69! 6! CONCLUSION 71! 6.1! SUMMARY 71! 6.2! REFLECTION OF ACHIEVEMENTS 72! 6.3! FUTURE WORK 73! 6.4! OUTLOOK 73! BIBLIOGRAPHY 74! APPENDIX A – VISUALIZATIONS FOR FURTHER REFERENCE 84! APPENDIX B – SOURCE CODE LISTINGS 87! APPENDIX C – PROJECT TIMELINE AND DOCUMENT HISTORY 95! ! ! ! Visualizations in vulnerability management Page 3 of 96 Table of contents, list of tables, list of figures, terms and definitions LIST!OF!FIGURES! Figure 1: Pre-attentively processed visual attributes. In this case, hue and intensity "pop out" to our attention immediately. Source [RM09] ________________________________________________ 13! Figure 2: Selection of pre-attentively processed visual attributes grouped by form. Source [RM09] _ 14! Figure 3: Illustration of the six Gestalt principles. Source [RM08] ___________________________ 15! Figure 4: The information visualization process. In six stages, data is turned into information. Source [RM08, JS10, RM09, CW04, GC07] _________________________________________________ 18! Figure 5: Line chart representing the development of open issues over time. _________________ 23! Figure 6: Vulnerabilities in the Open Source Vulnerability Database by quarter by type. The “classics” such as XSS, SQL injection, or buffer overflows persist. Source [OSVDB] ____________________ 23! Figure 7: Sample risk heat map showing security issues positioned in a matrix. The position is based on impact potential and likelihood of occurrence. _______________________________________ 24! Figure 8: Risk heat map by vulnerability scores created from Symantec’s DeepSight service. The color-coding shows vulnerabilities whose scoring values exceed a certain threshold. ___________ 24! Figure 9: Radar chart on OWASP Top 10 application vulnerabilities for three web applications. Application C contains the least number of issues and thus shows the smallest footprint. ________ 25! Figure 10: Treemap graph of port scan results for three hosts. Unprivileged ports have been aggregated for better readability. ____________________________________________________ 26! Figure 11: Treemap for Nessus vulnerability scan on the 192.168.1/24 subnet. The output is color- coded by severity level (CVSS base score). ___________________________________________ 28! Figure 12: Node-link graph example. Graph properties are described in DOT language. _________ 29! Figure 13: Example of a simple network (a) and a partial attack graph for this network (b). The attacker starts on the black node on the top (the attacker host). Source [LI05a] ________________ 30! Figure 14: Three types of attack graphs. The predictive attack graph (b) does not contain redundant information but still holds the information on the vulnerabilities. Source [LI05a] ________________ 31! Figure 15: Aggregated attack graph. The N nodes can be used to attack further systems. The U letters represent vulnerable systems in the same subnet. Source [LI06] _____________________ 32! Figure 16: Attack graph metrics for two different configuration choices. The best choice is evaluated based on the calculation of the likelihood values of exploitation. Source [SN10] _______________ 33! Figure 17: RadialNet/Zenmap network topology view. Starting from the scanning machine in the center, it shows the network distance to each destination host. Source [JM08] ________________ 35! Figure 18: An overview of the CVSS version 2 metric groups. Source [CVSS] _________________ 40! Figure 19: CVSSv2 Calculator. The CVSS scores are calculated on a menu-based selection of metrics. Source [CVSScalc] ________________________________________________________ 43! Figure 20: CWE-809, the OWASP Top Ten web application security risks 2010. Source [CWE] ___ 45! Figure 21: An excerpt of the overall CWE structure. The red boxes have been imported into the National Vulnerability Database. Source [NVDB] _______________________________________ 46! Figure 22: CAPEC-1000, mechanisms of attack. Known attack patterns have been categorized and are listed in a hierarchical tree structure. Source [CAPEC] ________________________________ 47! Figure 23: Vulnerability classification by OSVDB. Of special interest in this context is the attack type. Source [OSVDB] ________________________________________________________________ 48! Figure 24: The improved vulnerability scoring system proposed for this work. _________________ 49! Figure 25: First network graph generated from a Nessus NBE file using my NBE parser and AfterGlow. Traceroute information is extracted and translated into the DOT language. ___________________ 57! Figure 26: Network graph created using my improved NBE parser. A color scheme is applied so that the nodes are colorized according to the most severe vulnerability found. ____________________ 58! Figure 27: Variation of the network graph presented in Figure 26. A node’s size is affected by the number of vulnerabilities assigned to it. _______________________________________________ 59! Figure 28: The information seeking mantra proclaims providing an overview first before going into detail. This graph identifies each host and the number of vulnerabilities assigned to it. __________ 60! Figure 29: Scan results for thirty-three systems presented in the GraphViz neato layout. ________ 61! Figure