Proceedings 2015 Network and Distributed System Security Symposium 2015
DOI: 10.14722/ndss.2015.23294
|View full text |Cite
|
Sign up to set email alerts
|

Firmalice - Automatic Detection of Authentication Bypass Vulnerabilities in Binary Firmware

Abstract: Abstract-Embedded devices have become ubiquitous, and they are used in a range of privacy-sensitive and security-critical applications. Most of these devices run proprietary software, and little documentation is available about the software's inner workings. In some cases, the cost of the hardware and protection mechanisms might make access to the devices themselves infeasible. Analyzing the software that is present in such environments is challenging, but necessary, if the risks associated with software bugs … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
133
0

Year Published

2016
2016
2021
2021

Publication Types

Select...
4
2
2

Relationship

1
7

Authors

Journals

citations
Cited by 260 publications
(134 citation statements)
references
References 17 publications
1
133
0
Order By: Relevance
“…Veritesting [1] proposed an advanced path merging technique to reduce the number of paths being executed, Firmalice [29] performs extensive static analysis and limits symbolic execution to small slices of code, and under-constrained symbolic execution exchanges precision for scalability [16], [27]. However, these techniques either fail to mitigate the path explosion problem (Veritesting delays the explosion, but such explosion still eventually occurs) or produce inputs that are not directly actionable (for example, the slicing done by Firmalice produces inputs that satisfy the constraints of a particular slice, but no input is provided to reach the code in the first place).…”
Section: Concolic Executionmentioning
confidence: 99%
See 1 more Smart Citation
“…Veritesting [1] proposed an advanced path merging technique to reduce the number of paths being executed, Firmalice [29] performs extensive static analysis and limits symbolic execution to small slices of code, and under-constrained symbolic execution exchanges precision for scalability [16], [27]. However, these techniques either fail to mitigate the path explosion problem (Veritesting delays the explosion, but such explosion still eventually occurs) or produce inputs that are not directly actionable (for example, the slicing done by Firmalice produces inputs that satisfy the constraints of a particular slice, but no input is provided to reach the code in the first place).…”
Section: Concolic Executionmentioning
confidence: 99%
“…Furthermore, with the rise of the Internet of Things, the number of devices that run potentially vulnerable software has skyrocketed, and vulnerabilities are increasingly being discovered in the software running these devices [29].…”
Section: Introductionmentioning
confidence: 99%
“…The authors of ByteWeight [23] made their dataset available online 4 . This dataset contains the GNU coreutils, binutils and findutils compiled for Linux, for the x86 and x86-64 architectures, and using different compilers (GNU GCC and Intel ICC) and optimization levels (O0, O1, O2, O3).…”
Section: Architecture Identificationmentioning
confidence: 99%
“…They range from disassemblers and decompilers, to complex analysis frameworks [1,2] that combine static analysis with other techniques, primarily symbolic execution [3,4], fuzzing [5,6], or both [7]. Binary analysis techniques are useful in many domains: For example, discovering vulnerabilities [8], understanding and reconstructing the behavior of a program, as well as modifying legacy software when the source code is lost (e.g., to apply security [9] or functionality patches).…”
Section: Introductionmentioning
confidence: 99%
“…Our experiment is carried out in the system Ubuntu 14.04, running in an angr virtual environment [11][12] [13] . The language we use is Python.…”
Section: Methodsmentioning
confidence: 99%