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

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

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

Page 1: Le modèle de sécurité des Windows Apps

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

Page 2: Le modèle de sécurité des Windows Apps

SEC 313 Le modèle de sécurité des

Windows AppsPhilippe Beraud

Jean-Yves GrassetArnaud Jumelet

Direction TechniqueMicrosoft France

Sécurité

#WindowsApps

Page 3: Le modèle de sécurité des Windows Apps

• 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é

Page 4: Le modèle de sécurité des Windows Apps

LES WINDOWS APPS, UN NOUVEAU MODÈLE APPLICATIF

Page 5: Le modèle de sécurité des Windows Apps

Les applications sous Windows 8

JavaScript

HTML / CSS

.

HTMLJavaScript

.

Page 6: Le modèle de sécurité des Windows Apps

• 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

Page 7: Le modèle de sécurité des Windows Apps

• 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

Page 8: Le modèle de sécurité des Windows Apps

• 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

Page 9: Le modèle de sécurité des Windows Apps

• 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

Page 10: Le modèle de sécurité des Windows Apps

• 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é

Page 11: Le modèle de sécurité des Windows Apps

• 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"

Page 12: Le modèle de sécurité des Windows Apps

demoCONTENU D’UN PACKAGE D’APPLICATION

*.APPX

Page 13: Le modèle de sécurité des Windows Apps

LE MODÈLE DE SÉCURITÉ DES WINDOWS APPS

Page 14: 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

Page 15: Le 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é

Page 16: Le modèle de sécurité des Windows Apps

demoISOLATION DES APPCONTAINERSPROCESSUS APPCONTAINER

Page 17: Le modèle de sécurité des Windows Apps

• 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é

Page 18: Le modèle de sécurité des Windows Apps

Capacités

locationmicrophoneproximitywebcamother devices (represented by GUIDs)

internetClientinternetClientServerprivateNetworkClientServerpicturesLibraryvideosLibrarymusicLibraryremovableStorage

documentsLibraryenterpriseAuthenticationsharedUserCertificates

DeviceCapabilityCapability

Page 19: Le modèle de sécurité des Windows Apps

demoESPACE DE STOCKAGE APPLICATIFISOLATION DU SYSTÈME DE FICHIERS

Page 20: Le modèle de sécurité des Windows Apps

demoPARE-FEU WINDOWS ET PACKAGE D’APPLICATIONS

ISOLATION DU RESEAU

Page 21: Le modèle de sécurité des Windows Apps

L’ÉVOLUTION DES MÉCANISMES INTERNES

Page 22: Le modèle de sécurité des Windows Apps

Contrôle d’accès sous Windows – Un bref rappel

RessourceWindows

Jetond’accè

sDescripteur de sécurité de la

ressource

Accès à la ressource

Page 23: Le modèle de sécurité des Windows Apps

Jeton d’accès d’un AppContainer

RessourceWindows

Jetond’accè

sDescripteur de sécurité de la

ressource

Accès à la ressource

Page 24: Le modèle de sécurité des Windows Apps

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

Page 25: Le modèle de sécurité des Windows Apps

demoLE JETON DE SECURITE D’UN APPCONTAINER

Réduction de la surface d'attaque

Page 26: Le modèle de sécurité des Windows Apps

L’étiquette d’intégrité d’une ressource

RessourceWindows

Jetond’accè

sDescripteur de sécurité de la

ressource

Accès à la ressource

Page 27: Le modèle de sécurité des Windows Apps

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

Page 28: Le modèle de sécurité des Windows Apps

Accès contrôlé via les brokers

RessourceWindows

Jetond’accè

sDescripteur de sécurité de la

ressource

Accès à la ressource

Broker

Page 29: Le modèle de sécurité des Windows Apps

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

Page 30: Le modèle de sécurité des Windows Apps

demoUTILISATION D’UN BROKER POUR ACCÉDER AUX FICHIERS DE L’UTILISATEUR

ACCES CONTROLE

Page 31: Le modèle de sécurité des Windows Apps

• 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 ?

Page 32: Le modèle de sécurité des Windows Apps

• 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

Page 33: Le modèle de sécurité des Windows Apps

• 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

Page 34: Le modèle de sécurité des Windows Apps

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