SkillGridInformatik durch Machen lernen

OS-Sicherheit: Benutzer, Rechte und Isolation

Warum das Betriebssystem jede Anfrage prüft, warum root die letzte Wahl ist und wie Prozesse getrennt bleiben.

14 Min. · 45 XP

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.
CPU-Scheduler

Ein langer Auftrag kommt zuerst. Beobachte, wie alles dahinter wartet.

Prozesse
ProzessAnkunftLaufzeitZustandGenutzt
P106wartend—
P214wartend—
P322wartend—
P431wartend—
Bereit-Warteschlange
  1. P1

P1 kommt mit einer Laufzeit von 6ms an

Mittlere Wartezeit
0
Mittlere Bearbeitungszeit
0
Gesamtzeit
0
Verfahren vergleichen
VerfahrenMittlere WartezeitMittlere BearbeitungszeitGesamtzeit
First-Come, First-Served5.58.7513
Shortest Job First47.2513
Round-Robin5.75913

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.

Your programKernelFile on diskplease open report.txtwho asked, and may they?read the blockhere are the bytesthe program never touches the disk itself

Praxis

  1. 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

  2. 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

  3. 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