Non, c'est "by design" qu'une VM comme Java ou .NET empêche celà.
C'est "by design" que du code natif laisse faire tout et n'importe quoi.
C'est pas pour rien qu'un OS est obligé pour contourner le problème de s'appuyer sur les rings matériels offerts par le processeur pour cloisonner les processus et donc gérer les droits utilisateurs.
L'OS ne contourne ne rien du tout. Il utilise une protection hardware parfaitement et totalement étanche : la gestion de la mémoire virtuelle. Quand une VM fait cela, elle s'expose à un bug, tu peux aussi exposer des bugs sur le hardware mais c'est plus rare... (et beaucoup plus facile à vérifier).
C'est la différence entre une garantie donné par une barrière comme le hardware, et une "gestion" qui est _censé_ être bien faite.
Un des buts d'une VM est d'abstraire le code machine qui n'offre de base aucune sécurité, pour justement proposer un modèle de machine (VM) entièrement contrôlable par l'environnement d'exécution. Bref, by design encore une fois, une VM est conçu pour avoir une maîtrise complète du code exécuté.
Un OS n'a que vaguement la main à travers les appels systèmes et s'appui sur le hardware in fine.
Ce que tu décris, cela s'appelle de la gestion de processus, c'est la raison première de l'existence des OS. Pourquoi encore rajouter une couche ?!
[^] # Re: Pourquoi Mono ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Utiliser Mono sans peur. Évalué à 3.
C'est "by design" que du code natif laisse faire tout et n'importe quoi.
C'est pas pour rien qu'un OS est obligé pour contourner le problème de s'appuyer sur les rings matériels offerts par le processeur pour cloisonner les processus et donc gérer les droits utilisateurs.
L'OS ne contourne ne rien du tout. Il utilise une protection hardware parfaitement et totalement étanche : la gestion de la mémoire virtuelle. Quand une VM fait cela, elle s'expose à un bug, tu peux aussi exposer des bugs sur le hardware mais c'est plus rare... (et beaucoup plus facile à vérifier).
C'est la différence entre une garantie donné par une barrière comme le hardware, et une "gestion" qui est _censé_ être bien faite.
Un des buts d'une VM est d'abstraire le code machine qui n'offre de base aucune sécurité, pour justement proposer un modèle de machine (VM) entièrement contrôlable par l'environnement d'exécution. Bref, by design encore une fois, une VM est conçu pour avoir une maîtrise complète du code exécuté.
Un OS n'a que vaguement la main à travers les appels systèmes et s'appui sur le hardware in fine.
Ce que tu décris, cela s'appelle de la gestion de processus, c'est la raison première de l'existence des OS. Pourquoi encore rajouter une couche ?!
"La première sécurité est la liberté"