Policy AnalysisUsing Margrave

advertisement
POLICY ANALYSIS
USING MARGRAVE
Shriram Krishnamurthi
Brown University
1
2
ACL for External firewall:
1: DENY if: ifc=fw1_dmz, ipdest in blacklist
2: DENY if: ifc=fw1_ext, ipsrc in blacklist
3: DENY if: ifc=fw1_dmz, portdest=telnet
4: ACCEPT if: ifc=fw1_ext, ipdest=mailserver,
portdest=smtp, proto=tcp
5: ACCEPT if: ifc=fw1_ext, ipdest=webserver,
portdest=http, proto=tcp
6: ACCEPT if: ifc=fw1_dmz, ipdest=any outside,
portdest=http, proto=tcp, ipsrc=manager
7: DROP otherwise
3
employees
int
dmz
dmz
ext
contractors
manager
DMZ
4
tcp
www
blacklist
blacklist
telnet
tcp
smtp
tcp
www
5
tcp
smtp
tcp
www

ipsrc
tcp
smtp
fw2_static
6
Problem
The manager can’t connect to the Web.
7
? When can a connection from the
manager’s PC be denied if it’s
 to port 80 (www)
 over TCP
 to any machine?
8
 p . p.dstprt = www  p.proto = TCP 
p.ipdest  outIPs  p.ipsrc = manager
 Int.ACL denies p
  p’ . Int.NAT translates p to p’
 p’.dstprt = p.dstprt
 p’.proto = p.proto
 p’.ipdest = p.ipdest
 Ext.ACL denies p’
9
? When can a connection from the
manager’s PC be denied if it’s
 to port 80 (www)
 over TCP
 to any machine?
Always:
 Int’s ACL accepts the packet via rule 4.
 Int’s NAT applies to the packet.
 Ext’s ACL denies the post-NAT packet via
rule 7.
10
MARGRAVE DESIGN PRINCIPLES
11
Property-Free Analysis
(e.g., Change Impact)
12
the
policy
satisfy
Does
its
property?
13
Can people state them?
Are they good enough?
14
ACL for External firewall:
1: DENY if: ifc=fw1_dmz, ipdest in blacklist
2: DENY if: ifc=fw1_ext, ipsrc in blacklist
3: DENY if: ifc=fw1_dmz, portdest=telnet
4: ACCEPT if: ifc=fw1_ext, ipdest=mailserver,
portdest=smtp, proto=tcp
5: ACCEPT if: ifc=fw1_ext, ipdest=webserver,
portdest=http, proto=tcp
6: ACCEPT if: ifc=fw1_dmz, ipdest=any outside,
portdest=http, proto=tcp, ipsrc=managerfw2_static
7: DROP otherwise
15
 p . Int.ACL accepts p 
 p’ . Int.NAT translates p to p’
 p’.dstprt = p.dstprt
 p’.proto = p.proto
 p’.ipdest = p.ipdest
 ((Ext.ACL denies p’ 
Ext.ACLNew accepts p’) 
(Ext.ACL accepts p’ 
Ext.ACLNew denies p’))
16
p.entry-interface = fw2_int
p.ipsrc = manager
p.ipdest in outIPs
p.srcprt = any
p.dstprt = www
p.protocol = tcp
p.entry-interface = fw2_int
p.ipsrc = employee
p.ipdest in outIPs
p.srcprt = any
p.dstprt = www
p.protocol = tcp
p.entry-interface = fw2_int
p.ipsrc = contractor
p.ipdest in outIPs
p.srcprt = any
p.dstprt = www
p.protocol = tcp
17
Defining Difference
p.entry-interface = fw2_int
p.ipsrc = contractor
p.ipdest in outIPs
p.srcprt = any
p.dstprt = www
p.protocol = tcp
p.entry-interface = fw2_int
p.ipsrc = employee
p.ipdest in outIPs
p.srcprt = any
p.dstprt = www
p.protocol = tcp
packets
A function mapping
requests to
changes in outcome

Deny to Permit
Permit to Deny
18
Change as a First-Class Entity
• Restrict changes to External Firewall
View
• Which machines lost privileges?
Query
• Confirm no machines gained privileges
Verification
19
Configuration checking
Refactoring testing
?
“What if” questions
Upgrade checking
Finding hotspots
Mutation
testing
20
Scenario-Based Output
p.entry-interface = fw2_int
p.ipsrc = contractor
p.ipdest in outIPs
p.srcprt = any
p.dstprt = www
p.protocol = tcp
p.entry-interface = fw2_int
p.ipsrc = employee
p.ipdest in outIPs
p.srcprt = any
p.dstprt = www
p.protocol = tcp
21
Exhaustive Answers
(in Some (Useful) Cases)
Bernays-Schönfinkel-Ramsey +
overloading (subtyping) and empty sorts
22
Minimality
23
Multi-Lingual Support
Datalog-based intermediate language
24
Margrave Supports…
• Most of XACML 1.0 and 2.0
• Cisco IOS:
–
–
–
–
ACL: standard and extended
NAT: static; dynamic: ACL-based, map-based
routing: static and policy-based
limited: BGP announcements and VPN endpoints
• Amazon Access Policy Language (in SQS)
• Hypervisor, based on sHype (IBM)
25
How SDNs Change Things
Global view of Configuration and State:
 Current networks: hard
 SDNs: easy
(But you already know all that.)
26
27
Principles Recap
Property-free analysis
Change-impact w/ first-class changes
Scenario-based output
Exhaustive answers (where possible)
Minimality
Multi-lingual support
28
• Dan Dougherty [WPI]
• Kathi Fisler [WPI]
• Tim Nelson [WPI]
• Alums:
– Chris Barratt [Brown ScM  BEA]
– Leo Meyerovich [Brown u.g.  Berkeley]
– Michael Tschantz [Brown u.g.  CMU]
http://www.margrave-tool.org/
29
Download