CHESS
Computers and Humans Exploring Software Security
- Mr. Dustin Fraze
4/19/2018
1
Approved for public release; distribution is unlimited.
CHESS Computers and Humans Exploring Software Security Mr. Dustin - - PowerPoint PPT Presentation
CHESS Computers and Humans Exploring Software Security Mr. Dustin Fraze 4/19/2018 1 Approved for public release; distribution is unlimited. CHESS Develop computer-human systems to rapidly discover all classes of vulnerability in complex
1
Approved for public release; distribution is unlimited.
2
Approved for public release; distribution is unlimited.
3
1Muntean et al. “Automated Detection of Information Flow Vulnerabilities in UML State Charts and C Code”, http://ieeexplore.ieee.org/document/7322134/, 2015 2Shoshitaishvili et al. “Rise of the HaCRS: Augmenting Autonomous Cyber Reasoning Systems with Human Assistance”, https://arxiv.org/abs/1708.02749, 2017
Approved for public release; distribution is unlimited.
Source Code Resource Mgmt Errors Data/Code Injection Data Misuse Logic Errors Path Traversal Cryptographic Issues Access Control Errors Memory Corruption Arithmetic Errors Information Disclosure Input Validation Authentication Issues
Binary Expert Hackers 1,000+ FTE hrs 1,000,000+ Complexity
4
Ablon, Lily “Zero Days, Thousands of Nights”, https://www.rand.org/pubs/research_reports/RR1751.html, 2017 Muntean et al. “Automated Detection of Information Flow Vulnerabilities in UML State Charts and C Code”, http://ieeexplore.ieee.org/document/7322134/, 2015 Shoshitaishvili et al. “Rise of the HaCRS: Augmenting Autonomous Cyber Reasoning Systems with Human Assistance”, https://arxiv.org/abs/1708.02749, 2017
Automation Human
Approved for public release; distribution is unlimited.
Memory Corruption Arithmetic Errors Information Disclosure
Cyber Reasoning System Fuzzing Symbolic Execution Static Analysis SAT/SMT Solvers
Binary 1,000+ Complexity
5
Ablon, Lily “Zero Days, Thousands of Nights”, https://www.rand.org/pubs/research_reports/RR1751.html, 2017 Muntean et al. “Automated Detection of Information Flow Vulnerabilities in UML State Charts and C Code”, http://ieeexplore.ieee.org/document/7322134/, 2015 Shoshitaishvili et al. “Rise of the HaCRS: Augmenting Autonomous Cyber Reasoning Systems with Human Assistance”, https://arxiv.org/abs/1708.02749, 2017
Automation Human
Approved for public release; distribution is unlimited.
Ablon, Lily “Zero Days, Thousands of Nights”, https://www.rand.org/pubs/research_reports/RR1751.html, 2017 Muntean et al. “Automated Detection of Information Flow Vulnerabilities in UML State Charts and C Code”, http://ieeexplore.ieee.org/document/7322134/, 2015 Shoshitaishvili et al. “Rise of the HaCRS: Augmenting Autonomous Cyber Reasoning Systems with Human Assistance”, https://arxiv.org/abs/1708.02749, 2017
Cryptographic Issues Access Control Errors
Source Code UML Analysis
UML Generation Novice Hackers < 1 FTE hrs 1,000+ Complexity
6
UML: Unified Modeling Language Automation Human Vulnerability Discovery Accuracy 0% → 94%
Approved for public release; distribution is unlimited.
Cryptographic Issues Access Control Errors Memory Corruption Arithmetic Errors Information Disclosure
Cyber Reasoning System Fuzzing Symbolic Execution Static Analysis SAT/SMT Solvers Source Code UML Analysis Binary UML Generation Novice Hackers < 1 FTE hrs 1,000+ Complexity Non- Hackers 335 FTE hrs 1,000+ Complexity
7
Ablon, Lily “Zero Days, Thousands of Nights”, https://www.rand.org/pubs/research_reports/RR1751.html, 2017 Muntean et al. “Automated Detection of Information Flow Vulnerabilities in UML State Charts and C Code”, http://ieeexplore.ieee.org/document/7322134/, 2015 Shoshitaishvili et al. “Rise of the HaCRS: Augmenting Autonomous Cyber Reasoning Systems with Human Assistance”, https://arxiv.org/abs/1708.02749, 2017
UML: Unified Modeling Language Vulnerability Discovery Accuracy 0% → 94% Vulnerability Discovery Accuracy 42% → 66%
Automation Human
Approved for public release; distribution is unlimited.
8
Automation Human
TA3 Voice of the Offense Resource Mgmt Errors Data/Code Injection Data Misuse Logic Errors Path Traversal Cryptographic Issues Access Control Errors Memory Corruption Arithmetic Errors Information Disclosure Input Validation Authentication Issues
Source Code Context Processor Expert Hackers Novice Hackers Non- Hackers Representation Generator Vulnerability Detector Info Gap Detector Cyber Reasoning System Binary Proof of Vulnerability TA4 Control Team Expert Hackers TA5 Integration, Test and Evaluation Representation For Humans Annotated Representation
Approved for public release; distribution is unlimited.
Identify and generate representations that communicate information gaps to humans
Capture and process the insights humans generate by reasoning over the representations
1. Process identified information gaps into human-understandable representations 2. Summarize and minimize software artifact data 3. Interact with human teammates using generated representations 4. Capture contextual insights from human 5. Process human feedback into machine- ingestible formats
9
Context Processor Expert Hackers Novice Hackers Non- Hackers Representation Generator Representation For Humans Annotated Representation
Approved for public release; distribution is unlimited.
10
Approved for public release; distribution is unlimited.
Identify information required to discover classes of vulnerabilities not addressed by automation
Extend CRS technology to scale up and reason
Develop new vulnerability detection techniques to leverage human-provided insights
1. Analyze source code and related software artifacts for potential vulnerabilities 2. Identify regions of uncertainty and other
source code and related software artifacts 3. Identify vulnerabilities in target categories 4. Generate Proofs of Vulnerability (PoV) and patches Source Code Cyber Reasoning System Info Gap Detector Vulnerability Detector PoV Binary
11
Approved for public release; distribution is unlimited.
12
Approved for public release; distribution is unlimited.
Source Code PoV PoV Spec. Binary Source Code Binary Source Code Source Code Vulnerable Patched 1. Develop challenge problems with vulnerabilities across all required classes and scaling from 10K to 1M+ complexity 2. Develop a source code patch for each challenge problem vulnerability 3. Develop a binary patch for each challenge problem vulnerability 4. Create a proof of vulnerability (PoV) specification for each vulnerability class 5. Develop a PoV for each challenge problem vulnerability
Develop challenge problems scaling to 1M+ complexity
Addition (LAVA) Ensure challenge problems are representative of required vulnerability classes
OSS-FUZZ, etc.)
13
Vulnerability Injection
Approved for public release; distribution is unlimited.
14
Approved for public release; distribution is unlimited.
15
Create an expert hacker performance baseline against TA3 challenge problems Ensure CHESS R&D teams are aware of edge of the art techniques in software reverse engineering and exploitation 1. Leverage state of the art tools to find vulnerabilities in source code and binary challenge problems developed by TA 3 2. Develop a PoV for each vulnerability discovered in the challenge problems according to the provided PoV specification 3. Collect feedback during evaluations for post- evaluation review by the Symbiosis TA 4. Identify divergent and/or conflicting evaluation performance between the Control Team and CHESS system Evaluator PoV Spec. Binary Source Code Control Team PoV Symbiosis TA
Approved for public release; distribution is unlimited.
16
Approved for public release; distribution is unlimited.
17
Integrate technology and techniques from TA1 and TA2 into a single platform for evaluation and transition Design and execute tests to measure CHESS system performance against TA3 challenge problems 1. Integrate components from TA1 and TA2 into a single working platform 2. Promote collaboration between performers 3. Evaluate integrated CHESS system performance against TA3 challenge problems 4. Recruit human collaborators for evaluations 5. Demonstrate and transition CHESS technology to identified industry and government partners
Approved for public release; distribution is unlimited.
18
Approved for public release; distribution is unlimited.
19
Approved for public release; distribution is unlimited.
18 months
12 months
Initial context extraction Hackathons Demonstrations Evaluations
TA2: Vulnerability Discovery TA1: Human Collaboration TA3: Voice of the Offense TA4: Control Team TA5: Integration, Test and Evaluation
Integration framework development Engagement strategy research and development Challenge problem development Source code vulnerability discovery Initial workflow decomposition Context extraction scaling and refinement Workflow decomposition scaling and refinement Integration framework scaling and refinement Challenge problem scaling research Binary vulnerability discovery 20
12 months
Approved for public release; distribution is unlimited.
21
Approved for public release; distribution is unlimited.