학술논문

Classifying Memory Bugs Using Bugs Framework Approach
Document Type
Conference
Source
2021 IEEE 45th Annual Computers, Software, and Applications Conference (COMPSAC) COMPSAC Annual Computers, Software, and Applications Conference (COMPSAC), 2021 IEEE 45th. :1157-1164 Jul, 2021
Subject
Computing and Processing
General Topics for Engineers
Conferences
Computer bugs
Taxonomy
Tools
Software
Resource management
Bug classification
bug taxonomy
software vulnerability
software weakness
memory corruption
Language
Abstract
In this work, we present an orthogonal classification of memory corruption bugs, allowing precise structured descriptions of related software vulnerabilities. The Common Weakness Enumeration (CWE) is a well-known and used list of software weaknesses. However, it’s exhaustive list approach is prone to gaps and overlaps in coverage. Instead, we utilize the Bugs Framework (BF) approach to define language-independent classes that cover all possible kinds of memory corruption bugs. Each class is a taxonomic category of a weakness type, defined by sets of operations, cause→consequence relations, and attributes. A BF description of a bug or a weakness is an instance of a taxonomic BF class, with one operation, one cause, one consequence, and their attributes. Any memory vulnerability then can be described as a chain of such instances and their consequence–cause transitions. We showcase that BF is a classification system that extends the CWE, providing a structured way to precisely describe real world vulnerabilities. It allows clear communication about software bugs and weaknesses and can help identify exploit mitigation techniques.