I detta dokument presenteras vårt arbete med flexibilitet och skydd i operativsystemkärnor. I de flesta befintliga operativsystem upprätthålls säkerheten till priset av flexibilitet genom att systemprogrammeraren inför skyddsmodeller vid uppbyggnaden av systemet. Vi bevisar att flexibiliteten kan bevaras genom att man skiljer förvaltningen av skyddspolitiken från de verktyg som används för att genomdriva den. Vi presenterar den säkra programvaruram som vi har implementerat i Thind-arkitekturen för att hantera skyddspolicyer och garantera att de genomförs enligt specifikationen. Vi beskriver sedan de elementära skyddsverktyg som ges till programmeraren så att han kan skydda sitt system mot obehörig åtkomst och överbelastning. Dessa verktyg genomförs på ett politiskt neutralt sätt för att garantera deras flexibilitet. Slutligen validerar vi våra resultat genom att utvärdera flexibiliteten i det skydd som ges på utvalda exempel på dynamiska ändringar av skyddspolitiken. Flexibilitet och säkerhet ses ofta som två motstridiga mål i traditionella operativsystem. Att säkra ett system leder ofta till att systemarkitekturen och de tjänster som tillhandahålls begränsas. Å andra sidan ses förbättringen av flexibiliteten i systemet i allmänhet som att införa sårbarheter. Till exempel stöder de senaste Linuxkärnorna användningen av moduler, det vill säga systemtjänster som kan laddas och lossas efter behag i kärnan. Detta gör det möjligt för systemadministratören att lägga till funktionaliteter i kärnan utan att behöva kompilera om den, vilket ökar flexibiliteten. Men en skadlig användare kan lura systemadministratören att ladda en skadlig modul i kärnan för att få extra privilegier till exempel. Å andra sidan, att förbjuda användningen av moduler stärker säkerheten i systemet men minskar dess flexibilitet eftersom systemadministratören tvingas att omkompilera det varje gång han vill lägga till en tjänst. Vi anser att det är möjligt att garantera både flexibilitet och säkerhet i ett operativsystem. Vårt arbete fokuserar särskilt på skydd enligt definitionen i [5], det vill säga åtkomstkontroll och skydd mot överbelastning. I detta dokument visar vi att flexibilitet kan bevaras i ett säkert system genom att man skiljer förvaltningen av skyddspolitiken från de verktyg som används för att genomdriva den. Skyddspolitiken är den uppsättning regler som specificerar huvudmännens tillträdesrätt och förvaltningen av resurser i systemet. Vi föreslår därför en säker programvaruram som reglerar samspelet mellan komponenterna i systemet och inkluderar säkerhetsansvarig, en komponent tillägnad hanteringen av policyer. Tillsammans med en uppsättning policyneutrala skyddsverktyg garanterar vi att skyddspolicyn kan ändras dynamiskt för att passa systemadministratörens behov, utan att behöva kompilera om eller starta om systemet och på så sätt bevara dess flexibilitet. Vårt arbete valideras med hjälp av Think, en flexibel systemarkitektur som gör det möjligt för programmeraren att bygga anpassade operativsystem.
Inom operativsystemsområdet har Ref föreslagit en ram som kallas Think för att skydda flexibla systemarkitekturer.
Protection in flexible operating system architectures
{'venue': 'OPSR', 'journal': None, 'mag_field_of_study': ['Computer Science']}