log in  |  register  |  feedback?  |  help  |  web accessibility
Logo
PhD Defense: A Human-Centric Approach to Software Vulnerability Discovery
Daniel Votipka
Remote
Thursday, November 5, 2020, 2:00-4:00 pm Calendar
  • You are subscribed to this talk through .
  • You are watching this talk through .
  • You are subscribed to this talk. (unsubscribe, watch)
  • You are watching this talk. (unwatch, subscribe)
  • You are not subscribed to this talk. (watch, subscribe)
Abstract
Software security bugs --- referred to as vulnerabilities --- persist as an important and costly challenge. Significant effort has been exerted toward automatic vulnerability discovery, but human intelligence generally remains required and will remain necessary for the foreseeable future. Therefore, many companies have turned to internal and external (e.g., penetration testing, bug bounties) security experts to manually analyze their code for vulnerabilities. Unfortunately, there are a limited number of qualified experts. Therefore, to improve software security, we must understand how experts search for vulnerabilities and how their processes could be made more efficient, by improving tool usability and targeting the most common vulnerabilities.  Additionally, we seek to understand how to improve training to increase the number of experts.

To answer these questions, I begin with an in-depth qualitative analysis of secure development competition submissions to identify common vulnerabilities developers introduce. I found developers struggle to understand and implement complex security concepts, not recognizing how nuanced development decisions could lead to vulnerabilities. Next, using a cognitive task analysis to investigate experts' and non-experts' vulnerability discovery processes, I observed they use the same process, but differ in the variety of security experiences which inform their searches. Together, these results suggest exposure to and in-depth understanding of potential vulnerabilities as essential for vulnerability discovery.

As a first step to leverage both experts and non-experts, I pursued two lines of work: education to support experience development and vulnerability discovery automation interaction improvements. To improve vulnerability discovery tool interaction, I conducted observational interviews of experts' reverse engineering process, an essential and time-consuming component of vulnerability discovery. From this, I provide guidelines for more usable interaction design. For security education, I began with a pedagogical review of security exercises to identify their current strengths and weaknesses.  I also developed a psychometric measure for secure software development self-efficacy to support comparisons between educational interventions.

Examining Committee: 
 
                           Chair:              Dr. Michelle L. Mazurek                         
                           Dean's rep:      Dr.  Katie Shilton
                          Members:         Dr.  Michael Hicks
                                                Dr. Jeffrey S. Foster
                                                Dr. Michael K. Reiter 
Bio

Daniel Votipka is a PhD candidate at the Department of Computer Science at the University of Maryland, College Park, under the advisement of Prof. Michelle L. Mazurek. His research interests are in human factors in security and privacy primarily focusing on security professionals.

This talk is organized by Tom Hurst