Přeskočit na obsah

Wikipedista:VitFaragula/Pískoviště

Z Wikipedie, otevřené encyklopedie

Problém zmateného zástupce[editovat | editovat zdroj]

Zmatený zástupce je v tomto případě počítačový program u kterého došlo k podvržení autority třetí stranou. Jedná se zde o specifický způsob elevace oprávnění. V počítačové bezpečnosti je problém zmateného zástupce udáván jako jedna z výhod Capability-based security systémů, které jsou proti tomuto problému chráněné na rozdíl od systémů využívajících ACL.


Jako typický příklad zmateného zástupce se uvádí server, který provádí kompilační služby jiným programům. Za normálních okolností si klient určí jména vstupních a výstupních souborů a serveru jsou pak dána stejné možnosti přístupu jako má klient. Za kompilaci na serveru se platí a server ukládá fakturační údaje do souboru UCET ke kterému má přístup pouze on sám. Nyní předpokládejme že klient použije tento kompilátor a výstupní soubor pojmenuje UCET. I když klient sám nemá přístupová práva na to aby mohl přepisovat soubor UCET samotný program je má. Server otevře výstupní soubor vypíše zkompilovaný výstup a soubor tak přepíše, čímž zlikviduje fakturační údaje. V tomto případě je zmatený zástupce server protože jedná dle příkazů, které dostal od klienta a tím si přepsal svůj fakturační soubor.

Kdykoli se program pokusí přistoupit k souboru, operační systém potřebuje znát dvě podstatné informace: ke kterému souboru žádá program přístup a jestli program má dostatečné oprávnění aby k němu mohl přistoupit. V tomto případě se jedná o soubor označený jménem UCET. Server obdrží název souboru od klienta ale neví zda klient má k tomuto souboru dostatečná oprávnění pro zápis do tohoto souboru. Když server otevře tento souboru operační systém použije přístupová oprávnění serveru ne klienta. Jméno souboru tak bylo předáno z klienta na server ale přístupová oprávnění už ne. Přístupové oprávnění takto bylo automaticky a "tiše" zvýšeno. Je důležité si uvědomit, že označovatel souboru nemusí sám mít k tomuto souboru přístup a server sám použil implicitní nastavení oprávnění.


Příklad z reality[editovat | editovat zdroj]

Jsou to triky založeny na získání si důvěry u oběti se záměrem použít oběť jako zmateného zástupce. Při placení v obchodě pokladní scanuje čárkový kód u jednotlivého zboží. Útočník může vyměnit čárkové kódy u dražšího zboží, za čárkové kódy zboží levnějšího. U tohoto druhu útoku je pokladní zmatený zástupce, který důvěřuje zdánlivě platným čárkovým kódům.


Příklady využití problému zmateného zástupce[editovat | editovat zdroj]

Cross-site request forgery(CSRF) je další příklad použití zmateného zástupce. Zde útočník přesvědčí webový prohlížeč pomocí cookies, že je někdo jiný, a tak se může nabourat např. do administrace nebo k citlivým informacím.


Další z příkladů je počítačový červ Samy, který za použití Cross-Site Scriptingu (XSS) obalamutil pomocí prohlížece MySpace session a tím z něj udělal zmateného zástupce. Pomocí XSS červ donutil prohlížeč poslat další svou kopii formou MySpace zprávy, kterou následně uviděl každý z přátel oběti. MySpace už udělal potřebná opatření aby se toto již nikdy nemohlo opakovat.


U útoků typu Clickjacking je zmatený zástupce sám uživatel. Při tomto útoku se uživatel domnívá, že si pokojně serfuje webovou stránkou(stránkou spravovanou útočníkem), ale mezitím provádí závažné operace na stránce jiné.


Při použití FTP bounce attack se může útočník nepřímo připojit k TCP portům ke kterým útočník nemá za normálních okolností přístup. U tohoto útoku je zmatený zástupce FTP server.


Další příklad se týká firewallu, který může zamezit přístup k internetu pro určité aplikace. Některé aplikace se toto snaží obejít tím, že spustí prohlížeč s požadovanou URL. Prohlížeč už má požadované oprávnění k připojení k síti na rozdíl od aplikace. Firewall tento problém může řešit tím že oznámí uživateli, že program který má přístup do sítě byl spuštěn jiným programem. Nicméně uživatel i povětšinou není tak dobře informovaný a vzhledem k tomu že operační systém vyvolá mnoho falešných poplachů je zde velké riziko že uživatel ze zvyklosti potvrdí takovouto akci kliknutím na tlačítko "OK".


To že je u programu nějakým způsobem podvržena autorita vždycky neznamená, že se z něj stane zmatený zástupce. Někdy je podvržení autority čistě výsledek nějaké chyby v programu. Problém zmateného zástupce nastává pokud jeden program předá nějaký objekt druhému a související oprávnění přístupu neúmyslně. Je to záludný problém, protože ani jedna strana úmyslně nechtěla změnit přístupová oprávnění.