SlideShare a Scribd company logo
Model-driven Extraction and Analysis of
Network Security Policies
MODELS 2013
Salvador Mart´ınez1
, Joaqu´ın Garc´ıa-Alfaro2
, Fr´ed´eric Cuppens2
,
Nora Cuppens-Boulahia2
, Jordi Cabot1
1
AtlanMod, INRIA / Ecole de Mines de Nantes
2
T´el´ecom Bretagne ; LUSSI Department Universit´e Europ´eenne de Bretagne
October, 2013
Introduction
Security is a critical concern. . .
c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
Introduction
Security is a critical concern. . . At the network level, firewalls play a key role
c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
Introduction
Security is a critical concern. . . At the network level, firewalls play a key role
Why so?
c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
Introduction
Security is a critical concern. . . At the network level, firewalls play a key role
Why so?
They implement access control policies in networks
c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
Introduction
Security is a critical concern. . . At the network level, firewalls play a key role
Why so?
They implement access control policies in networks
Subjects = Hosts (acting as message senders)
Objects = Hosts (acting as message receivers)
Actions = Message sending to hosts with certain characteristics:
Port
Protocol
c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
Introduction
Security is a critical concern. . . At the network level, firewalls play a key role
Why so?
They implement access control policies in networks
Subjects = Hosts (acting as message senders)
Objects = Hosts (acting as message receivers)
Actions = Message sending to hosts with certain characteristics:
Port
Protocol
Confidentiality
c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
Introduction
Security is a critical concern. . . At the network level, firewalls play a key role
Why so?
They implement access control policies in networks
Subjects = Hosts (acting as message senders)
Objects = Hosts (acting as message receivers)
Actions = Message sending to hosts with certain characteristics:
Port
Protocol
Confidentiality
Integrity
c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
Introduction
Implementation of a network security policy:
Done generally by hand
Low-level and vendor-specific rule filtering languages
Topology: Policy enforcement distributed.
c AtlanMod – atlanmod-contact@mines-nantes.fr 3/31
Introduction
Implementation of a network security policy:
Done generally by hand
Low-level and vendor-specific rule filtering languages
Topology: Policy enforcement distributed.
CONSEQUENCES:
Knowing which policy is actually being enforced is a challenge
Possible security flaws
Hampers evolution
c AtlanMod – atlanmod-contact@mines-nantes.fr 3/31
Introduction
Implementation of a network security policy:
Done generally by hand
Low-level and vendor-specific rule filtering languages
Topology: Policy enforcement distributed.
CONSEQUENCES:
Knowing which policy is actually being enforced is a challenge
Possible security flaws
Hampers evolution
Solution? Raise abstraction level
Abstracts from low-level system specificities
Abstracts from topology
Simplifies management of the policy
c AtlanMod – atlanmod-contact@mines-nantes.fr 3/31
Motivation
Intranet: private hosts + administrator
DMZ providing: HTTP/HTTPS, FTP, SMTP and SSH
Public Hosts
2 firewalls controlling:
Firewall 1: traffic between public hosts and DMZ
Firewall 2: traffic between intranet and DMZ
c AtlanMod – atlanmod-contact@mines-nantes.fr 4/31
FW1 Conf.
iptables −P INPUT DROP
iptables −P FORWARD DROP
iptables −P OUTPUT DROP
iptables −N Out_SMTP
iptables −A FORWARD −s 1 1 1 . 2 2 2 . 1 . 1 7 −d 0 . 0 . 0 . 0 / 0 −p tcp −−dport 25 −j Out_SMTP
iptables −A Out_SMTP −d 111.222.0.0/16 −j RETURN
iptables −A Out_SMTP −j ACCEPT
iptables −N In_SMPT
iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 25 −j Out_SMTP
iptables −A Out_SMTP −s 111.222.0.0/16 −j RETURN
iptables −A Out_SMTP −j ACCEPT
iptables −N NetWeb_HTTP
iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 80 −j NetWeb_HTTP
iptables −A NetWeb_HTTP −s 111.222.0.0/16 −j RETURN
iptables −A NetWeb_HTTP −j ACCEPT
Netfilter iptables conf. file using custom chains
c AtlanMod – atlanmod-contact@mines-nantes.fr 5/31
FW1 Conf.
iptables −P INPUT DROP
iptables −P FORWARD DROP
iptables −P OUTPUT DROP
iptables −N Out_SMTP
iptables −A FORWARD −s 1 1 1 . 2 2 2 . 1 . 1 7 −d 0 . 0 . 0 . 0 / 0 −p tcp −−dport 25 −j Out_SMTP
iptables −A Out_SMTP −d 111.222.0.0/16 −j RETURN
iptables −A Out_SMTP −j ACCEPT
iptables −N In_SMPT
iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 25 −j Out_SMTP
iptables −A Out_SMTP −s 111.222.0.0/16 −j RETURN
iptables −A Out_SMTP −j ACCEPT
iptables −N NetWeb_HTTP
iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 80 −j NetWeb_HTTP
iptables −A NetWeb_HTTP −s 111.222.0.0/16 −j RETURN
iptables −A NetWeb_HTTP −j ACCEPT
Netfilter iptables conf. file using custom chains
1 Default policy
c AtlanMod – atlanmod-contact@mines-nantes.fr 5/31
FW1 Conf.
iptables −P INPUT DROP
iptables −P FORWARD DROP
iptables −P OUTPUT DROP
iptables −N Out_SMTP
iptables −A FORWARD −s 1 1 1 . 2 2 2 . 1 . 1 7 −d 0 . 0 . 0 . 0 / 0 −p tcp −−dport 25 −j Out_SMTP
iptables −A Out_SMTP −d 111.222.0.0/16 −j RETURN
iptables −A Out_SMTP −j ACCEPT
iptables −N In_SMPT
iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 25 −j Out_SMTP
iptables −A Out_SMTP −s 111.222.0.0/16 −j RETURN
iptables −A Out_SMTP −j ACCEPT
iptables −N NetWeb_HTTP
iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 80 −j NetWeb_HTTP
iptables −A NetWeb_HTTP −s 111.222.0.0/16 −j RETURN
iptables −A NetWeb_HTTP −j ACCEPT
Netfilter iptables conf. file using custom chains
1 Default policy
2 Controls outcoming SMTP messages.
c AtlanMod – atlanmod-contact@mines-nantes.fr 5/31
FW1 Conf.
iptables −P INPUT DROP
iptables −P FORWARD DROP
iptables −P OUTPUT DROP
iptables −N Out_SMTP
iptables −A FORWARD −s 1 1 1 . 2 2 2 . 1 . 1 7 −d 0 . 0 . 0 . 0 / 0 −p tcp −−dport 25 −j Out_SMTP
iptables −A Out_SMTP −d 111.222.0.0/16 −j RETURN
iptables −A Out_SMTP −j ACCEPT
iptables −N In_SMPT
iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 25 −j Out_SMTP
iptables −A Out_SMTP −s 111.222.0.0/16 −j RETURN
iptables −A Out_SMTP −j ACCEPT
iptables −N NetWeb_HTTP
iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 80 −j NetWeb_HTTP
iptables −A NetWeb_HTTP −s 111.222.0.0/16 −j RETURN
iptables −A NetWeb_HTTP −j ACCEPT
Netfilter iptables conf. file using custom chains
1 Default policy
2 Controls outcoming SMTP messages.
3 Controls incoming SMTP messages to the server
c AtlanMod – atlanmod-contact@mines-nantes.fr 5/31
FW1 Conf.
iptables −P INPUT DROP
iptables −P FORWARD DROP
iptables −P OUTPUT DROP
iptables −N Out_SMTP
iptables −A FORWARD −s 1 1 1 . 2 2 2 . 1 . 1 7 −d 0 . 0 . 0 . 0 / 0 −p tcp −−dport 25 −j Out_SMTP
iptables −A Out_SMTP −d 111.222.0.0/16 −j RETURN
iptables −A Out_SMTP −j ACCEPT
iptables −N In_SMPT
iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 25 −j Out_SMTP
iptables −A Out_SMTP −s 111.222.0.0/16 −j RETURN
iptables −A Out_SMTP −j ACCEPT
iptables −N NetWeb_HTTP
iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 80 −j NetWeb_HTTP
iptables −A NetWeb_HTTP −s 111.222.0.0/16 −j RETURN
iptables −A NetWeb_HTTP −j ACCEPT
Netfilter iptables conf. file using custom chains
1 Default policy
2 Controls outcoming SMTP messages.
3 Controls incoming SMTP messages to the server
4 Controls the HTTP requests from the public hosts
c AtlanMod – atlanmod-contact@mines-nantes.fr 5/31
FW1 Conf.
iptables −P INPUT DROP
iptables −P FORWARD DROP
iptables −P OUTPUT DROP
iptables −N Out_SMTP
iptables −A FORWARD −s 1 1 1 . 2 2 2 . 1 . 1 7 −d 0 . 0 . 0 . 0 / 0 −p tcp −−dport 25 −j Out_SMTP
iptables −A Out_SMTP −d 111.222.0.0/16 −j RETURN
iptables −A Out_SMTP −j ACCEPT
iptables −N In_SMPT
iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 25 −j Out_SMTP
iptables −A Out_SMTP −s 111.222.0.0/16 −j RETURN
iptables −A Out_SMTP −j ACCEPT
iptables −N NetWeb_HTTP
iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 80 −j NetWeb_HTTP
iptables −A NetWeb_HTTP −s 111.222.0.0/16 −j RETURN
iptables −A NetWeb_HTTP −j ACCEPT
Netfilter iptables conf. file using custom chains
1 Default policy
2 Controls outcoming SMTP messages.
3 Controls incoming SMTP messages to the server
4 Controls the HTTP requests from the public hosts
5 Local hosts are not allowed to use services!!!
c AtlanMod – atlanmod-contact@mines-nantes.fr 5/31
Fw2. Conf
access−list eth1_acl_in remark Fw2Policy 0 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 25
access−list eth1_acl_in remark Fw2Policy 1 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 25
access−list eth1_acl_in remark Fw2Policy 2 (global)
access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 25
access−list eth1_acl_in remark Fw2Policy 4 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 80
access−list eth1_acl_in remark Fw2Policy 5 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 80
access−list eth1_acl_in remark Fw2Policy 3 (global)
access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 80
access−group eth1_acl_in in interface eth1
Cisco PIX conf. file
c AtlanMod – atlanmod-contact@mines-nantes.fr 6/31
Fw2. Conf
access−list eth1_acl_in remark Fw2Policy 0 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 25
access−list eth1_acl_in remark Fw2Policy 1 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 25
access−list eth1_acl_in remark Fw2Policy 2 (global)
access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 25
access−list eth1_acl_in remark Fw2Policy 4 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 80
access−list eth1_acl_in remark Fw2Policy 5 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 80
access−list eth1_acl_in remark Fw2Policy 3 (global)
access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 80
access−group eth1_acl_in in interface eth1
Cisco PIX conf. file
1 Controls incoming SMTP messages to the server
c AtlanMod – atlanmod-contact@mines-nantes.fr 6/31
Fw2. Conf
access−list eth1_acl_in remark Fw2Policy 0 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 25
access−list eth1_acl_in remark Fw2Policy 1 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 25
access−list eth1_acl_in remark Fw2Policy 2 (global)
access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 25
access−list eth1_acl_in remark Fw2Policy 4 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 80
access−list eth1_acl_in remark Fw2Policy 5 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 80
access−list eth1_acl_in remark Fw2Policy 3 (global)
access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 80
access−group eth1_acl_in in interface eth1
Cisco PIX conf. file
1 Controls incoming SMTP messages to the server
2 Controls the HTTP requests
c AtlanMod – atlanmod-contact@mines-nantes.fr 6/31
Fw2. Conf
access−list eth1_acl_in remark Fw2Policy 0 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 25
access−list eth1_acl_in remark Fw2Policy 1 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 25
access−list eth1_acl_in remark Fw2Policy 2 (global)
access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 25
access−list eth1_acl_in remark Fw2Policy 4 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 80
access−list eth1_acl_in remark Fw2Policy 5 (global)
access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 80
access−list eth1_acl_in remark Fw2Policy 3 (global)
access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 80
access−group eth1_acl_in in interface eth1
Cisco PIX conf. file
1 Controls incoming SMTP messages to the server
2 Controls the HTTP requests
3 Add rules to the interface
c AtlanMod – atlanmod-contact@mines-nantes.fr 6/31
Example: Evaluation
Expert knowledge about netfilter iptables and Cisco PIX is required:
Its syntax
Its execution semantics
The topology has to be known to ease the understanding on the policy of
the individual firewalls.
All the firewalls have to be taken into account to derive a global policy.
c AtlanMod – atlanmod-contact@mines-nantes.fr 7/31
Example: Evaluation
Expert knowledge about netfilter iptables and Cisco PIX is required:
Its syntax
Its execution semantics
The topology has to be known to ease the understanding on the policy of
the individual firewalls.
All the firewalls have to be taken into account to derive a global policy.
Some numbers: M: Number of firewalls and N: Number of rules
Big companies M >> N example BNP network: M ≈ 1000, N ≈ 100
Small companies N >> M
c AtlanMod – atlanmod-contact@mines-nantes.fr 7/31
Example: Evaluation
Expert knowledge about netfilter iptables and Cisco PIX is required:
Its syntax
Its execution semantics
The topology has to be known to ease the understanding on the policy of
the individual firewalls.
All the firewalls have to be taken into account to derive a global policy.
Some numbers: M: Number of firewalls and N: Number of rules
Big companies M >> N example BNP network: M ≈ 1000, N ≈ 100
Small companies N >> M
Manual approach?
for corporate networks, M (potentially from different vendors) and N are big
enough to make the task very hard.
c AtlanMod – atlanmod-contact@mines-nantes.fr 7/31
Approach
Solution? Raise abstraction level
Abstracts from low-level system specificities
Abstracts from topology
Simplifies management of the policy
c AtlanMod – atlanmod-contact@mines-nantes.fr 8/31
Approach
Solution? Raise abstraction level
Abstracts from low-level system specificities
Abstracts from topology
Simplifies management of the policy
Our proposal
Model-driven extraction process towards a network access-control model
representing the global policy of the system.
c AtlanMod – atlanmod-contact@mines-nantes.fr 8/31
Approach
c AtlanMod – atlanmod-contact@mines-nantes.fr 9/31
Approach: Injection
Mere translation between technical spaces:
No information-loss
Same abstraction level
c AtlanMod – atlanmod-contact@mines-nantes.fr 10/31
Approach: Injection
Mere translation between technical spaces:
No information-loss
Same abstraction level
Requirements: For each different rule-filtering language we need
A PSM
A parser
An injector
c AtlanMod – atlanmod-contact@mines-nantes.fr 10/31
Approach: Injection
Mere translation between technical spaces:
No information-loss
Same abstraction level
Requirements: For each different rule-filtering language we need
A PSM
A parser
An injector
We can obtain this by providing the language grammar to XTEXT
c AtlanMod – atlanmod-contact@mines-nantes.fr 10/31
Implementation: XTEXT
Model:
rules += Rule∗;
Rule:
AccessGroup | AccessList;
AccessGroup:
’access−group’ id=ID ’in’ ’interface’
interface=Interface;
Interface:
id=ID;
AccessList:
( ’no ’ ) ? ’access−list’ id=ID
decision=( ’deny’ | ’permit ’ )
protocol=Protocol
protocolObjectGroup=ProtocolObjectGroup
serviceObjectGroup=ServiceObjectGroup
networkObjectGroup=NetworkObjectGroup;
ProtocolObjectGroup:
(pogId=ID) ? sourceAddress=IPExpr
sourceMask=MaskExpr;
ServiceObjectGroup:
targetAddress=IPExpr targetMask=IPExpr;
NetworkObjectGroup:
operator=Operator port=INT;
Operator:
name=( ’eq’ | ’lt’ | ’gt ’ ) ;
Protocol:
name= ( ’tcp’ | ’udp’ | ’ip ’ ) ;
IPExpr:
INT ’ . ’ INT ’ .
Figure: Cisco Metamodel excerpt
c AtlanMod – atlanmod-contact@mines-nantes.fr 11/31
Implementation: XTEXT
Model:
rules += Rule∗;
Rule:
declaration=ChainDeclaration |
filter=FilterDeclaration;
FilterDeclaration:
filter=FilteringSpec;
FilteringSpec:
FilterSpec;
FilterSpec:
’iptables’ option=(’−A’ | ’−D’ | ’−P ’ )
chain=Chain ((’−src’ | ’−s ’ ) ip=IPExpr) ?
(’−i’ interface=Interface) ?
(’−d’ ipDst=IPExpr) ?
(’−p’ protocol=Protocol) ?
(’−m’ matches=Protocol) ?
(’−−sport’ sourcePort=INT) ?
(’−−dport’ destinationPort=INT) ?
(’−j ’ ) ? target=Target;
Interface:
name=ID;
Protocol:
Tcp | Udp | Icmp;
Target:
ID;
Chain:
chainName = ID;
CustomChain:
name=[ChainName ] ;
ChainDeclaration:
’iptables’ ’−N’ ChainName;
ChainName:
name=ID;
IPExpr:
INT ’ . ’ INT ’ .
Figure: Iptables Metamodel excerpt
c AtlanMod – atlanmod-contact@mines-nantes.fr 12/31
Approach
c AtlanMod – atlanmod-contact@mines-nantes.fr 13/31
Approach
Solution? Raise abstraction level
Abstracts from low-level system specificities
Abstracts from topology
Simplifies management of the policy
c AtlanMod – atlanmod-contact@mines-nantes.fr 13/31
Approach: PSM2PIM
Simplest PIM: Ri : {conditions} → {decision}
i: order within the the conf file
condition: a set of rule matching attributes like ip source address
decision: accept or deny
c AtlanMod – atlanmod-contact@mines-nantes.fr 14/31
Approach: PSM2PIM
Simplest PIM: Ri : {conditions} → {decision}
i: order within the the conf file
condition: a set of rule matching attributes like ip source address
decision: accept or deny
Problems?
Highly redundant and disperse
Not suited to represent exception oriented access-control
Anomalies (positive-negative logic conflicts + execution algorithm)
c AtlanMod – atlanmod-contact@mines-nantes.fr 14/31
Metamodel
Network Access-control Metamodel
Platform-independent
Supports the representation of exceptions
Supports the identification of anomalies
c AtlanMod – atlanmod-contact@mines-nantes.fr 15/31
PSM2PIM
First step: Transform the PSM into the corresponding PIM
Rule shadowing: a rule R is shadowed when it never applies because another
rule with higher priority matches all the packets it may match.
Rule redundancy: a rule R is redundant when it is not shadowed and removing
it from the rule set does not change the security policy.
Rule irrelevance: a rule R is irrelevant when it is meant to match packets that
does not pass by a given firewall.
Second step: PIM refinement
Improves internal organization: Representation of exceptions
Detection of anomalies
c AtlanMod – atlanmod-contact@mines-nantes.fr 16/31
PSM2PIM refining algorithm 1
Algorithm 1
1: C← All Connections
2: Caccept ← Ci ∈ C (Ci .decision = Accept)
3: for each Ci ∈ Caccept do
4: Cdeny ← CJ ∈ C (Cj .decision = Deny and Matched of Cj ⊆ matched Ci )
5: for each Cj ∈ Cdeny do
6: if Cj .order < Ci .order then
7: Create Exception
8: Remove Cj
9: else
10: Cj .IsShadowed ← true
11: end if
12: end for
13: end for
14: Cdeny ← Cj ∈ C (Cj .decision=Deny and Cj .isShadowed=false)
15: for each Ci ∈ Cdeny do
16: Cj .IsRedundant ← true
17: end for
c AtlanMod – atlanmod-contact@mines-nantes.fr 17/31
PSM2PIM refining algorithm 1
Algorithm 1
1: C← All Connections
2: Caccept ← Ci ∈ C (Ci .decision = Accept)
3: for each Ci ∈ Caccept do
4: Cdeny ← CJ ∈ C (Cj .decision = Deny and Matched of Cj ⊆ matched Ci )
5: for each Cj ∈ Cdeny do
6: if Cj .order < Ci .order then
7: Create Exception
8: Remove Cj
9: else
10: Cj .IsShadowed ← true
11: end if
12: end for
13: end for
14: Cdeny ← Cj ∈ C (Cj .decision=Deny and Cj .isShadowed=false)
15: for each Ci ∈ Cdeny do
16: Cj .IsRedundant ← true
17: end for
c AtlanMod – atlanmod-contact@mines-nantes.fr 18/31
Implementation: ATL
r u l e deleteDeny{
from
s : NetworkAC ! Connection (
s . decision = #Deny and
thisModule .
→TotalExceptionRules
→ . includes ( s ) )
to
drop
t : NetworkAC ! Exception (
decision <− s . decision ,
dstPort <− s . dstPort ,
firewall <− s . firewall ,
order <− s . order ,
protocol <− s . protocol ,
source <− s . source ,
srcPort <− s . srcPort ,
target <− s . target
)
}
r u l e MarkShadowed{
from
s : NetworkAC ! Connection (
s . decision = #Deny and
thisModule . ShadowedRules .
→includes ( s ) )
to
t : NetworkAC ! Connection (
isShadowed <− true
)
}
r u l e MarkRedundant{
from
s : NetworkAC ! Connection (
s . decision = #Deny and
thisModule . ShadowedRules .
→excludes ( s )
and
thisModule .
→TotalExceptionRules
→ . excludes ( s ) )
to
t : NetworkAC ! Connection (
isRedundant <− true
)
}
c AtlanMod – atlanmod-contact@mines-nantes.fr 19/31
Approach
c AtlanMod – atlanmod-contact@mines-nantes.fr 20/31
Approach
Solution? Raise abstraction level
Abstracts from low-level system specificities
Abstracts from topology
Simplifies management of the policy
c AtlanMod – atlanmod-contact@mines-nantes.fr 20/31
PIM Aggregation
An individual firewall gives only a partial vision of the security enforced in the
whole network.
E.g., The access to the SMTP service is managed by both firewalls, one
allowing the access from the public host and one allowing the access from the
intranet.
We need to aggregate the individual models!!
REVERSIBLE: Each Connection keeps original firewall and rule ordering.
GlobalModel = Mi ∪ Mj . . . ∪ Mn
Refinement to assign types to Network Elements
c AtlanMod – atlanmod-contact@mines-nantes.fr 21/31
Approach
c AtlanMod – atlanmod-contact@mines-nantes.fr 22/31
Applications: Refinement
Individual firewalls may contain only locally relevant information.
We need to discern between locally and globally relevant information!!
The global model is easier to understand
Isolate the policy from the enforcement topology
Algorithm 2
1: C← All Connections
2: E← All Exceptions
3: for each Ei ∈ E do
4: L← Ci ∈ C (Ci .firewall = Ei .firewall and Matched of Ci ⊆ matched Ei )
5: if L = ∅ then
6: Ei .IsLocal ← true
7: for each Ci ∈ L do
8: Ci .IsLocal ← true
9: end for
10: end if
11: end for
c AtlanMod – atlanmod-contact@mines-nantes.fr 23/31
Applications:Metrics & queries
We query our model for the existence of any connection allowing the
administrator host (111.222.2.54) to connect to the server (111.222.1.17):
c AtlanMod – atlanmod-contact@mines-nantes.fr 24/31
Applications:Metrics & queries
We query our model for the existence of any connection allowing the
administrator host (111.222.2.54) to connect to the server (111.222.1.17):
E v a l u a t i n g :
s e l f . c o n n e c t i o n s −>e x i s t s (
e | e . s o u r c e . i p A d d r = ’111.222.2.54 ’
a n d e . t a r g e t . i p A d d r = ’111.222.1.17 ’)
R e s u l t s :
f a l s e
c AtlanMod – atlanmod-contact@mines-nantes.fr 24/31
Applications:Visualization
Figure: Extracted network topology
c AtlanMod – atlanmod-contact@mines-nantes.fr 25/31
Approach
c AtlanMod – atlanmod-contact@mines-nantes.fr 26/31
Applications:PIM 2 XACML
XACML PIM Metamodel
PolicySet A PolicySet containing a Policy is created for each firewall
in the PIM
Policy All the Connections and Exceptions belonging to a given
firewall
Rule A single connection or Exception
Subject Source NetworkElement address and source port of a given
Connection or Exception
Resource Target NetworkElement address and target port a given
Connection or Exception
Action Not mapped. The action is always the ability of sending a
message.
Condition Protocol field
Table: PIM to XACML Mappings
c AtlanMod – atlanmod-contact@mines-nantes.fr 27/31
Applications:PIM 2 XACML
<Rule Effect=”Deny” RuleId=”1”>
<Description />
<Target>
<Subjects>
<Subject>
<SubjectMatch MatchId=””>
<AttributeValue DataType=”http://www. w3. org/2001/XMLSchema#string”>
111.222.2.54 </AttributeValue>
<SubjectAttributeDesignator />
</SubjectMatch>
</Subject>
</Subjects>
<Resources>
<Resource>
<ResourceMatch MatchId=”urn: oasis: names: tc: xacml : 1 . 0 : function: string−equal”>
<AttributeValue DataType=”http://www. w3. org/2001/XMLSchema#string”>
111.222.1.17 </AttributeValue>
<ResourceAttributeDesignator />
</ResourceMatch>
</Resource>
</Resources>
</Target>
<Condition>
<SubjectAttributeDesignator AttributeId=”protocol”
DataType=”http://www. w3. org/2001/XMLSchema#string” />
</Condition>
</Rule>
c AtlanMod – atlanmod-contact@mines-nantes.fr 28/31
Implementation
Eclipse-based implementation
c AtlanMod – atlanmod-contact@mines-nantes.fr 29/31
Implementation
Eclipse-based implementation
EMF as modelling framework
c AtlanMod – atlanmod-contact@mines-nantes.fr 29/31
Implementation
Eclipse-based implementation
EMF as modelling framework
XTEXT as DSL definition framework
c AtlanMod – atlanmod-contact@mines-nantes.fr 29/31
Implementation
Eclipse-based implementation
EMF as modelling framework
XTEXT as DSL definition framework
ATL as transformation framework
c AtlanMod – atlanmod-contact@mines-nantes.fr 29/31
Implementation
Eclipse-based implementation
EMF as modelling framework
XTEXT as DSL definition framework
ATL as transformation framework
XPAND as Model to Text framework
c AtlanMod – atlanmod-contact@mines-nantes.fr 29/31
Implementation
Eclipse-based implementation
EMF as modelling framework
XTEXT as DSL definition framework
ATL as transformation framework
XPAND as Model to Text framework
http://www.emn.fr/z-info/atlanmod/index.php/Firewall_Reverse_
Engineering
c AtlanMod – atlanmod-contact@mines-nantes.fr 29/31
Conclusions & Future Works
MDE succeeds to isolate the policy from low-level specificities
c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
Conclusions & Future Works
MDE succeeds to isolate the policy from low-level specificities
Easier to understand
c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
Conclusions & Future Works
MDE succeeds to isolate the policy from low-level specificities
Easier to understand
Easier to manipulate (reusability of proved MDE tools)
c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
Conclusions & Future Works
MDE succeeds to isolate the policy from low-level specificities
Easier to understand
Easier to manipulate (reusability of proved MDE tools)
Enables migration and evolution.
c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
Conclusions & Future Works
MDE succeeds to isolate the policy from low-level specificities
Easier to understand
Easier to manipulate (reusability of proved MDE tools)
Enables migration and evolution.
Future Works
c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
Conclusions & Future Works
MDE succeeds to isolate the policy from low-level specificities
Easier to understand
Easier to manipulate (reusability of proved MDE tools)
Enables migration and evolution.
Future Works
Extend to other network components such as MPLS routers, IDS, etc
c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
Conclusions & Future Works
MDE succeeds to isolate the policy from low-level specificities
Easier to understand
Easier to manipulate (reusability of proved MDE tools)
Enables migration and evolution.
Future Works
Extend to other network components such as MPLS routers, IDS, etc
Extend XACML with network-specific attributes
c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
Conclusions & Future Works
MDE succeeds to isolate the policy from low-level specificities
Easier to understand
Easier to manipulate (reusability of proved MDE tools)
Enables migration and evolution.
Future Works
Extend to other network components such as MPLS routers, IDS, etc
Extend XACML with network-specific attributes
Apply our approach to real corporation networks
c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
Thank you!
Thank you!
Contact:
Salvador Mart´ınez
AtlanMod, INRIA and ´Ecole des Mines de Nantes
salvador.martinez perez@inria.fr
c AtlanMod – atlanmod-contact@mines-nantes.fr 31/31

More Related Content

What's hot

Ha systems-with-heartbeatv2
Ha systems-with-heartbeatv2Ha systems-with-heartbeatv2
Ha systems-with-heartbeatv2
Marian Marinov
 
Complete squid &amp; firewall configuration. plus easy mac binding
Complete squid &amp; firewall configuration. plus easy mac bindingComplete squid &amp; firewall configuration. plus easy mac binding
Complete squid &amp; firewall configuration. plus easy mac binding
Chanaka Lasantha
 
IPSec VPN
IPSec VPNIPSec VPN
Trabalho rede i_stp_2
Trabalho rede i_stp_2Trabalho rede i_stp_2
Trabalho rede i_stp_2
Rafael Copatti
 
Ipsec
IpsecIpsec
Proxy arp
Proxy arpProxy arp
Proxy arp
Marian Marinov
 
Sc manual
Sc manualSc manual
Sc manual
MugdhaDeodhar
 
Scanning The Intertubes For Voip
Scanning The Intertubes For VoipScanning The Intertubes For Voip
Scanning The Intertubes For Voip
Sandro Gauci
 
3 scanning-ger paoctes-pub
3  scanning-ger paoctes-pub3  scanning-ger paoctes-pub
3 scanning-ger paoctes-pubCassio Ramos
 
Cisco CCNA Port Security
Cisco CCNA Port SecurityCisco CCNA Port Security
Cisco CCNA Port Security
Hamed Moghaddam
 
Cisco CCNA-CCNP IP SLA Configuration
Cisco CCNA-CCNP IP SLA ConfigurationCisco CCNA-CCNP IP SLA Configuration
Cisco CCNA-CCNP IP SLA Configuration
Hamed Moghaddam
 
Debugging 2013- Jesper Brouer
Debugging 2013- Jesper BrouerDebugging 2013- Jesper Brouer
Debugging 2013- Jesper Brouer
Mediehuset Ingeniøren Live
 
Cisco CCNA IPV6 Static Configuration
Cisco CCNA  IPV6 Static ConfigurationCisco CCNA  IPV6 Static Configuration
Cisco CCNA IPV6 Static Configuration
Hamed Moghaddam
 
Packet Tracer Simulation Lab Layer3 Routing
Packet Tracer Simulation Lab Layer3 RoutingPacket Tracer Simulation Lab Layer3 Routing
Packet Tracer Simulation Lab Layer3 RoutingJohnson Liu
 
Cisco CCNA OSPF IPV6 Configuration
Cisco CCNA OSPF IPV6 ConfigurationCisco CCNA OSPF IPV6 Configuration
Cisco CCNA OSPF IPV6 Configuration
Hamed Moghaddam
 

What's hot (20)

Ha systems-with-heartbeatv2
Ha systems-with-heartbeatv2Ha systems-with-heartbeatv2
Ha systems-with-heartbeatv2
 
Complete squid &amp; firewall configuration. plus easy mac binding
Complete squid &amp; firewall configuration. plus easy mac bindingComplete squid &amp; firewall configuration. plus easy mac binding
Complete squid &amp; firewall configuration. plus easy mac binding
 
Iuwne10 S06 L03
Iuwne10 S06 L03Iuwne10 S06 L03
Iuwne10 S06 L03
 
IPSec VPN
IPSec VPNIPSec VPN
IPSec VPN
 
Trabalho rede i_stp_2
Trabalho rede i_stp_2Trabalho rede i_stp_2
Trabalho rede i_stp_2
 
Ipsec
IpsecIpsec
Ipsec
 
Iuwne10 S06 L01
Iuwne10 S06 L01Iuwne10 S06 L01
Iuwne10 S06 L01
 
Hacking the swisscom modem
Hacking the swisscom modemHacking the swisscom modem
Hacking the swisscom modem
 
Proxy arp
Proxy arpProxy arp
Proxy arp
 
wifi_sw_birdview_v0.4
wifi_sw_birdview_v0.4wifi_sw_birdview_v0.4
wifi_sw_birdview_v0.4
 
Sc manual
Sc manualSc manual
Sc manual
 
Scanning The Intertubes For Voip
Scanning The Intertubes For VoipScanning The Intertubes For Voip
Scanning The Intertubes For Voip
 
3 scanning-ger paoctes-pub
3  scanning-ger paoctes-pub3  scanning-ger paoctes-pub
3 scanning-ger paoctes-pub
 
Cisco CCNA Port Security
Cisco CCNA Port SecurityCisco CCNA Port Security
Cisco CCNA Port Security
 
Cisco CCNA-CCNP IP SLA Configuration
Cisco CCNA-CCNP IP SLA ConfigurationCisco CCNA-CCNP IP SLA Configuration
Cisco CCNA-CCNP IP SLA Configuration
 
Debugging 2013- Jesper Brouer
Debugging 2013- Jesper BrouerDebugging 2013- Jesper Brouer
Debugging 2013- Jesper Brouer
 
Cisco CCNA IPV6 Static Configuration
Cisco CCNA  IPV6 Static ConfigurationCisco CCNA  IPV6 Static Configuration
Cisco CCNA IPV6 Static Configuration
 
Packet Tracer Simulation Lab Layer3 Routing
Packet Tracer Simulation Lab Layer3 RoutingPacket Tracer Simulation Lab Layer3 Routing
Packet Tracer Simulation Lab Layer3 Routing
 
Mpl sv1 qbook
Mpl sv1 qbookMpl sv1 qbook
Mpl sv1 qbook
 
Cisco CCNA OSPF IPV6 Configuration
Cisco CCNA OSPF IPV6 ConfigurationCisco CCNA OSPF IPV6 Configuration
Cisco CCNA OSPF IPV6 Configuration
 

Viewers also liked

Firewall Rule Review and Modelling
Firewall Rule Review and ModellingFirewall Rule Review and Modelling
Firewall Rule Review and Modelling
Marc Ruef
 
Networking Concepts Lesson 10 part 2 - Security Appendix - Eric Vanderburg
Networking Concepts Lesson 10 part 2 - Security Appendix - Eric VanderburgNetworking Concepts Lesson 10 part 2 - Security Appendix - Eric Vanderburg
Networking Concepts Lesson 10 part 2 - Security Appendix - Eric Vanderburg
Eric Vanderburg
 
OCL 2.5 plans
OCL 2.5 plansOCL 2.5 plans
OCL 2.5 plans
Edward Willink
 
OCCIware
OCCIwareOCCIware
OCCIware
OCCIware
 
Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire
Erradi Mohamed
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open sourceKorteby Farouk
 
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware
 
The Importance of Opposites
The Importance of OppositesThe Importance of Opposites
The Importance of Opposites
Edward Willink
 
OCL Specification Status
OCL Specification StatusOCL Specification Status
OCL Specification Status
Edward Willink
 
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware
 
UMLX and QVT and ATL
UMLX and QVT and ATLUMLX and QVT and ATL
UMLX and QVT and ATL
Edward Willink
 
Vbisigk
VbisigkVbisigk
VbisigkISIG
 
What fUML can bring to MBSE?
What fUML can bring to MBSE?What fUML can bring to MBSE?
What fUML can bring to MBSE?
RealTime-at-Work (RTaW)
 
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Edward Willink
 
Model Transformation: A survey of the state of the art
Model Transformation: A survey of the state of the artModel Transformation: A survey of the state of the art
Model Transformation: A survey of the state of the art
Tom Mens
 
Embedded OCL Integration and Debugging
Embedded OCL Integration and DebuggingEmbedded OCL Integration and Debugging
Embedded OCL Integration and Debugging
Edward Willink
 
Timing verification of automotive communication architecture using quantile ...
Timing verification of automotive communication  architecture using quantile ...Timing verification of automotive communication  architecture using quantile ...
Timing verification of automotive communication architecture using quantile ...
RealTime-at-Work (RTaW)
 
النشاط العلمي - الكهرباء
النشاط العلمي  -   الكهرباءالنشاط العلمي  -   الكهرباء
النشاط العلمي - الكهرباء
Erradi Mohamed
 
Collaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsCollaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source Projects
Jordi Cabot
 

Viewers also liked (20)

Firewall Rule Review and Modelling
Firewall Rule Review and ModellingFirewall Rule Review and Modelling
Firewall Rule Review and Modelling
 
Networking Concepts Lesson 10 part 2 - Security Appendix - Eric Vanderburg
Networking Concepts Lesson 10 part 2 - Security Appendix - Eric VanderburgNetworking Concepts Lesson 10 part 2 - Security Appendix - Eric Vanderburg
Networking Concepts Lesson 10 part 2 - Security Appendix - Eric Vanderburg
 
OCL 2.5 plans
OCL 2.5 plansOCL 2.5 plans
OCL 2.5 plans
 
OCCIware
OCCIwareOCCIware
OCCIware
 
Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open source
 
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
 
The Importance of Opposites
The Importance of OppositesThe Importance of Opposites
The Importance of Opposites
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
OCL Specification Status
OCL Specification StatusOCL Specification Status
OCL Specification Status
 
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
 
UMLX and QVT and ATL
UMLX and QVT and ATLUMLX and QVT and ATL
UMLX and QVT and ATL
 
Vbisigk
VbisigkVbisigk
Vbisigk
 
What fUML can bring to MBSE?
What fUML can bring to MBSE?What fUML can bring to MBSE?
What fUML can bring to MBSE?
 
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
 
Model Transformation: A survey of the state of the art
Model Transformation: A survey of the state of the artModel Transformation: A survey of the state of the art
Model Transformation: A survey of the state of the art
 
Embedded OCL Integration and Debugging
Embedded OCL Integration and DebuggingEmbedded OCL Integration and Debugging
Embedded OCL Integration and Debugging
 
Timing verification of automotive communication architecture using quantile ...
Timing verification of automotive communication  architecture using quantile ...Timing verification of automotive communication  architecture using quantile ...
Timing verification of automotive communication architecture using quantile ...
 
النشاط العلمي - الكهرباء
النشاط العلمي  -   الكهرباءالنشاط العلمي  -   الكهرباء
النشاط العلمي - الكهرباء
 
Collaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsCollaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source Projects
 

Similar to Model-driven Extraction and Analysis of Network Security Policies (at MoDELS'13)

Multihomed Linux router
Multihomed Linux routerMultihomed Linux router
Multihomed Linux router
Marian Marinov
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging Ruby
Aman Gupta
 
Ipv6 test plan for opnfv poc v2.2 spirent-vctlab
Ipv6 test plan for opnfv poc v2.2 spirent-vctlabIpv6 test plan for opnfv poc v2.2 spirent-vctlab
Ipv6 test plan for opnfv poc v2.2 spirent-vctlab
Iben Rodriguez
 
How to convert your Linux box into Security Gateway - Part 1
How to convert your Linux box into Security Gateway - Part 1How to convert your Linux box into Security Gateway - Part 1
How to convert your Linux box into Security Gateway - Part 1
n|u - The Open Security Community
 
Debugging Ruby Systems
Debugging Ruby SystemsDebugging Ruby Systems
Debugging Ruby Systems
Engine Yard
 
Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)Ontico
 
Cohesive Networks Support Docs: VNS3 Trend Micro Agent
Cohesive Networks Support Docs: VNS3 Trend Micro Agent Cohesive Networks Support Docs: VNS3 Trend Micro Agent
Cohesive Networks Support Docs: VNS3 Trend Micro Agent
Cohesive Networks
 
PROYECTO VLANS
PROYECTO VLANSPROYECTO VLANS
PROYECTO VLANS
rubendavidsuarez
 
VoiceBootcamp Ccnp collaboration lab guide v1.0 sample
VoiceBootcamp Ccnp collaboration lab guide v1.0 sampleVoiceBootcamp Ccnp collaboration lab guide v1.0 sample
VoiceBootcamp Ccnp collaboration lab guide v1.0 sample
Faisal Khan
 
BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...
BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...
BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...
aaajjj4
 
PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...
PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...
PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...
PROIDEA
 
Technical Overview of QUIC
Technical  Overview of QUICTechnical  Overview of QUIC
Technical Overview of QUIC
shigeki_ohtsu
 
Modul 3 Firewalll.ppt
Modul 3 Firewalll.pptModul 3 Firewalll.ppt
Modul 3 Firewalll.ppt
cemporku
 
ACI MultiPod Config Guide
ACI MultiPod Config GuideACI MultiPod Config Guide
ACI MultiPod Config Guide
Woo Hyung Choi
 
Cumulus networks conversion guide
Cumulus networks conversion guideCumulus networks conversion guide
Cumulus networks conversion guide
Scott Suehle
 
How can you configure Wireshark to always recognize port 444 as an S.pdf
How can you configure Wireshark to always recognize port 444 as an S.pdfHow can you configure Wireshark to always recognize port 444 as an S.pdf
How can you configure Wireshark to always recognize port 444 as an S.pdf
arkleatheray
 
BRKRST-3068 Troubleshooting Catalyst 2K and 3K.pdf
BRKRST-3068  Troubleshooting Catalyst 2K and 3K.pdfBRKRST-3068  Troubleshooting Catalyst 2K and 3K.pdf
BRKRST-3068 Troubleshooting Catalyst 2K and 3K.pdf
ssusercbaa33
 
شرح مبسط جدا لمنهج سيسكو CCNA
شرح مبسط جدا لمنهج سيسكو CCNAشرح مبسط جدا لمنهج سيسكو CCNA
شرح مبسط جدا لمنهج سيسكو CCNA
Dawood Aqlan
 
CCIE R&S Real Lab Workbbok 2018 updated
CCIE R&S Real Lab Workbbok 2018 updatedCCIE R&S Real Lab Workbbok 2018 updated
CCIE R&S Real Lab Workbbok 2018 updated
CCIERNSTRICKS.COM
 

Similar to Model-driven Extraction and Analysis of Network Security Policies (at MoDELS'13) (20)

Multihomed Linux router
Multihomed Linux routerMultihomed Linux router
Multihomed Linux router
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging Ruby
 
Ipv6 test plan for opnfv poc v2.2 spirent-vctlab
Ipv6 test plan for opnfv poc v2.2 spirent-vctlabIpv6 test plan for opnfv poc v2.2 spirent-vctlab
Ipv6 test plan for opnfv poc v2.2 spirent-vctlab
 
How to convert your Linux box into Security Gateway - Part 1
How to convert your Linux box into Security Gateway - Part 1How to convert your Linux box into Security Gateway - Part 1
How to convert your Linux box into Security Gateway - Part 1
 
Debugging Ruby Systems
Debugging Ruby SystemsDebugging Ruby Systems
Debugging Ruby Systems
 
Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)
 
Cohesive Networks Support Docs: VNS3 Trend Micro Agent
Cohesive Networks Support Docs: VNS3 Trend Micro Agent Cohesive Networks Support Docs: VNS3 Trend Micro Agent
Cohesive Networks Support Docs: VNS3 Trend Micro Agent
 
PROYECTO VLANS
PROYECTO VLANSPROYECTO VLANS
PROYECTO VLANS
 
VoiceBootcamp Ccnp collaboration lab guide v1.0 sample
VoiceBootcamp Ccnp collaboration lab guide v1.0 sampleVoiceBootcamp Ccnp collaboration lab guide v1.0 sample
VoiceBootcamp Ccnp collaboration lab guide v1.0 sample
 
BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...
BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...
BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...
 
PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...
PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...
PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...
 
Technical Overview of QUIC
Technical  Overview of QUICTechnical  Overview of QUIC
Technical Overview of QUIC
 
Modul 3 Firewalll.ppt
Modul 3 Firewalll.pptModul 3 Firewalll.ppt
Modul 3 Firewalll.ppt
 
ACI MultiPod Config Guide
ACI MultiPod Config GuideACI MultiPod Config Guide
ACI MultiPod Config Guide
 
Cumulus networks conversion guide
Cumulus networks conversion guideCumulus networks conversion guide
Cumulus networks conversion guide
 
08 (IDNOG01) ARP Guard in IXP by Eric Choy
08 (IDNOG01) ARP Guard in IXP by Eric Choy08 (IDNOG01) ARP Guard in IXP by Eric Choy
08 (IDNOG01) ARP Guard in IXP by Eric Choy
 
How can you configure Wireshark to always recognize port 444 as an S.pdf
How can you configure Wireshark to always recognize port 444 as an S.pdfHow can you configure Wireshark to always recognize port 444 as an S.pdf
How can you configure Wireshark to always recognize port 444 as an S.pdf
 
BRKRST-3068 Troubleshooting Catalyst 2K and 3K.pdf
BRKRST-3068  Troubleshooting Catalyst 2K and 3K.pdfBRKRST-3068  Troubleshooting Catalyst 2K and 3K.pdf
BRKRST-3068 Troubleshooting Catalyst 2K and 3K.pdf
 
شرح مبسط جدا لمنهج سيسكو CCNA
شرح مبسط جدا لمنهج سيسكو CCNAشرح مبسط جدا لمنهج سيسكو CCNA
شرح مبسط جدا لمنهج سيسكو CCNA
 
CCIE R&S Real Lab Workbbok 2018 updated
CCIE R&S Real Lab Workbbok 2018 updatedCCIE R&S Real Lab Workbbok 2018 updated
CCIE R&S Real Lab Workbbok 2018 updated
 

More from Jordi Cabot

AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?
Jordi Cabot
 
Model-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architecturesModel-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architectures
Jordi Cabot
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart software
Jordi Cabot
 
Modeling should be an independent scientific discipline
Modeling should be an independent scientific disciplineModeling should be an independent scientific discipline
Modeling should be an independent scientific discipline
Jordi Cabot
 
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
Jordi Cabot
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effort
Jordi Cabot
 
All Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursAll Researchers Should Become Entrepreneurs
All Researchers Should Become Entrepreneurs
Jordi Cabot
 
The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21
Jordi Cabot
 
Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven Engineering
Jordi Cabot
 
Lessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platformLessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platform
Jordi Cabot
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems Modeling
Jordi Cabot
 
Ingeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulosIngeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulos
Jordi Cabot
 
Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit
Jordi Cabot
 
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Jordi Cabot
 
An LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsAn LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model Transformations
Jordi Cabot
 
WAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIsWAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIs
Jordi Cabot
 
Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?
Jordi Cabot
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?
Jordi Cabot
 
Temporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformTemporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platform
Jordi Cabot
 
UMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL DatabasesUMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL Databases
Jordi Cabot
 

More from Jordi Cabot (20)

AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?
 
Model-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architecturesModel-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architectures
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart software
 
Modeling should be an independent scientific discipline
Modeling should be an independent scientific disciplineModeling should be an independent scientific discipline
Modeling should be an independent scientific discipline
 
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effort
 
All Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursAll Researchers Should Become Entrepreneurs
All Researchers Should Become Entrepreneurs
 
The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21
 
Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven Engineering
 
Lessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platformLessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platform
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems Modeling
 
Ingeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulosIngeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulos
 
Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit
 
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
 
An LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsAn LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model Transformations
 
WAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIsWAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIs
 
Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?
 
Temporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformTemporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platform
 
UMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL DatabasesUMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL Databases
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 

Model-driven Extraction and Analysis of Network Security Policies (at MoDELS'13)

  • 1. Model-driven Extraction and Analysis of Network Security Policies MODELS 2013 Salvador Mart´ınez1 , Joaqu´ın Garc´ıa-Alfaro2 , Fr´ed´eric Cuppens2 , Nora Cuppens-Boulahia2 , Jordi Cabot1 1 AtlanMod, INRIA / Ecole de Mines de Nantes 2 T´el´ecom Bretagne ; LUSSI Department Universit´e Europ´eenne de Bretagne October, 2013
  • 2. Introduction Security is a critical concern. . . c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
  • 3. Introduction Security is a critical concern. . . At the network level, firewalls play a key role c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
  • 4. Introduction Security is a critical concern. . . At the network level, firewalls play a key role Why so? c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
  • 5. Introduction Security is a critical concern. . . At the network level, firewalls play a key role Why so? They implement access control policies in networks c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
  • 6. Introduction Security is a critical concern. . . At the network level, firewalls play a key role Why so? They implement access control policies in networks Subjects = Hosts (acting as message senders) Objects = Hosts (acting as message receivers) Actions = Message sending to hosts with certain characteristics: Port Protocol c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
  • 7. Introduction Security is a critical concern. . . At the network level, firewalls play a key role Why so? They implement access control policies in networks Subjects = Hosts (acting as message senders) Objects = Hosts (acting as message receivers) Actions = Message sending to hosts with certain characteristics: Port Protocol Confidentiality c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
  • 8. Introduction Security is a critical concern. . . At the network level, firewalls play a key role Why so? They implement access control policies in networks Subjects = Hosts (acting as message senders) Objects = Hosts (acting as message receivers) Actions = Message sending to hosts with certain characteristics: Port Protocol Confidentiality Integrity c AtlanMod – atlanmod-contact@mines-nantes.fr 2/31
  • 9. Introduction Implementation of a network security policy: Done generally by hand Low-level and vendor-specific rule filtering languages Topology: Policy enforcement distributed. c AtlanMod – atlanmod-contact@mines-nantes.fr 3/31
  • 10. Introduction Implementation of a network security policy: Done generally by hand Low-level and vendor-specific rule filtering languages Topology: Policy enforcement distributed. CONSEQUENCES: Knowing which policy is actually being enforced is a challenge Possible security flaws Hampers evolution c AtlanMod – atlanmod-contact@mines-nantes.fr 3/31
  • 11. Introduction Implementation of a network security policy: Done generally by hand Low-level and vendor-specific rule filtering languages Topology: Policy enforcement distributed. CONSEQUENCES: Knowing which policy is actually being enforced is a challenge Possible security flaws Hampers evolution Solution? Raise abstraction level Abstracts from low-level system specificities Abstracts from topology Simplifies management of the policy c AtlanMod – atlanmod-contact@mines-nantes.fr 3/31
  • 12. Motivation Intranet: private hosts + administrator DMZ providing: HTTP/HTTPS, FTP, SMTP and SSH Public Hosts 2 firewalls controlling: Firewall 1: traffic between public hosts and DMZ Firewall 2: traffic between intranet and DMZ c AtlanMod – atlanmod-contact@mines-nantes.fr 4/31
  • 13. FW1 Conf. iptables −P INPUT DROP iptables −P FORWARD DROP iptables −P OUTPUT DROP iptables −N Out_SMTP iptables −A FORWARD −s 1 1 1 . 2 2 2 . 1 . 1 7 −d 0 . 0 . 0 . 0 / 0 −p tcp −−dport 25 −j Out_SMTP iptables −A Out_SMTP −d 111.222.0.0/16 −j RETURN iptables −A Out_SMTP −j ACCEPT iptables −N In_SMPT iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 25 −j Out_SMTP iptables −A Out_SMTP −s 111.222.0.0/16 −j RETURN iptables −A Out_SMTP −j ACCEPT iptables −N NetWeb_HTTP iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 80 −j NetWeb_HTTP iptables −A NetWeb_HTTP −s 111.222.0.0/16 −j RETURN iptables −A NetWeb_HTTP −j ACCEPT Netfilter iptables conf. file using custom chains c AtlanMod – atlanmod-contact@mines-nantes.fr 5/31
  • 14. FW1 Conf. iptables −P INPUT DROP iptables −P FORWARD DROP iptables −P OUTPUT DROP iptables −N Out_SMTP iptables −A FORWARD −s 1 1 1 . 2 2 2 . 1 . 1 7 −d 0 . 0 . 0 . 0 / 0 −p tcp −−dport 25 −j Out_SMTP iptables −A Out_SMTP −d 111.222.0.0/16 −j RETURN iptables −A Out_SMTP −j ACCEPT iptables −N In_SMPT iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 25 −j Out_SMTP iptables −A Out_SMTP −s 111.222.0.0/16 −j RETURN iptables −A Out_SMTP −j ACCEPT iptables −N NetWeb_HTTP iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 80 −j NetWeb_HTTP iptables −A NetWeb_HTTP −s 111.222.0.0/16 −j RETURN iptables −A NetWeb_HTTP −j ACCEPT Netfilter iptables conf. file using custom chains 1 Default policy c AtlanMod – atlanmod-contact@mines-nantes.fr 5/31
  • 15. FW1 Conf. iptables −P INPUT DROP iptables −P FORWARD DROP iptables −P OUTPUT DROP iptables −N Out_SMTP iptables −A FORWARD −s 1 1 1 . 2 2 2 . 1 . 1 7 −d 0 . 0 . 0 . 0 / 0 −p tcp −−dport 25 −j Out_SMTP iptables −A Out_SMTP −d 111.222.0.0/16 −j RETURN iptables −A Out_SMTP −j ACCEPT iptables −N In_SMPT iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 25 −j Out_SMTP iptables −A Out_SMTP −s 111.222.0.0/16 −j RETURN iptables −A Out_SMTP −j ACCEPT iptables −N NetWeb_HTTP iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 80 −j NetWeb_HTTP iptables −A NetWeb_HTTP −s 111.222.0.0/16 −j RETURN iptables −A NetWeb_HTTP −j ACCEPT Netfilter iptables conf. file using custom chains 1 Default policy 2 Controls outcoming SMTP messages. c AtlanMod – atlanmod-contact@mines-nantes.fr 5/31
  • 16. FW1 Conf. iptables −P INPUT DROP iptables −P FORWARD DROP iptables −P OUTPUT DROP iptables −N Out_SMTP iptables −A FORWARD −s 1 1 1 . 2 2 2 . 1 . 1 7 −d 0 . 0 . 0 . 0 / 0 −p tcp −−dport 25 −j Out_SMTP iptables −A Out_SMTP −d 111.222.0.0/16 −j RETURN iptables −A Out_SMTP −j ACCEPT iptables −N In_SMPT iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 25 −j Out_SMTP iptables −A Out_SMTP −s 111.222.0.0/16 −j RETURN iptables −A Out_SMTP −j ACCEPT iptables −N NetWeb_HTTP iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 80 −j NetWeb_HTTP iptables −A NetWeb_HTTP −s 111.222.0.0/16 −j RETURN iptables −A NetWeb_HTTP −j ACCEPT Netfilter iptables conf. file using custom chains 1 Default policy 2 Controls outcoming SMTP messages. 3 Controls incoming SMTP messages to the server c AtlanMod – atlanmod-contact@mines-nantes.fr 5/31
  • 17. FW1 Conf. iptables −P INPUT DROP iptables −P FORWARD DROP iptables −P OUTPUT DROP iptables −N Out_SMTP iptables −A FORWARD −s 1 1 1 . 2 2 2 . 1 . 1 7 −d 0 . 0 . 0 . 0 / 0 −p tcp −−dport 25 −j Out_SMTP iptables −A Out_SMTP −d 111.222.0.0/16 −j RETURN iptables −A Out_SMTP −j ACCEPT iptables −N In_SMPT iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 25 −j Out_SMTP iptables −A Out_SMTP −s 111.222.0.0/16 −j RETURN iptables −A Out_SMTP −j ACCEPT iptables −N NetWeb_HTTP iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 80 −j NetWeb_HTTP iptables −A NetWeb_HTTP −s 111.222.0.0/16 −j RETURN iptables −A NetWeb_HTTP −j ACCEPT Netfilter iptables conf. file using custom chains 1 Default policy 2 Controls outcoming SMTP messages. 3 Controls incoming SMTP messages to the server 4 Controls the HTTP requests from the public hosts c AtlanMod – atlanmod-contact@mines-nantes.fr 5/31
  • 18. FW1 Conf. iptables −P INPUT DROP iptables −P FORWARD DROP iptables −P OUTPUT DROP iptables −N Out_SMTP iptables −A FORWARD −s 1 1 1 . 2 2 2 . 1 . 1 7 −d 0 . 0 . 0 . 0 / 0 −p tcp −−dport 25 −j Out_SMTP iptables −A Out_SMTP −d 111.222.0.0/16 −j RETURN iptables −A Out_SMTP −j ACCEPT iptables −N In_SMPT iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 25 −j Out_SMTP iptables −A Out_SMTP −s 111.222.0.0/16 −j RETURN iptables −A Out_SMTP −j ACCEPT iptables −N NetWeb_HTTP iptables −A FORWARD −s 0 . 0 . 0 . 0 / 0 −d 1 1 1 . 2 2 2 . 1 . 1 7 −p tcp −−dport 80 −j NetWeb_HTTP iptables −A NetWeb_HTTP −s 111.222.0.0/16 −j RETURN iptables −A NetWeb_HTTP −j ACCEPT Netfilter iptables conf. file using custom chains 1 Default policy 2 Controls outcoming SMTP messages. 3 Controls incoming SMTP messages to the server 4 Controls the HTTP requests from the public hosts 5 Local hosts are not allowed to use services!!! c AtlanMod – atlanmod-contact@mines-nantes.fr 5/31
  • 19. Fw2. Conf access−list eth1_acl_in remark Fw2Policy 0 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 25 access−list eth1_acl_in remark Fw2Policy 1 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 25 access−list eth1_acl_in remark Fw2Policy 2 (global) access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 25 access−list eth1_acl_in remark Fw2Policy 4 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 80 access−list eth1_acl_in remark Fw2Policy 5 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 80 access−list eth1_acl_in remark Fw2Policy 3 (global) access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 80 access−group eth1_acl_in in interface eth1 Cisco PIX conf. file c AtlanMod – atlanmod-contact@mines-nantes.fr 6/31
  • 20. Fw2. Conf access−list eth1_acl_in remark Fw2Policy 0 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 25 access−list eth1_acl_in remark Fw2Policy 1 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 25 access−list eth1_acl_in remark Fw2Policy 2 (global) access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 25 access−list eth1_acl_in remark Fw2Policy 4 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 80 access−list eth1_acl_in remark Fw2Policy 5 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 80 access−list eth1_acl_in remark Fw2Policy 3 (global) access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 80 access−group eth1_acl_in in interface eth1 Cisco PIX conf. file 1 Controls incoming SMTP messages to the server c AtlanMod – atlanmod-contact@mines-nantes.fr 6/31
  • 21. Fw2. Conf access−list eth1_acl_in remark Fw2Policy 0 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 25 access−list eth1_acl_in remark Fw2Policy 1 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 25 access−list eth1_acl_in remark Fw2Policy 2 (global) access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 25 access−list eth1_acl_in remark Fw2Policy 4 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 80 access−list eth1_acl_in remark Fw2Policy 5 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 80 access−list eth1_acl_in remark Fw2Policy 3 (global) access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 80 access−group eth1_acl_in in interface eth1 Cisco PIX conf. file 1 Controls incoming SMTP messages to the server 2 Controls the HTTP requests c AtlanMod – atlanmod-contact@mines-nantes.fr 6/31
  • 22. Fw2. Conf access−list eth1_acl_in remark Fw2Policy 0 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 25 access−list eth1_acl_in remark Fw2Policy 1 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 25 access−list eth1_acl_in remark Fw2Policy 2 (global) access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 25 access−list eth1_acl_in remark Fw2Policy 4 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 4 1 1 1 . 2 2 2 . 1 . 1 7 eq 80 access−list eth1_acl_in remark Fw2Policy 5 (global) access−list eth1_acl_in deny tcp host 1 1 1 . 2 2 2 . 2 . 5 3 1 1 1 . 2 2 2 . 1 . 1 7 eq 80 access−list eth1_acl_in remark Fw2Policy 3 (global) access−list eth1_acl_in permit tcp 1 1 1 . 2 2 2 . 2 . 0 255.255.255.0 1 1 1 . 2 2 2 . 1 . 1 7 eq 80 access−group eth1_acl_in in interface eth1 Cisco PIX conf. file 1 Controls incoming SMTP messages to the server 2 Controls the HTTP requests 3 Add rules to the interface c AtlanMod – atlanmod-contact@mines-nantes.fr 6/31
  • 23. Example: Evaluation Expert knowledge about netfilter iptables and Cisco PIX is required: Its syntax Its execution semantics The topology has to be known to ease the understanding on the policy of the individual firewalls. All the firewalls have to be taken into account to derive a global policy. c AtlanMod – atlanmod-contact@mines-nantes.fr 7/31
  • 24. Example: Evaluation Expert knowledge about netfilter iptables and Cisco PIX is required: Its syntax Its execution semantics The topology has to be known to ease the understanding on the policy of the individual firewalls. All the firewalls have to be taken into account to derive a global policy. Some numbers: M: Number of firewalls and N: Number of rules Big companies M >> N example BNP network: M ≈ 1000, N ≈ 100 Small companies N >> M c AtlanMod – atlanmod-contact@mines-nantes.fr 7/31
  • 25. Example: Evaluation Expert knowledge about netfilter iptables and Cisco PIX is required: Its syntax Its execution semantics The topology has to be known to ease the understanding on the policy of the individual firewalls. All the firewalls have to be taken into account to derive a global policy. Some numbers: M: Number of firewalls and N: Number of rules Big companies M >> N example BNP network: M ≈ 1000, N ≈ 100 Small companies N >> M Manual approach? for corporate networks, M (potentially from different vendors) and N are big enough to make the task very hard. c AtlanMod – atlanmod-contact@mines-nantes.fr 7/31
  • 26. Approach Solution? Raise abstraction level Abstracts from low-level system specificities Abstracts from topology Simplifies management of the policy c AtlanMod – atlanmod-contact@mines-nantes.fr 8/31
  • 27. Approach Solution? Raise abstraction level Abstracts from low-level system specificities Abstracts from topology Simplifies management of the policy Our proposal Model-driven extraction process towards a network access-control model representing the global policy of the system. c AtlanMod – atlanmod-contact@mines-nantes.fr 8/31
  • 28. Approach c AtlanMod – atlanmod-contact@mines-nantes.fr 9/31
  • 29. Approach: Injection Mere translation between technical spaces: No information-loss Same abstraction level c AtlanMod – atlanmod-contact@mines-nantes.fr 10/31
  • 30. Approach: Injection Mere translation between technical spaces: No information-loss Same abstraction level Requirements: For each different rule-filtering language we need A PSM A parser An injector c AtlanMod – atlanmod-contact@mines-nantes.fr 10/31
  • 31. Approach: Injection Mere translation between technical spaces: No information-loss Same abstraction level Requirements: For each different rule-filtering language we need A PSM A parser An injector We can obtain this by providing the language grammar to XTEXT c AtlanMod – atlanmod-contact@mines-nantes.fr 10/31
  • 32. Implementation: XTEXT Model: rules += Rule∗; Rule: AccessGroup | AccessList; AccessGroup: ’access−group’ id=ID ’in’ ’interface’ interface=Interface; Interface: id=ID; AccessList: ( ’no ’ ) ? ’access−list’ id=ID decision=( ’deny’ | ’permit ’ ) protocol=Protocol protocolObjectGroup=ProtocolObjectGroup serviceObjectGroup=ServiceObjectGroup networkObjectGroup=NetworkObjectGroup; ProtocolObjectGroup: (pogId=ID) ? sourceAddress=IPExpr sourceMask=MaskExpr; ServiceObjectGroup: targetAddress=IPExpr targetMask=IPExpr; NetworkObjectGroup: operator=Operator port=INT; Operator: name=( ’eq’ | ’lt’ | ’gt ’ ) ; Protocol: name= ( ’tcp’ | ’udp’ | ’ip ’ ) ; IPExpr: INT ’ . ’ INT ’ . Figure: Cisco Metamodel excerpt c AtlanMod – atlanmod-contact@mines-nantes.fr 11/31
  • 33. Implementation: XTEXT Model: rules += Rule∗; Rule: declaration=ChainDeclaration | filter=FilterDeclaration; FilterDeclaration: filter=FilteringSpec; FilteringSpec: FilterSpec; FilterSpec: ’iptables’ option=(’−A’ | ’−D’ | ’−P ’ ) chain=Chain ((’−src’ | ’−s ’ ) ip=IPExpr) ? (’−i’ interface=Interface) ? (’−d’ ipDst=IPExpr) ? (’−p’ protocol=Protocol) ? (’−m’ matches=Protocol) ? (’−−sport’ sourcePort=INT) ? (’−−dport’ destinationPort=INT) ? (’−j ’ ) ? target=Target; Interface: name=ID; Protocol: Tcp | Udp | Icmp; Target: ID; Chain: chainName = ID; CustomChain: name=[ChainName ] ; ChainDeclaration: ’iptables’ ’−N’ ChainName; ChainName: name=ID; IPExpr: INT ’ . ’ INT ’ . Figure: Iptables Metamodel excerpt c AtlanMod – atlanmod-contact@mines-nantes.fr 12/31
  • 34. Approach c AtlanMod – atlanmod-contact@mines-nantes.fr 13/31
  • 35. Approach Solution? Raise abstraction level Abstracts from low-level system specificities Abstracts from topology Simplifies management of the policy c AtlanMod – atlanmod-contact@mines-nantes.fr 13/31
  • 36. Approach: PSM2PIM Simplest PIM: Ri : {conditions} → {decision} i: order within the the conf file condition: a set of rule matching attributes like ip source address decision: accept or deny c AtlanMod – atlanmod-contact@mines-nantes.fr 14/31
  • 37. Approach: PSM2PIM Simplest PIM: Ri : {conditions} → {decision} i: order within the the conf file condition: a set of rule matching attributes like ip source address decision: accept or deny Problems? Highly redundant and disperse Not suited to represent exception oriented access-control Anomalies (positive-negative logic conflicts + execution algorithm) c AtlanMod – atlanmod-contact@mines-nantes.fr 14/31
  • 38. Metamodel Network Access-control Metamodel Platform-independent Supports the representation of exceptions Supports the identification of anomalies c AtlanMod – atlanmod-contact@mines-nantes.fr 15/31
  • 39. PSM2PIM First step: Transform the PSM into the corresponding PIM Rule shadowing: a rule R is shadowed when it never applies because another rule with higher priority matches all the packets it may match. Rule redundancy: a rule R is redundant when it is not shadowed and removing it from the rule set does not change the security policy. Rule irrelevance: a rule R is irrelevant when it is meant to match packets that does not pass by a given firewall. Second step: PIM refinement Improves internal organization: Representation of exceptions Detection of anomalies c AtlanMod – atlanmod-contact@mines-nantes.fr 16/31
  • 40. PSM2PIM refining algorithm 1 Algorithm 1 1: C← All Connections 2: Caccept ← Ci ∈ C (Ci .decision = Accept) 3: for each Ci ∈ Caccept do 4: Cdeny ← CJ ∈ C (Cj .decision = Deny and Matched of Cj ⊆ matched Ci ) 5: for each Cj ∈ Cdeny do 6: if Cj .order < Ci .order then 7: Create Exception 8: Remove Cj 9: else 10: Cj .IsShadowed ← true 11: end if 12: end for 13: end for 14: Cdeny ← Cj ∈ C (Cj .decision=Deny and Cj .isShadowed=false) 15: for each Ci ∈ Cdeny do 16: Cj .IsRedundant ← true 17: end for c AtlanMod – atlanmod-contact@mines-nantes.fr 17/31
  • 41. PSM2PIM refining algorithm 1 Algorithm 1 1: C← All Connections 2: Caccept ← Ci ∈ C (Ci .decision = Accept) 3: for each Ci ∈ Caccept do 4: Cdeny ← CJ ∈ C (Cj .decision = Deny and Matched of Cj ⊆ matched Ci ) 5: for each Cj ∈ Cdeny do 6: if Cj .order < Ci .order then 7: Create Exception 8: Remove Cj 9: else 10: Cj .IsShadowed ← true 11: end if 12: end for 13: end for 14: Cdeny ← Cj ∈ C (Cj .decision=Deny and Cj .isShadowed=false) 15: for each Ci ∈ Cdeny do 16: Cj .IsRedundant ← true 17: end for c AtlanMod – atlanmod-contact@mines-nantes.fr 18/31
  • 42. Implementation: ATL r u l e deleteDeny{ from s : NetworkAC ! Connection ( s . decision = #Deny and thisModule . →TotalExceptionRules → . includes ( s ) ) to drop t : NetworkAC ! Exception ( decision <− s . decision , dstPort <− s . dstPort , firewall <− s . firewall , order <− s . order , protocol <− s . protocol , source <− s . source , srcPort <− s . srcPort , target <− s . target ) } r u l e MarkShadowed{ from s : NetworkAC ! Connection ( s . decision = #Deny and thisModule . ShadowedRules . →includes ( s ) ) to t : NetworkAC ! Connection ( isShadowed <− true ) } r u l e MarkRedundant{ from s : NetworkAC ! Connection ( s . decision = #Deny and thisModule . ShadowedRules . →excludes ( s ) and thisModule . →TotalExceptionRules → . excludes ( s ) ) to t : NetworkAC ! Connection ( isRedundant <− true ) } c AtlanMod – atlanmod-contact@mines-nantes.fr 19/31
  • 43. Approach c AtlanMod – atlanmod-contact@mines-nantes.fr 20/31
  • 44. Approach Solution? Raise abstraction level Abstracts from low-level system specificities Abstracts from topology Simplifies management of the policy c AtlanMod – atlanmod-contact@mines-nantes.fr 20/31
  • 45. PIM Aggregation An individual firewall gives only a partial vision of the security enforced in the whole network. E.g., The access to the SMTP service is managed by both firewalls, one allowing the access from the public host and one allowing the access from the intranet. We need to aggregate the individual models!! REVERSIBLE: Each Connection keeps original firewall and rule ordering. GlobalModel = Mi ∪ Mj . . . ∪ Mn Refinement to assign types to Network Elements c AtlanMod – atlanmod-contact@mines-nantes.fr 21/31
  • 46. Approach c AtlanMod – atlanmod-contact@mines-nantes.fr 22/31
  • 47. Applications: Refinement Individual firewalls may contain only locally relevant information. We need to discern between locally and globally relevant information!! The global model is easier to understand Isolate the policy from the enforcement topology Algorithm 2 1: C← All Connections 2: E← All Exceptions 3: for each Ei ∈ E do 4: L← Ci ∈ C (Ci .firewall = Ei .firewall and Matched of Ci ⊆ matched Ei ) 5: if L = ∅ then 6: Ei .IsLocal ← true 7: for each Ci ∈ L do 8: Ci .IsLocal ← true 9: end for 10: end if 11: end for c AtlanMod – atlanmod-contact@mines-nantes.fr 23/31
  • 48. Applications:Metrics & queries We query our model for the existence of any connection allowing the administrator host (111.222.2.54) to connect to the server (111.222.1.17): c AtlanMod – atlanmod-contact@mines-nantes.fr 24/31
  • 49. Applications:Metrics & queries We query our model for the existence of any connection allowing the administrator host (111.222.2.54) to connect to the server (111.222.1.17): E v a l u a t i n g : s e l f . c o n n e c t i o n s −>e x i s t s ( e | e . s o u r c e . i p A d d r = ’111.222.2.54 ’ a n d e . t a r g e t . i p A d d r = ’111.222.1.17 ’) R e s u l t s : f a l s e c AtlanMod – atlanmod-contact@mines-nantes.fr 24/31
  • 50. Applications:Visualization Figure: Extracted network topology c AtlanMod – atlanmod-contact@mines-nantes.fr 25/31
  • 51. Approach c AtlanMod – atlanmod-contact@mines-nantes.fr 26/31
  • 52. Applications:PIM 2 XACML XACML PIM Metamodel PolicySet A PolicySet containing a Policy is created for each firewall in the PIM Policy All the Connections and Exceptions belonging to a given firewall Rule A single connection or Exception Subject Source NetworkElement address and source port of a given Connection or Exception Resource Target NetworkElement address and target port a given Connection or Exception Action Not mapped. The action is always the ability of sending a message. Condition Protocol field Table: PIM to XACML Mappings c AtlanMod – atlanmod-contact@mines-nantes.fr 27/31
  • 53. Applications:PIM 2 XACML <Rule Effect=”Deny” RuleId=”1”> <Description /> <Target> <Subjects> <Subject> <SubjectMatch MatchId=””> <AttributeValue DataType=”http://www. w3. org/2001/XMLSchema#string”> 111.222.2.54 </AttributeValue> <SubjectAttributeDesignator /> </SubjectMatch> </Subject> </Subjects> <Resources> <Resource> <ResourceMatch MatchId=”urn: oasis: names: tc: xacml : 1 . 0 : function: string−equal”> <AttributeValue DataType=”http://www. w3. org/2001/XMLSchema#string”> 111.222.1.17 </AttributeValue> <ResourceAttributeDesignator /> </ResourceMatch> </Resource> </Resources> </Target> <Condition> <SubjectAttributeDesignator AttributeId=”protocol” DataType=”http://www. w3. org/2001/XMLSchema#string” /> </Condition> </Rule> c AtlanMod – atlanmod-contact@mines-nantes.fr 28/31
  • 54. Implementation Eclipse-based implementation c AtlanMod – atlanmod-contact@mines-nantes.fr 29/31
  • 55. Implementation Eclipse-based implementation EMF as modelling framework c AtlanMod – atlanmod-contact@mines-nantes.fr 29/31
  • 56. Implementation Eclipse-based implementation EMF as modelling framework XTEXT as DSL definition framework c AtlanMod – atlanmod-contact@mines-nantes.fr 29/31
  • 57. Implementation Eclipse-based implementation EMF as modelling framework XTEXT as DSL definition framework ATL as transformation framework c AtlanMod – atlanmod-contact@mines-nantes.fr 29/31
  • 58. Implementation Eclipse-based implementation EMF as modelling framework XTEXT as DSL definition framework ATL as transformation framework XPAND as Model to Text framework c AtlanMod – atlanmod-contact@mines-nantes.fr 29/31
  • 59. Implementation Eclipse-based implementation EMF as modelling framework XTEXT as DSL definition framework ATL as transformation framework XPAND as Model to Text framework http://www.emn.fr/z-info/atlanmod/index.php/Firewall_Reverse_ Engineering c AtlanMod – atlanmod-contact@mines-nantes.fr 29/31
  • 60. Conclusions & Future Works MDE succeeds to isolate the policy from low-level specificities c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
  • 61. Conclusions & Future Works MDE succeeds to isolate the policy from low-level specificities Easier to understand c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
  • 62. Conclusions & Future Works MDE succeeds to isolate the policy from low-level specificities Easier to understand Easier to manipulate (reusability of proved MDE tools) c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
  • 63. Conclusions & Future Works MDE succeeds to isolate the policy from low-level specificities Easier to understand Easier to manipulate (reusability of proved MDE tools) Enables migration and evolution. c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
  • 64. Conclusions & Future Works MDE succeeds to isolate the policy from low-level specificities Easier to understand Easier to manipulate (reusability of proved MDE tools) Enables migration and evolution. Future Works c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
  • 65. Conclusions & Future Works MDE succeeds to isolate the policy from low-level specificities Easier to understand Easier to manipulate (reusability of proved MDE tools) Enables migration and evolution. Future Works Extend to other network components such as MPLS routers, IDS, etc c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
  • 66. Conclusions & Future Works MDE succeeds to isolate the policy from low-level specificities Easier to understand Easier to manipulate (reusability of proved MDE tools) Enables migration and evolution. Future Works Extend to other network components such as MPLS routers, IDS, etc Extend XACML with network-specific attributes c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
  • 67. Conclusions & Future Works MDE succeeds to isolate the policy from low-level specificities Easier to understand Easier to manipulate (reusability of proved MDE tools) Enables migration and evolution. Future Works Extend to other network components such as MPLS routers, IDS, etc Extend XACML with network-specific attributes Apply our approach to real corporation networks c AtlanMod – atlanmod-contact@mines-nantes.fr 30/31
  • 68. Thank you! Thank you! Contact: Salvador Mart´ınez AtlanMod, INRIA and ´Ecole des Mines de Nantes salvador.martinez perez@inria.fr c AtlanMod – atlanmod-contact@mines-nantes.fr 31/31