=========================================== Réunion OSSIR groupe sécurité Windows Lundi 12 janvier 2004 =========================================== Ordre du jour : 1 - Présentation de la certification CISSP (Christian SIMATOS) 2 - Mise en oeuvre de l'authentification par cartes à puce avec Windows 2003 (Nicolas RUFF / EdelWeb) 3 - Revue des vulnérabilités Microsoft (Nicolas RUFF / EdelWeb) ==================================================== 1 - Présentation de la certification CISSP (Christian SIMATOS) ==================================================== * Qu'est-ce que le CISSP ? CISSP = Certified Information System Security Professional. Certification internationale lancée en 1995 par l'ISC2. L'ISC2 est une association internationale basée à Boston et à Londres, ayant pour but la définition et la maintenance d'un tronc commun de connaissances que doit posséder un professionel de la sécurité des information et la gestion de la certification CISSP. Ils donnent également des formations et gèrent le réseau de formateurs agréés. Plus d'informations sur http://www.isc2.org/ * Pourquoi se certifier ? Le CISSP est encore peu reconnu en France, car la démarche latine (contrôle à posteriori) est inverse de la démarche anglo-saxonne (contrôle à priori). Pour un consultant indépendant, l'intérêt commercial immédiat est une plus grande visibilité internationale permettant d'obtenir des contrats avec des sociétés étrangères implantées en France. Cela permet également d'actualiser ses connaissances, d'élargir son champ de vision à des domaines de la sécurité souvent négligés (ex. sécurité physique), et d'avoir accès à la liste de diffusion des CISSP comprenant plus de 23,000 de par le monde. Pour de grandes entreprises comme HP (qui a certifié plus de 15 personnes en interne en France), il s'agit d'une démarche de qualité interne. Certaines sociétés telles que Philip Morris exigent de leur personnel et de leur prestataires la certification CISSP. Dans ce cas posséder le CISSP n'est pas un avantage, mais ne pas l'avoir est un handicap. * Comment se certifier ? Le programme de certification se compose d'un corpus de base (le CBK - Common Body of Knowledge) et de 10 thèmes relatifs à la sécurité. Il existe des séminaires de préparation à l'examen permettant de balayer le spectre des questions, toutefois ces séminaires ne remplacent pas de vraies formations. Ainsi le séminaire proposé par AuditWare dure 5 jours et coûte 2595 euros ; durant ces 5 jours est abordés le contenu des 10 thèmes plus un examen blanc. Des entreprises comme HP organisent également en interne des séminaires, dans lesquels des intervenants extérieurs sont parfois les bienvenus. L'examen en lui-même dure 6 heures et coûte 495 euros à l'inscription. 3 sessions d'examen sont prévues cette année en France. Il s'agit d'un QCM de 250 questions avec 4 choix. Le contenu de ce QCM est maintenu secret sous NDA. Il n'existe qu'une seule réponse "entièrement juste" par question. L'ISC2 utilise les services d'une sociétée spécialisées pour l'évaluation et la pondération des réponses. L'examen est entièrement en anglais, et risque de le rester car il présente des difficultés de traduction. 2 heures supplémentaires sont accordées aux non-anglophones pour refléter ce handicap, ainsi que le droit à un dictionnaire. Quant aux sujets présentant des particularismes régionaux tels que la législation, ils restent volontairement à un niveau très conceptuel. Le taux de réussite à l'examen est de 70%. Selon un des participants de la réunion, 100% des certifiés déclarent vouloir passer au moins une certification supplémentaire. Après l'obtention de l'examen, la cotisation à l'ISC2 est de 85$ par an. De plus il est nécessaire d'accumuler 120 "points" (= 120 heures de formations agréées) par période de 3 ans pour conserver sa certification. Certain événements "officiels" rapportent des points précalculés par l'ISC2, pour le reste les heures sont enregistrées sur le site de l'ISC2 par le certifié et peuvent faire l'objet d'un audit a posteriori. ++++ La participation aux réunions de l'ISA (Internet Security Alliance) permet ainsi de faire "tourner le compteur". http://www.isalliance.org/ * Quels sont les autres certifications existantes ? La certification CISSP est réservée à des seniors, ayant au moins 3 à 5 ans d'expérience. Toutefois le panorama de la certification est large et adresse tous les besoins : - La certification SSCP (Systems Security Certified Practitioner) de l'ISC2 pour les juniors. - La certification CISA (Certified Information Systems Auditor) de l'ISACA. 1 session par an, 70,000 personnes certifiées, examen traduit en français. - La certification CISM (Certified Information Security Manager) de l'ISACA. - Les certifications constructeur (Microsoft, Cisco, Checkpoint, ...). - Les certifications techniques (GIAC - Global Information Assurance Certification, SANS, ...). - La certification CERT, un peu à part. - Les "formations certifiantes" à la française, telles que celle de FT. On notera toutefois le peu d'ampleur du phénomène en France et le relatif désintérêt de la DCSSI pour le sujet. Q. Combien y a-t-il de personnes certifiées en Europe ? R. En France, une soixantaine. Dans les pays latins non-anglophones (Allemagne, Espagne, Italie, ...), les chiffres ne sont pas connus de l'intervenant mais évidemment plus faibles qu'en Angleterre. La langue reste une barrière non négligeable. Q. Quelle est la légitimité de l'ISC2 ? R. L'ISC2 s'est doté d'une charte d'éthique et maintient le CBK à jour. L'acceptation de la validité de ce corpus, qui est la référence pour l'examen de certification, par l'ensemble de la profession assure une reconnaissance internationale à l'ISC2. De plus, la réputation de la certification est renforcée par son ancienneté (bientôt 10 ans) et le corpus des certifiés. L'ISC2 est une association qui ne peut se prévaloir d'aucune légitimité particulière dans le domaine de la sécurité. ==================================================== 2 - Mise en oeuvre de l'authentification par cartes à puce avec Windows 2003 (Nicolas RUFF / EdelWeb) ==================================================== A partir de Windows 2000, tous les systèmes Windows supportent nativement l'authentification par carte à puce. Cette authentification est dite "forte" car elle vise à combler les lacunes bien connues de l'authentification par mot de passe, à savoir : - Les mots de passe sont faibles car choisis par les utilisateurs (=> attaque par dictionnaire ou par force brute). - Les systèmes de sécurité sont 100% logiciels donc cassables (=> vol de la base SAM, utilisation d'un keylogger). - Les utilisateurs sont victimes d'une multiplication des mots de passe. - Les algorithmes de chiffrement implémentés (LM, NTLM) ne sont pas évolutifs. A contrario, l'authentification par carte à puce présente les avantages suivants : - Sauf "trappe" cryptographique, toutes les clés générées sont aussi fortes. - L'authentification est dite "à deux facteurs" (possession d'une carte + connaissance du code PIN). - Le certificat devient l'identité unique de l'utilisateur. - La longueur des clés et les protocoles (RSA, DSA, etc.) évoluent avec l'état de l'art. La mise en place d'un système d'authentification forte avec Windows est triviale lorsque seuls des composants Microsoft interviennent : - Utilisation de la PKI Certificate Server pour générer les biclés utilisateur. - Publication des certificats dans Active Directory et/ou IIS. - Utilisation des certificats pour l'authentification Windows, la signature S/MIME dans Exchange, etc. - Authentification Kerberos 5 sur les serveurs applicatifs Windows du domaine, y compris les serveurs Intranet sous IIS. On notera toutefois que des implémentations "non Microsoft" sont possibles, grâce au respect des standards du marché (X509v3 et PKCS). Ainsi : - Il est possible d'utiliser une autorité de certification racine non Microsoft (de type OpenSSL), bien que ceci soit clairement non supporté par Microsoft. - Il est possible de générer des certificats d'ouverture de session Windows avec OpenSSL, sous réserve de respecter les champs imposés par Microsoft - en particulier le champ "Alternate Subject Name" doit contenir le "Principal Name" (nom de login Windows) au format Unicode. Le CERN a réalisé un excellent document sur la mise en oeuvre d'une solution de ce type, disponible à l'adresse suivante : http://it-div-is-techmeet.web.cern.ch/it-div-is-techmeet/TechMeeting/2003-03-10/SingleSignOn.pdf A noter que Windows ne tient absoluement pas compte du DN du certificat, en effet celui-ci reflète l'appartenance de l'utilisateur à une UO et peut donc changer. Le certificat reste quant à lui valide tant que l'utilisateur ne change pas de "Principal Name" (login + domaine Windows). Quelques remarques en vrac : - Le support des certificats dans le protocole Kerberos 5 est une extension encore non normalisée appellée PKINIT. - Les certificats utilisateur peuvent être utilisés de manière transparente par toute application Windows grâce à la couche d'abstraction "CryptoAPI". En terme de sécurité d'implémentation, il est bon de connaitre les points suivants : - L'utilisation de la carte à puce peut être autorisée ou forcée utilisateur par utilisateur. * Si l'utilisation de la carte à puce est marquée comme "autorisée", l'utilisateur peut ouvrir ou déverrouiller sa session par mot de passe ou par carte à puce. Si sa session a été ouverte par carte à puce, il lui est possible de la déverrouiller par mot de passe et réciproquement. * Si l'utilisation de la carte à puce est marquée comme "obligatoire", les systèmes Windows 2000 et ultérieurs du domaine refuseront l'accès à une ressource par mot de passe. Toutefois les serveurs applicatifs ne supportant pas l'authentification par carte à puce continueront à accepter un mot de passe. CHAQUE UTILISATEUR CONTINUE DONC A POSSEDER UN MOT DE PASSE. - Il est possible de générer plusieurs certificats d'ouverture de session pour un utilisateur donné, et de les enregistrer dans plusieurs cartes. Quel que soit le certificat utilisé pour l'ouverture de session, il sera toujours possible de déverrouiller la session d'un utilisateur avec n'importe lequel de ces certificats. Les comptes possédant un certificat d'agent d'inscription (capables de générer des certificats pour n'importe quel utilisateur du domaine) sont donc extrêmement sensibles, car ils peuvent espionner tout utilisateur du domaine. - Lorsque les clés privées ne sont pas marquées comme bénéficiant d'une protection forte, un cheval de Troie peut utiliser la clé privée stockée dans la carte de l'utilisateur tant que celle-ci est physiquement connectée au poste. Si la protection forte est activée, le code PIN est demandé à chaque accès à la carte ce qui peut devenir rapidement fastidieux ! Remarques des participants : - L'ouverture de session par carte à puce est impossible pour les comptes locaux ou les postes en WORKGROUP. - L'authentification 802.1x en environnement hétérogène avec des clients Windows, des certificats sur carte à puce, et un serveur d'authentification FreeRADIUS est possible. - Les accords de NDA demandés par GemPlus ou Schlumberger pour obtenir accès aux kits de développement ou aux informations concernant les cartes à puce sont extrêmement contraignants. ==================================================== 3 - Revue mensuelle des vulnérabilités Microsoft (Nicolas RUFF / EdelWeb) ==================================================== Les vulnérabilités les plus récentes des environnements Microsoft sont passées en revue. Il est rappellé aux participants que le CA de l'association se tiendra le 13 janvier 2004 à l'ENS Cachan. La prochaine réunion du groupe se tiendra le 9 février 2004. Le groupe est ouvert à toute proposition d'intervention et/ou d'hébergement. La question de l'avenir de la base OSWIN sera débattue lors de la prochaine réunion.