1 / 40

Windows XP SP2

Windows XP SP2 . Point de vue du développeur. Gilles Guimard ( gillesg@microsoft.com ) Jean Gautier ( jeanga@microsoft.com ). Agenda. Protection Réseau Le Pare-feu de Windows XP DCOM Connections RPC Protection NX Outils de développement Sécurité du courrier électronique

barb
Download Presentation

Windows XP SP2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows XP SP2 Point de vue du développeur Gilles Guimard (gillesg@microsoft.com) Jean Gautier (jeanga@microsoft.com )

  2. Agenda • Protection Réseau • Le Pare-feu de Windows XP • DCOM • Connections RPC • Protection NX • Outils de développement • Sécurité du courrier électronique • Sécurité Internet Explorer

  3. Pourquoi ce SP2? • Plusieurs attaques virales du passé auraient été atténuées si un pare-feu avait été actif • La surface d’attaque de Windows XP pouvait être largement réduite • Simplifier l’administration d’éléments clés de la sécurité

  4. Nouveautés du Pare-feu • Activé par défaut • Sécurité dès le démarrage • IPV4 et IPV6 sont supportés • Multi profils: Domaine/Standard • Configurable via • Netsh • Stratégies de groupe • Modèle objet NetFW • Fichier INF lors du déploiement

  5. Parefeu Windows Un aperçu rapide

  6. Que se passe t’il lorsqu’une application tente d’ouvrir un port réseau?

  7. Configuration du Pare-feu avec netsh Quelques commandes simples: • firewall show config • firewall add portopening TCP 80 MyWebPort • firewall delete portopening TCP 80 • firewall add allowedprogram program=c:\windows\system32\notepad.exe name=TheNotepad mode=DISABLE • firewall set service type=REMOTEADMIN mode=DISABLE

  8. Configuration du Pare-feuModèle Objet NetFw using NetFwTypeLib; namespace FirewallConfig { class Program { static void Main(string[] args) { INetFwMgr mgr = (INetFwMgr)System.Activator.CreateInstance( System.Type.GetTypeFromProgID("HNetCfg.FwMgr")); INetFwProfile profile = mgr.LocalPolicy.CurrentProfile; INetFwAuthorizedApplication app = (INetFwAuthorizedApplication)System.Activator.CreateInstance( System.Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication")); app.ProcessImageFileName = @"c:\windows\system32\notepad.exe"; app.Name = "LeNotepad"; app.Enabled = false; profile.AuthorizedApplications.Add(app); } } }

  9. Configuration Pare-feu - Recommandations • Réservée à l’administrateur • Demander l’aval de l’utilisateur avant de modifier la configuration du pare-feu • Adapter la configuration au contexte (Internet, Réseau d’entreprise)

  10. DCOM: Ce qui ne change pas • Tous les serveurs COM InProcess fonctionneront de la même façon sur Windows XP SP2 • Par défaut, tous les serveurs DCOM locaux fonctionneront de la même façon sur Windows XP SP2 • Par défaut, tous les clients DCOM fonctionneront de la même façon Les événements ou call backs transforment un client en serveur DCOM

  11. DCOM: Ce qui change • Tous les appels DCOM inter machines doivent être authentifiés • Le lancement et l’activation à distance sont restreints par défaut aux seuls administrateurs locaux • L’administrateur peut imposer des limites de sécurité globales au poste. • Limitant ainsi les modifications au niveau de chaque application (CoInitializeSecurity) • Modifiable via DCOMCNFG.EXE

  12. Résumé Sécurité DCOM • Distinction entre: • Accès distant • Accès local • Distinction entre: • Lancement (création du processus serveur) • Activation (création d’une instance) • Le tout sous le contrôle total de l’administrateur et configurable via DCOMCNFG

  13. Amélioration de la sécurité RPC • Ouverture automatique des ports RPC pour les services utilisant les comptes Local System, Network Service ou Local Service • Sinon, utiliser les Applications Autorisées • Par défaut, toutes les connexions entrantes doivent être authentifiées

  14. Basic & Redirecteur WebDAV • WebDAV: • N’autorise plus l’authentification Basic • Car il ne permet pas d’utiliser un canal sécurisé (SSL) • Par défaut, Windows XP désactive l’authentification Basic dans le redirecteur WebDAV • Controlé par: HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\UseBasicAuth (REG_DWORD)

  15. Basic et WinInet • L’authentification Basic sur un canal non sécurisé est désactivé par défaut: • Utilisation de SSL ( i.e. HTTPS) • Controlé par: HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\DisableBasicOverClearChannel (REG_DWORD)

  16. Protection d’exécution (NX) • Requière une plateforme matérielle supportant le No Execution • Le K8 d’AMD et l’Itanium d’Intel supportent NX • Permet de rendre beaucoup plus difficile l’exploitation de Buffer Overruns • Basé sur la protection d’accès en exécution de la mémoire

  17. Principe de fonctionnement NX • Une exception STATUS_ACCESS_VIOLATION est levée lors d’une tentative d’exécution de données • LPVOID lpvBase = VirtualAlloc( NULL, dwSize, // size of allocation MEM_RESERVE, // allocate reserved pages PAGE_READWRITE); // Read, Write • Désactivable

  18. Impact Outils de Développement • Visual Studio 2005 (Whidbey) sera pleinement compatible avec Windows XP SP2 • Visual Studio 2002 et 2003 auront les services packs requis par le SP2 de XP • Impact prévu sur les outils • Framework .Net (1.0 et 1.1) (NX) • Debogage à distance (Firewall) • Debogage SQL (DCOM) • VS Analyzer (Firewall) • Visual Source Safe (Firewall)

  19. Internet Explorer • Fenêtre de gestion des modules complémentaires • Activation/Désactivation/mise à jour • Module de type: • ActiveX • Browser Helper Object • Extension de barre d’outils • Détection des problèmeslié à un module complémentaire • Affichage du module qui à causé l’erreur

  20. Service de pièce attachée • Ce service protège le système contre les pièces attachées malveillantes • Approche unifiée qui est utilisée par Outlook Express, Outlook 2003 et MSN Messenger • Si vous développez une application qui exécute ou sauve des pièces attachées, vous devez utiliser ce service

  21. Service de pièce attachée • Donne pour chaque pièce attachée un facteur de risque • Basé sur l’extension de fichier, le content-type, etc.… • Ce facteur de risque est mappé sur les zone de Internet Explorer • L’interface COM IAttachmentExecute est le point d’entrée pour ce service • Remplace la fonction AssocIsDangerous

  22. Internet Explorer • Verrouillage de la zone poste de travail • Tous les fichiers locaux ouverts dans Internet Explorer disposent d’une sécurité renforcée • Restreint l’utilisation de fichier HTML sur la zone « poste de travail » • Aide à prévenir les attaques lorsqu’elles utilisent du code HTML comme vecteur d’attaque • Les paramètres par défaut • URLACTION_ACTIVEX_RUN  désactivé • URLACTION_SCRIPT_RUN  désactivé • URLACTION_CROSS_DOMAIN_DATA  prompt • URLACTION_BINARY_REHAVIORS_BLOCK  désactivé • URLACTION_JAVA_PERMISSIONS  désactivé

  23. Implications • Toutes les applications utilisant des fichiers HTML/Script/ActiveX,applets en local sont impactées • Solutions • Si vos pages locales utilisent du script ou des ActiveX, vous pouvez insérer dans la page une balise de type<!– save from url=(0022) http://www.url.com --> • Enregistrer les fichiers sous forme d’archive web (mht) • Créer une application séparée et utiliser le contrôle Internet Explorer • Notes • N’impacte pas les applications utilisant le contrôle Internet Explorer • N’impacte pas les applications les zones « Intranet » ou « Internet » • Les fichiers HTA ne sont pas impactés • Le protocole res:// utilise le verrouillage de la zone « Internet »

  24. Internet Explorer • Le bloqueur d’élément contextuel • Bloque les fenêtres de type pop-up non désirées • Paramétrable par zone • Fonctionnalités • Activé par défaut • Toutes les fenêtres de type pop-up sont bloquées dans la zone Internet • Les sites de confiance (https) et les sites de la zone « Intranet local » ne sont pas bloqués par défaut • N’impacte pas les applications utilisant le contrôle Internet Explorer

  25. La fenêtre est bloquée La fenêtre est affichée car elle estdans la liste des sites à autoriser La fonctionnalité est désactivée Internet Explorer • Interface utilisateur • Outils/Options/Confidentialité

  26. Internet Explorer • Options avancées • Sites à autoriser – permet les pop-up pour ces sites • Bloque tous les pop-up automatiques, créés via des évènements, window_onload(), timers … • Les liens ne sont pas bloqués par défaut • Lorsque les pop-up sont désactivés pour les liens, la touche ATL+click sur un lien désactive la fonctionnalité • On peut activer cette fonctionnalité parzones « Intranet local » et « Site de confiance »

  27. Internet Explorer • Restriction sur l’affichage des fenêtres • Plus possible de désactiver la barre d’état via du script • La méthode fullscreen est remplacée par un affichage en maximisé • L’affichage de fenêtre via la fonctionwindow.createPopup • Ne peut apparaître que dans la zone parente • Impossible de couvrir la barre de titre, barre d’état

  28. Implications • Affecte l’affichage des fenêtres pour les sites Internet • Toutes applications Internet utilisant window.open(), window.showModalDialog/showModelessDialog(), window.navigateAndFind() et showHelp() dans des évènements au chargement/déchargement de la page • N’impacte pas • les applications utilisant le contrôle Internet Explorer • La nouvelle interface INewWindowManager permet d’implémenter sa propre gestiondes pop-up

  29. Implications • Try/catch et gestion d’erreur <!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <title>Popup Tester</title></HEAD> <body> <formid="Form1"method="post"runat="server"> <P><INPUTtype="button"value="Open"onclick="openWin()"ID="Button1"NAME="Button1"></P> <P><INPUTtype="button"value="ShowHelp"onclick="showPopup()"ID="Button2"NAME="Button2"></P> </form> </body> <scriptlanguage="javascript"> function openWin() { try { window.open("http://www.msn.com","MSN") } catch (e) { window.alert("Popup window blocked " + e.number); } } function handlePopupErrors() { window.alert("Error occurred"); return true; } function showPopup() { window.onerror = handlePopupErrors; window.showHelp("http://www.msn.com",""); } </script> </HTML>

  30. Internet Explorer • Le modèle objet • Nouvel événement au niveau de l’objet WebBrowser : NewWindow3 Private Sub object_NewWindow3( _ ByRef ppDisp As Object, _ ByRef Cancel As Boolean, _ ByVal dwFlags As Long, _ ByVal bstrUrlContext As String, _ ByVal bstrParentUrl As String • L’interface INewWindowManagerEvaluateNewWindow

  31. Références • MSDN librairie • http://msdn.microsoft.com/library/ • Références Windows XP SP2 • http://msdn.microsoft.com/security/productinfo/XPSP2/default.aspx • http://msdn.microsoft.com/security/productinfo/XPSP2/introduction.aspx • XP SP2 RC1 Fact Sheet • http://www.microsoft.com/presspass/newsroom/winxp/windowsxpspfs.asp

  32. Questions?

  33. RestrictRemoteClients • RPC_RESTRICT_REMOTE_CLIENT_NONE (0) • Configuration pré Windows XP SP2 • RPC_RESTRICT_REMOTE_CLIENT_DEFAULT (1) • Pas de connections anonymes (sauf si RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH est utilisé lors de l’enregistrement • RPC_RESTRICT_REMOTE_CLIENT_HIGH (2): • Idem 1 mais pas d’exceptions admises • Ne s’applique pas aux connections RPC via Tubes nommés (ncacn_np)

  34. EnableAuthEpResolution • Par défaut, RPC expose une interface permettant de se connecter aux interfaces enregistrées • EnableAuthEpResolution: • 1: Pas de connections anonymes • 0: Connections anonymes autorisées

  35. DCOMPERM • Registre HKLM\SOFTWARE\Microsoft\Ole • DefaultLaunchRestriction • DefaultAccessRestriction • MachineLaunchRestriction • MachineAccessRestriction • Masque de droits • COM_RIGHTS_EXECUTE 1 • COM_RIGHTS_EXECUTE_LOCAL 2 • COM_RIGHTS_EXECUTE_REMOTE 4 • COM_RIGHTS_ACTIVATE_LOCAL 8 • COM_RIGHTS_ACTIVATE_REMOTE 16

More Related