Opptrapping av privilegier - Privilege escalation

Et diagram som beskriver opptrapping av privilegier. Pilen representerer en rootkit som får tilgang til kjernen, og den lille porten representerer normal privilegiehøyde, der brukeren må skrive inn et administratornavn og passord.

Opptrapping av privilegier er handlingen om å utnytte en feil , en designfeil eller et konfigurasjonsovervåkning i et operativsystem eller programvare for å få forhøyet tilgang til ressurser som normalt er beskyttet mot et program eller en bruker . Resultatet er at et program med flere rettigheter enn beregnet av programutvikleren eller systemadministratoren kan utføre uautoriserte handlinger.

Bakgrunn

De fleste datasystemer er designet for bruk med flere brukerkontoer, som hver har evner kjent som privilegier . Vanlige privilegier inkluderer visning og redigering av filer eller endring av systemfiler.

Opptrapping av privilegier betyr at brukere får privilegier de ikke har krav på. Disse privilegiene kan brukes til å slette filer, se privat informasjon eller installere uønskede programmer som virus. Det oppstår vanligvis når et system har en feil som gjør at sikkerhet kan omgås eller alternativt har mangelfulle designforutsetninger om hvordan den skal brukes. Opptrapping av privilegier skjer i to former:

  • Vertikal opptrapping av privilegier , også kjent som privilegiehevning , der en bruker eller et program med lavere privilegier får tilgang til funksjoner eller innhold som er reservert for brukere eller applikasjoner med høyere privilegier (f.eks. Internet Banking -brukere kan få tilgang til nettstedets administrative funksjoner eller passordet for en smarttelefon kan omgås.)
  • Horisontal opptrapping av privilegier , der en normal bruker får tilgang til funksjoner eller innhold reservert for andre vanlige brukere (f.eks. Internet Banking User A får tilgang til Internett -bankkontoen til bruker B)

Vertikal

Privilegeringsringer for x86 tilgjengelig i beskyttet modus

Denne type privilegium opptrapping inntreffer når brukeren eller prosessen er i stand til å oppnå et høyere tilgangsnivå enn et eller systemutvikleren ment, muligens ved å utføre kjernen nivå operasjoner.

Eksempler

I noen tilfeller antar et program med høy privilegium at det bare ville være utstyrt med inngang som samsvarer med grensesnittspesifikasjonen, og dermed ikke validere denne inngangen. Deretter kan en angriper være i stand til å utnytte denne antagelsen for å kjøre uautorisert kode med programmets privilegier:

  • Noen Windows -tjenester er konfigurert til å kjøre under brukerkontoen for det lokale systemet. En sårbarhet, for eksempel et bufferoverløp, kan brukes til å utføre vilkårlig kode med privilegier forhøyet til lokalt system. Alternativt kan en systemtjeneste som utgir seg for å være en mindre bruker, heve brukerens privilegier hvis feil ikke håndteres riktig mens brukeren blir etterlignet (f.eks. Hvis brukeren har introdusert en ondsinnet feilbehandler )
  • Under noen eldre versjoner av Microsoft Windows -operativsystemet kjører Alle brukere -skjermspareren under den lokale systemkontoen - enhver konto som kan erstatte den nåværende skjermsparer -binæren i filsystemet eller registret kan derfor heve privilegier.
  • I visse versjoner av Linux -kjernen var det mulig å skrive et program som ville sette den nåværende katalogen til /etc/cron.d, be om at en kjernedump ble utført i tilfelle den krasjer og deretter blir drept av en annen prosess. Kjernedumpfilen ville ha blitt plassert i programmets nåværende katalog, det vil si /etc/cron.d, og cronville ha behandlet den som en tekstfil som instruerte den til å kjøre programmer etter planen. Fordi innholdet i filen vil være under angriperens kontroll, må angriperen være i stand til å utføre et program med root privilegier.
  • Cross Zone Scripting er en type opptrappingsrettighetsangrep der et nettsted undergraver sikkerhetsmodellen for nettlesere, og dermed lar det kjøre skadelig kode på klientdatamaskiner.
  • Det er også situasjoner der en applikasjon kan bruke andre tjenester med høyt privilegium og har feil forutsetninger om hvordan en klient kan manipulere bruken av disse tjenestene. Et program som kan utføre kommandolinjen eller skall kommandoene kan ha en Injeksjon Shell sikkerhetsproblem hvis det brukes ubekreftede inngang som en del av en kommando som kjøres. En angriper ville da kunne kjøre systemkommandoer ved å bruke programmets privilegier.
  • Texas Instruments kalkulatorer (spesielt TI-85 og TI-82 ) ble opprinnelig designet for å bare bruke tolkete programmer skrevet på dialekter av TI-BASIC ; Etter at brukere oppdaget feil som kunne utnyttes for å tillate innfødt Z-80- kode å kjøre på kalkulatorens maskinvare, ga TI imidlertid ut programmeringsdata for å støtte tredjepartsutvikling. (Dette gikk ikke videre til det ARM -baserte TI -Nspire , som det er funnet fengselsbrudd som bruker Ndless, men som fortsatt bekjempes aktivt av Texas Instruments.)
  • Noen versjoner av iPhone gir en uautorisert bruker tilgang til telefonen mens den er låst.

Jailbreaking

En jailbreak er handlingen eller verktøyet som brukes for å utføre handlingen om å bryte ut av en chroot eller fengsel i UNIX-lignende operativsystemer eller omgå digital management (DRM). I det tidligere tilfellet tillater det brukeren å se filer utenfor filsystemet som administratoren har tenkt å gjøre tilgjengelig for den aktuelle applikasjonen eller brukeren. I konteksten av DRM tillater dette brukeren å kjøre vilkårlig definert kode på enheter med DRM samt bryte ut av chroot-lignende begrensninger. Begrepet stammer fra jailbreaking -fellesskapet for iPhone / iOS og har også blitt brukt som begrep for PlayStation Portable hacking; disse enhetene har gjentatte ganger blitt utsatt for jailbreaks, noe som tillot utførelse av vilkårlig kode, og noen ganger har de jailbreaks deaktivert av leverandøroppdateringer.

iOS -systemer, inkludert iPhone , iPad og iPod touch, har vært utsatt for jailbreakingiOS siden de ble utgitt, og fortsatte med hver fastvareoppdatering. iOS jailbreaking-verktøy inkluderer muligheten til å installere Cydia eller Sileo, tredjepartsalternativer til App Store , som en måte å finne og installere systemjusteringer og binære filer. For å forhindre jailbreaking i iOS, har Apple fått enhets boot -ROM til å utføre kontroller for SHSH -blobber for å tillate opplasting av tilpassede kjerner og forhindre nedgradering av programvare til tidligere, jailbreakable fastvare. I en "untethered" jailbreak blir iBoot -miljøet endret til å utføre en boot ROM -utnyttelse og tillate innsending av en lappet bootloader på lavt nivå eller hacke kjernen for å sende den jailbroken -kjernen etter SHSH -sjekken.

En lignende metode for jailbreaking eksisterer for S60 Platform -smarttelefoner , der verktøy som HelloOX tillater utføring av usignert kode og full tilgang til systemfiler. eller redigert fastvare (ligner på den M33 hackede fastvaren som ble brukt til PlayStation Portable ) for å omgå restriksjoner på usignert kode . Nokia har siden utstedt oppdateringer for å dempe uautorisert jailbreaking, på en måte som ligner på Apple.

Når det gjelder spillkonsoller, brukes jailbreaking ofte for å utføre hjemmebrygde spill . I 2011 saksøkte Sony , med bistand fra advokatfirmaet Kilpatrick Stockton , 21 år gamle George Hotz og medarbeidere i gruppen fail0verflow for å jailbreake PlayStation 3 (se Sony Computer Entertainment America v. George Hotz og PlayStation Jailbreak ).

Android

Android -telefoner kan være offisielt forankret ved enten å gå gjennom produsentstyrt prosess, bruke en utnyttelse for å få rot, eller blinke tilpasset gjenoppretting. Produsenter tillater rooting gjennom en prosess de kontrollerer, mens noen lar telefonen rotes ved å trykke på bestemte tastekombinasjoner ved oppstart, eller ved andre selvadministrerte metoder. Ved å bruke en produsentmetode ugyldiggjør nesten alltid garantien permanent, selv om enheten er avskåret og omskyllet. Programvare utnytter vanligvis enten en rotnivåprosess som er tilgjengelig for brukeren, ved å bruke en utnyttelse som er spesifikk for telefonens kjerne, eller ved å bruke en kjent Android-utnyttelse som har blitt oppdatert i nyere versjoner; ved ikke å oppgradere telefonen, eller med vilje nedgradere versjonen.

Avbøtningsstrategier

Operativsystemer og brukere kan bruke følgende strategier for å redusere risikoen for opptrapping av privilegier:

Horisontal

Horisontal opptrapping av privilegier skjer når en applikasjon lar angriperen få tilgang til ressurser som normalt ville vært beskyttet mot et program eller en bruker . Resultatet er at applikasjonen utfører handlinger med den samme brukeren, men en annen sikkerhetskontekst enn det som er beregnet av applikasjonsutvikleren eller systemadministratoren . Dette er faktisk en begrenset form for opptrapping av privilegier (spesifikt den uautoriserte antagelsen om evnen til å etterligne andre brukere).

Eksempler

Dette problemet oppstår ofte i webapplikasjoner . Vurder følgende eksempel:

  • Bruker A har tilgang til sin egen bankkonto i en internettbankprogram.
  • Bruker B har tilgang til sin egen bankkonto i den samme Internettbankprogrammet.
  • Sårbarheten oppstår når bruker A får tilgang til bruker Bs bankkonto ved å utføre en slags ondsinnet aktivitet.

Denne ondsinnede aktiviteten kan være mulig på grunn av vanlige webapplikasjoner eller svakheter.

Potensielle sårbarheter eller situasjoner for nettapplikasjoner som kan føre til denne tilstanden inkluderer:

Se også

Referanser