SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
®
IBM Software Group
© 2004 IBM Corporation
La Sécurité de vos Applications Web
Kamel Moulaoui Kamel.moulaoui@fr.ibm.com
IBM Software Group | Rational software
2
Agenda
Paysage de la Sécurité des applications Web
Pirater un site web, est-ce facile?
Les tests de sécurité dans le processus de developpement
Questions réponses
IBM Software Group | Rational software
3
Nous utilisons des
scanners de vulnérabilité
de réseau
Nous utilisons des
scanners de vulnérabilité
de réseau
Le mythe : « Notre site est sûr »
Nous avons des
Firewalls en place
Nous avons des
Firewalls en place
Nous auditons nos
applications
périodiquement par des
auditeurs externes
Nous auditons nos
applications
périodiquement par des
auditeurs externes
SSéécuritcuritéé
IBM Software Group | Rational software
4
Architecture Globale d'une Application Web Sécurisée
L’Enterprise
Internet
Port
Scanning
DoS
Anti-
spoofing Known
Web Server
Issues
Pattern-
Based
Attacks
SQL
Injection
Cross Site
Scripting
Parameter
Tampering
Cookie
Poisoning
Serveur Web
Serveurs
d’Applications
Bases de données
Annuaire LDAP
Contrôle d’accès
et Firewall IDS/IPS
Firewall
applicatif
SSL
AV
IBM Software Group | Rational software
5
La couche application – Le maillon vulnérable
* http://www.webappsec.org/projects/statistics/
IBM Software Group | Rational software
6
Structure d’une application Web
La logique métier qui permet:
L'interaction de l'utilisateur avec le site Web
Transactions/interfaçage avec des systèmes
back-end de données (bases de données,
CRM, ERP, etc)
Sous la forme de:
Composants tiers; serveur web, serveur
d’application etc
Code développé en interne
Les données échangées traversent les différentes couches de l’application
Une faille présente dans une couche rend toute l’application vulnérable
Serveur Web
Code interface utilisateur
Application Front end
Application Back-end
Base de Données
Données
Entrée utilisateur
HTML/HTTP
Navigateur
IBM Software Group | Rational software
7
NetworkNetwork
Operating SystemOperating System
ApplicationsApplications
DatabaseDatabase
Web Server
Web Server Configuration
Web Server
Web Server Configuration
Third-party ComponentsThird-party Components
Web Applications
Client-Side Custom Web Services
Web Applications
Client-Side Custom Web Services
Où sont les Vulnérabilités?
Réseau
Sys. d’exploitation
Applications
Base de Données
Serveur Web
Configuration Serveur Web
Composants Tiers
Web Applications
Client-Side Spécifique Web Services
IBM Software Group | Rational software
8
Agenda
Paysage de la Sécurité des applications Web
Pirater un site web, est-ce facile?
Les tests de sécurité dans le processus de developpement
Questions réponses
IBM Software Group | Rational software
9
Pirater un site web, est-ce facile?
3 exemples:
Failles d’injection
Cross Site Scripting (XSS)
L’exécution de fichiers malicieux
IBM Software Group | Rational software
10
1 – Failles d’injection
Se produisent lorsqu’une donnée fournie par l’utilisateur est envoyée à un
interpréteur dans le cadre d’une commande ou d’une requête
Permet aux attaquants de créer, lire, modifier ou effacer toute donnée arbitraire de
l’application
Plusieurs types d’injection de données : SQL, LDAP, XPath, XSLT, HTML, XML
IBM Software Group | Rational software
11
IBM Software Group | Rational software
12
SQL Injection
User input inserted into SQL Command:
Get product details by id:
Select * from products where id=‘+ $REQUEST[“id”]’;
Hack: send param id with a value of apostrophe (') or apostrophe equal sign ('=)
Resulting executed SQL:
Select * from products where id=‘’ or ‘’=‘’
All products returned
IBM Software Group | Rational software
13
SQL injection: exemple
Exemple: http://demo.testfire.net/bank/login.aspx
La commande SELECT :
Username: jsmith Password: asdf
SELECT _____
WHERE username=‘jsmith’ and password=‘asdf’
IBM Software Group | Rational software
14
SQL injection: exemple
Exemple: http://demo.testfire.net/bank/login.aspx
La commande SELECT :
Username: jsmith Password: asdf
SELECT _____
WHERE username=‘jsmith’ and password=‘asdf’
Username: jsmith’ Password: asdf
SELECT _____
WHERE username=‘jsmith’’ and password=‘asdf’
Username: ‘ or True -- Password: asdf
SELECT _____
WHERE username=‘’ or 1=1 --’ and password=‘asdf’
IBM Software Group | Rational software
15
Injection SQL - Exemple
IBM Software Group | Rational software
16
Injection SQL - Exemple
IBM Software Group | Rational software
17
Injection SQL – Exemple
IBM Software Group | Rational software
18
Injection SQL – Résultat
IBM Software Group | Rational software
19
2. Cross-Site Scripting (XSS)
Permet aux attaquants d'exécuter du script dans le navigateur de la victime
Commun dans les pages de recherche et d’erreur
Mais peut se retrouver dans n’importe quel type de page
Ceci permet au pirate de…
Voler les jetons de sessions (et donc détourner la sécurité du navigateur)
Défacer des sites web
Insérer du contenu hostile
IBM Software Group | Rational software
20
IBM Software Group | Rational software
21
XSS – Exemple
Code HTML:
IBM Software Group | Rational software
22
Exploitation du XSS
Un utilisateur malveillant pourrait créer une image de bannière, ou envoyer un e-mail en texte HTML
Caché par le script actif, ce code html envoie un code JavaScript à la fenêtre de recherche sur
l'application cible.
IBM Software Group | Rational software
23
XSS – Exemple
Code HTML:
IBM Software Group | Rational software
24
Exploitation du XSS (suite)
Code JavaScript incorporé dans le corps l’e-mail
IBM Software Group | Rational software
25
Cross Site Scripting – Le processus d’exploitation
Evil.org
User banque.com
1) Lien vers banque.com
envoyé à l’utilisateur par
courriel ou HTTP
2) L’utilisateur envoi le script
3) Script est retourné et exécuté par le navigateur
4) Le script envoi les jetons
de session au pirate sans la
permission de l’utilisateur
5) Evil.org utilise l’information
volée pour se faire passer
pour l’utilisateur
IBM Software Group | Rational software
26
L’exploitation du XSS
En réusissant à exécuter du JavaScript sur un ordinateur, il devient possible de…
Voler les jetons de session du domaine concerné
Suivre toutes les actions qui seront réalisées dans ce navigateur
Rediriger l’utilisateur vers un site de phishing
Modifier le contenu d'une page visible par l’utilisateur
Exploiter les vulnérabilités du navigateur pour prendre le contrôle de la machine à
distance
…
XSS est la vulnérabilité la plus exploitée aujourd’hui
IBM Software Group | Rational software
27
3 - L’exécution de fichiers malicieux
Plusieurs plateformes autorisent l’utilisation d’objets externes, comme des URLs
ou des références au système de fichier. Lorsque les données ne sont pas
correctement vérifiées, cela peut conduire à l’exécution d’un fichier malicieux
Toute application web est vulnérable à l’exécution malicieuse de fichier si elle
accepte des fichiers ou des noms de fichiers donnés par un utilisateur
Permet à un attaquant :
D’exécuter du code à distance
D’installer des rootkits et compromettre un système
Défacer des sites web
IBM Software Group | Rational software
28
IBM Software Group | Rational software
29
L’exécution de fichiers malicieux – Exemple
IBM Software Group | Rational software
30
L’exécution de fichiers malicieux – Exemple
IBM Software Group | Rational software
31
L’exécution de fichiers malicieux – Exemple
IBM Software Group | Rational software
32
Agenda
Paysage de la Sécurité des applications Web
Pirater un site web, est-ce facile?
Les tests de sécurité dans le processus de developpement
Questions réponses
IBM Software Group | Rational software
33
Vulnérabilités "Héritées" vs Vulnérabilités "Générées"
Code non sécurisé développé par les équipes
internes (ou les sous-traitants)
Code non sécurisé développé par les éditeurs
de logiciels
Origine
Instaurer un processus de contrôle sécurité sur tout
le cycle de vie du logiciel
Appliquer les patches fournis par les éditeursActions Correctives
Tests spécifiques à chaque page, chaque
paramètre, chaque cookie etc.
Vérification de signatures et contrôle des
configurations
Détection
Très élevé, si le processus reste manuel et réactif.
Relativement faible: coût de la gestion de
patches.
Coût de la
Sécurisation
Aucune
Descriptions publiées par les éditeurs et
répertoriées par différents organismes
(référence CVE)
Information
Disponible
Applications métier spécifiques à l'entreprise
Composants d'infrastructure et autres
progiciels tiers
Localisation
ASV
Application Specific Vulnerabilities
CWV
Common Web Vulnerabilities
IBM Software Group | Rational software
34
Modèle de maturité de la sécurité applicative
Experts internes, audits réguliers
Outils d'audit de type "desktop"TactiqueTactique
Équipe interne dédiée aux tests et audits de sécurité
des applications
Audits internesAudits internes
Contrôle sécurité sur tout le cycle
de vie des applications
Métriques au niveau entreprise pour
l'ensemble des applications
StratégiqueStratégique
Audits sous-traitésAudits sous-traités Consultants, tests de pénétration sur quelques applications
critiques
FormationàlasécuritéFormationàlasécurité
IBM Software Group | Rational software
35
Réduire les coûts de la détection , Étendre la couverture
Couverture des applications
Coût par
application
testée
Audits sous-traités
Tactique
Stratégique
100%0% 50% 75%25%
IBM Software Group | Rational software
36
Quel est le coût d'un défaut?
Au cours de la
phase de codage
€25/défaut
Au cours de la
phase d’intégration
€100/défaut
En Exploitation
€16,000/défautAu cours de la
phase de test/QA
€450/défaut
L'augmentation des coûts de correction d’une anomalie....
80% des coûts de développement sont
consacrés à identifier et corriger les défauts!
IBM Software Group | Rational software
37
Modèle de maturité de la sécurité applicative
Difficulté
et cout
des tests
% Applications Testées
élevée
bas
0% 100%
Equipe
Securité
Equipe
Securité
Equipe Securité
Equipe
Developpement
Phase 1 Phase 2 Phase 3
Criticité
et
Risques
pour les
App.
Equipe AQ
Equipe AQ
IBM Software Group | Rational software
38
Sécurité et conformité dans le processus de devp.
Build
Developers
SDLCSDLC
Developers
Developers
Coding QA Security Production
Enable Security
to effectively
drive
remediation into
development
Provides Developers and QA with
expertise on detection and
remediation ability
Ensure
vulnerabilities
are addressed
before
applications
are put into
production
Application Security Testing Maturity
IBM Software Group | Rational software
39
© Copyright IBM Corporation 2007. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM
shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or
representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or
services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market
opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM products
and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
Pour en savoir plus:
IBM Rational software
IBM Rational Software Delivery Platform
Process and portfolio management
Change and release management
Quality management
Architecture management
Rational trial downloads
developerWorks Rational
IBM Rational TV
IBM Rational Business Partners

Más contenido relacionado

La actualidad más candente

Conférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Conférence #nwxtech2 : Sécurité web/PHP par Maxime MauchausséeConférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Conférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Normandie Web Xperts
 
White paper - La sécurisation des web services
White paper - La sécurisation des web servicesWhite paper - La sécurisation des web services
White paper - La sécurisation des web services
Bee_Ware
 
Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02
Asma Messaoudi
 
Présentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonPrésentation Top10 CEGID Lyon
Présentation Top10 CEGID Lyon
Sébastien GIORIA
 
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014 Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Patrick Leclerc
 

La actualidad más candente (20)

Introduction vulnérabilité web
Introduction vulnérabilité webIntroduction vulnérabilité web
Introduction vulnérabilité web
 
Conférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Conférence #nwxtech2 : Sécurité web/PHP par Maxime MauchausséeConférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Conférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
 
Partie III – APM Application Policy Manager
Partie III – APM Application Policy ManagerPartie III – APM Application Policy Manager
Partie III – APM Application Policy Manager
 
Sécurité des applications Web
Sécurité des applications WebSécurité des applications Web
Sécurité des applications Web
 
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan MarcilASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
 
White paper - La sécurisation des web services
White paper - La sécurisation des web servicesWhite paper - La sécurisation des web services
White paper - La sécurisation des web services
 
Management des vulnérabilités - Greenbone OpenVas
Management des vulnérabilités - Greenbone OpenVasManagement des vulnérabilités - Greenbone OpenVas
Management des vulnérabilités - Greenbone OpenVas
 
Spring security
Spring securitySpring security
Spring security
 
Développement sécurisé
Développement sécuriséDéveloppement sécurisé
Développement sécurisé
 
Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02
 
Cyber attaques APT avec le framework MITRE ATT&CK
Cyber attaques APT avec le framework MITRE ATT&CKCyber attaques APT avec le framework MITRE ATT&CK
Cyber attaques APT avec le framework MITRE ATT&CK
 
20080923 02 - Securité applicative (GDF-Suez)
20080923 02 - Securité applicative (GDF-Suez)20080923 02 - Securité applicative (GDF-Suez)
20080923 02 - Securité applicative (GDF-Suez)
 
Présentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonPrésentation Top10 CEGID Lyon
Présentation Top10 CEGID Lyon
 
Alphorm.com Formation SCADA : Cybersécurité des systèmes industriels
Alphorm.com Formation SCADA : Cybersécurité des systèmes industrielsAlphorm.com Formation SCADA : Cybersécurité des systèmes industriels
Alphorm.com Formation SCADA : Cybersécurité des systèmes industriels
 
Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)
 
Sécurité des applications web
Sécurité des applications webSécurité des applications web
Sécurité des applications web
 
Sécurité des applications Web
Sécurité des applications WebSécurité des applications Web
Sécurité des applications Web
 
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014 Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
 
Securité des applications web
Securité des applications webSecurité des applications web
Securité des applications web
 
Les firewalls applicatifs HTTP / WAF
Les firewalls applicatifs HTTP / WAFLes firewalls applicatifs HTTP / WAF
Les firewalls applicatifs HTTP / WAF
 

Similar a 20090929 04 - Securité applicative, hacking et risque applicatif

Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouse
Sébastien GIORIA
 
Sécurisation d'un site internet
Sécurisation d'un site internetSécurisation d'un site internet
Sécurisation d'un site internet
waggaland
 
Valdes securite des application - barcamp2012
Valdes securite des application - barcamp2012Valdes securite des application - barcamp2012
Valdes securite des application - barcamp2012
Valdes Nzalli
 
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
Rational_France
 

Similar a 20090929 04 - Securité applicative, hacking et risque applicatif (20)

IBM Cloud Paris meetup 20180329 - Sécurité des apps dev & Open Source
IBM Cloud Paris meetup 20180329 - Sécurité  des apps dev & Open SourceIBM Cloud Paris meetup 20180329 - Sécurité  des apps dev & Open Source
IBM Cloud Paris meetup 20180329 - Sécurité des apps dev & Open Source
 
La Sécurité Sur Le Web
La Sécurité Sur Le WebLa Sécurité Sur Le Web
La Sécurité Sur Le Web
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouse
 
Sécurisation d'un site internet
Sécurisation d'un site internetSécurisation d'un site internet
Sécurisation d'un site internet
 
Matinée6 solutions professionnelles de sécurité KES
Matinée6   solutions professionnelles de sécurité KESMatinée6   solutions professionnelles de sécurité KES
Matinée6 solutions professionnelles de sécurité KES
 
Securite web is_ima
Securite web is_imaSecurite web is_ima
Securite web is_ima
 
Vulnérabilité des sites web
Vulnérabilité des sites webVulnérabilité des sites web
Vulnérabilité des sites web
 
Deploiement du pare feu checkpoint gaia r77
Deploiement du pare feu checkpoint gaia r77Deploiement du pare feu checkpoint gaia r77
Deploiement du pare feu checkpoint gaia r77
 
Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative Web
 
Développement sécurisé avec Microsoft.Net et HP Fortify
Développement sécurisé avec Microsoft.Net et HP FortifyDéveloppement sécurisé avec Microsoft.Net et HP Fortify
Développement sécurisé avec Microsoft.Net et HP Fortify
 
IKare Vulnerability Scanner - Datasheet FR
IKare Vulnerability Scanner - Datasheet FRIKare Vulnerability Scanner - Datasheet FR
IKare Vulnerability Scanner - Datasheet FR
 
unité 2.pptx
unité 2.pptxunité 2.pptx
unité 2.pptx
 
Valdes securite des application - barcamp2012
Valdes securite des application - barcamp2012Valdes securite des application - barcamp2012
Valdes securite des application - barcamp2012
 
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
 
Rational France livre blanc - choisir le bon outil pour faire du bon travail
Rational France   livre blanc - choisir le bon outil pour faire du bon travailRational France   livre blanc - choisir le bon outil pour faire du bon travail
Rational France livre blanc - choisir le bon outil pour faire du bon travail
 
Introduction à La Sécurité Informatique 2/2
Introduction à La Sécurité Informatique 2/2Introduction à La Sécurité Informatique 2/2
Introduction à La Sécurité Informatique 2/2
 
La sécurité des applications avec ESAPI
La sécurité des applications avec ESAPILa sécurité des applications avec ESAPI
La sécurité des applications avec ESAPI
 
On a volé les clefs de mon SI !
On a volé les clefs de mon SI !On a volé les clefs de mon SI !
On a volé les clefs de mon SI !
 
Le Darwinisme Digital
Le Darwinisme DigitalLe Darwinisme Digital
Le Darwinisme Digital
 
Quand les cybercriminels n’ont plus besoin de fuir les logiciels de sécurité
Quand les cybercriminels n’ont plus besoin de fuir les logiciels de sécuritéQuand les cybercriminels n’ont plus besoin de fuir les logiciels de sécurité
Quand les cybercriminels n’ont plus besoin de fuir les logiciels de sécurité
 

Más de LeClubQualiteLogicielle

20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
LeClubQualiteLogicielle
 

Más de LeClubQualiteLogicielle (20)

20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications
 
20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie
 
20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practices20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practices
 
20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle 20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle
 
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
 
20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development
 
20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?
 
20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle 20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle
 
20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue
 
20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact
 
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
 
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
 
20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test
 
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
 
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
 
20130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 201320130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 2013
 
20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM
 
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
 
20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity
 

20090929 04 - Securité applicative, hacking et risque applicatif

  • 1. ® IBM Software Group © 2004 IBM Corporation La Sécurité de vos Applications Web Kamel Moulaoui Kamel.moulaoui@fr.ibm.com
  • 2. IBM Software Group | Rational software 2 Agenda Paysage de la Sécurité des applications Web Pirater un site web, est-ce facile? Les tests de sécurité dans le processus de developpement Questions réponses
  • 3. IBM Software Group | Rational software 3 Nous utilisons des scanners de vulnérabilité de réseau Nous utilisons des scanners de vulnérabilité de réseau Le mythe : « Notre site est sûr » Nous avons des Firewalls en place Nous avons des Firewalls en place Nous auditons nos applications périodiquement par des auditeurs externes Nous auditons nos applications périodiquement par des auditeurs externes SSéécuritcuritéé
  • 4. IBM Software Group | Rational software 4 Architecture Globale d'une Application Web Sécurisée L’Enterprise Internet Port Scanning DoS Anti- spoofing Known Web Server Issues Pattern- Based Attacks SQL Injection Cross Site Scripting Parameter Tampering Cookie Poisoning Serveur Web Serveurs d’Applications Bases de données Annuaire LDAP Contrôle d’accès et Firewall IDS/IPS Firewall applicatif SSL AV
  • 5. IBM Software Group | Rational software 5 La couche application – Le maillon vulnérable * http://www.webappsec.org/projects/statistics/
  • 6. IBM Software Group | Rational software 6 Structure d’une application Web La logique métier qui permet: L'interaction de l'utilisateur avec le site Web Transactions/interfaçage avec des systèmes back-end de données (bases de données, CRM, ERP, etc) Sous la forme de: Composants tiers; serveur web, serveur d’application etc Code développé en interne Les données échangées traversent les différentes couches de l’application Une faille présente dans une couche rend toute l’application vulnérable Serveur Web Code interface utilisateur Application Front end Application Back-end Base de Données Données Entrée utilisateur HTML/HTTP Navigateur
  • 7. IBM Software Group | Rational software 7 NetworkNetwork Operating SystemOperating System ApplicationsApplications DatabaseDatabase Web Server Web Server Configuration Web Server Web Server Configuration Third-party ComponentsThird-party Components Web Applications Client-Side Custom Web Services Web Applications Client-Side Custom Web Services Où sont les Vulnérabilités? Réseau Sys. d’exploitation Applications Base de Données Serveur Web Configuration Serveur Web Composants Tiers Web Applications Client-Side Spécifique Web Services
  • 8. IBM Software Group | Rational software 8 Agenda Paysage de la Sécurité des applications Web Pirater un site web, est-ce facile? Les tests de sécurité dans le processus de developpement Questions réponses
  • 9. IBM Software Group | Rational software 9 Pirater un site web, est-ce facile? 3 exemples: Failles d’injection Cross Site Scripting (XSS) L’exécution de fichiers malicieux
  • 10. IBM Software Group | Rational software 10 1 – Failles d’injection Se produisent lorsqu’une donnée fournie par l’utilisateur est envoyée à un interpréteur dans le cadre d’une commande ou d’une requête Permet aux attaquants de créer, lire, modifier ou effacer toute donnée arbitraire de l’application Plusieurs types d’injection de données : SQL, LDAP, XPath, XSLT, HTML, XML
  • 11. IBM Software Group | Rational software 11
  • 12. IBM Software Group | Rational software 12 SQL Injection User input inserted into SQL Command: Get product details by id: Select * from products where id=‘+ $REQUEST[“id”]’; Hack: send param id with a value of apostrophe (') or apostrophe equal sign ('=) Resulting executed SQL: Select * from products where id=‘’ or ‘’=‘’ All products returned
  • 13. IBM Software Group | Rational software 13 SQL injection: exemple Exemple: http://demo.testfire.net/bank/login.aspx La commande SELECT : Username: jsmith Password: asdf SELECT _____ WHERE username=‘jsmith’ and password=‘asdf’
  • 14. IBM Software Group | Rational software 14 SQL injection: exemple Exemple: http://demo.testfire.net/bank/login.aspx La commande SELECT : Username: jsmith Password: asdf SELECT _____ WHERE username=‘jsmith’ and password=‘asdf’ Username: jsmith’ Password: asdf SELECT _____ WHERE username=‘jsmith’’ and password=‘asdf’ Username: ‘ or True -- Password: asdf SELECT _____ WHERE username=‘’ or 1=1 --’ and password=‘asdf’
  • 15. IBM Software Group | Rational software 15 Injection SQL - Exemple
  • 16. IBM Software Group | Rational software 16 Injection SQL - Exemple
  • 17. IBM Software Group | Rational software 17 Injection SQL – Exemple
  • 18. IBM Software Group | Rational software 18 Injection SQL – Résultat
  • 19. IBM Software Group | Rational software 19 2. Cross-Site Scripting (XSS) Permet aux attaquants d'exécuter du script dans le navigateur de la victime Commun dans les pages de recherche et d’erreur Mais peut se retrouver dans n’importe quel type de page Ceci permet au pirate de… Voler les jetons de sessions (et donc détourner la sécurité du navigateur) Défacer des sites web Insérer du contenu hostile
  • 20. IBM Software Group | Rational software 20
  • 21. IBM Software Group | Rational software 21 XSS – Exemple Code HTML:
  • 22. IBM Software Group | Rational software 22 Exploitation du XSS Un utilisateur malveillant pourrait créer une image de bannière, ou envoyer un e-mail en texte HTML Caché par le script actif, ce code html envoie un code JavaScript à la fenêtre de recherche sur l'application cible.
  • 23. IBM Software Group | Rational software 23 XSS – Exemple Code HTML:
  • 24. IBM Software Group | Rational software 24 Exploitation du XSS (suite) Code JavaScript incorporé dans le corps l’e-mail
  • 25. IBM Software Group | Rational software 25 Cross Site Scripting – Le processus d’exploitation Evil.org User banque.com 1) Lien vers banque.com envoyé à l’utilisateur par courriel ou HTTP 2) L’utilisateur envoi le script 3) Script est retourné et exécuté par le navigateur 4) Le script envoi les jetons de session au pirate sans la permission de l’utilisateur 5) Evil.org utilise l’information volée pour se faire passer pour l’utilisateur
  • 26. IBM Software Group | Rational software 26 L’exploitation du XSS En réusissant à exécuter du JavaScript sur un ordinateur, il devient possible de… Voler les jetons de session du domaine concerné Suivre toutes les actions qui seront réalisées dans ce navigateur Rediriger l’utilisateur vers un site de phishing Modifier le contenu d'une page visible par l’utilisateur Exploiter les vulnérabilités du navigateur pour prendre le contrôle de la machine à distance … XSS est la vulnérabilité la plus exploitée aujourd’hui
  • 27. IBM Software Group | Rational software 27 3 - L’exécution de fichiers malicieux Plusieurs plateformes autorisent l’utilisation d’objets externes, comme des URLs ou des références au système de fichier. Lorsque les données ne sont pas correctement vérifiées, cela peut conduire à l’exécution d’un fichier malicieux Toute application web est vulnérable à l’exécution malicieuse de fichier si elle accepte des fichiers ou des noms de fichiers donnés par un utilisateur Permet à un attaquant : D’exécuter du code à distance D’installer des rootkits et compromettre un système Défacer des sites web
  • 28. IBM Software Group | Rational software 28
  • 29. IBM Software Group | Rational software 29 L’exécution de fichiers malicieux – Exemple
  • 30. IBM Software Group | Rational software 30 L’exécution de fichiers malicieux – Exemple
  • 31. IBM Software Group | Rational software 31 L’exécution de fichiers malicieux – Exemple
  • 32. IBM Software Group | Rational software 32 Agenda Paysage de la Sécurité des applications Web Pirater un site web, est-ce facile? Les tests de sécurité dans le processus de developpement Questions réponses
  • 33. IBM Software Group | Rational software 33 Vulnérabilités "Héritées" vs Vulnérabilités "Générées" Code non sécurisé développé par les équipes internes (ou les sous-traitants) Code non sécurisé développé par les éditeurs de logiciels Origine Instaurer un processus de contrôle sécurité sur tout le cycle de vie du logiciel Appliquer les patches fournis par les éditeursActions Correctives Tests spécifiques à chaque page, chaque paramètre, chaque cookie etc. Vérification de signatures et contrôle des configurations Détection Très élevé, si le processus reste manuel et réactif. Relativement faible: coût de la gestion de patches. Coût de la Sécurisation Aucune Descriptions publiées par les éditeurs et répertoriées par différents organismes (référence CVE) Information Disponible Applications métier spécifiques à l'entreprise Composants d'infrastructure et autres progiciels tiers Localisation ASV Application Specific Vulnerabilities CWV Common Web Vulnerabilities
  • 34. IBM Software Group | Rational software 34 Modèle de maturité de la sécurité applicative Experts internes, audits réguliers Outils d'audit de type "desktop"TactiqueTactique Équipe interne dédiée aux tests et audits de sécurité des applications Audits internesAudits internes Contrôle sécurité sur tout le cycle de vie des applications Métriques au niveau entreprise pour l'ensemble des applications StratégiqueStratégique Audits sous-traitésAudits sous-traités Consultants, tests de pénétration sur quelques applications critiques FormationàlasécuritéFormationàlasécurité
  • 35. IBM Software Group | Rational software 35 Réduire les coûts de la détection , Étendre la couverture Couverture des applications Coût par application testée Audits sous-traités Tactique Stratégique 100%0% 50% 75%25%
  • 36. IBM Software Group | Rational software 36 Quel est le coût d'un défaut? Au cours de la phase de codage €25/défaut Au cours de la phase d’intégration €100/défaut En Exploitation €16,000/défautAu cours de la phase de test/QA €450/défaut L'augmentation des coûts de correction d’une anomalie.... 80% des coûts de développement sont consacrés à identifier et corriger les défauts!
  • 37. IBM Software Group | Rational software 37 Modèle de maturité de la sécurité applicative Difficulté et cout des tests % Applications Testées élevée bas 0% 100% Equipe Securité Equipe Securité Equipe Securité Equipe Developpement Phase 1 Phase 2 Phase 3 Criticité et Risques pour les App. Equipe AQ Equipe AQ
  • 38. IBM Software Group | Rational software 38 Sécurité et conformité dans le processus de devp. Build Developers SDLCSDLC Developers Developers Coding QA Security Production Enable Security to effectively drive remediation into development Provides Developers and QA with expertise on detection and remediation ability Ensure vulnerabilities are addressed before applications are put into production Application Security Testing Maturity
  • 39. IBM Software Group | Rational software 39 © Copyright IBM Corporation 2007. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. Pour en savoir plus: IBM Rational software IBM Rational Software Delivery Platform Process and portfolio management Change and release management Quality management Architecture management Rational trial downloads developerWorks Rational IBM Rational TV IBM Rational Business Partners