Skip to content

cars-lab-repo/LIANA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LIANA: Reconfigurable Run-Time Hardware Trojan Mitigation for Logic-Locked Circuits

This repository contains three scripts related to reconfigurable hardware Trojan mitigation.
Jordan Maynard & Amin Rezaei

Contents

  • find_rare.cpp : finds steady state probabilities of design FSM
  • duplicate_state.cpp: duplicates a chosen state in the design
  • insert_trojan.cpp : inserts a stealthy Trojan on a chosen state
  • benchmarks/ : folder containing original and example benchmarks
    • v/ : original FSM benchmarks from Synthezza
    • v_d/ : least likely state duplicated
    • v_ti1/ : stealthy stuck-at-fault Trojan inserted on least likely state
    • v_ti2/ : stealthy wrong transition Trojan inserted on least likely state
    • v_d_ti1/ : least likely state duplicated and stealthy stuck-at-fault Trojan introduced to original least likely state
    • v_d_ti2/ : least likely state duplicated and stealthy wrong transition Trojan introduced to original least likely state
  • output/ : output location for user-run scripts

Compiling

  1. g++ version 8.1.0 & Windows 10/11 is used to compile. To download g++, follow this link.
  2. Run g++ find_rare.cpp -o fr.exe, then g++ duplicate_state.cpp -o ds.exe then g++ insert_trojan.cpp -o it.exe to compile and create executables for each script.
  3. Run ./[the one you want to use].exe to use each script.

Usage

  1. find_rare.cpp
  • Run ./fr.exe.
  • Input benchmark file name, including ".v". Example: benchmarks/v/as13.v
  1. duplicate_state.cpp
  • Run ./ds.exe.
  • Input benchmark file name, including ".v". Example: benchmarks/v/as13.v
  • Choose the state you want to duplicate by number. NOTE: if duplicating a duplicate state, use 2_d
  1. insert_trojan.cpp
  • Run ./it.exe.
  • Input benchmark file name, including ".v". Example: benchmarks/v/as13.v
  • Choose the state you want to duplicate by number. NOTE: if infecting a duplicate state, use 2_d
  • Choose the number of state visits before Trojan trigger activates.
  • Choose between stuck-at-fault or wrong state transition payload.

Citation

@INPROCEEDINGS{LIANA,
  author={Maynard, Jordan and Rezaei, Amin},
  booktitle={2024 IEEE 17th Dallas Circuits and Systems Conference (DCAS)}, 
  title={Reconfigurable Run-Time Hardware Trojan Mitigation for Logic-Locked Circuits}, 
  year={2024},
  volume={},
  number={},
  pages={1-6},
  doi={10.1109/DCAS61159.2024.10539881}
  }

About

Reconfigurable Run-Time Hardware Trojan Mitigation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •