Securité des applications web
-
Upload
marcel-tchoulegheu -
Category
Internet
-
view
46 -
download
0
Transcript of Securité des applications web
Sécurité des Applications Web
Rédigé et présenté par TCHOULEGHEU 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 IndustrielPremiers Pas
Sarl
Agenda
IntroductionPrésentation de la Société Premiers Pas Sarl SECURITE DES APPLICATIONS WEBConclusion
Présentation de la Société Premiers Pas Sarl
StructurePersonnelRôle du service TechniqueBudgets Quelques Références
Présentation de la Société Premiers Pas Sarl
B - Structure Direction
Service Technique
Vitrine web
Service Commercial
PersonnelTrois (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).
No
yau
du
ge
stio
nn
air
e d
e c
on
ten
u
(CO
RE
)
Module d’administration d’edition de contenus(Content Management System Made Simple - CMS MS)
Gestion du contenu en
ligne
Catalogue de produits en
ligne
Présentations des Projtes
réaliséa
Autres Modules à développer
Gestion des statistiques
Gestion des indexations,
recherches et téléchargements
Gestion de la Struture
(Personnel et filiale) Base de donnees
Des utilisateurs Et autres modules
Modeles de pages(Templates suivant la charte graphique)
Elements de mise en forme(Fichier CSS)
Présentation (Intranet)
ref Description Unite Qté PU PT Conception et développement
1 · Planification et gestion du projet Forfait 50 000 2 · Consultation des utilisateurs (SFA) homme/ jour 0 50 000 0 3 · Contenu et rédaction (SFA) homme/jour 0 50 000 0 4 · Photos et droits d'utilisation (SFA) Forfait 0 200 000 0 5 · Conception graphique homme/jour 3 50 000 150 000 6 · Programmation Web homme/jour 2 50 000 100 000 7 · Licence d’utilisation du logiciel Gratuit 8 · Tests d’utilisation homme/jour 1 50 000 50 000 9 · Saisie de données (SFA) homme/jour 0 50 000 0
Total développement 350 000
Hébergement promotion et maintenance
10 · Referencement Année 0 350 000 0
11 · Hébergement, nom de domiane et Adresses email illimité année 0 199 000 0
12 · Mise à jour du contenu Fait par SFA
13 · Maintenance et soutien technique année 0 300 000 0
14 · Formation Gratuit 1 100 000 0
Total hébergement promotion et maintenance 0
· Frais administratifs et divers Forfait 0 0
Total 350 000 Total HT 350 000 TVA (%) 19.25 67 375 Total TTC 417 375
Budgets
Sécurité des applications
Web
Pourquoi Sécurisé ?
Le coût de développement et d’hébergement des applications élevésBase 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 ressourcesDestruction des donnéesPublication de données confidentiellesPerte de confience des cliensBaisse de productivitéDétournement de votre siteUsurpation d’identitéRidicule ...
Quelques Exemples Site web de l’Université de Douala !
Quelques ExemplesSite web de la nouvelle expression hacké
Quelques ConstatsSite 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 XSSCSRFLiens 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 conteneursCommandes préparées
• SELECT login FROM USERS WHERE email = ?;
Procédures stockées / Variables SQLProtection 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 cookieUsurpation d'identitéExécution de code JavaScript arbitraireDé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 à retenirValider les données entrantesSuivre les données validéesProtéger les données sortantesÉvitez les “, ‘, < et >UTF-8, entité HTML, hexadécimal...
CSRF : Cross Site Request ForgeryExploite un site vulnérable pour
qu’un utilisateur de ce site attaque un autre siteOu le même site!La seule protection de la victime est l’identification de l’utilisateurAucun contact entre le pirate et le site
CSRF : Cross Site Request ForgeryExploite un site vulnérable pour
qu’un utilisateur de ce site attaque un autre siteOu le même site!La seule protection de la victime est l’identification de l’utilisateurAucun contact entre le pirate et le site
URL?XSS
HTML + XSS
Victime
Exécution
Scénario d’ attaque
Scénario d’ attaque
Site victimehttp://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équentesRéduire les temps de sessionsExploiter GET / POST
10 dix des attaques courantes
Autres Attaques Spam et emailsInjections HTTPInjections LDAP, ABAP, etcExécution de commandesTéléchargement de fichiersAJAX!
Autres DefensesChiffrement et signaturesCAPTCHAGestion des mots de passeFixation de sessionAttention aux hébergements partagésChanger l’identifiant régulièrementRelier 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ésLa cryptographieLe HachageLes signatures numériques Les certificats numériquesCommunications SécurisésAuthentificationAutorisationFirewallsAuditsMise à jour et services packs
CryptographieC’ 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érationDe vérifier l’origine d’une information
2 méthodes de cryptographie:AsymétriqueSymétrique
Symétrique / Asymétrique
Algorithme Description
SymétriqueUtilise une même clé pour :
ChiffrerDéchiffrer les informations
Est Rapide et efficiente
Asymétrique
Utilise 2 clé mathématiquement liées:Une clé publique pour le chiffrementUne clé privée pour le déchiffrement
Plus sécurisé que le symétriqueIl est plus lent
Vérification de l’intégrité des données des données grâce au hachageUser A User B
Data
Data
Valeur Hasher
Algorithme de Hashage
Données
Valeur Hasher
Valeur Hasher
Algorithme de HashageAuthentiques 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ériquesClé
Privée Paire de cléUser
Application
Ordinateur
Service
Administrateur Certifié
Authorité de certification
Clé publique
Technologie de CommunicationSécuriséeIPSec
SSL TLSCodage RPC
SSL/TLS IPSec RPC Encryption
Fonctionnement d’ SSL
L’utilisateur navigue via HTTPSLe navigateur crée une clé privé en relation avec celle du serveur administrateurLe serveur reçoit la clé et lui seul peut la décrypter grâce à sa clé secrèteAprè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
MessageServeur web
sécurisé
HTTPS
Navigater en mode Sécurisé
1
2
34
Authentification Basique
Simple et objectifSupporter par la majorité
des navigateursFacile à mettre en oeuvre Requiert SSL/TLS
Authentification Digest
Client
1 Request
Serveur
Challenge2
3Digest Algorithm
PasswordX$!87ghy5
4
Active Directory
Password 5
X$!87ghy5
6
Comment Evaluer la sécurité ? :
Méthodologie et Outils
Methodologie
InterviewRecherche préliminairePréparation Finale Avant la phase d’évaluationPendant la phase d’évaluation Après l’évaluations
Quelsques outils
Le navigateur Un scanner de sécurité automatiqueUn éditeur de requête HTTPUn 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 connueeDoit ê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 SSLLes 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