Stratégies OWASP pour développer et exploiter des applications sécuritaires - ASIQ - L'ASIQ

La page est créée Myriam Mallet
 
CONTINUER À LIRE
Stratégies OWASP pour développer et exploiter des applications sécuritaires - ASIQ - L'ASIQ
ASIQ                            The OWASP Foundation
16 mars 2016                          www.owasp.org

   Stratégies OWASP pour
  développer et exploiter des
   applications sécuritaires

                     Patrick Leclerc
     Président du chapitre OWASP Ville de Québec
               patrick.leclerc@owasp.org
Stratégies OWASP pour développer et exploiter des applications sécuritaires - ASIQ - L'ASIQ
Patrick Leclerc
                                  22 ans d’expérience
                                     en développement :

                                  • Architecture logicielle et
                                    sécurité

                                   Conseiller en architecture
                                    logicielle désormais dédié à la
                                    sécurité des applications
        Leader du chapitre
          OWASP Ville de Québec

                      Conseiller en sécurité des actifs
                       informationnels à La Capitale

                                                                      2
Stratégies OWASP pour développer et exploiter des applications sécuritaires - ASIQ - L'ASIQ
www.owasp.org
    Mondiale / Non-lucrative / Bénévole / « Open source » / Neutre / Indépendante

Mission : rendre la sécurité applicative visible + vous permettre de prendre des
           décisions informées sur les risques de sécurité des applications

                                                                                    3
Stratégies OWASP pour développer et exploiter des applications sécuritaires - ASIQ - L'ASIQ
OWASP Ville de Québec
Présentations gratuites et orientées principalement pour les gens de développement
  et les étudiants:
  • Comprendre l'usage de la crypto pour les développeurs
  • SSL et les problèmes de validation de certificats dans les applications mobiles
  • Ce que vous devriez savoir sur le « Cloud computing »
  • Cross-Site Scripting (Avez-vous dit XSS?)
  • La sécurité applicative et le cycle de développement
  • Développement d’une application sécurisée : étanchéité par le pipeline Web et
       le cadre d’application

Partenariats avec OWASP Montréal et le HackFest (développeurs et pen-testers)
  • Événements « Capture The Flag » au HackFest (2014, 2015)
  • Conférence sur le Top 10 des défenses Web (2012)

Faire connaitre la mission d’OWASP dans les évènements de sécurité et
  développement
   • ICCE 2014
   • CQSI 2015
   • HackFest (2012-2016)
   • Web à Québec 2016
                                                                                      4
Stratégies OWASP pour développer et exploiter des applications sécuritaires - ASIQ - L'ASIQ
Plan de la présentation

                          5
Stratégies OWASP pour développer et exploiter des applications sécuritaires - ASIQ - L'ASIQ
Qu’est ce que la sécurité
applicative?

                            6
Stratégies OWASP pour développer et exploiter des applications sécuritaires - ASIQ - L'ASIQ
Qu’est ce que la sécurité applicative?
   « OSI Layer 7 » seulement?
   Sécurité applicative*: (Définition selon ISO 27034)

        « La sécurité des applications est un processus effectué pour appliquer des contrôles et des
        mesures aux applications d’une organisation afin de gérer le risque de leur utilisation ».

        « Les contrôles et les mesures peuvent être appliquées à l' application elle-même (ses processus, les
        composants, les logiciels et résultats), à ses données (données de configuration, les données de
        l'utilisateur, les données de l'organisation), et à toutes les technologies, les processus et acteurs
        impliqués dans le cycle de vie de l'application ».

                   La sécurité applicative ne couvre pas uniquement la portion
                    logicielle. Elle couvre également tous les contrôles et mesures
                    impliqués dans le cycle de vie de l’application.

ISO/CEI 27034-1 (2011) Section 6.1
“Application Security is a process performed to apply controls and measurements to an organization’s applications in order to manage
the risk of using them.”
“Controls and measurements can be applied to the application itself (its processes, components, software and results), to its data
(configuration data, user data, organization data), and to all technology, processes and actors involved in the application’s life cycle.”
* Traduit de ISO/CEI 27034-1 (2011) Section 6.1                                                                                          7
Stratégies OWASP pour développer et exploiter des applications sécuritaires - ASIQ - L'ASIQ
Quelques statistiques
sur la sécurité
applicative

                        8
Stratégies OWASP pour développer et exploiter des applications sécuritaires - ASIQ - L'ASIQ
http://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/   9
Stratégies OWASP pour développer et exploiter des applications sécuritaires - ASIQ - L'ASIQ
Quelques statistiques
84% des attaques ciblent la couche applicative
       – Checkmarx 2015

75% des vulnérabilités se retrouvent dans la couche applicative
       – Checkmarx 2015 (Gartner disait la même chose en 2002…)

70% des applications avaient au moins une vulnérabilité classifiée
  dans le top 10 OWASP
       – Veracode 2015

15% des applications Web ont une vulnérabilité critique ou élevé
       – Edgescan report 2015

                                                                     10
Quelques statistiques
Dans certains domaines de l’industrie, les applications Web sont
responsables de 35 % des brèches
       – Verizon DBIR 2015

1 transaction sur 86 des détaillants Web est une tentative de
fraude, une augmentation de 30 % par rapport à 2014
       – ACI Worldwide 2015

5,3 M$ : Coût moyen d’une perte de données au Canada
       – « 2015 Cost of Data Breach Study: Canada », Ponemon Institute

250 $ : coût moyen par enregistrement perdu ou volé
       – « 2015 Cost of Data Breach Study: Canada », Ponemon Institute

                                                                         11
Pourquoi les applications
Web échappent à
la sécurité du
périmètre?

                            12
Le problème avec les applications Web…

             CLIENT                                                                          PRÉSENTATION               TRAITEMENT                 DONNÉES
            (fureteur)                                                                           WEB                     APPLICATIF

                                     Chiffrement SSL/TLS                       Pare-feu     Serveur Web     Pare-feu     Application   Pare-feu      Base de
                                                                                            et framework                                             données

                                              Protège                            Protège     Protège le      Protège     Protège le     Protège      Protège les
                                           le transport                         le réseau    site Web       le réseau    traitement    le réseau      données

https://securityintelligence.com/the-10-most-common-application-attacks-in-action/                                                                                 13
Le problème avec les applications Web…
Couche applicative

                                                                                                                                                Syst. Ress. Humaine
                                                                                                Systèmes mission
                                                                              Base de données

                                                                                                                                                                      Système de Paie
                                                                                                                   Web Services
                                                                                                                                  Répertoires
                                               Code application
                                                   maison
                      Attaque
                     applicative

                                              Serveur Applicatif
                                                 Web Server
Couche réseau

                                              Syst. exploitation

                                                                   Firewall
                                   Firewall

                                                                                                                                                                                        14
Le périmètre de sécurité du passé…
Autrefois:
• Sécurité physique et d’infrastructure autour des applications de missions
  (internes)
• Utilisateurs internes, appareils internes sous le contrôle de
  l’organisation

                     INTERNET – MONDIALISATION
Hier:
• Applications internes déployées sur le Web avec +/- les mêmes mesures
• Applications Web => accessibles de tous : usagers légitimes et pirates
  informatiques
• Plusieurs applications développées par des développeurs qui en
  connaissent peu sur la sécurité

   Perte d’étanchéité du périmètre… par les applications Web
                                                                           15
16
 1
Le nouveau périmètre

                      Librairies / plugins externes – Scripts externes –
                   MOBILES – « BYOD » – CLOUD – INTERNET des OBJETS

   Aujourd’hui :
   • Applications éparpillées sur le Cloud, chez plusieurs fournisseurs
   • Les applications connectées sont partout: mobiles, voitures, « wearable
     computers », domotique, appareils électroniques…

        Où est le périmètre?

             La sécurité applicative devient le
                   nouveau périmètre
OWASP AppSecUSA 2014 - Keynote: Renee Guttmann - CISO Perspectives https://www.youtube.com/watch?v=PUKdP_DSLEY   17
OWASP Top 10 2013
   Risques des applications Web
                Le TOP 10 des vulnérabilités de sécurité des applications Web
                     en fonction du RISQUE (Rouge = Impact sévère)

https://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202013%20-%20French.pdf   18
Comment trouver les
vulnérabilités avant
les pirates?

                       19
- Faire plus de balayages de
vulnérabilités?

- Faire davantage de tests
d’intrusion?

                               20
2 semaines
                          d’hacking éthique

       Lacunes dans
         la logique
          d’affaire

Erreurs de                10 années-personnes
                Lacunes
 sécurité
                dans le   de développement
                code

                                                21
                                                 2
La fenêtre d’opportunité d’un attaquant est
       égale à votre fenêtre de disponibilité

Si de votre côté, vous disposez en moyenne que de
   20 jours-hommes pour détecter et défendre…

                À qui l’avantage?

                                                    22
Quelques mesures en PROD…
       Retirer toutes les applications et services inutiles

       S’assurer des bonnes configurations de sécurité

    •      Vous utilisez encore SSL?                     https://drownattack.com

       Tenir les composantes à jour

    •      Les versions et correctifs de sécurité de vos serveurs, librairies et logiciels

       Tester régulièrement la sécurité de vos sites

    •      Balayage de vulnérabilités ou tests d’intrusion?

       Détecter les attaques

    •      En moyenne, elles sont découvertes plus de 5 mois plus tard!

       Améliorer et corriger rapidement!

                                                                                             23
- Faire des révisions
de code!

                        24
Analyses et révision de code
Outils automatisés pour faciliter la tâche…
 • Analyse statique du code (SAST)
 • Analyse dynamique des requêtes (DAST)
 • Analyse hybride (IAST)

Révision de code manuelle
 pour les composants
 stratégiques

                                              25
Intégrer la sécurité
plus tôt dans le cycle de
développement

                            26
Sécurité dans le cycle de développement
        Observation:

        Les coûts reliés aux
        corrections des risques
        de sécurité augmentent
        de façon exponentiel
        quand les corrections
        sont découvertes
        tardivement dans le cycle
        de développement…

        Évidence:

         Prise en charge des enjeux de sécurité tout au long du cycle de
          développement
                        Approche prôné par OWASP, NIST, Microsoft et plusieurs autres
                        organisations
Source: Official (ISC)2 Guide to the CSSLP                                              27
Phases d’un cycle simplifié…

                               28
L’approche OWASP pour
intégrer la sécurité dans
le cycle de
développement

                            29
Éléments à savoir…
 •   Approche : No « one-size-fits-all »
       •   Adaptation selon les risques de l’organisation
       •   Adaptation selon le processus de développement en
           place
              Les organisations changent lentement
              Changements progressifs et itératifs

 •   Former et sensibiliser avec un contenu adapté aux gens
 •   Objectifs pragmatiques et mesurables
 •   Les améliorations doivent subsister

                                                               30
SAMM (Software Assurance Maturity Model)
          •    Méthodologie aidant à définir l’approche idéale de prise en charge
               de la sécurité applicative en fonction du contexte particulier et des
               risques de l’organisation
                                                            4 domaines
           •   Couvre tout le cycle de vie
               des applications
           •   Modèles de prise de maturité
               par industries
           •   Très logique, très
               pragmatique

https://www.owasp.org/index.php/Category:Software_Assurance_Maturity_Model             31
SAMM – Disciplines de sécurité
          •        3 disciplines par domaines de sécurité, chaque discipline
                   incorpore des activités de sécurité (environ de 5-7 chacune)
          •        Les disciplines couvrent toute la surface de l’assurance sécurité
                   des applications

https://www.owasp.org/index.php/Category:Software_Assurance_Maturity_Model             32
SAMM – Niveaux de maturité
          •        Chaque discipline définit 3 niveaux de maturité établis et
                   la stratégie pour les atteindre.
          •        Un questionnaire aide à établir quel est le niveau de
                   maturité de l’organisation dans chacune des disciplines
          •        3 niveaux de maturité… et 1 d’immaturité…:
                                     Discipline non établie
                                     Compréhension initiale, en mode réactif
                                     Monté en puissance, en mode proactif
                                     Maitrise complète, en mode efficience

https://www.owasp.org/index.php/Category:Software_Assurance_Maturity_Model      33
SAMM – Questionnaire de maturité

https://www.owasp.org/index.php/Category:Software_Assurance_Maturity_Model   34
SAMM – Approche itérative

   Amélioration itérative (phase)
   On définit la stratégie et les
    métriques
    •   Enchainement logique en fonction
        des interrelations
    •   Objectifs mesurables découpés en
        phases
    •   En fonction de la maturité désirée
    •   Modèles de plan de prise en charge
        en fonction du type d’industrie

                                             35
Intégration d’activités de sécurité
                                     Modélisation                     Exigences
 Classification                      des menaces                      de sécurité
des données et
 applications                                                                         Architecture
                                                                                      de sécurité
                        Tests
Guide politiques     d’intrusion
 et conformité      périodiques

                                                     Programme
  Formation                                          assurance
                                                       sécurité
                   Guide sécurité                                                      Revue de
                   opérationnelle                                                     conception
                                                       Rôles et
                                                    responsabilités
                   Gestion des
                   vulnérabilités

                   Durcissement
                   environnement

                                         Tests
                                      d’intrusion                     Vérifications
                                    préproduction                       du code

                                                                                                     36
Quelques facteurs de succès
 •   Appui de la direction du développement et des domaines
     d’affaires

 •   Participation et collaboration de ressources
     compétentes du développement

 •   Former, sensibiliser, former, sensibiliser, former…

 •   Définir les rôles et responsabilités

 •   Communiquer d’où on part et où l’on va

 •   Outiller les ressources en fonction de leurs tâches

 •   Amélioration continue (le paysage de la sécurité change)
                                                                37
Autres outils OWASP

                      38
OWASP Application Security Guide For CISOs
           Guide réalisé pour les CISO (Chief Information Security Officer)
           1.     Critères d'orientation pour les investissements en sécurité
                  applicative
                     •        Conformité, gouvernance, audits, quantification des risques, bénéfices des mesures…

           2.     Critères de gestion des risques de sécurité applicative
                     •        Priorisations des vulnérabilités, menaces et contremesures

           3.     Programme de sécurité applicative
           4.     Métriques de gestion de risques et
                   d’investissement en sécurité applicative

          Guide politiques                 Programme
           et conformité                   assurance
                                             sécurité

https://www.owasp.org/index.php/File:Owasp-ciso-guide.pdf                                                           39
OWASP Application Security Verification Standard
           Exigences
           de sécurité

https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project   40
OWASP Cheat Sheets (Aides mémoire)

      Architecture
      de sécurité

                                                                                  Tests
              Revue de                                                         d’intrusion
             conception

                                               Durcissement    Vérifications
                                               environnement     du code

                                                Modélisation
https://www.owasp.org/index.php/Cheat_Sheets    des menaces                                  41
OWASP Enterprise Security API
             « Framework » JAVA* offrant plusieurs fonctions de sécurité usuelles
                                         ! nouvelle version disponible depuis février 2016 !
                                  *Malheureusement les autres langages manquent un peu d’amour 

        Architecture                                         Custom Enterprise Web Application
        de sécurité

                                                                                                  Enterprise Security API

                                                                                                                                                                                                                                          SecurityConfiguration
                                                                             AccessReferenceMap

                                                                                                                                                     EncryptedProperties

                                                                                                                                                                                        Exception Handling

                                                                                                                                                                                                                      IntrusionDetector
                                                          AccessController
                                  Authenticator

                                                                                                                         HTTPUtilities

                                                                                                                                                                           Randomizer
                                                                                                                                         Encryptor
                                                                                                   Validator

                                                                                                               Encoder

                                                                                                                                                                                                             Logger
                                                   User

                                                  Existing Enterprise Security Services/Libraries

https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API                                                                                                                                                                                            42
OWASP Dependency Check
    Utilitaire permettant d’analyser les applications et les librairies externes et vérifier si
    elles contiennent des vulnérabilités connues dans la base de données du NIST

                           Gestion des
          Java             vulnérabilités

          .NET
          Ruby
          Node.js
          Python
          C/C++

https://www.owasp.org/index.php/OWASP_Dependency_Check                                            43
OWASP AppSensor
                                                          Architecture
                                                          de sécurité
    Technique avancée:
    •     Méthodologie et cadre conceptuel pour intégrer des mécanismes de détection
          d'intrusion et de réponse automatique dans les applications
                                                                         Durcissement
    •     Détection en fonction de la logique de l’application           environnement

    •     Réponses: de l’alertage à la déconnexion (plus d’une douzaine d’actions décrites)

https://www.owasp.org/index.php/OWASP_AppSensor_Project                                       44
OWASP Testing Guide

                                                                              Revue de
                                                                             conception

                                                                        Vérifications
                                                                          du code

                                                                  Tests
                                                               d’intrusion

                                                                                              Tests
                                                                                           d’intrusion
                                                                                          périodiques

https://www.owasp.org/images/5/52/OWASP_Testing_Guide_v4.pdf                                             45
OWASP ZAP
                                                                      Vérifications
                                                                        du code

                                                                    Tests
                                                                 d’intrusion

https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project                        46
OWASP OWTF (Web Testing Framework)
    Environnement pour faciliter et rendre plus
    efficace les tests d’intrusion applicatifs
    •   Orchestre le lancement de plusieurs outils sur
        plusieurs site
    •   Collecte et organise les résultats sous forme
        d’un rapport interactif
                                                Tests
                                             d’intrusion

https://www.owasp.org/index.php/OWASP_OWTF                 47
OWASP Training projects                                                                           Formation

    Plateforme d’apprentissage de sécurité applicative
    •     OWASP Security Shepherd
              •     Applications Web et mobiles
              •     Leçons et « challenges »
              •     17 niveaux (de novice à expert)
              •     Parfait pour les classes et les tournois CTF                                                   Tests
                                                                                                                d’intrusion
    •     OWASP WebGoat
              •     Applications délibérément non sécurisées
              •     Plus de 30 leçons
              •     Leçons et indices
              •     « Challenges » réalistes

https://www.owasp.org/index.php/OWASP_Security_Shepherd   https://www.owasp.org/index.php/Webgoat                             48
OWASP ModSecurity Core Rule Set
    INDICATIONS : Pour le soulagement rapide de certains symptômes de
    vos applications Web affectées par certaines vulnérabilités applicatives.
    Offre une couche de protection supplémentaire pour défendre les
    applications Web.
                                                                                   Durcissement
    POSOLOGIE : Incorporer le « Core Rule Set » à vos pares-feu                    environnement

    « ModSecurity ». Réadministrer sans tarder à chaque mise à jour.
    INGREDIENTS ACTIFS: Ensemble de règles de détection d’attaques pour
    le pare-feu applicatif « open source » et multiplateforme « ModSecurity ».
       MISE EN GARDE : Peut procurer un faux sentiment de sécurité. Ne
    constitue pas un remède à la correction de vos applications.

https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project                   49
1. Le PÉRIMÈTRE de sécurité du
   passé N’EST PLUS ÉTANCHE…
   « La sécurité applicative doit
   définir le nouveau périmètre »

2. Nécessité d’INTÉGRER la
   sécurité applicative le PLUS TÔT
   POSSIBLE dans le cycle de
   développement…

                                    50
Merci!
         patrick.leclerc@owasp.org

             OWASP Québec
https://www.owasp.org/index.php/Quebec_City

                                              51
Q&A
Vous pouvez aussi lire