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:
- 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?
- 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?
Antworten:
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.
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.
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
root
Zugriff auf ein Remote-System als solch ein Hauptpreis angesehen. Wenn Sieroot
auf 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.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.
quelle
Ihre drei Punkte:
Wenn Sie als normaler Benutzer SSH-fähig sind, haben Sie keinen Zugriff auf das Raw-Festplattengerät. In der Regel benötigen Sie
root
oder die Berechtigung, um auf die Raw- und Logical Disk-Geräte zuzugreifen.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.
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
root
Exploits 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.
quelle
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.