Vous êtes sur la page 1sur 2

Chapitre 1 : Rappels sur SDLC (Software Development Lifecycle)

Ce chapitre sert de base pour comprendre le cycle de vie du développement logiciel et


introduire des concepts clés liés à la sécurité applicative.

 Introduction au SDLC : Le SDLC (Software Development Lifecycle) est un


processus qui définit les étapes par lesquelles un logiciel passe depuis la conception
jusqu'à sa mise en production. Il comprend des phases telles que la planification, la
conception, le développement, les tests et le déploiement. Un exemple concret serait
de montrer comment ces phases sont interconnectées dans un projet réel.

Chapitre 2 : Sécurité du SDLC

Ce chapitre se penche sur l'intégration de la sécurité dans le cycle de développement logiciel.

 Concept : "Security by design" : "Security by design" signifie intégrer la sécurité


dès la phase de conception d'un logiciel. Cela implique de penser aux vulnérabilités
potentielles et aux contre-mesures dès le début du processus de développement. Un
exemple concret serait de montrer comment un concepteur de logiciel prend en
compte la sécurité en identifiant les scénarios d'attaque possibles dès la phase de
conception.
 Besoins fonctionnels en sécurité : Les besoins fonctionnels en sécurité sont des
exigences spécifiques liées à la sécurité d'une application. Par exemple, un besoin
fonctionnel en sécurité pour un système de gestion de l'information médicale pourrait
être de garantir que seuls les professionnels de la santé autorisés ont accès aux dossiers
médicaux des patients.
 Sécurité de l’architecture : La sécurité de l'architecture concerne la conception d'une
architecture logicielle qui est intrinsèquement sécurisée. Un exemple concret serait de
montrer comment concevoir une architecture web qui isole les données sensibles des
utilisateurs non autorisés.
 Sécurité du déploiement : La sécurité du déploiement implique de configurer les
serveurs et l'environnement de manière sécurisée pour minimiser les vulnérabilités.
Par exemple, cela peut inclure la configuration correcte d'un pare-feu pour empêcher
les accès non autorisés.
 Sécurité du développement : La sécurité du développement se concentre sur les
bonnes pratiques de codage sécurisé pour éviter les vulnérabilités. Par exemple,
l'utilisation de fonctions de hachage sécurisées pour stocker les mots de passe des
utilisateurs.
 Threat modeling/ Application Security Risks : Le threat modeling est un processus
qui consiste à identifier les menaces potentielles pour une application et à évaluer leur
impact. Par exemple, un threat modeling pourrait révéler qu'une application est
vulnérable aux attaques XSS en raison d'une mauvaise validation des données d'entrée.
 Analyse/Audit de code : L'analyse de code est le processus d'examen du code source
pour identifier les vulnérabilités de sécurité. Par exemple, une analyse de code peut
révéler la présence de requêtes SQL non paramétrées qui sont vulnérables aux
injections SQL.
 Projet OWASP SAMM (Software Assurance Maturity Model) : Le projet OWASP
SAMM est un modèle d'évaluation de la sécurité logicielle qui permet aux
organisations d'évaluer et d'améliorer leur maturité en matière de sécurité. Un exemple
concret serait de montrer comment une organisation utilise SAMM pour évaluer la
sécurité de ses projets logiciels et met en place des mesures pour l'améliorer.

Chapitre 3 : Sécurité des architectures WEB

Ce chapitre se concentre sur la sécurité des applications web et des architectures associées.

 Présentation du projet OWASP : L'OWASP est une organisation qui se consacre à


l'amélioration de la sécurité des logiciels. Le projet OWASP vise à sensibiliser à la
sécurité applicative et à fournir des ressources pour améliorer la sécurité des
applications web. Un exemple concret serait de présenter des ressources spécifiques
d'OWASP, telles que les guides de sécurité pour les développeurs.
 Vulnérabilités des applications WEB : Les vulnérabilités courantes des applications
web incluent les injections SQL, les attaques XSS (Cross-Site Scripting), les attaques
CSRF (Cross-Site Request Forgery), etc. Un exemple concret pourrait montrer
comment une attaque XSS peut être utilisée pour voler des cookies d'authentification.
 Sécurité des serveurs WEB : Les serveurs web doivent être configurés de manière
sécurisée pour résister aux attaques. Par exemple, un exemple concret serait de
montrer comment configurer un serveur web pour activer HTTPS et utiliser des
certificats SSL/TLS.
 Sécurité des bases de données (SQL/NoSQL) : La sécurité des bases de données est
essentielle pour protéger les données sensibles. Un exemple concret serait de montrer
comment configurer des autorisations d'accès appropriées pour une base de données
SQL et comment empêcher les injections SQL en utilisant des requêtes paramétrées.

Chapitre 4 : Sécurité des web services (SOAP/REST)

Ce chapitre traite de la sécurité des web services, qu'ils soient basés sur SOAP ou REST.

 Introduction aux web services : Les web services sont des interfaces de
communication entre différentes applications. Par exemple, montrer comment un
service web REST permet à une application mobile de récupérer des données depuis
un serveur.
 Sécurisation des web services SOAP : Les web services SOAP peuvent être
sécurisés en utilisant des normes telles que WS-Security, qui permettent de chiffrer les
messages et de gérer les identités. Un exemple concret pourrait montrer comment
chiffrer et signer numériquement un message SOAP.
 Sécurisation des web services REST : Les web services REST peuvent être sécurisés
en utilisant des mécanismes d'authentification tels que JWT (JSON Web Tokens) et en
définissant des autorisations d'accès appropriées. Un exemple concret pourrait montrer
comment mettre en œuvre l'authentification par token dans un service web REST.

Chaque section devrait inclure des exemples pratiques, des études de cas, et des exercices
pour aider les étudiants à comprendre et à appliquer les concepts de sécurité applicative de
manière concrète.

Vous aimerez peut-être aussi