Hej alla! Speciellt för studenterna pÄ kursen har vi förberett en översÀttning av det officiella FAQ-dokumentet för projektet SELinux. Vi tror att denna översÀttning kan vara anvÀndbar inte bara för studenter, dÀrför delar vi den med er.

Vi har försökt att svara pÄ nÄgra av de mest vanliga frÄgorna om projektet SELinux. För nÀrvarande Àr frÄgorna indelade i tvÄ huvudkategorier. Alla frÄgor och svar Äterfinns .
Ăversikt
Ăversikt
- Vad Àr Linux med förbÀttrad sÀkerhet?
Linux med förbĂ€ttrad sĂ€kerhet (SELinux â Security-enhanced Linux) Ă€r en referensimplementation av Flask-sĂ€kerhetsarkitektur för flexibel obligatorisk Ă„tkomstkontroll. Den skapades för att demonstrera nyttan av flexibla mekanismer för obligatorisk Ă„tkomstkontroll och hur sĂ„dana mekanismer kan lĂ€ggas till ett operativsystem. Flask-arkitekturen har senare integrerats i Linux och portats till flera andra system, inklusive operativsystemet Solaris, FreeBSD och Darwin-kĂ€rnan, vilket har gett upphov till ett brett spektrum av relaterat arbete. Flask-arkitekturen erbjuder ett gemensamt stöd för tillĂ€mpning av mĂ„nga typer av obligatoriska Ă„tkomstkontrollpolitiker, inklusive de som baseras pĂ„ koncepten Typkontroll, Rollbaserad Ă„tkomstkontroll och Flermedels-sĂ€kerhet. - Vad ger Linux med förbĂ€ttrad sĂ€kerhet som standard-Linux inte kan ge?
KÀrnan i Linux med förbÀttrad sÀkerhet stÀller in obligatoriska Ätkomstkontrollpolicyer som begrÀnsar anvÀndarprogram och systemservrar till de minimala privilegier som krÀvs för att utföra sina uppgifter. Genom att begrÀnsa dessa anvÀndarprogram och systemdemoner minskar eller elimineras deras förmÄga att orsaka skada vid en kompromiss (till exempel pÄ grund av buffertöverfyllnad eller felaktig konfiguration). Denna begrÀnsningsmekanism fungerar oberoende av traditionella Linux-Ätkomstkontrollmekanismer. Den har inget begrepp om superanvÀndare 'root' och ÄtgÀrdar kÀnda brister i traditionella Linux-sÀkerhetsmekanismer (till exempel beroende av setuid/setgid-binÀra filer).
SĂ€kerheten hos ett oförĂ€ndrat Linux-system beror pĂ„ kĂ€rnans korrekthet, alla privilegierade applikationer och varje konfiguration av dem. Problem i nĂ„got av dessa omrĂ„den kan leda till att hela systemet komprometteras. Ă sin sida beror sĂ€kerheten hos ett modifierat system baserat pĂ„ en Linux-kĂ€rna med förbĂ€ttrad sĂ€kerhet, framför allt pĂ„ korrektheten hos kĂ€rnan och konfigurationen av dess sĂ€kerhetspolicy. Ăven om problem med korrektheten eller konfigurationen av applikationer kan möjliggöra en begrĂ€nsad kompromiss av individuella anvĂ€ndarprogram och systemdemoner, utgör de inte nĂ„gon sĂ€kerhetshot mot andra anvĂ€ndarprogram och systemdemoner eller systemets övergripande sĂ€kerhet. - Vad Ă€r den bra till?
De nya funktionerna i Linux med förbÀttrad sÀkerhet Àr avsedda att sÀkerstÀlla informationsseparation baserat pÄ krav pÄ konfidentialitet och integritet. De Àr utformade för att förhindra processer som lÀser data och program, förfalskar data och program, kringgÄr sÀkerhetsmekanismer för applikationer, kör osÀkra program eller inkrÀktar pÄ andra processer i strid med systemets sÀkerhetspolicy. De hjÀlper ocksÄ till att begrÀnsa potentiell skada som kan orsakas av skadliga eller felaktiga program. Dessutom bör de vara anvÀndbara för att möjliggöra anvÀndning av ett system av anvÀndare med olika sÀkerhetsbehörigheter för att fÄ Ätkomst till olika typer av information med olika sÀkerhetskrav utan att kompromissa dessa krav. - Hur fÄr jag en kopia?
MÄnga Linux-distributioner inkluderar stöd för SELinux, som redan Àr inbyggt som en standardfunktion eller som ett tillÀggspaket. Huvudkoden för anvÀndarlÀget SELinux Àr tillgÀnglig pÄ . SlutanvÀndare mÄste vanligtvis anvÀnda paket som tillhandahÄlls av deras distribution. - Vad ingÄr i din release?
UtgÄvan av NSA SELinux inkluderar den grundlÀggande koden för anvÀndarutrymmet av SELinux. Stödet för SELinux Àr redan inkluderat i den grundlÀggande Linux-kÀrnan 2.6, som finns tillgÀnglig pÄ kernel.org. Den grundlÀggande koden för anvÀndarutrymmet av SELinux bestÄr av ett bibliotek för att manipulera binÀr policy (libsepol), en policykompilator (checkpolicy), ett bibliotek för sÀkerhetsapplikationer (libselinux), ett bibliotek för verktyg för policyhantering (libsemanage) och flera relaterade verktyg (policycoreutils).
Förutom kÀrnan med stöd för SELinux och den grundlÀggande anvÀndarutrymmeskoden behöver du en policy och vissa modifierade anvÀndarutrymspaket för att anvÀnda SELinux. Policyn kan hÀmtas frÄn . - Kan jag installera Linux med förbÀttrad sÀkerhet pÄ ett befintligt Linux-system?
Ja, du kan installera endast SELinux-modifikationer pÄ ett befintligt Linux-system, eller sÄ kan du installera en Linux-distribution som redan inkluderar stöd för SELinux. SELinux bestÄr av Linux-kÀrnan med stöd för SELinux, en grunduppsÀttning biblioteks- och verktyg, vissa modifierade anvÀndarpaket och policykonfiguration. För att installera det pÄ ett befintligt Linux-system utan SELinux-stöd mÄste du kunna kompilera programvaran och ha andra nödvÀndiga systempaket. Om din Linux-distribution redan inkluderar stöd för SELinux behöver du inte kompilera eller installera NSA SELinux-utgÄvan. - Hur kompatibel Àr Linux med förbÀttrad sÀkerhet jÀmfört med oförÀndrat Linux?
Linux med förbÀttrad sÀkerhet erbjuder binÀrkompatibilitet med befintliga Linux-applikationer och befintliga Linux-kÀrnmoduler, men vissa kÀrnmoduler kan behöva modifieras för att fungera korrekt med SELinux. Dessa tvÄ kategorier av kompatibilitet diskuteras i detalj nedan:- Applikationskompatibilitet
SELinux sÀkerstÀller binÀr kompatibilitet med befintliga applikationer. Vi har utvidgat kÀrnans datatyper genom att inkludera nya skyddsattribut och lagt till nya API-anrop för sÀkerhetsmedvetna applikationer. Vi har dock inte Àndrat nÄgra datatyper som Àr synliga för applikationer, och vi har inte Àndrat grÀnssnittet för nÄgra befintliga systemanrop, sÄ befintliga applikationer kan fungera utan Àndringar, förutsatt att sÀkerhetspolicyn tillÄter dem. - KÀrnmodulkompatibilitet
I början gav SELinux endast ursprunglig kompatibilitet för befintliga kÀrnmoduler; dessa moduler behövde omkompileras med hjÀlp av de Àndrade kÀrnhuvuden för att fÄnga de nya skyddsfÀlten som lagts till kÀrnans datatyper. Eftersom LSM och SELinux nu Àr integrerade i den grundlÀggande Linux-kÀrnan 2.6, erbjuder SELinux nu binÀr kompatibilitet med befintliga kÀrnmoduler. Vissa kÀrnmoduler kan dock interagera dÄligt med SELinux utan modifieringar. Till exempel, om en kÀrnmodul direkt allokerar och stÀller in en kÀrnobjekt utan att anvÀnda standard initialiseringsfunktioner, kan kÀrnobjektet sakna korrekt sÀkerhetsinformation. Vissa kÀrnmoduler kan ocksÄ sakna adekvat sÀkerhetskontroll över sina operationer; alla befintliga anrop till kÀrnfunktioner eller Ätkomstfunktioner kommer ocksÄ att utlösa SELinux:s Ätkomstkontroller, men för att sÀkerstÀlla efterlevnad av MAC-policys kan mer detaljerade eller ytterligare kontroller behövas.
Linux med förbÀttrad sÀkerhet bör inte orsaka interaktionsproblem med vanliga Linux-system, sÄ lÀnge alla nödvÀndiga operationer Àr tillÄtna av sÀkerhetspolicyns konfiguration.
- Applikationskompatibilitet
- Vad Àr mÄlen med exemplet pÄ sÀkerhetspolicykonfiguration?
PÄ hög nivÄ Àr mÄlet att demonstrera flexibiliteten och sÀkerheten i tvingande Ätkomstkontroller och att tillhandahÄlla ett enkelt fungerande system med minimala förÀndringar i applikationerna. PÄ en lÀgre nivÄ har policyn flera mÄl som beskrivs i policy-dokumentationen. Dessa mÄl inkluderar hantering av obearbetad Ätkomst till data, skydd av kÀrnans integritet, systemprogramvara, information om systemkonfiguration och systemloggar, begrÀnsning av potentiell skada som kan orsakas av utnyttjande av sÄrbarheter i processer som krÀver privilegier, skydd av privilegierade processer frÄn att köra skadlig kod, skydd av administratörens och domÀnens roll frÄn inloggning utan anvÀndarautentisering, förhindra ingrepp av vanliga anvÀndarprocesser i systemprocesser eller administratörsprocesser, samt skydd av anvÀndare och administratörer frÄn att sÄrbarheter i deras webblÀsare utnyttjas av skadlig mobil kod. - Varför valdes Linux som grundplattform?
Linux valdes som plattform för den ursprungliga referensimplementationen av detta arbete pÄ grund av dess vÀxande framgÄng och öppna utvecklingsmiljö. Linux ger en utmÀrkt möjlighet att demonstrera att denna funktionalitet kan vara framgÄngsrik i huvudsaklig operativsystem och samtidigt bidra till sÀkerheten för ett allmÀnt anvÀnt system. Linux-plattformen erbjuder ocksÄ en fantastisk möjlighet för detta arbete att fÄ en sÄ bred översikt som möjligt och kan kanske fungera som grund för ytterligare sÀkerhetsforskning av andra entusiaster. - Varför utförde ni detta arbete?
National Security Agency ansvarar för forskning och avancerad utveckling av teknologier som Àr nödvÀndiga för att NSA ska kunna erbjuda lösningar, produkter och tjÀnster för informationssÀkerhet för informationsinfrastrukturer som Àr kritiskt viktiga för intressen knutna till USA:s nationella sÀkerhet.
Att skapa ett livskraftigt och sÀkert operativsystem förblir en avgörande forskningsuppgift. VÄrt mÄl Àr att utveckla en effektiv arkitektur som sÀkerstÀller nödvÀndigt skydd, kör program pÄ ett sÀtt som i stor utstrÀckning Àr transparent för anvÀndaren och tilltalande för leverantörer. Vi anser att ett viktigt steg för att nÄ detta mÄl Àr att visa hur mekanismer för tvingande Ätkomstkontroll kan integreras framgÄngsrikt i huvudoperativsystemet. - Hur relaterar detta till tidigare studier av NSA:s operativsystem?
Forskare frĂ„n NSA:s National Information Assurance Research Laboratory har i samarbete med Secure Computing Corporation (SCC) utvecklat en kraftfull och flexibel arkitektur för tvingande Ă„tkomstkontroll baserad pĂ„ Type Enforcement, en mekanism som först utvecklades för systemet LOCK. NSA och SCC tog fram tvĂ„ prototyper av arkitekturen baserade pĂ„ Mach: DTMach och DTOS (). NSA och SCC samarbetade sedan med forskargruppen Flux vid University of Utah för att överföra arkitekturen till det forskningsoperativsystemet Fluke. Under denna överföring förbĂ€ttrades arkitekturen för att ge bĂ€ttre stöd för dynamiska sĂ€kerhetspolicyer. Denna förbĂ€ttrade arkitektur fick namnet Flask (). Nu har NSA integrerat Flask-arkitekturen i Linux-operativsystemet för att överföra denna teknik till ett bredare utvecklar- och anvĂ€ndarsamhĂ€lle. - Ăr Linux med förbĂ€ttrad sĂ€kerhet ett pĂ„litligt operativsystem?
Termen "Betrodd operativsystem" hĂ€nvisar vanligtvis till ett operativsystem som erbjuder tillrĂ€ckligt stöd för flerskiktskydd och validering av korrekthet för att uppfylla en specifik uppsĂ€ttning statliga krav. Linux med förbĂ€ttrad sĂ€kerhet inkluderar anvĂ€ndbara idĂ©er frĂ„n dessa system, men fokuserar pĂ„ tvĂ„ngskontroll av Ă„tkomst. Det ursprungliga syftet med utvecklingen av Linux med förbĂ€ttrad sĂ€kerhet var att skapa anvĂ€ndbar funktionalitet som ger pĂ„tagliga skyddsfördelar i ett brett spektrum av verkliga miljöer för att demonstrera denna teknologi. SELinux i sig Ă€r inte ett betrott operativsystem men tillhandahĂ„ller en kritiskt viktig sĂ€kerhetsfunktion â tvĂ„ngskontroll av Ă„tkomst â som Ă€r nödvĂ€ndig för ett betrott operativsystem. SELinux har integrerats i Linux-distributioner som har bedömts enligt Labeled Security Protection Profile. Information om certifierade och verifierade produkter kan hittas pĂ„ . - Ăr det verkligen sĂ€kert?
Begreppet skyddat system omfattar mÄnga attribut (till exempel fysisk sÀkerhet, personalsÀkerhet, etc.), och Linux med förbÀttrad sÀkerhet adresserar bara en mycket begrÀnsad uppsÀttning av dessa attribut (dvs. kontroller för tvÄngsÄtkomst i operativsystemet). Med andra ord betyder "skyddat system" tillrÀckligt skyddat för att skydda viss information i den verkliga vÀrlden frÄn en verklig motstÄndare som Àgaren och/eller anvÀndaren av informationen varnar för. Linux med förbÀttrad sÀkerhet Àr avsedd att endast demonstrera obligatoriska kontroller i ett modernt operativsystem som Linux, och dÀrför kommer det sannolikt inte att uppfylla nÄgon intressant definition av ett skyddat system. Vi tror att den teknik som demonstreras i Linux med förbÀttrad sÀkerhet kommer att vara anvÀndbar för dem som bygger skyddade system. - Vad har ni gjort för att öka sÀkerheten?
Syftet med detta projekt var att lÀgga till kontroller för tvingad Ätkomst med minimala förÀndringar i Linux. Detta senaste mÄl begrÀnsar starkt vad som kan göras för att förbÀttra garantin, sÄ det har inte gjorts nÄgot arbete för att öka garantin för Linux. à andra sidan baseras förbÀttringarna pÄ tidigare arbete med att utveckla en sÀkerhetsarkitektur med hög pÄlitlighet, och de flesta av dessa designprinciper har överförts till Linux med förbÀttrad sÀkerhet. - Kommer CCEVS att utvÀrdera Linux med förbÀttrad sÀkerhet?
Linux med förbĂ€ttrad sĂ€kerhet Ă€r inte avsett att lösa hela spektrumet av sĂ€kerhetsproblem som presenteras av skyddsprofilen. Ăven om det skulle vara möjligt att bara utvĂ€rdera dess nuvarande funktionalitet, anser vi att en sĂ„dan utvĂ€rdering skulle ha begrĂ€nsat vĂ€rde. Trots detta har vi arbetat med andra för att inkludera denna teknik i de Linux-distributioner som har utvĂ€rderats och distributioner som Ă€r under utvĂ€rdering. Information om verifierade och granskade produkter finns pĂ„ . - Har ni försökt Ă„tgĂ€rda nĂ„gra sĂ„rbarheter?
Nej, vi har inte sökt eller funnit nĂ„gra sĂ„rbarheter under vĂ„rt arbete. Vi har bara gjort det minimala som behövdes för att lĂ€gga till vĂ„ra nya mekanismer. - Ăr detta system godkĂ€nt för statligt bruk?
Security-enhanced Linux har inget sÀrskilt eller ytterligare godkÀnnande för statligt bruk över nÄgon annan version av Linux. Linux med förbÀttrad sÀkerhet har inget sÀrskilt eller ytterligare tillstÄnd för statligt bruk över nÄgon annan version av Linux. - Hur skiljer detta sig frÄn andra initiativ?
Linux med förbÀttrad sÀkerhet har en tydligt definierad arkitektur för flexibel tvingad Ätkomstkontroll som har experimentellt testats med flera prototypiska system (DTMach, DTOS, Flask). Det har genomförts detaljerade studier av arkitekturens förmÄga att stödja ett brett spektrum av sÀkerhetspolicyer, och dessa Àr tillgÀngliga pÄ och .
Arkitekturen tillhandahÄller detaljerad kontroll över mÄnga av kÀrnans och tjÀnsternas abstraktioner, som inte kontrolleras av andra system. NÄgra av de utmÀrkande egenskaperna hos Linux med förbÀttrad sÀkerhet Àr:- Ren separation av policy frÄn rÀttigheter att tillÀmpa
- Tydligt definierade policygrÀnssnitt
- Oberoende av specifika policys och policy sprÄk
- Oberoende av specifika format och innehÄll av sÀkerhetsmÀrken
- Separata etiketter och kontroller för kÀrnobjekt och tjÀnster
- Caching av Ätkomstbeslut för effektivitet
- Stöd för policyförÀndringar
- Kontroll över initiering av processer samt Àrftlighet och exekvering av program
- Hantering av filsystem, kataloger, filer och beskrivningar av öppna filer
- Hantering av socketar, meddelanden och nÀtverksgrÀnssnitt
- Kontroll över anvÀndningen av "Capability"
- Vilka licensbegrÀnsningar finns det för detta system?
All kÀllkod som finns pÄ webbsidan , distribueras under samma villkor som de ursprungliga kÀllkoderna. Till exempel slÀpps korrigeringar för Linux-kÀrnan och korrigeringar för mÄnga befintliga verktyg, som finns hÀr, under villkoren . - Finns det exportkontroll?
För Linux med utökad sÀkerhet finns det inga ytterligare exportkontrollÄtgÀrder jÀmfört med nÄgon annan Linux-version. - Planerar NSA att anvÀnda den inrikes?
Av uppenbara skĂ€l kommenterar inte NSA operationell anvĂ€ndning. - Ăndrar uttalandet om garantier frĂ„n den 26 juli 2002 Secure Computing Corporation NSA:s stĂ„ndpunkt om att SELinux gavs under GNU General Public License?
NSA:s stÄndpunkt har inte förÀndrats. NSA anser fortfarande att villkoren och bestÀmmelserna i GNU allmÀnna licens reglerar anvÀndning, kopiering, distribution och modifiering av SELinux. Se. . - Stöder NSA öppen kÀllkod?
NSA:s initiativ för att förbÀttra sÀkerheten för programvara omfattar bÄde proprietÀr och öppen kÀllkod, och vi har framgÄngsrikt anvÀnt bÄde proprietÀra och öppna modeller i vÄr forskningsverksamhet. NSA:s arbete med att förbÀttra sÀkerheten för programvara drivs av en enkel tanke: att maximera vÄra resurser för att ge NSA:s kunder de bÀsta möjliga sÀkerhetsalternativen i de mest anvÀnda produkterna. MÄlet med NSA:s forskningsprogram Àr att utveckla teknologiska prestationer som kan delas med programmerargemenskapen genom olika överföringsmekanismer. NSA stöder och frÀmjar inte nÄgot specifikt programprodukt eller affÀrsmodell. IstÀllet frÀmjar NSA sÀkerhet. - Stöder NSA Linux?
Som nÀmnts ovan stöder och frÀmjar NSA inte nÄgot specifikt programprodukt eller plattform; NSA bidrar endast till att förbÀttra sÀkerheten. Flask-arkitekturen som demonstrerades i referensimplementationen av SELinux har överförts till flera andra operativsystem, inklusive Solaris, FreeBSD och Darwin, den har portats till hypervisorn Xen och anvÀnds för applikationer som X Window System, GConf, D-BUS och PostgreSQL. Koncepten frÄn Flask-arkitekturen Àr allmÀnt tillÀmpliga pÄ en rad olika system och miljöer.
Samarbete
- Hur planerar vi att samarbeta med Linux-gemenskapen?
Vi har , som kommer att fungera som vÄrt huvudsakliga sÀtt att publicera information om Linux med förbÀttrad sÀkerhet. Om du Àr intresserad av Linux med förbÀttrad sÀkerhet rekommenderar vi att du gÄr med i utvecklares e-postlista, granskar koden och ger din feedback (eller kod). För att gÄ med i utvecklares e-postlista, se. . - Vem kan hjÀlpa till?
SELinux stöds nu och utvecklas av gemenskapen av programvaruutvecklare för öppen kÀllkod för Linux. - Finansierar NSA nÄgot fortsatt arbete?
För nÀrvarande övervÀger NSA inte erbjudanden om fortsatt arbete. - Vilken typ av support finns tillgÀnglig?
Vi avser att hantera frÄgor via e-postlistan selinux@tycho.nsa.gov, men vi kan inte svara pÄ alla frÄgor relaterade till en specifik webbplats. - Vem hjÀlpte? Vad gjorde de?
Ett Linux-prototyp med förbÀttrad sÀkerhet utvecklades av NSA i samarbete med forskningspartners frÄn NAI Labs, Secure Computing Corporation (SCC) och MITER Corporation. Efter den första offentliga lanseringen följde mÄnga andra material. . - Hur kan jag lÀra mig mer?
Vi rekommenderar att du besöker vÄra webbsidor, lÀser dokumentationen och tidigare forskningsarbeten, samt deltar i vÄr e-postlista selinux@vger.kernel.org
Tycker du att översÀttningen Àr anvÀndbar? Skriv en kommentar!
KĂ€lla: habr.com
