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

Slides:



Advertisements
Présentations similaires
3/25/ :58 AM Développement de Services Web sécurisés et interopérables avec WS-* et WSE 2.0 SP3 Philippe Beraud Consultant Principal Microsoft France.
Advertisements

Pierre Lagarde Relation technique développeur Grégory Renard [Rédo] Responsable Développement Wygwam.
Les Web Services Schéma Directeur des Espaces numériques de Travail
Protection du réseau périphérique avec ISA 2004
Botnet, défense en profondeur
Modélisation des menaces
La plateforme.NET 2.0 vue par le développeur Pascal Belaud Microsoft France SAGA.NET
ASP.NET 2.0 et la sécurité Nicolas CLERC
Agenda de la journée 10h00 : La place dASP.NET dans la plate-forme Microsoft 10h30 : Développement rapide dapplications Web en ASP.NET 12h00 : Construire.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Xavier Blanc Web Services Xavier Blanc
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Connecter des données métier à Office SharePoint Server 2007 via le Business Data Catalog.
Une solution personnalisable et extensible
Stéphanie CLAPIÉ Antoine RENARD
Conception de la sécurité pour un réseau Microsoft
Guillaume CACHO Pierre-Louis BROUCHUD
ISP/ASP ISP ASP Conclusion DESS Réseaux 2000/2001
L’architecture .net et ASP.net
Vue d'ensemble Implémentation de la sécurité IPSec
Les Web Services.
TP 3-4 BD21.
Les Web Services avec .Net
1 Modèles de lEconomie Numérique Michel de Rougemont University Paris II.
Sécurité Informatique
MODEX WEB BAPTISTE DESPREZ Un peu de sécurité. Avant dentrer dans le vif du sujet JavaScript Langage de script (comme PHP) Exécuté par votre navigateur.
Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.
Etude des Technologies du Web services
SECURITE DU SYSTEME D’INFORMATION (SSI)
XML-Family Web Services Description Language W.S.D.L.
Un regard sur les bonnes pratiques d'implémentation Eric Mittelette Eric Vernié Microsoft France - DPE.
Amélioration de la sécurité des données à l'aide de SQL Server 2005
ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET.
Développement Rapide dApplications Web avec.NET « Mon premier site »
Bonnes pratiques et top Issues Ce quapporte Vista Démos!
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
.Net Remoting.
Jeudi, 20 août 2009 Sécurité informatique Cégep de St-Hyacinthe Par Hugo St-Louis.
WINDOWS Les Versions Serveurs
Virtual Private Network
Microsoft .NET.
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
MODEX WEB BAPTISTE DESPREZ Un peu de sécurité. Avant dentrer dans le vif du sujet JavaScript Langage de script (comme PHP) Exécuté par votre navigateur.
Java Authentication And Authorization Service API
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
S ÉCURITÉ I NFORMATIQUE Asp.net. P LAN Sécurité sur Internet Sécurité avec ASP.net Gestion des comptes et droits d’accès Utilisation des contrôles de.
Agenda de la journée 10h00 : La place d’ASP.NET dans la plate-forme Microsoft 10h30 : Développement rapide d’applications Web en ASP.NET 12h00 : Construire.
SDL en une slide Modélisation des menaces Démo…interactive!
Windows Sharepoint Services “v3“ (1/6) Les nouveautés Stéphane Crozatier Relation Technique Editeurs de Logiciels DPE - Microsoft France
CENTRALISATION DES CANDIDATS LOCATAIRES
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Le protocole d’authentification
Sécurité et confidentialité dans Microsoft Internet Explorer William Keener Développement de contenu Global Service Automation Microsoft Corporation.
Cours de programmation web
Erreurs commises couramment dans le domaine de la sécurité 1.Sensibilisation aux questions de sécurité 2.Suivi des incidents 3.Gestion déficiente des.
Introduction à la plateforme .NET
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
Module 3 : Création d'un domaine Windows 2000
1 Visual Studio 2005 Tools For Office: Présentation et Démonstrations.
L’enseignement de spécialité SLAM
Web Services 17/01/2009.
Sécurité des systèmes d’information: Web Security & Honeypots
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
SIRVIN Alexis RIVIERE Mathieu VERRIERE Arthur
Sécurité des Web Services
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Par Michael Tran Injection. Présentation du problème C’est faire en sorte que l’entrée utilisateur de l’attaquant est considérée de façon spéciale Permet.
Transcription de la présentation:

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

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

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é n-us/dnpag2/html/SecurityGuidanceIndex.asp n-us/dnpag2/html/SecurityGuidanceIndex.asp

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

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

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

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

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

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++)

Pause

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

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

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 Menaces et contre mesure :

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

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…

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… 7/html/vxoriDesignConsiderationsForDistributedApplications.asp

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

Sécuriser un WebService WS-I WS-* Sécurité indépendante des couches de transports Travail sur les enveloppes SOAP (header)

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

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

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

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:

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

Modulaire : Exemple Sécurité Et Licence Routage <S:Envelope xmlns:S=" xmlns:xsd=" xmlns:xsi=" soap://tickers-r-us.org/stocks uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6 <wssec:credentials xmlns:wssec=" <wslic:binaryLicense xmlns:wslic=" wslic:valueType="wslic:x509v3" xsi:type="xsd:base64Binary"> dWJzY3JpYmVyLVBlc…..eFw0wMTEwMTAwMD <tru:StockSymbol xmlns:tru=" QQQ MessageSOAP

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)

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)

SOAP Message SoapContext Custom token handlers Custom Policy handlers Runtime WSE

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 !

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…

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