With the recent proliferation of IoT devices, the importance of vulnerability analysis for embedded firmware binaries has grown. While current static analysis techniques effectively detect various vulnerabilities, they primarily focus on identifying v...
With the recent proliferation of IoT devices, the importance of vulnerability analysis for embedded firmware binaries has grown. While current static analysis techniques effectively detect various vulnerabilities, they primarily focus on identifying vulnerabilities through the names of sink functions. This approach has limitations, as it fails to detect sink function-independent vulnerabilities, such as buffer overflows caused by buffer access patterns rather than library functions. Therefore, this study proposes a pattern-based vulnerability analysis method that addresses these limitations by defining sinks using code patterns and performing restricted dependency analysis within these patterns. By relying on code patterns rather than sink functions, this approach can identify new types of vulnerabilities. This study particularly focuses on loop patterns. Experimental results demonstrate that the pattern-based analysis method can successfully infer memory increments within loops and detect vulnerabilities that existing static analysis techniques cannot identify. This method is easily extendable by adding new patterns, suggesting potential for more comprehensive vulnerability detection in the future.