hackers vs testers a comparison of software vulnerability
play

Hackers vs Testers: A Comparison of Software Vulnerability - PowerPoint PPT Presentation

Hackers vs Testers: A Comparison of Software Vulnerability Discovery Processes Daniel Votipka , Rock A. Stevens, Elissa M. Redmiles, Jeremy Hu, and Michelle L. Mazurek 22 May 2018 VULNERABILITY DISCOVERY 2 VULNERABILITY DISCOVERY


  1. Hackers vs Testers: A Comparison of Software Vulnerability Discovery Processes Daniel Votipka , Rock A. Stevens, Elissa M. Redmiles, Jeremy Hu, and Michelle L. Mazurek 22 May 2018

  2. VULNERABILITY DISCOVERY � 2

  3. VULNERABILITY DISCOVERY Generalists Testers: • Functionality • Performance • Security � 3

  4. VULNERABILITY DISCOVERY Experts Hackers: • Security Team • Contracted Review • Bug Bounty � 4

  5. CHALLENGES •Timeliness •Cognitive Diversity •Communication � 5

  6. RESEARCH QUESTIONS 1. How do testers and hackers search for vulnerabilities? 2. What are the differences between testers and hackers? Interview study: • Task Analysis • Tools, Skills, and Communities � 6

  7. RECRUITMENT Hacker Groups: • Bug Bounty Programs • Top Hacking Teams Tester Groups: • Meetup and LinkedIn • IEEE and AST • Ministry of Testing 106 total groups � 7

  8. PARTICIPANTS Participants 15 10 Vulnerabilities Found 26-50 0-3 Vulnerability Finding Time 10-20 hrs/w 5-10 hrs/w � 8

  9. RESEARCH QUESTIONS 1. How do testers and hackers search for vulnerabilities? 2. What are the differences between testers and hackers? � 9

  10. RESEARCH QUESTIONS 1. How do testers and hackers search for vulnerabilities? 2. What are the differences between testers and hackers? � 10

  11. HACKER AND TESTER PROCESS Info Gathering Program Understanding Attack Surface Exploration Vulnerability Recognition Reporting � 11

  12. Information Gathering Info Gathering • Build context prior to reading or executing code Program • Example actions: Understanding • Identifying libraries • Update history Attack Surface • Previous bug reports Exploration “There were…other functional issues, so I figured that was probably where Vulnerability there was most likely to be security Recognition issues as well. Bugs tend to cluster.” Reporting � 12

  13. Info Gathering Program Understanding • Determine how the program operates Program • Interaction between components Understanding • Interaction with the environment Attack Surface Exploration “You’re touching a little bit everything, and then you are organizing that into Vulnerability Recognition a structure in your head.” Reporting � 13

  14. Info Gathering Program Understanding Attack Surface • Identify how user interacts with program Attack Surface • Direct and indirect inputs Exploration Vulnerability Recognition Reporting � 14

  15. Info Gathering Program Understanding Attack Surface Exploration • Possible inputs to the attack surface • Example actions: Exploration • Fuzzing • Reading code Vulnerability Recognition Reporting � 15

  16. Info Gathering Program Understanding Attack Surface Exploration Vulnerability Recognition Vulnerability • Notice a problem when exploring Recognition • Typically described as intuition-based Reporting � 16

  17. Info Gathering Program Understanding Attack Surface “You do have to [convince] someone that there’s a risk. …It’s quite timely Exploration [time consuming], running a ticket.” Reporting Vulnerability • Tell developers about the problem Recognition • Advocate for remediation • Critical aspects: Reporting • Make report understandable • Importance of fixing � 17

  18. RESEARCH QUESTIONS 1. How do testers and hackers search for vulnerabilities? 2. What are the differences between testers and hackers? � 18

  19. Info Gathering Vulnerability Discovery Experience Program Understanding Underlying System Attack Surface Knowledge Access to Exploration Development Process Vulnerability Recognition Motivation Reporting � 19

  20. Info Gathering Vulnerability Discovery Experience Program Understanding Underlying System Attack Surface Knowledge Access to Exploration Development Process Vulnerability Recognition Motivation Reporting � 20

  21. Attack Surface Attack Surface • More likely to consider indirect input paths Vulnerability Exploration Discovery Exploration • Informs test case selection Experience Vulnerability Recognition Vulnerability • Know vulnerability patterns Recognition • List of common vulnerabilities “As soon as I found the LinkedIn problem, I made sure to test [FB and Twitter input] to make sure [they were processed correctly]. And if we did allow login with another 3rd party in the future, I would check that too.” � 21

  22. Employment Attack Surface Hacking Exercises Vulnerability Discovery Exploration Experience Community Vulnerability Recognition Bug Reports � 22

  23. AMOUNT OF EXPERIENCE Employment Hacking Exercises Vulnerability Discovery Experience Community Bug Reports � 23

  24. “It’s hard to ignore certain details once you know about certain areas already.” Internal Info Gathering • Communicate with developers Access to • Documentation Program Development Understanding Process External • Reverse engineering Reporting • Develop exploits “You can give feedback to your developers. . . .You’re coming back with information, and then they react on it.” � 24

  25. RECOMMENDATIONS ‣ Provide training in known contexts • Hire hackers into the testing team • Bug report-based exercises ‣ Improve hacker communication • Single point of contact � 25

  26. SUMMARY Questions : dvotipka@cs.umd.edu • Similar processes vulnstudy.cs.umd.edu • Impacted by: • Vulnerability Discovery Experience • Underlying System Knowledge, • Access to the Development Process • Motivation • Biggest difference in amount of experience and relationship with the developers Recommendations: • Training in a known context • Hacker/company communication � 26

Recommend


More recommend