Un nouveau client plus rapide mais aussi plus sûr. A lire assurément
Laurent TERUIN
Article original : https://techcommunity.microsoft.com/t5/microsoft-teams-blog/what-s-new-for-security-in-the-new-microsoft-teams/ba-p/3804261
Microsoft a récemment annoncé une nouvelle version de l’application de bureau Microsoft Teams. Pour une vue d’ensemble des changements architecturaux de la nouvelle version de Teams, lisez « Avantages de la nouvelle architecture ». Dans cet article de blog, nous allons décrire certaines des améliorations de sécurité apportées par cette nouvelle version de Teams.
Déploiement plus sûr avec MSIX
La nouvelle version de Teams ne s’appuie plus sur des solutions sur mesure pour le déploiement et les mises à jour. Au lieu de cela, il exploite maintenant les paquets MSIX et App Installer qui sont tous deux supportés nativement par Windows. Cela réduit considérablement la surface de risque et les coûts de maintenance par rapport à l’utilisation d’un programme d’installation et de mise à jour personnalisé.
Nous nous éloignons également de l’installation de Teams dans le profil de l’utilisateur. Bien que l’installation dans le profil de l’utilisateur soit pratique et ne nécessite pas de privilèges élevés, elle facilite également les activités courantes de post-exploitation, telles que le maintien de la persistance. La nouvelle équipe s’appuie sur App Installer pour les installations et s’installera dans un emplacement privilégié, où les utilisateurs non administrateurs ne peuvent pas modifier ses fichiers exécutables.
Des mises à jour plus rapides grâce au moteur d’exécution Edge WebView2
L’un des changements architecturaux les plus importants dans les nouvelles équipes est le passage d’Electron à Edge WebView2. Electron et WebView2 sont tous deux basés sur le même moteur de navigateur Chromium, mais le passage à WebView2 permet à la nouvelle équipe de bénéficier de divers avantages.
Par exemple, la nouvelle équipe sur Windows exploite WebView2 dans le modèle de distribution evergreen. Cela signifie que le moteur d’exécution WebView2 est mis à jour avec le navigateur Edge et indépendamment du client Teams, et qu’il peut être partagé entre plusieurs applications d’intégration (par exemple, Teams et Outlook). Cela permet d’économiser de l’espace de stockage sur l’appareil de l’utilisateur en partageant l’instance WebView2 entre plusieurs applications d’intégration.
Le modèle de distribution évolutif présente également l’avantage de fournir le runtime le plus récent et le plus sûr pour les applications intégrées. Même si nous avons mis en place un programme visant à garantir que les clients Teams classiques reçoivent les correctifs de sécurité applicables de Chromium, le passage au runtime WebView2 evergreen nous permet de réduire la charge de travail associée au backporting et de fournir des correctifs de sécurité à nos clients plus rapidement.
Less bloated application
Un autre effet du passage d’Electron à WebView2 est que l’exécutable principal de Teams est plus mince : moins de 12 mégaoctets pour le nouveau Teams contre plus de 134 mégaoctets pour le Teams classique.
Cela s’explique simplement par le fait que Teams classique est géré par un exécutable Electron, comprenant la plupart de Chromium, Node.js et toute la logique d’Electron. Il est peut-être surprenant de constater qu’il comprend très peu de logique d’application – la plupart d’entre elles étant livrées avec l’exécutable sous forme de fichiers JavaScript et DLL. En d’autres termes, il y a un peu de frais généraux et une surface de risque supplémentaire.
En revanche, l’exécutable principal des nouvelles équipes contient principalement la logique applicative et l’infrastructure requise. Il ne contient ni Chromium ni Node.js. L’absence de V8 (le moteur JavaScript utilisé par Node.js et Chromium) ou de tout autre compilateur/interprète en particulier nous donne plus de liberté pour déployer davantage de mesures d’atténuation de la sécurité des processus et de la mémoire à l’avenir.
Une meilleure sécurité sur le web avec Trusted Types
Parlons maintenant des améliorations que nous avons apportées sur le web. La nouvelle équipe reste un client hybride dans lequel l’application client (un « shell ») charge et affiche un contenu distant à partir d’un site web. Avec une telle architecture hybride, la sécurité de la couche web est une partie inséparable de la sécurité globale du client, et elle a également reçu quelques améliorations majeures dans le nouveau Teams.
- Nous disposons d’une pile de cadres web modernisés. Les nouvelles équipes sont reconstruites à l’aide de React. Nous avons opté pour React parce qu’il permet aux ingénieurs d’écrire plus facilement un code plus sûr.
- Nous avons amélioré l’infrastructure de la politique de sécurité du contenu (CSP) pour permettre des ajustements plus granulaires, ce qui se traduit par une politique plus stricte et plus fine.
- Nous avons investi de manière significative dans l’atténuation des attaques de type « cross-site scripting » (XSS) et déployé les « Trusted Types ». Trusted Types est une technologie renforcée par le navigateur, conçue pour empêcher les XSS côté client, tels que ceux résultant de l’écriture de balises HTML non aseptisées dans le DOM. Lorsque Trusted Types est activé, le navigateur protège les propriétés et les fonctions susceptibles de modifier le DOM (appelées « sinks ») contre l’attribution ou l’appel d’entrées non traitées par une fonction d’assainissement approuvée. Nous pensons que l’adoption de Trusted Types améliorera de manière significative la résistance des nouvelles équipes contre les XSS.
Ce n’est que le début
La sécurité est un voyage, et vos commentaires sont essentiels à notre réussite. Essayez la nouvelle version de Teams et faites-nous part de vos impressions ! Si vous trouvez une faille de sécurité dans Teams ou tout autre produit Microsoft, veuillez la signaler sur le portail des chercheurs du CSEM. Nous avons mis en place un programme de récompense pour les bogues de sécurité, de sorte que les personnes qui le signalent peuvent être éligibles à une récompense.
