Windows 10 Entreprise : Edge va tourner dans une machine virtuelle pour plus de sécurité

Stéphane Moussie |

Les navigateurs web sont des vecteurs critiques de piratages informatiques. Afin de réduire les risques de sécurité, les éditeurs les isolent (comme les autres applications) dans des bac à sable (sandbox). Avec la prochaine version majeure de Windows 10, Microsoft va aller plus loin en faisant tourner son navigateur Edge dans une machine virtuelle.

Le sandboxing d'OS X introduit avec Lion.

Les machines virtuelles, qui servent habituellement à faire tourner un OS à l'intérieur d'un autre OS, sont encore plus coupées du système que les sandbox. Elles ne peuvent pas voir les processus de la machine hôte, ni accéder à son espace de stockage et encore moins modifier l'OS principal.

En plaçant Edge dans sa propre machine virtuelle, Microsoft réduit ainsi drastiquement les risques d'infection. Si un malandrin venait à compromettre le navigateur, il resterait bloqué (en théorie) dans la machine virtuelle où il n'y a aucune donnée sensible.

Cette mesure de sécurité baptisée Application Guard entraîne aussi des contreparties qui font qu'elle est réservée à Windows 10 Enterprise — au moins dans un premier temps.

Les cookies des sites web ne peuvent pas être conservés, parce que la machine virtuelle est supprimée quand le navigateur est fermé. Cela signifie qu'il faut se reconnecter aux sites à chaque lancement. Les administrateurs auront tout de même la possibilité de désigner des sites sûrs qui n'utiliseront pas la machine virtuelle.

Par ailleurs, l'utilisation simultanée d'une autre machine virtuelle ne sera pas possible. Et puis il y a la question des performances que Microsoft n'a pas éclaircie. Application Guard, qui arrivera en 2017, n'en reste pas moins intéressant.

avatar reborn | 

C'est présent dans os x ?

avatar noooty | 

@reborn :
Tu n'as pas lu l'article?

avatar reborn | 

@noooty :
C'est par rapport à Safari, je voulais savoir si cette app précisément est sandboxé

avatar Stéphane Moussie | 
@reborn : oui, c'était même l'une des premières sandboxées.
avatar Lemmings | 

@Stéphane Moussie : heu, il y a une nuance importante, le sandboxing de safari n'est pas à ce niveau là. L'exécution js est sandboxée mais pas l'accès à l'ordinateur. Les cookies, le local storage et autres sont bien exploitables sur Safari mac et ios.

Ce que propose MS ici va bien plus loin. C'est un sandboxing via conteneur (fonction du kernel) qui isole réellement le process de la page.

avatar C1rc3@0rc | 

Faut attendre de voir comment ils vont realiser cela mais a premiere vue ça ressemblre plus a un constat d'echec qu'a toute autre chose. Et les contraintes indiquées semblent bien relever de la virtualisation la plus classique!

Le sandboxing c'est une technique complexe qui offre en theorie une isolation non penalisante pour une application ou une partie de cette application. Si c'est bien realisé et que l'OS est coherent, la compromission de la memoire ou des tentatives d'acces non autorisées tombent dans le vide et ne menacent ni le reste de la machine ni meme les autres doccuments du logiciel sandboxe.

La virtualisation c'est radicalcment different puisque il s'agit de faire tourner un ordinateur virtuel dans un ordinateur reel, qui peut avoir un processeur et une architecture specifique. Utiliser cette technique pour des raisons de securité, cela revient a dire que la plateforme (l'OS) reelle n'est pas securisable!

Dans les faits, si MS va dans cette direction, sur les versions incompatibles de Windows, la solution c'est carrement de lancer un OS different (Linux, OpenBSD, MacOS, ChromeOS,...) avec un navigateur securisé comme Chrome ou Firefox!

avatar awk | 

@C1rc3@0rc

Je trouve intéressant que tu considères ce type d'approche comme un "constat d'échec"

S'en est effectivement un, d'un point de vue purement formel, mais est-il pour autant non-pertinent ?

Sur la question de la sécurité informatique l'édifice sur lequel est battît toute l'informatique que nous utilisons n'est-il pas confronter à de profondes limites quant à la capacité de le sécuriser ?

Effectivement certaines approches actuelles tiennent tu contournement de l'obstacle plus que de son élimination, mais le pragmatisme de ces approches doit-il pour autant être condamné ?

La table rase du passé semble difficile a envisager pour reconstruire l'édifice en mettant cette fois l'emphase sur les enjeux de qualité et eue sécurité.

avatar C1rc3@0rc | 

@awk

Ta question est intéressante mais implique de passer a un débat sur la théorie de la science informatique.

On parle ici de périmètre d'un espace d'exécution.
L'OS s'exécute dans un espace qu'il est censé contrôler, maitriser et respecter. L'OS devrait etre garant de sous périmètres garantis pour les applications. La plupart des applications gerent un etat, le modifient et le restituent avec une certaine latitude. A l'intérieur de ces applications, il y a des espaces (périmètres) qui devraient être isolés si les applications étaient bien programmées... On parle de niveaux d'organisation.

L'OS est preemptif et doit être capable de contrôler ces périmètres afin que l'état global ne soit pas corrompu par une application qui outrepasse ses droits.

La virtualisation c'est un niveau (espace et périmètre) different et au-dela de l'OS (en fait contenant), preuve en est, qu'on peut faire tourner plusieurs OS en virtualisation...

Si un OS se défausse sur la virtualisation pour accomplir ses attributions, c'est que l'OS est incapable de faire ce qu'il annonce et pour quoi il est prévu.
C'est donc un échec.

Windows et Edge sont donc face a un échec.

Est ce que Microsoft fait la un choix pragmatique. Oui clairement, puisqu'il l'entreprise semble incapable de repondre autrement.

Le client d'entreprise a un argument que MS ne peut refuter: le serveur lance des machines virtuelles. Si l'une est corrompue, le serveur lui ne l'est pas et les autres espaces ne le sont pas.
Le client veut donc que sur son PC le navigateur soit capable de faire aussi bien, ce qui est le principe du sandboxing, qui impose deja des contraintes.

Le probleme venant de la conception (plus que de sa réalisation) de Windows, Microsoft etant incapable de remettre a plat Windows, la solution c'est la virtualisation. Cela participe du délitement de Windows et de son évolution vers un service et non plus un OS.

avatar C1rc3@0rc | 

Il y a un principe dans le developpement qui a été a l'origine du langage Ada et particulierment developpé par B.Meyer avec eiffel. Il s'agit de se focaliser sur la notion de "contrat". C'est a dire que tout est mis en oeuvre pour qu'une fonction fasse ce qu'elle annonce, ni plus ni moins et qu'elle restitue bien l'etat tel qu'attendu par rapport a des situations previsibles.

Il s'agit la de la notion de base du sandboxing. S'y rajoute apres la capacité au superviseur de garantir l'etat en le fixant dans des possibles previsibles.
Le probleme avec Windows, c'est que jamais a aucun moment l'etat et le perimetre ne sont grarantis. Et cela date de la conception de Windows et meme de son ancetre DOS.
Si les virus se sont tellement repandus sur Windows c'est d'abord pour cette raison.
On pourrait penser que cette faiblesse de conception a comme avantage de permettre une meilleure performance quant a l'exploitation de la puissance du materiel. Il en est rien puisque les Unix sont plus efficaces. On voit aussi que les OS des systemes embarqués mettent la priorité sur cette notion et eux doivent etre hyper efficace.

Lorsque le perimetre dans un Unix est violé, il s'agit d'une faille, le plus souvent issue d'une erreur de programation. Dans Windows c'est un probleme de conception que la programmation n'a pas reussi a contenir. C'est radicalement different.

Mais meme dans le monde Unix il y a un debat sur le niveau d'organisation et l'efficacité de la perimetrisation, et cela au niveau du kernel: doit il ou non etre monolithique?

Et puis on peut opposer l'ancienneté des Unix, mais s'ils sont anciens, leur concepts sont toujours aussi valable. A l'inverse Windows souffre de vétusté imposée par la compatibilité avec l'ancien. Donc meme avec la modernisation NT, on reste sur du vétuste.

Windows reste un tres mauvais OS mais de mieux en mieux realisé. MacOS c'est un bon OS de plus en plus mal realisé. A un moment il vont se rejoindre dans la mediocrité.

avatar awk | 

@C1rc3@0rc

Bertrand Meyer fait partie de ma bibliothèque ;-)

Sur le reste la question de la structure du noyau a quand même aboutis sur de l'hybridation pour Mac OS et NT et le modèle du micro-noyau est très marginalisé

Et je ne partage pas ta vision NT n'est pas une modernisation, j'ai le sentiment que tu le connais assez mal et que le débat que tu portes est en grande partie obsolète que ce soit pour Unix, pour NT ou pour MacOS ... j'ai l'impression de revenir des années en arrière

avatar Lemmings | 

@awk : comparer le kernel historique (DOS, 95, 98...) avec celui issu de NT... Effectivement c'est assez étonnant :)

avatar awk | 

@Lemmings

Notre camarde me donne l'impression d'être resté figé dans des débats aujourd'hui très daté et ne pas vouloir prendre conscience de l'évolution de la donne.

Au delà même de la question de l'état du noyau NT qu'il ne semble pas voir tel qu'il est, le passage sur la question du micro-kernel vs le kernel monolithique sent franchement la naphtaline.

avatar awk | 

@C1rc3@0rc

Merci pour ces rappels mais nous sommes d'accord , sur le fait qu'il s'agit d'un constat d'échec -)

Après nous ne sommes peut-être pas d'accord sur le périmètre de l'échec que tu semble circonscrire à Windows.

ça donnera peut envie à certain de lire le Andrew Tanenbaum :-)

avatar Lemmings | 

@C1rc3@0rc : j'aime bcp le "constat d'échec" alors que ça cible uniquement les clients en entreprise (un public très spécifique) qui gèrent des parcs informatiques autrement que les ordi personnels.

Accessoirement si tu avais un peu regardé, c'est de la virtualisation fine, ou utilisation de container via docker (intégré au kernel de windows), en gros niveau ressources c'est très très light, ça va très vite et surtout ça isole parfaitement plutôt que de tenter de coder un sandboxing complexe.

avatar awk | 

@Lemmings

Au delà de ces outrances C1rc3@0rc n'a pas totalement tort de parler de constat d'échec.

Même implémentée avec élégance ce type d'approche acte d'une incapacité globale a gérer la source des pb et l'obligation de mettre en oeuvre une stratégie de contournement.

avatar Lemmings | 

@awk : ces choses là peuvent arriver sur iOS ou Mac OS tu sais... Apple n'en fait malheureusement pas bien plus.

avatar awk | 

@Lemmings

C'est là exactement mon propos ;-)

De manière générale mon message st clairement : arrêtez d'imaginer que les OS d'Apple sont au dessus du lot en terme de sécurité et de considérer que Windows est aujourd'hui encore une merde sans nom.

L'impasse en terme de sécurité est globale et le propos que tu commentes n'est en rien une attaque de MS ;-)

avatar Dumber@Redmond | 

@awk :
Je crois que tu ne comprends pas grand chose à tout ce que tu racontes...
Par contre je sais OS X / macOS est un unix dérivé de BSD. CEST UNE BASE TRÈS SOLIDE et elle l'est encore aujourd'hui. On a le code source de Darwin qui est un fork.
Sur la planète,

avatar awk | 

@Dumber@Redmond

"Je crois que tu ne comprends pas grand chose à tout ce que tu racontes..."

Libres à toi de le croire, chacun juge avec l'équipement à sa disposition.

"Par contre je sais OS X / macOS est un unix dérivé de BSD. CEST UNE BASE TRÈS SOLIDE et elle l'est encore aujourd'hui. On a le code source de Darwin qui est un fork."

C'est beau la pensée magique.

Le fait qu'OS-X soit construit sur une version hybride du noyau Mach et de BSD est loin d'être une garantie absolue.

avatar Lemmings | 

@Dumber@Redmond : "Par contre je sais OS X / macOS est un unix dérivé de BSD. CEST UNE BASE TRÈS SOLIDE et elle l'est encore aujourd'hui. On a le code source de Darwin qui est un fork."

Haha merci j'ai bien ri... C'est une base solide, oui. Tout comme le kernel de windows 10, tout comme le kernel de Linux. Mais ça n’empêche en rien d'avoir des trous béants possibles à des couches plus élevées du système...

avatar awk | 

@Lemmings

C'est un des grands déni de l'époque : ne pas vouloir accepter que tous les OS majeurs sont des colosses aux pieds d'argile en terme de sécurité.

avatar Dumber@Redmond | 

@awk :
UNIX et tous ses dérivés ont prouvé leur qualités, leur stabilité et leur sécurité (relative) bien sûr car rien n'est sûr à 100%.
Par contre a-t-on le code source de Windows ? A-t-on pu évaluer la qualité de son code ?
Non non et non. Tout ce qu'on voit ce sont ses beaux bugs, tous les jours..
Ça ce sont des faits....

avatar awk | 

@Dumber@Redmond

Face à la foi on ne peu que s'incliner avec respect.

avatar awk | 

@Dumber@Redmond

"Par contre a-t-on le code source de Windows ? A-t-on pu évaluer la qualité de son code ?"

L'accès au code source est toujours intéressant, par exemple quand on met en regards celui de Linux et celui d'OpenSolaris on se rend compte du niveau de qualité de code assez hasardeux du premier :-)

Croire que l'accès au code source est l'Apia et l'Omega de la sécurité est un beau fantasme.

avatar awk | 

@Dumber@Redmond

Et pour compléter, certes l'on n'a pas accès au code de Windows (quoi que le WRK est un bon indice sur bien des points) mais.

Le Noyau NT 10 est un des rares noyau majeur issu d'un travail ex-nihilo relativement récent supervisé par Dave Cutler un des cadors du domaine. Cela peut paraitre lointain mais les fondements des divers noyaux unix-like sont souvent bien plus anciens.

L'architecture système de Windows est très largement documentée, décortiquée et analysé.

Les équipes de dev OS de MS sont aujourd'hui permis les meilleurs de la planète en terme de qualités des ressources et de méthodologie.

Quant au travail sur la sécurité les ressources mise en oeuvre par MS sont la encore permis les plus importante de la planète.

Linux est très largement surestimé sur bien des critères, tout comme MacOS, alors même que les windows actuel sont très sous estimé dans bien des cercles.

avatar valcapri | 

@reborn :
Le sand boxing est présent sur OS X. C'est une genre de conteneurisation du logiciel. Tous les apps sur le Mac AppStore sont sandboxé ce qui peut compliquer la tâche des développeurs. C'est d'ailleurs une des raisons qui font que certains préfère quitter le MAS.
Safari est sandboxé aussi. Firefox est à mi-chemin avec Electrolys.

Tu as aussi l'hypervisor framework livré depuis OS X Yosemite permet de créer des VM plus proche d'OSX notamment au niveau réseau mais c'est assez bas niveau.

avatar reborn | 

@valcapri :
Très bien, merci pour ces precisions :)

avatar RyDroid | 

Il me semble avoir lu qu'un certain nombre de développeurs et développeuses se plaignent du sandboxage d'OS X et non du principe de sandboxage lui-même de leurs applications.

avatar awk | 

@RyDroid

Cela existe sans doute, il n'en reste pas moins que depuis toujours une part des développeurs c'est toujours opposé à tous les efforts de rationalisation, de sécurisation, de normalisation ...des OS qui sont vécu par eux comme des atteinte à leur liberté de faire ce qu'ils veulent comme ils veulent sur la machine.

avatar grigby | 

Sacré Microsoft. Ils sont bons pour rafistoler les morceaux au lieu de consolider l'existant.... c'est vraiment une catastrophe cette entreprise.

avatar awk | 

@grigby

Essais de prouver que W10 est par construction moins sécurisé que MacOS, voir GNU/Linux ... c'est un beau chalenge que je t'offre.

avatar françois bayrou | 

Vous voyez le rectangle rouge, sur l'image ?
Hé ben vous faites plein de petits trous dedans, et ça donne une image de la réalité.

avatar bonnepoire | 

Merci Docker.

Le jour ou Windows sera bon à utiliser, il aura un coeur Linux.

avatar occam | 
avatar awk | 

@bonnepoire

S'il y a bien une chose qui est surestimée c'est la qualité du noyau Linux.

Je vois qu'Occam t'a donnés quelques éléments, mais si tu cherches tu en trouveras bien d'autre.

Le noyau NT 10 est un des plus solide du marché,

Le travail de David Neil Cutler qui a posé les fondations de NT sont ont ne peu plus sérieux.

Croire que l'architecture, la qualité du code ... des fondement des OS actuels de MS sont très loin de l'état de l'art est un des fantasmes les mieux partagé.

avatar bonnepoire | 

Les administrateurs auront tout de même la possibilité de désigner des sites sûrs qui n'utiliseront pas la machine virtuelle.
En gros c'est du bullshit. Si l'application est dans une machine virtuelle, il faudra que Windows la gère deux fois pour lancer une autre version non virtuelle. Et puis tous les sites finiront dans l'exception...

avatar Dumber@Redmond | 

@grigby :
Cette boîte n'a jamais su produire quelque chose de potable, et malgré toutes les affirmations des fanboys sur W10, on voit bien que c'est un simple revamping des versions précédentes avec tout leur lot de bugs... Effectivement le mieux est de faire un reverse engineering avec un noyau Linux comme dis Bonnepoire ;)

avatar reborn | 

@Dumber@Redmond :
Moi j'y comprend plus rien, d'après certains Apple est vraiment mou sur la sécurité comparé a microsoft.

avatar awk | 

@Dumber@Redmond

On sent l'avis étayé du spécialiste en architecture d'OS qui sait de quoi il parle

avatar madaniso | 

@awk :
Spécialiste en trolls surtout

avatar awk | 

@madaniso

Ce type d'assertions gratuite contribue effectivement à l'enrichissement du débat et pose une preuve formelle de l'abjecte niveau qualitatif du noyau NT au regards de l'état de l'art.

C'est d'une efficacité dialectique remarquable, encore merci pour cette inestimable contribution.

avatar Dumber@Redmond | 

@madaniso :
Ah ah je prends le compliment d'être un troller venant d'un fanboy TOTAL de MS qui n'émet jamais la MOINDRE critique vers cette boîte éminemment critiquable qui ne fait que troller sur Apple.... Va plutôt sur les forums MS troller sur Apple, là tu seras à ta place, enfin !!

avatar JLG47_old | 

Windows est tellement fragile et perméable qu'il faut bien cela pour apporter un petit peu de sécurité.

avatar awk | 

@JLG01

Vilain pas beau Windows, c'est très faible et très puérile.

Essais donc d'argumenté ton jugement avec de vrais analyses sur l'architecture système de Windows on en reparlera.

Ce besoins de transformer ses goûts et dégoûts en absolue rationnel est stérile au plus haut point.

avatar fte | 

Survolant le white paper, je vois qu'ils utilisent Hyper-V. Hyper-V et VMware ne cohabitent pas, c'est sans surprise, mais donc ce sera l'un ou l'autre. Aussi, alors que la prochaine version de leurs outils plateforme inclut un gestionnaire de containers, ils préfèrent la version lourde assez étrangement. Je soupçonne que nombre d'ingénieurs devop vont se poser des questions sur la stabilité et sécurité de leurs containers (compatibles Docker), moi-même je m'en pose du coup.

Ça me laisse pensif pour le coup.

avatar fte | 

Note en passant, le niveau des commentaires me laisse abasourdi. Je croyais qu'on en avait terminé avec la guerre MS-AAPL des années 90, je constate qu'on est en réalité passé à une gueguerre MS-Linux. C'est... désespérant.

Je pense que vous sous-estimez beaucoup Microsoft, mais beaucoup plus grave, vous sur-estimez lourdement Linux et lui prêtez des vertus divines et magiques qu'il n'a pas. Le noyau de Windows est par ailleurs le plus moderne, de beaucoup, des trois noyaux évoqués.

Mais bref. C'est plus facile de grimper sur la colline et gueuler très fort en agitant les bras que d'aller à la bibliothèque pour étudier son sujet.

avatar awk | 

@fte

Oui hélas les dogmes aveuglants ont la vie dure :-(

Et un des aveuglement dogmatique les plus dangereux actuellement est, de mon point de vue, celui d'IT de niveau moyen qui sont enfermé dans un culte aveugle de GNU/Linux dont ils ne veulent pas envisager les faiblesses et les limites et qui les rend bien trop confiant.

Au final l'état des lieux du rapport à la sécurité n'est pas très encourageant, la pensée magique et la foi ont encore aujourd'hui une bien trop grande place dans ces questions.

avatar awk | 

Pour élargir le débat, il est sans doute dommage que lors du passage à XP en 2001, qui marquait l'arrivée de l'offre "grand public" de MS dans la modernité en passant enfin à une architecture sérieuse s'appuyant le s'appuyant sur le noyau NT, MS n'est pas eu le courage de faire une changement d'identité et d'abandonner la marque Windows qui établis un lien avec un passé peu glorieux de produits fort médiocres.

CONNEXION UTILISATEUR