Validating SGAC Access Control Policies with Alloy and ProB
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau FA 2018, April 30th
UNIVERSITÉ DE
UNIVERSIT DE SHERBROOKE Introduction SGAC Formalization - - PowerPoint PPT Presentation
Validating SGAC Access Control Policies with Alloy and ProB Nghi Huynh, Marc Frappier, Amel Mammar and R egine Laleau FA 2018, April 30th UNIVERSIT DE SHERBROOKE Introduction SGAC Formalization Automated verification Conclusion
UNIVERSITÉ DE
Introduction SGAC Formalization Automated verification Conclusion
1
2
3
4
5
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 2 / 20
Introduction SGAC Formalization Automated verification Conclusion
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 3 / 20
Introduction SGAC Formalization Automated verification Conclusion Presentation Example Behaviour
hierarchy among users; hierarchy among data; explicit prohibitions; automated conflict resolutions.
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 4 / 20
Introduction SGAC Formalization Automated verification Conclusion Presentation Example Behaviour
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 5 / 20
Introduction SGAC Formalization Automated verification Conclusion Presentation Example Behaviour
1
ra’s priority value is lower;
ex: r2 has precedence over r3.
2
same priority and ra’s subject is more specific;
ex: r1 has precedence over r2.
3
same priority and incomparable subjects, and ra.m = − rb.m = +.
ex: r1 has precedence over r4.
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 6 / 20
Introduction SGAC Formalization Automated verification Conclusion Presentation Example Behaviour
1
ra’s priority value is lower;
ex: r2 has precedence over r3.
2
same priority and ra’s subject is more specific;
ex: r1 has precedence over r2.
3
same priority and incomparable subjects, and ra.m = − rb.m = +.
ex: r1 has precedence over r4.
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 6 / 20
Introduction SGAC Formalization Automated verification Conclusion Presentation Example Behaviour
1
ra’s priority value is lower;
ex: r2 has precedence over r3.
2
same priority and ra’s subject is more specific;
ex: r1 has precedence over r2.
3
same priority and incomparable subjects, and ra.m = − rb.m = +.
ex: r1 has precedence over r4.
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 6 / 20
Introduction SGAC Formalization Automated verification Conclusion Presentation Example Behaviour
1
ra’s priority value is lower;
ex: r2 has precedence over r3.
2
same priority and ra’s subject is more specific;
ex: r1 has precedence over r2.
3
same priority and incomparable subjects, and ra.m = − rb.m = +.
ex: r1 has precedence over r4.
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 6 / 20
Introduction SGAC Formalization Automated verification Conclusion Properties Formalization Request Evaluation
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 7 / 20
Introduction SGAC Formalization Automated verification Conclusion Properties Formalization Request Evaluation
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 8 / 20
Introduction SGAC Formalization Automated verification Conclusion Properties Formalization Request Evaluation
1
ra’s priority value is lower;
ex: r2 has precedence over r3.
2
same priority and ra’s subject is more specific;
ex: r1 has precedence over r2.
3
same priority and incomparable subjects, and ra.m = − rb.m = +.
ex: r1 has precedence over r4.
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 9 / 20
Introduction SGAC Formalization Automated verification Conclusion Properties Formalization Request Evaluation
Why two steps? Only maximal elements of ≺ must be compared with their modality.
ex: without the maximal element condition, r1 < r2, r3 < r4, r2 < r3 and r4 < r1 .
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 10 / 20
Introduction SGAC Formalization Automated verification Conclusion Properties Formalization Request Evaluation
1 we select all applicable rules to the request; 2 we order the applicable rules; 3 we analyse the graph made of the ordered rules : the sinks of
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 11 / 20
Introduction SGAC Formalization Automated verification Conclusion Alloy ProB Performance test
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 12 / 20
Introduction SGAC Formalization Automated verification Conclusion Alloy ProB Performance test
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 13 / 20
Introduction SGAC Formalization Automated verification Conclusion Alloy ProB Performance test
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 14 / 20
Introduction SGAC Formalization Automated verification Conclusion Alloy ProB Performance test
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 15 / 20
Introduction SGAC Formalization Automated verification Conclusion Alloy ProB Performance test
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 16 / 20
Introduction SGAC Formalization Automated verification Conclusion Alloy ProB Performance test
1 Generation of random graphs and random rules; 2 For each graph, random requests are picked; 3 For each request :
access property in random contexts; detection of granting contexts; detection hidden documents; detection ineffective rules.
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 17 / 20
Introduction SGAC Formalization Automated verification Conclusion Alloy ProB Performance test
500 1000 1500 2000 2500 3000 3500 25 50 75 100 Solving time (seconds)
Alloy ProB
10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 20 40 60 80 100 120 140 160 Solving Time (seconds)
Alloy ProB
100 200 300 400 500 600 700 20 40 60 80 100 120 140 160 180 200 Solving time (seconds)
Alloy ProB
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 18 / 20
Introduction SGAC Formalization Automated verification Conclusion
300 vertices, 160 rules, 100 contexts with 200 requests in about 15 minutes with ProB
Integrate αRuby in Alloy
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 19 / 20
Introduction SGAC Formalization Automated verification Conclusion
Nghi Huynh, Marc Frappier, Amel Mammar and R´ egine Laleau SGAC policy verification using Alloy and ProB 20 / 20