• Aide
  • Eurêkoi Eurêkoi

Livre

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

Résumé

Un ouvrage destiné à tout comprendre sur la sécurité web. Il convient aussi bien au lecteur novice qu'à l'utilisateur expérimenté ou au développeur informatique. ©Electre 2017


  • Contributeur(s)
  • Éditeur(s)
  • Date
    • cop. 2017
  • Notes
    • La couv. porte en plus : "Fichiers complémentaires à télécharger" ; "Informatique technique"
    • La 4ème de couv. porte en plus : "Sur www.editions-eni.fr : le code des applications du livre (DVWA, bWAPP)"
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (340 p.) : ill. ; 21 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-00634-0
  • Indice
  • Quatrième de couverture
    • Sécurité informatique sur le Web

      Apprenez à sécuriser vos applications (management, cybersécurité, développement et opérationnel)

      Cet 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, administrateurs 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 introduit les concepts de base du web en lien avec la sécurité d'une application : méthodes de travail, architectures, 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 oeuvre. 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 (injection, 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 protection des données personnelles.

      Les deux derniers chapitres sont consacrés à la création d'un cycle de développement sécurisé, présentant les différents intervenants et les actions concrètes à mettre en place par un manager dans une organisation 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.


  • Tables des matières
      • Sécurité informatique sur le Web

      • Apprenez à sécuriser vos applications (management, cybersécurité, développement et opérationnel)

      • 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 web11
      • 4. Frameworks et CMS15
      • 5. Méthodes classiques et méthodes agiles17
      • 6. Sécurité des systèmes d'information19
      • 7. Les différents axes de sécurisation d'une application web21
      • 8. DevSecOps22
      • Chapitre 2
      • Panorama de la sécurité web
      • 1. Introduction25
      • 2. Les normes et référentiels25
      • 2.1 ISO/IEC 2703425
      • 2.2 PCI-DSS et PA-DSS28
      • 2.3 HIPAA31
      • 2.4 CNIL (commission nationale de l'informatique et des libertés)32
      • 2.5 GDPR (General Data Protection Regulation)34
      • 3. Les bibliothèques, projets et recommandations35
      • 3.1 MITRE CWE35
      • 3.2 BSIMM37
      • 3.3 OpenSAMM40
      • 3.4 SDL de Microsoft43
      • 3.5 Cigital touchpoint44
      • 3.6 OWASP CLASP45
      • 3.7 Note technique de l'ANSSI46
      • 3.8 Recommandations du CLUSIF47
      • 3.9 NIST48
      • 4. Les guides et bonnes pratiques48
      • 4.1 OWASP TOP 1048
      • 4.2 OWASP testing guide50
      • 4.3 OWASP ASVS52
      • 4.4 OWASP code review guide54
      • 5. Les technologies liées à la sécurité web57
      • 5.1 Analyse de code statique (SAST)57
      • 5.2 Analyse de code dynamique (DAST)59
      • 5.3 Tests interactifs de la sécurité des applications (IAST)60
      • 5.4 Autoprotection des applications (RASP)61
      • 5.5 Pare-feu applicatif (WAF)61
      • 5.6 Outil de suivi de bugs (issue tracking System)63
      • 6. La sécurité des navigateurs et serveurs web64
      • 6.1 SOP, CORS64
      • 6.2 HSTS68
      • 6.3 X-frame-options, x-content-type-options, x-xss-protection70
      • 6.4 Content Security Policy73
      • 6.5 FLAG SECURE, HTTPONLY COOKIE74
      • 6.6 Authentification HTTP77
      • Chapitre 3
      • Top 10 des risques et vulnérabilités liés au Web
      • 1. Le top 10 des menaces du Web81
      • 2. Comprendre les risques selon l'OWASP82
      • 3. Installation de la plateforme de travail83
      • 4. Les injections89
      • 4.1 Les risques89
      • 4.2 Injection SQL90
      • 4.3 Injection XPath107
      • 4.4 Injection XXE (XML External Entity)110
      • 4.5 Injection LDAP111
      • 4.6 Injection de code113
      • 5. Violation de gestion d'authentification et de session116
      • 5.1 Présentation et risques116
      • 5.2 Vol de session (session hijacking)117
      • 5.3 Faiblesses des mots de passe118
      • 5.4 Mot de passe non protégé en base de données122
      • 5.5 Faiblesses dans la conception des sessions125
      • 6. Cross-Site Scripting (XSS)127
      • 6.1 Présentation et risques127
      • 6.2 XSS stocké (stored)128
      • 6.3 XSS Réfléchi (reflected)133
      • 6.4 XSS DOM (Document Object Model)138
      • 7. Références directes non sécurisées à un objet141
      • 7.1 Présentation et risques141
      • 7.2 Entrées directes cachées et non contrôlées142
      • 7.3 Entrées indirectes cachées et non contrôlées143
      • 8. Mauvaise configuration de sécurité145
      • 8.1 Présentation et risques145
      • 8.2 Scénarios146
      • 9. Exposition de données sensibles147
      • 9.1 Présentation et risques147
      • 9.2 Scénarios149
      • 10. Manque de contrôle d'accès au niveau fonctionnel150
      • 10.1 Présentation et risques150
      • 10.2 Local/remote file inclusion151
      • 10.3 Host Header Attack153
      • 10.4 User-agent spoofing158
      • 10.5 Server Side Request Forgery (SSRF)159
      • 11. Cross Site Request Forgery (CSRF)160
      • 11.1 Présentation et risques160
      • 11.2 CSRF et requête POST162
      • 12. Exploitation de vulnérabilités connues164
      • 12.1 Présentation et risques164
      • 12.2 WPScan165
      • 12.3 Nikto 166
      • 12.4 OpenVAS167
      • 12.5 Qualys SSL Labs169
      • 13. Redirections et renvois non validés170
      • Chapitre 4
      • Les concepts du développement sécurisé
      • 1. Les 10 commandements du code sécurisé173
      • 1.1 Authentification174
      • 1.2 Management des sessions175
      • 1.3 Contrôle d'accès176
      • 1.4 Validation des entrées176
      • 1.5 Encodage des sorties177
      • 1.6 Upload de fichiers178
      • 1.7 XSS178
      • 1.8 CSRF178
      • 1.9 Clickjacking179
      • 1.10 Enregistrement des événements179
      • 2. Outils indispensables de la sécurité web180
      • 2.1 Analyse de code180
      • 2.2 Fuzzing183
      • 2.3 Web Application Firewall (WAF)184
      • 2.4 Scan de vulnérabilités187
      • 2.5 Test de pénétration (Pentest)193
      • 3. Secure by design195
      • 3.1 Réduction des surfaces d'attaque195
      • 3.2 Défense en profondeur200
      • 3.3 Séparation des privilèges 201
      • 3.4 Paramètres par défaut respectant la sécurité202
      • 4. Modélisation des menaces (threat modeling)202
      • 4.1 Qu'est-ce que la modélisation des menaces ?202
      • 4.2 Schéma de votre architecture avec DFD204
      • 4.3 Identification des menaces avec la méthode STRIDE209
      • 4.4 Documentation et atténuation des menaces212
      • 4.5 Validation de votre rapport213
      • 5. Respect de la vie privée213
      • 5.1 Types de données personnelles213
      • 5.2 Principes de la protection des données personnelles214
      • 5.3 Notifications216
      • 5.4 Consentements217
      • Chapitre 5
      • Établir un cycle de développement sécurisé
      • 1. Introduction219
      • 2. Sensibilisation des parties prenantes222
      • 2.1 Thèmes à enseigner222
      • 2.2 Évaluation des stagiaires224
      • 2.3 Exemple 233
      • 3. Exigences236
      • 3.1 Définition du projet236
      • 3.2 Évaluation des exigences pour la sécurité238
      • 3.3 Évaluation des exigences pour les données personnelles242
      • 3.4 Plan d'action et analyse des coûts248
      • 3.5 Identification du responsable et du conseiller250
      • 3.6 Amélioration de la gestion des bugs251
      • 3.7 Exemple252
      • 4. Conception263
      • 4.1 Définition des exigences de conception263
      • 4.2 Réduction de la surface d'attaque268
      • 4.3 Modélisation des menaces (Threat Modeling)270
      • 4.4 Exemple272
      • 5. Code277
      • 5.1 Revue de code manuelle277
      • 5.2 Management des sessions279
      • 5.3 Contrôle d'accès280
      • 5.4 Validation des entrées280
      • 5.5 Encodage des sorties281
      • 5.6 Upload de fichiers281
      • 5.7 XSS282
      • 5.8 CSRF282
      • 5.9 Clickjacking283
      • 5.10 Enregistrement des événements283
      • 5.11 Blacklist des fonctions obsolètes284
      • 5.12 Analyse statique du code287
      • 5.13 Exemple289
      • 6. Test291
      • 6.1 Analyse dynamique291
      • 6.2 Test de fuzzing292
      • 6.3 Test de pénétration (Pentest)292
      • 6.4 Exemple295
      • 7. Déploiement297
      • 7.1 Création d'un plan de réponse aux incidents297
      • 7.2 Conduite d'une revue finale301
      • 7.3 Exemple302
      • Chapitre 6
      • Aller plus loin avec un modèle de maturité
      • 1. Process model vs maturity model307
      • 2. BSIMM vs OpenSAMM308
      • 2.1 BSIMM308
      • 2.2 De OpenSAMM311
      • 3. Exemple313
      • 3.1 Questionnaire d'évaluation313
      • 3.2 Création de scorecard320
      • 3.3 Mise en place d'une feuille de route321
      • 4. Conclusion326
      • Conclusion327
      • Index329

  • Origine de la notice:
    • FR-751131015
  • Disponible - 681.40 THE

    Niveau 3 - Informatique