Local & Privilege Escalation Exploits

Privilege eskalace je věc, že využívá chyby , konstrukční chybu nebo konfiguraci dohled v operačním systému nebo softwarové aplikace pro získání zvýšeného přístupu ke zdrojům , které jsou obvykle chráněny před aplikací nebo uživatelem . Výsledkem je, že aplikace s více privilegií než bylo zamýšleno podle vývojář aplikace nebo správce systému může provádět nepovolené akce.

Dosavadní
Většina počítačové systémy jsou navrženy pro použití s více uživateli. Práva na mysli to, co je uživatel oprávněn dělat. Společná oprávnění patří prohlížení a editaci souborů nebo modifikaci systémových souborů.

Privilege eskalace znamená, že uživatel obdrží oprávnění nejsou oprávněny. Tato oprávnění mohou být použity k odstranění souborů, prohlížení soukromých informací, nebo instalovat nežádoucích programů, jako jsou viry. To obvykle nastane, když systém má chybu , která umožňuje zabezpečení, které mají být odpojeny, nebo alternativně, je chybné konstrukční předpoklady o tom, jak se bude používat. Privilege eskalace se vyskytuje ve dvou formách:

Vertikální privilegium eskalace , také známý jako zvýšení úrovně oprávnění , pokud nižší Oprávněný uživatel nebo aplikace přistupuje funkce nebo obsah vyhrazené pro vyšší uživatelů výsady nebo aplikací (například při uživatelé Internetové bankovnictví může webovým stránkám přístup správních funkcí nebo heslo pro smartphone lze vynechat).
Horizontální privilegium eskalace , kde běžný uživatel přistupuje k funkce nebo obsah vyhrazené pro ostatní běžné uživatele (například internetové bankovnictví Uživatel A přistupuje k Internetu bankovní účet uživatel B)
Vertikální 

Privilege kroužky pro x86 jsou k dispozici v chráněném režimu
Tento typ eskalaci privilegií dochází, když uživatel nebo proces je schopen dosáhnout vyšší úrovně přístupu, než vývojář správce nebo zamýšleného systému, případně provedením kernel-level operace.

Příklady
V některých případech aplikace s vysokou privilegium předpokládá, že se použije pouze se vstupem, který odpovídá jeho specifikaci rozhraní, a neověřuje vstup. Útočník pak může být schopen využít tento předpoklad takže neoprávněný kód spuštěn s oprávněními dané aplikace:

Některé služby systému Windows jsou konfigurovány pro spuštění pod místní uživatelský účet SYSTEM. Byla zjištěna chyba zabezpečení, jako je například přetečení vyrovnávací paměti může být použita ke spuštění libovolného kódu s oprávněním povýšil na místní systém. Alternativně může být systémová služba, která se vydává za menší uživatel může zvýšit oprávnění daného uživatele, pokud chyby nejsou zpracovány správně, zatímco uživatel je vydával (např případě, že uživatel zavedla škodlivý popisovač chyb )
V některých starších verzích Microsoft Windows operačního systému, všechny uživatele screensaver běží pod účtem LocalSystem - jakýkoliv účet, který může nahradit stávající spořiče obrazovky binární v souborovém systému nebo Registry proto může zvýšit oprávnění.
V některých verzích linuxového jádra bylo možné napsat program, který by stanovil její aktuální adresář /etc/cron.d, požadovat, aby core dump být provedena v případě, že narazí a pak si sám zabit jiným procesem. Výpisu souborů Jádro by byly umístěny v aktuálním adresáři programu, to znamená, /etc/cron.da cronby brali ho jako textový soubor instruovat jej ke spouštění programů podle plánu. Vzhledem k tomu, obsah souboru bude pod kontrolou útočníka, útočník by mohl spustit libovolný program s kořenovými oprávněními.
Cross Zone Scripting je typ zvýšení úrovně oprávnění útoku, ve kterém je webová stránka podvrací modelu zabezpečení webových prohlížečů tak, aby mohl spustit škodlivý kód na klientských počítačích.
Existují také situace, kdy může aplikace používat jiné vysoce oprávněními služby a má nesprávné předpoklady o tom, jak klient mohl manipulovat s jeho využívání těchto služeb. Aplikace, které mohou spouštět příkazové řádky nebo shell příkazy by mohly mít Vstřikování Shell chyby v případě, že používá neověřené vstup jako součást provedeného příkazu. Útočník by pak mělo být schopno spouštět systémové příkazy pomocí oprávnění aplikace.
Texas Instruments kalkulačky (zejména TI-85 a TI-82 ) byly původně navrženy tak, aby použít pouze interpretovat programy napsané v dialektech TI-BASIC ; Nicméně, poté, co uživatelé objevili chyby, které by mohly být využity, aby nativní Z-80 spuštění kódu na kalkulátoru hardwaru, TI propuštěn programování dat na podporu rozvoje třetích stran. (Tento nenesl k ARM založené TI-NSPIRE , pro které Jailbreaks používající Ndless Nebyly nalezeny, ale jsou stále aktivně bojovala proti Texas Instruments).
Některé verze iPhone umožnit neoprávněný uživatel přístup k telefonu, zatímco je uzamčen.
Jailbreaking
Jailbreak je akt nebo nástroj použít k provedení akt vypadla z chroot nebo vězení v unixových operačních systémech nebo obcházet správy digitálních práv (DRM). V prvním případě to umožňuje uživateli zobrazit soubory mimo souborového systému , že správce hodlá zpřístupnit aplikací nebo uživatelem v pochybnost. V souvislosti s DRM, to umožňuje uživateli spouštět libovolně definovaného kódu v zařízeních s ochranou DRM, jakož i přerušení z chroot-jako omezení. Termín pocházel od iPhone / iOS Jailbreaking komunitě a také byl použitý jako termín pro PlayStation Portable hacking; Tyto přístroje se opakovaně byly předmětem Jailbreaks, což umožňuje spuštění libovolného kódu, a někdy měli ty Jailbreaks povoleny aktualizacemi dodavatelů.

iOS zařízení včetně iPhone , iPad a iPod touch byly předmětem jailbreak úsilí, protože oni byli propuštěni, a pokračováním každé aktualizaci firmwaru.jailbreak nástroje patří možnost nainstalovat Cydia , třetí strany alternativa k App Store , jako způsob, jak najít a nainstalovat systém vylepšení a binární soubory. Aby se zabránilo jailbreak Apple učinil toto zařízení spouštěcí ROM provádět kontroly na SHSH puntíky , aby zakázáno uploadovat na zakázku jader a zabránit softwaru k degradaci na dřívější, jailbreakable firmwary. V "untethered jailbreak", životní prostředí iBoot se změní, aby mohla provést boot ROM zneužít a umožnit předložení opravenou nízké úrovně zavaděče nebo hack jádro předložit jailbroken jádro po kontrole SHSH.

Podobný způsob jailbreaking existuje pro platformu S60 smartphony , který zahrnuje instalaci softmod -Style záplat, který zahrnuje záplatování určité ROM soubory, zatímco naložený do paměti RAM nebo upravovat firmware (podobně jako M33 hacknutý firmware používá pro PlayStation Portable ) obejít omezení nepodepsaný kód . Nokia od té doby vydává aktualizace s cílem omezit neoprávněné jailbreaking, podobným způsobem jako Apple.

V případě herních konzolí, Jailbreaking se často používá ke spuštění homebrew hry . V roce 2011, Sony , za asistence advokátní kanceláře Kilpatrick Stockton , žaloval 21-letý George Hotz a spolupracovníky skupiny fail0verflow pro Jailbreaking na PlayStation 3 (viz Sony Computer Entertainment America v. George Hotz a PlayStation Jailbreak ).

Snahy vedoucí
Operační systémy a uživatelé mohou využít následující strategie, aby se snížilo riziko zvýšení úrovně oprávnění:

Data Execution Prevention
Address space layout randomization (dělat to těžší pro přetečení vyrovnávací paměti k provedení privilegované instrukce u známých adresách v paměti)
Běžící aplikace s nejméně výsady (například spuštěním aplikace Internet Explorer s správce SID zakázána v procesním tokenu ) s cílem snížit schopnost přetečení vyrovnávací paměti využije zneužívat privilegia ze zvýšené uživatele.
Vyžadující jádra režimu kód, který se digitálně podepsán.
Použití up-to-date antivirový software
záplatování
Použití překladače , že past přetečení vyrovnávací paměti
Šifrování softwaru a / nebo firmwaru komponent.
Použití operačního systému s Mandatory Access Controls (MAC), jako je SE Linux
Horizontální
Horizontální privilegium Eskalace nastane, když aplikace umožňuje útočníkovi získat přístup ke zdrojům , které by za normálních okolností byly chráněny před aplikací nebo uživatelem . Výsledkem je, že aplikace provádí činnosti spojené se stejným, ale odlišného kontextu zabezpečení než určenému vývojář aplikace nebo systémového administrátora ; To je skutečně omezená forma eskalaci práv (konkrétně neoprávněné předpoklad schopnosti vydávat ostatním uživatelům).

Příklady
K tomuto problému často dochází v webových aplikací . Vezměme si následující příklad:

Uživatel má přístup k vlastní bankovní účet v aplikaci internetového bankovnictví.
Uživatel B má přístup k vlastní bankovní účet ve stejné aplikaci internetového bankovnictví.
Zranitelnost dochází, když Uživatel A je možné získat přístup uživatel B bankovní účet provedením nějaké škodlivé aktivity.
Tato škodlivá aktivita může být možné vzhledem k běžné webové aplikace slabá místa nebo zranitelnosti.

Potenciální webových aplikací zranitelná místa nebo situace, které mohou vést k této podmínky zahrnují:

Předvídatelný ID relace je v uživatelské HTTP cookie
fixace Session
Cross-site scripting
Snadno uhodnutelných hesla
Krádež nebo únos session cookies
stisk klávesy logování