SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
La sécurité au coeur des projets webs de demain
Christophe Villeneuve
@hellosct1
@hellosct1@mamot.fr
Capitole du Libre 2019
Atos open source - afup – lemug.fr – mariadb – drupal – mozilla - firefox – lemugfr - sumo – webextensions – VR – AR – XR - Cause commune 93.1 FM - TechSpeaker - Lizard - eyrolles – editions eni – programmez – linux pratique – webriver – elephpant - CommonVoice – Sécurité - Cybersécurité
Christophe Villeneuve ?
●
Consultant
●
Dresseur animaux Free Software
@hellosct1 – Capitole du libre 2019
Ce qu'il vous attend...
●
La sécurité
projets Web c'est…
Quoi ?
●
Hacking VS Protection
●
Outillages
Qu’est ce que la
sécurité, pourquoi ?
Hacking VS Protection
Outillages
@hellosct1 – Capitole du libre 2019
Pourquoi sécurité web ?
●
Branche sécurité informatique
●
Impliquant :
– Problématique côté client
– Problématique côté serveur
●
Concerne :
– Les sites web
– Les applications web
– Les services web
●
Accélérer avec l’émergence du Web 2.0
@hellosct1 – Capitole du libre 2019
Quelques exemples catastrophique
●
2005
– Master Card – 40 millions de comptes
●
2011
– Sony diversitissement – 77 millions de comptes (+ numéro
CB)
●
2014
– JP Morgan – 7,6 millions d'informations utilisateurs
●
Et bien d’autres :
– Heartland – 130 millions de numéros de cartes bancaires
– Deutsche Télécom : 17 millions de perdus
– Wordpress – 18 millions de profils
@hellosct1 – Capitole du libre 2019
Projet web sécurisé ? Pas sur
Agile
Scrum
Design
Patterns
Git
Integration
Continue
Refactoring
CMS
WebServices
Framework
Tests
DDOS
Hijacking
SQL
Botnets
XSS
Injection
CSRF
Phishing
Tronjan
●
Réalisation d'un projet web
→ avec peu de sécurité
DevOps
DevSecOps
@hellosct1 – Capitole du libre 2019
La réalité
Défaut
Logique métier
Erreurs
Sécurité
Défaut
De code
Plusieurs années
de développement
Plusieurs années
de développement
Deux semaines
Piratage éthique
Deux semaines
Piratage éthique
@hellosct1 – Capitole du libre 2019
Les attaques sur internet
Source : IBM Software Group, Rational Software
@hellosct1 – Capitole du libre 2019
Niveau de protection
Pare feu
applications
Serveur Web
IPS [1]Firewall
[1] Systeme prévention intrusion
@hellosct1 – Capitole du libre 2019
Identifier les risques
●
Systèmes trop verbeux
– DNS / Réseaux
●
Système
d'authentification faible
– SSH
●
La gestion des droits
– Maillons faibles
●
Les mots de passes
systèmes
– Admin du poste / compte
utilisateur
●
Bases de données
– Stockages des
informations sensibles
●
Partage de fichiers
– périphériques hardware
●
Serveurs à l'abandon
●
Vulnérabilités web
– voir les rapports
OWASP
@hellosct1 – Capitole du libre 2019
CVE sécurity (1/3)
●
Base de données des vulnérabilités (source d'informations)
●
OS / Langages / CMS / Framework / Navigateurs...
© https://www.cvedetails.com/
@hellosct1 – Capitole du libre 2019
CVE sécurity (2/3)
●
Représentation annuelle
© https://www.cvedetails.com/
@hellosct1 – Capitole du libre 2019
CVE sécurity (3/3)
© https://www.cvedetails.com/
@hellosct1 – Capitole du libre 2019
CRM
Intranet
Website
Tracker
Service Auth.
Web Service
Serveur Web
Firewall
Base de données
Access Control
Notre application Web
@hellosct1 – Capitole du libre 2019
CRM
Intranet
Website
Tracker
Service Auth.
Web Service
Serveur Web
Firewall
Base de données
Access Control
Notre application Web
XSS
CSRF
Click
Jacking
XML/JSON
Injection
SQL
Injection
Direct
Object
ReferenceToken
Directory
Traversal
Packet
Sniffing
Paramètre
facilfication
@hellosct1 – Capitole du libre 2019
Architecture d'une application Web
XXE
modernemoderne
Stockage
Code
Quality
Client
Chiffrement
Communication
@hellosct1 – Capitole du libre 2019
@hellosct1 – Capitole du libre 2019
OWASP (1/2)
●
OWASP
– Open Web Application
Security Project
●
Organisation à but non
lucratif
●
Communauté ouverte
●
Connu
– Liste des risques de
sécurité
●
Top 10
c'est :
●
Des outils
●
Des API
●
De la documentation
●
Des guides
●
Des conférences
●
Des blogs
●
Des contenus
– Audio / Vidéo
– Podcast
@hellosct1 – Capitole du libre 2019
Owasp (2/2)
●
Guide de développement
– https://www.owasp.org/index.php/Projects/OWASP_Development
_Guide
●
Guide des tests
– https://www.owasp.org/index.php/OWASP_Testing_Project
●
Revue de code
– https://www.owasp.org/index.php/Category:OWASP_Code_Revie
w_Project
●
Exemple d'application Webgoat
– https://www.owasp.org/index.php/Category:OWASP_WebGoat_Pr
oject
●
Guide développeur
– https://www.owasp.org/index.php/OWASP_Guide_Project
@hellosct1 – Capitole du libre 2019
TOP 10 : OWASP (web)
A1- Failles d'injection
A2- Violation d'authentification et de Session
A3- Données sensibles accessible
A4- XML External Entity (XXE)
A5- Contrôle d'accès cassé
A6- Mauvaise configuration de sécurité
A7- Cross-Site Scripting (XSS)
A8- Désérialisation non sécurisée
A9- Utilisation de composants connus vulnérables
A10 -Gestion de log insuffisante et de monitoring
2013 2017
N MHausse Baisse Identique
NouveauBaisse Merge
A1- Failles d'injection
A2- Violation d'authentification et de Session
A3- Cross-Site Scripting (XSS)
A4- Référence directe non sécurisée à un objet
A5- Mauvaise configuration de sécurité
A6- Données sensibles accessible
A7- Manque de sécurité au niveau des rôles
A8- Falsification de requête (CSRF)
A9- Utilisation de composants connus vulnérables
A10- Redirections non validées
N
M
N
N
Qu’est ce que la
sécurité, pourquoi ?
Hacking VS Protection
Outillages
@hellosct1 – Capitole du libre 2019
Attaque : apprenti sorcier
@hellosct1 – Capitole du libre 2019
Solution
●
Etre rapide !
– Une attaque n'est souvent qu'une affaire de secondes, voire de
minutes
●
Ne pas contre-attaquer le hacker
– Disparition
– Il est énervé
●
TODO
– Notez l'adresse IP de l'ordinateur victime de l'attaque
– Notez l'heure de l'attaque.
– Notez le temps de l'attaque.
– Log(s)
@hellosct1 – Capitole du libre 2019
Attaque de dépendance
Query = "SELECT * FROM users WHERE ID = "'" + request.geParameter('id') + "'";
Query = "SELECT * FROM users
WHERE ID = '" + 666 + "'";
Query = "SELECT * FROM users
WHERE ID = '" + 666' OR '1'='1 + "'";
A1 - Failles injections
@hellosct1 – Capitole du libre 2019
Solution
●
Conserver les données
– Séparées des commandes et des requêtes
– Utiliser comme API sécurisée
●
Valider les données d'entrée côté serveur
●
Échapper les caractères spéciaux
– Utiliser une syntaxe d'échappement spécifique pour
l'interpréteur
●
Utilisez LIMIT
●
Prévoir des contrôles SQL dans les requêtes
– pour empêcher la divulgation massive des enregistrements
@hellosct1 – Capitole du libre 2019
Attaque côté front
● A2 - Violation d'authentification et de Session
● A6 - Mauvaise configuration de sécurité
● A7 - Cross-site scripting (XSS)
● A2 - Violation d'authentification et de Session
● A6 - Mauvaise configuration de sécurité
● A7 - Cross-site scripting (XSS)
● Code source de la page (CTRL + U)
● Avec du javascript
● Session id
● Cookie
● Redirection page web
● Super Globales
● ($_GET / $_POST / $_ENV)
@hellosct1 – Capitole du libre 2019
Attaque côté back (1/
● A5- Contrôle d'accès cassé
● A6- Mauvaise configuration de sécurité
● A5- Contrôle d'accès cassé
● A6- Mauvaise configuration de sécurité
accès non autorisé aux objets
par le biais de la modification des paramètres
@hellosct1 – Capitole du libre 2019
Attaque côté back (2/
● A5- Contrôle d'accès cassé
● A6- Mauvaise configuration de sécurité
● A5- Contrôle d'accès cassé
● A6- Mauvaise configuration de sécurité
Données sensibles non protégées correctement
Problème des droits accès (contrôle d'accès)
– http://urlSite.com/getpage
– http://urlSite.com/admin_getpage
@hellosct1 – Capitole du libre 2019
Solution
●
HTTPS
●
Chiffrer toutes les données sensibles
●
Ne stockez pas de données sensibles
inutilement - jetez-les
@hellosct1 – Capitole du libre 2019
Attaque Homme / machine (1/
Serveur
de l'attaquant
Serveur
Requête XML
Information
Obtenir des requêtes
structurées (dtd)
●
A4 - XML External Entity (XXE)
●
A4 - XML External Entity (XXE)
@hellosct1 – Capitole du libre 2019
Solution
●
Choisir un format moins complexe
– JSON
●
Corriger format utilisé XML
– Les processeurs
– Les bibliothèques
●
Verrou structuré supplémentaire
– Externe XML
– Requêtes structurées (dtd processin)
●
Validation des éléments entrée du site du serveur de la liste blanche
●
Vérifier les fonctionnalités de téléchargement de fichiers
– XML ou XSL
●
Les outils SAST peuvent aider à détecter XXE dans le code source
@hellosct1 – Capitole du libre 2019
Attaque Homme / machine (2/
●
A8 - Désérialisation non sécurisée
●
A8 - Désérialisation non sécurisée
class car [
public string color;
}
var redCarObj =new car();
redCarObj.color = 'rouge';
redCarObj
Processus de
sérialisation redCarObj sérialisé
redCarObj
processus de
désérialisation redCarObj sérialisé
.
●
Permet l'exécution de code à distance
●
Manipulation d'objets sensibles
→ sur les plates-formes affectées
@hellosct1 – Capitole du libre 2019
Solution
●
Ne pas accepter les objets sérialisés
– provenant de sources non fiables
●
Vérifier l'intégrité sur tous les objets sérialisés
●
Appliquer des contraintes de type strictes
– Lors de la désertification
●
Isoler pour exécuter le code désérialisé
●
Exceptions et échecs de désérialisation de journaux
●
Restreindre la connectivité réseau
– A partir de serveurs qui se désérialisent
@hellosct1 – Capitole du libre 2019
Attaque : Les autres (1/
●
A9 - Utilisation de composants connus vulnérables
●
A9 - Utilisation de composants connus vulnérables
●
Boîtes à outils Web
●
Widgets
●
Moteurs d'exécution
●
Serveurs web
●
Bibliothèques de framework
●
Etc.
composants construits par d'autres
Dépendances
@hellosct1 – Capitole du libre 2019
Attaque : Les autres (2/
●
A10 - Gestion de log insuffisante et de monitoring
●
A10 - Gestion de log insuffisante et de monitoring
● Utilisation : Forum / CMS / ...
● Manque
● Surveillance
● Alerte
● Enregistrement
● Scan de mot de passes
● Mot de passe unique / utilisateurs
@hellosct1 – Capitole du libre 2019
Solution
●
Prévoir que tous les échecs d'accès
– soient enregistrés
●
Assurez-vous que les logs sont générés
– Format (facilement) utilisable
●
Prévoir que les transactions de grande valeur
– Piste d'audit, suivi...
●
Alerte efficace pour répondre dans des délais
cours
●
Etablir un processus de réponse aux incidents
Qu’est ce que la
sécurité, pourquoi ?
Hacking VS Protection
Outillages
@hellosct1 – Capitole du libre 2019
Outils de tests de sécurité automatisé
●
Plateforme de tests d'intrusion
– Metasploit, Aircrack-ng
●
Tests résistence d'un password
– John the ripper
●
Audit de monitoring, réseaux
sans fil
– Aircrack-ng
●
Sniffer, analyseur protocoles
réseau & applicatif
– Wireshark
●
Scanner de ports,
vulnérabilités
– Nmap
●
Récupération mot de passe
– Cain & Abel
●
Emulation Navigateur web
– Paros Proxy, charles proxy
●
Capture de requêtes, proxy
applicatif
– Zed Attack Proxy, Paros
Proxy
●
Audit des applications web
– Burp Suite, Wfuzz,
spiderfoot, cerveau
@hellosct1 – Capitole du libre 2019
Liens
●
OWASP
https://www.owasp.org
●
OWASP Top 10 – 2017
https://www.owasp.org/images/7/72/OWASP_Top
_10-2017_%28en%29.pdf.pdf
@hellosct1 – Capitole du libre 2019
Plus loin...
meetup lizard
https://www.meetup.com/fr-FR/lizard_secu/
@hellosct1 – Capitole du libre 2019
Merci
Christophe Villeneuve
@hellosct1
@hellosct1@mamot.fr

Más contenido relacionado

Similar a La sécurité au coeur des projets webs de demain

Serveur nomade dans l'nternet des Objets
Serveur nomade dans l'nternet des ObjetsServeur nomade dans l'nternet des Objets
Serveur nomade dans l'nternet des ObjetsChristophe Villeneuve
 
Traitement d’incidents de sécurité : cas pratiques, retours d’expérience et r...
Traitement d’incidents de sécurité : cas pratiques, retours d’expérience et r...Traitement d’incidents de sécurité : cas pratiques, retours d’expérience et r...
Traitement d’incidents de sécurité : cas pratiques, retours d’expérience et r...Microsoft
 
Deployer son propre SOC !
Deployer son propre SOC ! Deployer son propre SOC !
Deployer son propre SOC ! SecludIT
 
OWASP Top10 Mobile - Attaques et solutions sur Windows Phone
OWASP Top10 Mobile - Attaques et solutions sur Windows PhoneOWASP Top10 Mobile - Attaques et solutions sur Windows Phone
OWASP Top10 Mobile - Attaques et solutions sur Windows PhoneMicrosoft
 
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 comptesJean-Baptiste Guerraz
 
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
 
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...Pôle Systematic Paris-Region
 
Vulnérabilité des sites web
Vulnérabilité des sites webVulnérabilité des sites web
Vulnérabilité des sites webSaid Sadik
 
Identification des failles de sécurité dans les projets webs
Identification des failles de sécurité dans les projets websIdentification des failles de sécurité dans les projets webs
Identification des failles de sécurité dans les projets websChristophe Villeneuve
 
Partagez votre code et non vos secrets
Partagez votre code et non vos secretsPartagez votre code et non vos secrets
Partagez votre code et non vos secretsOpen Source Experience
 
2018.02.06 commission sécurité cloud - Présentation Serge Hartmann
2018.02.06 commission sécurité cloud - Présentation Serge Hartmann2018.02.06 commission sécurité cloud - Présentation Serge Hartmann
2018.02.06 commission sécurité cloud - Présentation Serge HartmannTelecomValley
 
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 - OWFChristophe Villeneuve
 
Sophia conf securite microservices - 2017
Sophia conf   securite microservices - 2017Sophia conf   securite microservices - 2017
Sophia conf securite microservices - 2017SecludIT
 
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éfenseAntonio Fontes
 
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...☁️Seyfallah Tagrerout☁ [MVP]
 

Similar a La sécurité au coeur des projets webs de demain (20)

Serveur nomade dans l'nternet des Objets
Serveur nomade dans l'nternet des ObjetsServeur nomade dans l'nternet des Objets
Serveur nomade dans l'nternet des Objets
 
Traitement d’incidents de sécurité : cas pratiques, retours d’expérience et r...
Traitement d’incidents de sécurité : cas pratiques, retours d’expérience et r...Traitement d’incidents de sécurité : cas pratiques, retours d’expérience et r...
Traitement d’incidents de sécurité : cas pratiques, retours d’expérience et r...
 
Deployer son propre SOC !
Deployer son propre SOC ! Deployer son propre SOC !
Deployer son propre SOC !
 
OWASP Top10 Mobile - Attaques et solutions sur Windows Phone
OWASP Top10 Mobile - Attaques et solutions sur Windows PhoneOWASP Top10 Mobile - Attaques et solutions sur Windows Phone
OWASP Top10 Mobile - Attaques et solutions sur Windows Phone
 
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
 
Controler vos donnees dans le web
Controler vos donnees dans le webControler vos donnees dans le web
Controler vos donnees dans 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
 
Les tests de securite devops
Les tests de securite devopsLes tests de securite devops
Les tests de securite devops
 
La Sécurité Sur Le Web
La Sécurité Sur Le WebLa Sécurité Sur Le Web
La Sécurité Sur Le Web
 
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
 
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
 
Identification des failles de sécurité dans les projets webs
Identification des failles de sécurité dans les projets websIdentification des failles de sécurité dans les projets webs
Identification des failles de sécurité dans les projets webs
 
Partagez votre code et non vos secrets
Partagez votre code et non vos secretsPartagez votre code et non vos secrets
Partagez votre code et non vos secrets
 
Les tests de sécurité
Les tests de sécuritéLes tests de sécurité
Les tests de sécurité
 
2018.02.06 commission sécurité cloud - Présentation Serge Hartmann
2018.02.06 commission sécurité cloud - Présentation Serge Hartmann2018.02.06 commission sécurité cloud - Présentation Serge Hartmann
2018.02.06 commission sécurité cloud - Présentation Serge Hartmann
 
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
 
Sophia conf securite microservices - 2017
Sophia conf   securite microservices - 2017Sophia conf   securite microservices - 2017
Sophia conf securite microservices - 2017
 
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ésentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...
 

Más de Christophe Villeneuve

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 FirefoxChristophe Villeneuve
 
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 webChristophe Villeneuve
 
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 gagnanteChristophe Villeneuve
 
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 ?Christophe Villeneuve
 
Mozilla french speaking community activites
Mozilla french speaking community activitesMozilla french speaking community activites
Mozilla french speaking community activitesChristophe Villeneuve
 
Monitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et MicrosoftMonitoring dynamique : Grafana et Microsoft
Monitoring dynamique : Grafana et MicrosoftChristophe Villeneuve
 
Le futur de l'authentification webAuthn
Le futur de l'authentification webAuthnLe futur de l'authentification webAuthn
Le futur de l'authentification webAuthnChristophe Villeneuve
 
Tests d'accessibilite par la pratique
Tests d'accessibilite par la pratiqueTests d'accessibilite par la pratique
Tests d'accessibilite par la pratiqueChristophe Villeneuve
 
La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsChristophe Villeneuve
 

Más de 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 ?
 
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
 
La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applications
 

La sécurité au coeur des projets webs de demain

  • 1. La sécurité au coeur des projets webs de demain Christophe Villeneuve @hellosct1 @hellosct1@mamot.fr Capitole du Libre 2019
  • 2. Atos open source - afup – lemug.fr – mariadb – drupal – mozilla - firefox – lemugfr - sumo – webextensions – VR – AR – XR - Cause commune 93.1 FM - TechSpeaker - Lizard - eyrolles – editions eni – programmez – linux pratique – webriver – elephpant - CommonVoice – Sécurité - Cybersécurité Christophe Villeneuve ? ● Consultant ● Dresseur animaux Free Software
  • 3. @hellosct1 – Capitole du libre 2019 Ce qu'il vous attend... ● La sécurité projets Web c'est… Quoi ? ● Hacking VS Protection ● Outillages
  • 4. Qu’est ce que la sécurité, pourquoi ? Hacking VS Protection Outillages
  • 5. @hellosct1 – Capitole du libre 2019 Pourquoi sécurité web ? ● Branche sécurité informatique ● Impliquant : – Problématique côté client – Problématique côté serveur ● Concerne : – Les sites web – Les applications web – Les services web ● Accélérer avec l’émergence du Web 2.0
  • 6. @hellosct1 – Capitole du libre 2019 Quelques exemples catastrophique ● 2005 – Master Card – 40 millions de comptes ● 2011 – Sony diversitissement – 77 millions de comptes (+ numéro CB) ● 2014 – JP Morgan – 7,6 millions d'informations utilisateurs ● Et bien d’autres : – Heartland – 130 millions de numéros de cartes bancaires – Deutsche Télécom : 17 millions de perdus – Wordpress – 18 millions de profils
  • 7. @hellosct1 – Capitole du libre 2019 Projet web sécurisé ? Pas sur Agile Scrum Design Patterns Git Integration Continue Refactoring CMS WebServices Framework Tests DDOS Hijacking SQL Botnets XSS Injection CSRF Phishing Tronjan ● Réalisation d'un projet web → avec peu de sécurité DevOps DevSecOps
  • 8. @hellosct1 – Capitole du libre 2019 La réalité Défaut Logique métier Erreurs Sécurité Défaut De code Plusieurs années de développement Plusieurs années de développement Deux semaines Piratage éthique Deux semaines Piratage éthique
  • 9. @hellosct1 – Capitole du libre 2019 Les attaques sur internet Source : IBM Software Group, Rational Software
  • 10. @hellosct1 – Capitole du libre 2019 Niveau de protection Pare feu applications Serveur Web IPS [1]Firewall [1] Systeme prévention intrusion
  • 11. @hellosct1 – Capitole du libre 2019 Identifier les risques ● Systèmes trop verbeux – DNS / Réseaux ● Système d'authentification faible – SSH ● La gestion des droits – Maillons faibles ● Les mots de passes systèmes – Admin du poste / compte utilisateur ● Bases de données – Stockages des informations sensibles ● Partage de fichiers – périphériques hardware ● Serveurs à l'abandon ● Vulnérabilités web – voir les rapports OWASP
  • 12. @hellosct1 – Capitole du libre 2019 CVE sécurity (1/3) ● Base de données des vulnérabilités (source d'informations) ● OS / Langages / CMS / Framework / Navigateurs... © https://www.cvedetails.com/
  • 13. @hellosct1 – Capitole du libre 2019 CVE sécurity (2/3) ● Représentation annuelle © https://www.cvedetails.com/
  • 14. @hellosct1 – Capitole du libre 2019 CVE sécurity (3/3) © https://www.cvedetails.com/
  • 15. @hellosct1 – Capitole du libre 2019 CRM Intranet Website Tracker Service Auth. Web Service Serveur Web Firewall Base de données Access Control Notre application Web
  • 16. @hellosct1 – Capitole du libre 2019 CRM Intranet Website Tracker Service Auth. Web Service Serveur Web Firewall Base de données Access Control Notre application Web XSS CSRF Click Jacking XML/JSON Injection SQL Injection Direct Object ReferenceToken Directory Traversal Packet Sniffing Paramètre facilfication
  • 17. @hellosct1 – Capitole du libre 2019 Architecture d'une application Web XXE modernemoderne Stockage Code Quality Client Chiffrement Communication
  • 18. @hellosct1 – Capitole du libre 2019
  • 19. @hellosct1 – Capitole du libre 2019 OWASP (1/2) ● OWASP – Open Web Application Security Project ● Organisation à but non lucratif ● Communauté ouverte ● Connu – Liste des risques de sécurité ● Top 10 c'est : ● Des outils ● Des API ● De la documentation ● Des guides ● Des conférences ● Des blogs ● Des contenus – Audio / Vidéo – Podcast
  • 20. @hellosct1 – Capitole du libre 2019 Owasp (2/2) ● Guide de développement – https://www.owasp.org/index.php/Projects/OWASP_Development _Guide ● Guide des tests – https://www.owasp.org/index.php/OWASP_Testing_Project ● Revue de code – https://www.owasp.org/index.php/Category:OWASP_Code_Revie w_Project ● Exemple d'application Webgoat – https://www.owasp.org/index.php/Category:OWASP_WebGoat_Pr oject ● Guide développeur – https://www.owasp.org/index.php/OWASP_Guide_Project
  • 21. @hellosct1 – Capitole du libre 2019 TOP 10 : OWASP (web) A1- Failles d'injection A2- Violation d'authentification et de Session A3- Données sensibles accessible A4- XML External Entity (XXE) A5- Contrôle d'accès cassé A6- Mauvaise configuration de sécurité A7- Cross-Site Scripting (XSS) A8- Désérialisation non sécurisée A9- Utilisation de composants connus vulnérables A10 -Gestion de log insuffisante et de monitoring 2013 2017 N MHausse Baisse Identique NouveauBaisse Merge A1- Failles d'injection A2- Violation d'authentification et de Session A3- Cross-Site Scripting (XSS) A4- Référence directe non sécurisée à un objet A5- Mauvaise configuration de sécurité A6- Données sensibles accessible A7- Manque de sécurité au niveau des rôles A8- Falsification de requête (CSRF) A9- Utilisation de composants connus vulnérables A10- Redirections non validées N M N N
  • 22. Qu’est ce que la sécurité, pourquoi ? Hacking VS Protection Outillages
  • 23. @hellosct1 – Capitole du libre 2019 Attaque : apprenti sorcier
  • 24. @hellosct1 – Capitole du libre 2019 Solution ● Etre rapide ! – Une attaque n'est souvent qu'une affaire de secondes, voire de minutes ● Ne pas contre-attaquer le hacker – Disparition – Il est énervé ● TODO – Notez l'adresse IP de l'ordinateur victime de l'attaque – Notez l'heure de l'attaque. – Notez le temps de l'attaque. – Log(s)
  • 25. @hellosct1 – Capitole du libre 2019 Attaque de dépendance Query = "SELECT * FROM users WHERE ID = "'" + request.geParameter('id') + "'"; Query = "SELECT * FROM users WHERE ID = '" + 666 + "'"; Query = "SELECT * FROM users WHERE ID = '" + 666' OR '1'='1 + "'"; A1 - Failles injections
  • 26. @hellosct1 – Capitole du libre 2019 Solution ● Conserver les données – Séparées des commandes et des requêtes – Utiliser comme API sécurisée ● Valider les données d'entrée côté serveur ● Échapper les caractères spéciaux – Utiliser une syntaxe d'échappement spécifique pour l'interpréteur ● Utilisez LIMIT ● Prévoir des contrôles SQL dans les requêtes – pour empêcher la divulgation massive des enregistrements
  • 27. @hellosct1 – Capitole du libre 2019 Attaque côté front ● A2 - Violation d'authentification et de Session ● A6 - Mauvaise configuration de sécurité ● A7 - Cross-site scripting (XSS) ● A2 - Violation d'authentification et de Session ● A6 - Mauvaise configuration de sécurité ● A7 - Cross-site scripting (XSS) ● Code source de la page (CTRL + U) ● Avec du javascript ● Session id ● Cookie ● Redirection page web ● Super Globales ● ($_GET / $_POST / $_ENV)
  • 28. @hellosct1 – Capitole du libre 2019 Attaque côté back (1/ ● A5- Contrôle d'accès cassé ● A6- Mauvaise configuration de sécurité ● A5- Contrôle d'accès cassé ● A6- Mauvaise configuration de sécurité accès non autorisé aux objets par le biais de la modification des paramètres
  • 29. @hellosct1 – Capitole du libre 2019 Attaque côté back (2/ ● A5- Contrôle d'accès cassé ● A6- Mauvaise configuration de sécurité ● A5- Contrôle d'accès cassé ● A6- Mauvaise configuration de sécurité Données sensibles non protégées correctement Problème des droits accès (contrôle d'accès) – http://urlSite.com/getpage – http://urlSite.com/admin_getpage
  • 30. @hellosct1 – Capitole du libre 2019 Solution ● HTTPS ● Chiffrer toutes les données sensibles ● Ne stockez pas de données sensibles inutilement - jetez-les
  • 31. @hellosct1 – Capitole du libre 2019 Attaque Homme / machine (1/ Serveur de l'attaquant Serveur Requête XML Information Obtenir des requêtes structurées (dtd) ● A4 - XML External Entity (XXE) ● A4 - XML External Entity (XXE)
  • 32. @hellosct1 – Capitole du libre 2019 Solution ● Choisir un format moins complexe – JSON ● Corriger format utilisé XML – Les processeurs – Les bibliothèques ● Verrou structuré supplémentaire – Externe XML – Requêtes structurées (dtd processin) ● Validation des éléments entrée du site du serveur de la liste blanche ● Vérifier les fonctionnalités de téléchargement de fichiers – XML ou XSL ● Les outils SAST peuvent aider à détecter XXE dans le code source
  • 33. @hellosct1 – Capitole du libre 2019 Attaque Homme / machine (2/ ● A8 - Désérialisation non sécurisée ● A8 - Désérialisation non sécurisée class car [ public string color; } var redCarObj =new car(); redCarObj.color = 'rouge'; redCarObj Processus de sérialisation redCarObj sérialisé redCarObj processus de désérialisation redCarObj sérialisé . ● Permet l'exécution de code à distance ● Manipulation d'objets sensibles → sur les plates-formes affectées
  • 34. @hellosct1 – Capitole du libre 2019 Solution ● Ne pas accepter les objets sérialisés – provenant de sources non fiables ● Vérifier l'intégrité sur tous les objets sérialisés ● Appliquer des contraintes de type strictes – Lors de la désertification ● Isoler pour exécuter le code désérialisé ● Exceptions et échecs de désérialisation de journaux ● Restreindre la connectivité réseau – A partir de serveurs qui se désérialisent
  • 35. @hellosct1 – Capitole du libre 2019 Attaque : Les autres (1/ ● A9 - Utilisation de composants connus vulnérables ● A9 - Utilisation de composants connus vulnérables ● Boîtes à outils Web ● Widgets ● Moteurs d'exécution ● Serveurs web ● Bibliothèques de framework ● Etc. composants construits par d'autres Dépendances
  • 36. @hellosct1 – Capitole du libre 2019 Attaque : Les autres (2/ ● A10 - Gestion de log insuffisante et de monitoring ● A10 - Gestion de log insuffisante et de monitoring ● Utilisation : Forum / CMS / ... ● Manque ● Surveillance ● Alerte ● Enregistrement ● Scan de mot de passes ● Mot de passe unique / utilisateurs
  • 37. @hellosct1 – Capitole du libre 2019 Solution ● Prévoir que tous les échecs d'accès – soient enregistrés ● Assurez-vous que les logs sont générés – Format (facilement) utilisable ● Prévoir que les transactions de grande valeur – Piste d'audit, suivi... ● Alerte efficace pour répondre dans des délais cours ● Etablir un processus de réponse aux incidents
  • 38. Qu’est ce que la sécurité, pourquoi ? Hacking VS Protection Outillages
  • 39. @hellosct1 – Capitole du libre 2019 Outils de tests de sécurité automatisé ● Plateforme de tests d'intrusion – Metasploit, Aircrack-ng ● Tests résistence d'un password – John the ripper ● Audit de monitoring, réseaux sans fil – Aircrack-ng ● Sniffer, analyseur protocoles réseau & applicatif – Wireshark ● Scanner de ports, vulnérabilités – Nmap ● Récupération mot de passe – Cain & Abel ● Emulation Navigateur web – Paros Proxy, charles proxy ● Capture de requêtes, proxy applicatif – Zed Attack Proxy, Paros Proxy ● Audit des applications web – Burp Suite, Wfuzz, spiderfoot, cerveau
  • 40. @hellosct1 – Capitole du libre 2019 Liens ● OWASP https://www.owasp.org ● OWASP Top 10 – 2017 https://www.owasp.org/images/7/72/OWASP_Top _10-2017_%28en%29.pdf.pdf
  • 41. @hellosct1 – Capitole du libre 2019 Plus loin... meetup lizard https://www.meetup.com/fr-FR/lizard_secu/
  • 42. @hellosct1 – Capitole du libre 2019 Merci Christophe Villeneuve @hellosct1 @hellosct1@mamot.fr