OS-Sicherheit: Benutzer, Rechte und Isolation
Warum das Betriebssystem jede Anfrage prüft, warum root die letzte Wahl ist und wie Prozesse getrennt bleiben.
Jeder Prozess läuft als irgendein Benutzer, und jede Datei hat einen Eigentümer. Der Kernel prüft das eine gegen das andere bei jedem Öffnen, Lesen, Schreiben und Ausführen. Diese Prüfung ist der Grund, warum ein fehlerhaftes Programm nicht einfach deine Dokumente lesen kann: Es muss fragen, und die Antwort hängt davon ab, als wer es läuft. Rechte stehen in drei Gruppen zu drei Zeichen: was der Eigentümer darf, was die Gruppe darf, was alle anderen dürfen.
-rw-r--r-- 1 root root 512 Jan 10 09:14 notes.txt
-rw------- 1 alice alice 512 Jan 10 09:14 diary.txt
-rwxr-xr-x 1 root root 118 Jan 10 09:14 backup.sh
who what they may do
------ -------------------------------------------
owner read and write
group read
everyone else readLies die neun Zeichen in drei Gruppen: Eigentümer, Gruppe, alle anderen. r ist Lesen, w ist Schreiben, x ist Ausführen.Ein langer Auftrag kommt zuerst. Beobachte, wie alles dahinter wartet.
| Prozess | Ankunft | Laufzeit | Zustand | Genutzt |
|---|---|---|---|---|
| P1 | 0 | 6 | wartend | — |
| P2 | 1 | 4 | wartend | — |
| P3 | 2 | 2 | wartend | — |
| P4 | 3 | 1 | wartend | — |
- P1
P1 kommt mit einer Laufzeit von 6ms an
- Mittlere Wartezeit
- 0
- Mittlere Bearbeitungszeit
- 0
- Gesamtzeit
- 0
| Verfahren | Mittlere Wartezeit | Mittlere Bearbeitungszeit | Gesamtzeit |
|---|---|---|---|
| First-Come, First-Served | 5.5 | 8.75 | 13 |
| Shortest Job First | 4 | 7.25 | 13 |
| Round-Robin | 5.75 | 9 | 13 |
Privilege Escalation heißt, von einem begrenzten Konto zu einem mächtigeren zu kommen. Es braucht selten einen raffinierten Exploit: ein Skript, das root gehört, aber für alle schreibbar ist; ein Dienst, der als root läuft und seinen Eingaben vertraut; eine setuid-Datei mit einem bekannten Fehler. Die Lehre sind nicht exotische Fehler, sondern das Suchen nach dieser Unstimmigkeit — etwas, das mächtiger ist als es sein sollte, und etwas verarbeitet, das weniger vertrauenswürdig ist als es sein sollte.
Praxis
Eine Datei zeigt den Modus -rw-r--r-- und gehört alice. Alice versucht, hineinzuschreiben. Was passiert?
Hinweise
- Geh den Rechte-String Zeichengruppe für Zeichengruppe durch: Eigentümer, Gruppe, alle anderen.
- Eigentümer zu sein ist kein Sonderrecht — die Eigentümerzeile wird zuerst geprüft.
14 XP
Bring die Schritte in die richtige Reihenfolge: Wie liest ein normales Programm eine Datei, auf die es zugreifen darf?
Hinweise
- Fang damit an, wer fragt, und ende damit, was das Programm schließlich bekommt.
- Nur der Kernel darf mit der Platte und der Hardware sprechen.
15 XP
Ordne jeder Verteidigung zu, was sie tatsächlich einschränkt.
Hinweise
- Ordne danach zu, was jede Maßnahme tatsächlich einschränkt, nicht danach, wie laut die Warnung klingt.
- Eine kürzere Liste ist sicherer als eine längere, auch wenn die kurze unbequemer ist.
15 XP