Inwieweit können wir uns aus Sicherheitsgründen auf Dateisystemberechtigungen verlassen?


31

Meine Frage bezieht sich auf Dateisystemberechtigungen (insbesondere die Unix-Berechtigungen) und wie sie sich auf die Sicherheit beziehen.

Angenommen, ich habe Zugriff auf einen Computer mit einem Gastbenutzerkonto und einem Benutzer namens Bob. Ich kenne Bobs Passwort nicht, kann aber das Gastkonto benutzen. Das Gastkonto hat absolut keine Leseberechtigungen für alle Bobs Dateien, daher kann ich keine von Bobs Dateien lesen, während ich als Gast angemeldet bin.

Aus der Perspektive eines echten "Gegners" habe ich jedoch vollen Zugriff auf diese unverschlüsselte Festplatte. Ich könnte ein Image davon erstellen, es für später speichern und ein anderes Betriebssystem ausführen, um einfach Bobs Dateien zu lesen, während ich die Einstellungen für die Dateisystemberechtigungen ignoriere.

Daraus komme ich zu der Frage:

  1. Eine Dateisystem-Berechtigungseinstellung auf einer unverschlüsselten Festplatte ist nur eine Markierung, richtig? Das einzige, was mich daran hindert, Dateien zu lesen, für die ich keine Berechtigung habe, ist die Tatsache, dass das Betriebssystem sagt: "Oh, das können Sie nicht lesen, Sie haben keine Berechtigung." Diese Datei befindet sich noch auf der Festplatte in roher Form und ich könnte es lesen, indem ich einfach die Dateisystem-Flags ignoriere (z. B. über ein schattiges bootfähiges Betriebssystem, das Berechtigungen einfach ignoriert). Ist das alles richtig?

Sagen wir jetzt, ich habe keinen direkten Zugriff auf die Festplatte und stöbere nur in eine Maschine. Ich habe keine Erlaubnis, Bobs Dateien zu lesen. Ich kann wirklich nichts dagegen tun, richtig?

  1. Aufgrund meiner eingeschränkten Berechtigungen kann ich einfach nicht auf Bobs Dateien zugreifen, egal wie sehr ich es versuche, oder? Was ist, wenn ich einen Exploit verwende, um Root-Zugriff zu erhalten? Kann ich jetzt die Berechtigungsflags des Betriebssystems umgehen? Ist das eine Sache, die jemals passiert?

4
ja und ja. Sie scheinen die verwandten Konzepte richtig zu verstehen. Wenn Sie keinen physischen Zugriff auf das System erhalten, ist eine Eskalation des Zugriffs erforderlich, um die Berechtigungen zu umgehen.
Frank Thomas

2
Wäre es nicht eine gute Idee, dies auf Security.SE zu migrieren ? Es scheint der logischere Ort dafür zu sein.
Chris Cirefice

3
@ChrisCirefice Eine tiefere Untersuchung des Sicherheitskonzepts würde eine Migration rechtfertigen. Dies ist jedoch eine sehr grundlegende Frage zum Verständnis der Dateisystemberechtigungen und ihrer spezifischen Rolle im Konzept der Systemsicherheit, sodass sie weitaus mehr für diesen Superuser gilt.
JakeGould

Antworten:


31

Kürzere Antwort.

Wenn Sie physischen Zugriff auf ein Computersystem haben - einen PC oder ein Datenspeichersystem - und der einzige vorhandene "Schutz" Dateiberechtigungen sind, haben Sie zu 100% keinen Schutz.

Diese unverschlüsselten Daten können mit minimalem Aufwand kopiert und geklont werden. Dabei werden nur die Geräte benötigt, die Sie an das Systemlaufwerk anschließen können, um eine Kopie der Daten zu erstellen.

Und ja, möglicherweise müssen einige offensichtliche Aspekte der physischen Durchdringung in den physischen Zugang einbezogen werden. B. sicherstellen, dass keine Fingerabdrücke zurückbleiben und dass auch manipulationssichere Siegel behandelt werden. Aber ehrlich gesagt, kann die überwiegende Mehrheit der Systeme ihre Laufwerke physisch entfernen, um eine physische Kopie der Daten zu erhalten, ohne dass der Endbenutzer es besser weiß. Wenn Sie das Laufwerk haben, haben Sie das Laufwerk und Sie haben dann die Daten, wenn es unverschlüsselt ist.

Aus diesem Grund ist die Verschlüsselung einzelner Benutzer oder der gesamten Festplatte heutzutage eine so große Sache. Laptops und andere tragbare Computergeräte spielen heutzutage eine so große Rolle auf dem Markt. Das Risiko eines Datenverlusts durch Gerätediebstahl oder gelegentliches Ausleihen eines PCs ist so hoch wie nie zuvor.

Wenn die Festplatte unverschlüsselt ist, handelt es sich bei den darauf befindlichen Daten um ein offenes Buch, das zum Lesen bereit ist. Dieses Konzept ist nicht auf Linux / Unix-Maschinen beschränkt, sondern auf jedes Betriebssystem. Wenn Sie physischen Zugriff auf ein unverschlüsseltes System haben, haben Sie das System.

Dateiberechtigungen sind jedoch eine nützliche Sicherheitsmaßnahme für Remoteserver aller Art.

Längere Antwort.

Meine Frage bezieht sich auf Dateisystemberechtigungen (insbesondere die Unix-Berechtigungen) und wie sie sich auf die Sicherheit beziehen.

Denken Sie zunächst daran, dass die Sicherheit auf Computern - und alles - nur eine Abschreckung ist, die die Dinge verlangsamt und nicht unbedingt absolute Sicherheit bietet.

Zum Beispiel ist die schwächste Sicherheitsmaßnahme in einem physischen Gebäude die Tür, die Sie beim Betreten / Verlassen öffnen müssen, oder das Fenster, das Sie öffnen müssen, um Luft hereinzulassen. Ja, Sie können Türen und Fenster abschließen und Alarme einrichten, aber wenn jemand wirklich will den Zugang zu etwas, und sie haben die Zeit, Ressourcen, Wohlstand und Mühe zu verfolgen it-sie Zugang zu ihm bekommen.

Angenommen, ich habe Zugriff auf einen Computer mit einem Gastbenutzerkonto und einem Benutzer namens Bob. Ich kenne Bobs Passwort nicht, kann aber das Gastkonto benutzen. Das Gastkonto hat absolut keine Leseberechtigungen für alle Bobs Dateien, daher kann ich keine von Bobs Dateien lesen, während ich als Gast angemeldet bin.

Hier geht es um den Kontext des Zugangs. Wenn Sie physischen Zugang zu einem Computer haben, ist so ziemlich alles möglich. Wenn Sie jedoch nur über eine Remoteverbindung - über ein Netzwerk - verbunden sind, ist der Besitz des Dateisystems definitiv eine wirksame Sicherheitsmethode. Bei Linux / Unix-Servern sind Berechtigungen und Eigentumsrechte wirksame Sicherheitsmaßnahmen, um das Eindringen von Personen aus der Ferne zu verhindern.

Aus diesem Grund wird in der Linux / Unix-Welt der rootZugriff auf ein Remote-System als solch ein Hauptpreis angesehen. Wenn Sie rootauf ein Remote-System zugreifen, haben Sie wirklich etwas getan, das Ihnen einen besseren Zugriff ermöglicht, ohne in ein Rechenzentrum gehen und ein Laufwerk klonen zu müssen.

Aus der Perspektive eines echten "Gegners" habe ich jedoch vollen Zugriff auf diese unverschlüsselte Festplatte. Ich könnte ein Image davon erstellen, es für später speichern und ein anderes Betriebssystem ausführen, um einfach Bobs Dateien zu lesen, während ich die Einstellungen für die Dateisystemberechtigungen ignoriere.

Ja. Genau. Wenn Sie physischen Zugriff auf die Maschine haben, sind - wie eingangs erläutert - alle Wetten ungültig. Sie können auf die Dateien und Verzeichnisse zugreifen, die anderen gehören, indem Sie ein Image der Festplatte erstellen - oder einfach nur den Rohinhalt der Festplatte selbst verfolgen - und dies ohne großen technischen Aufwand.

Jeder, der Ihnen beispielsweise seinen PC ausleiht und ein neues Konto für Sie erstellt, ohne an dieses Szenario zu denken, gibt im Grunde genommen alle persönlichen Daten auf seinem Computer weiter, ohne es wirklich zu wissen.

Leicht tangential, aber ich denke, das ist der Grund, warum so viele Gelegenheitsbenutzer alte PCs spenden, ohne die geringste Anstrengung zu unternehmen, um Daten auf dem Laufwerk zu löschen. Sie richten ein Benutzerkennwort ein und gehen davon aus, dass ihre Daten so sicher sind, dass sie das Laufwerk einfach in den Papierkorb werfen und nicht zweimal überlegen können. Wenn die Realität ohne echte Verschlüsselung oder Datenlöschung auskommt, kann jedes Laufwerk, das in den Papierkorb geworfen oder verkauft wird, von jedem beliebigen Ort gelesen werden, ohne dass viel Aufwand oder technischer Aufwand anfällt.


6
Ich denke, dass diese Antwort etwas ziemlich offensichtliches vermisst, das erwähnenswert ist. Sicherheit ist nicht nur Computersicherheit. Auch Bedrohungsmodelle spielen eine Rolle, denn Angreifer sind Menschen: Angreifer möchten generell vermeiden, Spuren zu hinterlassen. Wenn Sie jemandem physischen Zugriff auf ein Gerät gewähren, dies aber so tun, dass das Gerät nicht manipuliert werden kann, ohne Spuren zu hinterlassen (von Fingerabdrücken über Manipulationsmarkierungen bis hin zur Zerstörung des Geräts während der Manipulation), kann dies tatsächlich zu einer Zunahme führen die Sicherheit Ihres Systems trotz der Tatsache, dass die Daten physisch zugänglich sind.
Mehrdad

@Mehrdad Dieser Kommentar mag in einer umfassenderen Diskussion über Sicherheit und Zugriffsschutz sinnvoll sein, aber diese Frage - und meine damit verbundene Antwort - konzentriert sich auf die Gesamtkonzepte der logischen Dateisystemberechtigungen im Vergleich zum grundlegenden physischen Zugriff auf ein System. Und in diesem Fall sind diese Bedenken in Bezug auf Fingerabdrücke und Manipulationsversuche nur eine Vermutung für ein Fantasy-Szenario. Wenn jemand physischen Zugriff auf unverschlüsselte Daten hat, hat er physischen Zugriff auf unverschlüsselte Daten, und neun von zehn Fällen muss er kein „Meisterdieb / Spion“ sein, um auf diese Daten zuzugreifen.
JakeGould

15

Ihre drei Punkte:

  1. Wenn Sie als normaler Benutzer SSH-fähig sind, haben Sie keinen Zugriff auf das Raw-Festplattengerät. In der Regel benötigen Sie rootoder die Berechtigung, um auf die Raw- und Logical Disk-Geräte zuzugreifen.

  2. Wenn Sie durch einen Exploit root werden, sind Sie der mächtigste Benutzer des Systems und haben Zugriff auf fast alles, einschließlich des Geräts. Da Sie root sind, können Sie direkt auf Bobs Dateien zugreifen, sodass Sie nicht auf das Festplattengerät zugreifen müssen.

  3. Physischer Zugang schlägt root. Root ist eine logische Ebene. Sie können es beim physischen Zugriff auf die Festplatte ignorieren. Dies schließt das Laden der Festplatte in ein separates Betriebssystem ein, in dem Sie als Root angemeldet sind.

Natürlich sollen Systeme gegen rootExploits abgesichert werden, aber täglich kommen neue Exploits heraus. Kein System ist zu 100% sicher, Sie können jedoch aus praktischen Gründen eine Sicherheit einrichten, indem Sie den Zugriff beschränken.

Es wird erwartet, dass Dateisystemberechtigungen nur in Situationen mit eingeschränktem Benutzerzugriff funktionieren, in denen das Betriebssystem nicht gefährdet ist. Es handelt sich um ein "ehrliches (und typisches) System für Benutzer" wie Fahrradschlösser. Es verhindert "Verbrechen von Gelegenheiten" mehr als einen ausfallsicheren vollständigen Schutz.


FS-Berechtigungsregeln sind ziemlich robust. Sie funktionieren solange kein Angreifer root hat. Die Semantik des POSIX-Dateisystems (und die Linux-spezifischen Erweiterungen) wurden sorgfältig entwickelt, um nicht mehr Zugriff zu ermöglichen, als Sie mit nur erhalten können open(2). linkat(2)Zum Beispiel können Sie einen Verzeichniseintrag für einen geöffneten Dateideskriptor erstellen, aber nur, wenn die Anzahl der Verknüpfungen noch nicht Null ist. Daher kann ein Prozess, der eine geöffnete FD für eine gelöschte Datei empfängt, diese nicht wieder in das Dateisystem verlinken. Offensichtlich bedeutet ein Angreifer, der Root- oder physischen Zugriff erhält, dass Sie anstoßen. Verschlüsselung hilft bei physischen, aber nicht so vielen Roots.
Peter Cordes
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.