ATLAS: AI-Assisted Threat-to-Assertion Learning for System-on-Chip Security Verification
Organizations: Department of Electrical and Computer Engineering, University of Central Florida · Intel Corporation
Abstract
This work presents ATLAS, an LLM-driven framework that bridges standardized threat modeling and property-based formal verification for System-on-Chip (SoC) security. Starting from vulnerability knowledge bases such as Common Weakness Enumeration (CWE), ATLAS identifies SoC-specific assets, maps relevant weaknesses, and generates assertion-based security properties and JasperGold scripts for verification. By combining asset-centric analysis with standardized threat model templates and multi-source SoC context, ATLAS automates the transformation from vulnerability reasoning to formal proof. Evaluated on three HACK@DAC benchmarks, ATLAS detected 39/48 CWEs and generated correct properties for 33 of those bugs, advancing automated, knowledge-driven SoC security verification toward a secure-by-design paradigm.
Figures & tables
| Template | CWE-1245 Threat Model |
|---|---|
| Adversary | Simple Hardware Adversary |
| Assets | Hardware State and Logic Integrity |
| Attack surface | Hardware Interfaces and State Machine Logic |
| Vulnerabilities | Improper or insecure FSM design |
| Threats | Exploiting undefined or insecure FSM transitions |
| Adversary Model | Capabilities |
| Unprivileged Software | Limited capability to run user-code |
| System Software | Admin/root access to system software |
| Startup code/SMM 1 | Can tamper the boot or SMM 1 code |
| Network | Can communicate with confidential services |
| Software Side Channel | Can monitor/extract confidential metadata |
| Simple Hardware | Physical access w/o expensive equipment/training |
| Asset Type | Definition | Keywords |
|---|---|---|
| Sensitive Data | Confidential information. IP, firmware, or personal data. | keys_, pass_, secret_* protected_, user_ |
| Boot Integrity | Verifies and loads boot. Establishes hardware root of trust. | boot_, hash_, rom_* otp_, key_ |
| Attestation Data & Measurement Reports | Signed measurements of states. Stored in dedicated registers. | pcr_, measurement_ idev_* |
| Parametric Data | Device-specific non-volatile values. Used for identity and calibration. | otp_, trim_, nvm_cfg_* uid_, device_id_, serial_* |
| Privileged System Resources | Privileged control registers. Accessible in trusted modes. | debug_* , *_mode _level |
| Shared Resources | Shared buses or memories. Arbitration to prevent leakage. | ready_, valid_, dma_* req_, grant_, crossbar_* |
| HACK@DAC18 ( HACK-EVENT, 2019a ) | HACK@DAC19 ( HACK-EVENT, 2019b ) | HACK@DAC21 ( HACK-EVENT, 2021 ) | ||||||||||||
| Module | Bugs | Detected CWEs | Prop. | FV | Module | Bugs | Detected CWEs | Prop. | FV | Module | Bugs | Detected CWEs | Prop. | FV |
| adbg_tap | Logic bug Checks 31/32 bits Pwd not reset Reset broken | 1221 , 1191, 1271 1298 , 1221, 1191 1329 , 1271, 276 1419 , 1271, 1191 | ✓ ✓ ✓ | ✓ ✓ ✓ | csr_regfile | Debug exit issue Read/Write access Incorrect M-mode Incorrect update | 1244 , 1191, 1243 1262 , 1220, 269 1262 , 1220, 269 1256 , 200, 203 | ✓ ✓ ✓ | ✓ ✓ ✓ | dmi_jtag | Pass flag reset Write w/o pass Hardcoded key Unreachable state | 1239 , 1271, 1191 1245 , 1191, 1244 1329 , 321, 798 1245 , 1191, 1221 | ✓ ✓ ✓ | ✓ ✓ ✓ |
| mux_func | Wrong mux Out uncleared | 1240 , 1245, 1221 325 , 226, 1271 | ✓ ✓ | ✓ ✓ | commit_stage | Interrupt Commit | 1281 , 1262, 1220 1281 , 1241, 1271 | csr_regfile | Debug open Privilege leak | 1220 , 1191, 1243 1262 , 1220, 269 | ✓ ✓ | ✓ ✓ | ||
| riscv_cs_reg | Wrong privilege | 1207 , 1262, 269 | ✓ | ✓ | axi_node | Improper bypass | 1220 , 1191, 269 | aes_192 | Counter stuck | 1240 , 323, 330 | ✓ | ✓ | ||
| apb_gpio | Lock writable Reset clears lock | 1207 , 1220, 276 1206 , 276, 1271 | ✓ | ✓ | ariane | No flush after atomic No flush after priv | 1281 , 1206, 1271 1281 , 1191, 1241 | ✓ ✓ | ✓ ✓ | reglk_wrapp. | Locks disabled Locks dropped | 1232 , 1221, 276 1234 , 1232, 1221 | ||
| axi_address_dec. | Errors ignored | 20 , 703, 388 | controller | Halt w/o exception | 1207 , 1419, 1271 | ✓ | sha256_wrapp. | Input uncleared | 1239 , 226, 1271 | |||||
Cybersecurity
Cybersecurity develops methods to protect digital and cyber-physical systems from attacks, vulnerabilities, data loss, and misuse.
See all 354 papers