SlideShare une entreprise Scribd logo
[Location]
Walter Michael TACKA
Cyber-stratégie & Gouvernance IT
Speaker Image
Placeholder
Les développeurs & IT au
cœur de la Sécurité de
l’Information
Plan de la présentation
1. Définition de la
sécurité de
l’information
2. Domaine d’application de
la sécurité de
l’information
3. La sécurité dans le
cycle de vie des
développements
Définition de la
sécurité de
l’information
Définition de la Sécurité de l’information
La sécurité de l’information est un dispositif global dont la
mise en œuvre assure la protection de la confidentialité,
l’intégrité et la disponibilité de l’information :
1. Confidentialité : propriété par laquelle l’information n’est
pas diffusée ni divulguée à des personnes, des entités ou des
processus non autorisés
2. Intégrité : Propriété d’exactitude et de complétude
3. Disponibilité : Propriété d’être accessible et utilisable à la
demande par une entité autorisée
Enjeux de la sécurité de l’information
L’enjeu majeur de la sécurité de l’information est de se prémunir
contre les cyber-attaques afin d’éviter les conséquences
auxquelles les organisations pourraient être exposées. Elle
permet tout de même de :
1. Renforcer la réputation de l’organisation
2. Se conformer aux exigences légales et réglementaires
3. Renforcer la confiance des partenaires
4. Réduire les risques de pertes financières
5. Mieux coordonner les activités de sécurité avec les
différents acteurs
6. Assurer la pérennité de l’organisation
Domaine
d’application de la
sécurité de
l’information
Sécurité Informatique & Sécurité de l’Information
Information ou données sur différents supports
Processus et activités
Structure organisationnelle
Ressources humaines
Physique & environnemental
sécurité technique :
Réseau informatique
Outils de télécommunication
Application
Système
Terminaux
Sécurité de l’information
Sécurité informatique
Départements /
Directions
d’affaires
Départements /
Directions
informatiques
80%
Sécurité de l’information
D’organisation
20%
De technique
Domaine d’application de la sécurité de l’information
Gestion des risques
Gestion des
vulnérabilités
techniques
Sécurité réseau &
système
Gestion des logs
Gestion des incidents
Gestion des
développements
Gestion de
l’exploitation
Conformité
Gestion des actifs
Gestion des
ressources humaines
Gestion des accès
Sécurité physique
Cryptographie
Continuité d’activité
Organisation projet
Normes & méthodes
Sensibilisation &
Formation
Gestion des coûts &
des gains
Audit & Revue
La sécurité dans le
cycle de vie des
développements
Définition & Objectifs de la sécurité des développements
La sécurité des développements a pour objectif de s’assurer que les
questions de sécurité de l’information sont étudiées et prises en
compte dans le cadre du cycle de vie du développement des systèmes
d’information.
Les développements prennent en compte tout logiciel ou tout système.
La sécurité des développements permet de réduire les risques
d’incidents et garantit une haute résilience des systèmes.
Identification des actifs du cycle de vie du
développement
1. Les équipes de développement
2. Les méthodes de conception et de développement
3. Les outils de gestion du code source
4. Les PC des développeurs
5. Les serveurs d’hébergement
6. Les réseaux et infrastructures
7. Les codes sources
Vulnérabilités & menaces dans le cycle de vie du
développement
Cyber-
criminel
Espion Employé
licencié
Employé
mécontent ou
malveillant
Sources de menace Vulnérabilités Menaces
Erreurs humaines
Dysfonctionnement
Divulgation de code
source
Reproduction
frauduleuse
Corruption des
données
Traitement illégal des
données
Ecoute
Absence de contrôle des modifications
Dispositions absentes ou insuffisantes
dans les contrats
Absence de journalisation
Vol de code source
Bibliothèques vulnérables
Spécifications des développements
confuses
Mesures de traitement
Vulnérabilités Mesures
Erreurs humaines
Politique/processus de développement sécurisé
Procédure de contrôle des changements
Revue technique des applications
Tests de sécurité des systèmes développés
Environnement de développement sécurisé
Absence de contrôle des modifications
Dispositions absentes ou insuffisantes
dans les contrats
Absence de journalisation
Bibliothèques vulnérables
Spécifications des développements
confuses
Clauses contractuelles de confidentialité et de non
divulgation des informations
Conception
3. Conception du
système
9. Mise en ligne du
code source
2. Choix de la
méthode de
développement
6. Tests du code
source
5.Développement
du code source
4. Demande de
changement
1. Compréhension
du cahier de
charges
Développement Tests Mise en production
Processus de développement sécurisé
8. Tests de
vulnérabilités
7. Tests unitaires
& fonctionnels
3. Conception
La conception doit inclure une analyse des risques pouvant survenir dans l’exploitation du système. Elle
doit inclure également les différents contrôles et mesures de sécurité à intégrer dans l’application.
L’identification des risques peut mener à la mise en place de certaines fonctionnalités, notamment :
1. L’authentification : L’accès aux données aux personnes autorisées doit être garanti par un
mécanisme d’authentification.
2. La validation à plusieurs étapes : Des actions peuvent être jugées très sensibles et requièrent
donc d’être validées avant son exécution effective. Un processus de validation en plusieurs étapes
peut être implémenté afin que d’autres acteurs viennent approuver l’action réalisée par l’acteur
initial.
3. La signature des données : La conception doit inclure un moyen de vérifier l’intégrité des données
grâce à la cryptographie pour s’assurer que les données n’ont pas été altérées lors de la
transmission.
3. Conception
4. La gestion des rôles et des privilèges : Une fonctionnalité permettant de gérer les actions que pourront réaliser les
utilisateurs doit être implémentée. Selon le principe du moindre privilège, les privilèges sont attribués aux utilisateurs afin de
s’assurer de la confidentialité des données auxquelles ces utilisateurs n’ont pas droit.
5. La journalisation des actions réalisées dans le système : Pendant la conception, les différents niveaux de journalisation
doivent être identifiés selon la sensibilité des actions et des données traitées. La journalisation inclut :
1. l’action menée (ou la ressource affectée)
2. la date et l’heure de l’action
3. l’utilisateur qui réalise l’action
4. le type d’action
5. le résultat de l’action (succès ou échec)
6. l’origine de l’action
6. La maintenance du système : Le système doit pouvoir être mis en maintenance totalement ou partiellement, généralement
pour résoudre un incident ou un bug. Cette fonctionnalité permet donc de créer une indisponibilité momentanée dans une
optique d’amélioration
3. Conception
Dans la phase de choix de la stack technologique, une attention particulière doit être portée au choix du langage de
programmation
La stack technologique doit être choisie parmi les meilleurs outils. Les outils avec les caractéristiques suivantes doivent
être évités :
1. L’obsolescence : les outils dont les versions sont obsolètes doivent être évités. Ces outils ne sont plus maintenus
et les patchs de sécurité pour les vulnérabilités ne sont pas mis à jour pour sécuriser l’outil. Pour les cas particuliers
où les exigences requièrent l’utilisation de ces outils, il est nécessaire de définir des mesures pour maîtriser le
risque.
2. Une faible communauté soutenant l’outil : un outil avec une forte communauté est un facteur assurant des mises
à jour fréquentes. La forte communauté participe donc à la découverte des vulnérabilités et à la mise en place des
correctifs de sécurité.
3. Un framework dans sa phase de naissance : les framework dans leur phase de naissance sont déconseillés pour
des projets d’entreprise et d’envergure, sauf si elle est portée par une entreprise avec une forte notoriété. Avec le
temps, les frameworks sont dotés de méthodes de sécurisation face aux attaques les plus fréquentes.
4. Demande de changement
La demande de changement est associée à la procédure de contrôle des changements. Afin
de limiter les dysfonctionnements, il est essentiel de maîtriser les changements réalisés sur un
système. Dans une approche globale de gestion de la sécurité du système d’information,
l’analyse permettant de décider s’il est nécessaire de mettre en place un nouvel outil dans le
système d’information d’une entreprise démarre par une demande de changement. Il est
conseillé de répertorier les informations suivantes dans la demande de changement :
1. Les raisons de la demande de changement
2. La description du changement à apporter
3. Les parties prenantes
4. Les entités impactées
5. Les grandes étapes de mise en place du changement
6. Le délai de réalisation
6-7. Tests unitaires & fonctionnels
Les tests unitaires & fonctionnels sont associés aux mesures de revue technique des applications.
Différents tests sont réalisés dans un processus de développement sécurisé afin de s’assurer que les
systèmes en production présentent un minimum de faiblesses au niveau fonctionnel.
1. Test unitaire : Des tests doivent être réalisés fonction par fonction. Des tests unitaires pour les
fonctions de sécurité intégrées dans le système doivent être également réalisés.
2. Test d’intégration : les différents modules du système sont assemblés et testés dans leur
ensemble.
3. Revue de code ou de configuration : Dans le cas des développements de logiciels, un
spécialiste dans le langage de programmation utilisé ou un outil automatique vérifie si les bonnes
pratiques de programmation du langage et les règles d’hygiène définies sont appliquées. Le
spécialiste ou l’outil vérifie entre autres si le code source ne comporte pas de données sensibles
telles que des tokens ou des mots de passe. Pour les systèmes configurables, une checklist des
configurations réalisées doit être dressée afin de vérifier chaque point de contrôle.
8. Scans de vulnérabilités
Les scans de vulnérabilités sont associées à la mesure de test de la sécurité des systèmes développés.
Le code source ou l’environnement est scanné afin de vérifier s’il ne comporte pas de vulnérabilités.
Il existe un classement des vulnérabilités les plus répandues dans le développement.
Le top 10 d’OWASP s’actualise chaque année avec l’évolution du hacking.
TOP 10 OWASP 2021 :
● A01:2021 - Contrôles d'accès défaillants
● A02:2021 - Défaillances cryptographiques
● A03:2021 - Injection
● A04:2021 - Conception non sécurisée
● A05:2021 - Mauvaise configuration de sécurité
● A06:2021 - Composants vulnérables et obsolètes
● A07:2021 - Identification et authentification de mauvaise qualité
● A08:2021 - Manque d'intégrité des données et du logiciel
● A09:2021 - Carence des systèmes de contrôle et de journalisation
● A10:2021 - Falsification de requête côté serveur
9. Mise en ligne du code source
La mise en ligne du code source se fait en s’assurant que les règles des étapes précédentes
sont appliquées et que tous les tests ont été concluants.
Le passage dans l’environnement de production doit être précédé par un passage vers un
environnement intermédiaire qui permettra à des utilisateurs d’éprouver le système afin de
réduire les risques d’erreur et de relever les points essentiels qui sont passés entre les mailles
du filet du processus.
“ Un jour j'irai vivre en Théorie, car en
Théorie tout se passe bien ” Sun Tzu
Difficultés d’intégration de la sécurité dans le cycle de
développement
1. Un manque de sensibilisation des équipes de développement sur
l’importance de la sécurité
2. La complexité de la démarche à adopter
3. Le niveau de connaissance en sécurité de l’information
4. Le caractère unique d’un développement
Merci de votre
attention !
LinkedIn

Contenu connexe

Similaire à DevFest Abidjan 2022 - Les développeurs & IT au cœur de la sécurité de l'information

La sécurité des systèmes d’information
La sécurité des systèmes d’informationLa sécurité des systèmes d’information
La sécurité des systèmes d’information
lara houda
 
070219 Webinar Sensibilisation Sécurité Logiciel Everteam
070219 Webinar Sensibilisation Sécurité Logiciel Everteam070219 Webinar Sensibilisation Sécurité Logiciel Everteam
070219 Webinar Sensibilisation Sécurité Logiciel Everteam
Everteam
 
EBIOS
EBIOSEBIOS
La voie vers une application sécurisée
La voie vers une application sécuriséeLa voie vers une application sécurisée
La voie vers une application sécurisée
Rational_France
 
ITrust Cybersecurity Services - Datasheet FR
ITrust Cybersecurity Services - Datasheet FRITrust Cybersecurity Services - Datasheet FR
ITrust Cybersecurity Services - Datasheet FR
ITrust - Cybersecurity as a Service
 
Guide hygiene informatique_anssi
Guide hygiene informatique_anssiGuide hygiene informatique_anssi
Guide hygiene informatique_anssi
kabengniga ibrahima soro
 
Guide hygiene informatique_anssi
Guide hygiene informatique_anssiGuide hygiene informatique_anssi
Guide hygiene informatique_anssi
Gaudefroy Ariane
 
Guide hygiene informatique Anssi
Guide hygiene informatique AnssiGuide hygiene informatique Anssi
Guide hygiene informatique Anssi
Agathe Mercante
 
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014 Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Patrick Leclerc
 
Sécurité des systèmes d'information
Sécurité des systèmes d'informationSécurité des systèmes d'information
Sécurité des systèmes d'information
Franck Franchin
 
RESUMT_1.PDF
RESUMT_1.PDFRESUMT_1.PDF
RESUMT_1.PDF
badrboutouja1
 
resume-theorique-m107-3003-version-provisoire-6246c8ad85380 (1).pdf
resume-theorique-m107-3003-version-provisoire-6246c8ad85380 (1).pdfresume-theorique-m107-3003-version-provisoire-6246c8ad85380 (1).pdf
resume-theorique-m107-3003-version-provisoire-6246c8ad85380 (1).pdf
FootballLovers9
 
Quel denominateur commun a Microsoft 365.pdf
Quel denominateur commun a Microsoft 365.pdfQuel denominateur commun a Microsoft 365.pdf
Quel denominateur commun a Microsoft 365.pdf
Erol GIRAUDY
 
MANAGEMENT DES SYSTMES DE MANAGEMENT: L'APPORT DE ISO 27001
MANAGEMENT DES SYSTMES DE MANAGEMENT: L'APPORT DE ISO 27001MANAGEMENT DES SYSTMES DE MANAGEMENT: L'APPORT DE ISO 27001
MANAGEMENT DES SYSTMES DE MANAGEMENT: L'APPORT DE ISO 27001
lancedafric.org
 
Programme de cybersécurité : Implementer le framework NIST CSF en entreprise
Programme de cybersécurité : Implementer le framework NIST CSF en entrepriseProgramme de cybersécurité : Implementer le framework NIST CSF en entreprise
Programme de cybersécurité : Implementer le framework NIST CSF en entreprise
EyesOpen Association
 
Déploiement de Modèles Machine Learning avec Kubernetes
Déploiement de Modèles Machine Learning avec KubernetesDéploiement de Modèles Machine Learning avec Kubernetes
Déploiement de Modèles Machine Learning avec Kubernetes
Ibrahima Mbodji
 
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
Julien Vq
 
1 securite-des-reseaux.2 p
1 securite-des-reseaux.2 p1 securite-des-reseaux.2 p
1 securite-des-reseaux.2 p
Abdellah Alahyane
 

Similaire à DevFest Abidjan 2022 - Les développeurs & IT au cœur de la sécurité de l'information (20)

La sécurité des systèmes d’information
La sécurité des systèmes d’informationLa sécurité des systèmes d’information
La sécurité des systèmes d’information
 
070219 Webinar Sensibilisation Sécurité Logiciel Everteam
070219 Webinar Sensibilisation Sécurité Logiciel Everteam070219 Webinar Sensibilisation Sécurité Logiciel Everteam
070219 Webinar Sensibilisation Sécurité Logiciel Everteam
 
OWF12/Security and Free Software
OWF12/Security and Free SoftwareOWF12/Security and Free Software
OWF12/Security and Free Software
 
EBIOS
EBIOSEBIOS
EBIOS
 
La voie vers une application sécurisée
La voie vers une application sécuriséeLa voie vers une application sécurisée
La voie vers une application sécurisée
 
ITrust Cybersecurity Services - Datasheet FR
ITrust Cybersecurity Services - Datasheet FRITrust Cybersecurity Services - Datasheet FR
ITrust Cybersecurity Services - Datasheet FR
 
Guide hygiene informatique_anssi
Guide hygiene informatique_anssiGuide hygiene informatique_anssi
Guide hygiene informatique_anssi
 
Guide hygiene informatique_anssi
Guide hygiene informatique_anssiGuide hygiene informatique_anssi
Guide hygiene informatique_anssi
 
Guide hygiene informatique Anssi
Guide hygiene informatique AnssiGuide hygiene informatique Anssi
Guide hygiene informatique Anssi
 
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014 Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
 
Le modèle cobit
Le modèle cobitLe modèle cobit
Le modèle cobit
 
Sécurité des systèmes d'information
Sécurité des systèmes d'informationSécurité des systèmes d'information
Sécurité des systèmes d'information
 
RESUMT_1.PDF
RESUMT_1.PDFRESUMT_1.PDF
RESUMT_1.PDF
 
resume-theorique-m107-3003-version-provisoire-6246c8ad85380 (1).pdf
resume-theorique-m107-3003-version-provisoire-6246c8ad85380 (1).pdfresume-theorique-m107-3003-version-provisoire-6246c8ad85380 (1).pdf
resume-theorique-m107-3003-version-provisoire-6246c8ad85380 (1).pdf
 
Quel denominateur commun a Microsoft 365.pdf
Quel denominateur commun a Microsoft 365.pdfQuel denominateur commun a Microsoft 365.pdf
Quel denominateur commun a Microsoft 365.pdf
 
MANAGEMENT DES SYSTMES DE MANAGEMENT: L'APPORT DE ISO 27001
MANAGEMENT DES SYSTMES DE MANAGEMENT: L'APPORT DE ISO 27001MANAGEMENT DES SYSTMES DE MANAGEMENT: L'APPORT DE ISO 27001
MANAGEMENT DES SYSTMES DE MANAGEMENT: L'APPORT DE ISO 27001
 
Programme de cybersécurité : Implementer le framework NIST CSF en entreprise
Programme de cybersécurité : Implementer le framework NIST CSF en entrepriseProgramme de cybersécurité : Implementer le framework NIST CSF en entreprise
Programme de cybersécurité : Implementer le framework NIST CSF en entreprise
 
Déploiement de Modèles Machine Learning avec Kubernetes
Déploiement de Modèles Machine Learning avec KubernetesDéploiement de Modèles Machine Learning avec Kubernetes
Déploiement de Modèles Machine Learning avec Kubernetes
 
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
 
1 securite-des-reseaux.2 p
1 securite-des-reseaux.2 p1 securite-des-reseaux.2 p
1 securite-des-reseaux.2 p
 

DevFest Abidjan 2022 - Les développeurs & IT au cœur de la sécurité de l'information

  • 1. [Location] Walter Michael TACKA Cyber-stratégie & Gouvernance IT Speaker Image Placeholder Les développeurs & IT au cœur de la Sécurité de l’Information
  • 2. Plan de la présentation 1. Définition de la sécurité de l’information 2. Domaine d’application de la sécurité de l’information 3. La sécurité dans le cycle de vie des développements
  • 3. Définition de la sécurité de l’information
  • 4. Définition de la Sécurité de l’information La sécurité de l’information est un dispositif global dont la mise en œuvre assure la protection de la confidentialité, l’intégrité et la disponibilité de l’information : 1. Confidentialité : propriété par laquelle l’information n’est pas diffusée ni divulguée à des personnes, des entités ou des processus non autorisés 2. Intégrité : Propriété d’exactitude et de complétude 3. Disponibilité : Propriété d’être accessible et utilisable à la demande par une entité autorisée
  • 5. Enjeux de la sécurité de l’information L’enjeu majeur de la sécurité de l’information est de se prémunir contre les cyber-attaques afin d’éviter les conséquences auxquelles les organisations pourraient être exposées. Elle permet tout de même de : 1. Renforcer la réputation de l’organisation 2. Se conformer aux exigences légales et réglementaires 3. Renforcer la confiance des partenaires 4. Réduire les risques de pertes financières 5. Mieux coordonner les activités de sécurité avec les différents acteurs 6. Assurer la pérennité de l’organisation
  • 7. Sécurité Informatique & Sécurité de l’Information Information ou données sur différents supports Processus et activités Structure organisationnelle Ressources humaines Physique & environnemental sécurité technique : Réseau informatique Outils de télécommunication Application Système Terminaux Sécurité de l’information Sécurité informatique Départements / Directions d’affaires Départements / Directions informatiques
  • 9. Domaine d’application de la sécurité de l’information Gestion des risques Gestion des vulnérabilités techniques Sécurité réseau & système Gestion des logs Gestion des incidents Gestion des développements Gestion de l’exploitation Conformité Gestion des actifs Gestion des ressources humaines Gestion des accès Sécurité physique Cryptographie Continuité d’activité Organisation projet Normes & méthodes Sensibilisation & Formation Gestion des coûts & des gains Audit & Revue
  • 10. La sécurité dans le cycle de vie des développements
  • 11. Définition & Objectifs de la sécurité des développements La sécurité des développements a pour objectif de s’assurer que les questions de sécurité de l’information sont étudiées et prises en compte dans le cadre du cycle de vie du développement des systèmes d’information. Les développements prennent en compte tout logiciel ou tout système. La sécurité des développements permet de réduire les risques d’incidents et garantit une haute résilience des systèmes.
  • 12. Identification des actifs du cycle de vie du développement 1. Les équipes de développement 2. Les méthodes de conception et de développement 3. Les outils de gestion du code source 4. Les PC des développeurs 5. Les serveurs d’hébergement 6. Les réseaux et infrastructures 7. Les codes sources
  • 13. Vulnérabilités & menaces dans le cycle de vie du développement Cyber- criminel Espion Employé licencié Employé mécontent ou malveillant Sources de menace Vulnérabilités Menaces Erreurs humaines Dysfonctionnement Divulgation de code source Reproduction frauduleuse Corruption des données Traitement illégal des données Ecoute Absence de contrôle des modifications Dispositions absentes ou insuffisantes dans les contrats Absence de journalisation Vol de code source Bibliothèques vulnérables Spécifications des développements confuses
  • 14. Mesures de traitement Vulnérabilités Mesures Erreurs humaines Politique/processus de développement sécurisé Procédure de contrôle des changements Revue technique des applications Tests de sécurité des systèmes développés Environnement de développement sécurisé Absence de contrôle des modifications Dispositions absentes ou insuffisantes dans les contrats Absence de journalisation Bibliothèques vulnérables Spécifications des développements confuses Clauses contractuelles de confidentialité et de non divulgation des informations
  • 15. Conception 3. Conception du système 9. Mise en ligne du code source 2. Choix de la méthode de développement 6. Tests du code source 5.Développement du code source 4. Demande de changement 1. Compréhension du cahier de charges Développement Tests Mise en production Processus de développement sécurisé 8. Tests de vulnérabilités 7. Tests unitaires & fonctionnels
  • 16. 3. Conception La conception doit inclure une analyse des risques pouvant survenir dans l’exploitation du système. Elle doit inclure également les différents contrôles et mesures de sécurité à intégrer dans l’application. L’identification des risques peut mener à la mise en place de certaines fonctionnalités, notamment : 1. L’authentification : L’accès aux données aux personnes autorisées doit être garanti par un mécanisme d’authentification. 2. La validation à plusieurs étapes : Des actions peuvent être jugées très sensibles et requièrent donc d’être validées avant son exécution effective. Un processus de validation en plusieurs étapes peut être implémenté afin que d’autres acteurs viennent approuver l’action réalisée par l’acteur initial. 3. La signature des données : La conception doit inclure un moyen de vérifier l’intégrité des données grâce à la cryptographie pour s’assurer que les données n’ont pas été altérées lors de la transmission.
  • 17. 3. Conception 4. La gestion des rôles et des privilèges : Une fonctionnalité permettant de gérer les actions que pourront réaliser les utilisateurs doit être implémentée. Selon le principe du moindre privilège, les privilèges sont attribués aux utilisateurs afin de s’assurer de la confidentialité des données auxquelles ces utilisateurs n’ont pas droit. 5. La journalisation des actions réalisées dans le système : Pendant la conception, les différents niveaux de journalisation doivent être identifiés selon la sensibilité des actions et des données traitées. La journalisation inclut : 1. l’action menée (ou la ressource affectée) 2. la date et l’heure de l’action 3. l’utilisateur qui réalise l’action 4. le type d’action 5. le résultat de l’action (succès ou échec) 6. l’origine de l’action 6. La maintenance du système : Le système doit pouvoir être mis en maintenance totalement ou partiellement, généralement pour résoudre un incident ou un bug. Cette fonctionnalité permet donc de créer une indisponibilité momentanée dans une optique d’amélioration
  • 18. 3. Conception Dans la phase de choix de la stack technologique, une attention particulière doit être portée au choix du langage de programmation La stack technologique doit être choisie parmi les meilleurs outils. Les outils avec les caractéristiques suivantes doivent être évités : 1. L’obsolescence : les outils dont les versions sont obsolètes doivent être évités. Ces outils ne sont plus maintenus et les patchs de sécurité pour les vulnérabilités ne sont pas mis à jour pour sécuriser l’outil. Pour les cas particuliers où les exigences requièrent l’utilisation de ces outils, il est nécessaire de définir des mesures pour maîtriser le risque. 2. Une faible communauté soutenant l’outil : un outil avec une forte communauté est un facteur assurant des mises à jour fréquentes. La forte communauté participe donc à la découverte des vulnérabilités et à la mise en place des correctifs de sécurité. 3. Un framework dans sa phase de naissance : les framework dans leur phase de naissance sont déconseillés pour des projets d’entreprise et d’envergure, sauf si elle est portée par une entreprise avec une forte notoriété. Avec le temps, les frameworks sont dotés de méthodes de sécurisation face aux attaques les plus fréquentes.
  • 19. 4. Demande de changement La demande de changement est associée à la procédure de contrôle des changements. Afin de limiter les dysfonctionnements, il est essentiel de maîtriser les changements réalisés sur un système. Dans une approche globale de gestion de la sécurité du système d’information, l’analyse permettant de décider s’il est nécessaire de mettre en place un nouvel outil dans le système d’information d’une entreprise démarre par une demande de changement. Il est conseillé de répertorier les informations suivantes dans la demande de changement : 1. Les raisons de la demande de changement 2. La description du changement à apporter 3. Les parties prenantes 4. Les entités impactées 5. Les grandes étapes de mise en place du changement 6. Le délai de réalisation
  • 20. 6-7. Tests unitaires & fonctionnels Les tests unitaires & fonctionnels sont associés aux mesures de revue technique des applications. Différents tests sont réalisés dans un processus de développement sécurisé afin de s’assurer que les systèmes en production présentent un minimum de faiblesses au niveau fonctionnel. 1. Test unitaire : Des tests doivent être réalisés fonction par fonction. Des tests unitaires pour les fonctions de sécurité intégrées dans le système doivent être également réalisés. 2. Test d’intégration : les différents modules du système sont assemblés et testés dans leur ensemble. 3. Revue de code ou de configuration : Dans le cas des développements de logiciels, un spécialiste dans le langage de programmation utilisé ou un outil automatique vérifie si les bonnes pratiques de programmation du langage et les règles d’hygiène définies sont appliquées. Le spécialiste ou l’outil vérifie entre autres si le code source ne comporte pas de données sensibles telles que des tokens ou des mots de passe. Pour les systèmes configurables, une checklist des configurations réalisées doit être dressée afin de vérifier chaque point de contrôle.
  • 21. 8. Scans de vulnérabilités Les scans de vulnérabilités sont associées à la mesure de test de la sécurité des systèmes développés. Le code source ou l’environnement est scanné afin de vérifier s’il ne comporte pas de vulnérabilités. Il existe un classement des vulnérabilités les plus répandues dans le développement. Le top 10 d’OWASP s’actualise chaque année avec l’évolution du hacking. TOP 10 OWASP 2021 : ● A01:2021 - Contrôles d'accès défaillants ● A02:2021 - Défaillances cryptographiques ● A03:2021 - Injection ● A04:2021 - Conception non sécurisée ● A05:2021 - Mauvaise configuration de sécurité ● A06:2021 - Composants vulnérables et obsolètes ● A07:2021 - Identification et authentification de mauvaise qualité ● A08:2021 - Manque d'intégrité des données et du logiciel ● A09:2021 - Carence des systèmes de contrôle et de journalisation ● A10:2021 - Falsification de requête côté serveur
  • 22. 9. Mise en ligne du code source La mise en ligne du code source se fait en s’assurant que les règles des étapes précédentes sont appliquées et que tous les tests ont été concluants. Le passage dans l’environnement de production doit être précédé par un passage vers un environnement intermédiaire qui permettra à des utilisateurs d’éprouver le système afin de réduire les risques d’erreur et de relever les points essentiels qui sont passés entre les mailles du filet du processus.
  • 23. “ Un jour j'irai vivre en Théorie, car en Théorie tout se passe bien ” Sun Tzu
  • 24. Difficultés d’intégration de la sécurité dans le cycle de développement 1. Un manque de sensibilisation des équipes de développement sur l’importance de la sécurité 2. La complexité de la démarche à adopter 3. Le niveau de connaissance en sécurité de l’information 4. Le caractère unique d’un développement

Notes de l'éditeur

  1. La confidentialité, l’intégrité et la disponibilité sont appelés les objectifs de sécurité. Ce sont les objectifs de sécurité primordiaux. Les définitions fournies sont issues de la suite ISO 27000 Technologies de l'information — Techniques de sécurité Ils désignent simplement : Confidentialité : la capacité à rendre les informations accessibles uniquement aux personnes qui sont autorisées à y accéder. Intégrité : La capacité à s’assurer que l’information obtenue ou demandée est celle attendue, ou la capacité d’un système à fonctionner comme prévu. Disponibilité : La capacité à rendre accessible l’information au moment voulu et souhaité. A ces objectifs, on peut associer d’autres objectifs que sont : La non répudiation ou l’imputation : Selon l’ISO 27000, c’est la “capacité à prouver l’occurrence d’un évènement ou d’une action donnée et des entités qui en sont à l’origine”. Autrement, il s’agit de la propriété par laquelle on garantit qu’une action réalisée par une entité ne peut être niée. L’authenticité : Selon l’ISO 27000, c’est la “propriété par laquelle une entité est ce qu’elle revendique être”.
  2. Une cyber-attaque est une tentative aboutie ou échouée, indésirable de voler, d'exposer, de modifier, de désactiver ou de détruire des informations via un accès non autorisé aux systèmes informatiques.
  3. Un processus est défini dans l’ISO 27000 Technologies de l'information — Techniques de sécurité comme “un ensemble d’activités corrélées ou interactives qui transforme des éléments d’entrée en éléments de sortie”
  4. La sécurité de l’information est avant tout une stratégie. La mise en œuvre d’une stratégie peut suivre une approche fondée sur risque en : Identifiant les risques Planifiant les jalons Attribuant les tâches Allouant des ressources utiles Les tâches tournent autour de la définition d’orientations, la définition de politiques, l’élaboration de procédures et processus, la mise en place de moyens de contrôle, et enfin, les outils qui représentent le volet technique.
  5. Les points évoqués dans la gestion de l’exploitation sont à titre indicatif. La gestion de l’exploitation prend aussi en considération : La sauvegarde La protection des systèmes contre les logiciels malveillants La maîtrise des logiciels en exploitation Sur l’ensemble de ces domaines d’application, il y a des activités qui permettent d’assurer une gestion efficiente et une amélioration continue de la sécurité de l’information. Il s’agit bien entendu de : D’une organisation projet pour la mise en œuvre du dispositif La gestion des risques L’usage de normes et méthodes reconnues Une communication à travers la sensibilisation et la formation des parties prenantes La gestion des coûts Les activités de contrôle (audit, revue, enquête et différents tests)
  6. Une menace est une cause potentielle d’un incident pouvant nuire à un système d’information. Les sources ou origine de menaces sont généralement humaines (agissant de façon délibérée ou accidentelle) ou environnementales. Une vulnérabilité est une faille ou une faiblesse dans un actif, pouvant être exploitée par une ou plusieurs menaces. Le présent schéma n’est pas exhaustif. Il présente quelques scénarios d’incident qui peuvent survenir dans le cycle de développement. Par exemple, un cyber-criminel (source de menace humaine agissant délibérément) exploite des vulnérabilités découvertes dans certaines bibliothèques (vulnérabilité) afin de corrompre les données (menace).
  7. Il est possible d’améliorer la protection des données en mettant en place des mesures de traitement. Les mesures de traitement présentées en vert sont les mesures qui concernent la sécurité des développements. Certaines vulnérabilités pouvant conduire à des menaces sur la sécurité des développements peuvent être traitées par une bonne gestion des ressources humaines à travers des clauses contractuelles.
  8. OWASP A04:2021 - Conception non sécurisée La conception non sécurisée est une vaste catégorie représentant différentes faiblesses, exprimées comme « conception de contrôle manquante ou inefficace ». La conception non sécurisée n'est pas la source de toutes les autres catégories de risques du Top 10. Il y a une différence entre une conception non sécurisée et une implémentation non sécurisée. Nous différencions les défauts de conception et les défauts de mise en œuvre pour une raison, ils ont des causes profondes et des solutions différentes. Une conception sécurisée peut toujours présenter des défauts de mise en œuvre conduisant à des vulnérabilités susceptibles d'être exploitées. Une conception non sécurisée ne peut pas être corrigée par une implémentation parfaite car, par définition, les contrôles de sécurité nécessaires n'ont jamais été créés pour se défendre contre des attaques spécifiques. L'un des facteurs qui contribuent à une conception non sécurisée est le manque de profilage des risques commerciaux inhérent au logiciel ou au système en cours de développement, et donc l'incapacité à déterminer le niveau de conception de sécurité requis. Source : OWASP TOP 10
  9. Un privilège est une délégation d'autorité pour exécuter des actions sur un système. un rôle correspond à un ensemble de privilèges dont dispose une entité dans un système donné. La journalisation consiste à enregistrer dans un journal, souvent dans des fichiers log, les opérations informatiques effectuées dans un système. Sur un système, il existe différentes actions à journaliser : Toutes les actions réalisées avec un compte utilisateur ou un compte racine ; Les tentatives d’authentification réussies et échouées ; Les créations, modifications et suppressions de compte ; Les élévations de privilèges ; Les configurations sur le système. OWASP A09:2021 - Carence des systèmes de contrôle et de journalisation : Cette catégorie a pour but d'aider à détecter, escalader et répondre aux violations actives. Sans journalisation et surveillance, les violations ne peuvent pas être détectées Source : OWASP TOP 10
  10. OWASP A06:2021 - Composants vulnérables et obsolètes Vous êtes probablement vulnérable : Si vous ne connaissez pas les versions de tous les composants que vous utilisez (côté client et côté serveur). Cela inclut les composants que vous utilisez directement ainsi que les dépendances imbriquées. Si le logiciel est vulnérable, non pris en charge ou obsolète. Cela inclut le système d'exploitation, le serveur Web/d'applications, le système de gestion de base de données (SGBD), les applications, les API et tous les composants, les environnements d'exécution et les bibliothèques. Si vous ne recherchez pas régulièrement les vulnérabilités et que vous vous abonnez aux bulletins de sécurité liés aux composants que vous utilisez. Si vous ne corrigez pas ou ne mettez pas à niveau la plate-forme sous-jacente, les infrastructures et les dépendances en temps opportun et en fonction des risques. Cela se produit généralement dans des environnements où l'application de correctifs est une tâche mensuelle ou trimestrielle sous contrôle des modifications, laissant les organisations ouvertes à des jours ou des mois d'exposition inutile à des vulnérabilités corrigées. Si les développeurs de logiciels ne testent pas la compatibilité des bibliothèques mises à jour, mises à niveau ou corrigées. Source : OWASP TOP 10
  11. On appelle changement toute modification partielle ou complète, la suppression ou l’ajout d’une entité au système d’information. Dans notre cas, la demande de changement fait référence à une demande d’autorisation pour la mise en production d’un nouveau développement en démontrant que les risques liés à l’intégration dans le SI ont été analysés, et si possible, sont maîtrisés. La gestion des changements est bien détaillée dans le guide de bonnes pratiques ITIL.
  12. Un code source ou un système peut être mis en production même lorsqu’il contient un certain nombre de vulnérabilités. Une vulnérabilité est caractérisée par un score qui dépend de sa criticité et de son exploitabilité. La gestion des vulnérabilités définit donc un seuil à partir duquel il est impératif que la vulnérabilité soit traitée avant la mise en production. Présentation succincte de quelques vulnérabilité du top 1O d’OWASP OWASP A01:2021 - Contrôles d'accès défaillants : Le contrôle d'accès applique une politique telle que les utilisateurs ne peuvent pas agir en dehors de leurs autorisations prévues. Les défaillances entraînent généralement la divulgation non autorisée d'informations, la modification ou la destruction de toutes les données ou l'exécution d'une fonction commerciale en dehors des limites de l'utilisateur. OWASP A02:2021 - Défaillances cryptographiques : La première chose est de déterminer les besoins de protection des données en transit et au repos. Par exemple, les mots de passe, les numéros de carte de crédit, les dossiers médicaux, les informations personnelles et les secrets commerciaux nécessitent une protection supplémentaire, principalement si ces données relèvent des lois sur la confidentialité, par exemple le règlement général sur la protection des données (RGPD) de l'UE, ou des réglementations, par exemple la protection des données financières. comme la norme de sécurité des données PCI (PCI DSS) OWASP A03:2021 - Injection : Une application est vulnérable aux attaques lorsque : Les données fournies par l'utilisateur ne sont pas validées, filtrées ou nettoyées par l'application. Les requêtes dynamiques ou les appels non paramétrés sans échappement contextuel sont utilisés directement dans l'interpréteur. Les données hostiles sont utilisées dans les paramètres de recherche de mappage objet-relationnel (ORM) pour extraire des enregistrements sensibles supplémentaires. Les données hostiles sont directement utilisées ou concaténées. Le SQL ou la commande contient la structure et les données malveillantes dans les requêtes dynamiques, les commandes ou les procédures stockées. OWASP A05:2021 - Mauvaise configuration de sécurité L'application peut être vulnérable si : elle manque de renforcer la sécurité de façon appropriée sur n'importe quelle partie de la pile d'applications ou autorisations mal configurées sur les services cloud. elle dispose de fonctionnalités inutiles actives ou installées (par exemple, des ports, des services, des pages, des comptes ou des privilèges inutiles). elle dispose de comptes par défaut dont leurs mots de passe sont toujours activés et inchangés. elle révèle, dans la gestion des erreurs, des traces de pile ou d'autres messages d'erreur trop informatifs pour les utilisateurs. pour les systèmes mis à niveau, elle dispose de dernières fonctionnalités de sécurité étant désactivées ou n’étant pas configurées de manière sécurisée. les serveurs d'applications, des frameworks d'applications (par exemple, Struts, Spring, ASP.NET), des bibliothèques, des bases de données, etc., associés à l’application ne disposent pas de paramètres de sécurité définis sur des valeurs sécurisées. Le serveur n'envoie pas d'en-têtes ou de directives de sécurité, ou ils ne sont pas définis sur des valeurs sécurisées. Source : OWASP TOP 10
  13. Un code source ou un système peut être mis en production même lorsqu’il comporte un certain nombre de vulnérabilités. Une vulnérabilité est caractérisée par un score qui dépend de sa criticité et de son exploitabilité. La gestion des vulnérabilités définit donc un seuil à partir duquel il est impératif que la vulnérabilité soit traitée avant la mise en production.
  14. En théorie, la gestion des développements devrait nous permettre de couvrir l’ensemble des risques majeurs. Toutefois, il existe des changements externes qui peuvent influencer les résultats de la mise en œuvre des activités de gestion des développements. C’est tout à fait normal. On ne peut pas tout prévoir. C’est pour cela que la sécurité de l’information concède l’amélioration continue des dispositifs.