Assessment software development for distributed firewalls
Damien Leroy
Universit´ e Catholique de Louvain Facult´ e des Sciences Appliqu´ ees D´ epartement d’Ing´ enierie Informatique
Ann´ ee acad´ emique 2005-2006
1 Introduction Probl´ ematique Objectifs
2 R´ esolution
Structure g´ en´ erale R´ ealisations
Probl` emes rencontr´ es
3 Conclusions
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 2/27
Un r´eseau d’entreprise type
Un r´eseau d’entreprise type
Probl` eme 1 : Changement de politique
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 4/27
Un r´eseau d’entreprise type
Probl` eme 2 : Interpr´ etation de la politique ` a travers 2 firewalls
Un r´eseau d’entreprise type
Probl` eme 3 : Diff´ erents administrateurs
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 6/27
Un r´eseau d’entreprise type
Probl` eme 3 : Diff´ erents administrateurs
Un r´eseau d’entreprise type
Probl` eme 4 : Types de firewalls diff´ erents
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 7/27
Objectifs
Objectifs principaux :
Visualisation de la politique ` a travers 2 firewalls D´ etection d’anomalies
Objectifs secondaires : Parser au moins 1 langage
Support d’autres langages facilement
Test sur configuration r´ eelle
Objectifs
Objectifs principaux :
Visualisation de la politique ` a travers 2 firewalls D´ etection d’anomalies
Objectifs secondaires : Parser au moins 1 langage
Support d’autres langages facilement Test sur configuration r´ eelle
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 8/27
1 Introduction Probl´ ematique Objectifs
2 R´ esolution
Structure g´ en´ erale R´ ealisations
Probl` emes rencontr´ es
3 Conclusions
Etapes
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 10/27
Etapes
Etapes
3 grandes parties du m´ emoire
1
Langage pour firewalls
2
Parsing vers ce langage
3
Analyse de configuration de firewalls
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 11/27
Langages
Sp´ ecifications
Suffisamment riche
Facilement extensible
Langages
Sp´ ecifications
Suffisamment riche Facilement extensible
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 12/27
Langages
Exemple
< ?xml version="1.0" encoding="UTF-8" ?>
<firewall srclang="Iptables (iptables-save)">
<filtertable>
<frule target="DROP">
<protocol inverted="false">tcp</protocol>
<interfacein inverted="true">eth0</interfacein>
<ipv4>
<src inverted="false">
<ip>1.2.3.4</ip>
</src>
<dst inverted="false"> ... </dst>
</ipv4>
</frule>
<frule target="ACCEPT"> ... </frule>
[...]
</filtertable>
<interface>...</interface>
</firewall>
Langages
Exemple
< ?xml version="1.0" encoding="UTF-8" ?>
<firewall srclang="Iptables (iptables-save)">
<filtertable>
<frule target="DROP">
<protocol inverted="false">tcp</protocol>
<interfacein inverted="true">eth0</interfacein>
<ipv4>
<src inverted="false">
<ip>1.2.3.4</ip>
</src>
<dst inverted="false"> ... </dst>
</ipv4>
</frule>
<frule target="ACCEPT"> ... </frule>
[...]
</filtertable>
<interface>...</interface>
</firewall>
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 13/27
Langages
Exemple
< ?xml version="1.0" encoding="UTF-8" ?>
<firewall srclang="Iptables (iptables-save)">
<filtertable>
<frule target="DROP">
<protocol inverted="false">tcp</protocol>
<interfacein inverted="true">eth0</interfacein>
<ipv4>
<src inverted="false">
<ip>1.2.3.4</ip>
</src>
<dst inverted="false"> ... </dst>
</ipv4>
</frule>
<frule target="ACCEPT"> ... </frule>
[...]
</filtertable>
<interface>...</interface>
</firewall>
Langages
Exemple
< ?xml version="1.0" encoding="UTF-8" ?>
<firewall srclang="Iptables (iptables-save)">
<filtertable>
<frule target="DROP">
<protocol inverted="false">tcp</protocol>
<interfacein inverted="true">eth0</interfacein>
<ipv4>
<src inverted="false">
<ip>1.2.3.4</ip>
</src>
<dst inverted="false"> ... </dst>
</ipv4>
</frule>
<frule target="ACCEPT"> ... </frule>
[...]
</filtertable>
<interface>...</interface>
</firewall>
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 13/27
Langages
Exemple
< ?xml version="1.0" encoding="UTF-8" ?>
<firewall srclang="Iptables (iptables-save)">
<filtertable>
<frule target="DROP">
<protocol inverted="false">tcp</protocol>
<interfacein inverted="true">eth0</interfacein>
<ipv4>
<src inverted="false">
<ip>1.2.3.4</ip>
</src>
<dst inverted="false"> ... </dst>
</ipv4>
</frule>
<frule target="ACCEPT"> ... </frule>
[...]
</filtertable>
<interface>...</interface>
</firewall>
Langages
Exemple
< ?xml version="1.0" encoding="UTF-8" ?>
<firewall srclang="Iptables (iptables-save)">
<filtertable>
<frule target="DROP">
<protocol inverted="false">tcp</protocol>
<interfacein inverted="true">eth0</interfacein>
<ipv4>
<src inverted="false">
<ip>1.2.3.4</ip>
</src>
<dst inverted="false"> ... </dst>
</ipv4>
</frule>
<frule target="ACCEPT"> ... </frule>
[...]
</filtertable>
<interface>...</interface>
</firewall>
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 13/27
Langages
Exemple
< ?xml version="1.0" encoding="UTF-8" ?>
<firewall srclang="Iptables (iptables-save)">
<filtertable>
<frule target="DROP">
<protocol inverted="false">tcp</protocol>
<interfacein inverted="true">eth0</interfacein>
<ipv4>
<src inverted="false">
<ip>1.2.3.4</ip>
</src>
<dst inverted="false"> ... </dst>
</ipv4>
</frule>
<frule target="ACCEPT"> ... </frule>
[...]
</filtertable>
<interface>...</interface>
</firewall>
Parser
Classes g´ en´ erales, ´ etendues pour m´ ethodes sp´ ecifiques aux langages
Impl´ ement´ e pour Netfilter/iptables
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 14/27
Parser
Classes g´ en´ erales, ´ etendues pour m´ ethodes sp´ ecifiques aux langages
Impl´ ement´ e pour Netfilter/iptables
Introduction R´esolution Conclusions
Structure g´en´erale R´ealisations Probl`emes rencontr´es
Parser
Chaˆınes iptables
fwd : prot=TCP & dst_port=0-1024 & src_ip=1.0.1.0/24 => chain1 chain1 : src_port=30 & prot=ESP => chain2
chain1 : dst_port=80 => chain2 chain1 : => DROP
chain2 : dst_ip=1.2.3.4 & src_ip=1.0.0.0/8 => ACCEPT chain2 : dst_ip=4.0.0.0/0 & !fragment => ACCEPT
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 15/27
Parser
Chaˆınes iptables
fwd : prot=TCP & dst_port=0-1024 & src_ip=1.0.1.0/24 => chain1 chain1 : src_port=30 & prot=ESP => chain2
chain1 : dst_port=80 => chain2 chain1 : => DROP
chain2 : dst_ip=1.2.3.4 & src_ip=1.0.0.0/8 => ACCEPT chain2 : dst_ip=4.0.0.0/0 & !fragment => ACCEPT
−→ Parfois difficile ` a interpr´ eter
Analyse
Visualisation de la politique g´ en´ erale : policy tree D´ etection d’anomalies
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 16/27
Analyse
Policy tree
Analyse
Policy tree
La politique de chaque table : accept
drop
established
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 18/27
Analyse
Policy tree
La politique de chaque table : accept
drop
established
Introduction R´esolution Conclusions
Structure g´en´erale R´ealisations Probl`emes rencontr´es
Analyse
Anomalies
1. Upstream blocked anomaly
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 19/27
Introduction R´esolution Conclusions
Structure g´en´erale R´ealisations Probl`emes rencontr´es
Analyse
Anomalies
2. Downstream blocked anomaly
Introduction R´esolution Conclusions
Structure g´en´erale R´ealisations Probl`emes rencontr´es
Analyse
Anomalies
3. No reply anomaly
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 19/27
Analyse
Anomalies
3. No reply anomaly
4. Useless established anomaly
Analyse
Anomalies plus significatives
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 20/27
Principaux probl`emes rencontr´es
Suppression des chaˆınes de Netfilter/iptables Construction du policy tree
Place en m´ emoire du policy tree
1 Introduction Probl´ ematique Objectifs
2 R´ esolution
Structure g´ en´ erale R´ ealisations
Probl` emes rencontr´ es
3 Conclusions
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 22/27
Limitations
NAT non support´ e
Pertinance des anomalies d´ etect´ ees pour l’instant
Uniquement configuration Netfilter/iptables analys´ ees
Limitations
NAT non support´ e
Pertinance des anomalies d´ etect´ ees pour l’instant Uniquement configuration Netfilter/iptables analys´ ees
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 23/27
Limitations
NAT non support´ e
Pertinance des anomalies d´ etect´ ees pour l’instant
Uniquement configuration Netfilter/iptables analys´ ees
Forces du travail
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 24/27
Quelques pistes ` a poursuivre
D’autres parsers
Parser dans d’autres contextes
Parser et policy tree pour d’autres analyses de firewalls
D´ etection d’autres anomalies ou de plus pertinantes
Quelques pistes ` a poursuivre
D’autres parsers
Parser dans d’autres contextes
Parser et policy tree pour d’autres analyses de firewalls D´ etection d’autres anomalies ou de plus pertinantes
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 25/27
Quelques pistes ` a poursuivre
D’autres parsers
Parser dans d’autres contextes
Parser et policy tree pour d’autres analyses de firewalls
D´ etection d’autres anomalies ou de plus pertinantes
Quelques pistes ` a poursuivre
D’autres parsers
Parser dans d’autres contextes
Parser et policy tree pour d’autres analyses de firewalls D´ etection d’autres anomalies ou de plus pertinantes
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 25/27
Conclusion
Merci de votre attention
Des questions ?
Damien Leroy (2005-2006) Assessment software development for distributed firewalls 27/27