FirmFuzz: Automated IoT Firmware Introspection and Analysis
Prashast Srivastava, Hui Peng, Jiahao Li, Hamed Okhravi, Howard Shrobe, Mathias Payer
FirmFuzz: Automated IoT Firmware Introspection and Analysis - - PowerPoint PPT Presentation
FirmFuzz: Automated IoT Firmware Introspection and Analysis Prashast Srivastava, Hui Peng, Jiahao Li, Hamed Okhravi, Howard Shrobe, Mathias Payer Internet of Things 2 Internet of Things 3 Internet of Things - 233 CVEs assigned from Jan
FirmFuzz: Automated IoT Firmware Introspection and Analysis
Prashast Srivastava, Hui Peng, Jiahao Li, Hamed Okhravi, Howard Shrobe, Mathias Payer
Internet of Things
2
Internet of Things
3
Internet of Things
4
Internet of Things
5
Fuzz Target
Linux-based Firmware Image Vendor-written software Open-source software Linux kernel
6
Fuzz Target
Linux-based Firmware Image Vendor-written software Open-source software Linux kernel Can be independently analyzed
7
Fuzz Target
Linux-based Firmware Image Vendor-written software Open-source software Linux kernel Can be independently analyzed Open-source Openly analyzed
8
Deep Analysis
9
Challenges Solutions
Deep Analysis
10
Challenges Solutions Syntactically legal input generation
Deep Analysis
11
Challenges Solutions Utilize the web API Syntactically legal input generation
Deep Analysis
12
Challenges Solutions Utilize the web API Syntactically legal input generation Fine-grained vulnerability monitoring
Deep Analysis
13
Challenges Solutions Monitor injection into runtime environment Utilize the web API Syntactically legal input generation Fine-grained vulnerability monitoring
Deep Analysis
14
Challenges Solutions Monitor injection into runtime environment Utilize the web API Syntactically legal input generation Fine-grained vulnerability monitoring Device-independent dynamic analysis
Deep Analysis
15
Challenges Solutions Monitor injection into runtime environment Utilize the web API Syntactically legal input generation Fine-grained vulnerability monitoring Device-independent dynamic analysis Full-system emulation of firmware image
FirmFuzz Design
16
Firmware
FirmFuzz Design
17
Firmware
Information Gathering Phase
FirmFuzz Design
18
Firmware
Information Gathering Phase Preparation Phase
FirmFuzz Design
19
Firmware
Information Gathering Phase Preparation Phase Fuzzing Phase
FirmFuzz Design
20
Firmware
Information Gathering Phase Preparation Phase Fuzzing Phase Bugs
Information Gathering Phase
21
Firmware 🔎
**********
Credentials Attack Surface Mapping
Preparation Phase
22
Helper Injection Network Configuration Device Mapping
Fuzzing Phase
23
Firmware
CI NPD BO XSS
Fuzzing Workflow
24
Fuzzing Workflow
25
Fuzzing Workflow
26
Fuzzing Workflow
27
Evaluation
28
Firmware Image Breakdown
29
Vendor Network Inferred Fuzzed (Unique Devices) Unique Web UI TRENDnet 26 6 (5) 2 Netgear 162 20 (17) 3 D-Link 15 6 (5) 1 Total 203 32 (27) 6
Firmware Image Breakdown
30
Vendor Network Inferred Fuzzed (Unique Devices) Unique Web UI TRENDnet 26 6 (5) 2 Netgear 162 20 (17) 3 D-Link 15 6 (5) 1 Total 203 32 (27) 6 Sharp drop-off between network inferred and fuzzed images
Firmware Image Breakdown
31
Vendor Network Inferred Fuzzed (Unique Devices) Unique Web UI TRENDnet 26 6 (5) 2 Netgear 162 20 (17) 3 D-Link 15 6 (5) 1 Total 203 32 (27) 6 High reusability of web interfaces between different devices
Comparison Against Existing Work
32
Number Vulnerability CVE-ID FirmFuzz Web vulnerability scanners Firmadyne 1 CI CVE-2018-19239
✔ ⨯ ⨯
2 XSS
✔ ⨯
3 BO CVE-2018-19242
✔ ⨯ ⨯
4 BO
⨯ ⨯
5 BO CVE-2018-19240
✔ ⨯ ⨯
6 BO CVE-2018-19241
✔ ⨯ ⨯
7 NPD
⨯ ⨯
Conclusion
finding deep vulnerabilities
discovery
33
Questions ?
34
Firmware
Information Gathering Phase Preparation Phase Fuzzing Phase Bugs Source code: https://github.com/Hexhive/Firmfuzz