it-swarm.com.de

Wie wichtig ist die Ortszeit für die Sicherheit?

Ich wollte kürzlich sehen, was passiert, wenn ich meine Ortszeit auf etwas offensichtlich Falsches ändere. Ich habe das Jahr 2218 ausprobiert, also 200 Jahre in der Zukunft. Das Ergebnis: Ich konnte auf keine Website mehr zugreifen (ich habe jedoch nicht zu viele ausprobiert). Ich habe diesen Fehler erhalten:

(enter image description here

Ich vermute NET::ERR_CERT_DATE_INVALID bedeutet, dass ein HTTP-Zertifikat nicht gültig ist. Aber normalerweise gibt es eine "erweiterte" Option, mit der ich sie ignorieren kann. Nicht so hier. Ich frage mich auch, warum dort steht "Ihre Uhr ist voraus" - wenn chrome die richtige Zeit kennt, warum wird dies nicht zum Vergleichen herangezogen?

Kommen wir zu meiner Frage: Wie wichtig ist die Ortszeit für die Sicherheit? Wenn ein Angreifer die Systemzeit willkürlich ändern kann, welche Arten von Angriffen erlauben dies? Gibt es gemeldete Fälle, in denen Zeitmanipulation ein entscheidender Teil war?

61
Martin Thoma

Wenn ein Angreifer die Systemzeit willkürlich ändern kann, welche Arten von Angriffen erlauben dies?

Über Zertifikate hinaus ...

Schlecht ausgesäte RNGs

Sie können möglicherweise einen schlecht gesetzten Zufallszahlengenerator ausnutzen. Die Verwendung von time als Startwert kam häufig vor, bevor bessere Zufallszahlenschnittstellen erkannten, dass einem durchschnittlichen Programmierer nicht vertraut werden kann, um einen guten Startwert bereitzustellen. Ein Angreifer kann dies ausnutzen, indem er die Systemzeit auf einen Zeitpunkt einstellt, zu dem der Zufallszahlengenerator die gewünschte Ausgabe erzeugt.

Natürlich kann sich der Angreifer viel Ärger ersparen, indem er einfach auf eine wünschenswerte Zeit wartet.

UUIDs

UUIDv1 und v2 hängen beide von der MAC-Adresse und der Zeit ab. Die MAC-Adresse kann ermittelt werden. Wenn Sie die Zeit einstellen können, können Sie jetzt steuern, welche UUID als Nächstes zugewiesen wird. Beispielsweise können sie möglicherweise die UUID eines Administratorkontos für sich selbst duplizieren. Natürlich sollen UUIDv1 und v2 nicht sicher sein, sondern nur eindeutig . Wenn Sie sicher und einzigartig sein möchten, verwenden Sie UUIDv4, aber es gibt viele Software, die UUIDv1 und v2 unangemessen verwendet.

Periodische Jobs

Viele Systeme haben kritische Prozesse, die regelmäßig an bestimmten Tagen und zu bestimmten Zeiten ausgeführt werden. Der Angreifer kann sich mit der Zeit herumschlagen, um dies zu manipulieren.

Viele Systeme haben Wartungsfenster, die zu bestimmten Zeiten auftreten. Der Angreifer kann die Zeit, die in diesem Fenster verbleibt, kontinuierlich zurücksetzen und das System für Wartungsarbeiten herunterfahren.

Wenn es einen ressourcenintensiven Prozess gibt, der regelmäßig auftritt, können sie mit der Zeit so herumspielen, dass mehrere dieser Prozesse gleichzeitig ausgeführt werden. Wenn das System die Anzahl gleichzeitiger Prozesse nicht begrenzt, kann dies das System überfluten.

Oder Sie können in die andere Richtung gehen und die Zeit kontinuierlich zurücksetzen, um zu verhindern, dass ein kritischer Wartungsprozess ausgeführt wird.

Aufpasser

Das System verfügt möglicherweise über Watchdog-Prozesse, die nach zu vielen oder zu wenigen Aktionen suchen, die in einem Zeitfenster ausgeführt werden. Der Watchdog kann wählen, ob automatische Wartungsmaßnahmen wie das Neustarten von Maschinen oder das Stoppen von Diensten . Ein Angreifer kann die Zeit manipulieren, um den Eindruck zu erwecken, dass die Rate zu hoch oder zu niedrig ist, um den Watchdog auszulösen und ein funktionierendes System anzuhalten.

18
Schwern

Sie haben eine Reihe von Fragen.

Ich denke, NET :: ERR_CERT_DATE_INVALID bedeutet, dass ein HTTP-Zertifikat nicht gültig ist.

Ja.

Hier ist das Zertifikat für help.ubuntu.com:

(Certificate for help.ubuntu.com

Sie werden feststellen, dass es gültige Daten von und gültige Daten bis hat. Wenn Sie versuchen, außerhalb dieser Daten auf eine durch dieses Zertifikat geschützte Site zuzugreifen, wird sich Ihr Browser beschweren. Der Grund, warum Zertifikate ablaufen, besteht (unter anderem) darin, Webmaster zu zwingen, weiterhin neue Zertifikate mit der neuesten Krypto und anderen neuen Sicherheitsfunktionen in Zertifikaten zu erhalten.

Wenn Ihr Browser versucht zu entscheiden, ob er einem Zertifikat vertraut, verwendet er die Systemuhr als endgültige Quelle der Wahrheit für die Zeit. Sicher, es wird versucht, NTP zu verwenden, aber wenn Sie (der Administrator) ausdrücklich darauf hingewiesen haben, dass die Server NTP] falsch sind, sind Sie der Boss.


Wenn ein Angreifer die Systemzeit willkürlich ändern kann, welche Arten von Angriffen erlauben dies?

Betrachten wir PCs und Server getrennt. Ich habe hier keine Nachforschungen angestellt.

Persönliche Computer

  • Benutzer spielen häufig Spiele mit ihrer Systemuhr, um Dinge vom Typ "30-Tage-Testversion" zu umgehen. Wenn Sie das Unternehmen sind, dessen Software auf diese Weise illegal verwendet wird, würden Sie dies als Sicherheitsproblem betrachten.
  • Gefälschte Websites. Es ist viel einfacher, alte abgelaufene Zertifikate zu hacken - möglicherweise wurde eine 10 Jahre alte Krypto verwendet, die leicht geknackt werden kann, oder der Server wurde vor 6 Jahren kompromittiert, aber die Zertifizierungsstellen verfolgen die Sperrinformationen nicht so lange (Ideengutschrift: @immibis 'Antwort ). Wenn ein Angreifer Ihre Systemuhr ändern kann, werden die Warnungen nicht angezeigt.

Server

  • Protokollierung. Wenn bei der Untersuchung einer Sicherheitsverletzung die Uhren Ihrer Server nicht synchron sind, kann es sehr schwierig sein, alle Protokolle zusammenzufügen, um genau herauszufinden, was passiert ist und in welcher Reihenfolge.
  • Anmeldungen. Dinge wie die OTP 2-Faktor-Authentifizierung sind normalerweise zeitbasiert. Wenn sich die Uhren eines Servers hinter einem anderen Server befinden, können Sie beobachten, wie jemand einen OTP-Code eingibt, und ihn dann für den Server verwenden, der sich dahinter befindet, da dieser Code noch nicht abgelaufen ist.
68
Mike Ounsworth

Ein Grund dafür ist, dass Zertifikatsperrdatensätze nach Ablauf des Zertifikats nicht mehr aufbewahrt werden.

Angenommen, ich habe vor 10 Jahren das Google-Zertifikat gestohlen. Google hat das Zertifikat sofort bemerkt und widerrufen. Da das Zertifikat in den letzten 10 Jahren einige Zeit abgelaufen ist, wurde der Widerrufseintrag gelöscht. Wenn ich Ihre Uhr auf 10 Jahre zurücksetze, bis sie gültig war, kann ich mich als Google ausgeben und Ihr Browser wird es nicht bemerken, da er nicht weiß, dass es widerrufen wurde.

27
user253751

Ihre Frage ist weit gefasst, aber wenn ein Angreifer die Uhr des lokalen Systems ändern kann, kann er die Protokolle vergiften seiner Aktivität. Auf diese Weise können sie ihre Aktivitäten so verbergen, dass sie irgendwann in der Vergangenheit aufgetreten sind (und möglicherweise über das Fenster hinaus, in dem die Administratoren nach Aktivitäten suchen) oder mit den Aktivitäten anderer Benutzer übereinstimmen.

Wenn Sie beispielsweise mitten in der Nacht in ein System einbrechen, können Sie die Uhr so ​​einstellen, dass sie am Vortag mittags ist, Ihre Aktivität ausführen und dann die Uhr zurückstellen. Jeder, der die Protokolle überprüft, geht davon aus, dass der normale Benutzer die Aktivität ausgeführt hat (oder sie unter den Aktivitäten des normalen Benutzers überhaupt nicht sieht).

Aus diesem Grund ist es wichtig, dass Sie Ihre Uhr so ​​einstellen, dass sie mit einer maßgeblichen externen Quelle synchronisiert wird. Das und dass alle Protokolle aus allen Quellen richtig korreliert werden können.

18
schroeder

Es gibt zwei mögliche Situationen, in denen ein Computer, der das Jahr für 2038 hält, versucht, eine Verbindung zur Außenwelt herzustellen, und alles in der Außenwelt sagt, dass es 2018 ist:

  1. Die Uhr des Computers ist falsch.

  2. Das Jahr ist tatsächlich 2038, und alles in der Außenwelt wird gefälscht, wobei Zertifikate aus dem Jahr 2018 verwendet werden, die in den 20 Jahren seitdem geknackt wurden.

Obwohl Angriffe dieser Form schwer genug wären, um zu verhindern, dass die erste Möglichkeit in der Praxis weitaus wahrscheinlicher wäre, würde der Schutz vor der zweiten die Bestätigung erfordern, dass die Uhr des Computers tatsächlich ist falsch ist.

3
supercat

Wenn Sie einen einzelnen Windows-Domänencontroller oder einen Teil seines Netzwerks ausführen, kann ein Zeitunterschied von nur fünf oder einigen Minuten kritisch sein: Kerberos-Zeittoleranz

Ich musste mich einmal mit einem ausgefallenen Windows SBS 2008-Server befassen und einen Weg finden, als SYSTEM zum Lesen des Ereignisprotokolls einzusteigen.

Es stellte sich heraus, dass ein Stromstoß die BIOS-Uhr CMOS] auf dem Domänencontroller einige Jahre zuvor auf das Systemdesigndatum zurückgesetzt hatte. Dies führte dazu, dass Kerberos-Tickets nicht ausgestellt werden konnten.

Kerberos-Tickets sind nur wenige Minuten gültig.

2
birdwes

Ein weiteres (leicht kompliziertes) Beispiel für einen Angriff auf einen Computer mit verzögerter Systemzeit ist das Bereitstellen veralteter DNS-Einträge aus einer mit DNSSEC gesicherten Zone.

Wenn der Client beispielsweise nach der Adresse www.example.com fragt, kann der Angreifer mit einem Verweis auf seinen eigenen DNS-Server und einem (abgelaufenen) Nachweis der Nichtexistenz eines DS - Datensatzes für) antworten example.com aus der Zeit, als example.com noch nicht signiert war, und anschließend gefälschte DNS-Einträge für alles in der example.com-Zone bereitstellen.

0
Edheldil