La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 ©NBS System Sécurité – Hébergement - Infogérance www.nbs-system.com 1 Sécurité et Firewall Applicatifs 09/05/2011 ©NBS System Sécurité – Hébergement.

Présentations similaires


Présentation au sujet: "1 ©NBS System Sécurité – Hébergement - Infogérance www.nbs-system.com 1 Sécurité et Firewall Applicatifs 09/05/2011 ©NBS System Sécurité – Hébergement."— Transcription de la présentation:

1 1 ©NBS System Sécurité – Hébergement - Infogérance 1 Sécurité et Firewall Applicatifs 09/05/2011 ©NBS System Sécurité – Hébergement - Infogérance

2 2 ©NBS System Sécurité – Hébergement - Infogérance I. Le web, la bête noire de la sécurité ? II. Comme si la situation nétait pas déjà assez compliquée comme ça … III. Quelle contre mesures ? IV. Firewalls applicatifs V. Une approche différente du firewall applicatif ! VI. Oui mais … Sommaire

3 3 ©NBS System Sécurité – Hébergement - Infogérance Le web, la bête noire de la sécurité ? 3 ©NBS System Sécurité – Hébergement - Infogérance

4 4 ©NBS System Sécurité – Hébergement - Infogérance Le Web, la bête noire de la sécurité ? Pour une fois, lactualité (juste des deux derniers mois, question de place) me donne raison, je ne vais pas me priver ! MySQL.com RSA Sony PSN HBGarry Lisamoon Tous ceux que jai oublié Tous ceux qui ne lont pas avoué Tous ceux qui nen ont même pas conscience …

5 5 ©NBS System Sécurité – Hébergement - Infogérance MySQL.com : (28 Mars 2011) Base de donnée compromise via une injection SQL en aveugle, hash de mots de passe déposés sur internet. RSA : (15 mars 2011) Même si des schémas dattaque avancés ont étés utilisés, le point dentrée reste une vulnérabilité web. Sony PSN : (Mai 2011) On ne sait pas (encore) sil sagit dune vulnérabilité applicative, mais le point dentrée reste un forum (web) Lisamoon : (Mai 2011) Vers abusant dinjections SQL pour compromettre des sites web, plus dUN MILLION de sites infectés HBGarry : (Avril 2011) Outre le caractère trollifère de cette histoire, le point dentrée est ? Le Web, la bête noire de la sécurité ?

6 6 ©NBS System Sécurité – Hébergement - Infogérance

7 7 ©NBS System Sécurité – Hébergement - Infogérance Le web, la bête noire de la sécurité ? Lactualité ne fait que confirmer ce que les pentesteurs voient tous les jours. ADMIN OR 1=1 La sécurité web est aujourdhui le point faible de la plupart des systèmes informatiques : Applicatifs et sites web « historiques » Développeurs mal sensibilisés Coût prohibitif de la mise en place dun pare-feu applicatif Les sites développés en 2011 continuent dêtre vulnérables ! (il ne sert à rien de se mentir)

8 8 ©NBS System Sécurité – Hébergement - Infogérance Comme si la situation nétait pas déjà assez compliquée comme ça … 8 ©NBS System Sécurité – Hébergement - Infogérance

9 9 ©NBS System Sécurité – Hébergement - Infogérance Comme si la situation nétait pas assez compliquée comme ça … Les techniques dobfuscation des attaques ne cessent dévoluer, et rendent de plus en plus complexes les méthodes de détection : Encoding complexes, abus des formats et syntaxes exotiques supportées Des navigateurs toujours aussi (voir même de plus en plus ?) laxistes Le tout combiné avec des sites de plus en plus complexes/interactifs, utilisant de plus en plus dentrées utilisateurs dans des endroits dangereux (javascript ou autre) Il devient de plus en plus complexe dassurer une couverture des risques à 100%

10 10 ©NBS System Sécurité – Hébergement - Infogérance Patterns dattaques ou bluff ? 1°) $=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$: ++$,$__:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+ $.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+$.$_$_+(![]+"")[$._$_]+$.$$$_+"\\"+$.__$+$.$$_+$._$_+ $.__+"("+$.__$+")"+"\"")())(); 2°) (+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+….+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+ [+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]+[])[[+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]])() 3°) ゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ ['_']; o=(゚ー゚) =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д゚)={゚Θ゚: '_',゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚],゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)],゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'_') [c^_^o];(゚Д゚) ['c'] = ((゚Д゚)+'_') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) ['o'] = ((゚Д゚)+'_') 4°) javascript:alert('XSS') 5°) setter=alert,a=/XSS/.source Comme si la situation nétait pas assez compliquée comme ça …

11 11 ©NBS System Sécurité – Hébergement - Infogérance Les technologies – et les navigateurs - continuent dévoluer, et ce nest pas pour arranger les choses : HTML5 Javascript offrant le support du multi-threading Javascript offrant la possibilité de réaliser des communications autres que HTTP Limpact potentiel dun cross-site-scripting ne sera plus jamais le même ! Apparition des IDN (noms de domaine accentués) Comme si la situation nétait pas assez compliquée comme ça …

12 12 ©NBS System Sécurité – Hébergement - Infogérance Quelles contre mesures ? 12 ©NBS System Sécurité – Hébergement - Infogérance

13 13 ©NBS System Sécurité – Hébergement - Infogérance Quelles contre-mesures ? Des bons développeurs, sensibilisés aux problématiques de sécurité ? Le pentesteur : Vu ce que lon voit au quotidien, cela va être long Le RSSI : Les développeurs sont coûteux à former dans un domaine qui nest pas leur cœur de métier Ce nest pas pour tout de suite malheureusement, lhistoire se répète, et le suivi des vulnérabilités parle de lui-même : Le 9 Mai 2011 : Onze exploits pour des vulnérabilités web publiées depuis le début du mois Le 9 Mai 2011 : Trois exploits pour des vulnérabilités « autres » (BOF en tout genres) publiés depuis le début du mois

14 14 ©NBS System Sécurité – Hébergement - Infogérance Quelles contre-mesures ? De plus, le niveau technique requis pour exploiter une vulnérabilité web est, dans 95% des cas très faible: Lexploitation (et donc lécriture dun exploit) dune vulnérabilité type heap/stack overflow est bien plus complexe. Concernant lexploitation dune vulnérabilité web, bien souvent, Google combiné à un copier/coller peut faire laffaire ! On ne compte plus le nombre de « defacement », souvent révélateurs de la mentalité et du niveau technique de lattaquant.

15 15 ©NBS System Sécurité – Hébergement - Infogérance Firewalls applicatifs 15 ©NBS System Sécurité – Hébergement - Infogérance

16 16 ©NBS System Sécurité – Hébergement - Infogérance Firewalls applicatifs Un WAF est un mécanisme placé en amont de lapplicatif à protéger Son but est de détecter les motifs dangereux et de les bloquer Il existe (beaucoup) dimplémentations propriétaires, vendues sous formes dappliances, et effectuant (plus) ou moins bien leur travail Il existe aussi une option open-source : mod_security, module de la fameuse fondation Apache

17 17 ©NBS System Sécurité – Hébergement - Infogérance Firewalls applicatifs Mod_security est un très beau/bon produit, bénéficiant déjà dune bonne maturité, MAIS : Sil sagit de protéger autre chose que du Apache, il faut lutiliser en reverse- proxy, avec mod_proxy, qui, lui, na pas très bonne réputation Il repose sur des règles complexes, quil faut mettre à jour régulièrement Ou alors payer un « feed » pour des règles plus fines, mais quil faut quand même mettre à jour régulièrement

18 18 ©NBS System Sécurité – Hébergement - Infogérance Firewalls applicatifs De manière plus générale, les WAFs posent certains problèmes : Configuration souvent complexe Maintenance des règles de sécurité Reporting Réponse en profondeur aux problèmes Sil ne sagit pas dun produit open-source, cout dentrée & de licence important, et cout augmentant en fonction du trafic !

19 19 ©NBS System Sécurité – Hébergement - Infogérance Une approche différente du firewall applicatif ! 19 ©NBS System Sécurité – Hébergement - Infogérance

20 20 ©NBS System Sécurité – Hébergement - Infogérance Introducing NAXSI Nginx Anti Xss Sql Injection Un module (open-source bien sur !) de firewall applicatif pour NGINX

21 21 ©NBS System Sécurité – Hébergement - Infogérance d d Introducing NAXSI Ce module a été conçu, avant tout, pour nos besoins et pour les besoins de nos clients (Lhébergement infogéré est le deuxième métier de NBS System !) Celui-ci adopte une philosophie simple : Des patterns extrêmement simples Une configuration accessibles aux non experts, avec un auto apprentissage Pas de mise à jour des règles Un logiciel ayant pour objectif de rester SIMPLE Un logiciel utilisable par des techniciens faisant de lexploitation et non seulement par un expert en sécurité

22 22 ©NBS System Sécurité – Hébergement - Infogérance Introducing NAXSI NAXSI repose sur NGINX, le reverse-proxy/serveur web venu du froid NGINX est orienté hautes performances, capable de gérer 10K de connexions simultanées avec moins 10Mo de mémoire Il sagit dun projet très actif, et que nous utilisons notamment en tant que reverse proxy en environnement de production : 1000 sites web, dont 600 de e-commerce 1 To de trafic total par jour (web uniquement) Plus de 300 serveurs physiques 4 Nginx actifs pour gérer la quasi-totalité du trafic

23 23 ©NBS System Sécurité – Hébergement - Infogérance Introducing NAXSI Le concept de NAXSI est de rester simple : Interdire les caractères qui nont rien à faire dans une requête normale : ; …. Et appliquer de la liste blanche sur les pages nécessitant des caractères anormaux Pas de base de signature à maintenir, et les règles sont extrêmement simples et claires ! Le module se voulant simple au possible, toute lintelligence associée à ce genre de mécanisme est externalisée, dans lobjectif dêtre fortement interopérable !

24 24 ©NBS System Sécurité – Hébergement - Infogérance Mode de fonctionnement 24 ©NBS System Sécurité – Hébergement - Infogérance

25 25 ©NBS System Sécurité – Hébergement - Infogérance Mode de fonctionnement Un set de règles communes, peu nombreuses (moins de 50) Avec une syntaxe simple, et faciles à comprendre : MainRule "str:/*" "msg:mysql comment (/*)" "mz:BODY|URL|ARGS" "s:$SQL:8" id:1003; MainRule "rx:http://|https://" "msg:protocol scheme" "mz:BODY|ARGS" "s:$RFI:4" id:1007; Qui ne devraient donc pas demander dêtre maintenues, car reposant sur des primitives très simples !

26 26 ©NBS System Sécurité – Hébergement - Infogérance Mode de fonctionnement Combinée avec une configuration « par site » pour gérer les listes blanches : BasicRule wl:1304 "mz:$URL:/site/v1.2/images/interne/home_inscription_news.jpg|URL" id:0; Et de manière plus générale, le comportement : CheckRule "$SQL >= 8" BLOCK; CheckRule "$RFI >= 4" BLOCK; CheckRule "$TRAVERSAL >= 4" BLOCK; CheckRule "$XSS >= 2" LOG; CheckRule "$XSS >= 8" BLOCK; Pouvoir apporter une réponse « par site » : DeniedUrl "http://myvulnerablesite/denied_page.php";

27 27 ©NBS System Sécurité – Hébergement - Infogérance Mode de fonctionnement Toutes les informations sur le pourquoi et le comment dune requête bloquée sont transmises à la page dite de « blocage ». Lorsquune requête est considérée illégitime, le module retournera un « 302 redirect » vers la page spécifiée en configuration. Permet dexternaliser lintelligence du module : Statistiques Détection des faux positifs Réponse en deux temps (blocage de lattaquant ?) Permet un bon suivi en temps réel des attaques et/ou faux positifs !

28 28 ©NBS System Sécurité – Hébergement - Infogérance Oui mais … 28 ©NBS System Sécurité – Hébergement - Infogérance

29 29 ©NBS System Sécurité – Hébergement - Infogérance Oui mais … la configuration ? NGINX peut aussi être utilisé en proxy sortant, et le module transmet toutes les informations du blocage à la page web associée. Ce qui permet la mise en place dun mode dauto-apprentissage !

30 30 ©NBS System Sécurité – Hébergement - Infogérance Oui mais … la configuration ? La page de blocage reçoit toutes les informations associées à la requête bloquée : Permet de générer les listes blanches directement, et de les écrire dans un fichier : BasicRule wl:1304 "mz:$URL:/site/v1.2/images/interne/home_inscription_news.jpg|URL" id:0; BasicRule wl:1305 "mz:$URL:/boutique/liste_produits.cfm|$ARGS_VAR:vente" id:0; Lobjectif ici est que les développeurs, pendant leurs phases de développement et test, puissent générer eux même leur listes blanches, simplement en effectuant des scénarios de navigation. Comme vous le voyez ci-dessus, la syntaxe des règles est simple, et celles-ci peuvent être revues par un non-expert en sécurité.

31 31 ©NBS System Sécurité – Hébergement - Infogérance Oui mais … le reporting? La page de blocage reçoit toutes les informations associées à la requête bloquée : Permet un traitement « sur mesure » des alertes etc., via du développement web (technologie libre) Génération de statistiques Réponse en profondeur (communication avec un script iptables ?) Je ne suis (mal)heureusement pas développeur web, cette partie est donc encore à létude. Nous espérons pouvoir fournir, lors de la release du module, une interface simple et modulaire.

32 32 ©NBS System Sécurité – Hébergement - Infogérance Oui mais … les performances ? NAXSI repose sur NGINX, connu pour ses hautes performances. Grâce à une architecture logicielle simple, les performances ne sen feront que très peu ressentir. Les premiers tests de charge réalisés : B1 = Nginx avec le module B2 = Nginx sans le module

33 33 ©NBS System Sécurité – Hébergement - Infogérance Oui mais … les performances ? La ou le module aura les plus mauvaises performances est le cas suivant : Des requêtes légitimes, mais volumineuses. Dans un tel cas, le module devra parser lintégralité des données ! Dans un tel cas, on relève une baisse de 5% des performances maximales de NGINX

34 34 ©NBS System Sécurité – Hébergement - Infogérance Oui mais … lexploitation ? Il est ainsi possible de désactiver temporairement tout ou partie des règles du module sur un site (ou une page particulière). Lobjectif est ici de pouvoir amener une réponse technique rapide et adapté à toute problématique de production. Pouvoir, à tout moment, et avec UNE ligne de configuration, désactiver partiellement le module ! Désactiver une règle sur un site : BasicRule wl:1003; Désactiver le WAF sur une page dun site : BasicRule wl:1305 "mz:$URL:/boutique/*" id:0; BasicRule wl:ALL "mz:$URL:/boutique/*" id:0;

35 35 ©NBS System Sécurité – Hébergement - Infogérance Road Map ! 35 ©NBS System Sécurité – Hébergement - Infogérance Document confidentiel

36 36 ©NBS System Sécurité – Hébergement - Infogérance RoadMap Le développement initial du module est (presque !) fini, toutes les fonctionnalités présentées ici sont fonctionnelles. Mais, avant de distribuer NAXIS, il nous reste a : Continuer les tests de performances dans différentes situation Faire tester notre module par des confrères en sécurité pour avoir des points de vue extérieurs et techniques (nul nest infaillible !) Nous sommes en train de nous préparer à mettre le module en production sur certains de nos clients en hébergement : lépreuve du feu ! Nous avons besoin de votre aide ! Pentesteurs (Audit du code source et test « live » de la sécurité du produit) Utilisateurs / RSSI (Donnez nous des idées pour linterface web !)

37 37 ©NBS System Sécurité – Hébergement - Infogérance Q&A 37 ©NBS System Sécurité – Hébergement - Infogérance


Télécharger ppt "1 ©NBS System Sécurité – Hébergement - Infogérance www.nbs-system.com 1 Sécurité et Firewall Applicatifs 09/05/2011 ©NBS System Sécurité – Hébergement."

Présentations similaires


Annonces Google