Grin logo
de en es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - Software

UML - User Mode Linux

Ausbruch aus User Mode Linux

Title: UML - User Mode Linux

Bachelor Thesis , 2007 , 89 Pages , Grade: 1

Autor:in: Christoph Scharnböck (Author)

Computer Science - Software
Excerpt & Details   Look inside the ebook
Summary Excerpt Details

User-Mode-Linux ist eine Software, die sowohl in die Bereiche Benutzerprogramme, als auch Betriebssysteme zugeordnet werden kann. UML ist der Kategorie der Systemvirtualisierung zuzuordnen, dessen Funktionalität sich von weiteren Virtualiserungstechnologien stark unterscheidet. Eine UML-
Instanz wird vom Benutzer in einem Hostsystem als Benutzerprogramm gestartet und ohne Root-Privilegien am Hostsystem ausgeführt. UML verzichtet auf eine Virtualisierungsschicht. Die Architekturschnittstelle des UML-
Kernels ist die einzige Komponente, die sich von herkömmlichen Linuxkernel unterscheidet. Diese Schicht kommuniziert nicht mit der Hardware, sondern fordert Ressourcen vom Hostbetriebssystem als Benutzerprozess an. Diese Vorgehensweise beschränkt den Einsatz von UML auf Hostsystemen, die unter Linux betrieben werden.

Das erste Kapitel betrachtet die wesentlichen Komponenten eines Betriebssystems. Eingeleitet wird mit der Funktionsweise des Linuxkernels und die Differenzen der eingesetzten Architekturen. UML erzeugt für eigene Zwecke Prozesse am Host, weshalb auch das Thema Prozessmanagement betrachtet wird. Ein weiterer Punkt ist das Speichermanagement, da UML als Betriebssystem Haupt- und Festplattenspeicher benötigt, der vom Host zur Verfügung gestellt werden muss. Abgeschlossen wird dieses Kapitel mit einem Exkurs in die Funktionsweise alternativer Virtualisierungstechnologien.
Der Hauptteil umfasst die Funktionsweise und Eingliederung von UML auf einem Hostsystem. Es existieren unterschiedliche Varianten, wie UML am Host betrieben werden kann, weshalb deren Funktionsweisen analyisiert werden. Behandelt wird auch die Virtualisierung von Ressourcen durch UML.
Im letzten Kapitel werden die Sicherheitsaspekte von UML untersucht. Möglichkeiten, die einem Benutzer den Ausbruch aus UML auf das Hostsystem ermöglichen, werden aus unterschiedlichen Blickwinkeln erklärt, sowie Möglichkeiten, um Ausbrüche zu verhindern. Abschließend werden Einsatzgebiete er örtert, deren Erschließung durch UML in Zukunft geplant ist.

Excerpt


Inhaltsverzeichnis

1 Grundlagen

1.1 Linux-Kernel

1.1.1 Einleitung

1.1.2 Aufbau und Funktionsweise des monolithischen Kernels

1.2 Prozessmanagement

1.2.1 Prozesse vs. Threads

1.2.2 Erstellen & Beenden von Prozessen

1.2.3 Prozesszustände

1.2.4 User- & Kernelmode

1.2.5 Interrupts

1.3 Speichermanagement

1.3.1 Speicheradressierung

1.3.2 Paging

1.4 I/O

1.4.1 Hardwareschichten

1.4.2 Softwareschichten

1.5 Virtual Machines

1.5.1 Techniken

1.5.2 Virtual Machine Monitor

1.5.3 CPUs mit Virtualisierungstechnologien

2 UML Theorie

2.1 Architektur

2.1.1 Aufbau

2.1.2 Systemcalls

2.1.3 Traps

2.2 Managmentkonsole

2.2.1 Aufbau

2.3 Ausführungsmodi

2.3.1 tt-Modus

2.3.2 Skas3-Modus

2.3.3 Skas0-Modus

2.4 Speichermanagement

2.4.1 Hauptspeicher

2.4.2 Filesysteme

2.4.3 hostfs

2.4.4 humfs

2.5 Security

2.5.1 Ausbruchsmöglichkeiten

2.5.2 Chroot

2.5.3 Ausbruch aus einem UML-Jail

3 UML-Praxis - Ausbruchsmöglichkeiten

3.1 Ausbruch durch das Filesystem

3.1.1 Vorgehensweise

3.1.2 Abwehr

3.2 Kernelmodul

3.2.1 Idee

3.2.2 Charakteristik von Modulen

3.2.3 Funktion

3.2.4 Modulerstellung

3.3 UML-Hauptspeicher

3.3.1 Idee

3.3.2 Ablauf

3.4 Systemcallhacking

3.4.1 lcall

3.4.2 ptrace

3.5 Shellcodeinjection

3.5.1 Vorgehensweise

3.5.2 Aufbau

3.5.3 Einschleusung

4 Fazit und Ausblick

5 Glossar

A Zusatzinformation

A.1 UML-Theorie

A.1.1 Sysrq-Kommandos

A.1.2 Terminal I/O

A.1.3 tmpfs-Performancetest

Zielsetzung & Themen

Die Arbeit analysiert das Konzept von User-Mode-Linux (UML) als Virtualisierungstechnologie, die es ermöglicht, Linux-Betriebssysteme als Benutzerprozesse auf einem bestehenden Host-Linux auszuführen. Das Ziel ist es, die Funktionsweise, Architektur und Integration von UML zu verdeutlichen sowie kritische Sicherheitsaspekte und potenzielle Ausbruchsmöglichkeiten aus der virtualisierten Umgebung zu untersuchen.

  • Grundlagen von Betriebssystemarchitekturen und Virtualisierung
  • Architektur und Integrationsmodi von User-Mode-Linux
  • Speichermanagement und Dateisysteme innerhalb von UML-Instanzen
  • Sicherheitsanalysen und Ausbruchsszenarien (Breakouts)
  • Praktische Implementierung von Angriffen und deren Abwehrmechanismen

Auszug aus dem Buch

3.2.1 Idee

Damit der UML-Benutzer Systemcalls aus dem UML-Kernelspace senden kann, muss dieser den Kernel veranlassen, diese Aufgabe zu erfüllen, da nur dieser im Kernelspace läuft. Der User kann nicht die Sourcen des Kernel anpassen und dann neu kompilieren, da dieser Vorgang außerhalb der Instanz geschehen müsste. Ermöglicht wird das jedoch durch Kernelmodule.

Kernelmodule besitzen die Eigenschaft, ebenfalls im Kernelspace zu laufen, da diese zum Betrieb an den Kernel gelinkt werden. Diese können zur Laufzeit geladen und auch wieder entladen werden. Diese Vorgänge werden innerhalb des Betriebssystems getätigt. Der Systemcall "create_module" überprüft, ob der User die erforderlichen Root-Rechte zum Laden des Modules besitzt [27].

Der Ablauf ist, wie in Abbildung 3.1 dargestellt. Der User generiert ein Modul, welches ein Programm am Host aufruft. Am besten geeignet ist hierfür der Aufruf einer Shell am Host. Nach dem Start können so sämtliche Operationen direkt in dieser Shell ausgeführt werden. Nach der erfolgreichen Programmierung (1) und Kompilierung (2) dieses Moduls wird dieses an den Kernel gebunden (3) und auch automatisch ausgeführt. Der Aufruf der Hostshell löst einen Systemcall (4) aus. Da dies durch das Kernelmodul erfolgt, wird der Systemcall im Kernelspace generiert. Die "ptrace"-Funktion am Host lässt diesen passieren (5) und dieser wird somit am Hostsystem ausgeführt.

Zusammenfassung der Kapitel

1 Grundlagen: Das Kapitel erläutert die wesentlichen Komponenten eines Betriebssystems, einschließlich Prozess- und Speichermanagement, I/O-Steuerung und Virtualisierungstechniken.

2 UML Theorie: Dieses Kapitel beschreibt den Aufbau und die Funktionsweise von User-Mode-Linux, verschiedene Ausführungsmodi sowie die Verwaltung von Speicher und Dateisystemen.

3 UML-Praxis - Ausbruchsmöglichkeiten: Hier werden spezifische Methoden untersucht, wie Benutzer aus einer UML-Instanz ausbrechen und auf das Hostsystem zugreifen können, sowie entsprechende Abwehrmaßnahmen.

4 Fazit und Ausblick: Das Fazit fasst die Einzigartigkeit der UML-Architektur zusammen und erörtert zukünftige Einsatzgebiete, wie etwa eingebettete Systeme.

5 Glossar: Das Glossar liefert Definitionen zu zentralen Begriffen der Arbeit.

A Zusatzinformation: Der Anhang enthält vertiefende Informationen zu Sysrq-Kommandos, Terminal-I/O und Ergebnissen eines Performancetests.

Schlüsselwörter

User-Mode-Linux, UML, Virtualisierung, Linux-Kernel, Prozessmanagement, Speichermanagement, Kernelmodule, Sandbox, Sicherheit, Ausbruchsmöglichkeiten, Systemcall, Ptrace, Hostsystem, Virtual Machine Monitor, Embedded-UML.

Häufig gestellte Fragen

Was ist das grundlegende Konzept von User-Mode-Linux?

User-Mode-Linux ist eine Virtualisierungstechnologie, die es erlaubt, ein vollständiges Linux-Betriebssystem als gewöhnlichen Benutzerprozess innerhalb eines anderen Linux-Systems auszuführen, ohne dass eine spezielle Virtualisierungsschicht erforderlich ist.

Welche zentralen Themenfelder werden in der Arbeit behandelt?

Die Arbeit behandelt die Systemarchitektur von Linux, die speziellen Virtualisierungsmechanismen von UML, das Speichermanagement innerhalb virtueller Instanzen sowie Sicherheitsaspekte und Angriffsvektoren.

Was ist das primäre Ziel der Arbeit?

Das Ziel ist es, die Funktionsweise von UML im Detail zu analysieren und zu zeigen, wie das Zusammenspiel zwischen UML-Kernel und Host-System zur Lösung verschiedener Aufgaben genutzt werden kann, aber auch welche Sicherheitsrisiken dabei entstehen.

Welche wissenschaftliche Methode wird angewendet?

Die Arbeit basiert auf einer fundierten Literatur- und Technologieanalyse der Linux-Internals, der UML-Architektur und der Untersuchung von Sicherheitsmechanismen durch theoretische Modellierung und Praxisbeispiele.

Worum geht es im Hauptteil der Arbeit?

Der Hauptteil gliedert sich in die theoretische Betrachtung der UML-Architektur und ihre praktische Anwendung bei Sicherheitsanalysen, insbesondere bei der Untersuchung von Ausbruchsmöglichkeiten ("Breakouts") aus der UML-Umgebung.

Welche Schlüsselbegriffe charakterisieren die Arbeit?

Zu den wichtigsten Begriffen zählen User-Mode-Linux, Systemvirtualisierung, Kernelmodule, Ptrace-Systemcall, Sandbox und Speichermanagement.

Wie unterscheidet sich der tt-Modus vom Skas3-Modus?

Im tt-Modus erfordert jeder UML-Prozess einen eigenen Host-Prozess, was ineffizient ist. Der Skas3-Modus optimiert dies durch Modifikationen am Host-Kernel, wodurch der Kernel vom Prozess entkoppelt wird und die Performance steigt.

Warum ist das Dateisystem hostfs für UML wichtig?

Hostfs ermöglicht es einer UML-Instanz, direkt auf Verzeichnisse und Dateien des Hostsystems zuzugreifen, was den Datenaustausch zwischen Host und Gast signifikant vereinfacht, jedoch auch Sicherheitsüberlegungen erfordert.

Welche Rolle spielen Kernelmodule bei einem Ausbruch?

Kernelmodule können dazu missbraucht werden, eigenen Code mit Kernel-Rechten auszuführen, was einem Angreifer ermöglicht, die Isolation der UML-Instanz zu durchbrechen und Befehle auf dem Host auszuführen.

Können diese Ausbruchsversuche effektiv verhindert werden?

Ja, durch den Einsatz von Sicherheitsmechanismen wie "Jails" (chroot), die Deaktivierung des Ladens von Kernelmodulen und die Verwendung von Capabilities kann das Sicherheitsniveau deutlich erhöht werden.

Excerpt out of 89 pages  - scroll top

Details

Title
UML - User Mode Linux
Subtitle
Ausbruch aus User Mode Linux
College
University of Applied Sciences Oberösterreich, Hagenberg  (Computer- und Mediensicherheit)
Grade
1
Author
Christoph Scharnböck (Author)
Publication Year
2007
Pages
89
Catalog Number
V127246
ISBN (eBook)
9783640339679
ISBN (Book)
9783640337033
Language
German
Tags
User Mode Linux Ausbruch User Mode Linux
Product Safety
GRIN Publishing GmbH
Quote paper
Christoph Scharnböck (Author), 2007, UML - User Mode Linux, Munich, GRIN Verlag, https://www.grin.com/document/127246
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  89  pages
Grin logo
  • Grin.com
  • Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint