Privilegium (dator) - Privilege (computing)

Inom datorer definieras privilegium som delegering av befogenhet att utföra säkerhetsrelevanta funktioner på ett datorsystem. En behörighet tillåter en användare att utföra en åtgärd med säkerhetskonsekvenser. Exempel på olika privilegier inkluderar möjligheten att skapa en ny användare, installera programvara eller ändra kärnfunktioner.

Användare som har delegerats extra kontrollnivåer kallas privilegierade. Användare som saknar de flesta privilegier definieras som oprivilegerade, vanliga eller normala användare.

Teori

Privilegier kan antingen vara automatiska, beviljade eller ansökta.

En automatisk behörighet finns när det inte finns något krav för att ha behörighet att utföra en åtgärd. Till exempel, på system där människor måste logga in på ett system för att använda det, kommer utloggning inte att kräva några privilegier. System som inte implementerar filskydd - som MS -DOS - ger i huvudsak obegränsad förmåga att utföra alla åtgärder på en fil.

Ett beviljat privilegium existerar som ett resultat av att någon legitimation presenteras för den beviljande behörigheten. Detta uppnås vanligtvis genom att logga in på ett system med ett användarnamn och lösenord , och om användarnamnet och lösenordet är korrekt får användaren ytterligare behörigheter.

En behörighet tillämpas antingen av ett exekverat program som utfärdar en begäran om avancerade behörigheter, eller genom att köra något program för att ansöka om ytterligare behörigheter. Ett exempel på en användare som ansöker om ytterligare behörigheter tillhandahålls av kommandot sudo för att köra ett kommando som rotanvändare eller av Kerberos -autentiseringssystemet.

Moderna processorarkitekturer har flera CPU -lägen som gör att operativsystemet kan köras på olika behörighetsnivåer . Vissa processorer har två nivåer (t.ex. användare och handledare ); i386 + -processorer har fyra nivåer ( #0 med flest, #3 med minst privilegier). Uppgifter är märkta med en behörighetsnivå. Resurser (segment, sidor, portar, etc.) och de privilegierade instruktionerna är märkta med en kravnivå. När en uppgift försöker använda en resurs eller utföra en privilegierad instruktion, avgör processorn om den har behörighet (om inte, genereras ett "skyddsfel" -avbrott). Detta förhindrar att användaruppgifter skadar operativsystemet eller varandra.

I datorprogrammering kan undantag relaterade till kränkningar av privilegierade instruktioner orsakas när en matris har nåtts utanför gränserna eller en ogiltig pekare har avgränsats när den ogiltiga minnesplatsen refereras till en privilegierad plats, till exempel en som styr enhetens in-/utgång. Detta är särskilt mer sannolikt att inträffa i programmeringsspråk som C, som använder pekararitmetik eller inte kontrollerar matrisgränser automatiskt.

Unix

Unix-liknande system äger superanvändaren (allmänt känd som 'root') alla privilegier. Vanliga användare får bara tillräckligt med behörigheter för att utföra sina vanligaste uppgifter. UNIX-system har inbyggda säkerhetsfunktioner. De flesta användare kan inte skapa ett nytt användarkonto eller göra andra administrativa procedurer. Användarens "root" är en speciell användare, något som kallas superanvändare, som kan göra vad som helst på systemet. Denna högkvalitativa effekt är nödvändig för att fullt ut administrera ett UNIX -system, men det gör också att användaren kan göra ett misstag och orsaka systemproblem.

Oprivilegerade användare kan vanligtvis inte:

  • Justera kärnalternativ .
  • Ändra systemfiler eller filer från andra användare.
  • Ändra äganderätten till alla filer.
  • Ändra runlevel (på system med System V -stil initialisering).
  • Ändra filläget för alla filer.
  • Justera ulimits eller diskkvoter .
  • Starta, stoppa och ta bort demoner .
  • Signalprocesser från andra användare.
  • Skapa enhetsnoder .
  • Skapa eller ta bort användare eller grupper.
  • Montera eller avmontera volymer, även om det blir vanligt att låta vanliga användare montera och avmontera flyttbara medier, till exempel CD -skivor . Detta uppnås vanligtvis via FUSE .
  • Kör innehållet i alla sbin/kataloger, även om det blir vanligt att helt enkelt begränsa beteendet hos sådana program när det körs av vanliga användare.
  • Bind portar under 1024.

Windows NT

Windows NT -baserade system delegeras privilegier i varierande grad. Dessa delegationer kan definieras med hjälp av Local Security Policy Manager (SECPOL.MSC). Följande är en förkortad lista över standardtilldelningarna:

  • 'NT AUTHORITY \ System' är den närmaste motsvarigheten till Superanvändaren på Unix-liknande system. Den har många av privilegierna för en klassisk Unix -superanvändare, till exempel att vara förvaltare för varje fil som skapas
  • 'Administrator' är en av de närmaste motsvarigheterna till Superanvändaren på Unix-liknande system. Denna användare kan dock inte åsidosätta så många av operativsystemets skydd som Superanvändaren kan.
  • Medlemmar i gruppen "Administratörer" har nästan samma privilegier som "Administratör".
  • Medlemmar i gruppen "Power Users" har möjlighet att installera program och säkerhetskopiera systemet.
  • Medlemmar i gruppen "Användare" motsvarar oprivilegerade användare på Unix-liknande system.

Windows definierar ett antal administrativa behörigheter som kan tilldelas användare och/eller grupper individuellt. Ett konto (användare) innehar endast de privilegier som tilldelas det, antingen direkt eller indirekt genom gruppmedlemskap. Vid installation skapas ett antal grupper och konton och privilegier beviljas dem. Dessa bidrag kan dock ändras vid ett senare tillfälle eller genom en grupppolicy . Till skillnad från Linux beviljas inga privilegier implicit eller permanent till ett specifikt konto.

Vissa administrativa privilegier (t.ex. att ta äganderätt till eller återställa godtyckliga filer) är så kraftfulla att om de används med onda avsikter kan de tillåta att hela systemet äventyras. Med användarkontokontroll (på som standard sedan Windows Vista) tar Windows bort användartoken för dessa privilegier vid inloggning. Således, om en användare loggar in med ett konto med breda systemrättigheter, kommer han/hon fortfarande inte att köra med dessa systemprivilegier. När användaren vill utföra administrativa åtgärder som kräver någon av systemrättigheterna måste han/hon göra detta från en förhöjd process. När en högprocess startas , görs användaren medveten om att hans/hennes administrativa privilegier görs gällande genom en prompt som kräver hans/hennes samtycke. Att inte inneha privilegier förrän det faktiskt krävs är i överensstämmelse med principen om minst privilegium .

Förhöjda processer körs med användarens fulla rättigheter, inte systemets fulla behörigheter . Ändå kan användarens privilegier fortfarande vara mer än vad som krävs för just den processen, alltså inte helt minst privilegium .

De DOS-baserade Windows ME, Windows 98, Windows 95 och tidigare versioner av icke-NT Windows fungerar bara på FAT-filsystemet och stöder inte filsystembehörigheter. använda filsystemet NTFS .

Nomenklatur

Namnen som används i Windows -källkoden slutar antingen i "Privilege" eller "LogonRight". Detta har lett till viss förvirring om vad hela uppsättningen av alla dessa "Rättigheter" och "Privilegier" ska kallas.

Microsoft använder för närvarande termen "Användarrättigheter". Tidigare har några andra termer också använts av Microsoft, till exempel "Privilegierätter", "inloggningsanvändarrättigheter" och "NT-rättigheter".

Se även

Referenser