ASIQ Le développement d applications d affaires sécuritaires: mission possible Québec, 16 novembre 2011 Par: Alain Levesque
Objectifs de la présentation À la fin de la présentation, concernant le développement d applications, vous serez sensibilisés au fait que des démarches: guident vers l atteinte d une maturité organisationnelle permettent l intégration des meilleures pratiques de sécurité de l information dans l élaboration d applications d affaires favorisent l établissement d un plan d amélioration continue en ciblant les aspects les plus pertinents 1
Droits d auteur Certains contenus ainsi que la démarche proposée en dernière partie sont soumis à une licence de distribution ouverte de type Creative Common Share Alike 3.0 stipulant la permission de distribuer en autant que l auteur et le contenu demeure identique. SAMM est une conception de Pravir Chandra (chandra@owasp.org). La démarche peut être obtenue sur le site de www.opensamm.org Les traductions françaises apparaissant dans le texte sont une production libre du présentateur. 2
Table des matières 1. Vulnérabilités des logiciels 2. Un survol de l industrie 3. Modèle de maturité 4. OWASP / SAMM une démarche encadrée 5. L évolution récente des méthodes 3
«An effective software security program does not necessarily require huge budgets or massive structural changes, but it does require a structured approach and a culture shift within your development organization.» Microsoft SDL: Return On Investment January 19, 2011 Vulnérabilités des logiciels. Ça nous concerne? 4
Vulnérabilités des logiciels Il ne se passe pas une semaine sans qu une vulnérabilité, une faille de sécurité ne soit exploitée Les intrusions se produisent malgré les mesures de protection physiques de périmètre en place Les vulnérabilités sont exploitées en empruntant l allure d une requête valide pour un site ciblé Tous les grands de l industrie se trouvent à un moment ou un autre aux prises avec une de ces lacunes dans le comportement d une de leurs applications Les fureteurs commerciaux de même que les applications de collaboration contiennent des failles par lesquelles du code indésirable s exécute ou peut être injecté 5
Vulnérabilités des logiciels (suite) Le développement d applications maison demeurera un domaine d activité important, plusieurs organisations ne trouvant nécessairement pas un confort raisonnable avec les solutions commerciales Même si une solution commerciale venait à être implantée, quel est son niveau de robustesse face aux tentatives intrusions? En résumé, il n y a pas que les logiciels commerciaux qui peuvent contenir des lacunes ou des vulnérabilités introduites par du code inapproprié 6
Vulnérabilités des logiciels (suite) Dans ce contexte, un doute plane sur les applications WEB de l organisation Selon les perspectives de sécurité de l information Pouvons-nous dire si oui ou non les applications d affaires sont robustes? Peut-on compter sur quelques démarches ou références? Peut-on proposer à une organisation, privée ou publique, une façon de s assurer que la robustesse de ses applications est acquise et maintenue ou en voie de le devenir? Les approches proposées permettent-elles aux organisations de se démarquer en tant qu entité Peuvent-elles s attendre à une approche modulable ou si au contraire elles devront suivre un parcours établie au sein duquel elles ne seront nécessairement pas confortables? À terme, peuvent-elles se reconnaître, se comparer? 7
Responsabilités Le cadre juridique, légal et réglementaire fixe certains objectifs précis à observer Protection des renseignements personnels La Loi sur la protection des renseignements personnels et les documents électroniques (LPRPDE) C-6 L.R.Q., chapitre A-2.1, Loi sur l'accès aux documents des organismes publics et sur la protection des renseignements personnels L.R.Q., chapitre P-39.1, Loi sur la protection des renseignements personnels dans le secteur privé Protection des données de la santé (HIPAA) Protection des données fiscales et économiques (C-198 SOX PCI-DSS) Obligation de résultats 8
Moyens Les cadres juridiques ou réglementaires ne proposent pas de moyens Peu ou pratiquement pas de démarche structurée Analystes situent le sujet comme préoccupant Enterprise Security Intelligence (ESI) est situé par Gartner dans l axe émergeant des tendances des TI 9
Application security is not a mature practice for many. The study revealed that a significant percentage of respondents do not employ a coordinated end-to-end approach to application security throughout their development life cycle State of APPLICATION SECURITY, Forester research, january 2011 Un survol de l industrie afin de constater l état des méthodes 10
Norme - ISO ISO 27034 Application security overview and concepts : Mentionne explicitement que 27034 est ni un logiciel, ni un atelier de développement, ni un cadre de gestion normalisé. Sa raison d être est davantage un guide de principes qui doivent être appuyés par des méthodes plus spécifiques à ce domaine d affaires Norme éventuelle prenant appui sur des processus qui concernent la conception, la réalisation, les essais et de l implantation de logiciels Les organisations y adhèreront afin d appuyer leur démarche de développement tendant vers l atteinte d un niveau acceptable en sécurité de l information À ce jour, ISO 27034 est encore au stade de l expérimentation 11
Méthodes un survol Diverses démarches existent: 12
Méthode - CLASP Comprehensive, Lightweight Application Security Process Centré autour des 7 bonnes pratiques de l AppSec Couvre l ensemble du cycle de vie du logiciel (pas seulement le développement) Adaptable à beaucoup de processus de développement Défini les rôles de tout le cycle de développement 24 mini-procédures basées sur les rôles Commence simplement et s aligne sur vos besoins Constat Large ensemble de tâches Pas de priorisation 13
Méthode - SDL Security Development Lifecycle (SDL), crée à l interne pour les logiciels Microsoft Étendue et rendue public pour les partenaires de l industrie Seules quelques solutions commerciales de Microsoft l ont expérimenté Constat approche complexe et fastidieuse utilisable par les grands éditeurs de logiciels 14
Méthode - Touchpoint Le modèle de Gary McGraw s et Cigital s Spécifiquement littéraire, ce modèle est un guide de pratiques reconnues par l industrie Constat haut niveau, pas assez de détails pour l opérationnel 15
Méthode - OpenSAMM Software Assurance Maturity Model (SAMM) un cadre de référence ouvert qui aide les organisations à élaborer les stratégies relatives à la sécurité des applications d affaires permettant à ces dernières de faire face aux risques auxquels elles sont confrontées 16
Méthodes - Sommaire L utilisation d un cadre de développement doit tendre à Contrôler plus efficacement les coûts, efforts, temps quant au développement. Supporter une saine gestion des risques de projets, TI, sécurité. Demeurer centré sur la cible, du besoin d affaires. Répondre aux exigences de gouvernance, du marché, de sécurité, de conformité. Démontrer des gains de productivité, profitabilité, compétitivité, d efficacité => peut-on parler de maturité dans cette perspective 17
Maturity models help people understand that changing people and processes takes time, its never just about purchasing a tool Neil MacDonald, VP & Gartner Fellow, august 2009 Modèle de maturité, au-delà des méthodes 18
Une définition Selon CMMI la définition de maturité dans le domaine des TI est: «La maturité d'une organisation est le degré auquel celle-ci a déployé explicitement et de façon cohérente des processus qui sont documentés, gérés, mesurés, contrôlés et continuellement améliorés» http://fr.wikipedia.org/wiki/capability_maturity_model_integration 19
Raisons d être d un modèle de maturité Les objectifs supportant la sécurité des applications d affaires sont multiples Ils couvrent à la fois des thèmes de gouvernance, de conception, de réalisation, d implantation et de suivi Les préoccupations sont diverses Est-il possible de s organiser sous la perspective de la sécurité de ses applications d affaires en général? Quoi privilégier? Par ou commencer? Vers où aller? 20
The Software Assurance Maturity Model (SAMM) is an open framework to help organizations formulate and implement a strategy for software security that is tailored to the specific risks facing the organization Pravir Chandra, OWASP Projects OWASP-SAMM, une démarche encadrée et adaptable 21
OWASP-SAMM Une démarche: Arrimée aux principaux métiers TI d une organisation faisant du développement Nommés de façon générique mais compréhensible par tout développeur ou gestionnaire 22
OWASP-SAMM Pour chaque fonction métier, 3 axes de pratiques de sécurité sont définis Les pratiques de sécurité considèrent toutes les fonctions de l assurance sécurité des logiciels Chacune vise l amélioration d un volet précis de la sécurité 23
OWASP-SAMM Pour chaque pratique, 3 cibles de maturité précisent en quoi et comment l entreprise est appelée à s améliorer dans le temps Les cibles de maturité d une pratique sont généralement: 0: Point de départ, cible non établie 1: Compréhension initiale, et préparation à la mise en place 2: Monté en puissance et/ou opérationnelle 3: Maitrise complète de la pratique et amélioration continue 24
OWASP-SAMM Quelques exemples de cibles de maturité: Stratégie et métrologie Strategy & Metrics SM1 SM2 SM3 Établir une démarche stratégique unifiée au sein de l organisation Évaluer la valeur relative des actifs applicatifs et identifier les tolérances aux risques Maintenir l adéquation entre les investissements en sécurité et valeurs des actifs Évaluation des menaces Threat Assessment Essais de sécurité Security Testing TA1 TA2 TA3 ST1 ST2 ST3 Identifier et comprendre les vulnérabilités de haut niveau auxquelles font face l entreprise et les projets Accroître la pertinence et l évaluation des menaces par une plus fine granularité au sein des projets Associer étroitement les mesures de compensation appropriées à chaque vulnérabilité soit à l interne ou envers un fournisseur externe Établir les processus qui permettent d effectuer des essais de sécurité qui s appuient sur l usage et les spécifications des applications Effectuer des essais de sécurité plus conséquents et efficaces pendant le développement à l aide d automatismes Exiger les résultats d essais de sécurité avant le déploiement d applications afin d atteindre les seuils exigés 25
OWASP-SAMM Pour chaque cible, SAMM définit: Un objectif Des tâches Des résultats Des mesures Des coûts Des rôles Des niveaux relatifs 26
OWASP-SAMM On commence par le commencement Établir le niveau de maturité actuel pour l entreprise Analyser le niveau de maturité de chaque pratique pour chacun des axes du métier L évaluation de l état de chaque élément de la pratique, à l aide d un questionnaire, permet d établir le constat initial (c.f. Formulaire d évaluation) 27
OWASP-SAMM Processus d évaluation Supporte à la fois des évaluations légères et des évaluations plus complètes Certaines mesures peuvent se retrouver entre deux niveaux (+) 28
OWASP-SAMM Feuille de résultats Analyses détaillées Mesure l atteinte des différentes attentes, plutôt qu une note brute Démonstration de l amélioration Présente les résultats avant et après une itération du programme d assurance sécurité Mesure d évolution Compare les résultats sur des périodes de temps pour un programme déjà en place 29
OWASP-SAMM Feuille de route Planification cohérente Pour rendre les «Briques de base» utilisables, SAMM définit des modèles de feuille de route (Roadmaps) pour certains types d entreprises Éditeur de logiciels (ISV) Fournisseur de service en ligne (OSP) Monde de la finance (FSO) Administrations (GO) Ces types ont été retenus car Ils représentent des cas d usage courant L exposition de chaque entreprise varie en relation avec un type de risque induits par les logiciels Création d'un programme optimal d'assurance adapté 30
OWASP-SAMM Une amélioration par cycles récurrents jusqu à l atteinte des cibles retenues par l entreprise En progressant par jalons successifs jusqu à l atteinte de la maturité cible, chacun représentant les assises du programme d assurance sécurité des applications d affaires (c.f. SAMM Démarche simplifié) La maturité s atteint par l amélioration des résultats propres aux volets des diverses pratiques: 1. L évaluation de l atteinte du seuil fixé comme cible 2. Par itérations dans les pratiques à améliorer selon le programme de maturité des logiciels retenu Les résultats peuvent se comparer avec d autres entreprises œuvrant dans le même domaine 31
OWASP-SAMM 32
OWASP-SAMM 33
OWASP-SAMM 34
L évolution récente des méthodes 35
L évolution récente des méthodes SDL Optimization Model Fait par Microsoft pour simplifier l adoption de SDL 36
L évolution récente des méthodes BSIMM Framework dérivé de la Béta de SAMM Basé sur les données consolidées de 9 grandes organisations 37
Synthèse de SAMM En résumé, la méthode OWASP-SAMM fournit les bases pour: Évaluer les pratiques existantes des organisations en matière de sécurité des applications d affaires Construire un programme d assurance sécurité logiciel équilibré, découpé en étapes clairement définies Démontrer des améliorations apportées par le programme d assurance sécurité Définir les actions à prendre et en mesurer les effets en matière de sécurité au sein de l organisation 38