SlideShare uma empresa Scribd logo
1 de 34
Donnez votre avis !
Depuis votre smartphone, sur :
http://notes.mstechdays.fr
De nombreux lots à gagner toutes les heures !!!
Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les TechDays
http://notes.mstechdays.fr
SEC 313 Le modèle de sécurité des
Windows Apps
Philippe Beraud
Jean-Yves Grasset
Arnaud Jumelet
Direction Technique
Microsoft France
Sécurité
#WindowsApps
• Les Windows Apps, un nouveau modèle applicatif
• Le modèle de sécurité des Windows Apps
• L’évolution des mécanismes internes
Notre 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é
LES WINDOWS APPS, UN NOUVEAU
MODÈLE APPLICATIF
Les applications sous Windows 8
JavaScript
HTML / CSS
.
HTML
JavaScript
.
• 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 pratiques de
sécurité
– Compilation avec les options de sécurité (DEP, ASLR, SAFESEH et SEHOP)
SDK Windows 8 et Apps Windows
• 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èque
Microsoft Windows pour JavaScript) depuis le Windows Store
– Au niveau Apps : PAS d’exécution de code lors du déploiement, PAS de
modification des préférences de l'utilisateur, 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 dehors
Principes de déploiement des Apps Windows
• 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 Authenticode
App Windows = Application empaquetée
• 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’entreprise
Publication des Apps sur le Windows Store
• Tests de conformité lors de la publication d’une Apps dans le Windows
Store
– Analyse de l'application 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 Software
Development Lifecycle)
• Possibilité de tester préalablement une Apps avec le "Kit de certification
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é Windows
Exigences de qualité et de sécurité
• 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 d'administration > Composants Windows > Déploiement de
package 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 en
entreprise
– slmgr /ipk <sideloading product key>
– slmgr /ato ec67814b-30e6-4a50-bf7b-d55daf729d1e
• Déploiement par add-appxpackage ou par le biais de l’image système
• Cf. Préparation et déploiement d’applications pour l’entreprise
Déploiement pour l’entreprise – "Sideloading"
CONTENU D’UN PACKAGE D’APPLICATION
*.APPX
LE MODÈLE DE SÉCURITÉ DES WINDOWS
APPS
• Conteneur d’application (AppContainer)
– Environnement d’exécution d’une Windows App –un ou plusieurs
processus
– Assure une isolation entre les Apps
– Accès limité aux ressources du système et au réseau à travers la
notion de capacités
– Privilèges réduits
– Pas d’accès au profil utilisateur
Modèle de sécurité des Windows Apps
• Niveaux d’isolation de l’AppContainer:
1. Isolation des processus
2. Isolation des fenêtres
3. Isolation du système de fichiers
4. Isolation des périphériques
5. Isolation du réseau
6. Isolation des informations d’identification
• Néanmoins, les AppContainers ne sont PAS des frontiè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 COM
qui pourraient permettre de franchir le conteneur isolé
AppContainer : un conteneur applicatif isolé
ISOLATION DES APPCONTAINERS
PROCESSUS APPCONTAINER
• 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 selon
dé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 zone
occupé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é
Capacités
location
microphone
proximity
webcam
other devices (represented by GUIDs)
internetClient
internetClientServer
privateNetworkClientServer
picturesLibrary
videosLibrary
musicLibrary
removableStorage
documentsLibrary
enterpriseAuthentication
sharedUserCertificates
DeviceCapability
Capability
ESPACE DE STOCKAGE APPLICATIF
ISOLATION DU SYSTÈME DE FICHIERS
PARE-FEU WINDOWS ET PACKAGE
D’APPLICATIONS
ISOLATION DU RESEAU
L’ÉVOLUTION DES MÉCANISMES
INTERNES
Contrôle d’accès sous Windows – Un bref rappel
Ressource
Windows
Jeton
d’accès
Descripteur de sécurité
de la ressource
Accès à la
ressource
Jeton d’accès d’un AppContainer
Ressource
Windows
Jeton
d’accès
Descripteur de sécurité
de la ressource
Accès à la
ressource
AppContainer : création du jeton de sécurité
Windows
Manifeste
Jeton
utilisateur
Jeton
utilisateur
LE JETON DE SECURITE D’UN
APPCONTAINER
Réduction de la surface d'attaque
L’étiquette d’intégrité d’une ressource
Ressource
Windows
Jeton
d’accès
Descripteur de sécurité
de la ressource
Accès à la
ressource
Renforcement de l’isolation :
lorsque les accès proviennent d’un AppContainer
Accès contrôlé via les brokers
Ressource
Windows
Jeton
d’accès
Descripteur de sécurité
de la ressource
Accès à la
ressource
Accès contrôlé via les Brokers
UTILISATION D’UN BROKER POUR ACCÉDER
AUX FICHIERS DE L’UTILISATEUR
ACCES CONTROLE
• Les applications ont toujours dû se protéger contre les
attaques, qu'est-ce qui est vraiment nouveau ici ?
– Environnement d’exécution restreint (AppContainer)
– Des protections activées par défaut (Signature, Options de
compilation)
Qu’est-ce qui est réellement nouveau ?
• Le modèle de sécurité des Windows Apps présente les avantages
suivants :
– Réduction de la surface d'attaque
• 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és
spéciales requièrent une licence « développeur d’entreprise »
– Contrôle et consentement utilisateur
• Chaque App divulgue ses capacités à l'utilisateur sur la page des détails sur le Windows
Store. 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 et
les capacités de stockage. Les Apps sont isolées les unes des autres et ne peuvent pas
accéder à la mémoire utilisée et aux données stockées par d'autres applications
En guise de conclusion
• 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 du
Windows Store)
– Publication de votre application sur le Windows Store
– Test des fonctionnalités de sécurité Windows (Windows)
Pour aller plus loin
Formez-vous en ligne
Retrouvez nos évènements
Faites-vous accompagner
gratuitement
Essayer gratuitement nos
solutions IT
Retrouver nos experts
Microsoft
Pros de l’IT
Développeurs
www.microsoftvirtualacademy.com
http://aka.ms/generation-app
http://aka.ms/evenements-
developpeurs http://aka.ms/itcamps-france
Les accélérateurs
Windows Azure, Windows Phone,
Windows 8
http://aka.ms/telechargements
La Dev’Team sur MSDN
http://aka.ms/devteam
L’IT Team sur TechNet
http://aka.ms/itteam

Mais conteúdo relacionado

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

Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSMicrosoft
 
La gestion des périphériques modernes avec System Center 2012 R2 Configuratio...
La gestion des périphériques modernes avec System Center 2012 R2 Configuratio...La gestion des périphériques modernes avec System Center 2012 R2 Configuratio...
La gestion des périphériques modernes avec System Center 2012 R2 Configuratio...MUG-Lyon Microsoft User Group
 
Mécanismes internes de la sécurité de Windows 8
Mécanismes internes de la sécurité de Windows 8Mécanismes internes de la sécurité de Windows 8
Mécanismes internes de la sécurité de Windows 8Microsoft Technet France
 
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Hadina RIMTIC
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfRihabBENLAMINE
 
Tizen DevLab - Introduction au SDK Tizen
Tizen DevLab - Introduction au SDK TizenTizen DevLab - Introduction au SDK Tizen
Tizen DevLab - Introduction au SDK TizenBeMyApp
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8Microsoft
 
OCTO - Sécurité android
OCTO - Sécurité androidOCTO - Sécurité android
OCTO - Sécurité androidOCTO Technology
 
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...Microsoft
 
Gestion de Windows 10 et des applications dans l'entreprise moderne
Gestion de Windows 10 et des applications dans l'entreprise moderneGestion de Windows 10 et des applications dans l'entreprise moderne
Gestion de Windows 10 et des applications dans l'entreprise moderneMicrosoft Technet France
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoinsIsmahen Traya
 
Trucs et astuces pour rendre votre application Windows 8 plus visible
Trucs et astuces pour rendre votre application Windows 8 plus visibleTrucs et astuces pour rendre votre application Windows 8 plus visible
Trucs et astuces pour rendre votre application Windows 8 plus visibleMicrosoft
 
Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8Microsoft
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfmed_univ78
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureJason De Oliveira
 
Windows Phone 8 et la sécurité
Windows Phone 8 et la sécuritéWindows Phone 8 et la sécurité
Windows Phone 8 et la sécuritéMicrosoft
 
Windows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer TalksWindows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer TalksJean-Sébastien Dupuy
 
Personnalisation et Extension du Catalogue Applicatif dans System Center 2012...
Personnalisation et Extension du Catalogue Applicatif dans System Center 2012...Personnalisation et Extension du Catalogue Applicatif dans System Center 2012...
Personnalisation et Extension du Catalogue Applicatif dans System Center 2012...Microsoft Technet France
 

Semelhante a Le modèle de sécurité des Windows Apps (20)

Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJS
 
La gestion des périphériques modernes avec System Center 2012 R2 Configuratio...
La gestion des périphériques modernes avec System Center 2012 R2 Configuratio...La gestion des périphériques modernes avec System Center 2012 R2 Configuratio...
La gestion des périphériques modernes avec System Center 2012 R2 Configuratio...
 
Mécanismes internes de la sécurité de Windows 8
Mécanismes internes de la sécurité de Windows 8Mécanismes internes de la sécurité de Windows 8
Mécanismes internes de la sécurité de Windows 8
 
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 
Déploiement de Windows 8
Déploiement de Windows 8Déploiement de Windows 8
Déploiement de Windows 8
 
Tizen DevLab - Introduction au SDK Tizen
Tizen DevLab - Introduction au SDK TizenTizen DevLab - Introduction au SDK Tizen
Tizen DevLab - Introduction au SDK Tizen
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
OCTO - Sécurité android
OCTO - Sécurité androidOCTO - Sécurité android
OCTO - Sécurité android
 
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...
 
Gestion de Windows 10 et des applications dans l'entreprise moderne
Gestion de Windows 10 et des applications dans l'entreprise moderneGestion de Windows 10 et des applications dans l'entreprise moderne
Gestion de Windows 10 et des applications dans l'entreprise moderne
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoins
 
Trucs et astuces pour rendre votre application Windows 8 plus visible
Trucs et astuces pour rendre votre application Windows 8 plus visibleTrucs et astuces pour rendre votre application Windows 8 plus visible
Trucs et astuces pour rendre votre application Windows 8 plus visible
 
Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows Azure
 
Windows Phone 8 et la sécurité
Windows Phone 8 et la sécuritéWindows Phone 8 et la sécurité
Windows Phone 8 et la sécurité
 
Windows Phone 8 et la sécurité
Windows Phone 8 et la sécuritéWindows Phone 8 et la sécurité
Windows Phone 8 et la sécurité
 
Windows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer TalksWindows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer Talks
 
Personnalisation et Extension du Catalogue Applicatif dans System Center 2012...
Personnalisation et Extension du Catalogue Applicatif dans System Center 2012...Personnalisation et Extension du Catalogue Applicatif dans System Center 2012...
Personnalisation et Extension du Catalogue Applicatif dans System Center 2012...
 

Mais de Microsoft

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileMicrosoft
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Microsoft
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à ZMicrosoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 

Mais de Microsoft (20)

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 

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

  • 1. Donnez votre avis ! Depuis votre smartphone, sur : http://notes.mstechdays.fr De nombreux lots à gagner toutes les heures !!! Claviers, souris et jeux Microsoft… Merci de nous aider à améliorer les TechDays http://notes.mstechdays.fr
  • 2. SEC 313 Le modèle de sécurité des Windows Apps Philippe Beraud Jean-Yves Grasset Arnaud Jumelet Direction Technique Microsoft France Sécurité #WindowsApps
  • 3. • Les Windows Apps, un nouveau modèle applicatif • Le modèle de sécurité des Windows Apps • L’évolution des mécanismes internes Notre 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. LES WINDOWS APPS, UN NOUVEAU MODÈLE APPLICATIF
  • 5. Les applications sous Windows 8 JavaScript HTML / CSS . HTML JavaScript .
  • 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 pratiques de sécurité – Compilation avec les options de sécurité (DEP, ASLR, SAFESEH et SEHOP) SDK Windows 8 et Apps Windows
  • 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èque Microsoft Windows pour JavaScript) depuis le Windows Store – Au niveau Apps : PAS d’exécution de code lors du déploiement, PAS de modification des préférences de l'utilisateur, 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 dehors Principes de déploiement des Apps Windows
  • 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 Authenticode App Windows = Application empaquetée
  • 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’entreprise Publication des Apps sur le Windows Store
  • 10. • Tests de conformité lors de la publication d’une Apps dans le Windows Store – Analyse de l'application 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 Software Development Lifecycle) • Possibilité de tester préalablement une Apps avec le "Kit de certification 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é Windows Exigences de qualité et de sécurité
  • 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 d'administration > Composants Windows > Déploiement de package 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 en entreprise – slmgr /ipk <sideloading product key> – slmgr /ato ec67814b-30e6-4a50-bf7b-d55daf729d1e • Déploiement par add-appxpackage ou par le biais de l’image système • Cf. Préparation et déploiement d’applications pour l’entreprise Déploiement pour l’entreprise – "Sideloading"
  • 12. CONTENU D’UN PACKAGE D’APPLICATION *.APPX
  • 13. LE MODÈLE DE SÉCURITÉ DES WINDOWS APPS
  • 14. • Conteneur d’application (AppContainer) – Environnement d’exécution d’une Windows App –un ou plusieurs processus – Assure une isolation entre les Apps – Accès limité aux ressources du système et au réseau à travers la notion de capacités – Privilèges réduits – Pas d’accès au profil utilisateur Modèle de sécurité des Windows Apps
  • 15. • Niveaux d’isolation de l’AppContainer: 1. Isolation des processus 2. Isolation des fenêtres 3. Isolation du système de fichiers 4. Isolation des périphériques 5. Isolation du réseau 6. Isolation des informations d’identification • Néanmoins, les AppContainers ne sont PAS des frontiè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 COM qui pourraient permettre de franchir le conteneur isolé AppContainer : un conteneur applicatif isolé
  • 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 selon dé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 zone occupé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. Capacités location microphone proximity webcam other devices (represented by GUIDs) internetClient internetClientServer privateNetworkClientServer picturesLibrary videosLibrary musicLibrary removableStorage documentsLibrary enterpriseAuthentication sharedUserCertificates DeviceCapability Capability
  • 19. ESPACE DE STOCKAGE APPLICATIF ISOLATION DU SYSTÈME DE FICHIERS
  • 20. PARE-FEU WINDOWS ET PACKAGE D’APPLICATIONS ISOLATION DU RESEAU
  • 22. Contrôle d’accès sous Windows – Un bref rappel Ressource Windows Jeton d’accès Descripteur de sécurité de la ressource Accès à la ressource
  • 23. Jeton d’accès d’un AppContainer Ressource Windows Jeton d’accès Descripteur de sécurité de la ressource Accès à la ressource
  • 24. AppContainer : création du jeton de sécurité Windows Manifeste Jeton utilisateur Jeton utilisateur
  • 25. LE JETON DE SECURITE D’UN APPCONTAINER Réduction de la surface d'attaque
  • 26. L’étiquette d’intégrité d’une ressource Ressource Windows Jeton d’accès Descripteur de sécurité de la ressource Accès à la ressource
  • 27. Renforcement de l’isolation : lorsque les accès proviennent d’un AppContainer
  • 28. Accès contrôlé via les brokers Ressource Windows Jeton d’accès Descripteur de sécurité de la ressource Accès à la ressource
  • 29. Accès contrôlé via les Brokers
  • 30. UTILISATION D’UN BROKER POUR ACCÉDER AUX FICHIERS DE L’UTILISATEUR ACCES CONTROLE
  • 31. • Les applications ont toujours dû se protéger contre les attaques, qu'est-ce qui est vraiment nouveau ici ? – Environnement d’exécution restreint (AppContainer) – Des protections activées par défaut (Signature, Options de compilation) Qu’est-ce qui est réellement nouveau ?
  • 32. • Le modèle de sécurité des Windows Apps présente les avantages suivants : – Réduction de la surface d'attaque • 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és spéciales requièrent une licence « développeur d’entreprise » – Contrôle et consentement utilisateur • Chaque App divulgue ses capacités à l'utilisateur sur la page des détails sur le Windows Store. 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 et les capacités de stockage. Les Apps sont isolées les unes des autres et ne peuvent pas accéder à la mémoire utilisée et aux données stockées par d'autres applications En guise de conclusion
  • 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 du Windows Store) – Publication de votre application sur le Windows Store – Test des fonctionnalités de sécurité Windows (Windows) Pour aller plus loin
  • 34. Formez-vous en ligne Retrouvez nos évènements Faites-vous accompagner gratuitement Essayer gratuitement nos solutions IT Retrouver nos experts Microsoft Pros de l’IT Développeurs www.microsoftvirtualacademy.com http://aka.ms/generation-app http://aka.ms/evenements- developpeurs http://aka.ms/itcamps-france Les accélérateurs Windows Azure, Windows Phone, Windows 8 http://aka.ms/telechargements La Dev’Team sur MSDN http://aka.ms/devteam L’IT Team sur TechNet http://aka.ms/itteam

Notas do Editor

  1. Notation
  2. Les logiciels sous Windows s’exécutent traditionnellement sur le Bureau. Il s’agit de programmes traditionnels généralement développés avec des technologies telles que MFC, Windows Forms ou encore WPF Avec Windows 8, on distingue : Les applications de bureau (majoritairement API Win32) Les applications Windows (pour le Windows Store) avec les API Windows Runtime (WinRT) Cf. APIs Windows Runtime : http://msdn.microsoft.com/en-US/library/windows/apps/br211377 Possibilités d’applications hybrides : écrites dans différents langages
  3. ****** Allowed Win32 & COM API’s are callable via P/Invoke and COM interop JavaScript apps can’t call Win32 & COM API’s directly but they can call WinRT components written in C++ or C# to do it (and you can create your own WinRT components). You must use only the Windows Runtime APIs to implement the features of your Windows Store app We describe these APIs in the Windows Store apps API reference : http://msdn.microsoft.com/en-us/library/windows/apps/br211369.aspx Options de sécurité À la compilation •Prévention de l’exécution des données /NXCOMPAT --- Utilise le mécanisme Data Execution Prevention (DEP) Voir : http://blogs.technet.com/b/srd/archive/2009/06/05/understanding-dep-as-a-mitigation-technology-part-1.aspx et : http://blogs.technet.com/b/srd/archive/2009/06/12/understanding-dep-as-a-mitigation-technology-part-2.aspx •Randomisation du format d’espace d’adresse /DYNAMICBASE --- Active le mécanisme Address Space Layout Randomization (ASLR) •Protection de la gestion des exceptions /SAFESEH Au Runtime • Utilise le mécanisme Structured Exception Handler Overwrite Protection (SEHOP) – (Binaire marqué pour Opt-in) Voir : http://blogs.technet.com/b/srd/archive/2009/11/20/sehop-per-process-opt-in-support-in-windows-7.aspx et : http://blogs.technet.com/b/srd/archive/2009/02/02/preventing-the-exploitation-of-seh-overwrites-with-sehop.aspx http://blogs.technet.com/b/srd/archive/2009/02/02/preventing-the-exploitation-of-seh-overwrites-with-sehop.aspx (System-wide) ***** "Windows App Certification Kit" : http://go.microsoft.com/fwlink/?LinkId=263703
  4. Une seule règle d’éditeur nécessaire pour une App Windows : Cf. Applications empaquetées et règles du programme d’installation d’application empaquetée dans AppLocker (http://technet.microsoft.com/fr-fr/library/hh831350.aspx)
  5. Les packages appx sont des fichiers de conteneur ZIP qui sont définis comme un sous-ensemble des normes ISO et OPC (Open Packaging Conventions) ECMA *** Le fichier (AppxBlockMap) est un document XML qui contient une liste des fichiers de l'App ainsi que les indexes et les hashes cryptographiques de tous les blocs de données qui sont stockés dans le package. Permet la mise à jour incrémental d'une App. Block elements represent a 64-KB (65536 bytes) block of uncompressed data within a file that is stored in the Appx package. (Except for the last block of a file) HashMethod : SHA2-256 (par défaut), SHA2-384 ou SHA2-512
  6. Centre de développement – Applications Windows Store : http://go.microsoft.com/fwlink/p/?LinkID=245786 Publication de votre application sur le Windows Store (Windows) : http://msdn.microsoft.com/fr-fr/library/windows/apps/jj657972.aspx
  7. "Kit de certification des applications Windows" : http://go.microsoft.com/fwlink/?LinkId=263703 BinScope Binary Analyzer : http://msdn.microsoft.com/fr-fr/library/windows/apps/hh920280.aspx#binscope Attack Surface Analyser : http://msdn.microsoft.com/fr-fr/library/windows/apps/hh920280.aspx#asa
  8. Windows 8 Entreprise : chargement parallèle en entreprise activé Cf. Préparation et déploiement d’applications pour l’entreprise (Windows) : http://msdn.microsoft.com/fr-fr/library/windows/apps/jj657971.aspx Tant que la plate-forme n'est pas configurée pour le sideloading, la tuile de l'App métier dans l'écran d'accueil affiche un «X» dans le coin en bas à droite pour indiquer qu'un problème empêche l'App de s'exécuter. Windows 8 Home Edition, il est possible d’ajouter localement sur l’ordinateur une application métier en utilisant une licence développeur ou via une GPO locale. ---------------- Clef produit sideloading : disponible sur le site MVLS
  9. Montrer les éléments qui constituent un package (fichier zip) : Manifeste : identité, capacités, contrats, extensions et association de fichier Fichier de cartographie de bloc Signature du package Installer le package d’application et exécuter l’application
  10. Privilèges réduits Le modèle de sécurité de Windows 8 évolue et introduit le concept de conteneur d’application (AppContainer). Basé sur le principe du moindre privilège et utilise des niveaux d'isolation. Le format du jeton de sécurité sous Windows 8 évolue. Il contient des capacités, des packages SID, des claims et des devices groups. Chaque App sur Windows 8 s'exécute dans son propre AppContainer isolé qui est défini par les capacités déclarées comme requises par l'application pour fonctionner. Un AppContainer offre des niveaux d'isolation dans lequel un processus peut s'exécuter. De plus, un AppContainer est défini et mis en œuvre à l'aide d'un système de politique (le manifeste). La politique de sécurité d'un AppContainer définit les capacités que les processus peuvent utiliser. Une capacité est une ressource pour laquelle la sécurité, la vie privée ou bien le coût financier, est en jeu. Des exemples de capacités comprennent des informations de localisation géographique, la caméra, le microphone, l'accès au réseau local, l'envoi de SMS, etc.
  11. Les AppContainers fournissent six niveaux d’isolation : Isolation des processus. Les processus dans un AppContainer ne peuvent interférer avec les processus d’autres AppContainers. Concrètement, cela inclut : Des espaces de noms BNO (BaseNamedObjects) isolés par AppContainer. Lecture bloquée dans le registre machine (HKLM). Lecture bloquée dans le registre utilisateur (HCKU) sauf dans des clés précisées dans une liste blanche. Ecriture bloquée dans le registre utilisateur (HKCU) sauf dans des parties isolées par AppContainer. Accès restreint à la GAT (Global Atom Table). Pas de communication interprocessus (IPC) en dehors de l’AppContainer. Interdiction d’injecter des threads dans un autre AppContainer. Dans tous les cas, un processus de confiance ou un autre AppContainer peut toujours octroyer des droits sur des ressources lui appartenant à un AppContainer spécifique, en positionnant des ACL adéquates. Isolation des fenêtres. Les processus dans un AppContainer ne peuvent interférer avec les fenêtres appartenant à d’autres AppContainers ni d’autres processus de niveau d’intégrité plus élevé. Il s’agit d’une extension du modèle UIPI précédent. Isolation du système de fichiers. L’accès au système de fichiers est restreint : un AppContainer a interdiction de lecture et d’exécution excepté dans les répertoires Program Files et Windows. Il n’a le droit d’écrire que dans des répertoires spécifiques isolés par AppContainer. Il est toutefois possible d’octroyer des droits d’accès à des bibliothèques utilisateur (Musique, Photos…) ou d’utiliser des ACL spécifiques. Isolation des périphériques. Les AppContainers ont un accès restreint aux périphériques, excepté le clavier, la souris et les haut-parleurs. Des droits d’utilisation de certains périphériques peuvent être accordés, et, pour certains périphériques sensibles tels que le GPS ou la webcam, l’accord de l’utilisateur est demandé lors de l’accès. Isolation du réseau. L’utilisation du réseau est bloquée, et l’on peut définir certains droits de manière déclarative : client internet, client et serveur internet, client et serveur réseau local). L’accès au loopback est bloqué. Isolation des informations d’identification. L’accès aux informations d’identification est bloqué, mais chaque AppContainer peut utiliser son propre stockage d’informations d’identification, ses propres cookies, mots de passes enregistrés et certificats, dans son stockage isolé. Il est possible de donner le droit à un AppContainer d’utiliser les informations d’identification de l’utilisateur ainsi que ses certificats. Il ne peut utiliser le gestionnaire d’identification de Windows et il a un accès contrôlé aux identifications tierces telles que le compte Microsoft ou OAuth. différents mécanismes dont les capacités.
  12. Lancer le taskmanager
  13. Les Windows Apps ont accès (sans avoir à déclarer de capacité matériel spécifique) au clavier, à la souris, aux haut-parleurs, aux imprimantes ainsi qu’aux capteurs physiques suivants : Accéléromètre, Gyromètre, Magnétomètre, inclinomètre, capteur d’orientation ainsi que capteur de lumière ambiante. Les exigences de confidentialité s'appliquent lorsque vous accédez à des capteurs matériels divulguant des informations personnelles et/ou confidentielles.
  14. Location : Provides access to the current location. This is obtained from dedicated hardware like a GPS sensor in the PC, or derived from available network information. Microphone : Provides access to the microphone's audio feed. This allows the app to record from connected microphones. Proximity : Provides the capability to connect to devices in close proximity to the PC via near-field communication (NFC). Near-field proximity may be used to send files or communicate with an app on the nearby device. Removable Storage : Provides the ability to add, change, or delete files on removable storage devices. The app can only access file types on removable storage that are defined in the manifest by using the File Type Associations declaration. The app can't access removable storage on HomeGroup PCs. Text Messaging : Provides access to the PC's text messaging functionality. This allows the app to send and receive text messages. Note  This functionality is only available to mobile operator apps and Windows Store apps given privileged access by mobile network operators. Webcam : Provides access to the webcam's video feed. This allows the app to capture snapshots and movies from connected webcams. Pour pouvoir être publiées sur le Windows Store, les Apps qui demandent des capacités spéciales requièrent une licence « développeur d’entreprise ». Four categories of capabilities Network Access Data Access User Identity Device Access La première fois qu’une App utilise une capacité lié à du matériel ayant un impact sur la vie privée (localisation, photo, vidéo…) l’utilisateur doit donner explicitement son consentement.
  15. Many applications maintain user settings and preferences between invocations of the program. The Windows Runtime provides an area of application data storage (sometimes known as “isolated storage”) specifically for the use of the application in storing information of this sort. A program obtains access to this storage through the ApplicationData class in the Windows.Storage namespace. An instance of ApplicationData applicable for the current application is available from the static ApplicationData.Current property. From that object, a TemporaryFolder property provides a disk area suitable for temporary data. Other properties—LocalFolder, LocalSettings, RoamingFolder, and RoamingSettings—are also available for storing more permanent data. If you want, you can store program settings in isolated storage, perhaps in XML format serialized from a class typically called AppSettings. If you store settings in the AppicationData.Current.LocalFolder directory, you’ll discover that it maps to the following location on the machine’s main drive: /Users/[username]/AppData/Local/Packages/[package family name]/LocalState The [username] is the user’s name on the computer, and [package family name] is mostly a GUID that uniquely identifies the application. For any Visual Studio application project you can find this name by opening the Package.appmanifest file and clicking the Packaging tab. ApplicationDataContainer appData = ApplicationData.Current.LocalSettings;
  16. Aller dans %LOCALAPPDATA%\Packages\Microsoft.SDKSamples.TechDays2013.CS_mc4wj1f4h8fhj Expliquer le rôle de chaque dossier
  17. CheckNetIsolation.exe Loopbackexempt -a -n="Radios Francaises«  ?
  18. 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 »
  19. Les AppContainers fournissent six niveaux d’isolation : Isolation des processus. Les processus dans un AppContainer ne peuvent interférer avec les processus d’autres AppContainers. Concrètement, cela inclut : Des espaces de noms BNO (BaseNamedObjects) isolés par AppContainer. Lecture bloquée dans le registre machine (HKLM). Lecture bloquée dans le registre utilisateur (HCKU) sauf dans des clés précisées dans une liste blanche. Ecriture bloquée dans le registre utilisateur (HKCU) sauf dans des parties isolées par AppContainer. Accès restreint à la GAT (Global Atom Table). Pas de communication interprocessus (IPC) en dehors de l’AppContainer. Interdiction d’injecter des threads dans un autre AppContainer. Dans tous les cas, un processus de confiance ou un autre AppContainer peut toujours octroyer des droits sur des ressources lui appartenant à un AppContainer spécifique, en positionnant des ACL adéquates. Isolation des fenêtres. Les processus dans un AppContainer ne peuvent interférer avec les fenêtres appartenant à d’autres AppContainers ni d’autres processus de niveau d’intégrité plus élevé. Il s’agit d’une extension du modèle UIPI précédent. Isolation du système de fichiers. L’accès au système de fichiers est restreint : un AppContainer a interdiction de lecture et d’exécution excepté dans les répertoires Program Files et Windows. Il n’a le droit d’écrire que dans des répertoires spécifiques isolés par AppContainer. Il est toutefois possible d’octroyer des droits d’accès à des bibliothèques utilisateur (Musique, Photos…) ou d’utiliser des ACL spécifiques. Isolation des périphériques. Les AppContainers ont un accès restreint aux périphériques, excepté le clavier, la souris et les haut-parleurs. Des droits d’utilisation de certains périphériques peuvent être accordés, et, pour certains périphériques sensibles tels que le GPS ou la webcam, l’accord de l’utilisateur est demandé lors de l’accès. Isolation du réseau. L’utilisation du réseau est bloquée, et l’on peut définir certains droits de manière déclarative : client internet, client et serveur internet, client et serveur réseau local). L’accès au loopback est bloqué. Isolation des informations d’identification. L’accès aux informations d’identification est bloqué, mais chaque AppContainer peut utiliser son propre stockage d’informations d’identification, ses propres cookies, mots de passes enregistrés et certificats, dans son stockage isolé. Il est possible de donner le droit à un AppContainer d’utiliser les informations d’identification de l’utilisateur ainsi que ses certificats. Il ne peut utiliser le gestionnaire d’identification de Windows et il a un accès contrôlé aux identifications tierces telles que le compte Microsoft ou OAuth. différents mécanismes dont les capacités.
  20. Apps XAML Les Apps s’exécutent dans un AppContainer dont le processus porte le nom du binaire de l’Apps. Apps HTML5 Les Apps développées en HTML5/Javascript s’exécutent dans un AppContainer dont le processus est WWAHost.exe Pas d’accès aux plug-ins et extensions d’Internet Explorer C:\Windows\syswow64\wwahost.exe dans le cas d’une application 32 bits, C:\Windows\system32\wwahost.exe dans le cas d’une application 64 bits. ********************************************************************** L'appcontainer active les mécanismes de protection suivants : NX (Data Execution Prevention) is unconditionally on and cannot be turned off. Structured Exception Handler Overwrite Protection (SEHOP). Bottom up Address Space Layout Randomization (ASLR). Terminate on heap corruption. L'appcontainer ne chargent que des applications signées et vérifiées par rapport à la politique locale de l'ordinateur. Validé par Code Integrity (CI.DLL).
  21. Modèle d’isolation Windows basé sur UAC et les niveaux d’intégrité. Aucune écriture et lecture dans le profil de l’utilisateur sauf permissions ou capacités explicites.
  22. La création d’un AppContainer s’effectue à l’aide de la fonction NtCreateLowBoxToken. – duplique le jeton d’accès spécifié en paramètre - Tous les privilèges sont retirés ou désactivés du jeton à l’exception de celui-ci SeChangeNotifyPrivilege. – passe le niveau d’intégrité du jeton d’accès à bas (low)
  23. Le jeton de sécurité évolue et ajoute le support des : AppContainerSID: identitifiant unique persistant AppContainer Number : identifiant transitoire qui permet distinguer un AppContainer parmi d'autres de manière très rapide et efficace. Capacités Claims : User et Device Claims restreints : User et Device Device Groups SID
  24. 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\Administrateurs 1 seul privilège : SeChangeNotifyPrivilege. Expliquer que le seul autre privilège activable serait SeIncreaseWorkingSetPrivilege Montrer le package SID dont le flag est AppContainer Montrer les différentes capacités Enfin, montrer le niveau d'intégrité Faible.
  25. ************************** Integrity levels defined by Security IDs (SIDs) The RID defines the integrity level Primary integrity levels Low S-1-16-4096 (0x1000) Medium S-1-16-8192 (0x2000) High S-1-16-12288 (0x3000) System S-1-16-16384 (0x4000) ******************************** Integrity level policies associated with generic access rights No-Write-Up – means lower IL process cannot modify higher IL object No-Read-Up – prevents lower IL process from having generic read No-Execute-Up – prevents lower IL process generic execute access Default policy for resources is Medium level with No-Write-Up
  26. Si l’appel provient d’un AppContainer, alors AccessCheck() applique une politique No_READ_UP aux ressources accédées (autres que « Program Files » et « Windows » AccessCheck() Integrity Check +NO_READ_UP NO_WRITE_UP Discretionary access Check Package SID User, Groups, Claims…
  27. Mécanisme d’isolation basée dans le noyau Windows. (MIC pour Mandatory Integrity Control) http://msdn.microsoft.com/en-us/library/bb625963.aspx Un AppContainer a un niveau d’intégrité bas et une politique No write-up dans le jeton d’accès Politique Protège les fichiers et les données du système de modification par les utilisateurs privilégiés Protège les données de l’utilisateur de modification par du code d’intégrité plus faible Pas d’écriture sur le profil utilisateur. Les ACLS sur les processus ont une politique No-Read up et No write-up Un processus d’intégrité plus faible n’est pas autorisé à lire le contenu de la mémoire d’un processus dont l’intégrité est supérieure Protège également contre la modification de la mémoire MIC permet de préserver l’intégrité des données et (la confidentialités des données même s’il existe les ACL pour cela !) L’IL est contrôlé avant la DACL Un processus (thread) peut seulement ouvrir un objet en accès écriture si son IL est égal ou supérieur à celui de l’objet en question L’Integrity Level (IL) des l’objets est stocké comme IL ACE dans une SACL Processus, threads et jetons ont toujours une IL ACE Les fichiers et clés de la base de registre qui n’ont pas d’IL ACE ont un niveau implicite Medium et une politique implicite de type No Write-UP **************** #define SDDL_NO_WRITE_UP TEXT("NW") #define SDDL_NO_READ_UP TEXT("NR") #define SDDL_NO_EXECUTE_UP TEXT("NX")
  28. Exemple de dossier ayant une étiquette d’intégrité explicite c:\Users\arjum\Favorites c:\Users\arjum\AppData\LocalLow c:\Users\arjum\AppData\Local\Packages c:\Users\arjum\AppData\Local\Microsoft\Windows\History\Low c:\Users\arjum\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low c:\windows\ServiceProfiles\NetworkService\AppData\LocalLow ************* Pour afficher l’étiquette d’intégrité contenu dans la SACL d’un processus : accesscheck (sysinternals) *************
  29. Les Apps sont présentes dans %Program Files%\WindowsApps Les Apps dans un AppContainer ont leur propre stockage applicatif Stockage local : %LOCALAPPDATA%\Packages\{packagename}_{publisherhash}. Les préférences de l’application sont enregistrées dans un fichier ruche (.dat) dont la correspondance dans la base de registre est : HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage Pour accéder à d’autres endroits, cela nécessite d’avoir Capacité dans le manifeste Consentement de l’utilisateur via le sélecteur de fichiers (FilePicker) ************************** Is Windows 8 subject to EAS remote wipe? Only local email storage is wiped, not the whole computer. !
  30. Lancer la Windows App TechDays2013 Lancer ProcessExplorer Montrer 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 Explorer Remarquer 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.
  31. Delivering reliable and trustworthy Metro style apps : http://blogs.msdn.com/b/b8/archive/2012/05/17/delivering-reliable-and-trustworthy-metro-style-apps.aspx Designing a simple and secure app package – APPX : http://blogs.msdn.com/b/windowsappdev/archive/2012/12/04/designing-a-simple-and-secure-app-package-appx.aspx Critères de certification pour les applications Windows 8 : http://msdn.microsoft.com/fr-fr/library/windows/apps/hh694083.aspx Packages et déploiement d’applications (applications du Windows Store) : http://msdn.microsoft.com/fr-fr/library/windows/apps/hh464929.aspx Publication de votre application sur le Windows Store : http://msdn.microsoft.com/fr-fr/library/windows/apps/jj657972.aspx Test des fonctionnalités de sécurité Windows (Windows) : http://msdn.microsoft.com/fr-fr/library/windows/apps/hh920280.aspx
  32. Call to action