2. But de la présentation
Quelques bases pour sensibiliser à la
sécurité...
● un peu de vocabulaire
● un peu de théorie (qui, comment, pourquoi)
● un peu de concret (top 10 des attaques)
● quelques exemples
3. Quelques vérités (évidences ?)
● “La sécurité c’est pas que pour Facebook et
la Nasa”
● “my website has never been hacked!”
(except for all the times that it has)
● C’est une composante essentielle dans le
succès d’une application.
4. D’autres vérités
● Concerne toutes les parties d’un projet
(front-end, back-end, api, web service), tous
les langages, toutes les infrastructures...
● Concerne les développeurs, les
concepteurs, les business dev, le support...
● Développer une application non sécurisée
est plus facile et moins coûteux... mais plus
on attends pour le faire et plus c’est difficile
et coûteux le jour où faut y passer.
5. Les 3 piliers de la sécurité web
● confidentialité : s’assurer que les données
ne soient visibles que par les personnes qui
y sont autorisées
● intégrité : s’assurer que les données ne
puissent pas être altérées ou modifiées par
des personnes non autorisées
● disponibilité : s’assurer que l’application et
les données soient disponibles pour les
utilisateurs lorsqu’ils en ont besoin
6. Aparté vocabulaire #1
● identification : permet de connaître l’
identité d’un utilisateur
● authentification : permet de contrôler l’
identité d’un utilisateur
● autorisation : permet de contrôler l’accès à
des données et des fonctions pour un
utilisateur
“L’identification permet de connaître l’identité d’une entitée
alors que l’authentification permet de vérifier cette identité”
7. Qui, comment, pourquoi ?
● L’attaquant peut utiliser différents chemins à
travers l’application pour porter atteinte au
métier ou à l’entreprise.
● Chaque chemin représente un risque.
8. Agents de menace
● Un individus ou groupe d’individus qui peut
manifester une menace
● Caractérise par : ses capacités
informatiques + ses motivations + ses
activités passées
9. Agents de menace
● Criminels et organisations criminelles : ils
ciblent les informations qui ont de la valeur
pour eux : comptes en banque, numéro de
CB, adresses, propriétés intellectuelles.
● Sociétés : concurrents, partenaires, etc
● Employés de chez Lucca : quelqu’un qui
veut nuire à l’entreprise, avant d’être viré...
● Humains, involontairement : accidents
● Humains, volontairement : utilisateurs/ non-
utilisateurs
10. Aparté vocabulaire #2
● black hat : attaquant mal intentionné
● white hat : l’inverse...
● black box : attaque sans connaissance du
code
● white box : l’inverse...
11. Vecteurs d’attaque
● La porte d’entrée.
● Toutes les techniques utilisées par l’
attaquant pour découvrir et exploiter une ou
plusieurs failles dans l’application.
Exemples :
● injection SQL
● cross-site scripting (XSS)
● brute force
12. Vunérabilités, failles, faiblesses
Peut provenir d’un défaut de conception ou d’
un bug.
Exemples :
● absence de validation des données saisies
par l’utilisateur
● mauvaise gestion d’une erreur
● autorisations utilisateur non vérifiées
● connexion vers la base de données laissée
ouverte
● session utilisateur jamais expirée
16. La suite de la présentation (outside)
● Top 10 des attaques, les plus graves et les
plus communes (OWASP) : https://www.owasp.org/index.php/Category:
OWASP_Top_Ten_Project
● How to fix (environnement .NET / IIS) :
http://www.troyhunt.com/2010/09/owasp-top-10-for-net-developers-part-4.html
● Exemples concrets de vecteurs d’attaque et
de vulnérabilités : http://google-gruyere.appspot.com/
Des questions ?