Certification CISSP : domaine 8

Le CISSP est la certification la plus reconnue dans le monde de la cybersécurité. L’examen est exigeant et demande un travail préparatoire soutenu quel que soit le mode choisi (voir les conseils de préparation). Le programme (Common Body of Knowledge) est revu tous les trois ans par l’(ISC)2. Son contenu est très large. Il couvre de nombreux concepts, pratiques et techniques couramment utilisés en cybersécurité qu’un professionnel compétent doit connaitre, sans pour autant en être un expert. On dit souvent que le CISSP est « surfacique » : beaucoup de connaissances, jusqu’à la sécurité physique sont abordées sans être approfondies. Le champ des questions possibles est très large. Cet article est consacré au domaine 8 qui traite de la sécurité des développements applicatifs. Il représente 10 % du programme.

Le SLDC

Le manque de sécurité dans les développements est considéré comme une des faiblesses importantes en sécurité. Les causes sont multiples : manques de compétences, volume toujours plus important de code, accélération des rythmes de développement... Si les « bug bounty » proposés par les éditeurs se multiplient, la correction des failles ne suit pas forcément le même rythme, la keynote du SSTIC 2019 d’Alex Ionescu est très intéressante de ce point de vue. L’ISC(2) propose une certification spécifique pour la sécurité des développements (Certified Secure Software Lifecycle Professional). L’éditeur ou l’entreprise qui réalise des développements internes doit mettre en œuvre un SDLC (Systems Development Life Cycle) qui intègre les aspects sécurité. Le programme du CISSP implique d’avoir une bonne connaissance des types de méthodes (chute d’eau, prototype, spirale, Cleanroom, Agile…) et des aspects sécurité à intégrer, depuis la relation avec les métiers jusqu’aux tests dynamiques de l’application, en terminant par les mesures de décommissionnement en fin de cycle. Il faut aussi connaitre des référentiels comme le CMMI (capability maturity model integration) fréquemment utilisé pour mesurer la maturité d’un processus de développement ou encore des normes plus orientées sécurité, comme les référentiels ISO 27034 (sécurité des applications). Citons aussi dans ce domaine le référentiel de SAFECode, le SSDF et le modèle BSIMM. Les notions de modélisation de menaces sont aussi au programme, par exemple les acronymes STRIDE ou DREAD. Les moyens pour homologuer une application, en particulier au travers des critères communs (ISO 15408) font partie des points à maitriser. Les questions peuvent aborder les risques de sécurité pendant le développement, par exemple concernant la réutilisation de librairies contenant des failles ou encore les accès malveillants à la plateforme de développement entrainant la présence de portes dérobées ou de logiciels malveillants dans le code livré. Les mesures de sécurité liées à l’acquisition des logiciels et à la maitrise de la chaine de sous-traitance sont aussi au programme de ce domaine. Une bonne connaissance des environnements DevOps et des principes de sécurisation des conteneurs est nécessaire.

Les failles logicielles

Il faut bien réviser les différents types de failles qui peuvent exister dans un code. Le référentiel OWASP (Open Web Application Security Project) et la dernière version du « top ten » sont au programme pour la sécurisation des applications WEB. Il faut être capable de comprendre la nature de chacune des failles (injection, XSS…) afin de répondre à des questions liées à la qualification de la faille, la mesure d’un risque et les contre-mesures disponibles. Une connaissance générale des différents types de langage de programmation et les risques associés est exigée. Les questions ne comportent pas d’aspects précis liés à tel ou tel langage, mais il faut connaitre par exemple le principe des différents débordements de tampon (stack, heap, integer overflows) ou des fuites de mémoire. La sécurisation des API et des WEB Services, de plus en plus utilisés en particulier en environnement Cloud doit être connue. Cette partie comprend aussi la maitrise des concepts liés au fonctionnement des logiciels anti-virus ainsi qu’au suivi des failles et à l’installation des correctifs de sécurité.

 Pour en savoir plus sur les 20 meilleures formations sur la sécurité des systèmes d’information, téléchargez gratuitement notre livre blanc ci-dessous :

CISSP, Certification, FormationCISSP