Retake-2017-solution PDF

Title Retake-2017-solution
Course Grundlagen Betriebssysteme und Systemsoftware (IN0009)
Institution Technische Universität München
Pages 16
File Size 595.1 KB
File Type PDF
Total Downloads 77
Total Views 154

Summary

Lösungsvorschlag####### Lehrstuhl für Sicherheit in der Informatik####### Fakultät für Informatik####### Technische Universität MünchenHinweise zur Personalisierung: - Ihre Prüfung wird bei der Anwesenheitskontrolle durch Aufkleben eines Codes personalisiert. - Dieser enthält lediglich eine fortlauf...


Description

Lehrstuhl für Sicherheit in der Informatik Fakultät für Informatik Technische Universität München

ag

Hinweise zur Personalisierung: • Ihre Prüfung wird bei der Anwesenheitskontrolle durch Aufkleben eines Codes personalisiert. • Dieser enthält lediglich eine fortlaufende Nummer, welche auch auf der Anwesenheitsliste neben dem Unterschriftenfeld vermerkt ist. • Diese wird als Pseudonym verwendet, um eine eindeutige Zuordnung Ihrer Prüfung zu ermöglichen.

Grundlagen Betriebssysteme und Systemsoftware IN0009 / Wiederholungsklausur

Datum:

Donnerstag, 29. März 2018

Prüfer:

Prof. Dr. Claudia Eckert

Uhrzeit:

08:00 – 09:30

A1 I II

gs vo rs ch l

Klausur:

A2

A3

A4

A5

A6

A7

Bearbeitungshinweise

• Diese Klausur umfasst 16 Seiten mit insgesamt 7 Aufgaben. Bitte kontrollieren Sie jetzt, dass Sie eine vollständige Angabe erhalten haben.

su n

• Das Heraustrennen von Seiten aus der Prüfung ist untersagt.

• Mit * gekennzeichnete Teilaufgaben sind ohne Kenntnis der Ergebnisse vorheriger Teilaufgaben lösbar. • Es werden nur solche Ergebnisse gewertet, bei denen der Lösungsweg erkennbar ist. Auch Textaufgaben sind grundsätzlich zu begründen, sofern es in der jeweiligen Teilaufgabe nicht ausdrücklich anders vermerkt ist.



• Schreiben Sie weder mit roter / grüner Farbe noch mit Bleistift. • Die Gesamtpunktzahl in dieser Prüfung beträgt 90 Punkte. • Als Hilfsmittel sind zugelassen: – ein nicht-programmierbarer Taschenrechner – ein analoges Wörterbuch Deutsch ↔ Muttersprache ohne Anmerkungen

• Schalten Sie alle anderen mitgeführten elektronischen Geräte vollständig aus, verstauen Sie diese in Ihrer Tasche und verschließen Sie diese.

Hörsaal verlassen von

bis

/

– Seite 1 / 16 –

Vorzeitige Abgabe um

Aufgabe 1

Allgemeine Fragen (18 Punkte)

Beantworten Sie kurz die folgenden Fragen. Begründen Sie, wenn nicht anders angegeben, Ihre Antwort. 0

a)* Nennen Sie zwei Arbeitsmodi eines Betriebssystems und beschreiben Sie zwei Unterschiede zwischen den beiden Modi.

1 2

• Ausführung von Benutzer Prozessen im Benutzermodus; Ausführung des Betriebssystemkerns im Systemmodus . • Kein direkter Zugriff auf die Hardware im Benutzermodus. • Ausführung von privilegierten Befehlen im Benutzermodus nicht erlaubt. • Kein oder nur lesender Zugriff auf Systemcode oder Daten im Benutzermodus.

0

gs vo rs ch l

ag

3

Benutzermodus (User-Space) und Systemmodus (Kernel-Space).

b)* Was versteht man unter einem Deadlock? Gehen Sie dabei kurz auf die Begriffe Deadlock-Prevention (Deadlock-Verhinderung) und Deadlock-Avoidance (Deadlock-Vermeidung) ein.

1

3

0 1 2 3

• Ein Deadlock ist ein Zustand und beschreibt eine Menge von Prozessen, in der jeder Prozess auf eine Ressource wartet, die nur ein anderer Prozess aus dieser Menge freigeben kann. • Deadlock Prevention: Dafür sorgen, dass eine der vier Deadlock Bedingungen nicht erfüllt ist (die Bedingungen müssen nicht genannt werden sondern nur schreiben dass es sie gibt) • Deadlock Avoidance: Das Betriebssystem prüft dynamisch, ob eine Ressourcen-Anforderung erfolgen kann oder nicht (gegebenenfalls werden Ressourcen zurückgehalten, bis das der Fall ist).

c)* Ordnen Sie den folgenden drei Funktionstypen jeweils eine Relocation-Klasse zu:

su n

2

• (Exportierte) Bibliotheksfunktionen • Funktionen einer Compilation Unit mit Keyword static • Funktionen einer Compilation Unit ohne Keyword static



Gehen Sie hierbei von gcc auf Linux unter x86_64 als Referenzsystem aus. Begründen Sie Ihre Antwort, falls Sie einem Funktionstypen keine Relocation-Klasse zugeordnet haben sollten.

• Bibliotheksfunktionen: Load-Time-Relocation • Statische Funktionen gehören zu keiner Relocation-Klasse. Sie werden vom Assembler direkt aufgelöst. • Nicht-Statische Funktionen: Link-Time-Relocation

– Seite 2 / 16 –

d)* Nennen Sie zwei gängige Schutzmaßnahmen auf Betriebssystemebene gegen Buffer-Overflow Angriffe und beschreiben Sie kurz ihre Funktionsweise.

0 1 2 3

gs vo rs ch l

ag

• Stack Canaries werden vom Compiler zwischen der Return Adresse und lokalen Variablen auf dem Stack einer Funktion eingefügt. Das Betriebssystem überprüft die Integrität des Stack Canaries, bevor die Funktion returned. • Data Execution Prevention (DEP). Der Stack wird vom Betriebssystem durch das NX-Bit (XN) als non-executable markiert und verhindert somit die Ausführung vom einem potenziell eingeschleusten Shellcode auf dem Stack. • Address Space Layout Randomization (ASLR) randomisiert die Adresse des Stacks und erschwert dem Angreifer diesen zu finden.

e)* Schildern und erläutern Sie kurz zwei Bestandteile von Containern unter Linux.

• Namespaces: Bieten per Namespace eine isolierte Sicht auf globale Ressourcen (Prozesse, Netzwerk, Mount-Points, etc.). • Control Groups: Systemressourcen werden für Prozessgruppen allokiert/limitiert und überwacht.

0 1 2 3

su n

• SECCOMP: Ein auf den BPF basierter Mechanismus, um Systemcalls für Prozesse einzuschränken.

f)* Beschreiben Sie kurz den Begriff Fragmentierung und gehen Sie explizit auf den Unterschied zwischen interner und externer Fragmentierung ein.

0 1



• Bei der Fragmentierung handelt es sich um Speicherbereiche, die nicht mehr verwendet werden können. • Interne Fragmentierung: Ungenutzte Bereiche eines Blocks (wenn Dateigröße...


Similar Free PDFs