SlideShare une entreprise Scribd logo
1  sur  59
Sécurité des Applications
Web
Rédigé et présenté par
CHOULEGHEU NJEMOU MARCEL THIERRY
En vue de l’obtention du diplôme de
Licence Professionnelle
Spécialité : Génie des télécommunications
Option : Administration et Sécurité des Réseaux
Institut Supérieur des
Technologies
& du Design Industriel
Premiers Pas
Sarl
Agenda
Introduction
Présentation de la Société Premiers Pas
Sarl
SECURITE DES APPLICATIONS WEB
Conclusion
Présentation de la Société
Premiers Pas Sarl
Structure
Personnel
Rôle du service Technique
Budgets
Quelques Références
Présentation de la Société
Premiers Pas Sarl
B - Structure
Vitrine web
Service
Commercial
Personnel
Trois (03) ingénieurs systèmes et réseau
Un (01) ingénieur des Systèmes d'Information et d'aide à
la décision
Deux (01) experts en comptabilité et fiscalité
Camerounaise
Deux (05) développeurs web/application
Un (01) infographiste
Deux (02) traductrices (français/anglais/espagnole et
français/allemand)
Trois (03) Stagiaires commerciaux et 02 stagiaires Développeur
d’applications Web
Trois (03) Stagiaires commerciaux et 02 stagiaires
Développeur d’applications Web
Rôles du service Technique
Le service Technique (dont je faisait partie )
a pour principale rôle la conception et le
développement , hébergement des sites web
de à l’aide des modèles éprouvé comme le
model MVC (en anglais Model View
Controller) à travers l’utilisation d’un CMS
(Content Management System).
Budgets
Sécurité des applications
Web
Pourquoi Sécurisé ?
Le coût de développement et
d’hébergement des applications élevés
Base de Données très Précieuse
Le réseau (Internet ) est un environnement
Hostile
Obtenir et Conserver une place de choix
sur le marché des services web
Risques Encourus
Exploitation indues des ressources
Destruction des données
Publication de données confidentielles
Perte de confience des cliens
Baisse de productivité
Détournement de votre site
Usurpation d’identité
Ridicule ...
Quelques Exemples
Site web de l’Université de Douala !
Quelques Exemples
Site web de la nouvelle expression hacké
Quelques Constats
Site web du ministère des Domaines et
affaires Foncières
Piraté par un enfant de 12 ans !
Et ce n’est pas tous …
Des victimes sur toute la planète
Quels sont les menaces ?
Injections SQL
XSS
CSRF
Liens direct et Erreur
Communications Non sécurisé
Url à Access restreint
…
Types d’attaques courantes
Coupure de connection
Entreprise visé
Données sécurisés
Brèches de sécurité
Attaques
automatisées
Assaillant
Virus,
Chevaux de
troie ,vers
Denis de
Services (DoS)
DoS
SQL INJECTION
Objectifs :
contournement de clause WHERE
• SELECT login FROM USERS
WHERE email =
'$_GET['email']';
• SELECT login FROM USERS
WHERE email = 'admin' OR
'1'='1';
déni de service
corruption de tables
Contrer les injections SQL
Utilisation de conteneurs
Commandes préparées
• SELECT login FROM USERS WHERE
email = ?;
Procédures stockées / Variables SQL
Protection des données
mysql_real_escape_string()
Objectifs :
contournement de clause WHERE
• SELECT login FROM USERS
WHERE email =
'$_GET['email']';
• SELECT login FROM USERS
WHERE email = 'admin' OR
'1'='1';
déni de service
corruption de tables
Attaque XSS
Vol de cookie
Usurpation d'identité
Exécution de code JavaScript arbitraire
Détournement du navigateur
Risques des XSS
Les Voies Des XSS
• echo $_GET['variable'];
Balises HTML complètes
• PHP<script src="http://www.site.com/hack.js" />
• <A HREF=http://66.102.7.147/>PHP</A>
• <A HREF="http://0x42.0x0000066.0x7.0x93/">PHP</A>
• <A
HREF="http://%77%77%77%2E%67%6F%6F%67%6C%65%2E%63
%6F%6D">PHP</A>
• >PHP<script src="//1113982867/hack.js" />
Les Voies Des XSS
Attributs HTML
• <IMG SRC=javascript:alert('XSS')>
• <IMG SRC=JaVaScRiPt:alert('XSS')>
• <IMG SRC="jav ascript:alert('XSS');">
• <IMG SRC=javascript:alert(
String.fromCharCode(88,83,83)) >
• <form action=”index.php”><xss!><a" method
Defences contre les XSS
Concepts à retenir
Valider les données entrantes
Suivre les données validées
Protéger les données sortantes
Évitez les “, ‘, < et >
UTF-8, entité HTML, hexadécimal...
CSRF : Cross Site Request Forgery
Exploite un site vulnérable pour qu’un
utilisateur de ce site attaque un autre
site
Ou le même site!
La seule protection de la victime
est l’identification de l’utilisateur
Aucun contact entre le pirate et le site
CSRF : Cross Site Request Forgery
Exploite un site vulnérable pour qu’un
utilisateur de ce site attaque un autre
site
Ou le même site!
La seule protection de la victime
est l’identification de l’utilisateur
Aucun contact entre le pirate et le site
URL?XSS
HTML + XSS
Victime
Exécution
Scénario d’ attaque
Scénario d’ attaque
Site victime
http://admin.site.com/efface.php?id=33
Site vulnérable
<img src=”
http://admin.site.com/efface.php?id=33”>
Défenses
Il faut se méfier d’un utilisateur qu’on a
déjà identifié
Faire des identifications fréquentes
Réduire les temps de sessions
Exploiter GET / POST
10 dix des attaques courantes
Autres Attaques
Spam et emails
Injections HTTP
Injections LDAP, ABAP, etc
Exécution de commandes
Téléchargement de fichiers
AJAX!
Autres Defenses
Chiffrement et signatures
CAPTCHA
Gestion des mots de passe
Fixation de session
Attention aux hébergements partagés
Changer l’identifiant régulièrement
Relier la session au navigateur
...
Comment créer une application web
?Il Faut adopter une politique globale
conformément à celle de l’entreprise :
Sécuriser le réseau
Sécuriser l’hôte
Sécuriser l’application
Technologies utilisés
La cryptographie
Le Hachage
Les signatures numériques
Les certificats numériques
Communications Sécurisés
Authentification
Autorisation
Firewalls
Audits
Mise à jour et services packs
Cryptographie
C’ est un procédé qui consiste à encoder les
données traités
Pour protéger l’identité ou les données de
l’utilisateur contre la lecture, la modification ou
l’altération
De vérifier l’origine d’une information
2 méthodes de cryptographie:
Asymétrique
Symétrique
Symétrique / Asymétrique
Algorithme Description
Symétrique
Utilise une même clé pour :
Chiffrer
Déchiffrer les informations
Est Rapide et efficiente
Asymétrique
Utilise 2 clé mathématiquement liées:
Une clé publique pour le chiffrement
Une clé privée pour le déchiffrement
Plus sécurisé que le symétrique
Il est plus lent
Vérification de l’intégrité des données
des données grâce au hachage
User A User B
Data
Data
Valeur Hasher
Algorithme
de Hashage
Données
Valeur Hasher
Valeur Hasher
Algorithme de Hashage
Authentiques si les
2 sont identiques
L’utilisateur A envoit la
valeur hasher à l’utilisateur B
User A User B
Data
Hash Value
Hash
Algorithm
User A
Private
key
Data
Valeur hashé
User A
clé
public
Hash
Algorithm
Valeur hasher
Si les données
correspondent alors elles
proviennent du
propriétaire de la clé et
sont valides
Signatures Numériques
Certificats Numériques
Clé
Privée Paire de cléUser
Application
Ordinateur
Service
Administrateur
Certifié
Authorité de
certification
Clé
publiqu
e
Technologie de Communication
Sécurisée
IPSec
SSL
TLS
Codage RPC
SSL/TLS IPSec
RPC Encryption
Fonctionnement d’ SSL
L’utilisateur navigue via HTTPS
Le navigateur crée une clé privé en relation avec celle du serveur
administrateur
Le serveur reçoit la clé et lui seul peut la décrypter grâce à sa clé
secrète
Après établissement de la communication toutes les échanges
entre le navigateur et le serveur sont sécurisés
1
2
3
4
Certificat de l’administrateur
du serveur web
Message
Serveur web
sécurisé
HTTPS
Navigater
en mode
Sécurisé
1
2
3
4
Authentification
Basique
Simple et objectif
Supporter par la majorité
des navigateurs
Facile à mettre en oeuvre
Requiert SSL/TLS
Authentification
Digest
Client
1 Request
Serveur
Challenge
2
3
Digest Algorithm
Password
X$!87ghy5
4
Active
Directory
Password
5
X$!87ghy5
6
Comment Evaluer la sécurité ? :
Méthodologie et Outils
Methodologie
Interview
Recherche préliminaire
Préparation Finale
Avant la phase d’évaluation
Pendant la phase d’évaluation
Après l’évaluations
Quelsques outils
Le navigateur
Un scanner de sécurité automatique
Un éditeur de requête HTTP
Un Scanneur proxy
Quelsques outils
Le navigateur
1er premier outil pour apprécier le bon
fonctionnement de l’application.
Taper des url erronés ou inattendu
Envoyaer les données par requêtes
« POST » de formulaire ;
Test des script de validation (ex ; java
script). Des extensions de navigateurs
peuvent être très utiles pour l’analyse de
l’application comme le DOM inspector
Quelsques outils
Outil Dom Inspector
Quelsques outils
Un scanner de sécurité automatique
Scanner de sécurité :
avantages
Accélère et automatise la procédure de test
Génère des rapports exploitables
Décèle toutes les Vulnérabilités connuee
Doit être très bien configurer
Quelsques outils
Un scanner de sécurité automatique
Quelsques outils
HTTP Request Editor
Il est parfois requis lors de l’audit d’un site web
de configurer les requêtes http lorsque le navigateur
n’offre pas ce genre de manipulations. Par exemple
Envoyer des requêtes http sans restriction au
model de sécurité du navigateur web
Tester les requêtes non faisable par un navigateur
web (manipuler http header et http referer header)
Tester les requêtes qui requiert des encryptions SSL
Les résultats de ces manipulations sont visibles sur le
rapport d’analyse en texte brut ou en Html
Quelsques outils
HTTP Request Editor
Quelsques outils
HTTP proxy
On doit pendant la phase de test de vulnérabilité d’un site web
intercepter les requêtes et les réponse http avant qu’il
n’atteigne leur cible. Ce logiciel nous permettra alors
lorsqu’il est bien configuré de le faire automatiquement.
Ainsi il faut spécifier les limitations navigateurs, circonscrire
les scripts côté client et les validations d’entrée (exemple :
java script) enregistrer les log http, créer les règles
automatique qui manipuleront certaines requêtes http.
Quelsques outils
HTTP proxy
Conclusion
Questions et Réponses
Copyright MARCELTCHOULEGHEU ISTDI 2008

Contenu connexe

Tendances

Enjeux et évolutions de la sécurite informatique
Enjeux et évolutions de la sécurite informatiqueEnjeux et évolutions de la sécurite informatique
Enjeux et évolutions de la sécurite informatiqueMaxime ALAY-EDDINE
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partiekadzaki
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC Cellenza
 
INITIATION A LA SÉCURITÉ INFORMATIQUE.pptx
INITIATION A LA SÉCURITÉ INFORMATIQUE.pptxINITIATION A LA SÉCURITÉ INFORMATIQUE.pptx
INITIATION A LA SÉCURITÉ INFORMATIQUE.pptxLeandre Cof's Yeboue
 
Appels de procédures distants (RPC)
Appels de procédures distants (RPC)Appels de procédures distants (RPC)
Appels de procédures distants (RPC)Heithem Abbes
 
Alphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.x
Alphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.xAlphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.x
Alphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.xAlphorm
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesENSET, Université Hassan II Casablanca
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesLilia Sfaxi
 

Tendances (20)

Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Enjeux et évolutions de la sécurite informatique
Enjeux et évolutions de la sécurite informatiqueEnjeux et évolutions de la sécurite informatique
Enjeux et évolutions de la sécurite informatique
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
QCM Sécurité Informatique
QCM Sécurité InformatiqueQCM Sécurité Informatique
QCM Sécurité Informatique
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
INITIATION A LA SÉCURITÉ INFORMATIQUE.pptx
INITIATION A LA SÉCURITÉ INFORMATIQUE.pptxINITIATION A LA SÉCURITÉ INFORMATIQUE.pptx
INITIATION A LA SÉCURITÉ INFORMATIQUE.pptx
 
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
Site JEE de ECommerce  Basé sur Spring IOC MVC Security JPA HibernateSite JEE de ECommerce  Basé sur Spring IOC MVC Security JPA Hibernate
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
 
Appels de procédures distants (RPC)
Appels de procédures distants (RPC)Appels de procédures distants (RPC)
Appels de procédures distants (RPC)
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Alphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.x
Alphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.xAlphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.x
Alphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.x
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Java RMI
Java RMIJava RMI
Java RMI
 
Protocoles SSL/TLS
Protocoles SSL/TLSProtocoles SSL/TLS
Protocoles SSL/TLS
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 

Similaire à Securité des applications web

Webinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme ThéméeWebinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme ThéméeMarie Tapia
 
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Microsoft Technet France
 
Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02Asma Messaoudi
 
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/2Sylvain Maret
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouseSébastien GIORIA
 
Alphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et ConfigurationAlphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et ConfigurationAlphorm
 
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)Microsoft Décideurs IT
 
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)Microsoft Technet France
 
chap 4 Sécurité des accès.pdf
chap 4 Sécurité des accès.pdfchap 4 Sécurité des accès.pdf
chap 4 Sécurité des accès.pdfdepinfo
 
Sécurités & Annuaires
Sécurités & AnnuairesSécurités & Annuaires
Sécurités & AnnuairesPaulin CHOUDJA
 
Wbm12 formation-webmaster-expert-securite-des-applications-web
Wbm12 formation-webmaster-expert-securite-des-applications-webWbm12 formation-webmaster-expert-securite-des-applications-web
Wbm12 formation-webmaster-expert-securite-des-applications-webCERTyou Formation
 
Sécuriser votre chaîne d'information dans Azure
Sécuriser votre chaîne d'information dans AzureSécuriser votre chaîne d'information dans Azure
Sécuriser votre chaîne d'information dans AzureNis
 
070219 Webinar Sensibilisation Sécurité Logiciel Everteam
070219 Webinar Sensibilisation Sécurité Logiciel Everteam070219 Webinar Sensibilisation Sécurité Logiciel Everteam
070219 Webinar Sensibilisation Sécurité Logiciel EverteamEverteam
 
TechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows AzureTechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows AzureThomas Conté
 

Similaire à Securité des applications web (20)

Webinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme ThéméeWebinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme Thémée
 
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
 
Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02
 
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
 
OWASP TOP 10 Proactive
OWASP TOP 10 ProactiveOWASP TOP 10 Proactive
OWASP TOP 10 Proactive
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouse
 
Alphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et ConfigurationAlphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
 
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
 
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
(Azure) Active Directory + BYOD = tranquillité d’esprit, chiche ! (2nde Partie)
 
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 !
 
chap 4 Sécurité des accès.pdf
chap 4 Sécurité des accès.pdfchap 4 Sécurité des accès.pdf
chap 4 Sécurité des accès.pdf
 
La Sécurité Sur Le Web
La Sécurité Sur Le WebLa Sécurité Sur Le Web
La Sécurité Sur Le Web
 
Sécurités & Annuaires
Sécurités & AnnuairesSécurités & Annuaires
Sécurités & Annuaires
 
Securite web is_ima
Securite web is_imaSecurite web is_ima
Securite web is_ima
 
Wbm12 formation-webmaster-expert-securite-des-applications-web
Wbm12 formation-webmaster-expert-securite-des-applications-webWbm12 formation-webmaster-expert-securite-des-applications-web
Wbm12 formation-webmaster-expert-securite-des-applications-web
 
La sécurité avec SQL Server 2012
La sécurité avec SQL Server 2012La sécurité avec SQL Server 2012
La sécurité avec SQL Server 2012
 
Sécuriser votre chaîne d'information dans Azure
Sécuriser votre chaîne d'information dans AzureSécuriser votre chaîne d'information dans Azure
Sécuriser votre chaîne d'information dans Azure
 
070219 Webinar Sensibilisation Sécurité Logiciel Everteam
070219 Webinar Sensibilisation Sécurité Logiciel Everteam070219 Webinar Sensibilisation Sécurité Logiciel Everteam
070219 Webinar Sensibilisation Sécurité Logiciel Everteam
 
Dev ops Monitoring
Dev ops   MonitoringDev ops   Monitoring
Dev ops Monitoring
 
TechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows AzureTechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows Azure
 

Securité des applications web

  • 1. Sécurité des Applications Web Rédigé et présenté par CHOULEGHEU NJEMOU MARCEL THIERRY En vue de l’obtention du diplôme de Licence Professionnelle Spécialité : Génie des télécommunications Option : Administration et Sécurité des Réseaux Institut Supérieur des Technologies & du Design Industriel Premiers Pas Sarl
  • 2. Agenda Introduction Présentation de la Société Premiers Pas Sarl SECURITE DES APPLICATIONS WEB Conclusion
  • 3. Présentation de la Société Premiers Pas Sarl
  • 4. Structure Personnel Rôle du service Technique Budgets Quelques Références Présentation de la Société Premiers Pas Sarl
  • 5. B - Structure Vitrine web Service Commercial
  • 6. Personnel Trois (03) ingénieurs systèmes et réseau Un (01) ingénieur des Systèmes d'Information et d'aide à la décision Deux (01) experts en comptabilité et fiscalité Camerounaise Deux (05) développeurs web/application Un (01) infographiste Deux (02) traductrices (français/anglais/espagnole et français/allemand) Trois (03) Stagiaires commerciaux et 02 stagiaires Développeur d’applications Web Trois (03) Stagiaires commerciaux et 02 stagiaires Développeur d’applications Web
  • 7. Rôles du service Technique Le service Technique (dont je faisait partie ) a pour principale rôle la conception et le développement , hébergement des sites web de à l’aide des modèles éprouvé comme le model MVC (en anglais Model View Controller) à travers l’utilisation d’un CMS (Content Management System).
  • 8.
  • 9.
  • 12. Pourquoi Sécurisé ? Le coût de développement et d’hébergement des applications élevés Base de Données très Précieuse Le réseau (Internet ) est un environnement Hostile Obtenir et Conserver une place de choix sur le marché des services web
  • 13. Risques Encourus Exploitation indues des ressources Destruction des données Publication de données confidentielles Perte de confience des cliens Baisse de productivité Détournement de votre site Usurpation d’identité Ridicule ...
  • 14. Quelques Exemples Site web de l’Université de Douala !
  • 15. Quelques Exemples Site web de la nouvelle expression hacké
  • 16. Quelques Constats Site web du ministère des Domaines et affaires Foncières Piraté par un enfant de 12 ans !
  • 17. Et ce n’est pas tous … Des victimes sur toute la planète
  • 18. Quels sont les menaces ? Injections SQL XSS CSRF Liens direct et Erreur Communications Non sécurisé Url à Access restreint …
  • 19. Types d’attaques courantes Coupure de connection Entreprise visé Données sécurisés Brèches de sécurité Attaques automatisées Assaillant Virus, Chevaux de troie ,vers Denis de Services (DoS) DoS
  • 20. SQL INJECTION Objectifs : contournement de clause WHERE • SELECT login FROM USERS WHERE email = '$_GET['email']'; • SELECT login FROM USERS WHERE email = 'admin' OR '1'='1'; déni de service corruption de tables
  • 21. Contrer les injections SQL Utilisation de conteneurs Commandes préparées • SELECT login FROM USERS WHERE email = ?; Procédures stockées / Variables SQL Protection des données mysql_real_escape_string()
  • 22. Objectifs : contournement de clause WHERE • SELECT login FROM USERS WHERE email = '$_GET['email']'; • SELECT login FROM USERS WHERE email = 'admin' OR '1'='1'; déni de service corruption de tables Attaque XSS
  • 23. Vol de cookie Usurpation d'identité Exécution de code JavaScript arbitraire Détournement du navigateur Risques des XSS
  • 24. Les Voies Des XSS • echo $_GET['variable']; Balises HTML complètes • PHP<script src="http://www.site.com/hack.js" /> • <A HREF=http://66.102.7.147/>PHP</A> • <A HREF="http://0x42.0x0000066.0x7.0x93/">PHP</A> • <A HREF="http://%77%77%77%2E%67%6F%6F%67%6C%65%2E%63 %6F%6D">PHP</A> • >PHP<script src="//1113982867/hack.js" />
  • 25. Les Voies Des XSS Attributs HTML • <IMG SRC=javascript:alert('XSS')> • <IMG SRC=JaVaScRiPt:alert('XSS')> • <IMG SRC="jav ascript:alert('XSS');"> • <IMG SRC=javascript:alert( String.fromCharCode(88,83,83)) > • <form action=”index.php”><xss!><a" method
  • 26. Defences contre les XSS Concepts à retenir Valider les données entrantes Suivre les données validées Protéger les données sortantes Évitez les “, ‘, < et > UTF-8, entité HTML, hexadécimal...
  • 27. CSRF : Cross Site Request Forgery Exploite un site vulnérable pour qu’un utilisateur de ce site attaque un autre site Ou le même site! La seule protection de la victime est l’identification de l’utilisateur Aucun contact entre le pirate et le site
  • 28. CSRF : Cross Site Request Forgery Exploite un site vulnérable pour qu’un utilisateur de ce site attaque un autre site Ou le même site! La seule protection de la victime est l’identification de l’utilisateur Aucun contact entre le pirate et le site
  • 30. Scénario d’ attaque Site victime http://admin.site.com/efface.php?id=33 Site vulnérable <img src=” http://admin.site.com/efface.php?id=33”>
  • 31. Défenses Il faut se méfier d’un utilisateur qu’on a déjà identifié Faire des identifications fréquentes Réduire les temps de sessions Exploiter GET / POST
  • 32. 10 dix des attaques courantes
  • 33. Autres Attaques Spam et emails Injections HTTP Injections LDAP, ABAP, etc Exécution de commandes Téléchargement de fichiers AJAX!
  • 34. Autres Defenses Chiffrement et signatures CAPTCHA Gestion des mots de passe Fixation de session Attention aux hébergements partagés Changer l’identifiant régulièrement Relier la session au navigateur ...
  • 35. Comment créer une application web ?Il Faut adopter une politique globale conformément à celle de l’entreprise : Sécuriser le réseau Sécuriser l’hôte Sécuriser l’application
  • 36. Technologies utilisés La cryptographie Le Hachage Les signatures numériques Les certificats numériques Communications Sécurisés Authentification Autorisation Firewalls Audits Mise à jour et services packs
  • 37. Cryptographie C’ est un procédé qui consiste à encoder les données traités Pour protéger l’identité ou les données de l’utilisateur contre la lecture, la modification ou l’altération De vérifier l’origine d’une information 2 méthodes de cryptographie: Asymétrique Symétrique
  • 38. Symétrique / Asymétrique Algorithme Description Symétrique Utilise une même clé pour : Chiffrer Déchiffrer les informations Est Rapide et efficiente Asymétrique Utilise 2 clé mathématiquement liées: Une clé publique pour le chiffrement Une clé privée pour le déchiffrement Plus sécurisé que le symétrique Il est plus lent
  • 39. Vérification de l’intégrité des données des données grâce au hachage User A User B Data Data Valeur Hasher Algorithme de Hashage Données Valeur Hasher Valeur Hasher Algorithme de Hashage Authentiques si les 2 sont identiques L’utilisateur A envoit la valeur hasher à l’utilisateur B
  • 40. User A User B Data Hash Value Hash Algorithm User A Private key Data Valeur hashé User A clé public Hash Algorithm Valeur hasher Si les données correspondent alors elles proviennent du propriétaire de la clé et sont valides Signatures Numériques
  • 41. Certificats Numériques Clé Privée Paire de cléUser Application Ordinateur Service Administrateur Certifié Authorité de certification Clé publiqu e
  • 43. Fonctionnement d’ SSL L’utilisateur navigue via HTTPS Le navigateur crée une clé privé en relation avec celle du serveur administrateur Le serveur reçoit la clé et lui seul peut la décrypter grâce à sa clé secrète Après établissement de la communication toutes les échanges entre le navigateur et le serveur sont sécurisés 1 2 3 4 Certificat de l’administrateur du serveur web Message Serveur web sécurisé HTTPS Navigater en mode Sécurisé 1 2 3 4
  • 44. Authentification Basique Simple et objectif Supporter par la majorité des navigateurs Facile à mettre en oeuvre Requiert SSL/TLS
  • 46. Comment Evaluer la sécurité ? : Méthodologie et Outils
  • 47. Methodologie Interview Recherche préliminaire Préparation Finale Avant la phase d’évaluation Pendant la phase d’évaluation Après l’évaluations
  • 48. Quelsques outils Le navigateur Un scanner de sécurité automatique Un éditeur de requête HTTP Un Scanneur proxy
  • 49. Quelsques outils Le navigateur 1er premier outil pour apprécier le bon fonctionnement de l’application. Taper des url erronés ou inattendu Envoyaer les données par requêtes « POST » de formulaire ; Test des script de validation (ex ; java script). Des extensions de navigateurs peuvent être très utiles pour l’analyse de l’application comme le DOM inspector
  • 51. Quelsques outils Un scanner de sécurité automatique
  • 52. Scanner de sécurité : avantages Accélère et automatise la procédure de test Génère des rapports exploitables Décèle toutes les Vulnérabilités connuee Doit être très bien configurer
  • 53. Quelsques outils Un scanner de sécurité automatique
  • 54. Quelsques outils HTTP Request Editor Il est parfois requis lors de l’audit d’un site web de configurer les requêtes http lorsque le navigateur n’offre pas ce genre de manipulations. Par exemple Envoyer des requêtes http sans restriction au model de sécurité du navigateur web Tester les requêtes non faisable par un navigateur web (manipuler http header et http referer header) Tester les requêtes qui requiert des encryptions SSL Les résultats de ces manipulations sont visibles sur le rapport d’analyse en texte brut ou en Html
  • 56. Quelsques outils HTTP proxy On doit pendant la phase de test de vulnérabilité d’un site web intercepter les requêtes et les réponse http avant qu’il n’atteigne leur cible. Ce logiciel nous permettra alors lorsqu’il est bien configuré de le faire automatiquement. Ainsi il faut spécifier les limitations navigateurs, circonscrire les scripts côté client et les validations d’entrée (exemple : java script) enregistrer les log http, créer les règles automatique qui manipuleront certaines requêtes http.
  • 59. Questions et Réponses Copyright MARCELTCHOULEGHEU ISTDI 2008