Upload
microsoft-developpeurs
View
666
Download
0
Embed Size (px)
DESCRIPTION
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.
Citation preview
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 AppsPhilippe Beraud
Jean-Yves GrassetArnaud Jumelet
Direction TechniqueMicrosoft 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
.
HTMLJavaScript
.
• 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
• Preuve de possession d’une carte de crédit nominative
• Preuve de possession d’une carte de crédit nominative
• Vérification de l’identité par Symantec
• Accès uniquement aux capacités standards*
• Accès à toutes les capacités (standards et spéciales)*
• Apps Windows • Apps Windows• Applications de bureau
• 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"
demoCONTENU 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 processus2. Isolation des fenêtres3. Isolation du système de fichiers4. Isolation des périphériques5. 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é
demoISOLATION DES APPCONTAINERSPROCESSUS 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
locationmicrophoneproximitywebcamother devices (represented by GUIDs)
internetClientinternetClientServerprivateNetworkClientServerpicturesLibraryvideosLibrarymusicLibraryremovableStorage
documentsLibraryenterpriseAuthenticationsharedUserCertificates
DeviceCapabilityCapability
demoESPACE DE STOCKAGE APPLICATIFISOLATION DU SYSTÈME DE FICHIERS
demoPARE-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
RessourceWindows
Jetond’accè
sDescripteur de sécurité de la
ressource
Accès à la ressource
Jeton d’accès d’un AppContainer
RessourceWindows
Jetond’accè
sDescripteur de sécurité de la
ressource
Accès à la ressource
AppContainer : création du jeton de sécurité
L’utilisateur clique sur une tuile de l’écran de démarrage pour lancer l’Apps Courrier
svchost.exeLancement de wwahost.exe
Windows
Manifeste
Jetonutilisateu
r
Jetonutilisateu
r
demoLE JETON DE SECURITE D’UN APPCONTAINER
Réduction de la surface d'attaque
L’étiquette d’intégrité d’une ressource
RessourceWindows
Jetond’accè
sDescripteur de sécurité de la
ressource
Accès à la ressource
Renforcement de l’isolation :lorsque les accès proviennent d’un AppContainer
App container
UIPI, No Read-Up, Shadow BNO, Private RPC Control, Network Isolation, …
Low
Applications administrateurHigh
Medium
App container
App container
Applications de bureauDonnées utilisateurs
System Windows 8
Accès contrôlé via les brokers
RessourceWindows
Jetond’accè
sDescripteur de sécurité de la
ressource
Accès à la ressource
Broker
Accès contrôlé via les Brokers
App container
UIPI, No Read-Up, Shadow BNO, Private RPC Control, Network Isolation, …
Low
Applications administrateurHigh
Medium
App container
App container
Données utilisateurs Brokers
System Windows 8
Man
ifest
App
demoUTILISATION 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’ITDéveloppeurs
www.microsoftvirtualacademy.com
http://aka.ms/generation-app
http://aka.ms/evenements-developpeurs http://aka.ms/itcamps-france
Les accélérateursWindows Azure, Windows Phone,
Windows 8
http://aka.ms/telechargements
La Dev’Team sur MSDNhttp://aka.ms/devteam
L’IT Team sur TechNethttp://aka.ms/itteam