🎉 VSEC Core 1.0.0 and VSEC Test v4.3.4 are now live! Release Notes ↗
Discovery

Discovery

Overview

Note: Discovery on a physical Bench requires a VSEC Test subscription ↗. Discovery on a Simulation Bench is free.

Discovery is a feature of VSEC Test designed to discover attack surface(s) via connected interfaces. You can run a discovery scan on the CAN interfaces of any bench connected to VSEC. Ethernet discovery is not available at the moment: a scan on an Ethernet interface finishes with no results. VSEC will display discovered UDS servers, their supported services and some potentially identifying data read from the server. These discovery results can be used to build a test plan to further evaluate a target.

What Discovery scans

On each selected CAN interface, Discovery looks for UDS servers on 11-bit IDs 0x400 to 0x7FF and on 29-bit IDs 0x18DA00F1 to 0x18DA00FF. If the interface is configured for CAN FD, it runs the scan a second time with CAN FD frames and lists those servers separately, marked UDS-FD in the results. An interface configured for classic CAN gets the classic scan only, even when the hardware supports CAN FD.

Discovery does not detect the bus bitrate or sample point; configure the interface with the values from the ECU specification first. An ECU that answers on IDs outside these ranges will not be found, so enter its IDs in the Test Case parameters by hand.

Running Discovery Scanner

Tip: Verify bench setup and CAN access via remote terminal. Discovery is designed to run on interfaces which are already properly configured to communicate.
  1. Sign-in to vsec.blockharbor.io
  2. Navigate to Test on the sidebar menu to enter the VSEC Test application and then select the Discovery submenu.
  3. Click the Start Discovery button to begin a new discovery.
  4. Select the Bench and the interfaces you want the Discovery to run on.
  5. Once the discovery is complete, click the view icon ( ) on the corresponding row in the table to view the results. A finished discovery can be restarted or deleted from the icons on its row.

Running Discovery on a Simulation Bench

Discovery can be run against a Simulation Bench instead of a physical Bench. This lets you discover the UDS services running on a virtualised CAN interface without any hardware.

The free UDS and XCP Starter Challenge simulation, available on the Free Workspace, can be used to run Discovery against a virtualised CAN interface.
  1. Navigate to Test on the sidebar menu and select the Discovery submenu.
  2. Click the Start Discovery button to begin a new discovery.
  3. In the Bench select box, choose the desired Simulation Bench (e.g., UDS and XCP Starter Challenge).
  4. Select the interface to run the Discovery on (e.g., vcan0).
  5. Click the Start Discovery button to queue the discovery.
Discovery might take 5-10 minutes to finish. The status will change from Running to Completed once it is done, or to Failed or Timeout if it could not finish.
  1. To view the results, click on the discovery row or the view icon ( ) on the corresponding row in the table.
Last updated on