Rechteausweitung/Beispiele: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „=== Beispiele für vertikale Privilegienerweiterung === Oftmals setzen hochprivilegierte Prozesse voraus, dass eingegebene Daten der Schnittstellen-Spezifikation entsprechen und verzichten auf die Überprüfung selbiger * Ein Angreifer ist dann evtl * in der Lage, diese Voraussetzung so zu verwerten, dass nicht autorisierter Code durch die hochprivilegierte Anwendung ausgeführt wird: * Einige Windows-Systemdienste sind so konfiguriert, dass sie im K…“ |
Keine Bearbeitungszusammenfassung |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
=== Beispiele für vertikale Privilegienerweiterung === | === Beispiele für vertikale Privilegienerweiterung === | ||
Oftmals setzen hochprivilegierte Prozesse voraus, dass eingegebene Daten der Schnittstellen-Spezifikation entsprechen und verzichten auf die Überprüfung selbiger | Oftmals setzen hochprivilegierte Prozesse voraus, dass eingegebene Daten der Schnittstellen-Spezifikation entsprechen und verzichten auf die Überprüfung selbiger | ||
Ein Angreifer ist dann evtl. in der Lage, diese Voraussetzung so zu verwerten, dass nicht autorisierter Code durch die hochprivilegierte Anwendung ausgeführt wird: | |||
* Einige [[Windows-Systemdienst]]e sind so konfiguriert, dass sie im Kontext des [[Root-Konto|System-Benutzerkontos]] laufen | * Einige [[Windows-Systemdienst]]e sind so konfiguriert, dass sie im Kontext des [[Root-Konto|System-Benutzerkontos]] laufen | ||
* Eine Schwachstelle, z. B. ein [[Pufferüberlauf]], kann ausgenutzt werden, um beliebigen Code im Kontext des System-Benutzerkontos auszuführen | * Eine Schwachstelle, z. B. ein [[Pufferüberlauf]], kann ausgenutzt werden, um beliebigen Code im Kontext des System-Benutzerkontos auszuführen | ||
* Bei älteren Versionen des [[Microsoft]] [[Windows]]-[[Betriebssystem]]s läuft der Bildschirmschoner im Kontext des System-Benutzerkontos | |||
*Bei älteren Versionen des [[Microsoft]] [[Windows]]-[[Betriebssystem]]s läuft der Bildschirmschoner im Kontext des System-Benutzerkontos | |||
* Jedes Konto, das die Bildschirmschoner-Anwendung durch eine eigene Anwendung ersetzen konnte, erlangte dadurch System-Privilegien | * Jedes Konto, das die Bildschirmschoner-Anwendung durch eine eigene Anwendung ersetzen konnte, erlangte dadurch System-Privilegien | ||
*[[Stuxnet]] verwendet auf aktuellen Windows-Versionen eine mittlerweile geschlossene Lücke im Taskplaner, die durch eine mittels [[Zyklische Redundanzprüfung|CRC32]] unzureichend gesicherte [[Extensible Markup Language|XML]]-Datei entstanden ist | * [[Stuxnet]] verwendet auf aktuellen Windows-Versionen eine mittlerweile geschlossene Lücke im Taskplaner, die durch eine mittels [[Zyklische Redundanzprüfung|CRC32]] unzureichend gesicherte [[Extensible Markup Language|XML]]-Datei entstanden ist | ||
* Ein durch einen normalen Benutzer einmal angelegter [[Task]] konnte im Nachhinein durch Manipulation der XML-Datei so verändert werden, dass er mit den Rechten des System-Benutzerkontos gestartet wurde | * Ein durch einen normalen Benutzer einmal angelegter [[Task]] konnte im Nachhinein durch Manipulation der XML-Datei so verändert werden, dass er mit den Rechten des System-Benutzerkontos gestartet wurde | ||
* In einigen Versionen des [[Linux (Kernel)|Linux-Kernels]] war es möglich, durch eine [[Zeiger (Informatik)#Nullzeiger|Nullzeiger]]-Dereferenzierung Root-Rechte zu erhalten | * In einigen Versionen des [[Linux (Kernel)|Linux-Kernels]] war es möglich, durch eine [[Zeiger (Informatik)#Nullzeiger|Nullzeiger]]-Dereferenzierung Root-Rechte zu erhalten | ||
* Ursache war ein zu früh freigegebener [[Mutex]] im Kernel | * Ursache war ein zu früh freigegebener [[Mutex]] im Kernel | ||
* Eine Sicherheitslücke im udev-Dienst ermöglichte mittels manipulierter Netlink-Nachrichten an udev, lokal oder über das Netz, Root-Rechte unter Linux zu erlangen | * Eine Sicherheitslücke im udev-Dienst ermöglichte mittels manipulierter Netlink-Nachrichten an udev, lokal oder über das Netz, Root-Rechte unter Linux zu erlangen | ||
* Bestimmte Versionen des Linux-Kernels ermöglichten es, ein Programm zu schreiben, welches einen Kindprozess erzeugen und dessen aktuelles Verzeichnis auf <code>/etc/cron.d</code> setzen konnte | * Bestimmte Versionen des Linux-Kernels ermöglichten es, ein Programm zu schreiben, welches einen Kindprozess erzeugen und dessen aktuelles Verzeichnis auf <code>/etc/cron.d</code> setzen konnte | ||
* Dieser Kindprozess wurde markiert, um im Falle eines Absturzes ein [[Dump|Speicherabbild]] zu erzeugen | * Dieser Kindprozess wurde markiert, um im Falle eines Absturzes ein [[Dump|Speicherabbild]] zu erzeugen | ||
Zeile 23: | Zeile 18: | ||
* Das Speicherabbild wurde im aktuell gesetzten Verzeichnis, also in <code>/etc/cron.d</code>, abgelegt und als Besitzer wurde das Root-Konto eingetragen. [[Cron]] führte nun die Datei automatisch aus | * Das Speicherabbild wurde im aktuell gesetzten Verzeichnis, also in <code>/etc/cron.d</code>, abgelegt und als Besitzer wurde das Root-Konto eingetragen. [[Cron]] führte nun die Datei automatisch aus | ||
* Da der Inhalt der Datei durch den Angreifer im ursprünglichen Programm festgelegt wurde, war es dem Angreifer so möglich, beliebigen Code mit Root-Rechten auszuführen | * Da der Inhalt der Datei durch den Angreifer im ursprünglichen Programm festgelegt wurde, war es dem Angreifer so möglich, beliebigen Code mit Root-Rechten auszuführen | ||
* Cross-Zone Scripting ist eine Angriffsvariante, bei dem eine Website das Sicherheitsmodell von Web-Browsern unterläuft, um auf dem [[Client]]-Computer höherprivilegiert Code ausführen zu können | * Cross-Zone Scripting ist eine Angriffsvariante, bei dem eine Website das Sicherheitsmodell von Web-Browsern unterläuft, um auf dem [[Client]]-Computer höherprivilegiert Code ausführen zu können | ||
* Eine weitere Variante der Rechteausweitung wird als Jailbreak bezeichnet | * Eine weitere Variante der Rechteausweitung wird als Jailbreak bezeichnet | ||
* Darunter versteht man das Entsperren bzw | * Darunter versteht man das Entsperren bzw | ||
* Umgehen von meist [[Digitale Rechteverwaltung|DRM]]-geschützten Systemen, beispielsweise zur Ausführung von nicht freigegebenen Apps auf dem [[Apple iPhone|iPhone]] oder zur Nutzung von [[Homebrew]]-Computerprogrammen auf Spielekonsolen | * Umgehen von meist [[Digitale Rechteverwaltung|DRM]]-geschützten Systemen, beispielsweise zur Ausführung von nicht freigegebenen Apps auf dem [[Apple iPhone|iPhone]] oder zur Nutzung von [[Homebrew]]-Computerprogrammen auf Spielekonsolen | ||
* Diese Systeme arbeiten meist auf Basis einer [[Sandbox]], aus der mittels Privilegien-Eskalation ausgebrochen wird | * Diese Systeme arbeiten meist auf Basis einer [[Sandbox]], aus der mittels Privilegien-Eskalation ausgebrochen wird | ||
=== Beispiele für horizontale Privilegienerweiterung === | |||
Dieses Problem tritt häufig in Web-Anwendungen auf | |||
; Beispiel | |||
* Benutzer A hat Zugriff auf sein Konto in einer Internet-Banking-Anwendung | |||
* Benutzer B hat Zugriff auf sein Konto in der gleichen Internet-Banking-Anwendung | |||
* Die Sicherheitslücke tritt auf, wenn Benutzer A in der Lage ist, auf das Konto von Benutzer B durch böswillige Aktivitäten zuzugreifen | |||
* Diese böswillige Aktivität kann durch Schwächen oder Lücken in der gemeinsamen Web-Anwendung möglich werden | |||
[[Kategorie:Sicherheitslücke]] |
Aktuelle Version vom 28. April 2024, 12:23 Uhr
Beispiele für vertikale Privilegienerweiterung
Oftmals setzen hochprivilegierte Prozesse voraus, dass eingegebene Daten der Schnittstellen-Spezifikation entsprechen und verzichten auf die Überprüfung selbiger
Ein Angreifer ist dann evtl. in der Lage, diese Voraussetzung so zu verwerten, dass nicht autorisierter Code durch die hochprivilegierte Anwendung ausgeführt wird:
- Einige Windows-Systemdienste sind so konfiguriert, dass sie im Kontext des System-Benutzerkontos laufen
- Eine Schwachstelle, z. B. ein Pufferüberlauf, kann ausgenutzt werden, um beliebigen Code im Kontext des System-Benutzerkontos auszuführen
- Bei älteren Versionen des Microsoft Windows-Betriebssystems läuft der Bildschirmschoner im Kontext des System-Benutzerkontos
- Jedes Konto, das die Bildschirmschoner-Anwendung durch eine eigene Anwendung ersetzen konnte, erlangte dadurch System-Privilegien
- Stuxnet verwendet auf aktuellen Windows-Versionen eine mittlerweile geschlossene Lücke im Taskplaner, die durch eine mittels CRC32 unzureichend gesicherte XML-Datei entstanden ist
- Ein durch einen normalen Benutzer einmal angelegter Task konnte im Nachhinein durch Manipulation der XML-Datei so verändert werden, dass er mit den Rechten des System-Benutzerkontos gestartet wurde
- In einigen Versionen des Linux-Kernels war es möglich, durch eine Nullzeiger-Dereferenzierung Root-Rechte zu erhalten
- Ursache war ein zu früh freigegebener Mutex im Kernel
- Eine Sicherheitslücke im udev-Dienst ermöglichte mittels manipulierter Netlink-Nachrichten an udev, lokal oder über das Netz, Root-Rechte unter Linux zu erlangen
- Bestimmte Versionen des Linux-Kernels ermöglichten es, ein Programm zu schreiben, welches einen Kindprozess erzeugen und dessen aktuelles Verzeichnis auf
/etc/cron.d
setzen konnte - Dieser Kindprozess wurde markiert, um im Falle eines Absturzes ein Speicherabbild zu erzeugen
- Anschließend wurde der Kindprozess künstlich beendet
- Das Speicherabbild wurde im aktuell gesetzten Verzeichnis, also in
/etc/cron.d
, abgelegt und als Besitzer wurde das Root-Konto eingetragen. Cron führte nun die Datei automatisch aus - Da der Inhalt der Datei durch den Angreifer im ursprünglichen Programm festgelegt wurde, war es dem Angreifer so möglich, beliebigen Code mit Root-Rechten auszuführen
- Cross-Zone Scripting ist eine Angriffsvariante, bei dem eine Website das Sicherheitsmodell von Web-Browsern unterläuft, um auf dem Client-Computer höherprivilegiert Code ausführen zu können
- Eine weitere Variante der Rechteausweitung wird als Jailbreak bezeichnet
- Darunter versteht man das Entsperren bzw
- Umgehen von meist DRM-geschützten Systemen, beispielsweise zur Ausführung von nicht freigegebenen Apps auf dem iPhone oder zur Nutzung von Homebrew-Computerprogrammen auf Spielekonsolen
- Diese Systeme arbeiten meist auf Basis einer Sandbox, aus der mittels Privilegien-Eskalation ausgebrochen wird
Beispiele für horizontale Privilegienerweiterung
Dieses Problem tritt häufig in Web-Anwendungen auf
- Beispiel
- Benutzer A hat Zugriff auf sein Konto in einer Internet-Banking-Anwendung
- Benutzer B hat Zugriff auf sein Konto in der gleichen Internet-Banking-Anwendung
- Die Sicherheitslücke tritt auf, wenn Benutzer A in der Lage ist, auf das Konto von Benutzer B durch böswillige Aktivitäten zuzugreifen
- Diese böswillige Aktivität kann durch Schwächen oder Lücken in der gemeinsamen Web-Anwendung möglich werden