当前位置:文档之家› Spirent - 借助模糊测试(Fuzzing)技术评估车载以太网的安全性和可靠性

Spirent - 借助模糊测试(Fuzzing)技术评估车载以太网的安全性和可靠性


• In 1983, "The Monkey“ was developed, a tool that would generate random inputs for classic Mac OS applications, such as MacPaint.
• The term "fuzzing" originates from a 1988 class project, taught by Barton Miller at the University of Wisconsin.
2
CAN vs Ethernet
Key differentiator: The Transport Network
CAN High
R
R
CAN Low
ECU 1
ECU 2
ECU 3
ECU n
CAN 2.0A Frame Format
Ethernet Frame Format
Razvan Petre, Spirent Communications
Past, Present and Future of Automotive Architectures
Traditional or Central Gateway Automotive Architecture
Zonal-based Automotive Architecture
Domain-based Automotive Architecture
6
Who is using Fuzzing?
A brief history of fuzzing
1950s
• Testing programs with random inputs started in the 1950s, when data was still stored on punched cards.
– It generates inputs by modifying existing data (e.g. utilize a pcap capture as seed)
• Generation-based fuzzing
– It uses fuzzing heuristics to generate data based on a specified model
• In November 2018 Google revealed that OSS-Fuzz, the company's automated fuzzing service/bot, has identified ann widely used open source projects since 2017.
Smart
Razvan Petre, Spirent Communications
IEEE-SA Ethernet & IP @ Automotive Technology Day, Sept 24th 2019, Detroit
9
Fuzzing Automotive Ethernet Protocols
Razvan Petre, Spirent Communications
* text and diagrams taken from IEEE P802.1DG v0.3, July 2018
IEEE-SA Ethernet & IP @ Automotive Technology Day, Sept 24th 2019, Detroit
Specified Functionality
Negative input space is infinite, target of fuzzing
Target of e.g. Conformance or Functional testing
IEEE-SA Ethernet & IP @ Automotive Technology Day, Sept 24th 2019, Detroit
11
Spirent Automotive Fuzzer
A modularized solution for data and behavior fuzzing
Data Model
Message Flow
Probes
Protocol State
machine
Fuzzing Job
1. Data Model
5
What is fuzzing
• It is an automated software testing technique
• It involves providing invalid, unexpected, or random data as inputs to a computer program.
22
ICMPv4
53
IPv4
56 Network Auto Configuration
53
UDP
222
TCP
90
DHCPv4
105
SOME/IP Server
144
SOME/IP ETS
IEEE-SA Ethernet & IP @ Automotive Technology Day, Sept 24th 2019, Detroit
Testing the security and reliability of Automotive Ethernet using fuzzing
Razvan Petre (razvan.petre@) Detroit, September 24th, 2019
Trends in Automotive Networks
– The fuzzer is unaware of internal program structure
• White-box fuzzing
– The fuzzer leverages program analysis to systematically increase code coverage or to reach certain critical program locations
Dumb
• Random-based fuzzing
– No protocol knowledge
• Data structure aware fuzzing
– A data model, a grammar, or a protocol description is required
• Mutation-based fuzzing
0 5 10 15 20 25 30 35
Protocol State Machine
9
0
2
4
6
8
10
Razvan Petre, Spirent Communications
IEEE-SA Ethernet & IP @ Automotive Technology Day, Sept 24th 2019, Detroit
IEEE-SA Ethernet & IP @ Automotive Technology Day, Sept 24th 2019, Detroit
3
TCP/IP and OSI Models
Transmitting Device
Receiving Device
• Each layers communicates with its peer layer only • Data encapsulation
Choosing the right fuzzing ingredients for IVN testing
• Data aware fuzzing • Both mutation- and generation- based fuzzing • Black-box fuzzing • Both data and behavioral fuzzing
Smart
Razvan Petre, Spirent Communications
IEEE-SA Ethernet & IP @ Automotive Technology Day, Sept 24th 2019, Detroit
8
Dumb
Types of Fuzzing
…continued
• Black-box fuzzing
robustness testing • Security testing • Black-box vs White-box testing
Razvan Petre, Spirent Communications
e.g. OPEN TC8 v2.0, Aug 2017, 823 Tests
49
ARP
Spirent Automotive Fuzzer offers:
Data Heuristics
Behavior Heuristics
Strings
30
Numbers
15
Message Flow Order
6
Lists
5
Message Flow Timing
4
Regular Expressions
15
• In April 2012, Google announced ClusterFuzz, a cloud-based fuzzing infrastructure for security-critical components of the Chromium web browser.
• In September 2016, Microsoft announced Project Springfield, a cloud-based fuzz testing service for finding security critical bugs in software.
相关主题