La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Développement Sécurisé Tour Novembre-Décembre 2005 Eric Mittelette, Eric Vernié Microsoft France – DPE Novembre.

Présentations similaires


Présentation au sujet: "Développement Sécurisé Tour Novembre-Décembre 2005 Eric Mittelette, Eric Vernié Microsoft France – DPE Novembre."— Transcription de la présentation:

1 Développement Sécurisé Tour Novembre-Décembre 2005 Eric Mittelette, Eric Vernié ericmitt@microsoft.com ericv@microsoft.com Microsoft France – DPE Novembre 2005

2 Agenda Partie I : Méthodologie Sécurité et le développement Sécurité et le développement Partie II : Hack et code Top X des problèmes de développement Conclusion

3 Partie I: Sécurité et le développement Stratégie de sécurité Microsoft SD3 - SDL Analyse des risques, outils, méthodologie Stratégie de développement sécurisé Informatique de confiance et SDL (WSI) STRIDE Model et analyse des menaces … Security et ressource humaine… Outils de test et danalyse de code … PAG de sécurité http://msdn.microsoft.com/library/default.asp?url=/library/e n-us/dnpag2/html/SecurityGuidanceIndex.asp http://msdn.microsoft.com/library/default.asp?url=/library/e n-us/dnpag2/html/SecurityGuidanceIndex.asp

4 Les 10 grandes règles de sécurité Qu'un développeur doit connaître pour protéger son code Se méfier des entrées utilisateur Se protéger contre les saturations de tampon Éviter les scripts inter-site N'exigez pas d'autorisations d'administrateur système (sa) Attention au code de cryptage ! Réduisez votre profil d'attaque Utilisez le principe du moindre privilège Faites attention aux modes de défaillance L'emprunt d'identité est fragile Écrivez des applications que les non-administrateurs puissent réellement utiliser

5 Partie II « Top 10 » des questions de sécurité Contrôle des saisies Problèmes liés à la localisation Protéger un secret Utiliser la cryptographie Problèmes de déni de service Contrôler lexécution du code Sécurité et gestion des rôles Propriétés intellectuelle Sécuriser un site WEB Sécuriser un Web Service

6 Toute saisie est source de problème Point fondamental lors de la conception Identifier au plus tôt saisie,règles de saisie Saisie et Buffer overrun dans le code C/C++ Les formes canoniques (piège dans les url) Saisie et base de données (Sql injection) Saisie sur le Web et XSS (cross scripting site) Denis de service et robustesse des codes http://www.microsoft.com/france/technet/securite/secmod94.mspx#EIBAC

7 void UnSafe (const char* uncheckedData) { int anotherLocalVariable; strcpy (localVariable, uncheckedData); } char localVariable[4]; Exemple de débordement de la pile Haut de la pile char[4] int Adresse de retour

8 Débordement de segments de mémoire Remplace les donn é es stock é es dans le segment Plus difficile à exploiter qu'un d é bordement de m é moire tampon Données Pointeur Données Pointeur strcpy xxxxxxx xxxxxxx

9 Problèmes liés à la localisation La localisation peut être une source de faille de sécurité. Notamment en C/C++ et lors de la manipulation des chaines UNICODE MultiByteToWideChar() Outil danalyse statique de code /Analyse et VS2005 (C++) http://www.microsoft.com/france/technet/securite/default.mspx

10 Pause

11 Protéger un secret Identifier les données « secrètes » de lapplication Chaîne de connexion Saisie dun mot de passe SecureString Gestion des mots de passe dans.NET vs natif Utiliser la cryptographie et choisir la bonne approche… Ne pas ré inventer la roue Rester à jour des hack et parades http://www.microsoft.com/france/msdn/securite/secmod39.mspx

12 Utiliser la Cryptographie Différents algorithmes Symétrique – asymétrique Hash Signature, et certificat.NET encapsule certains dentre eux Cas concrets: Comment transmettre un secret à un utilisateur Gérer le mot de passe de lutilisateur http://www.microsoft.com/france/msdn/securite/secmod39.mspx

13 Problème de Déni de service Problème de Déni de service Lattaque vise a mettre a genoux les application serveur Buffer énorme, recherche de faille technique, hack sur les services du serveur… Utilisation abusive du compte sa pour une base de données http://www.microsoft.com/france/technet/securite/secmod97.mspx Menaces et contre mesure : http://www.microsoft.com/france/technet/securite/secmod75.mspx

14 Contrôle de lexécution du code.NET Code Access Security Initiative.NET de contrôle de lexécution dun code Tout code appartient a un groupe de code, un groupe de code va posséder un jeu dautorisation. On peut créer ses jeux de permission Entit é de s é curit é Description Strat é gie Définie par les administrateurs Appliquée au moment de l'exécution Simplifie l'administration Contient des autorisations Contient des groupes de codes Groupe de codes Associe des composants similaires Basé sur les preuves Lié à un ou plusieurs jeux d'autorisations Jeu d'autorisations Est un ensemble d'autorisations accordées http://www.microsoft.com/france/technet/securite/secmod79.mspx

15 Gestion des rôles applicatifs.NET Notion d Identificateur et de Rôles Comparable au mécanisme COM+ Rôle et users peuvent être des comptes/groupes NT ou créé par la logique applicative Couplage « de fait » avec ActiveDirectory… Et/ou Rôles Applicatifs Role Based Security est traité au même niveau que Code Access Security Même mécanisme dinterception/Eception Utilise lObjet : PrincipalPermission Lapplication en cours doit en avoir les droits… Lapplication en cours doit en avoir les droits… Le rôle est porté par la thread dexécution… http://www.microsoft.com/france/technet/securite/secmod80.mspx

16 Protection de la propriété intellectuelle Le code MSIL est lisible, et lon peut y comprendre les algorithmes utilisés Les Obfuscator sont la réponse Attention aux idées reçue sur.NET Dé assemblage et code natif… http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/vsent 7/html/vxoriDesignConsiderationsForDistributedApplications.asp

17 Sécuriser un site WEB Authentification ASP.NET Config.web Windows, Passport, Forms, None En accord avec lAuthentification IIS AnonymeBasic/DigestIntegrated Autorisation (web.config) allowdeny http://www.microsoft.com/france/technet/securite/secmod08.mspx

18 Sécuriser un WebService WS-I WS-* Sécurité indépendante des couches de transports Travail sur les enveloppes SOAP (header) http://www.microsoft.com/france/technet/securite/secmod10.mspx

19 Service Web et la sécurité La sécurité se décline en plusieurs notions Authentification Passer une identité au Service Web Autorisation Donner des droits sur des ressources Confidentialité des données Contrôler les données Intégrité des données Assurer que les données ne soient pas altérées Dénie de Service Bloquer les accès aux Services

20 S é curit é de niveau message Les messages XML transmettent des informations de sécurité Informations d'identification Signatures numériques Les messages peuvent être cryptés Client Transport Service Transport Tout transport XML La sécurité est indépendante du protocole de transport

21 Sécurité au niveau Applicatif Authentification Étendre le modèle de Service Web ASP.NET Utilisation den-têtes SOAP personnalisés Flexibilité dutiliser son propre mécanisme Intégrité et Confidentialité Utilisation des APIs de cryptographie et les standards du Web en terme de signatures et dencryptage Alternative : est lutilisation de SSL combiné avec les entêtes SOAP Quand lutiliser ? Utilisation de schémas de bases de données existant pour la validation dutilisateurs ou de rôles Crypter une partie du message plutôt que la totalité du flux Indépendant du transport

22 WS-* Architecture des Spécifications Transports HTTP, HTTPS, SMTP, TCP… XML XML, XSD, XPath Messaging SOAP, WS-Addressing Security WS-Security WS-Trust WS-Federation Reliability WS-Reliable Messaging Transactions WS-BusinessActivity WS-Coordination WS-AtomicTransaction Metadata WSDL, WS-Policy Livre blanc commun IBM Microsoft: http://msdn.microsoft.com/webServices/default.aspx?pull=/library/en-us/dnwebsrv/html/wsoverview.asp http://msdn.microsoft.com/webServices/default.aspx?pull=/library/en-us/dnwebsrv/html/wsoverview.asp

23 Web Services Architecture Modulaire : Composition den-têtes SOAP Largement adopt é e Toutes nouvelles sp é cifications XML sont é tudi é es par l organisme WS-I L industrie centralise ses efforts sur l interop é rabilit é des outils et des plates-formes autour de Services Web On réutilise, on ne réinvente pas Tous les modules sont indépendants des plates- formes et langages

24 Modulaire : Exemple Sécurité Et Licence Routage <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> http://tickers-r-us.org/getQuote soap://tickers-r-us.org/stocks mailto:johnsmith@isps-r-us.com uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6 <wssec:credentials xmlns:wssec="http://schemas.xmlsoap.org/ws/2001/10/security"> <wslic:binaryLicense xmlns:wslic="http://schemas.xmlsoap.org/ws/2001/10/licenses" wslic:valueType="wslic:x509v3" xsi:type="xsd:base64Binary"> dWJzY3JpYmVyLVBlc…..eFw0wMTEwMTAwMD <tru:StockSymbol xmlns:tru="http://tickers-r-us.org/payloads"> QQQ MessageSOAP

25 Implémentation Microsoft Web Services Enhancements 1.0,2.0 et 3.0 pour Microsoft.NET Nouvelle bibliothèque de classes Microsoft.NET de Services Web (Microsoft.Web.Services)

26 Runtime WSE … Moteur dapplication des protocoles WS-*, à des messages SOAP Fournit un modèle de programmation pour manipuler les entêtes SOAP. Implémentation côté client et serveur Notion de pipelines et de filtres Lecture des entêtes SOAP entrant Écriture dans les entêtes SOAP sortant Transformation du corps SOAP (Cryptage)

27 SOAP Message SoapContext Custom token handlers Custom Policy handlers Runtime WSE

28 Ma boite à outil Les outils CAS cnfg et Caspol… FxCop, /Analyse Test unitaires intégrés dans VS2005 Obfuscator Outil de hacking, pour tester les attaques connues Outil de configuration du WEB (ASP-v2) Et la presse…déric !

29 Conclusion Restons vigilant ! Cycle itératifs sur la sécurité dés la phase de conception jusquà la phase de maintenance… Créer une équipe sécurité, penser à la formation et mise a jour annuelle des développeurs Séquiper doutils de test et de mesures…

30 Ressource Writing Secure Code – M Howard Ouvrage de référence pour les développeurs SDL et publication PAG Guideline pour la securité avec code à lappuis Centre de développements sur MSDN Webcast de ces rencontres Démo, webcast articles, réguliers http://www.microsoft.com/france/msdn/securite/default.mspx

31


Télécharger ppt "Développement Sécurisé Tour Novembre-Décembre 2005 Eric Mittelette, Eric Vernié Microsoft France – DPE Novembre."

Présentations similaires


Annonces Google