Zmatený problém zástupce - Confused deputy problem

v informační bezpečnost, zmatený problém zástupce je často uváděn jako příklad proč zabezpečení založené na schopnostech je důležité. A zmatený zástupce je legitimní, privilegovanější počítačový program který je podveden jiným programem do zneužití své autority v systému. Jedná se o specifický typ eskalace privilegií.

Systémy schopností chránit před zmateným problémem zástupce, zatímco seznam řízení přístupu -založené systémy ne.[1]

Příklad

Prototypový zmatený zástupce Barney Fife

V původním příkladu zmateného zástupce[2] existuje program, který poskytuje sestavení služby dalším programům. Normálně klientský program určuje název vstupních a výstupních souborů a server má stejný přístup k těm souborům, které má klient.

Služba kompilátoru je placená za použití a služba kompilátoru ukládá své fakturační údaje do souboru (dabovaného) ÚČTOVAT), ke kterým má přístup pouze ona.

V situaci, kdy klient volá službu a pojmenuje její výstupní soubor ÚČTOVAT, dochází k problému zmateného zástupce: služba otevře výstupní soubor. I když klient k tomuto souboru neměl přístup, služba ano, takže otevření proběhne úspěšně. Server zapíše výstup kompilace do souboru (zde ÚČTOVAT) jako obvykle, přepíše jej, čímž zničí fakturační údaje.

Zmatený zástupce

V tomto příkladu je zástupcem kompilační služba, protože jedná na žádost klienta. Služba je považována za „zmatenou“, protože byla podvedena k přepsání svého fakturačního souboru.

Kdykoli se program pokusí o přístup k souboru, operační systém potřebuje vědět dvě věci: o který soubor program žádá a zda má program oprávnění k přístupu k souboru. V příkladu je soubor označen názvem „BILL“. Server obdrží název souboru od klienta, ale neví, zda měl klient oprávnění k zápisu do souboru. Když server otevře soubor, použije systém oprávnění serveru, nikoli oprávnění klienta. Když byl název souboru předán z klienta na server, oprávnění s ním nebylo spojeno; oprávnění bylo zvýšeno systémem tiše a automaticky.

Pro útok není zásadní, aby byl fakturační soubor označen jménem představovaným jako řetězec. Podstatné je, že:

  • označení souboru nemá úplné oprávnění potřebné pro přístup k souboru;
  • vlastní oprávnění serveru k souboru se použije implicitně.

Další příklady

A padělání požadavku napříč weby (CSRF) je příkladem zmateného útoku zástupce, který používá webový prohlížeč provádět citlivé akce proti webové aplikaci. Běžná forma tohoto útoku nastává, když webová aplikace používá soubor cookie k ověření všech požadavků přenášených prohlížečem. Pomocí JavaScriptu může útočník přinutit prohlížeč k přenosu ověřených požadavků HTTP.

The Samy počítačový červ použitý skriptování mezi weby (XSS), aby se z ověřené relace MySpace prohlížeče stal zmatený zástupce. Pomocí XSS červ donutil prohlížeč zveřejnit spustitelnou kopii červa jako zprávu MySpace, kterou poté prohlíželi a prováděli přátelé infikovaného uživatele.

Clickjacking je útok, při kterém se uživatel chová jako zmatený zástupce. Při tomto útoku si uživatel myslí, že neškodně prochází web (web ovládaný útočníkem), ale ve skutečnosti je podveden k provádění citlivých akcí na jiném webu.[3]

An FTP odrazit útok může umožnit útočníkovi nepřímé připojení k portům TCP, ke kterým nemá útočníkův přístup, pomocí dálkového ovladače FTP zmatený zástupce.

Další příklad se týká osobní firewall software. Může omezit přístup k internetu pro konkrétní aplikace. Některé aplikace to obcházejí spuštěním prohlížeče s pokyny pro přístup ke konkrétní adrese URL. Prohlížeč má oprávnění k otevření síťového připojení, i když aplikace není. Software brány firewall se to může pokusit vyřešit výzvou uživatele v případech, kdy jeden program spustí jiný, který poté přistupuje k síti. Uživatel však často nemá dostatek informací k určení, zda je takový přístup legitimní - falešná pozitiva jsou běžná a existuje značné riziko, že si i sofistikovaní uživatelé zvyknou klikat na „OK“ na tyto výzvy.[4]

Ne každý program, který zneužívá autoritu, je zmatený zástupce. Někdy je zneužití oprávnění jednoduše výsledkem chyby programu. Zmatený zástupce problém nastane, když je označení objektu předáno z jednoho programu do druhého a přidružené oprávnění se změní neúmyslně, bez jakékoli explicitní akce jedné ze stran. Je to zákeřné, protože žádná ze stran neudělala nic výslovného pro změnu autority.

Řešení

V některých systémech je možné požádat operační systém o otevření souboru pomocí oprávnění jiného klienta. Toto řešení má některé nevýhody:

  • Vyžaduje výslovnou pozornost zabezpečení serveru. Naivní nebo neopatrný server nemusí tento další krok podniknout.
  • Zjistit správné oprávnění se stává obtížnějším, pokud je server zase klientem jiné služby a chce předat přístup k souboru.
  • Vyžaduje, aby klient důvěřoval serveru, aby nezneužil vypůjčená oprávnění. Všimněte si, že protnutí oprávnění serveru a klienta také problém nevyřeší, protože serveru může být nutné udělit velmi široká oprávnění (po celou dobu, spíše než ta, která jsou potřebná pro daný požadavek), aby mohla jednat pro libovolné klienty.

Nejjednodušší způsob, jak vyřešit problém zmateného zástupce, je spojit označení objektu a povolení přístupu k tomuto objektu. To je přesně to, co schopnost je.

Pomocí zabezpečení schopností v příkladu kompilátoru by klient předal serveru schopnost výstupního souboru, například a deskriptor souboru, spíše než název souboru. Protože nemá schopnost fakturačního souboru, nemůže tento soubor určit pro výstup. V padělání požadavku napříč weby příklad „cross“ -site poskytovaného URL by zahrnoval jeho vlastní autoritu nezávislou na autoritě klienta webového prohlížeče.

Viz také

Reference

  1. ^ „ACL ne“. sourceforge.net.
  2. ^ „Archivovaná kopie“. Archivovány od originál dne 12. 12. 2003. Citováno 2003-12-31.CS1 maint: archivovaná kopie jako titul (odkaz)
  3. ^ „clickjacking: Zmatený zástupce jede znovu!“. sourceforge.net.
  4. ^ Alfred Spiessens: Vzory bezpečné spolupráce, disertační práce. http://www.evoluware.eu/fsp_thesis.pdf Oddíl 8.1.5

externí odkazy