Frage So verhindern Sie Zero-Day-Angriffe


Traditionell sind alle Antivirenprogramme und IPS Systeme arbeiten mit signaturbasierten Techniken. Dies hilft jedoch nicht viel zu verhindern Zero-Day-Attacken.

Was kann also getan werden, um Zero-Day-Attacken zu verhindern?


21
2018-05-22 10:11


Ursprung


Zusätzlich zu den Punkten in der Antwort, die ich unten vorgeschlagen habe, auch wenn Sie eine Software mit einem Zero-Day-Exploit ausführen. Wenn Sie dieses System nicht im öffentlichen Internet betreiben, sind Sie nicht direkt gefährdet. Daher sind Firewalls Ihre Freunde, und wenn Sie wirklich eine neue Sicherheitsleitsoftware ausführen möchten, können Sie sie in einem anderen Netzwerk in der Cloud einrichten, wo sie gehackt werden kann und keine anderen Systeme beeinträchtigt. - Tom H
0-Tage und unbekannte Bedrohungen sind genau das, warum Heuristiken in jeder Antiviren- / Anti-Malware-Software verwendet werden, die diesen Namen verdient. Leider sind Heuristiken wegen des Leistungseinbruchs oft deaktiviert. - John Gardeniers
0days ist nur eine Kategorie, jedes Mitglied dieser Kategorie unterscheidet sich sehr von den anderen. Sie können keinen Ansatz verfolgen, bei dem Sie die Implementierung von Sicherheit gegen 0 Tage in Betracht ziehen. Es ist die Qualität Ihres Sicherheitssystems, die letztendlich den Unterschied zwischen einem erfolgreichen heimlichen Eindringen und einem nicht funktionierenden oder erkannten Exploit ausmachen wird. Wie jemand sagte, konzentrieren Sie sich auf Erkennung und schnelle Reaktionszeit. Überwachen Sie jedes System, den Datenverkehr und halten Sie sich über Sicherheitsupdates auf dem Laufenden. Es ist ein Vollzeitjob, oder zumindest sollte es sein. - Aki
Vielleicht bekommst du auch hier gute Antworten - Sicherheit.stackexchange.com - Bratch
Linux überall. keine Fenster. frage google. - Neil McGuigan


Antworten:


Ich denke, dass Sie dort eine interessante sys-admin Wahrheit anerkennen, die das ist

es sei denn, du kannst das reduzieren Wahrscheinlichkeit, auf Null gehackt zu werden dann schließlichIrgendwann, Sie werden gehackt werden.

Dies ist nur eine grundlegende Wahrheit von Mathematik und Wahrscheinlichkeit, dass für jede Wahrscheinlichkeit ungleich Null eines Ereignisses. Die Veranstaltung passiert schließlich ...

Also die 2 goldene Regeln um die Auswirkungen dieses "letztendlich gehackten" Ereignisses zu verringern, sind diese;

  1. Das Prinzip des geringsten Privilegs

    Sie sollten Dienste so konfigurieren, dass sie als Benutzer mit den geringstmöglichen Rechten ausgeführt werden, die für die Ausführung der Aufgaben des Dienstes erforderlich sind. Dies kann einen Hacker enthalten, auch wenn sie in eine Maschine einbrechen.

    Ein Hacker, der mit einem Zero-Day-Exploit des Apache-Webserverdienstes in ein System einbricht, ist höchstwahrscheinlich auf den Systemspeicher und die Dateiressourcen beschränkt, auf die der Prozess zugreifen kann. Der Hacker könnte Ihre html- und php-Quelldateien herunterladen und wahrscheinlich in Ihre mysql-Datenbank schauen, aber sie sollten nicht in der Lage sein, root zu erreichen oder ihr Eindringen über Apache-zugängliche Dateien hinaus zu erweitern.

    Bei vielen Apache-Webserver-Standardinstallationen werden standardmäßig der Benutzer und die Gruppe "Apache" erstellt, und Sie können die Apache-Hauptkonfigurationsdatei (httpd.conf) problemlos so konfigurieren, dass der Apache mit diesen Gruppen ausgeführt wird.

  2. Das Prinzip der Trennung von Privilegien

    Wenn Ihre Website nur Lesezugriff auf die Datenbank benötigt, erstellen Sie ein Konto mit Nur-Lese-Berechtigungen und nur für diese Datenbank.

    SElinux ist eine gute Wahl für die Erstellung von Kontext für Sicherheit, App-Rüstung ist ein anderes Werkzeug. Bastille war eine vorherige Wahl für das Härten.

    Reduzieren Sie die Folgen eines Angriffs, indem Sie die Leistung des kompromittierten Dienstes in eine eigene "Box" aufteilen.

Silber Regeln sind auch gut.

Verwenden Sie die verfügbaren Tools. (Es ist sehr unwahrscheinlich, dass Sie so gut arbeiten können wie die Sicherheitsexperten, also nutzen Sie ihre Talente, um sich zu schützen.)

  1. Verschlüsselung mit öffentlichem Schlüssel bietet ausgezeichnete Sicherheit. benutze es. überall.
  2. Benutzer sind Idioten, erzwingen Passwort Komplexität
  3. Verstehen Sie, warum Sie Ausnahmen von den obigen Regeln machen. Überprüfen Sie regelmäßig Ihre Ausnahmen.
  4. halte jemanden für einen Fehler verantwortlich. Es hält dich auf Trab.

37
2018-05-22 10:27



Ich denke, das ist die Wahrheit - per Definition gibt es nicht viel, was Sie tun können, um einen 0-Tage-Exploit zu verhindern. Wenn Sie verwundbare Software haben, haben Sie anfällige Software - daher ist die einzige Vorgehensweise, die Auswirkungen und Angriffsflächen zu reduzieren. Hervorragender Punkt zu Firewalls, wobei zu beachten ist, dass ein 0-Day-Exploit für MS Outlook beispielsweise per E-Mail verschickt werden könnte. - Dan
Yep, Punkt über die MS-Mail-Produkte genommen. Aber es gibt Analogien zu Firewalls für E-Mails, zum Beispiel würde jeder mit den deaktivierten VBScript, ActiveX, OLE Erweiterungen alles Hacken komplett verpasst haben und sich des Gemetzels glücklicherweise nicht bewusst sein ... ;-) - Tom H
+1, aber zu Silber Regel 1 "Wer denkt, dass sein Problem mit Kryptographie gelöst werden kann, versteht sein Problem nicht und versteht Kryptographie nicht." - Needham / Lampson;) - Peanut
@ Peanut Ich mag öffentlichen Schlüssel, weil es die Verwendung von Passwörtern vermeidet. Nach dem theoretischen Eingriff müssen Passwörter nicht zurückgesetzt werden, da keine Passwörter zurückgesetzt werden müssen und nur der öffentliche Schlüssel kompromittiert wird. Sogar eine Hash-Passwort-Datenbank kann verwendet werden, um Crack-Accounts zu verifizieren oder offline. - Tom H
@ TomH Mein Kommentar war ironisch :) Interessant, also in Ihrem System sendet der Server vermutlich der Client eine Nonce + andere Daten zu unterzeichnen und der Client verwendet einen Benutzernamen + die signierten Daten zu loggen? - Peanut


Whitelist, nicht schwarze Liste

Sie beschreiben einen Blacklist-Ansatz. Ein Whitelist-Ansatz wäre viel sicherer.

Ein exklusiver Club wird niemals versuchen, alle aufzulisten kippen Komm herein; Sie werden alle auflisten, die können komm rein und schließe diejenigen aus, die nicht auf der Liste stehen.

In ähnlicher Weise versuchen Sie, alles aufzulisten sollte nicht Zugang zu einer Maschine ist zum Scheitern verurteilt. Es wäre effektiver, den Zugriff auf eine kurze Liste von Programmen / IP-Adressen / Benutzern zu beschränken.

Natürlich, wie alles andere, beinhaltet dies einige Kompromisse. Insbesondere ist eine Whitelist massiv unpraktisch und erfordert eine konstante Wartung.

Um noch weiter in den Kompromiss zu gehen, können Sie große Sicherheit erhalten, indem Sie den Computer vom Netzwerk trennen.


16
2018-05-22 16:24



+1 Das ist eine großartige Ergänzung zu Tom Hs Antwort. - Chad Harrison
Die Gefahr besteht darin, dass ein solcher Regelsatz in eine Größe wächst, in der er nicht verstanden, aufrechterhalten, erklärt, geprüft werden kann. Was tödlich ist. - rackandboneman


Erkennung ist einfacher (und zuverlässiger) als Prävention

Per Definition können Sie einen Zero-Day-Angriff nicht verhindern. Wie andere gezeigt haben, können Sie eine Menge tun, um die Auswirkungen eines Zero-Day-Angriffs zu reduzieren, und Sie sollten, aber das ist nicht das Ende der Geschichte.

Lassen Sie mich darauf hinweisen, dass Sie zusätzlich Ressourcen aufwenden sollten, um festzustellen, wann ein Angriff stattgefunden hat, was der Angreifer getan hat und wie der Angreifer das getan hat. Eine umfassende und sichere Protokollierung aller Aktivitäten, die ein Hacker durchführen könnte, wird es sowohl leichter machen, einen Angriff zu erkennen, als auch, noch wichtiger, den Schaden zu bestimmen, der unternommen wurde, um den Angriff wieder aufzunehmen.

In vielen Finanzdienstleistungskontexten sind die Kosten für Sicherheit in Bezug auf Verzögerungen und Overhead bei der Ausführung von Transaktionen so hoch, dass es sinnvoller ist, Ressourcen auf das Erkennen und Umkehren betrügerischer Transaktionen zu konzentrieren, statt umfangreiche Maßnahmen zu ergreifen, um diese überhaupt zu verhindern . Die Theorie ist, dass keine Menge von Maßnahmen 100% effektiv ist, so dass die Erkennungs- und Umkehrmechanismen sowieso aufgebaut werden müssen. Darüber hinaus hat dieser Ansatz den Test der Zeit bestanden.


11
2018-05-22 19:07



+1 Ja, ich denke, du kannst nicht antworten, wenn du nicht weißt, dass es passiert ist ... gegeben eine andere Chance zu antworten, hätte ich wahrscheinlich in etwas stecken SANS 6 Schritte ... - Tom H
+1, sehr wahr. Prävention würde Auditing erfordern. Und Auditing kann nicht beweisen, dass ein System keinen Fehler hat. - Aki
@ Tom, du kannst deine Antwort immer bearbeiten. - Old Pro


Zero Day bedeutet nicht, dass die Signatur nicht bekannt ist. Es bedeutet, dass den Benutzern der Software kein Patch zur Verfügung steht, der die Schwachstelle schließt. Daher ist IPS nützlich, um Zero-Day-Schwachstellen auszunutzen. Aber Sie sollten sich nicht nur darauf verlassen. Erstellen und befolgen Sie eine solide Sicherheitsrichtlinie, härten Sie Ihre Server, aktualisieren Sie Software und haben Sie immer einen 'Plan B'


4
2018-05-22 10:37





Grsecurity oder SELinux helfen dabei, 0-Tage-Angriffe zu verhindern, indem der Kernel gehärtet wird.

Zitat von der Website "Nur Grsecurity bietet Schutz vor Zero-Day- und anderen erweiterten Bedrohungen, die Administratoren wertvolle Zeit einsparen, während Schwachstellenbehebungen den Weg zu Distributionen und Produktionstests frei machen."


3
2018-05-22 10:39





Wenn Sie Apache verwenden, Module wie mod_sicherheit kann Ihnen helfen, gängige Angriffsvektoren zu verhindern. Mit mod_security können Sie

  • Blockieren Sie Anfragen, die wie SQL-Injection-Angriffe aussehen
  • Blockieren Sie Clients, deren IP-Adressen bei einigen RBL auf einer schwarzen Liste stehen
  • Leiten Sie die Anfrage an einen anderen Ort um, wenn die von Ihnen definierten Bedingungen erfüllt sind
  • Anforderungen basierend auf dem Kundenland blockieren
  • erkennen und blockieren häufig bösartige Bots automatisch

... und sehr viel mehr. Natürlich ist es mit einem komplexen Modul wie mod_security möglich, auch Ihre eigentlichen Clients zu blockieren, und auf der Serverseite erhöht mod_security den Overhead.

Außerdem müssen Sie Ihre Serversoftware auf dem neuesten Stand halten und sicherstellen, dass Sie jedes Modul und jeden Daemon, den Sie nicht verwenden, deaktiviert haben.

Enge Firewall-Richtlinien sind ein Muss und in vielen Fällen können zusätzliche Sicherheitsverbesserungen wie SELinux oder Grsecurity den Angriff stoppen.

Aber was auch immer Sie tun, die Bösen sind sehr geduldig, sehr kreativ und sehr geschickt. Haben Sie einen detaillierten Plan, was zu tun ist, wenn Sie gehackt werden.


2
2018-05-22 11:15





Ich würde gerne ein paar bronzene Regeln hinzufügen:

  1. Wenn sie angezeigt werden, führen Sie nicht aus, was nicht ausgeführt werden muss.

  2. Machen Sie sich nicht zu einem Ziel, das einem zielgerichteten gezielten Angriff würdig ist.

  3. Eine Absicherung gegen einen solchen gezielten Angriff ist ohnehin oft unwirtschaftlich / unpraktisch. Überprüfen Sie, wer ein ernsthaftes Interesse daran haben könnte, was zu brechen und dort zu beginnen.

  4. Die "Minimierung von extern verfügbaren Informationen" und die "Entfernung von bekannten Ausfällen" als nichts als Sicherheit durch Dunkelheit (die oft als "wertlos" im Gegensatz zu "einer Schicht, die an sich unzureichend ist" missverstanden wird) und das Weglassen ist eine gefährliche Arroganz. Ein hackbares Schloss an einer Tür wird den Dieb nicht aufhalten, aber wahrscheinlich den Wolf davon abhalten.


1
2018-05-23 01:43





Eine aufgeblähte Maschine mit einer riesigen Sicherheitssuite macht oft aus mittelmäßigen PCs Dinosaurier und Quad-Kerne zu gewöhnlichen alten PCs. Ich habe genug (Tausende) behoben, um zu verstehen, dass das meistens wahr ist. Wenn Sie verstehen, nichts ist 100% Sicherheit und die Kosten der Leistung sinkt exponentiell als Sicherheit, während die Wahrscheinlichkeit der Infektion nur lineare Mode fällt. Die meisten Ergebnisse, als ich aufgehört habe, Vergleiche anzustellen, waren 90% bei einem realen Welttest von Tausenden von Risiken, was bedeutet, dass 10% der Infektionen unentdeckt oder zu spät waren. während die PC-Latenz um 200 bis 900% gestiegen war. OSX hat eine ideale Situation, in der die Sicherheit nicht wesentlich ist, aber die Angriffsrisiken waren geringer, da es 2010 nur noch 4% Marktanteil bei Nicht-Telefon- / PAD-Produkten hatte. Das wird sich ändern, aber ich werde mich nicht ändern meine Philosophie, mein Betriebssystem sauber, schlank und gemein zu halten. Ich mache das gleiche für XP und Win7. Ich habe ein großes Arsenal von Reparatur-Tools, aber brauche nur eine App, um jeden zu beheben, der infiziert wird und es dauert nur 10 bis 20 Minuten, nicht Stunden oder Tage.

Meine Methoden, die funktionieren;

  1. Informieren Sie die Benutzer, klicken Sie nicht auf Sicherheitswarnungen, es sei denn, Sie wissen wirklich, was sie sind, im Gegensatz zu den Hunderten von ROgues, die Kopien von guten Warnungen sind. Diejenigen, die nicht leicht trainiert werden können, erhalten Konten ohne Administratorrechte und Sandbox-Browser mit deaktiviertem Java und JS. Aber wenn ich es für sie aktivieren, keine Sorge, nur 15 ~ 20 Minuten zu restaurieren oder zu reparieren.

    1. SYStem Restore ist gut, hat aber viele Einschränkungen. Eine davon ist, dass Elemente in Ihrem Ordner "Dokumente" und "Benutzer Temp" geschützt sind, wo Rogue-Treiber installiert und gestartet werden können und Sie beim nächsten Start infizieren können.

    2. UAC ist für viele Dinge nützlich, aber eine solche PITA, die ich nie benutze und auf bessere Tools angewiesen bin, um Startups und / oder neue Prozesse zu erkennen, einschließlich, aber nicht beschränkt auf;

      • Winpatrol.comimmer noch die beste Investition, die ich für die Sicherheit getätigt habe und die immer noch für andere kostenlos ist. Es deckt 80% der Probleme ab, bei denen Startups hinzugefügt werden, bevor sie ausgeführt werden, und können durch eine Benutzereingabeaufforderung erkannt und deaktiviert oder gelöscht werden. Wenn Sie jedoch die ängstliche Sorte sind, die keine Entscheidungen treffen kann, nehmen Sie eine Pille oder benutzen Sie sie einfach Windows Defender. Nicht die beste für die Abdeckung, aber eine der höchsten für Bang / Buck-Verhältnis .. Vorbeugung / Verlust der Leistung oder Anstieg der Latenz-Verhältnis.

      • Mike Lins Startup-Programm ist der leichteste Abfangjäger von Startups, die in mehr als einem Dutzend Speicherorten der Registrierung gespeichert sind

      • Script Guard ist ein nützlicher Script-Interceptor für kiddy-Skripte

      • ProzessGuard ein altes, nicht mehr funktionierendes Programm, das wie eine Firewall für jedes neue ausführbare Programm funktioniert, aber Sie zur Genehmigung schreit, aber es ist sicher und schlank, wenn Sie eine vertrauenswürdige Quelle akzeptieren oder eine nicht vertrauenswürdige Quelle ignorieren oder blockieren.

      • Ein Blacklist Add-on für Ihren Browser ist gut wie Web of Trust (WOT) , aber Chrome ist in ähnlicher Weise, aber in geringerem Umfang enthalten.

      • Eine Blacklist kann sehr groß für HOSTS-Dateien werden und wenn Sie diese verwenden (> 1 MB ist riesig, wenn alle 4 Minuten in 4KB-Chunks gescannt werden.) Aber wenn Sie das tun, empfehle ich sehr Deaktivierung des DNS-Caching-Dienstes die redunanten periodischen Scans durch jede App zu reduzieren, die mit Firewall-Privilegien aktiv ist.

      • Deaktivieren Sie die Dateiindizierung   wenn Sie es nicht wirklich für E-Mail und Dinge verwenden, weil es Ihre AV-Suite hervorbringt, um jede Datei zu überprüfen, auf die jedes Mal zugegriffen wird, immer wieder .. wie überflüssig.

Einige mögen eine Ausnahme von dieser unvollständigen Liste machen, aber ich spare mir Zeit, meinen PC zu sichern und in einer mageren Umgebung zu arbeiten. Regelmäßige Audits zur Bestätigung meiner Sicherheit werden nachts durchgeführt, um zu beweisen, dass meine Sorgenfreiheit gerechtfertigt ist. Ich habe immer noch tausend HJT-Logs, Combofix.txt-Logs und Runscanner-Logs, um meine Meinung zu Heilungen und ein besseres Sicherheits- / Leistungsgleichgewicht zu unterstützen.

  • Vermeiden Sie unvorsichtiges Herunterladen / Installieren von exe's oder Windows-Mediendateien, die Scripts (zB .WMA, .WMV) im Gegensatz zu .mp3 oder .avi ausführen können.

  • Vermeiden Sie alle Anzeigen, die auf große Schaltflächen ausgerichtet sind, um Ihre Sicherheit herunterzuladen oder zu aktualisieren Das kann Ihre Aufmerksamkeit auf das kostenlose Update auf Download-Aggregatoren wie Hippo dot com lenken. cnet ist nicht schlecht. Sei sehr vorsichtig. Einige Websites verwenden Anzeigen von Drittanbietern und haben keine Inhaltskontrolle.

  • Ich habe ein Beispiel in einer 10-seitigen Powerpoint-Präsentation dokumentiert, Wenn jemand interessiert ist, fragen Sie. Wie leicht es ist, das oben genannte zu ignorieren, kann dich infizieren.

Alles für jetzt.

Tony Stewart EE seit 1975.


1
2018-05-23 05:50