Skip to content

PhilWallace/CarVal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CarVal

CarVal: Automated Attack Path Reasoning in IVN.

TD: URL -> Paper link.

Rep Structure

Following files are the key of CarVal:

  • CarVal_Code
    • carval_infer.sh (Script to start infer attack path.)
    • input_IVN.P (Input to CarVal, including the IVN and the attack goal to be inferred.)
    • interaction_rules.P (All interaction rules for CarVal reasoning.)
    • risk_assessment.py (This code will perform risk assessment based on the AttackGraph.dot generated by carval_infer.sh.)

Setup

CarVal is a tool for automatic attack path reasoning and risk assessment in modern in-vehicle network (IVN).

  1. Set up MulVal enviornment according to https://github.com/risksense/mulval.

  2. Copy the CarVal code into the MulVal directory, including:

    • Replace mulval/kb/interaction_rules.P with CarVal_Code/interaction_rules.P

    • Copy all other codes under CarVal_Code (carval_infer.sh, input_IVN.P, risk_assessment.py) into mulval/utils/.

    • Now CarVal is ready to run. Execute the following code under the mulval/utils:

    ./carval_infer.sh -v ./input_IVN.P
    
    • Then the output attack path will be generated as AttackGraph.dot in the same directory. Then execute the python script to further calculate the risk values along the attack path.
    python risk_assessment.py
    

An Example

Following is an example of generated attack path.

Risk Assessment Output

About

CarVal: Automated Attack Path Reasoning in IVN

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published