Le modèle de sécurité des Windows Apps

669 vues

Publié le

Windows 8 enrichit le modèle de sécurité pour prendre en compte les applications modernes que sont les Windows Apps. Durant cette session, vous découvrirez le concept de conteneur isolé (AppContainer) et vous en comprendrez le fonctionnement. De plus, cette session comportera des démonstrations pour illustrer en pratique les niveaux d’intégrité, les capacités ainsi que les brokers. Pas de code mais une plongée en profondeur dans les arcanes de la sécurité système avec des démos.

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
669
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
10
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Notation
  • Montrer les éléments qui constituent un package (fichier zip) : Manifeste : identité, capacités, contrats, extensions et association de fichierFichier de cartographie de blocSignature du packageInstaller le package d’application et exécuter l’application
  • Lancer letaskmanager
  • Aller dans %LOCALAPPDATA%\\Packages\\Microsoft.SDKSamples.TechDays2013.CS_mc4wj1f4h8fhjExpliquer le rôle de chaque dossier
  • Montrer les règles de pare-feu Windows Firewall.Dans les règles de trafic sortant, sélectionner la ligne TechDays2013 et montrer la section « Packages d’applications  », « Programme et Service » de la règle de l’ App « Lecteur »
  • Aller dans l’onglet Security pour afficher le jeton d’accès. Faire remarquer que le processus s'exécute en tant que l'utilisateur courant mais avec des permissions, des privilèges et un niveau d’intégrité réduit.Deny sur le groupe BUILTIN\\Administrateurs1 seul privilège : SeChangeNotifyPrivilege. Expliquer que le seul autre privilège activable serait SeIncreaseWorkingSetPrivilegeMontrer le package SID dont le flag est AppContainerMontrer les différentes capacitésEnfin, montrer le niveau d'intégrité Faible.
  • Lancer la Windows App TechDays2013LancerProcessExplorerMontrer le niveau d’intégrité du processus TechDays2013.exe (AppContainer)Aller dans l’App TechDays2013, cliquer sur le scénario « 2) Pick multiple files » et cliquer sur le bouton « Pick Files »Retourner dans Process ExplorerRemarquer l’apparition d’un nouveau processus PickerHost.exe qui s’exécute avec un niveau d’intégrité moyen. Il a été lancé par l’intermédiaire du Runtime Broker.
  • Le modèle de sécurité des Windows Apps

    1. 1. Donnez votre avis !Depuis votre smartphone, sur :http://notes.mstechdays.frDe nombreux lots à gagner toutes les heures !!!Claviers, souris et jeux Microsoft…Merci de nous aider à améliorer les TechDayshttp://notes.mstechdays.fr
    2. 2. SEC 313 Le modèle de sécuritédesWindows AppsPhilippe BeraudJean-Yves GrassetArnaud JumeletDirection TechniqueMicrosoft FranceSécurité#WindowsApps
    3. 3. • Les Windows Apps, un nouveau modèleapplicatif• Le modèle de sécurité des Windows Apps• L’évolution des mécanismes internesNotre agenda pour la session• Sessions complémentaires– CLI301 Mécanismes internes de la sécurité de Windows 8– SEC302 Windows 8 et la sécurité
    4. 4. LES WINDOWS APPS, UN NOUVEAUMODÈLE APPLICATIF
    5. 5. Les applications sous Windows 8JavaScriptHTML / CSS.HTMLJavaScript.
    6. 6. • Utilisation des API Windows Runtime (WinRT)• A propos des API Win32– Toujours présente à la fois sur architectures x86, x64 et ARM– Possibilité d’utiliser un sous-ensemble des API Win32 et COM• Support des scénarios non déjà couverts par WinRT (Cf. MSDN)• P/Invoke, composants WinRT• Options de compilation : application des bonnes pratiquesde sécurité– Compilation avec les options de sécurité (DEP, ASLR, SAFESEH et SEHOP)SDK Windows 8 et Apps Windows
    7. 7. • Depuis le Windows Store– Déploiement possible à l’extérieur du Windows Store pour les Apps Métier• Contrôle par Windows 8 des étapes d’installation, de mise àjour et de suppression des Apps– Installation possible par un utilisateur standard• AppLocker permet de contrôler l’installation et l’exécution des Apps Windows– Prise en charge des packages pour toutes les dépendances (ex. bibliothèqueMicrosoft Windows pour JavaScript) depuis le Windows Store– Au niveau Apps : PAS d’exécution de code lors du déploiement, PAS demodification des préférences de lutilisateur, etc.• Les Apps doivent être signées numériquement– Vérification de la signature faite uniquement lors de l’installation– Signature Microsoft pour les Apps installées depuis le Windows Store• Signature de confiance nécessaire pour les Apps Métier installées en dehorsPrincipes de déploiement des AppsWindows
    8. 8. • Package d’application (*.appx)– Ressources de l’application• Fichiers de l’application (binaires, HTML/JavaScript/CSS,ressources)– Fichier manifeste de l’application (AppxManifest.xml)• Capacités, contrats, extensions et associations de fichiers– Fichier de cartographie de bloc (AppxBlockMap.xml)• Blocs de données des ressources et condensécryptographique de chaque bloc– Fichier de signature du package (AppxSignature.p7x)• Format Microsoft AuthenticodeApp Windows = Application empaquetée
    9. 9. • Centre de développement – Applications Windows Store• Cf. Publication de votre application sur le Windows Store• Nécessite un compte– Développeur individuel vs. Développeur d’entreprisePublication des Apps sur le Windows Store
    10. 10. • Tests de conformité lors de la publication d’une Apps dans leWindows Store– Analyse de lapplication par rapport à la description, aux fonctionnalités utilisées,aux capacités déclarées, présence d’une déclaration de confidentialité, etc.– Vérification de sécurité selon les bonnes pratiques SDL (Microsoft SoftwareDevelopment Lifecycle)• Possibilité de tester préalablement une Apps avec le "Kit decertification des applications Windows" :– En termes de sécurité• Analyse statique de code : tests des pratiques de codage et de génération– Test des API utilisés : ex. pas d’appel à des API Win32 et COM non autorisées– Test des options de compilation• Analyse de la surface d’attaque• Cf. Test des fonctionnalités de sécurité WindowsExigences de qualité et de sécurité
    11. 11. • Signature par une autorité de certification approuvée sur les cibles– Ajout possible du certificat de signature dans "Trusted People"• Certificat auto-signé lors du développement• Préparations des machines– Machines membres d’un domaine (Windows 8 Entreprise)• Activation du sideloading par GPO– Configuration Ordinateur > Modèles dadministration > Composants Windows > Déploiement depackage Appx > Autoriser l’installation des applications approuvées– Machines hors domaine (Windows RT, Windows 8 Pro/Entreprise)• Activation via l’utilitaire slmgr et une clef de produit pour le chargement parallèle enentreprise– slmgr /ipk <sideloading product key>– slmgr /ato ec67814b-30e6-4a50-bf7b-d55daf729d1e• Déploiement par add-appxpackage ou par le biais de l’imagesystème• Cf. Préparation et déploiement d’applications pour l’entrepriseDéploiement pour l’entreprise –"Sideloading"
    12. 12. CONTENU D’UN PACKAGED’APPLICATION*.APPX
    13. 13. LE MODÈLE DE SÉCURITÉ DESWINDOWS APPS
    14. 14. • Conteneur d’application (AppContainer)– Environnement d’exécution d’une Windows App –un ou plusieursprocessus– Assure une isolation entre les Apps– Accès limité aux ressources du système et au réseau à travers lanotion de capacités– Privilèges réduits– Pas d’accès au profil utilisateurModèle de sécurité des Windows Apps
    15. 15. • Niveaux d’isolation de l’AppContainer:1. Isolation des processus2. Isolation des fenêtres3. Isolation du système de fichiers4. Isolation des périphériques5. Isolation du réseau6. Isolation des informations d’identification• Néanmoins, les AppContainers ne sont PAS desfrontières de sécurité :– Il peut y avoir des failles dans l’infrastructure du broker– Les Windows Apps métiers peuvent appeler des API Win32 et COMqui pourraient permettre de franchir le conteneur isoléAppContainer : un conteneur applicatif isolé
    16. 16. ISOLATION DES APPCONTAINERSPROCESSUS APPCONTAINER
    17. 17. • Les Apps pour Windows 8 ne peuvent pas :– Lire ou écrire des fichiers sans interaction utilisateur• Espace de stockage dédié à l’App• Accès bibliothèques (Musique, Photos..), disque amovible selondéclarations dans le Manifeste– Lire ou écrire dans la base de registre (sauf sa propre ruche)– Interagir avec l’interface utilisateur hors du périmètre de la zoneoccupée par l’application elle-même– Avoir accès à des informations système locales, journal desévènements, processus en cours d’exécution, etc.AppContainer : un accès contrôlé
    18. 18. Capacitéslocationmicrophoneproximitywebcamother devices (represented by GUIDs)internetClientinternetClientServerprivateNetworkClientServerpicturesLibraryvideosLibrarymusicLibraryremovableStoragedocumentsLibraryenterpriseAuthenticationsharedUserCertificatesDeviceCapabilityCapability
    19. 19. ESPACE DE STOCKAGE APPLICATIFISOLATION DU SYSTÈME DE FICHIERS
    20. 20. PARE-FEU WINDOWS ET PACKAGED’APPLICATIONSISOLATION DU RESEAU
    21. 21. L’ÉVOLUTION DES MÉCANISMESINTERNES
    22. 22. Contrôle d’accès sous Windows – Un brefrappelRessourceWindowsJetond’accèsDescripteur de sécuritéde la ressourceAccès à laressource
    23. 23. Jeton d’accès d’un AppContainerRessourceWindowsJetond’accèsDescripteur de sécuritéde la ressourceAccès à laressource
    24. 24. AppContainer : création du jeton de sécuritéWindowsManifesteJetonutilisateurJetonutilisateur
    25. 25. LE JETON DE SECURITE D’UNAPPCONTAINERRéduction de la surface dattaque
    26. 26. L’étiquette d’intégrité d’une ressourceRessourceWindowsJetond’accèsDescripteur de sécuritéde la ressourceAccès à laressource
    27. 27. Renforcement de l’isolation :lorsque les accès proviennent d’unAppContainer
    28. 28. Accès contrôlé via les brokersRessourceWindowsJetond’accèsDescripteur de sécuritéde la ressourceAccès à laressource
    29. 29. Accès contrôlé via les Brokers
    30. 30. UTILISATION D’UN BROKER POURACCÉDER AUX FICHIERS DEL’UTILISATEURACCES CONTROLE
    31. 31. • Les applications ont toujours dû se protéger contreles attaques, quest-ce qui est vraiment nouveau ici ?– Environnement d’exécution restreint (AppContainer)– Des protections activées par défaut (Signature, Options decompilation)Qu’est-ce qui est réellement nouveau ?
    32. 32. • Le modèle de sécurité des Windows Apps présente les avantagessuivants :– Réduction de la surface dattaque• Chaque App reçoit les capacités nécessaires pour son bon fonctionnement, mais pas plus.Pour pouvoir être publiées sur le Windows Store, les Apps qui demandent des capacitésspéciales requièrent une licence « développeur d’entreprise »– Contrôle et consentement utilisateur• Chaque App divulgue ses capacités à lutilisateur sur la page des détails sur le WindowsStore. La première fois qu’une App utilise une capacité matérielle pouvant porter atteinte àla vie privée, l’utilisateur doit donner explicitement son consentement– Isolation• Aucun canal de communication direct n’existe entre les Apps autrement que par le Cloud etles capacités de stockage. Les Apps sont isolées les unes des autres et ne peuvent pasaccéder à la mémoire utilisée et aux données stockées par dautres applicationsEn guise de conclusion
    33. 33. • Blogs MSDN– Delivering reliable and trustworthy Metro style apps– Designing a simple and secure app package – APPX• Documentation MSDN– Critères de certification pour les applications Windows 8– Packages et déploiement d’applications (applications duWindows Store)– Publication de votre application sur le Windows Store– Test des fonctionnalités de sécurité Windows (Windows)Pour aller plus loin
    34. 34. Formez-vous en ligneRetrouvez nos évènementsFaites-vous accompagnergratuitementEssayer gratuitement nossolutions ITRetrouver nos expertsMicrosoftPros de l’ITDéveloppeurswww.microsoftvirtualacademy.comhttp://aka.ms/generation-apphttp://aka.ms/evenements-developpeurs http://aka.ms/itcamps-franceLes accélérateursWindows Azure, Windows Phone,Windows 8http://aka.ms/telechargementsLa Dev’Team sur MSDNhttp://aka.ms/devteamL’IT Team sur TechNethttp://aka.ms/itteam

    ×