intégrer la sécurité dans le processus de développement des applications et services en ligne

Page 1

Intégrer la sécurité dans le processus de développement des applications et services en ligne PSDP (Proactive Secure Development Process)

Khaled BEN DRISS (khaled.bendriss@oxia-groupe.com)

Pôle Technologique El Gazala – Tunisie 28 avril 2009


Ingénieur de l'Ecole Centrale de Lyon (ECL’1991) Docteur de l'Université Paris 6 ( P&MC ‘ 1994) Ancien Maître Assistant à l'Ecole Polytechnique de Tunisie Directeur Technique OXIA Khaled BEN DRISS

Consultant Senior : Architecte de Système d'Information www.oxiasoft.com Proactive Secure Development Process

1

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Le groupe OXIA en bref Un leader des Systèmes d’Information et du Nearshore au Maghreb : • • • • •

Date de création : 1998 Forme juridique : Société Anonyme Effectif : 180 personnes (janvier 2009) 60% de l’activité réalisée en dehors de la Tunisie Filiale en Algérie Certification ISO 9001 version 2000 (AFAQ QUAL/2005/25140 )

Software Engineering

Business Solutions

IT Outsourcing

Management Consulting

Proactive Secure Development Process

Tunisie – Parc Elghazela- 28/04/2008

Khaled BEN DRISS

khaled.bendriss@oxia-group.com


Khaled BEN DRISS

Objectifs de la présentation

Proactive Secure Development Process

3

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Proactive Secure Development Process Plan de la présentation Pourquoi introduire la sécurité dans le cycle de vie du logiciel ? Présentation du processus PSDP Les principales activités dans le processus PSDP Vue d’ensemble : Les pratiques de sécurité

Khaled BEN DRISS

conclusion

Proactive Secure Development Process

4

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Khaled BEN DRISS

Question?

Proactive Secure Development Process

5

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Le constat

75% des attaques concernent la couche application (Gartner)

XSS et SQL Injection sont classées #1 et #2 des vulnérabilités dans le top ten OWASP 2007

Les applications Web sont des cibles de valeurs élevées pour les hackers:

La plupart des sites sont vulnérables:

90% des sites sont vulnérables aux attaques d'application (Watchfire)

78% d'applications Web affectées de vulnérabilités facilement exploitables (Symantec)

Vol d’informations sensibles (données clients, Cartes de crédit, vol et usurpation d’identités) , altération de site, insertion de logiciel malveillants, etc.

80% des organisations auront un incident de sécurité d'application d'ici 2010 (Gartner)

Proactive Secure Development Process

6

Exigences de conformité:

Payment Card Industry (PCI) Standards, Sarbanes Oxley, ISO.

Khaled BEN DRISS

Les Applications Web sont la cible #1 des hackers:

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Développer une application web : les objectifs divergents

Fonctionnalité Convivialité

Efficacité

Développement rapide

Objectifs de la sécurité dans les applications Prévention

Traçabilité

Surveillance

Confidentialité

Simplicité

Sécurité multi-niveaux

Faible coût

Authentification

Intégrité

Proactive Secure Development Process

Tunisie – Parc Elghazela- 28/04/2008

Khaled BEN DRISS Architecture d’entreprise – OXIA - 2008 copyright OXIA

Objectifs des projets de développement d’applications

khaled.bendriss@oxia-group.com


Khaled BEN DRISS

Les trois piliers de la sécurité

Proactive Secure Development Process

8

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Les trois piliers de la sécurité : Les personnes

Incluent les acteurs : utilisateurs, les développeurs, les analystes, les gestionnaires, les administrateurs de systèmes.

Appliquent, analysent ou implémentent les mesures de sécurité.

Peuvent contourner ou insérer des failles de sécurité.

L'éducation est la clé

la première et la plus importante étape du processus de construction de systèmes fiables .

il faut comprendre son adversaire

Beaucoup de développeurs comprennent comment fonctionnent les éléments de sécurité, mais ne comprennent pas comment construire des systèmes sécurisés.

Doivent être sensibilisées à leurs responsabilités, à l’importance de la sécurité. Proactive Secure Development Process

Définir des check-list et des standards et les expliquer

Khaled BEN DRISS

Les personnes (acteurs)

9

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Les trois piliers de la sécurité: La technologie

La technologie

Proactive Secure Development Process

Ne suffit pas à elle seule :

La majorité des attaques se produisent au niveau de l’application elle même

10

Tunisie – Parc Elghazela- 28/04/2008

Khaled BEN DRISS

Offre un ensemble d’outils pouvant être mis en place pour compléter, vérifier ou automatiser certaines mesures de sécurité exigées par la Politique de sécurité ou la cible de sécurité de la ressource informationnelle.

khaled.bendriss@oxia-group.com


Les trois piliers de la sécurité: Le processus

La sécurité est principalement un ensemble de processus. • Politique de sécurité; • Analyse de risque et modélisation des menaces; • gestion des identités et des privilèges d’accès; • Conduite des audits; • Définition des plans de contingence;

• Mais, un nombre très limité investit dans une stratégie de sécurité pour le développement ds applications, la conception, et les services de revues de code Proactive Secure Development Process

11

Tunisie – Parc Elghazela- 28/04/2008

Khaled BEN DRISS

Pratiquement toutes les Entreprises utilisent des infrastructures de sécurité (Firewalls, IDS, etc) :

khaled.bendriss@oxia-group.com


Qu'est ce qu'un Processus? Définit Qui fait Quoi, Quand le faire, et Comment atteindre un objectif. Besoin Nouveau

système nouveau ou mise à jour

Khaled BEN DRISS

Ou un changement

Processus d'ingénierie logicielle

Proactive Secure Development Process

12

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Qu'est ce qu'un Processus? Définit Qui fait Quoi, Quand le faire, et Comment atteindre un objectif. Besoin Nouveau

Processus d'ingénierie logicielle

Ou un changement

système nouveau ou mise à jour

Processus de développement traditionnel (UP, XP, 2TUP …):

Analyse

Conception

Proactive Secure Development Process

Implémentation

13

Vérification

Déploiement

Tunisie – Parc Elghazela- 28/04/2008

Maintenance

Khaled BEN DRISS

la sécurité est traitée comme un besoin annexe!

khaled.bendriss@oxia-group.com


Proactive Secure Development Process Plan de la présentation Pourquoi introduire la sécurité dans le cycle de vie du logiciel ? Présentation du processus PSDP Les principales activités dans le processus PSDP Vue d’ensemble : Les pratiques de sécurité

Khaled BEN DRISS

conclusion

Proactive Secure Development Process

14

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


PSDP – Proactive Secure Development Process? Analyse

Conception

Implémentation

Déploiement

Maintenance

• Utilisé avec le cycle de vie développement de logiciel pour inclure la sécurité dans toutes les étapes et les activités de développement

Khaled BEN DRISS

Proactive Secure Development Process (PSDP)

Vérification

Proactive Secure Development Process

15

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Proactive Secure Development Process Plan de la présentation Pourquoi introduire la sécurité dans le cycle de vie du logiciel ? Présentation du processus PSDP Les principales activités dans le processus PSDP Vue d’ensemble : Les pratiques de sécurité

Khaled BEN DRISS

conclusion

Proactive Secure Development Process

16

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Gestion des exigences : Considérer la sécurité dés le début Conception

Implémentation

Constituer l’équipe sécurité du projet (ESP ) qui : Réalise des revues des planning

L’équipe de Développent identifie les besoins en sécurité

Recommandes la stratégie de test

Déploiement

Maintenance

Trouver les Anti-Exigences

Pensez à ce que le logiciel ne devrait pas faire. Cas de détournement : c’est l'inverse d'un cas d'utilisation ( Misuse Case)

Demande les ressources aux management

Anti-Acteur c’est l'inverse de l’acteur : un acteur que le système ne doit pas support, un acteur qui initie l'utilisation abusive du logiciel.

Évalue les jalons fixés pour vérifier la sécurité Proactive Secure Development Process

Vérification

17

Tunisie – Parc Elghazela- 28/04/2008

Khaled BEN DRISS

Analyse

khaled.bendriss@oxia-group.com


Lors de la conception Analyse

Conception

Implémentation

Vérification

Activités : Identifier les composants critiques pour la sécurité (“base de confiance”)

Déploiement

Maintenance

A ce stage toutes les décisions de conception et d’architecture ont été prise :

Identifier les techniques de conception (découpage en couche, moindre privilège, …)

Architecture logicielle

Définir et documenter l’architecture sécurité composants logiciels

Créer un modèle des menaces (voir suite)

Langage(s) de Programmation

Identifier les outils spécifiques de test Définir des critères supplémentaires en fonction de la spécificité du produit (cross-site scripting tests, …) Vérifier l’exhaustivité des réponses par rapport à la checkList sécurité de l’entreprise… Proactive Secure Development Process

18

Tunisie – Parc Elghazela- 28/04/2008

Khaled BEN DRISS

Interfaces

khaled.bendriss@oxia-group.com


Créer un modèle des menaces : Analyse des risques Analyse

Conception

Implémentation

Vérification

Déploiement

Maintenance

Analyser les risques et anticiper : “Correction des défauts de conception, pas les bugs de codage“ Développer un modèle d’architecture. Identifier les menaces et les vulnérabilités possibles. Développer des scénarios d'attaque. Classifier les risques en se basant sur la probabilité et l'impact. Élaborer une stratégie d'atténuation et de contre mesures. Documenter les resultants Proactive Secure Development Process

19

Tunisie – Parc Elghazela- 28/04/2008

menaces

Ressource

CSC 666: Secure Software Engineering Khaled BEN DRISS

Vulnérabilité

khaled.bendriss@oxia-group.com


Importance de l’architecture Conception

Intégrer la sécurité au cœur même de l’architecture globale

Éviter à tout pris de baser la sécurité sur le secret: Proscrire la notion de «securityby-obscurity».

Implémentation

Vérification

Déploiement

Maintenance

Définir l’ensemble des politiques de sécurité sur lequel devra reposer la sécurité.

Ne pas développer des mécanismes de sécurité inutiles.

Proactive Secure Development Process

20

Khaled BEN DRISS

Analyse

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Implémentation Analyse

Conception

Implémentation

Vérification

Déploiement

Maintenance

C’est l’activité de codage : produire un logiciel “fiable” Suivre la documentation de la conception Standards de Codage Modules de sécurité Centralisé Sécuriser les builds et la configuration

Khaled BEN DRISS

utiliser les bonnes pratiques de programmation, adaptées aux risques et failles de sécurité connus • Injection SQL • Buffer overflow • Formatage des chaines de caractères • Cross-Site Scripting (XSS) •… Proactive Secure Development Process

21

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Vérification Analyse

Conception

Implémentation

Ce n’est pas une substitution des activités de sécurité lors du développement

Vérification

Déploiement

Revues de code

Maintenance

Découvrir les problèmes le plutôt dans le cycle de développement

Tentative de pénétration et autres tests de sécurité

Revues de la conception et de l’architecture,

Pour les anciens modules et codes sources (réutilisés dans le projet)

Revue du modèle de menaces à la lumière des nouveaux risques

L'idée est d'injecter des données aléatoires dans les entrées d'un programme. Appliquer la technique de fuzzing

Proactive Secure Development Process

22

Khaled BEN DRISS

En parallèle des tests d’intégration, effectuer des tests de sécurité

Offre une nouvelle opportunité pour focaliser sur la sécurité

Si le programme échoue (par exemple en crashant ou en générant une erreur), alors il y a des défauts à corriger. Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Tests de sécurité : combiner plusieurs approches et méthodes Conception

Deux familles de de test

Implémentation

Vérification

Test Automatisé

Fonctionnel: vérifier les mécanismes de sécurité.

Attaque: vérifier la résistance aux attaques découverts au cours de l'analyse des risques.

Déploiement

Test manuel

Boite blanche (analyse statique du code)

Boite noire (scanners pour application web)

Vulnérabilités Logique

intelligence Humaine (connaitre son adversaire)

Vulnérabilités techniques

Test de non régression

Proactive Secure Development Process

23

Maintenance

Tunisie – Parc Elghazela- 28/04/2008

CSC 666: Secure Software Engineering Khaled BEN DRISS

Analyse

khaled.bendriss@oxia-group.com


SDL – Release Phase Analyse

Conception

Implémentation

Vérification

Déploiement

Maintenance

Exigences relatives à la surveillance et monitoring

Procédures de gestion sécurisée

Khaled BEN DRISS

Procédures de Mise à jour de la sécurité

24 Proactive Secure Development Process

24

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


SDL – Response Phase Analyse

Conception

Implémentation

Types de maintenance

Vérification

Déploiement

Maintenance

Les causes :

Nécessité d'introduire de nouvelles fonctionnalités

Feedback des utilisateurs

Besoin de mise à niveau pour suivre la technologie

incident de sécurité et rapports de vulnérabilité Khaled BEN DRISS

Découverte de vulnérabilité 25 Proactive Secure Development Process

25

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Proactive Secure Development Process Plan de la présentation Pourquoi introduire la sécurité dans le cycle de vie du logiciel ? Présentation du processus PSDP Les principales activités dans le processus PSDP Vue d’ensemble : Les pratiques de sécurité

Khaled BEN DRISS

conclusion

Proactive Secure Development Process

26

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Vue d’ensemble : Les pratiques de sécurité Cas de détournement Analyse de risque

Conception

Implémentation

Vérification

Tests de Sécurité

Déploiement

Tests de Pénétration

Opérations de Sécurité

Maintenance

Khaled BEN DRISS

Analyse

Revus de Code + Analyses Statique

Proactive Secure Development Process

27

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Proactive Secure Development Process Plan de la présentation Pourquoi introduire la sécurité dans le cycle de vie du logiciel ? Présentation du processus PSDP Les principales activités dans le processus PSDP Vue d’ensemble : Les pratiques de sécurité

Khaled BEN DRISS

conclusion

Proactive Secure Development Process

28

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Processus +Education +Responsabilisation = PSDP Secure by Design • Une architecture logicielle fiable et sécurisée, conception et implémentation permettant de protéger les informations traitées et résister aux attaques.

Secure by Default • Être pessimiste, en supposant que des failles de sécurité seront toujours présentent. L’état par défaut devrait promouvoir la sécurité

3 SD +E

• fonctionner avec le minimum nécessaire de privilèges • Installez uniquement les services et les fonctionnalités qui sont nécessaires

Secure in Deployment • Fournir des outils et des guides pour aider les utilisateurs et les administrateurs à utiliser le logiciel en toute sécurité, et à déployer les mises à jour en temps opportun. Khaled BEN DRISS

Education • Former, informer et communiquer en permanence : la sécurité c’est l’affaire de tous Inspiré de Microsoft Proactive Secure Development Process

29

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Khaled BEN DRISS

Biblio + www

Proactive Secure Development Process

Tunisie – Parc Elghazela- 28/04/2008

khaled.bendriss@oxia-group.com


Khaled BEN DRISS Directeur Technique Tel : +216 71 28 27 00 Mob.: +216 25 23 45 30

11 rue Claude Bernard 1002 Le Belvédère Tunis, Tunisia Tél : +216 71 28 27 00 Fax : +216 71 28 27 05

khaled.bendriss@oxia-group.com www.oxia-group.com


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.