Yoann Ono Dit Biot
CTO & Co-Founder SYNHACK
System/Network/Security Engineer
Disclaimer
CRYPTER
Anglicisme du mot "encrypt"
Non reconnu par l'académie française
CHIFFRER
Rendre impossible la lecture d'un document sans la clé
Par contre, on peut dire
DÉCRYPTER
DIGITAL
Tout ce qui se rapporte aux doigts
NUMÉRIQUE
Tout ce qui se rapporte à l'informatique
BREF
Être développeur
Pour moi, ça ressemble à un truc comme ça
Mais ça comporte quand même quelques risques...
À ceux qui nous ont quittés
Regis
Développeur chez Yahoo
Congédié en Septembre 2016 avec le reste de l'équipe IT.
Kevin
Développeur chez Linkedin
Congédié en Mai 2016 avec le reste de l'équipe IT pour ne jamais avoir remarqué un piratage datant de 2011...
Britney
Développeuse chez VTech
Congédiée en Décembre 2015 après avoir mis en danger des milliers d'enfants.
Et bien d'autres
Pourquoi cette HÉCATOMBE ?
Parce qu'ils se foutaient de la sécurité.
Pourquoi devrait-on s'en soucier ?
Parce que c'est la loi...
CNIL,
Code Pénal,
Code du travail,
Tout ça, tout ça...
Liste des excuses entendues en mission
Excuse n°1: Moi on ne m'attaque pas!
Les attaques sont aujourd'hui automatisées
Une entreprise met en moyenne 200 jours à détecter une attaque
Sans compter le temps de "réparation"
Attaques de type: Advanced Persistent Threat (APT)
Excuse n°2: Je n'ai rien à cacher
Les pirates ne font pas que révéler des informations confidentielles
Utilisation des ressources (Espace disque, RAM, bande passante)
Chantage (DOS, Cryptolocker, Vol de données)
Espionnage (Concurence, Etat)
Défi technique
Excuse n°3: Je n'ai pas d'argent
La sécurité doit être adaptée au besoin de l'entreprise
Pour ce faire, il est possible d'effectuer un diagnostic de maturité
On compare la sécurité actuelle au besoin réel de l'entreprise
On peut se sécuriser à minima via l'utilisation de solutions Open Source
Mais d'abord c'est quoi la sécurité ?
CIA ça vous parle ? Parce qu'un logiciel doit couvrir cet acronyme
CIA
Confidentiality
Integrity
Availability
Aussi appelé DIC en français (si ça peut en aider certains...)
Le but de la sécurité c'est:
- de garantir les 3 piliers de la sécurité (CIA)
- de protéger les utilisateurs de l'application
- de protéger le système d'information de l'entreprise
- d'avoir des solutions de repli en cas de problème
- de toujours être remise en cause
Le but de la sécurité ce n'est pas:
- d'être uniquement pour les sysadmins
- d'être magique
- d'être retro-actif
- de rattraper l'incompétence d'un
développeurstagiaire - d'être sûre à 100%
La sécurité c'est une guerre
Une guerre asymétrique...
Par exemple, pour un simple blog...
..., c'est des vulnérabilités...
..., Beaucoup de vulnérabilités
WALL OF SHAME
ce qu'il ne faut pas faire
Configuration Camera IP
Configuration tomcat par défaut
Données bancaires en ligne
Fuites d'informations utilisateurs
Redirection non vérifiée
Gestion des droits d'une imprimante
Fuite de données médicales
Intégrer la sécurité dans le cycle de vie d'un logiciel
Cycle de développement applicatif (SDLC)
Cycle de développement applicatif (SDLC)
Il ne manque pas quelque chose ?!
Modèle "boite noire"
On développe, et on sécurise après
On fait un audit ou un test d'intrusion une fois le produit terminé
Du coup, on prend du retard si ça ne va pas.
Du coup on paye plus cher que prévu
Parfois on annule le projet
On déploie chez le client puis on s'en va
Il faut donc intégrer la sécurité plus tôt
Open SAMM
Cycle de développement applicatif Sécurisé (SSDLC)
Le but:
- Intégrer la sécurité à chaque étape du développement
- Définir un niveau de sécurité minimal
- Maintenir ce niveau de sécurité minimal
- Anticiper la présence de failles
- Intégrer des tests liés à la sécurité
Cycle de développement applicatif Sécurisé (SSDLC)
Du coup ça se matérialise comment ?
Définir les rôles
Analyse de risque
Méthode EBIOS
ou
Méthode Mehari
Le but est d'anticiper les risques pesant sur un projet
Un risque c'est la combinaison d'une probabilité et d'un impact
Définir une surface d'attaque
Security Guidelines: TOP 10 OWASP
# | Vulnerabilités |
---|---|
1 | Injections (SQL, LDAP, ...) |
2 | Authentification faible / Gestion incorrecte des sessions |
3 | Cross Site Scripting (XSS) |
4 | Réference directe non sécurisée à un objet |
5 | Configurations non sécurisées |
6 | Exposition de données sensibles |
7 | Mauvaise gestion des accès au niveau fonctionnel |
8 | Cross Site Request Forgery (CSRF) |
9 | Librairies tierces vulnérables |
10 | Redirections et renvois non validés |
Sécurité Continue
Audit / Pentest
Bug Bounty
Conférences & Entrainements
Des questions ?
CES2016
By Yoann Ono
CES2016
- 5,117