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

Cyril Voisin Chef de programme Sécurité Microsoft France

Présentations similaires


Présentation au sujet: "Cyril Voisin Chef de programme Sécurité Microsoft France"— Transcription de la présentation:

1 Cyril Voisin Chef de programme Sécurité Microsoft France
Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France

2 Contenu de la session Un aperçu de la sécurité de bout en bout
Authentification, Autorisation, Audit, Chiffrement Produits - Windows Server 2003, ISA Server 2003, ASP.NET, .NET Framework, SQL Server 2000 Cette sessions ne traite pas de Programmation .NET Programmation ASP.NET Conception de site Web Pratiques de codage sécurisé

3 Sommaire Évolution des menaces Risques & Moyens d’atténuation
.NET Framework Windows Server 2003 ISA Server L’exemple OpenHack IV Résumé

4 Nous vivons une période de choc frontal
Généralisation de l’usage Augmentation des menaces Défi de la gestion des systèmes Augmentation des transactions en ligne Installations par défaut insuffisamment sécurisées Augmentation de la responsabilité juridique et de la transparence

5 Evolution des menaces Internet Internet (IP) Mobilité E-mail
Web Paradigme « accessible par défaut » Mobilité Messagerie instantanée Réseaux sans fil

6 Le défi de la sécurité Vous permettre de fournir des services…
Les sociétés qui utilisent Internet font face au défi qui consiste à s’assurer que leur système d’information est sécurisé tout en assurant un accès rapide et facile aux informations Le bon accès au bon contenu par les bonnes personnes Vous permettre de fournir des services… Accès Web, , accès fichiers, messagerie,… tout en protégeant vos actifs Données financières, cycles CPU, ressources réseau, propriété intellectuelle, informations client, espace disque,…

7 L’avantage de l’attaquant et le dilemme du défenseur
Principe n°1 Le défenseur doit défendre tous les points; l’attaquant peut choisir le point le plus faible Principe n°2 Le défenseur ne peut défendre que ce qu’il connaît; l’attaquant peut rechercher des points vulnérables Principe n°3 Le défenseur se doit d’être vigilant en permanence; l’attaquant peut attaquer quand il le veut Principe n°4 Le défenseur doit respecter les règles; l’attaquant peut faire ce qu’il veut

8 Cyber-criminalité Étude réalisée par le Computer Security Institute et le FBI (2002 Computer Crime and Security Survey)

9 La menace est-elle réelle ?
Croissance des activités hostiles Et la progression continue… Informations issues du site

10 Données supplémentaires
D’après le CERT (centre de coordination de l’université de Carnegie Mellon autour de la sécurité), la non installation des patches de sécurité est la cause de pratiquement 99 % des pénétrations de système (2001, 95% en 2002) Il faut faire attention à son propre code : toujours d’après le CERT, 25 % des CERT advisories sont liés à des problèmes de buffer overflows

11 Pas simplement des technos…

12 Les 3 facettes de la sécurité
Technologies Windows 2000/XP/2003 Active Directory Service Packs Correctifs IPSEC Kerberos PKI DFS EFS SSL/TLS Clusters Détection d’intrusion SMS MOM ISA Antivirus GPO RMS Archivage Politique d’accès Installation Réparation Gestion des événements Gestion des perfs Gestion du Changement / de la Configuration Processus Restauration Sauvegarde Réponse à Incident Microsoft Operations Framework Evaluation de risques Protection Détection Défense Récupération Gestion Architecture sécurisée Personnes Admin. de l’Entreprise Admin. Du Domaine Service/ Support Développeur Utilisateur

13 Architecture applicative
6 2 3 4 1 5 7 4 Application 5 Base de données Pare-feu 6 Annuaire d’utilisateurs 1 Clients 3 Frontal Web 7 Gestion de systèmes

14 Risques Spoofing Tampering Repudiation Information Disclosure
Un utilisateur non autorisé se fait passer pour un utilisateur valide Tampering Un attaquant change ou détruit des données de manière illicite Repudiation Possibilité pour un utilisateur de nier avoir effectué une action Information Disclosure Fourniture de données à des utilisateurs non autorisés Denial of Service Rendre indisponible le système aux utilisateurs valides Elevation of Privilege Un attaquant obtient de manière illicite un niveau d’accès plus élevé

15 Méthodologie d’attaque
Reconnaissance Recherche de vulnérabilités existantes Identification des faiblesses applicatives Exploitation Téléchargement d’outils Exécutions d’actions interdites Maquillage des traces

16 Méthodologies d’attaque
5 4 3 1 2 6 7 5 Défiguration 4 Élévation de Privilèges 1 Scan de ports 7 Effacement des audits 6 Vol de données Spoofing de paquet 3 Attaque dictionnaire

17 Diminution des risques
Spoofing Authentification forte Tampering Autorisation pour éviter les modifications illicites de données Repudiation Événements d’audit pour les opérations autorisées et non autorisées Information Disclosure Sécurisation des données sensibles pendant le transit et durant le stockage Denial of Service Maîtrise de la bande passante pour interdire les requêtes malicieuses Elevation of Privilege Exécution des services avec les moindres privilèges

18 Stratégie de sécurité en profondeur
Supposer l’échec des couches précédentes Défenses du périmètre Défenses réseau Défenses hôtes Défenses application Données & ressources

19 Stratégie de sécurité en profondeur
5 4 3 1 2 6 7 1 Réseau sécurisé 6 Chiffrement de données 5 Autorisations sur ressources et code 4 Autorisations basées sur les rôles 2 Limitation de la bande passante 3 Authentification 7 Audit

20 Réseau sécurisé SSL/TLS IPSec 802.1x Port Access Protocol
Sécurise les couches applicatives (HTTP, LDAP) IPSec Trafic chiffré, signé & authentifié Filtrage au niveau de l’hôte 802.1x Port Access Protocol Connexions réseau authentifiées Authentification via RADIUS Authentifie les utilisateurs distants VPN utilisant L2TP/IPSec

21 Sécurisation du périmètre
ISA Server Filtrage de ports Filtrage de paquets Inspection de paquets Détection d’intrusion Authentification de session Publication d’applications (Web, , FTP)

22 Flux de trafic ISA Deny All Allow Port 80 Request port 80
Accept port 80 Send data Send response Create port rules Packet Filtering Packet Inspection

23 Inspection de paquets Filtre les requêtes entrantes d’après un ensemble de règles Assure que seules les requêtes valides sont traitées La plupart des attaques font intervenir des requêtes formées de manière inhabituelles Extrêmement longues Demandant une action non habituelle Codées en utilisant un jeu de caractères alternatif Exemples simplifiés : (Rappel : %2e = . %2f = /) URL>?../../<cmd> C:\inetpub\wwwroot\index.html

24 Filtres ISA Server Exchange SOAP/XML Inspecte les messages MAPI RPC
Rejette les requêtes mal formées Gère la pré-authentification SOAP/XML Limite la taille des requêtes Rejet si le message SOAP est trop long Valide l’intégrité des requêtes SOAP/XML Peut-on la parser ? Sa structure est-elle valide ? Autorisation au niveau des méthodes Web

25 Authentification Windows
Kerberos Permet la délégation Associe des credentials à des principals NTLM – pour la compatibilité avec l’existant RADIUS – utilisateurs distants Active Directory Annuaire LDAP Stockage sécurisé de credentials Associe des credentials à un security principal X.509 PKI – support des cartes à puce & des certificats

26 Authentification ASP.Net
Authentification Windows (via IIS) Standards d’authentification HTTP (RFC 2617) Basic Digest Authentification Windows intégrée NTLM Kerberos SSL/TLS avec des certifications X.509 clients Authentification personnalisée ASP.NET supporte la sécurité au niveau applicatif Modèle de programmation unifié pour toutes les formes d’authentification Passport

27 Authentification .NET Framework
Principals Generic: utilisateurs et rôles non authentifiés Windows: utilisateurs / comptes Windows Custom: principals définis par l’application Classe PrincipalPermission Effectue les vérifications vis-à-vis du principal actif Authentification et autorisation

28 Flux d’authentification
2 Demande un Ticket de session 2 4 Delègue l’accès 4 3 Impersonifie l’utilisateur 3 1 Demande le TGT 1 1

29 Autorisation Autorisation système Autorisation .NET Framework
Permissions sur les ressources (ACL sur fichiers, imprimantes, …) ACL ASP.NET sur des chemins d’URL Autorisation .NET Framework Code Security Rôles & Permissions Autorisation au niveau de l’application Permissions basées sur les rôles

30 Sécurité .NET Framework
Code access security Protection contre le code malicieux Application Domains et assemblies Policies et Evidence Les hôtes comprennent les : Shell, Browser, Server Le modèle de sécurité est basé sur les permissions Sécurité basé sur les rôles Principals Autorisation de l’utilisateur

31 Code Access Security Le code fournit des preuves au runtime (hash, strong name, publisher, url etc.) Demandes de permissions déclaratives Attribut Security au niveau de l’assembly, la classe ou du membre Imports Namespace=System.Security.Permissions FileIOPermissionAttribute( SecurityAction.Demand) Requête impérative de permissions Code explicite évalué à l’exécution Imports Namespace=System.Security.Permissions Dim FileIOPermission myPerm =_ new FileIOPermission(...) myPerm.Demand()

32 Permissions & Policies
Code d’accès aux zones restreintes Objets de contrôle des restrictions sur le managed code Security policy Règles, que le runtime doit suivre pour vérifier des permissions

33 Accès basé sur les rôles
Principals Generic: utilisateurs et rôles non authentifiés Windows: utilisateurs / comptes Windows Custom: principals définis par l’application Classe PrincipalPermission Effectue les vérifications vis-à-vis du principal actif Authentification et autorisation

34 Autorisation niveau application
Frontal Web Services Application LOB Application E-Commerce URL Authorization Windows Authorization API Windows Authorization API Windows Authorization API Authorization Administration Manager Policy Store (XML or Active Directory) Common Roles Management UI

35 Séquence d’autorisation
2 2 Rôles assignés 1 Authentifie 1 4 4 Accès autorisé 3 3 Politique évaluée

36 Securisation des données
Transmission sécurisée de données SSL/TLS IPSec Stockage sécurisé de données EFS (Encrypting File System) de Windows Data Protection API (DPAPI) .NET Framework Isolated Storage .NET Cryptography

37 .NET Framework Cryptography
Conception orientée Stream Algorithmes symétriques Une opération pour une entrée de données périodique Fonctionne avec une seule clé secrète Exemple : chiffrement de message Algorithmes asymétriques Tampon fixe Paire de clé Publique/Privée Exemple : signatures numériques Cryptographic Service Provider (CSP)

38 .NET Cryptography Hashing Génération de nombre aléatoire
MD5, SHA1 Génération de nombre aléatoire Algorithmes symétriques RC2, DES, TripleDES, AES Algorithmes asymétriques DSA, algorithmes RSA à clé publique

39 Audit & Gestion Événements d’audit intégrés dans Windows
Accès programmatique simple Windows Management Instrumentation .NET Framework namespace for WMI Microsoft Operations Manager Consolide les journaux d’événements Exécute des règles distribuées Base de connaissance Génère des alertes vers les consoles centrales

40 OpenHack IV Description rapide de la configuration mise en œuvre par Microsoft pour remporter le dernier concours OpenHack

41 Composants mis en jeu Application Web IIS 5.0
Windows 2000 Advanced Server Stratégies IPSec Gestion et surveillance à distance SQL Server 2000 Mots de passe Remarque: aucun pare-feu utilisé!

42 Architecture routeur Administrateur IIS SQL Server RRAS
Terminal Services

43 OpenHack - SQL Server Interaction avec la base de données uniquement via des procédures stockées Typage fort des paramètres. Ceux-ci sont vérifiés avant tout autre chose Toutes les données qui seront renvoyées à l’utilisateur sont encodées en HTML (but : éviter une attaque de cross site scripting)

44 OpenHack - SQL Server Chaîne de connexion
Non codée en dur dans l’application !! Utilisation de l’authentification intégrée Windows La chaîne ne contient alors que le nom du serveur et celui de la base de données Chiffrée en utilisant les fonctions de l’API de protection de données (DPAPI) CryptProtectData et CryptUnprotectData Intérêt : chiffre des secrets sans avoir à gérer ou stocker des clés Stockée dans le registre Permission sur cette clé accordée Aux administrateurs Au processus ASPNET

45 OpenHack – SQL Server Réduction de la surface d’attaque
Logiciels installés Authentification Compte de service Protocoles de communication Permissions de l’application

46 OpenHack – SQL Server Logiciels
Service pack 2 + les derniers correctifs de sécurité (Remarque : à l’époque le SP3 n’était pas disponible) Non installés Outils de mise à jour (Upgrade tools) Symboles de débogage Support de la réplication Documentation en ligne Outils de développement Désactivés Msdtc Agent SQL Server Microsoft search

47 OpenHack – SQL Server Modification de la stratégie de sécurité locale pour n’autoriser que NTLMv2 Configuration en mode intégré Windows seulement Pas besoin de stocker un identifiant et son mot de passe sur le serveur Web (y compris SA) Mise en place d’un mot de passe SA très très complexe Au cas où quelqu’un changerait “par erreur” le mode d’authentification Mise en place de l’audit des “Echecs” Preuves des tentatives d’attaques Mode paranoïaque : activer les “Succès” aussi au cas où le pirate ait deviné le mot de passe…

48 OpenHack – SQL Server Compte de service Par défaut : LocalSystem
Bien trop permissif ! Création d’un compte local non privilégié pour le service SQL Mot de passe fort Que l’utilisateur ne peut pas changer Aucun accès à Terminal Server Si l’accès au réseau avait été nécessaire, il aurait alors fallu utiliser un compte non privilégié du domaine

49 OpenHack – SQL Server Protocoles de communication
Dans l’utilitaire réseau serveur (server network utility) : cacher SQL Server des broadcasts de clients Enlever le protocole canaux nommés (on a besoin uniquement de TCP/IP) Suppression des bases exemples (Northwind, Pubs) Création de la base de l’application Accorder au compte de l’application les permissions sur les procédures stockées plutôt que sur les tables elles-même Interdire l’exécution de requêtes ad hoc S’assurer que ce compte n’a pas de permissions ailleurs dans SQL Server

50 OpenHack – SQL Server Stratégies IPSec Traffic
Serveur Web  SQL Server Serveur d’administration  SQL Server (carte réseau privé) SQL Server  partages de fichier du serveur d’administration Protection Certificats numériques Forcer l’authentification de toutes les machines Chiffrement et signature (confidentialité et intégrité)

51 OpenHack – SQL Server Propriétés des stratégies IPSec
Par défaut, bloquer tout le traffic IP et ICMP Serveur Web  SQL Server “Authentifier et signer” : IPSec AH Serveur d’admin  SQL Server “Authentifier, signer, chiffrer” : IPSec ESP+AH

52 Stratégie IPsec routeur Permit 443 Administrateur L2TP+IPsec IIS
SQL Server SHA1/3DES 445, 3389 SHA1 2443 RRAS Terminal Services Permit 445, 3389

53 Une Solution de bout en bout
Offre une solution complète sécurisée à tous les niveaux Déploiement aisé pour toutes les audiences Utilisateurs finaux Administrateurs Développeurs Basée sur les standards de l’industrie pour promouvoir l’interopérabilité Kerberos, X.509 XML/SOAP, WS-Security, SAML

54 Références ISA Server www.microsoft.com/isa
Windows Server .NET Framework Design, Deployment & Management Microsoft Operations Manager OpenHack

55 Présentations Microsoft
9H15 à 10H15 Défense en profondeur 10H30 à 11H30 Gestion des correctifs de sécurité 11H30 à 12H30 Sécurité des réseaux Wi-Fi 13H30 à 14H30 NGSCB (ex-Palladium) 14H45 à 15H45 Gestion de droits numériques en entreprise (RMS) 15H45 à 16H45 Présentations sécurité :


Télécharger ppt "Cyril Voisin Chef de programme Sécurité Microsoft France"

Présentations similaires


Annonces Google