Privilege eszkaláció - Privilege escalation

A privilégiumok fokozását leíró diagram. A nyíl egy rootkitet jelent, amely hozzáfér a kernelhez, a kis kapu pedig a normál jogosultságemelést jelenti, ahol a felhasználónak meg kell adnia egy rendszergazdai felhasználónevet és jelszót.

A jogosultságok növelése egy hiba , egy tervezési hiba vagy egy konfigurációs felügyelet kihasználása egy operációs rendszerben vagy szoftveralkalmazásban annak érdekében, hogy magasabb hozzáférést kapjanak az erőforrásokhoz , amelyek általában védettek egy alkalmazástól vagy felhasználótól . Ennek eredményeként az alkalmazásfejlesztő vagy a rendszergazda által tervezettnél több jogosultsággal rendelkező alkalmazás jogosulatlan műveleteket hajthat végre.

Háttér

A legtöbb számítógépes rendszert több felhasználói fiókkal való használatra tervezték, amelyek mindegyike jogosultságként ismert képességekkel rendelkezik . A gyakori jogosultságok közé tartozik a fájlok megtekintése és szerkesztése, vagy a rendszerfájlok módosítása.

A jogosultságok növelése azt jelenti, hogy a felhasználók olyan jogosultságokat kapnak, amelyekre nem jogosultak. Ezek a jogosultságok fájlok törlésére, privát információk megtekintésére vagy nem kívánt programok, például vírusok telepítésére használhatók. Általában akkor fordul elő, ha a rendszerben van egy hiba, amely lehetővé teszi a biztonság megkerülését, vagy ha hibás tervezési feltételezései vannak a felhasználás módjáról. A jogosultságok fokozódása két formában történik:

  • Függőleges jogosultsági eszkaláció , más néven jogosultságnövelés , ahol egy alacsonyabb jogosultságú felhasználó vagy alkalmazás hozzáfér a magasabb jogosultságú felhasználók vagy alkalmazások számára fenntartott funkciókhoz vagy tartalmakhoz (pl. Az Internetbank felhasználói hozzáférhetnek a webhely adminisztrációs funkcióihoz, vagy megkerülhetik az okostelefon jelszavát.)
  • Vízszintes jogosultság -eszkaláció , amikor egy normál felhasználó hozzáfér a többi normál felhasználó számára fenntartott funkciókhoz vagy tartalomhoz (pl. Internetes banki A felhasználó hozzáfér a B felhasználó internetes bankszámlájához)

Függőleges

Privilege gyűrűk x86 kapható védett módban

Ez a fajta jogosultsági eszkaláció akkor fordul elő, ha a felhasználó vagy folyamat magasabb szintű hozzáférést tud szerezni, mint a rendszergazda vagy rendszerfejlesztő, esetleg kernel szintű műveletek végrehajtásával.

Példák

Bizonyos esetekben egy magas jogosultságú alkalmazás feltételezi, hogy csak az interfész specifikációjának megfelelő bemenettel lesz ellátva, így nem ellenőrzi ezt a bemenetet. Ezután a támadó kihasználhatja ezt a feltételezést, hogy jogosulatlan kódot futtasson az alkalmazás jogosultságaival:

  • Egyes Windows -szolgáltatások úgy vannak konfigurálva, hogy a helyi rendszer felhasználói fiókja alatt fussanak. Egy biztonsági rés, például egy puffertúlcsordulás, tetszőleges kód futtatására használható, amelynek jogosultsága helyi rendszerre van emelve. Alternatív megoldásként egy rendszerszolgáltatás, amely egy kisebb felhasználónak adja ki magát, növelheti a felhasználó jogosultságait, ha a hibákat nem megfelelően kezelik, miközben a felhasználót megszemélyesítik (pl. Ha a felhasználó rosszindulatú hibakezelőt vezetett be )
  • A Microsoft Windows operációs rendszer egyes régi verzióiban a Minden felhasználó képernyővédő a Helyi rendszer fiók alatt fut - ezért minden olyan fiók, amely helyettesítheti a képernyővédő bináris fájlját a fájlrendszerben vagy a Rendszerleíró adatbázisban, növelheti a jogosultságokat.
  • A Linux kernel egyes verzióiban lehetőség volt egy olyan program írására, amely az aktuális könyvtárat állította be /etc/cron.d, és kérhette, hogy végezzen magdump -ot , ha összeomlik, majd megöli magát egy másik folyamat által. A törzsfájl a program aktuális könyvtárába lett volna helyezve, azaz /etc/cron.d, és cronszöveges fájlként kezelte volna, amely a programok ütemezett futtatására utasítja. Mivel a fájl tartalma a támadó irányítása alatt áll, a támadó bármilyen programot futtathat root jogosultságokkal.
  • A Cross Zone Scripting egy olyan típusú jogosultsági eszkalációs támadás, amelyben egy webhely felborítja a webböngészők biztonsági modelljét, és így lehetővé teszi, hogy rosszindulatú kódot futtasson az ügyfélszámítógépeken.
  • Vannak olyan helyzetek is, amikor egy alkalmazás más magas jogosultságú szolgáltatásokat is használhat, és téves feltételezései vannak arról, hogy az ügyfél hogyan manipulálhatja ezen szolgáltatások használatát. A parancssori vagy shell parancsokat végrehajtó alkalmazások Shell Injection biztonsági réssel rendelkezhetnek, ha érvényesítetlen bemenetet használnak a végrehajtott parancs részeként. A támadó ezután képes lenne rendszerparancsokat futtatni az alkalmazás jogosultságaival.
  • A Texas Instruments számológépeket (különösen a TI-85 és TI-82 ) eredetileg csak a TI-BASIC nyelvjárásaiban írt értelmezett programok használatára tervezték ; azonban miután a felhasználók olyan hibákat fedeztek fel, amelyek kihasználhatók a natív Z-80 kód futtatására a számológép hardverén, a TI kiadta a programozási adatokat, hogy támogassa a harmadik féltől származó fejlesztéseket. (Ez nem terjedt ki az ARM -alapú TI -Nspire -re, amelynél találtak jailbreak -eket az Ndless használatával, de a Texas Instruments még mindig aktívan harcol ellene.)
  • Az iPhone egyes verziói lehetővé teszik, hogy illetéktelen felhasználó hozzáférjen a telefonhoz, miközben az le van zárva.

Jailbreaking

A jailbreak az a cselekmény, vagy használt eszköz, hogy végre a cselekmény a kitörésre a chroot vagy jail a UNIX-szerű operációs rendszer, vagy megkerülve a digitális jogkezelés (DRM). Az előbbi esetben lehetővé teszi a felhasználó számára a fájlrendszeren kívüli fájlok megtekintését, amelyeket a rendszergazda az adott alkalmazás vagy felhasználó számára elérhetővé kíván tenni. A DRM összefüggésében ez lehetővé teszi a felhasználó számára, hogy tetszőlegesen meghatározott kódot futtasson a DRM-mel rendelkező eszközökön, valamint kitörjön a chroot-szerű korlátozásokból. A kifejezés az iPhone / iOS jailbreaking közösségétől származik, és a PlayStation Portable hacker kifejezésként is használták ; ezek az eszközök többször is jailbreaknek voltak kitéve, lehetővé téve tetszőleges kód végrehajtását, és néha letiltották ezeket a jailbreakeket a gyártó frissítései miatt.

Az iOS rendszerek, beleértve az iPhone -t , az iPad -et és az iPod touch -ot, megjelenésük óta az iOS jailbreaking erőfeszítéseinek voltak kitéve , és minden firmware -frissítéssel folytatódnak. Az iOS jailbreakelő eszközei között megtalálható a Cydia vagy a Sileo, az App Store harmadik féltől származó alternatívái telepítésének lehetősége a rendszer csípéseinek és bináris fájljainak megkeresésére és telepítésére. Az iOS jailbreaking megakadályozása érdekében az Apple arra kényszerítette az eszköz indító ROM -ját , hogy hajtsa végre az SHSH -blobok ellenőrzését annak érdekében, hogy megakadályozza az egyéni rendszermagok feltöltését, és megakadályozza a szoftver korábbi, jailbreakable firmware -re történő leminősítését. Egy "nem kötött" jailbreakben az iBoot környezetet úgy változtatják meg, hogy végrehajtsa a rendszerindító ROM kihasználását, és lehetővé tegye a javított alacsony szintű rendszerbetöltő beküldését, vagy feltörje a kernelt, hogy beküldje a jailbroken kernelt az SHSH ellenőrzés után.

Hasonló jailbreaking módszer létezik az S60 Platform okostelefonok esetében is , ahol a segédprogramok, például a HelloOX lehetővé teszik az előjel nélküli kód végrehajtását és a teljes rendszerfájlok elérését. vagy szerkesztett firmware -t (hasonlóan a PlayStation Portable -hez használt M33 feltört firmware -hez ), hogy megkerüljék az aláírás nélküli kód korlátozásait . A Nokia azóta az Apple -hez hasonló módon frissítéseket adott ki a jogosulatlan jailbreaking megfékezésére.

Játékkonzolok esetében a jailbreakelt gyakran használják a homebrew játékok végrehajtására . 2011-ben a Sony a Kilpatrick Stockton ügyvédi iroda segítségével beperelte a 21 éves George Hotzt és a fail0verflow csoport munkatársait a PlayStation 3 jailbreakelése miatt (lásd: Sony Computer Entertainment America kontra George Hotz és PlayStation Jailbreak ).

Android

Az Android telefonok hivatalosan gyökerezhetnek, ha vagy a gyártók által ellenőrzött folyamaton mennek keresztül, kihasználják a gyökeret, vagy villognak az egyéni helyreállítások. A gyártók az általuk irányított folyamaton keresztül engedélyezik a gyökereztetést, míg egyesek lehetővé teszik a telefon gyökereztetését a rendszerindításkor adott billentyűkombinációk lenyomásával vagy más, saját kezűleg alkalmazott módszerekkel. A gyártói módszer alkalmazása szinte mindig véglegesen érvényteleníti a garanciát, még akkor is, ha az eszközt kicserélik és újrafénylik. A szoftverkihasználások általában vagy a felhasználó által hozzáférhető gyökérszintű folyamatot célozzák meg, a telefon kernelére jellemző kihasználást használva, vagy egy ismert Android-kihasználást használva, amelyet újabb verziókban javítottak ki; azzal, hogy nem frissíti a telefont, vagy szándékosan leminősíti a verziót.

Enyhítő stratégiák

Az operációs rendszerek és a felhasználók a következő stratégiákat használhatják a jogosultságok növelésének kockázatának csökkentésére:

Vízszintes

A jogosultságok vízszintes fokozódása akkor következik be, amikor egy alkalmazás lehetővé teszi a támadó számára, hogy hozzáférjen azokhoz az erőforrásokhoz, amelyek általában védve lettek volna egy alkalmazástól vagy felhasználótól . Ennek eredményeként az alkalmazás ugyanazzal a felhasználóval, de más biztonsági kontextussal hajt végre műveleteket, mint amit az alkalmazásfejlesztő vagy a rendszergazda tervezett ; ez valójában a privilégiumok fokozásának korlátozott formája (konkrétan a jogosulatlan feltételezés arra vonatkozóan, hogy más felhasználóknak lehet megszemélyesíteni).

Példák

Ez a probléma gyakran előfordul a webes alkalmazásokban . Tekintsük a következő példát:

  • Az A felhasználó hozzáférhet saját bankszámlájához egy Internet Banking alkalmazásban.
  • A B felhasználó ugyanahhoz az Internet Banking alkalmazáshoz fér hozzá saját bankszámlájához.
  • A biztonsági rés akkor fordul elő, amikor az A felhasználó valamilyen rosszindulatú tevékenység révén hozzáférhet a B felhasználó bankszámlájához.

Ez a rosszindulatú tevékenység a webalkalmazások gyakori gyengeségei vagy sebezhetősége miatt lehetséges.

A lehetséges webalkalmazás -biztonsági rések vagy helyzetek, amelyek ezt a feltételt eredményezhetik, a következők:

Lásd még

Hivatkozások