Verwirrtes Vizeproblem

Ein verwirrter Abgeordneter ist ein Computerprogramm, das von einer anderen Partei ins Missbrauchen seiner Autorität unschuldig zum Narren gehalten wird. Es ist ein spezifischer Typ der Vorzug-Eskalation. In der Informationssicherheit wird das verwirrte Vizeproblem häufig als ein Beispiel dessen zitiert, warum Fähigkeitsbasierte Sicherheit wichtig ist.

Beispiel

Im ursprünglichen Beispiel eines verwirrten Abgeordneten gibt es ein Programm, das Kompilationsdienstleistungen anderen Programmen zur Verfügung stellt. Normalerweise gibt das Kundenprogramm den Namen des Eingangs und der Produktionsdateien an, und der Server wird derselbe Zugang zu jenen Dateien gegeben, die der Kunde hat.

Der Bearbeiter-Dienst ist Bezahlung pro Gebrauch, und das Kompilierprogramm hat Zugang zu einer Datei (hat BILL synchronisiert), wo es sich schnäbelnde Information versorgt. Kunden können offensichtlich in die sich schnäbelnde Datei nicht schreiben.

Nehmen Sie jetzt an, dass ein Kunde den Dienst nennt und BILL als der Name der Produktionsdatei angibt. Der Dienst öffnet die Produktionsdatei. Wenn auch der Kunde Zugang zu dieser Datei nicht hatte, tut der Dienst, so ist der öffnen erfolgreich, und der Server die Kompilationsproduktion der Datei schreibt, es überschreibend, und so die sich schnäbelnde Information zerstörend.

Der verwirrte Abgeordnete

In diesem Beispiel ist der Kompilationsdienst der Abgeordnete, weil es auf Bitte vom Kunden handelt. Es ist verwirrt, weil es ins Überschreiben seiner sich schnäbelnden Datei beschwindelt wurde.

Wann auch immer ein Programm versucht, auf eine Datei zuzugreifen, muss das Betriebssystem zwei Dinge wissen: Die das Programm ablegen, bittet, und ob das Programm Erlaubnis hat, auf die Datei zuzugreifen. Im Beispiel wird die Datei durch seinen Namen, "BILL" benannt. Der Server erhält den Dateinamen vom Kunden, aber weiß nicht, ob der Kunde Erlaubnis hatte, die Datei zu schreiben. Wenn der Server die Datei öffnet, verwendet das System die Erlaubnis des Servers, nicht der Kunde. Als der Dateiname vom Kunden zum Server passiert wurde, ist die Erlaubnis zusammen damit nicht gegangen; die Erlaubnis wurde durch das System still und automatisch vergrößert.

Es ist für den Angriff nicht notwendig, dass die sich schnäbelnde Datei durch einen als eine Schnur vertretenen Namen benannt wird. Die wesentlichen Punkte sind dass:

  • der designator für die Datei trägt nicht die volle Autorität musste auf die Datei zugreifen;
  • die eigene Erlaubnis des Servers zur Datei wird implizit verwendet.

Andere Beispiele

Eine Quer-Seite-Bitte-Fälschung (CSRF) ist ein Beispiel eines verwirrten Vizeangriffs gegen einen WWW-Browser. In diesem Fall hat ein WWW-Browser eines Kunden keine Mittel, die Autorität des Kunden von jeder Autorität einer "bösen" Seite zu unterscheiden, auf die der Kunde zugreift.

Clickjacking ist eine andere Kategorie von Webangriffen, die so verwirrte Vizeangriffe analysiert werden können, wo der Benutzer handelt wie der verwirrte Abgeordnete, der ins Aktivieren einer Kontrolle beschwindelt ist, die etwas Gefährliches tut.

Ein FTP-Schlag-Angriff kann einem Angreifer erlauben, zu TCP Häfen indirekt in Verbindung zu stehen, zu denen die Maschine des Angreifers keinen Zugang mit einem entfernten FTP Server als der verwirrte Abgeordnete hat.

Ein anderes Beispiel bezieht sich auf die persönliche Brandmauer-Software. Es kann Internetzugang für spezifische Anwendungen beschränken. Einige Anwendungen überlisten das durch das Starten eines Browsers mit einer spezifischen URL-ADRESSE. Der Browser hat Autorität, eine Netzverbindung zu öffnen, wenn auch die Anwendung nicht tut. Brandmauer-Software kann versuchen, das durch die Aufforderung des Benutzers in Fällen zu richten, wo ein Programm einen anderen anfängt, der dann auf das Netz zugreift. Jedoch hat der Benutzer oft genügend Information nicht, um zu bestimmen, ob solch ein Zugang legitim ist — sind falsche positives üblich, und es gibt eine wesentliche Gefahr, dass sogar hoch entwickelte Benutzer gewöhnt an klickenden 'OK' zu diesen werden werden, veranlasst.

Nicht jedes Programm, das Autorität missbraucht, ist ein verwirrter Abgeordneter. Manchmal ist der Missbrauch der Autorität einfach ein Ergebnis eines Programm-Fehlers. Das verwirrte Vizeproblem kommt vor, wenn die Benennung eines Gegenstands von einem Programm bis einen anderen passiert wird, und sich die verbundene Erlaubnis unabsichtlich ohne jede ausführliche Handlung durch jede Partei ändert. Es ist heimtückisch, weil keine Partei irgendetwas Ausführliches getan hat, um die Autorität zu ändern.

Lösungen

In einigen Systemen ist es möglich, das Betriebssystem zu bitten, eine Datei mit der Erlaubnis eines anderen Kunden zu öffnen. Diese Lösung hat einige Nachteile:

  • Es verlangt ausführliche Aufmerksamkeit auf die Sicherheit durch den Server. Ein naiver oder unbesonnener Server könnte diesen Extraschritt nicht machen.
  • Es wird schwieriger, die richtige Erlaubnis zu identifizieren, wenn der Server der Reihe nach der Kunde eines anderen Dienstes ist und entlang dem Zugang zur Datei gehen will.
  • Es verlangt, dass der Server die Erlaubnis des Kunden anvertraut wird. Bemerken Sie, dass das Schneiden des Servers und der Erlaubnis des Kunden das Problem auch nicht behebt, weil der Server dann sehr breite Erlaubnis kann gegeben werden müssen (die ganze Zeit, aber nicht diejenigen, die für eine gegebene Bitte erforderlich sind), um für willkürliche Kunden zu handeln.

Die einfachste Weise, das verwirrte Vizeproblem zu beheben, soll im Bündel die Benennung eines Gegenstands und der Erlaubnis zusammenschließen, auf diesen Gegenstand zuzugreifen. Das ist genau, wie eine Fähigkeit ist.

Mit der Fähigkeitssicherheit im Bearbeiter-Beispiel würde der Kunde zum Server eine Fähigkeit zur Produktionsdatei, nicht den Namen der Datei passieren. Da es an einer Fähigkeit zur sich schnäbelnden Datei Mangel hat, kann es nicht diese Datei für die Produktion benennen. Im Quer-Seite-Bitte-Fälschungsbeispiel hat eine URL-ADRESSE "Kreuz" geliefert - Seite würde seine eigene Autorität einschließen, die von diesem des Kunden des WWW-Browsers unabhängig ist.

Links

Siehe auch

  • Setuid executables in Unix
  • Umgebende Autorität

Beta-Vertrieb / Schreckliche Geschichten (bestellen Reihe vor)
Impressum & Datenschutz