Windows XP SP2 - PowerPoint - PowerPoint by XlZuI6

VIEWS: 24 PAGES: 49

									           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
 Sécurité Internet Explorer
 Application Compatibility Toolkit (ACT) 4.0
 Update Impact Analyzer
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é
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
Parefeu Windows




        Un aperçu rapide
Que se passe t’il lorsqu’une application
tente d’ouvrir un port réseau?
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
Configuration du Pare-feu
Modè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);
              }
       }
}
Configuration Pare-feu -
Recommandations


  Réservée à l’administrateur

  Demander l’aval de l’utilisateur avant de
  modifier la configuration du pare-feu
  programmatiquement

  Adapter la configuration au contexte
  (Internet, Réseau d’entreprise)
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
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
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
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
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\WebClien
  t\Parameters\UseBasicAuth (REG_DWORD)
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\CurrentV
  ersion\Internet
  Settings\DisableBasicOverClearChannel
  (REG_DWORD)
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

 Peut être émulé sur les plateformes non 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
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
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èmes
 lié à un module complémentaire
   Affichage du module qui à causé l’erreur
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
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
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
            HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\
     URLACTION_BINARY_REHAVIORS_BLOCK  désactivé
            Internet Settings\Zones\0
            Flags = 1

     URLACTION_JAVA_PERMISSIONS  désactivé
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 »
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
Internet Explorer

 Interface utilisateur
     Outils/Options/Confidentialité




  La fenêtre est bloquée

  La fenêtre est affichée car elle est
  dans la liste des sites à autoriser

  La fonctionnalité est désactivée
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é par
   zones « Intranet local » et « Site de confiance »
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 fonction
   window.createPopup
     Ne peut apparaître que dans la zone parente
     Impossible de couvrir la barre de titre, barre d’état
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 gestion
     des pop-up
Implications

 Try/catch et gestion d’erreur
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <HTML>
    <HEAD>
       <title>Popup Tester</title></HEAD>
    <body>
       <form id="Form1" method="post" runat="server">
          <P><INPUT type="button" value="Open" onclick="openWin()" ID="Button1" NAME="Button1"></P>
          <P><INPUT type="button" value="ShowHelp" onclick="showPopup()" ID="Button2" NAME="Button2"></P>
       </form>
    </body>
    <script language="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>
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 INewWindowManager
                       EvaluateNewWindow
Références

 MSDN librairie
   http://msdn.microsoft.com/library/
 Références Windows XP SP2
   http://msdn.microsoft.com/security/productinfo/X
   PSP2/default.aspx
   http://msdn.microsoft.com/security/productinfo/X
   PSP2/introduction.aspx

 XP SP2 RC1 Fact Sheet
   http://www.microsoft.com/presspass/newsroo
   m/winxp/windowsxpspfs.asp
Application Compatibility Toolkit


  Les Objectifs
    Faciliter la migration vers Windows XP/SP2
    en s'assurant de la compatibilité de vos
    applications avec Windows XP / XP SP2
    Fournir un système unifié pour tester et
    référencer toutes les problématiques de
    migration
      Outils de test, d’atténuation, et de déploiement
Application Compatibility Toolkit

     Modification du code de Windows XP
             9x est moins « consistant » dans la gestion de la mémoire (heap)
             Changement « Subtile » des api win32, SetForgroudWindows…
             Les paramètres de la registry ont été modifiée
     Changement des dossiers
             Documents & Settings
             My Documents
      Internet Explorer
             Verrouillage de la zone poste de travail, Affichage de nouveaux
             dialogues lors du téléchargement de fichiers.
      DCOM & RPC
             Nouvelles permission lors du lancement ou l’activation d’objets.
             l’accès à distance pour un utilisateur anonyme n’est plus permis
      Windows Firewall
             Les ports sont fermés par défaut
      Protection d’exécution (NX)
             Access Violations pour une application qui ne gère pas NX corectement
Phase d’évaluation

               Agent pour :
   Collector   • Effectuer un inventaire des
                 applications
               • Évaluer les problématiques de
    DCOM         migration
                                                       Vente          Support

               Il peut être configuré pour
   Windows
   Firewall    remonter des informations
               comme :
               • Nom de département.
               • Nom de l’utilisateur, nom de la       HR
                                                                      Serveurs
                 machine, ID…                        Environnent de production
      IE
               Distribué via
               • SMS
               • Log on scripts

               L’outils « IE test »
    Client                                            Environnement de test
               • Détecte les problème de
                 compatibilité avec Windows XP SP2
Phase d’évaluation

                                                           Collector                  Collector
                                             Collector

                             Network
                             Network
           Report             Network
                               Share
                              Share
                                                             Collector
                                                                DCOM                  Collector          Collector
                                                                                            DCOM
           Viewer              Share                     Windows
                                                                                             Windows
                                                                                              Firewall
                                             Collector
         (Analyzer)                                      Firewall




                                                                                                  Support
                                                     Vente


                                   SQL
                                  Server                               DCOM
                                                                         WindowsCollector
                                                                         Firewall



Client                Serveurs

                                                                              HR




                             Web Service                                       Windows
                                                                               Firewall




                                                                                  Collector




                                                                         Serveurs
                                  MSFT
                                             Environnent de production
                                 Online DB
Phase d’évaluation

 Agent pour effectuer un inventaire des
 applications
 3 Outils pour tester la compatibilité des
 application avec Windows XP SP2
   Vérifie si une application emploie les fonctionnalités de
   DCOM qui sont bloquées par le SP2
   Vérifié si l’application est compatible avec le firewall
   Détecte les applications Web qui ne serait pas compatible
   avec les nouvelles options de sécurité de Windows XP
   SP2
 Un outils pour analyser et gérer les problème de
 compatibilité
Phase d’atténuation

 L’outil Solution Builder (fixpack.exe)
   Création d’un patch unitaire
      A Partir de la liste des applications ayant des problème de
      compatibilité avec DCOM et le firewall
      A partir des différents Fix Win32 à déployer
 L’outils Compatibility Administrator
   Création d’un patch afin d’exécuter l’application en mode
   Windows 95, Windows 2000…
 L’outils Internet Explorer Compatibility
   Création d’un fichier .reg correspondant au options de
   sécurité d’internet Explorer à modifier
Déploiement

 Peut être réalisé via
   SMS
   Logon script
Références

   ACT 4.0
   http://www.microsoft.com/windows/appcompatibili
   ty/act4.mspx
   Newsgroup
   microsoft.public.windows.app_compatibility
Update Impact Analyzer

 Basé sur un moteur d’intersection développé par
 Microsoft Research

 Utilise les informations issues:
   de la base de registre
   des fichiers
   des manifestes de mises à jours
   des traces d’application métier

 Génère un rapport d’aide à la décision concernant
 les tests prioritaires
Questions?
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)
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
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

								
To top