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:

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

Programmeringsspråk

Erlang (programmeringsspråk) tillhandahåller ett liknande koncept i användarutrymme genom att realisera strikt åtskilda lätta processer.

Relaterad teknik

Se även

Referenser