VAC is a tool to verify security of Administrative Role Based Access Control (ARBAC) policies. Given an ARBAC policy, a user u and a role r , the analysis tool can check whether the user u can obtain the role r sometime in the future, following the ARBAC policy. Several other security questions, including escalation of privileges, conflict-of-interest exclusion properties can be verified as well. The tool hence enables a security engineer crafting or changing an ARBAC system to determine the security properties of the system, and whether it achieves the policy goals. A salient aspect of the tool is that, since it works using abstraction techniques, it can handle security questions in a setting that considers an unbounded number of users that can be included dynamically into the system, independent of the number of users in the initial configuration.
VAC uses a combination of abstraction and reduction to program verification in order to perform the security analysis. VAC converts ARBAC policies to imperative programs that simulate the policy abstractly, and then utilizes further abstract-interpretation techniques from program analysis to analyze the programs in order to prove the policies secure.
Specifically, given an ARBAC system:
More details on VAC can be found in these papers:
VAC tool can be downloaded here:
| REDUCEADMIN | PRECISE
TRANSFORMER |
ABSTRACT
TRANSFORMER |
||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Policy Suite |
After
Simplify Suite |
INTERPROC |
BLAST |
GET-A-FIX |
Z3 |
HSF | Query Answer |
INTERPROC | BLAST | GET-A-FIX | Z3 | HSF | Query Answer |
|||||||||||||||||||||||||||
| Name | #roles | #rules | #users |
File |
#roles |
#rules |
#users |
Time |
File |
Time | Answer |
File |
Time |
Answer |
File |
Time |
Answer |
File |
Time |
Answer |
File |
Time |
Answer |
File |
Time |
Answer |
File |
Time |
Answer |
File |
Time |
Answer |
File |
Time |
Answer |
File |
Time |
Answer |
||
| Hospital1 | 15 |
32 |
8 |
H1 |
7 |
12 |
9 |
0.004s |
H1 |
1.65s |
N |
H1 |
- |
- |
H1 |
1m7s |
N |
H1 |
6.26s |
N |
H1 |
1.61s |
N |
- |
H1 |
0.12s |
N |
H1 |
- |
- |
H1 |
0.01s |
N |
H1 |
0.3s |
N |
H1 |
0.2s |
N |
N |
| Hospital2 | 15 |
32 |
8 |
H2 |
5 |
8 |
8 |
0.004s |
H2 |
0.67s |
N |
H2 |
- |
- |
H2 |
0.91s |
N |
H2 |
2.1s |
N |
H2 |
0.63s |
N |
- |
H2 |
0.06s |
N |
H2 |
0.22s |
N |
H2 |
0.00s |
N |
H2 |
0.17s |
N |
H2 |
0.12s |
N |
N |
| Hospital3 |
15 |
38 |
1093 |
H3 |
4 |
5 |
5 |
0.024s |
H3 |
0.19s |
R |
H3 |
1.61s |
R |
H3 |
0.00s |
R |
H3 |
0.56s |
R |
H3 |
0.17s |
R |
R |
H3 |
0.02s |
U |
H3 |
0.14s |
U |
H3 |
0.00s |
U |
H3 |
0.07s |
U |
H3 |
0.07s |
U |
U |
| University1 | 34 |
136 |
10 |
U1 |
10 |
20 |
11 |
0.004s |
U1 |
7.96s |
N |
U1 |
- |
- |
U1 |
- |
- |
U1 |
53s |
N |
U1 |
6m4s |
N |
- |
U1 |
0.5s |
N |
U1 |
- |
- |
U1 |
0.3s |
N |
U1 |
1.17s |
N |
U1 |
0.64s |
N |
N |
| University2 | 34 |
136 |
10 |
U2 |
2 |
0 |
3 |
0.003s |
U2 |
0.02s |
N |
U2 |
0.02s |
N |
U2 |
0.00s |
N |
U2 |
0.09s |
N |
U2 |
0.09s |
N |
N |
U2 |
0.01s |
N |
U2 |
0.01s |
N |
U2 |
0.00s |
N |
U2 |
0.04s |
N |
U2 |
0.08s |
N |
N |
| University3 | 34 |
136 |
10 |
U3 |
15 |
33 |
11 |
0.004s |
U3 |
15.6s |
N |
U3 |
- |
- |
U3 |
- |
- |
U3 |
- |
- |
U3 |
2m40s |
N |
- |
U3 |
1.05s |
N |
U3 |
- |
- |
U3 |
16.12s |
N |
U3 |
2.71s |
N |
U3 |
52.64s |
N |
N |
| University4 | 34 |
136 |
10 |
U4 |
2 |
1 |
3 |
0.004s |
U4 |
0.03s |
R |
U4 |
0.2s |
R |
U4 |
0.07s |
R |
U4 |
0.07s |
R |
U4 |
0.09s |
R |
R |
U4 |
0.2s |
U |
U4 |
0.01s |
U |
U4 |
0.00s |
U |
U4 |
0.04s |
U |
U4 |
0.07s |
U |
U |
| University5 | 34 |
455 |
944 |
U5 |
8 |
14 |
18 |
0.020s |
U5 |
3.01s |
N |
U5 |
- |
- |
U5 |
- |
- |
U5 |
11s |
N |
U5 |
2.69s |
N |
- |
U5 |
0.1s |
N |
U5 |
36.2s |
N |
U5 |
0.00s |
N |
U5 |
0.55s |
N |
U5 |
0.27s |
N |
N |
| University6 | 34 |
457 |
944 |
U6 |
8 |
15 |
18 |
0.040s |
U6 |
3.12s |
N |
U6 |
- |
- |
U6 |
0.35s |
N |
U6 |
9.36s |
N |
U6 |
4.32s |
N |
- |
U6 |
0.09s |
N |
U6 |
19.19s |
N |
U6 |
0.00s |
N |
U6 |
0.44s |
N |
U6 |
0.28s |
N |
N |
| University7 | 34 |
455 |
944 |
U7 |
6 |
8 |
13 |
0.035s |
U7 |
0.54s |
N |
U7 |
- |
- |
U7 |
0.14s |
N |
U7 |
2.18s |
N |
U7 |
0.85s |
N |
- |
U7 |
0.06s |
N |
U7 |
3.76s |
N |
U7 |
0.00s |
N |
U7 |
0.2s |
N |
U7 |
0.12s |
N |
N |
| University8 | 34 |
455 |
944 |
U8 |
14 |
62 |
47 |
0.024s |
U8 |
25.14s |
R |
U8 |
- |
- |
U8 |
4m25s |
R |
U8 |
- |
- |
U8 |
151m4s |
R |
- |
U8 |
0.44s |
U |
U8 |
- |
- |
U8 |
0.03s |
U |
U8 |
2.75s |
U |
U8 |
17.59s |
U |
U |
| Bank1 | 36 | 514 | 1 |
B1 |
2 |
0 |
2 |
0.024s |
B1 |
0.03s |
N |
B1 |
0.02s |
N |
B1 |
0.00s |
N |
B1 |
0.06s |
N |
B1 |
0.08s | N | N | B1 |
0.01s |
N |
B1 |
0.01s | N |
B1 |
0.00s |
N |
B1 |
0.08s |
N |
B1 |
0.07s | N | N |
| Bank2 | 70 | 1029 | 1 |
B2 |
2 |
0 |
2 |
0.036s |
B2 |
0.02s |
N |
B2 |
0.04s |
N |
B2 |
0.00s | N |
B2 |
0.07s |
N |
B2 |
0.08s | N | N | B2 |
0.01s |
N |
B2 |
0.01s | N |
B2 |
0.00s |
N |
B2 |
0.05s |
N |
B2 |
0.08s | N | N |
| Bank3 | 104 |
1544 |
1 |
B3 |
2 |
0 |
2 |
0.072s |
B3 |
0.02s |
N |
B3 |
0.04s |
N |
B3 |
0.00s | N |
B3 |
0.09s |
N |
B3 |
0.07s | N | N | B3 |
0.01s |
N |
B3 |
0.01s | N |
B3 |
0.00s |
N |
B3 |
0.04s |
N |
B3 |
0.08s | N | N |
| Bank4 | 138 |
2058 |
1 |
B4 |
2 |
0 |
2 |
0.084s |
B4 |
0.02s |
N |
B4 |
0.03s |
N |
B4 |
0.00s | N |
B4 |
0.09s |
N |
B4 |
0.08s | N | N | B4 |
0.01s | N |
B4 |
0.01s | N |
B4 |
0.00s |
N |
B4 |
0.06s |
N |
B4 |
0.08s | N | N |
| Bank5 | 71 |
1029 |
1 |
B5 |
2 |
0 |
2 |
0.048s |
B5 |
0.01s |
N |
B5 |
0.02s |
N |
B5 |
0.00s | N |
B5 |
0.09s |
N |
B5 |
0.08s | N | N | B5 |
0.01s | N |
B5 |
0.01s | N |
B5 |
0.00s |
N |
B5 |
0.06s |
N |
B5 |
0.08s | N | N |
| Bank6 | 105 |
1543 |
1 |
B6 |
2 |
0 |
2 |
0.076s |
B6 |
0.02s |
N |
B6 |
0.04s |
N |
B6 |
0.00s | N |
B6 |
0.09s |
N |
B6 |
0.08s | N | N | B6 |
0.01s | N |
B6 |
0.01s | N |
B6 |
0.00s |
N |
B6 |
0.04s |
N |
B6 |
0.08s |
N | N |
| Bank7 | 139 |
2057 |
1 |
B7 |
2 |
0 |
2 |
0.112s |
B7 |
0.02s |
N |
B7 |
0.03s |
N |
B7 |
0.00s | N |
B7 |
0.08s |
N |
B7 |
0.07s | N | N | B7 |
0.01s | N |
B7 |
0.01s | N |
B7 |
0.00s |
N |
B7 |
0.06s |
N |
B7 |
0.08s | N | N |
| Mixed
Testsuite |
Mixednocr
Testsuite |
Positive
Testsuite |
||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Name |
Before |
After |
Time |
Name |
Before | After | Time |
Name |
Before | After | Time |
|||||||||||||||
| #roles |
#users |
#rules |
File |
#roles |
#users |
#rules |
#roles |
#users |
#rules |
File |
#roles |
#users |
#rules |
#roles |
#users |
#rules |
File |
#roles |
#users |
#rules |
||||||
| Mohawk1 |
4 |
5 |
9 |
M1R |
4 |
3 |
5 |
0.000s |
Mohawk1 | 4 |
2 |
8 |
M1R | 4 |
3 |
5 |
0.000s |
Mohawk1 | 4 |
5 |
11 |
M1R | 2 |
3 |
1 |
0.000s |
| Mohawk2 | 6 |
10 |
22 |
M2R | 2 |
3 |
1 |
0.000s |
Mohawk2 | 6 |
2 |
19 |
M2R | 2 |
3 |
1 |
0.000s |
Mohawk2 | 6 |
10 |
20 |
M2R | 2 |
3 |
2 |
0.000s |
| Mohawk3 | 21 |
50 |
88 |
M3R | 15 |
3 |
43 |
0.000s |
Mohawk3 | 27 |
2 |
75 |
M3R | 17 |
3 |
48 |
0.000s |
Mohawk3 | 21 |
50 |
89 |
M3R | 2 |
3 |
2 |
0.000s |
| Mohawk4 | 41 |
100 |
176 |
M4R | 2 |
3 |
1 |
0.000s |
Mohawk4 | 41 |
2 |
154 |
M4R | 6 |
3 |
7 |
0.000s |
Mohawk4 | 41 |
100 |
178 |
M4R | 2 |
3 |
2 |
0.000s |
| Mohawk5 | 201 |
500 |
872 |
M5R | 2 |
3 |
2 |
0.020s |
Mohawk5 | 199 |
2 |
736 |
M5R | 2 |
3 |
1 |
0.020s |
Mohawk5 | 201 |
500 |
880 |
M5R | 2 |
3 |
2 |
0.020s |
| Mohawk6 | 501 |
1000 |
2201 |
M6R | 2 |
3 |
1 |
0.110s |
Mohawk6 | 499 |
2 |
1885 |
M6R | 2 |
3 |
1 |
0.100s |
Mohawk6 | 501 |
1000 |
2180 |
M6R | 2 |
3 |
2 |
0.090s |
| Mohawk7 | 4001 |
10000 |
17536 |
M7R | 2 |
3 |
2 |
5.710s |
Mohawk7 | 3955 |
2 |
14857 |
M7R | 2 |
3 |
1 |
5.760s |
Mohawk7 | 4001 |
10000 |
17686 |
M7R | 2 |
3 |
1 |
5.340s |
| Mohawk8 | 20000 |
50000 |
81210 |
M8R | 2 |
3 |
1 |
2m41s |
Mohawk8 | 19749 |
2 |
74324 |
M8R | 2 |
3 |
1 |
2m34s |
Mohawk8 | 20000 |
50000 |
83561 |
M8R | 2 |
3 |
1 |
2m26s |
| Mohawk9 | 30000 |
70000 |
127713 |
M9R | 2 |
3 |
1 |
6m37s |
Mohawk9 | 29677 |
2 |
111800 |
M9R | 2 |
3 |
1 |
6m19s |
Mohawk9 | 30000 |
70000 |
125520 |
M9R | 2 |
3 |
1 |
6m9s |
| Mohawk10 | 40001 |
100000 |
176062 |
M10R | 2 |
3 |
1 |
15m45s |
Mohawk10 | 39573 |
2 |
149156 |
M10R | 2 |
3 |
1 |
18m55s |
Mohawk10 | 40001 |
100000 |
176796 |
M10R | 2 |
3 |
2 |
12m18s |