Primo richiedente / commentatore, lettore di lunga data.
Come qualcuno che al momento sta facendo un sacco di pensieri e amp; scrivere su misure che potrebbero migliorare fondamentalmente la sicurezza del computer (cioè, coinvolgendo non solo il tipo di passaggi evolutivi, piuttosto modesti su cui la maggior parte dei produttori di tecnologia si stanno concentrando in questo momento, ma perseguire cambiamenti "grandi" potrebbe rompere la compatibilità all'indietro ma renderebbe i sistemi < em> molto più sicuro). Sono molto preso dall'idea di utilizzare un solido isolamento generale dei processi per cercare di prevenire i programmi in modalità utente o, comunque, quelli che oggi chiamiamo programmi in "modalità utente", dall'essere in grado di fare cose cattive come provare a leggere / rubare dati usati da altri programmi in modalità utente o colpire il sistema operativo con attacchi di escalation di privilegi.
Ora, ci sono certamente aziende / organizzazioni là fuori che hanno provato o stanno cercando di implementare solidi schemi di isolamento dei privilegi nel software. Ad esempio, Singularity SO di Microsoft che ha trasformato quasi tutto in "processi isolati e sigillati" che potevano comunicare tra loro e il sistema operativo solo attraverso "contratti" restrittivi di trasmissione dei messaggi. (Ce ne sono sicuramente altri, compresi alcuni che sono in uso con i governi per scenari militari / di intelligence ad alta sicurezza, lo capisco). Tuttavia, suppongo di essere una persona riluttante a dare una tremenda fiducia nelle difese di sicurezza che non sono radicate , alla fine della giornata, in una sorta di applicazione diretta dell'hardware. Il che mi porta alle mie due domande (strettamente correlate):
In primo luogo, ci sono microprocessori non governativi, prodotti commercialmente oggi, che sono destinati all'elaborazione multi-purpose; nessun chip di smart card o qualcosa del genere - che usa insiemi di istruzioni / architetture specificamente progettati per rafforzare l'isolamento / separazione del processo? (In modo tale che nemmeno un attacco che sfrutti un difetto del kernel del sistema operativo in esecuzione sul dispositivo sarebbe sufficiente a consentire al codice malevolo in un processo di uscire dall'isolamento.)
In secondo luogo, che tipo di modifiche dovresti apportare al set di istruzioni x86-64 & corrispondente architettura del chip per renderlo in grado di fornire supporto imposto dall'hardware a un strong isolamento del sistema operativo / separazione dei singoli processi?
(FYI, so che Intel ha aggiunto alcune funzionalità di sicurezza proprietarie ad alcuni dei loro chip negli ultimi 5-10 anni, con Skylake con SGX quest'anno supponiamo di portare alcune funzionalità per isolare un determinato programma che ha necessità di sicurezza dal resto del sistema, ma sarebbero necessari ulteriori passaggi più ampi per perseguire l'isolamento forzato dall'hardware, ad esempio, almeno, tutti i processi che oggi vengono eseguiti in modalità utente. / p>