SlideShare a Scribd company logo
1 of 50
Download to read offline
Ubuntu paris 1610 -
Comprendre la sécurité web
Christophe Villeneuve
@hellosct1
Le 12 novembre 2016
Qui ???
Christophe
Villeneuve
mozilla reps - firefox os - B2GOS - ausy - afup – lemug.fr – mysql – mariadb – drupal – demoscene – firefoxos – drupagora – phptour – forumphp – solutionlinux – Libre@toi – eyrolles – editions eni – programmez – linux pratique – webriver – phptv – elephpant - owasp -security
Ubuntu paris 1610 -
Alors… La sécurité
La sécurité... c'est pour les autres
Les attaques !!! ah ah ah.. je rigole
Ubuntu paris 1610 -
Humour : La sécurité...
Ca ne sert rien
C'est de la vente forcée
Ce n'est pas pour moi
Les menaces
Ubuntu paris 1610 -
Les risques
● Ne connaissent pas
– L'étendue des risques liés à la sécurité de leur site
● Significations du terme « piratage »
● Des sites listent les failles, alertes...
● Vol d'informations
● Usurpation d'identité
● Indisponibilité de service
● Défiguration de site
● Désinformation
Ubuntu paris 1610 -
CVE security (1/3)
● Base de données des Vulnérabilités (source d'informations)
● CMS / Framework
● OS
● Navigateurs
Ubuntu paris 1610 -
CVE security (2/3)
https://www.cvedetails.com/product/20550/Canonical-Ubuntu-Linux.html?vendor_id=4781
Ubuntu paris 1610 -
CVE security (3/3)
Ubuntu paris 1610 -
Les vulnérabilités reconnues
● Insuffisance des tests de sécurité
● Configuration par défaut
● Pas de cryptage des données sensibles
● Pas de mises à jour du système
● La sécurité apparaît lors des catastrophes
● Surveillance inefficace
● Contrôle insuffisant de l'accès par des tiers
Ubuntu paris 1610 -
Les différents types d'attaques
● Matériels ● Périphériques ● Smartphones
● Internet des
Objets
● Le web● Logiciels
Ubuntu paris 1610 -
Les points faibles… les bases applicatives
Ubuntu paris 1610 -
Les vulnérabilités Web : Le symbôle
<
Ubuntu paris 1610 -
Les vulnérabilités Web : Le symbôle
&lt ;
Ubuntu paris 1610 -
Correspondance des caractères dangereux
Caractères Decimal Hexadecimal HTML
Character Set
Unicode
'' (double quote) &#34; &#x22; &quot; u0022
' (simple quote) &#39; &#x27; &apos: u0027
& (ampersand) &#38; &#x26; &amp; u0026
< (inférieur) &#60; &#x3C; &lt; u003c
> (supérieur) &#62; &#x3E; &gt; u003e
Ubuntu paris 1610 -
Oui mais pas que çà.
Ubuntu paris 1610 -
STEGANOGRAPHIE
L'art de cacher les choses
à la vue de tous
Trouver la courbe la plus
longue dans l'image
Q
Ubuntu paris 1610 -
Code sécurisé
✔ Défense en profondeur
✔ Limité les accès de données à l'extérieur
✔ Maximiser les droits
3 points à connaître
Ubuntu paris 1610 -
Mais... Quoi affiché !!!
✔ Erreur 404 ✔ Erreur 500
✔ Fichier Log
Un minimum d'informations lors d'un crash
Ubuntu paris 1610 -
Minimum de sécurité... 1 / 3
✔ Mettre une bonne stratégie de mot de passe (Jpassword)
✔ Ne pas le stocker en clair
✔ Pensez au captcha ou au jeton
✔ Force le mode SSL / TLS
✔ Limité le délais pour modifier son profil utilisateur
✔ Identification session
✔ Authentification coté serveur
✔ Pas d'authentification en JS / Ajax
Le contrôle : Authentification
Ubuntu paris 1610 -
Minimum de sécurité... 2 / 3
✔ Gestion des sessions aléatoire
(JSESSIONID / $_SESSION)
✔ Minimum d'informations visibles (ex URL)
✔ Eviter les données sensibles sur le réseau
(VS scanner de réseau)
✔ Cookie sécurisé (onglets des navigateurs)
✔ Limiter la fin de session pour les projets sensibles (ex 5 minutes)
✔ Bloquer les doubles logins / accès
✔ 1 Authentification = 1 utilisateur = 1 connexion BDD
Le contrôle des accès
Ubuntu paris 1610 -
Minimum de sécurité... 3 / 3
✔ Contrôler le cache
✔ Penser à vider le cache
✔ Fermer fenêtre
✔ Fermer Navigateur
✔ Fermer Application
Logique de code... Pas sûr
Ubuntu paris 1610 -
Les autres solutions
Ubuntu paris 1610 -
OWASP
● OWASP : Open Web Application Security Project
● Communauté pour la sécurité des applications
Webs
● Publications :
TOP 10 / Cheat sheets / Owasp : secure Contrat
● Outils :
Owasp Zed attack Proxy / ESAPI : API for / AppSensor
:: a IDS / IPS
● Jeux :
Owasp cornicoppia / Owasp Snake
Ubuntu paris 1610 -
TOP 10 : OWASP (web) 1/2
✔ Failles d'injection
✔ Cross-Site Scripting (XSS)
✔ Violation d'authentification et de Session
✔ Référence directe non sécurisée à un objet
✔ Falsification de requête (CSRF)
✔ Mauvaise configuration de sécurité
✔ Stockage cryptographique non sécurisé
✔ Manque de restriction d'accès URL
✔ Communications non sécurisées
✔ Redirections non validées
✔ Failles d'injection
✔ Violation d'authentification et de Session
✔ Cross-Site Scripting (XSS)
✔ Référence directe non sécurisée à un objet
✔ Mauvaise configuration de sécurité
✔ Données sensibles accessible
✔ Manque de sécurité au niveau des rôles
✔ Falsification de requête (CSRF)
✔ Utilisation de composants connus vulnérables
✔ Redirections non validées
2010
X✔ Fuite d'information et Traitement d'erreur
Incorrect
✔ Exécution de Fichier Malicieux
N
X
N
2013
✔ Communications non sécuriséesX
N
Z
Z
N Z XHausse Baisse Identique NouveauBaisse SortieRenommé
Ubuntu paris 1610 -
TOP 10 : OWASP (2/2)
● 1. Verify for Security Early 
and Often
Vérifier la sécurité tôt et souvent
● 2. Parameterize Queries
Paramétrer les requêtes
● 3. Encode Data
Encoder les données
● 4. Validate All Inputs
Valider toutes les entrées
● 5. Implement Identity and 
Authentication Controls
Implémenter des contrôles
d'identité et d'authentification
2016 Top 10 Proactive Controls suggestions
● 6. Implement Appropriate Access 
Controls
Mettre en œuvre des contrôles d'accès
appropriés
● 7. Protect Data
Protéger les données
● 8. Implement Logging and 
Intrusion Detection
Implémentez l'enregistrement et la
détection d'intrusion
● 9. Leverage Security Frameworks 
and Libraries
Tirer parti des cadres de sécurité et des
bibliothèques
● 10. Error and Exception Handling.
Gestion des erreurs et des exceptions.
Ubuntu paris 1610 -
Au niveau Site / Blog...
//
Ubuntu paris 1610 -
Injection
Ubuntu paris 1610 -
✔ Configuration non à jour
✔ Pas de maintenance
✔ Mise à disposition des
fonctions
✔ Exec
✔ System
● Autre manière de prise en
main du système
● Serveur Zombie
●
Principe de l'attaque Conséquence
Injection de ligne de commandes
OWASP : A1 - Injection en ligne de commande
Ubuntu paris 1610 -
Désactiver dans php.ini
– exec
– passthru
– shell_exec
– system
– proc_open
– popen
– curl_exec
– curl_multi_exec
– parse_ini_file
– show_source
Affiche le nom de l'utilisateur
<?php
echo exec('whoami');
?>
Par conséquent : 
safe_mode = Off
allow_url_fopen=Off
allow_url_include=Off
OWASP : A1 - Injection en ligne de commande
Ubuntu paris 1610 -
✔ Envoie du code SQL
✔ Formulaire
✔ GET / POST
✔ Cookies
✔ ...
✔ Contournement
authentification
✔ Récupération des données
de la base
✔ Récupération de fichiers
✔ Exécution de codes
Principe de l'attaque Conséquence
Injection SQL
OWASP : A1 - Injection SQL
Ubuntu paris 1610 -
Utilisation du SQL
● Risque : Requête avec des simples quotes
SELECT * FROM 'users' WHERE 'username'='$login' AND 'password'='$pass'
● Saisie : $login = hello $pass = hello
SELECT * FROM 'users' WHERE 'username'='hello' AND 'password'='hello'
● Saisie : $login = ' OR '1'='1' $pass = ' OR '1'='1'
SELECT * FROM 'users' WHERE 'username'='' OR '1'='1'' AND 'password'='' OR '1'='1''
● Saisie : $login = ' OR 1=1"); drop table users; $pass =
SELECT * FROM 'users' WHERE 'username'='' OR 1=1"); drop table users;' AND
'password'=''
TRUE
TRUE
TRUE
Sauf si BDD lecture
OWASP : A1 - Injection SQL
Ubuntu paris 1610 -
Se protéger contre injection SQL
● addslashes()
– Ajoute des antislashs dans une chaîne
SELECT * FROM 'users'
WHERE 'username'=' ' OR '1'='1' '
AND 'password'=' ' OR '1'='1' '
mysqli_real_escape_string()
– Protège les caractères spéciaux
● pdo_quote()
– Place des guillemets simples autour d'une chaîne entrée
les guillemets simples '
les guillemets doubles "
les slashes /
les caractères NULL
OWASP : A1 - Injection SQL
Ubuntu paris 1610 -
Provenance coté front
● Navigation
● Formulaire
– Champs : Input, upload,...
● Des API Couche Métier
OWASP : A1 – Injection API
Ubuntu paris 1610 -
✔ Trouver
✔ des données stockés /
archivés en clair
✔ Espace privée non
partagée
✔ Communication avec la
banque
✔ Déterminer les algorithmes
de cryptage faible
✔ Cible principale
✔ Mot de passes
✔ Données sensibles non
chiffrées
✔ Carte bleu
Principe de l'attaque Conséquence
Exposition de données sensibles
OWASP : A1 / A6 / A10
Ubuntu paris 1610 -
✔ Envoie du code SQL
● Formulaire
● GET / POST
● Cookies
● ...
✔ Contournement
authentification
✔ Récupération des données
de la base
✔ Récupération de fichiers
✔ Exécution de codes
Principe de l'attaque Conséquence
API Métier : connexion LDAP
OWASP : A1 – Injection API
Ubuntu paris 1610 -
Mobiles / Tablettes
Ubuntu paris 1610 -
TOP 10 : Mobile Risk
✔ 1-Commandes côté serveur faible
✔ 2-Stockage de données non sécurisé
✔ 3-Protection insuffisante de la couche
de transport
✔ 4-Fuite de données involontaire
✔ 5-Mauvaise autorisation et
authentification
✔ 6-Cryptographie brisée
✔ 7-Injection côté client
✔ 8-Décisions de sécurité via les entrées
non approuvées
✔ 9-Gestion incorrecte des sessions
✔ 10-Manque de protections binaires
✔ 1-Utilisation inappropriée de la plate-
forme
✔ 2-Stockage de données non sécurisé
✔ 3-Communication insécurisée
✔ 4-Authentification non sécurisée
✔ 5-Cryptographie insuffisante
✔ 6-Autorisation non sécurisée
✔ 7-Qualité du code client
✔ 8-Code de falsification
✔ 9-Ingénierie inverse
✔ 10-Fonctionnalité exubérante
2014 2016 Version RC
Z
N Z XHausse Baisse Identique NouveauBaisse SortieRenommé
Ubuntu paris 1610 -
TOP 10 : Mobile Risk 2016 (rc)
● Utilisation inappropriée de la plate-forme
– Les fonctionnalités inutiles - La sécurité – Accès aux contacts...
● Stockage de données non sécurisé
– Stockage des données non sécurisé – Fuites de données involontaires
● Communication insécurisée
– SSL incorrectes – communication en clair des informations sensibles...
● Authentification non sécurisée
– identification pour l'utilisateur – Faiblesse dans la gestion des sessions...
● Cryptographie insuffisante
– Problème lié à Cryptographie (pas été effectuée correctement)
● Autorisation non sécurisée
– Défaillance dans l'autorisation – navigation forcée...
● Qualité du code client
– Problème débordements de tampon – faire du code inutile...
● Code de falsification
– Couvre les correctifs binaires – Modification de l'utilisation prévue du logiciel (par un attaquant)...
● Ingénierie inverse
– Analyse du noyau binaire – possible d'exploiter d'autres vulnérabilités
● Fonctionnalité exubérante
– Fonctionnalités backdoor cachées – des données dans les commentaires
Ubuntu paris 1610 -
Internet des Objets
Ubuntu paris 1610 -
TOP 10 : IoT Vulnerabilities
✔ 1 -Interface Web Insecure
✔ 2 -Authentification / Autorisation insuffisante
✔ 3 - Services réseau insécurisés
✔ 4 - Le manque de chiffrement de transport
✔ 5 - Problèmes de confidentialité
✔ 6 - Interface non sécurisée
✔ 7 - Interface mobile sans sécurité
✔ 8 - Configuration de sécurité insuffisante
✔ 9 - Logiciels / logiciels non sécurisés
✔ 10 - Faible sécurité physique
2014
Ubuntu paris 1610 -
L'avenir proche
Ubuntu paris 1610 -
Les tendances de l'IoT
● La protection de
sécurité
– Equipement vers Cloud
(= chip to cloud)
● Sécurité et vie privée● Délégation de gestion
aux utilisateurs
● La mort du mot de
passe
– Approche à grands pas
Ubuntu paris 1610 -
Images des outils
Ubuntu paris 1610 -
Outils et Technologies
Automated security
verification
- Vulnerability scanners
- Static Analysis Tools
- Fuzzing
Manual security verification
- Penetration testing tools
- Code Review tools
Security architecture
- Esapi
Secure coding
- AppSec Libraries
- Esapi Reference
Implémentation
- Guards and Filters
AppSec Management
- Reporting Tools
AppSec Education
- Flawed App
- Learning environnements
- Live CD
- Site Generator
Ubuntu paris 1610 -
En résumé : une politique de sécurité (1/2)
● Ne pas se cantonner :
– Garantir les droits d'accès aux données
– Accès aux ressources avec des systèmes
d'authentifications
● Anticiper les risques futurs
– Améliorer
– Déployer
– Evolution
● Suivre les mises à jours (si vous utilisez une
solution externe)
Merci
Questions
Christophe Villeneuve
@hellosct1
Supports :
- OWASP
- OWASP France
- Sébastien Gioria
- C. Villeneuve
Ubuntu paris 1610 -
En résumé : une politique de sécurité (2/2)
● Politique de sécurité
– Identifier les besoins en termes de sécurité, les risques
– Elaborer des règles et des procédures
Services de l'organisation, matériels utilisés…
– Surveiller et détecter les vulnérabilités du système
d'information, applications… En informer
– Détecter les actions à entreprendre, voir les bonnes
personnes à contacter en cas d'une menace
Ubuntu paris 1610 -
Sources
● Web
– https://www.owasp.org/index.php/Top10
– https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
● Mobile
– https://www.owasp.org/index.php/OWASP_Mobile_Security_Project
– https://www.owasp.org/index.php/Mobile_Top_10_2016-Top_10
● IoT
– https://www.owasp.org/index.php/Top_10_IoT_Vulnerabilities_(2014)
● OWASP
– https://www.owasp.org
Merci
Questions
Christophe Villeneuve
@hellosct1
Supports :
- OWASP
- OWASP France
- Sébastien Gioria
- C. Villeneuve

More Related Content

What's hot

What's hot (20)

Chiffrer et sécuriser MariaDB
Chiffrer et sécuriser MariaDBChiffrer et sécuriser MariaDB
Chiffrer et sécuriser MariaDB
 
Introduction vulnérabilité web
Introduction vulnérabilité webIntroduction vulnérabilité web
Introduction vulnérabilité web
 
La sécurite pour les developpeurs - OWF
La sécurite pour les developpeurs - OWFLa sécurite pour les developpeurs - OWF
La sécurite pour les developpeurs - OWF
 
Tuto atelier securisation_site_web
Tuto atelier securisation_site_webTuto atelier securisation_site_web
Tuto atelier securisation_site_web
 
présentation Faille include
présentation Faille include présentation Faille include
présentation Faille include
 
Sécurisez-vous avec des solutions Open Source
Sécurisez-vous avec des solutions Open SourceSécurisez-vous avec des solutions Open Source
Sécurisez-vous avec des solutions Open Source
 
Hackerspace jan-2013
Hackerspace jan-2013Hackerspace jan-2013
Hackerspace jan-2013
 
pres2
pres2pres2
pres2
 
ASFWS 2013 - Optimiser ses attaques Web avec Burp par Nicolas Grégoire
ASFWS 2013 - Optimiser ses attaques Web avec Burp par Nicolas GrégoireASFWS 2013 - Optimiser ses attaques Web avec Burp par Nicolas Grégoire
ASFWS 2013 - Optimiser ses attaques Web avec Burp par Nicolas Grégoire
 
Les défis les plus fréquents dans l’implémentation de HTTPS
Les défis les plus fréquents dans l’implémentation de HTTPSLes défis les plus fréquents dans l’implémentation de HTTPS
Les défis les plus fréquents dans l’implémentation de HTTPS
 
OpenSSL
OpenSSLOpenSSL
OpenSSL
 
Présentation de mon PFE
Présentation de mon PFEPrésentation de mon PFE
Présentation de mon PFE
 
08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl
 
Extraction mots de passe par attaque Man-in-the-middle
Extraction mots de passe par attaque Man-in-the-middleExtraction mots de passe par attaque Man-in-the-middle
Extraction mots de passe par attaque Man-in-the-middle
 
La Sécurité Sur Le Web
La Sécurité Sur Le WebLa Sécurité Sur Le Web
La Sécurité Sur Le Web
 
Du fuzzing dans les tests d'intrusions? (Éric Gingras)
Du fuzzing dans les tests d'intrusions? (Éric Gingras)Du fuzzing dans les tests d'intrusions? (Éric Gingras)
Du fuzzing dans les tests d'intrusions? (Éric Gingras)
 
StHack 2014 - Benjamin "@gentilkiwi" Delpy Mimikatz
StHack 2014 - Benjamin "@gentilkiwi" Delpy MimikatzStHack 2014 - Benjamin "@gentilkiwi" Delpy Mimikatz
StHack 2014 - Benjamin "@gentilkiwi" Delpy Mimikatz
 
Les menaces apt
Les menaces aptLes menaces apt
Les menaces apt
 
Webinar SSL Français
Webinar SSL FrançaisWebinar SSL Français
Webinar SSL Français
 
mimikatz @ ossir
mimikatz @ ossirmimikatz @ ossir
mimikatz @ ossir
 

Viewers also liked

Memoire de fin d'études pour le diplome de Chef de Projet Informatique et Rés...
Memoire de fin d'études pour le diplome de Chef de Projet Informatique et Rés...Memoire de fin d'études pour le diplome de Chef de Projet Informatique et Rés...
Memoire de fin d'études pour le diplome de Chef de Projet Informatique et Rés...
Arnold Stellio
 
Sécurité sur internet
Sécurité sur internetSécurité sur internet
Sécurité sur internet
vchambon
 
Introduction à la sécurité des WebServices
Introduction à la sécurité des WebServicesIntroduction à la sécurité des WebServices
Introduction à la sécurité des WebServices
ConFoo
 
Forum aaf preuve sécurité 22 mars 2013 (2)
Forum aaf preuve  sécurité 22 mars 2013 (2)Forum aaf preuve  sécurité 22 mars 2013 (2)
Forum aaf preuve sécurité 22 mars 2013 (2)
AssociationAF
 
Simulations et applications réparties sous LINUX
Simulations et applications réparties sous LINUXSimulations et applications réparties sous LINUX
Simulations et applications réparties sous LINUX
Fdiwa
 

Viewers also liked (20)

Cours Secu Web
Cours Secu WebCours Secu Web
Cours Secu Web
 
Sécurité des web services soap
Sécurité des web services soapSécurité des web services soap
Sécurité des web services soap
 
Accroître la sécurité de son site internet et de Joomla! plus spécifiquement
Accroître la sécurité de son site internet et de Joomla! plus spécifiquementAccroître la sécurité de son site internet et de Joomla! plus spécifiquement
Accroître la sécurité de son site internet et de Joomla! plus spécifiquement
 
Les réseaux Informatiques
Les réseaux InformatiquesLes réseaux Informatiques
Les réseaux Informatiques
 
A la découverte de l'univers des échecs
A la découverte de l'univers des échecsA la découverte de l'univers des échecs
A la découverte de l'univers des échecs
 
Cours de tactique aux echecs
Cours de tactique aux echecsCours de tactique aux echecs
Cours de tactique aux echecs
 
Memoire de fin d'études pour le diplome de Chef de Projet Informatique et Rés...
Memoire de fin d'études pour le diplome de Chef de Projet Informatique et Rés...Memoire de fin d'études pour le diplome de Chef de Projet Informatique et Rés...
Memoire de fin d'études pour le diplome de Chef de Projet Informatique et Rés...
 
Sécurité sur internet
Sécurité sur internetSécurité sur internet
Sécurité sur internet
 
Introduction à la sécurité des WebServices
Introduction à la sécurité des WebServicesIntroduction à la sécurité des WebServices
Introduction à la sécurité des WebServices
 
ASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain Maret
ASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain MaretASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain Maret
ASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain Maret
 
Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuelles
 
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...
 
Media center sous linux
Media center sous linuxMedia center sous linux
Media center sous linux
 
Forum aaf preuve sécurité 22 mars 2013 (2)
Forum aaf preuve  sécurité 22 mars 2013 (2)Forum aaf preuve  sécurité 22 mars 2013 (2)
Forum aaf preuve sécurité 22 mars 2013 (2)
 
Simulations et applications réparties sous LINUX
Simulations et applications réparties sous LINUXSimulations et applications réparties sous LINUX
Simulations et applications réparties sous LINUX
 
Virtualisation
VirtualisationVirtualisation
Virtualisation
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linux
 
Offre d'emploi Ingénieur intégration système LINUX H/F
Offre d'emploi Ingénieur intégration système LINUX H/FOffre d'emploi Ingénieur intégration système LINUX H/F
Offre d'emploi Ingénieur intégration système LINUX H/F
 
LinPKI
LinPKILinPKI
LinPKI
 
De la Securité Informatique a l’Identite Numerique 2.0
De la Securité Informatique a l’Identite Numerique 2.0De la Securité Informatique a l’Identite Numerique 2.0
De la Securité Informatique a l’Identite Numerique 2.0
 

Similar to Comprendre la securite web

Techdays 2010 : comment hacker PHP sans se fatiguer
Techdays 2010 : comment hacker PHP sans se fatiguerTechdays 2010 : comment hacker PHP sans se fatiguer
Techdays 2010 : comment hacker PHP sans se fatiguer
Damien Seguy
 
Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02
Asma Messaoudi
 
Colloque cyber 2010 les botnets
Colloque cyber 2010   les botnetsColloque cyber 2010   les botnets
Colloque cyber 2010 les botnets
michelcusin
 

Similar to Comprendre la securite web (20)

Comprendre la securite web 2017
Comprendre la securite web 2017Comprendre la securite web 2017
Comprendre la securite web 2017
 
Réseaux-et-Sécurité.pdf
Réseaux-et-Sécurité.pdfRéseaux-et-Sécurité.pdf
Réseaux-et-Sécurité.pdf
 
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défense
 
Prévention et traitement du hack de serveurs
Prévention et traitement du hack de serveursPrévention et traitement du hack de serveurs
Prévention et traitement du hack de serveurs
 
Domain Name System Security Extensions (aka. DNSSEC pour les intimes)
Domain Name System Security Extensions (aka. DNSSEC  pour les intimes)Domain Name System Security Extensions (aka. DNSSEC  pour les intimes)
Domain Name System Security Extensions (aka. DNSSEC pour les intimes)
 
Techdays 2010 : comment hacker PHP sans se fatiguer
Techdays 2010 : comment hacker PHP sans se fatiguerTechdays 2010 : comment hacker PHP sans se fatiguer
Techdays 2010 : comment hacker PHP sans se fatiguer
 
Tuto VP IPSEC Site-to-site
Tuto VP IPSEC Site-to-siteTuto VP IPSEC Site-to-site
Tuto VP IPSEC Site-to-site
 
La sécurité : ange ou démon ?
La sécurité : ange ou démon ?La sécurité : ange ou démon ?
La sécurité : ange ou démon ?
 
mimikatz @ sthack
mimikatz @ sthackmimikatz @ sthack
mimikatz @ sthack
 
IPsec
IPsecIPsec
IPsec
 
Attaques Informatiques
Attaques InformatiquesAttaques Informatiques
Attaques Informatiques
 
Hacking Open source et Sécurité, préconisations
Hacking Open source et Sécurité, préconisationsHacking Open source et Sécurité, préconisations
Hacking Open source et Sécurité, préconisations
 
La sécurité au coeur des projets webs de demain
La sécurité au coeur des projets webs de demainLa sécurité au coeur des projets webs de demain
La sécurité au coeur des projets webs de demain
 
Réseau MiNET
Réseau MiNETRéseau MiNET
Réseau MiNET
 
Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02
 
Les attaques MITM
Les attaques MITMLes attaques MITM
Les attaques MITM
 
Drupal, les hackers, la sécurité & les (très) grands comptes
Drupal, les hackers, la sécurité & les (très) grands comptesDrupal, les hackers, la sécurité & les (très) grands comptes
Drupal, les hackers, la sécurité & les (très) grands comptes
 
Hackernew
HackernewHackernew
Hackernew
 
Rmll.securite
Rmll.securiteRmll.securite
Rmll.securite
 
Colloque cyber 2010 les botnets
Colloque cyber 2010   les botnetsColloque cyber 2010   les botnets
Colloque cyber 2010 les botnets
 

More from Christophe Villeneuve

More from Christophe Villeneuve (20)

MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
 
La boîte à outils de développements dans Firefox
La boîte à outils de développements dans FirefoxLa boîte à outils de développements dans Firefox
La boîte à outils de développements dans Firefox
 
pister les pisteurs
pister les pisteurspister les pisteurs
pister les pisteurs
 
controler vos donnees éthiques dans le web
controler vos donnees éthiques dans le webcontroler vos donnees éthiques dans le web
controler vos donnees éthiques dans le web
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
 
Mariadb une base de données NewSQL
Mariadb une base de données NewSQLMariadb une base de données NewSQL
Mariadb une base de données NewSQL
 
Open Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnanteOpen Source et contribution : Une association gagnante
Open Source et contribution : Une association gagnante
 
Pentest bus pirate
Pentest bus piratePentest bus pirate
Pentest bus pirate
 
Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?
 
La sécurité applicative par le design
La sécurité applicative par le designLa sécurité applicative par le design
La sécurité applicative par le design
 
Foxfooding semaine 3
Foxfooding semaine 3Foxfooding semaine 3
Foxfooding semaine 3
 
Foxfooding
FoxfoodingFoxfooding
Foxfooding
 
Accessibilite web wcag rgaa
Accessibilite web wcag rgaaAccessibilite web wcag rgaa
Accessibilite web wcag rgaa
 
Mozilla french speaking community activites
Mozilla french speaking community activitesMozilla french speaking community activites
Mozilla french speaking community activites
 
Monitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et MicrosoftMonitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et Microsoft
 
Etes vous-pret pour php8 ?
Etes vous-pret pour php8 ?Etes vous-pret pour php8 ?
Etes vous-pret pour php8 ?
 
Le futur de l'authentification webAuthn
Le futur de l'authentification webAuthnLe futur de l'authentification webAuthn
Le futur de l'authentification webAuthn
 
Send large files with addons
Send large files with addonsSend large files with addons
Send large files with addons
 
Tests d'accessibilite par la pratique
Tests d'accessibilite par la pratiqueTests d'accessibilite par la pratique
Tests d'accessibilite par la pratique
 
Donnez la voix aux machines
Donnez la voix aux machinesDonnez la voix aux machines
Donnez la voix aux machines
 

Comprendre la securite web

  • 1. Ubuntu paris 1610 - Comprendre la sécurité web Christophe Villeneuve @hellosct1 Le 12 novembre 2016
  • 2. Qui ??? Christophe Villeneuve mozilla reps - firefox os - B2GOS - ausy - afup – lemug.fr – mysql – mariadb – drupal – demoscene – firefoxos – drupagora – phptour – forumphp – solutionlinux – Libre@toi – eyrolles – editions eni – programmez – linux pratique – webriver – phptv – elephpant - owasp -security
  • 3. Ubuntu paris 1610 - Alors… La sécurité La sécurité... c'est pour les autres Les attaques !!! ah ah ah.. je rigole
  • 4. Ubuntu paris 1610 - Humour : La sécurité... Ca ne sert rien C'est de la vente forcée Ce n'est pas pour moi
  • 6. Ubuntu paris 1610 - Les risques ● Ne connaissent pas – L'étendue des risques liés à la sécurité de leur site ● Significations du terme « piratage » ● Des sites listent les failles, alertes... ● Vol d'informations ● Usurpation d'identité ● Indisponibilité de service ● Défiguration de site ● Désinformation
  • 7. Ubuntu paris 1610 - CVE security (1/3) ● Base de données des Vulnérabilités (source d'informations) ● CMS / Framework ● OS ● Navigateurs
  • 8. Ubuntu paris 1610 - CVE security (2/3) https://www.cvedetails.com/product/20550/Canonical-Ubuntu-Linux.html?vendor_id=4781
  • 9. Ubuntu paris 1610 - CVE security (3/3)
  • 10. Ubuntu paris 1610 - Les vulnérabilités reconnues ● Insuffisance des tests de sécurité ● Configuration par défaut ● Pas de cryptage des données sensibles ● Pas de mises à jour du système ● La sécurité apparaît lors des catastrophes ● Surveillance inefficace ● Contrôle insuffisant de l'accès par des tiers
  • 11. Ubuntu paris 1610 - Les différents types d'attaques ● Matériels ● Périphériques ● Smartphones ● Internet des Objets ● Le web● Logiciels
  • 12. Ubuntu paris 1610 - Les points faibles… les bases applicatives
  • 13. Ubuntu paris 1610 - Les vulnérabilités Web : Le symbôle <
  • 14. Ubuntu paris 1610 - Les vulnérabilités Web : Le symbôle &lt ;
  • 15. Ubuntu paris 1610 - Correspondance des caractères dangereux Caractères Decimal Hexadecimal HTML Character Set Unicode '' (double quote) &#34; &#x22; &quot; u0022 ' (simple quote) &#39; &#x27; &apos: u0027 & (ampersand) &#38; &#x26; &amp; u0026 < (inférieur) &#60; &#x3C; &lt; u003c > (supérieur) &#62; &#x3E; &gt; u003e
  • 16. Ubuntu paris 1610 - Oui mais pas que çà.
  • 17. Ubuntu paris 1610 - STEGANOGRAPHIE L'art de cacher les choses à la vue de tous Trouver la courbe la plus longue dans l'image Q
  • 18. Ubuntu paris 1610 - Code sécurisé ✔ Défense en profondeur ✔ Limité les accès de données à l'extérieur ✔ Maximiser les droits 3 points à connaître
  • 19. Ubuntu paris 1610 - Mais... Quoi affiché !!! ✔ Erreur 404 ✔ Erreur 500 ✔ Fichier Log Un minimum d'informations lors d'un crash
  • 20. Ubuntu paris 1610 - Minimum de sécurité... 1 / 3 ✔ Mettre une bonne stratégie de mot de passe (Jpassword) ✔ Ne pas le stocker en clair ✔ Pensez au captcha ou au jeton ✔ Force le mode SSL / TLS ✔ Limité le délais pour modifier son profil utilisateur ✔ Identification session ✔ Authentification coté serveur ✔ Pas d'authentification en JS / Ajax Le contrôle : Authentification
  • 21. Ubuntu paris 1610 - Minimum de sécurité... 2 / 3 ✔ Gestion des sessions aléatoire (JSESSIONID / $_SESSION) ✔ Minimum d'informations visibles (ex URL) ✔ Eviter les données sensibles sur le réseau (VS scanner de réseau) ✔ Cookie sécurisé (onglets des navigateurs) ✔ Limiter la fin de session pour les projets sensibles (ex 5 minutes) ✔ Bloquer les doubles logins / accès ✔ 1 Authentification = 1 utilisateur = 1 connexion BDD Le contrôle des accès
  • 22. Ubuntu paris 1610 - Minimum de sécurité... 3 / 3 ✔ Contrôler le cache ✔ Penser à vider le cache ✔ Fermer fenêtre ✔ Fermer Navigateur ✔ Fermer Application Logique de code... Pas sûr
  • 23. Ubuntu paris 1610 - Les autres solutions
  • 24. Ubuntu paris 1610 - OWASP ● OWASP : Open Web Application Security Project ● Communauté pour la sécurité des applications Webs ● Publications : TOP 10 / Cheat sheets / Owasp : secure Contrat ● Outils : Owasp Zed attack Proxy / ESAPI : API for / AppSensor :: a IDS / IPS ● Jeux : Owasp cornicoppia / Owasp Snake
  • 25. Ubuntu paris 1610 - TOP 10 : OWASP (web) 1/2 ✔ Failles d'injection ✔ Cross-Site Scripting (XSS) ✔ Violation d'authentification et de Session ✔ Référence directe non sécurisée à un objet ✔ Falsification de requête (CSRF) ✔ Mauvaise configuration de sécurité ✔ Stockage cryptographique non sécurisé ✔ Manque de restriction d'accès URL ✔ Communications non sécurisées ✔ Redirections non validées ✔ Failles d'injection ✔ Violation d'authentification et de Session ✔ Cross-Site Scripting (XSS) ✔ Référence directe non sécurisée à un objet ✔ Mauvaise configuration de sécurité ✔ Données sensibles accessible ✔ Manque de sécurité au niveau des rôles ✔ Falsification de requête (CSRF) ✔ Utilisation de composants connus vulnérables ✔ Redirections non validées 2010 X✔ Fuite d'information et Traitement d'erreur Incorrect ✔ Exécution de Fichier Malicieux N X N 2013 ✔ Communications non sécuriséesX N Z Z N Z XHausse Baisse Identique NouveauBaisse SortieRenommé
  • 26. Ubuntu paris 1610 - TOP 10 : OWASP (2/2) ● 1. Verify for Security Early  and Often Vérifier la sécurité tôt et souvent ● 2. Parameterize Queries Paramétrer les requêtes ● 3. Encode Data Encoder les données ● 4. Validate All Inputs Valider toutes les entrées ● 5. Implement Identity and  Authentication Controls Implémenter des contrôles d'identité et d'authentification 2016 Top 10 Proactive Controls suggestions ● 6. Implement Appropriate Access  Controls Mettre en œuvre des contrôles d'accès appropriés ● 7. Protect Data Protéger les données ● 8. Implement Logging and  Intrusion Detection Implémentez l'enregistrement et la détection d'intrusion ● 9. Leverage Security Frameworks  and Libraries Tirer parti des cadres de sécurité et des bibliothèques ● 10. Error and Exception Handling. Gestion des erreurs et des exceptions.
  • 27. Ubuntu paris 1610 - Au niveau Site / Blog... //
  • 28. Ubuntu paris 1610 - Injection
  • 29. Ubuntu paris 1610 - ✔ Configuration non à jour ✔ Pas de maintenance ✔ Mise à disposition des fonctions ✔ Exec ✔ System ● Autre manière de prise en main du système ● Serveur Zombie ● Principe de l'attaque Conséquence Injection de ligne de commandes OWASP : A1 - Injection en ligne de commande
  • 30. Ubuntu paris 1610 - Désactiver dans php.ini – exec – passthru – shell_exec – system – proc_open – popen – curl_exec – curl_multi_exec – parse_ini_file – show_source Affiche le nom de l'utilisateur <?php echo exec('whoami'); ?> Par conséquent :  safe_mode = Off allow_url_fopen=Off allow_url_include=Off OWASP : A1 - Injection en ligne de commande
  • 31. Ubuntu paris 1610 - ✔ Envoie du code SQL ✔ Formulaire ✔ GET / POST ✔ Cookies ✔ ... ✔ Contournement authentification ✔ Récupération des données de la base ✔ Récupération de fichiers ✔ Exécution de codes Principe de l'attaque Conséquence Injection SQL OWASP : A1 - Injection SQL
  • 32. Ubuntu paris 1610 - Utilisation du SQL ● Risque : Requête avec des simples quotes SELECT * FROM 'users' WHERE 'username'='$login' AND 'password'='$pass' ● Saisie : $login = hello $pass = hello SELECT * FROM 'users' WHERE 'username'='hello' AND 'password'='hello' ● Saisie : $login = ' OR '1'='1' $pass = ' OR '1'='1' SELECT * FROM 'users' WHERE 'username'='' OR '1'='1'' AND 'password'='' OR '1'='1'' ● Saisie : $login = ' OR 1=1"); drop table users; $pass = SELECT * FROM 'users' WHERE 'username'='' OR 1=1"); drop table users;' AND 'password'='' TRUE TRUE TRUE Sauf si BDD lecture OWASP : A1 - Injection SQL
  • 33. Ubuntu paris 1610 - Se protéger contre injection SQL ● addslashes() – Ajoute des antislashs dans une chaîne SELECT * FROM 'users' WHERE 'username'=' ' OR '1'='1' ' AND 'password'=' ' OR '1'='1' ' mysqli_real_escape_string() – Protège les caractères spéciaux ● pdo_quote() – Place des guillemets simples autour d'une chaîne entrée les guillemets simples ' les guillemets doubles " les slashes / les caractères NULL OWASP : A1 - Injection SQL
  • 34. Ubuntu paris 1610 - Provenance coté front ● Navigation ● Formulaire – Champs : Input, upload,... ● Des API Couche Métier OWASP : A1 – Injection API
  • 35. Ubuntu paris 1610 - ✔ Trouver ✔ des données stockés / archivés en clair ✔ Espace privée non partagée ✔ Communication avec la banque ✔ Déterminer les algorithmes de cryptage faible ✔ Cible principale ✔ Mot de passes ✔ Données sensibles non chiffrées ✔ Carte bleu Principe de l'attaque Conséquence Exposition de données sensibles OWASP : A1 / A6 / A10
  • 36. Ubuntu paris 1610 - ✔ Envoie du code SQL ● Formulaire ● GET / POST ● Cookies ● ... ✔ Contournement authentification ✔ Récupération des données de la base ✔ Récupération de fichiers ✔ Exécution de codes Principe de l'attaque Conséquence API Métier : connexion LDAP OWASP : A1 – Injection API
  • 37. Ubuntu paris 1610 - Mobiles / Tablettes
  • 38. Ubuntu paris 1610 - TOP 10 : Mobile Risk ✔ 1-Commandes côté serveur faible ✔ 2-Stockage de données non sécurisé ✔ 3-Protection insuffisante de la couche de transport ✔ 4-Fuite de données involontaire ✔ 5-Mauvaise autorisation et authentification ✔ 6-Cryptographie brisée ✔ 7-Injection côté client ✔ 8-Décisions de sécurité via les entrées non approuvées ✔ 9-Gestion incorrecte des sessions ✔ 10-Manque de protections binaires ✔ 1-Utilisation inappropriée de la plate- forme ✔ 2-Stockage de données non sécurisé ✔ 3-Communication insécurisée ✔ 4-Authentification non sécurisée ✔ 5-Cryptographie insuffisante ✔ 6-Autorisation non sécurisée ✔ 7-Qualité du code client ✔ 8-Code de falsification ✔ 9-Ingénierie inverse ✔ 10-Fonctionnalité exubérante 2014 2016 Version RC Z N Z XHausse Baisse Identique NouveauBaisse SortieRenommé
  • 39. Ubuntu paris 1610 - TOP 10 : Mobile Risk 2016 (rc) ● Utilisation inappropriée de la plate-forme – Les fonctionnalités inutiles - La sécurité – Accès aux contacts... ● Stockage de données non sécurisé – Stockage des données non sécurisé – Fuites de données involontaires ● Communication insécurisée – SSL incorrectes – communication en clair des informations sensibles... ● Authentification non sécurisée – identification pour l'utilisateur – Faiblesse dans la gestion des sessions... ● Cryptographie insuffisante – Problème lié à Cryptographie (pas été effectuée correctement) ● Autorisation non sécurisée – Défaillance dans l'autorisation – navigation forcée... ● Qualité du code client – Problème débordements de tampon – faire du code inutile... ● Code de falsification – Couvre les correctifs binaires – Modification de l'utilisation prévue du logiciel (par un attaquant)... ● Ingénierie inverse – Analyse du noyau binaire – possible d'exploiter d'autres vulnérabilités ● Fonctionnalité exubérante – Fonctionnalités backdoor cachées – des données dans les commentaires
  • 40. Ubuntu paris 1610 - Internet des Objets
  • 41. Ubuntu paris 1610 - TOP 10 : IoT Vulnerabilities ✔ 1 -Interface Web Insecure ✔ 2 -Authentification / Autorisation insuffisante ✔ 3 - Services réseau insécurisés ✔ 4 - Le manque de chiffrement de transport ✔ 5 - Problèmes de confidentialité ✔ 6 - Interface non sécurisée ✔ 7 - Interface mobile sans sécurité ✔ 8 - Configuration de sécurité insuffisante ✔ 9 - Logiciels / logiciels non sécurisés ✔ 10 - Faible sécurité physique 2014
  • 42. Ubuntu paris 1610 - L'avenir proche
  • 43. Ubuntu paris 1610 - Les tendances de l'IoT ● La protection de sécurité – Equipement vers Cloud (= chip to cloud) ● Sécurité et vie privée● Délégation de gestion aux utilisateurs ● La mort du mot de passe – Approche à grands pas
  • 44. Ubuntu paris 1610 - Images des outils
  • 45. Ubuntu paris 1610 - Outils et Technologies Automated security verification - Vulnerability scanners - Static Analysis Tools - Fuzzing Manual security verification - Penetration testing tools - Code Review tools Security architecture - Esapi Secure coding - AppSec Libraries - Esapi Reference Implémentation - Guards and Filters AppSec Management - Reporting Tools AppSec Education - Flawed App - Learning environnements - Live CD - Site Generator
  • 46. Ubuntu paris 1610 - En résumé : une politique de sécurité (1/2) ● Ne pas se cantonner : – Garantir les droits d'accès aux données – Accès aux ressources avec des systèmes d'authentifications ● Anticiper les risques futurs – Améliorer – Déployer – Evolution ● Suivre les mises à jours (si vous utilisez une solution externe)
  • 47. Merci Questions Christophe Villeneuve @hellosct1 Supports : - OWASP - OWASP France - Sébastien Gioria - C. Villeneuve
  • 48. Ubuntu paris 1610 - En résumé : une politique de sécurité (2/2) ● Politique de sécurité – Identifier les besoins en termes de sécurité, les risques – Elaborer des règles et des procédures Services de l'organisation, matériels utilisés… – Surveiller et détecter les vulnérabilités du système d'information, applications… En informer – Détecter les actions à entreprendre, voir les bonnes personnes à contacter en cas d'une menace
  • 49. Ubuntu paris 1610 - Sources ● Web – https://www.owasp.org/index.php/Top10 – https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project ● Mobile – https://www.owasp.org/index.php/OWASP_Mobile_Security_Project – https://www.owasp.org/index.php/Mobile_Top_10_2016-Top_10 ● IoT – https://www.owasp.org/index.php/Top_10_IoT_Vulnerabilities_(2014) ● OWASP – https://www.owasp.org
  • 50. Merci Questions Christophe Villeneuve @hellosct1 Supports : - OWASP - OWASP France - Sébastien Gioria - C. Villeneuve