Processisolering - Process isolation
Processisolering är en uppsättning olika hårdvaru- och programvarutekniker som är utformade för att skydda varje process från andra processer i operativsystemet . Det gör det genom att förhindra process A från att skriva till process B.
Processisolering kan implementeras med virtuellt adressutrymme , där process A: s adressutrymme skiljer sig från process B: s adressutrymme - vilket hindrar A från att skriva till B.
Säkerhet är lättare att genomdriva genom att inte tillåta åtkomst mellan processer, i motsats till mindre säkra arkitekturer som DOS där alla processer kan skriva till vilket minne som helst i någon annan process.
Begränsad kommunikation mellan processer
I ett system med processisolering kan begränsad (kontrollerad) interaktion mellan processer fortfarande tillåtas över interprocesskommunikationskanaler (IPC) som delat minne , lokala uttag eller Internetuttag . I detta schema isoleras hela processens minne från andra processer utom när processen tillåter input från samarbetsprocesser.
Systempolicyer kan under vissa omständigheter inte tillåta IPC. Till exempel i obligatoriska åtkomstkontrollsystem kanske ämnen med olika känslighetsnivåer inte får kommunicera med varandra. Säkerhetsimplikationerna under dessa omständigheter är breda och omfattande applikationer i nätverksnyckelkrypteringssystematik samt distribuerade caching -algoritmer. Gränssnittsdefinierade protokoll som grundläggande molnåtkomstarkitektur och nätverksdelning påverkas på samma sätt.
Operativsystem
Anmärkningsvärda operativsystem som stöder processisolering:
- Unix , Linux , OS X
- VMS
- Microsoft Windows från Windows NT 3.1
webbläsare
Internet Explorer 4 använde processisolering för att tillåta separata fönster i webbläsaren sina egna processer; på höjden av webbläsarkriget släpptes dock detta i efterföljande versioner för att konkurrera med Netscape Navigator (som försökte koncentrera sig på en process för hela Internet -sviten). Denna idé om process-per-instans skulle inte återbesökas förrän ett decennium efteråt, när surfning med flikar blev mer vanligt.
I Google Chrome " Multi-Process Architecture " och Internet Explorer 8 " Loosely Coupled IE (LCIE) " finns flikar som innehåller webbsidor i sina egna semi-separata OS-nivåprocesser som är isolerade från kärnprocessen i webbläsare för att förhindra att en flik/sida kraschar från att krascha hela webbläsaren. Denna metod (populärt känd som multiprocess eller process-per-tab ) är avsedd att både hantera minne och bearbetning genom att låta kränkande flikar krascha separat från webbläsaren och andra flikar och hantera säkerhet.
Webbläsare med processisolering
- Google Chrome
- Internet Explorer 8 och senare
- Safari
- Mozilla Firefox (standard sedan 57)
- Maxthon
Programmeringsspråk
Erlang (programmeringsspråk) tillhandahåller ett liknande koncept i användarutrymme genom att realisera strikt åtskilda lätta processer.
Relaterad teknik
- Virtuellt minne och virtuellt adressutrymme möjliggör isolering av minnesutrymme.
- Polyinstantiering tillåter speglingar av delade resurser, där ändringar av process A inte kommer att vara synliga för process B.