Stratégies OWASP pour développer et exploiter des applications sécuritaires - ASIQ - L'ASIQ
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
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
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
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
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
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
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