Procédure de Dév Sécurisé Ok
Procédure de Dév Sécurisé Ok
Procédure de Dév Sécurisé Ok
SOMMAIRE
1. GÉNÉRALITÉ 3
2. RÈGLES DE DÉVELOPPEMENT 4
1. Généralité
1. Objet
Cette procédure décline les exigences de sécurité relatives aux développements des
applications ou de l’implémentation de solutions intégrées externes (progiciels, systèmes
clés en main, etc.) au sein de la NOM ENTREPRISE.
2. Domaine d’application
L’objectif de cette procédure est de traduire la prise en compte des contraintes de sécurité
pendant l’élaboration de projets de Développement, d’Ingénierie et d’intégration de nouvelles
applications au SI de la NOM ENTREPRISE, tout au long du cycle de vie du projet et durant
sa maintenance. Ceci permettra d’atteindre les objectifs de sécurité, sans se limiter aux
seuls aspects de disponibilité.
2. Règles de développement
Les collaborateurs concernées (chef de Projet de Développement, d’Ingénierie ou
d’intégration de l’Application, ….) et le responsable Sécurité du SI procéderont à une
évaluation des risques qui pèsent sur l’application concernée, en termes d’informations, de
traitements, etc. ce qui permet d’en déduire la définition des exigences de sécurité du projet.
La définition des exigences de sécurité doit permettre d’identifier la nature des contrôles à
mettre en œuvre, de façon automatisée et/ou manuelle, et d’en déduire les schémas
éventuels d’adaptation nécessaires.
1. Qualité de développement
Le développement des nouveaux composants doit se faire en respectant les bonnes
pratiques en vigueur dans les phases d’analyse, de conception, de mise en œuvre, de
documentation et de tests d’intégration avec les composants existants, ce qui permet
d’assurer la qualité idoine du SI et de faciliter la maintenance de ces composants.
Il est important lors du développement des applications de mettre en relief les critères
suivants:
Les contrôles de sécurité (contre les attaques d’injection SQl, XSS, Buffer
Overflow…) ;
La gestion des sessions utilisateurs ;
La méthode d’authentification ;
Traçabilité ;
La gestion et le control d’intégrité des données ;
Simplicité des mécanismes ;
Réutilisation de code.
2. Qualité de développement
Lors du développement d’un module ou d’une application, il est nécessaire d’inclure de façon
systématique les contrôles suivants:
S'assurer que toutes les composantes de système et tous les logiciels du système
disposent des correctifs de sécurités les plus récentes ;
Installer les correctifs de sécurité dans un délai d’un mois suivant leur publication
Mettre en place un processus destiné à identifier les vulnérabilités en matière de
sécurité nouvellement identifiées (par exemple, souscrire un abonnement à des
services d’alerte gratuit disponibles sur l'Internet).
une seule session applicative simultanée par utilisateur
La durée d’une session doit être limitée
Mettre en place un bouton déconnexion dans l’application
S’assurer que la fermeture d’une session se fait correctement (supprimer les
enregistrements dans la table session et supprimer l’environnement de session coté
serveur) pour limite le risque de vols de session (session hijacking, cookie
spoofing…)
S’assurer de la manipulation correcte des données (Accès aux données partagées,
aux fichiers, au réseau, Etc.)
Utiliser les listes blanches pour le contrôle des données
Un contrôle de validation des entrées et sorties des données tant on-line comme off-
line.
o Valeurs au-delà des limites,
o Caractères non valides dans des champs de données,
o Données manquantes ou incomplètes,
o Etc.
En cas d’anomalie de fonctionnement d’une application, une page d’erreur ne
contenant aucunes informations techniques sensibles (version du serveur, BD…) doit
être renvoyée à l’utilisateur
Tester tous les correctifs de sécurité, ainsi que toutes modifications de configuration
de système ou de logiciel avant déploiement.
Il est aussi nécessaire de mettre en place des mécanismes de protection des codes sources
contre tout accès non autorisé en particulier les codes sources de traitement des données
stratégiques et d’implémentation des mécanismes de sécurité.
6. Tests de développement
Les procédures de tests doivent intégrer le test et la validation des fonctionnalités de sécurité
suivantes :
Examen du code personnalisé avant de mettre à la disposition de la production ou de
clients afin d’identifier toute vulnérabilité de cryptage éventuelle
Validation des données d’entrée et sortie;
Validation des mécanismes d’authentification;
Validation des mécanismes de gestion des sessions
Validation des interfaces d’échanges avec d’autres systèmes;
Impacts sur les mécanismes de sécurité déjà en production;
Test de performance et robustesse (test de monté en charge);
La simulation de cas ou de situations complexes ;
La simulation d’attaques
Les jeux d’essais constitués à partir de données de production doivent répondre aux
exigences suivantes :
L’utilisation de toute donnée de production doit être conditionnée par un accord
formel du Responsable fonctionnel ;
Les données privées doivent être rendues anonymes ;
Les données sensibles ou critiques doivent être modifiées afin d’être déclassifiées ;
En cas de maintien de valeurs sensibles, les données ne doivent être accessibles
qu’aux personnes habilitées et doivent faire l’objet d’une surveillance particulière.
Les données de porteurs de cartes actives ne peuvent en aucun cas faire office de
données de tests
7. Tracabilité
La mise en place de la traçabilité applicative doit prendre en compte :
Les conditions qui nécessitent la mise en œuvre de dispositifs de traçabilité ;
Les attributs des enregistrements de journalisation;
La durée et les conditions de conservation des informations journalisées.