sécurité informatique sur le web...

14
Jérôme THÉMÉE Sécurité informatique sur le Web Apprenez à sécuriser vos applications (management, cybersécurité, développement et opérationnel) Préface de Jérôme HENNECART, Expert en Cyberdéfense pour Serval-Concept

Upload: lamdieu

Post on 11-Sep-2018

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

ISSN : 1960-3444ISBN : 978-2-409-00634-0

54 €

Pour plus d’informations :

Sécurité informatique sur le Web Apprenez à sécuriser vos applications (management, cybersécurité, développement et opérationnel)

Jérôme THÉMÉE est enseignant et consultant dans le domaine de la sécurité de l’information, et plus particulièrement dans le domaine de la sécurité applicative. Passionné par la sécu-rité web et les techniques de hacking depuis plus 18 ans, il partage avec plaisir toutes ses connaissances avec le lecteur pour lui fournir un livre réellement opérationnel sur la sécurité des applications web.

Préface de Jérôme HENNECART - Expert en Cyberdéfense pour Serval-ConceptCet ouvrage sur la sécurité des applications web s’adresse à l’ensemble des personnes concernées par la sécurité de l’information : développeurs, managers en sécurité de l’information, pentesters, adminis-trateurs système... L’approche choisie par l’auteur permet à un lecteur novice en matière de sécurité de comprendre tous les tenants et aboutissants de la sécurité web mais aussi à un lecteur plus expérimenté d’utiliser les chapitres dont il a besoin pour conforter ou améliorer ses connaissances sur le sujet. Le livre n’est pas lié à un langage de développement particulier.Afin de suivre une progression pédagogique cohérente tout au long du livre, le premier chapitre intro-duit les concepts de base du web en lien avec la sécurité d’une application : méthodes de travail, archi-tectures, langages et technologies utilisés. Son objectif est de poser les bonnes fondations sur lesquelles développer les axes de sécurité qui seront mis en œuvre. Le deuxième chapitre dresse un état des lieux des normes, des outils, des guides, des bonnes pratiques et des techniques de sécurité existants afin de faciliter la compréhension de la suite du livre. Le chapitre suivant présente les principaux risques et les principales vulnérabilités connus du web (injec-tion, violation de session, Cross-Site Scripting…). L’auteur a choisi une approche à la fois théorique et pratique avec des exercices à réaliser sur une plateforme de travail dédiée.Une fois ces trois chapitres lus, le lecteur est conduit vers les concepts du code sécurisé avec toutes les bonnes pratiques à mettre en action lors du développement d’applications ainsi qu’en matière de pro-tection des données personnelles.Les deux derniers chapitres sont consacrés à la création d’un cycle de développement sécurisé, présen-tant les différents intervenants et les actions concrètes à mettre en place par un manager dans une orga-nisation possédant des applications web. L’auteur conclut ces deux chapitres par une mise en situation qu’il donne à titre d’exemple.Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.

Préface • Avant-propos • Introduction à la sécu-rité des applications web • Panorama de la sécurité web • Top 10 des risques et vulnérabilités liés au Web • Les concepts du développement sécurisé • Établir un cycle de développement sécurisé • Aller plus loin avec un modèle de maturité

Les chapitres du livre

Téléchargementwww.editions-eni.fr.fr

sur www.editions-eni.fr : b Le code des applications du livre

(DVWA, bWAPP).

Sécu

rité

info

rmat

ique

sur l

e W

eb

App

rene

z à

sécu

riser

vos

app

licat

ions

Jérôme THÉMÉE

Sécurité informatique

sur le Web Apprenez à sécuriser

vos applications (management, cybersécurité,

développement et opérationnel)

Préface de Jérôme HENNECART,Expert en Cyberdéfense pour Serval-Concept

Page 2: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

1Table des matières

Préface

Avant-propos

Chapitre 1

Introduction à la sécurité des applications web

1. Quelques chiffres sur le Web et la sécurité . . . . . . . . . . . . . . . . . . . . . . 9

2. À qui s’adresse ce livre ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3. Anatomie d’une application web. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4. Frameworks et CMS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5. Méthodes classiques et méthodes agiles . . . . . . . . . . . . . . . . . . . . . . . 17

6. Sécurité des systèmes d’information. . . . . . . . . . . . . . . . . . . . . . . . . . 19

7. Les différents axes de sécurisation d’une application web. . . . . . . . . 21

8. DevSecOps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Chapitre 2

Panorama de la sécurité web

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2. Les normes et référentiels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.1 ISO/IEC 27034 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2 PCI-DSS et PA-DSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.3 HIPAA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.4 CNIL (commission nationale de l'informatique

et des libertés) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.5 GDPR (General Data Protection Regulation) . . . . . . . . . . . . . . . 34

Les éléments à télécharger sont disponibles à l'adresse suivante :http://www.editions-eni.fr

Saisissez la référence de l'ouvrage EPSECAW dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le bouton de téléchargement.

Page 3: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

2Apprenez à sécuriser vos applications

Sécurité informatique sur le Web

3. Les bibliothèques, projets et recommandations . . . . . . . . . . . . . . . . . 353.1 MITRE CWE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2 BSIMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.3 OpenSAMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.4 SDL de Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.5 Cigital touchpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.6 OWASP CLASP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.7 Note technique de l’ANSSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.8 Recommandations du CLUSIF . . . . . . . . . . . . . . . . . . . . . . . . . . 473.9 NIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4. Les guides et bonnes pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.1 OWASP TOP 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.2 OWASP testing guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.3 OWASP ASVS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.4 OWASP code review guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5. Les technologies liées à la sécurité web . . . . . . . . . . . . . . . . . . . . . . . . 575.1 Analyse de code statique (SAST). . . . . . . . . . . . . . . . . . . . . . . . . 575.2 Analyse de code dynamique (DAST) . . . . . . . . . . . . . . . . . . . . . 595.3 Tests interactifs de la sécurité des applications (IAST) . . . . . . . 605.4 Autoprotection des applications (RASP) . . . . . . . . . . . . . . . . . . 615.5 Pare-feu applicatif (WAF). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.6 Outil de suivi de bugs (issue tracking system) . . . . . . . . . . . . . . 63

6. La sécurité des navigateurs et serveurs web . . . . . . . . . . . . . . . . . . . . 646.1 SOP, CORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646.2 HSTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686.3 X-frame-options, x-content-type-options, x-xss-protection . . . 706.4 Content Security Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736.5 FLAG SECURE, HTTPONLY COOKIE . . . . . . . . . . . . . . . . . . . 746.6 Authentification HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Page 4: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

3Table des matières

Chapitre 3

Top 10 des risques et vulnérabilités liés au Web

1. Le top 10 des menaces du Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

2. Comprendre les risques selon l’OWASP . . . . . . . . . . . . . . . . . . . . . . . 82

3. Installation de la plateforme de travail . . . . . . . . . . . . . . . . . . . . . . . . 83

4. Les injections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.1 Les risques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.2 Injection SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.3 Injection XPath. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074.4 Injection XXE (XML External Entity) . . . . . . . . . . . . . . . . . . . 1104.5 Injection LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114.6 Injection de code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

5. Violation de gestion d’authentification et de session . . . . . . . . . . . 1165.1 Présentation et risques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165.2 Vol de session (session hijacking) . . . . . . . . . . . . . . . . . . . . . . . 1175.3 Faiblesses des mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . 1185.4 Mot de passe non protégé en base de données . . . . . . . . . . . . . 1225.5 Faiblesses dans la conception des sessions . . . . . . . . . . . . . . . . 125

6. Cross-Site Scripting (XSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1276.1 Présentation et risques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1276.2 XSS stocké (stored). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1286.3 XSS Réfléchi (reflected) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1336.4 XSS DOM (Document Object Model) . . . . . . . . . . . . . . . . . . . 138

7. Références directes non sécurisées à un objet . . . . . . . . . . . . . . . . . . 1417.1 Présentation et risques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1417.2 Entrées directes cachées et non contrôlées . . . . . . . . . . . . . . . . 1427.3 Entrées indirectes cachées et non contrôlées . . . . . . . . . . . . . . 143

8. Mauvaise configuration de sécurité. . . . . . . . . . . . . . . . . . . . . . . . . . 1458.1 Présentation et risques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1458.2 Scénarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

Page 5: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

4Apprenez à sécuriser vos applications

Sécurité informatique sur le Web

9. Exposition de données sensibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1479.1 Présentation et risques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1479.2 Scénarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

10. Manque de contrôle d’accès au niveau fonctionnel . . . . . . . . . . . . . 15010.1 Présentation et risques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15010.2 Local/remote file inclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15110.3 Host Header Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15310.4 User-agent spoofing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15810.5 Server Side Request Forgery (SSRF) . . . . . . . . . . . . . . . . . . . . . 159

11. Cross Site Request Forgery (CSRF) . . . . . . . . . . . . . . . . . . . . . . . . . . 16011.1 Présentation et risques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16011.2 CSRF et requête POST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

12. Exploitation de vulnérabilités connues . . . . . . . . . . . . . . . . . . . . . . . 16412.1 Présentation et risques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16412.2 WPScan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16512.3 Nikto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16612.4 OpenVAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16712.5 Qualys SSL Labs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

13. Redirections et renvois non validés . . . . . . . . . . . . . . . . . . . . . . . . . . 170

Chapitre 4

Les concepts du développement sécurisé

1. Les 10 commandements du code sécurisé . . . . . . . . . . . . . . . . . . . . . 1731.1 Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1741.2 Management des sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1751.3 Contrôle d’accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1761.4 Validation des entrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1761.5 Encodage des sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1771.6 Upload de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1781.7 XSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1781.8 CSRF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

Page 6: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

5Table des matières

1.9 Clickjacking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1791.10 Enregistrement des événements . . . . . . . . . . . . . . . . . . . . . . . . 179

2. Outils indispensables de la sécurité web. . . . . . . . . . . . . . . . . . . . . . 1802.1 Analyse de code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1802.2 Fuzzing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1832.3 Web Application Firewall (WAF) . . . . . . . . . . . . . . . . . . . . . . . 1842.4 Scan de vulnérabilités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1872.5 Test de pénétration (Pentest) . . . . . . . . . . . . . . . . . . . . . . . . . . 193

3. Secure by design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1953.1 Réduction des surfaces d’attaque . . . . . . . . . . . . . . . . . . . . . . . 1953.2 Défense en profondeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2003.3 Séparation des privilèges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2013.4 Paramètres par défaut respectant la sécurité . . . . . . . . . . . . . . 202

4. Modélisation des menaces (threat modeling) . . . . . . . . . . . . . . . . . . 2024.1 Qu’est-ce que la modélisation des menaces ? . . . . . . . . . . . . . . 2024.2 Schéma de votre architecture avec DFD . . . . . . . . . . . . . . . . . . 2044.3 Identification des menaces avec la méthode STRIDE . . . . . . . 2094.4 Documentation et atténuation des menaces . . . . . . . . . . . . . . 2124.5 Validation de votre rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

5. Respect de la vie privée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2135.1 Types de données personnelles . . . . . . . . . . . . . . . . . . . . . . . . . 2135.2 Principes de la protection des données personnelles . . . . . . . . 2145.3 Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2165.4 Consentements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

Page 7: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

6Apprenez à sécuriser vos applications

Sécurité informatique sur le Web

Chapitre 5

Établir un cycle de développement sécurisé

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

2. Sensibilisation des parties prenantes. . . . . . . . . . . . . . . . . . . . . . . . . 2222.1 Thèmes à enseigner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2222.2 Évaluation des stagiaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2242.3 Exemple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

3. Exigences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2363.1 Définition du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2363.2 Évaluation des exigences pour la sécurité . . . . . . . . . . . . . . . . . 2383.3 Évaluation des exigences pour les données personnelles . . . . . 2423.4 Plan d’action et analyse des coûts . . . . . . . . . . . . . . . . . . . . . . . 2483.5 Identification du responsable et du conseiller . . . . . . . . . . . . . 2503.6 Amélioration de la gestion des bugs . . . . . . . . . . . . . . . . . . . . . 2513.7 Exemple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

4. Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2634.1 Définition des exigences de conception . . . . . . . . . . . . . . . . . . 2634.2 Réduction de la surface d’attaque . . . . . . . . . . . . . . . . . . . . . . . 2684.3 Modélisation des menaces (Threat Modeling) . . . . . . . . . . . . . 2704.4 Exemple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

5. Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2775.1 Revue de code manuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2775.2 Management des sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2795.3 Contrôle d’accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2805.4 Validation des entrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2805.5 Encodage des sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2815.6 Upload de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2815.7 XSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2825.8 CSRF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2825.9 Clickjacking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2835.10 Enregistrement des événements . . . . . . . . . . . . . . . . . . . . . . . . 2835.11 Blacklist des fonctions obsolètes . . . . . . . . . . . . . . . . . . . . . . . . 284

Page 8: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

7Table des matières

5.12 Analyse statique du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2875.13 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

6. Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2916.1 Analyse dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2916.2 Test de fuzzing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2926.3 Test de pénétration (Pentest) . . . . . . . . . . . . . . . . . . . . . . . . . . 2926.4 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

7. Déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2977.1 Création d'un plan de réponse aux incidents . . . . . . . . . . . . . . 2977.2 Conduite d'une revue finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3017.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

Chapitre 6

Aller plus loin avec un modèle de maturité

1. Process model vs maturity model . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

2. BSIMM vs OpenSAMM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3082.1 BSIMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3082.2 De OpenSAMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

3. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3133.1 Questionnaire d’évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3133.2 Création de scorecard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3203.3 Mise en place d’une feuille de route . . . . . . . . . . . . . . . . . . . . . 321

4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

Page 9: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

Chapitre 2Panorama de la sécurité web

Panorama de la sécurité web1. Introduction

Ce chapitre a pour but de mettre en lumière les aspects, outils et services ainsique le vocabulaire utilisés dans le monde de la sécurité des applications web.

À des fins pédagogiques, il sera ici question des aspects techniques et de gou-vernance préalables à la mise en pratique d'un cycle de développement sécuri-sé. Les différentes normes, lois, bibliothèques, analyses de code et modèles dematurité seront abordés afin de pouvoir les utiliser dans les prochainschapitres. Le but est de faire apparaître un corpus générique de la sécurité desapplications web.

2. Les normes et référentiels

2.1 ISO/IEC 27034

Il existe un grand nombre de normes internationales concernant une multi-tude de branches métier. Les plus célèbres sont les normes ISO (InternationalOrganization for Standardization) qui définissent des exigences pour assurer laconformité des matériaux, processus et services dans une organisation.

Page 10: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

© E

dit

ions

EN

I -

All r

ights

rese

rved

26Apprenez à sécuriser vos applications

Sécurité informatique sur le Web

Les normes les plus utilisées sont ISO/IEC 9000 pour la qualité, ISO/IEC 22000pour la gestion de la sécurité des denrées alimentaires et ISO/IEC 50001 pour lemanagement de l'énergie. Toutes ces normes sont créées par des comités dontles membres sont choisis par les organisations de normalisation leaders dansleur pays telles que l’AFNOR (Association française de normalisation) pour laFrance par exemple.

Les avantages des normes internationales sont nombreux ; elles assurentgénéralement le bon fonctionnement d’un service et permettent la certifica-tion des entreprises, ce qui est un gage de qualité dans certains métiers.

Parmi les normes les plus pratiquées figurent les séries ISO/IEC 27000 et ISO/IEC 31000 relatives au management de la sécurité de l'information. Sansentrer dans les détails, ces normes ont pour objectif d’améliorer la protectioncontre le vol, l’altération et la perte de données, et de maîtriser le risque au seind’un système d’information. Ci-après, quelques exigences de l’ISO/IEC 27001et 27002 :

Index Titre Description

A.14.2.1 Politique de développement sécurisé

Des règles de développement des logiciels et des systèmes doivent être établies et appliquées au développement de l’organisation.

A.14.2.4 Restrictions relatives aux changements apportés aux progiciels

Les modifications des progiciels ne doivent pas être encouragées, doivent être limitées aux changements nécessaires et tous les changements doivent strictement être contrôlés.

A.14.2.7 Développement externalisé L’organisation doit superviser et contrôler l’activité de développement du système externalisé.

Page 11: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

27Panorama de la sécurité webChapitre 2

Les items cités ci-dessus montrent bien l’intérêt d’intégrer la mise en placed’un cycle de développement sécurisé au sein des systèmes d’information desentreprises.

La norme ISO/IEC 27034 a quant à elle l’objectif d’aider les organisations àmettre en place de la sécurité de façon transparente tout au long du cycle devie d’une application. Elle s’intègre parfaitement avec les normes ISO/IEC27001 et ISO/IEC 27002.

Ci-dessous, la relation entre les normes ISO/IEC 27000.

Nous pouvons constater que l’ISO/IEC 27034 est une suite logique de la poli-tique de sécurité de l’information, d’après l’organisme ISO.

A.14.2.6 Environnement de développement sécurisé

Les organisations doivent établir des environnements de développement sécurisés pour les tâches de développement et d’intégration du système.

Index Titre Description

Page 12: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

© E

dit

ions

EN

I -

All r

ights

rese

rved

28Apprenez à sécuriser vos applications

Sécurité informatique sur le Web

Voici ce que contient la norme avec ses différents points :

Les sept parties de la norme représentent concrètement les différents points àaborder lors de la mise en place d’un cycle de développement sécurisé au seind’une organisation. Malgré cela, l’ISO/IEC 27034 n’est pas encore suffisantecar seulement deux parties sont publiées par le comité et d’autres outils abor-dent de façon plus pragmatique et avec plus de maturité ces mêmes sujets.

La norme est payante et accessible à cette adresse : http://www.iso.org/iso/fr/home/store/catalogue_tc/catalogue_detail.htm?csnumber=44378

2.2 PCI-DSS et PA-DSS

La norme PCI-DSS a été créée en 2005 par le groupe américain Payment CardIndustry Security Standards Council (PCI SSC) et regroupe des entreprises tellesque Visa, MasterCard, American Express, JCB et Discover Financial Services.

Son but est la mise en place de bonnes pratiques en matière de protection desdonnées stockées sur les cartes bancaires pour les différents acteurs tels que lesbanques, commerçants, sociétés e-commerce et hébergeurs de solutions ban-caires.

Partie de la norme Titre Publication

ISO/IEC 27034-1:2011 Aperçu et concept de la sécurité des applications

publié

ISO/IEC 27034-2:2015 Cadre normatif d’une organisation publié

ISO/IEC 27034-3 Processus de la sécurité d’une application

brouillon

ISO/IEC 27034-4 Validation de la sécurité d’une application

abandonnée

ISO/IEC 27034-5 Protocoles et contrôles pour la structure des données

brouillon

ISO/IEC 27034-6 Études de cas brouillon

ISO/IEC 27034-7 Assurance pour la sécurité applicative

brouillon

Page 13: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

29Panorama de la sécurité webChapitre 2

PCI-DSS comporte douze exigences, dont :

– Installer et gérer une configuration de pare-feu pour protéger les données dutitulaire,

– Chiffrer la transmission des données du titulaire sur les réseaux publicsouverts,

– Utiliser des logiciels antivirus et les mettre à jour régulièrement,

– Restreindre l'accès physique aux données du titulaire,

– Tester régulièrement les processus et les systèmes de sécurité.

Les exigences ci-dessus montrent le pragmatisme de la PCI-DSS et couvrentbien l’essentiel des différents aspects de sécurité d’un processus de paiement àl’intérieur d’un système d’information.

Une fois ces critères remplis, le commerçant (entreprise ayant la gérance desdonnées bancaires) peut demander par une société agréée à être audité afind’obtenir l’accréditation PCI-DSS, qui sera valable un an.

De façon évidente, les actions requises pour l’accréditation PCI-DSS ne sontpas les mêmes suivant les profils des organisations. Il existe quatre niveaux dé-finis par PCI concernant le type d’activité, ci-dessous un tableau récapitulatif :

Niveau Type d’activité Actions requises pour la conformité

1 Tout commerçant traitant plus de 6 millions de transactions Visa ou MasterCard par an. Tout commerçant ayant subi une compromission.

– Audit de sécurité sur site (ou SAQ pourVisa Europe)

– Scan de vulnérabilité trimestriel (sicommerce en ligne)

2 Tout commerçant traitant de 1 à 6 millions de transactions Visa ou MasterCard par an.

– Questionnaire d’autoévaluation annuel

– Scan de vulnérabilité trimestriel (sicommerce en ligne)

Page 14: Sécurité informatique sur le Web Sécuritémultimedia.fnac.com/multimedia/editorial/pdf/9782409006340.pdf · Sécurité informatique sur le Web Apprenez à sécuriser vos applications

© E

dit

ions

EN

I -

All r

ights

rese

rved

30Apprenez à sécuriser vos applications

Sécurité informatique sur le Web

La norme PCI-DSS n’est donc pas un acquis car il est nécessaire de façon gé-nérale d’auditer le site web tous les ans tout comme il devra être effectué unscan de vulnérabilité tous les trimestres.

Le conseil PCI a pensé aussi aux concepteurs de logiciels en introduisant lanorme PA-DSS (Payment Application Data Security Standard) qui définit les pro-cédures et exigences d’évaluation de sécurité d’applications de paiement.

Contrairement au PCI-DSS, la PA-DSS se limite à l’application en elle-mêmeet non pas à son environnement extérieur. La PA-DSS est issue de la PCI-DSSet donc, il n’est pas possible d’être certifié PCI-DSS avec seulement l’accrédi-tation PA-DSS.

Pour conclure, cette norme permet aux concepteurs de logiciels d’être accrédi-tés afin de pouvoir vendre des logiciels avec les prérequis nécessaires en sécu-rité pour des systèmes de paiement.

3 Tout commerçant traitant de 20 000 à 1 million de transactions Visa ou MasterCard par an.

– Questionnaire d’autoévaluation annuel

– Scan de vulnérabilité trimestriel (si commerce en ligne)

4 Tout commerçant traitant moins de 20 000 transactions de commerce en ligne Visa ou MasterCard par an. Tous les autres commerçants traitant jusqu’à 1 million de transactions Visa ou MasterCard par an.

– Questionnaire d’autoévaluation annuel

– Scan de vulnérabilité trimestriel recom-mandé (si commerce en ligne. Cela dé-pend de si les données sont capturées,stockées ou transmises par l’infrastruc-ture du commerçant ou par un fournis-seur de services.)

Niveau Type d’activité Actions requises pour la conformité