So verhindern Sie Zero-Day-Angriffe

21

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

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

ashmish2
quelle
1
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 verwundbar. Daher sind Firewalls Ihr Freund, und wenn Sie wirklich eine neu entwickelte Sicherheitsrisikosoftware ausführen möchten, können Sie sie in einem anderen Netzwerk in der Cloud einrichten, in dem sie gehackt werden kann und keine anderen Systeme beeinträchtigt.
Tom H
0-Tage- und unbekannte Bedrohungen sind genau der Grund, warum Heuristiken in jeder Antiviren- / Anti-Malware-Software verwendet werden, die diesen Namen verdient. Leider sind Heuristiken häufig aufgrund des Leistungseinbruchs deaktiviert.
John Gardeniers
0days ist nur eine Kategorie, jedes Mitglied dieser Kategorie unterscheidet sich sehr von dem anderen. Sie können keinen Ansatz haben, 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 Stealth-Angriff und einem nicht funktionierenden Exploit oder einem erkannten Exploit ausmacht. Wie bereits gesagt, konzentrieren Sie sich auf die Erkennung und die schnelle Reaktionszeit. Überwachen Sie jedes System, den Datenverkehr und bleiben Sie mit Sicherheitsupdates auf dem Laufenden. Es ist ein Vollzeitjob, oder sollte es zumindest sein.
Aki
Vielleicht
Linux überall. keine Fenster. Fragen Sie Google.
Neil McGuigan

Antworten:

37

Ich denke, Sie erkennen dort eine interessante sys-admin-Wahrheit an, nämlich diese

es sei denn , Sie reduzieren Wahrscheinlichkeit gehackt auf Null dann schließlich , irgendwann werden Sie gehackt werden .

Dies ist nur eine grundlegende Wahrheit über Mathematik und Wahrscheinlichkeit, die für jede Wahrscheinlichkeit eines Ereignisses ungleich Null gilt. Das Ereignis passiert schließlich ...

Die 2 goldenen Regeln, um die Auswirkungen dieses "schließlich gehackten" Ereignisses zu reduzieren, 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 zum Ausführen der Aufgaben des Dienstes erforderlich sind. Dies kann einen Hacker auch nach dem Eindringen in eine Maschine enthalten.

    Beispielsweise ist ein Hacker, der mit einem Zero-Day-Exploit des Apache-Webserver-Dienstes in ein System einbricht, höchstwahrscheinlich nur auf den Systemspeicher und die Dateiressourcen beschränkt, auf die dieser Prozess zugreifen kann. Der Hacker wäre in der Lage, Ihre HTML- und PHP-Quelldateien herunterzuladen und wahrscheinlich in Ihre MySQL-Datenbank zu schauen, aber er sollte nicht in der Lage sein, root zu werden oder sein Eindringen über Apache-zugängliche Dateien hinaus zu erweitern.

    Viele Standardinstallationen von Apache-Webservern erstellen standardmäßig den Apache-Benutzer und die Apache-Gruppe. Sie können die Apache-Hauptkonfigurationsdatei (httpd.conf) problemlos so konfigurieren, dass Apache mit diesen Gruppen ausgeführt wird.

  2. Das Prinzip der Trennung von Privilegien

    Wenn für Ihre Website nur Lesezugriff auf die Datenbank erforderlich ist, erstellen Sie ein Konto, das nur über Leseberechtigungen verfügt, und zwar nur für diese Datenbank.

    SElinux ist eine gute Wahl, um Sicherheitskontexte zu erstellen. App-Armor ist ein weiteres Tool. Bastille war eine frühere Wahl zum Härten.

    Reduzieren Sie die Konsequenzen eines Angriffs, indem Sie die Leistung des gefährdeten Dienstes in eine eigene "Box" aufteilen.

Silberregeln sind auch gut.

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

  1. Die Verschlüsselung mit öffentlichen Schlüsseln bietet hervorragende Sicherheit. benutze es. überall.
  2. Benutzer sind Idioten und erzwingen die Komplexität von Passwörtern
  3. Verstehe, warum du Ausnahmen von den obigen Regeln machst. Überprüfen Sie Ihre Ausnahmen regelmäßig.
  4. Jemanden zur Rechenschaft ziehen, wenn er versagt. es hält dich auf Trab.
Tom H
quelle
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 über anfällige Software verfügen, verfügen Sie über anfällige Software. Daher besteht die einzige Vorgehensweise darin, die Auswirkungen und die Angriffsfläche zu verringern. Hervorragender Punkt zu Firewalls, bedenken Sie jedoch, dass ein 0-Tage-Exploit für MS Outlook beispielsweise per E-Mail gesendet werden kann.
Dan
2
Ja, Punkt genommen über die MS Mail-Produkte. Aber es gibt Analogien zu Firewalls für E-Mails, zum Beispiel, dass jeder mit deaktivierten VBscript-, ActiveX- und OLE-Erweiterungen das gesamte Hacken verpasst hätte, ohne sich des Gemetzels bewusst zu sein ... ;-)
Tom H
1
+1, aber wende dich an Silber Regel 1 "Wer glaubt, sein Problem könne mit Kryptographie gelöst werden, versteht sein Problem nicht und versteht Kryptographie nicht." - Needham / Lampson;)
Peanut
@Peanut Ich mag den öffentlichen Schlüssel, weil er die Verwendung von Passwörtern vermeidet. Nach dem theoretischen Eingriff müssen keine Kennwörter zurückgesetzt werden, da keine Kennwörter zurückgesetzt werden müssen und nur der öffentliche Schlüssel gefährdet ist. Sogar eine Datenbank mit Hash-Passwörtern kann verwendet werden, um Konten zu verifizieren oder um Konten zu knacken.
Tom H
@TomH Mein Kommentar war ein Augenzwinkern :) Interessant, also schickt der Server in Ihrem System vermutlich dem Client eine Nonce + andere Daten zum Signieren und der Client verwendet einen Benutzernamen + die signierten Daten zum Anmelden?
Erdnuss
16

Whitelist, keine Blacklist

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

Ein exklusiver Club wird niemals versuchen, alle aufzulisten, die nicht eintreten können. Sie listen alle auf, die hereinkommen und diejenigen ausschließen können, die nicht auf der Liste stehen.

Ebenso ist der Versuch, alles aufzulisten, was nicht auf eine Maschine zugreifen sollte, zum Scheitern verurteilt. Eine Einschränkung des Zugriffs auf eine kurze Liste von Programmen / IP-Adressen / Benutzern wäre effektiver.

Natürlich beinhaltet dies, wie alles andere auch, einige Kompromisse. Insbesondere ist eine Whitelist äußerst umständlich und muss ständig gewartet werden.

Um den Kompromiss noch weiter zu vertiefen, können Sie eine hohe Sicherheit erzielen, indem Sie den Computer vom Netzwerk trennen.

Nathan Long
quelle
+1 Dies ist eine großartige Ergänzung zu Tom Hs Antwort.
Chad Harrison
1
Die Gefahr wächst in einem solchen Regelwerk zu einer Größe, die nicht verstanden, aufrechterhalten, erklärt, geprüft werden kann. Welches ist tödlich.
Rackandboneman
11

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

Per Definition können Sie einen Zero-Day-Angriff nicht verhindern. Wie andere betont haben, können Sie viel tun, um die Auswirkungen eines Zero-Day-Angriffs zu verringern, und das sollten Sie auch, aber das ist noch nicht das Ende der Geschichte.

Lassen Sie mich außerdem darauf hinweisen, dass Sie Ressourcen einsetzen sollten, um festzustellen, wann ein Angriff stattgefunden hat, was der Angreifer getan hat und wie er es getan hat. Eine umfassende und sichere Protokollierung aller Aktivitäten, die ein Hacker möglicherweise durchführt, erleichtert die Erkennung eines Angriffs und bestimmt, was noch wichtiger ist, den Schaden und die Korrektur, die erforderlich sind, um sich von dem Angriff zu erholen.

In vielen Finanzdienstleistungskontexten sind die Kosten für die Sicherheit in Bezug auf Verzögerungen und Aufwand bei der Ausführung von Transaktionen so hoch, dass es sinnvoller ist, die Ressourcen auf die Erkennung und Rückabwicklung betrügerischer Transaktionen zu konzentrieren, als umfangreiche Maßnahmen zu ergreifen, um diese überhaupt zu verhindern . Die Theorie besagt, dass keine Menge von Maßnahmen zu 100% wirksam sein wird, sodass die Erkennungs- und Umkehrungsmechanismen ohnehin aufgebaut werden müssen. Darüber hinaus hat dieser Ansatz den Test der Zeit überstanden.

Alter Pro
quelle
1
+1 Ja, ich schätze, Sie können nicht antworten, wenn Sie nicht wissen, dass es passiert ist ... bei einer weiteren Antwortchance hätte ich wahrscheinlich etwas über SANS 6-Schritte festgehalten ...
Tom H
+1, sehr wahr. Prävention würde ein Auditing erfordern. Und Auditing kann nicht beweisen, dass ein System keine Fehler aufweist.
Aki
@ Tom, Sie können Ihre Antwort jederzeit bearbeiten.
Old Pro
4

Tag Null bedeutet nicht, dass die Signatur nicht bekannt ist. Dies bedeutet, dass Benutzern von Software kein Patch zur Verfügung steht, der die Sicherheitslücke schließt. IPS ist daher nützlich, um vor der Ausnutzung von Zero-Day-Schwachstellen zu schützen. Aber Sie sollten sich nicht nur darauf verlassen. Erstellen und befolgen Sie eine solide Sicherheitsrichtlinie, härten Sie Ihre Server ab, aktualisieren Sie die Software und haben Sie immer einen Plan B

DukeLion
quelle
3

Grsecurity oder SELinux sind gut geeignet, um 0-Tage-Angriffe durch Härten des Kernels zu verhindern.

Zitat aus der Website "Nur grsecurity bietet Schutz vor Zero-Day-Bedrohungen und anderen fortgeschrittenen Bedrohungen, die Administratoren wertvolle Zeit einräumen, während Schwachstellenbehebungen den Weg zu Distributionen und Produktionstests finden."

h00j
quelle
2

Wenn Sie Apache verwenden, können Sie mit Modulen wie mod_security häufige Angriffsmethoden verhindern. Mit mod_security kannst du

  • Blockieren von Anforderungen, die wie SQL-Injection-Angriffe aussehen
  • Blockieren von Clients, deren IP-Adressen bei einigen RBL auf der Blacklist stehen
  • Leiten Sie die Anforderung an einen anderen Ort weiter, wenn die von Ihnen definierten Bedingungen erfüllt sind
  • Blockieren von Anfragen basierend auf dem Land des Kunden
  • Erkennen und blockieren Sie häufig vorkommende böswillige Bots automatisch

... und sehr viel mehr. Natürlich ist es mit einem komplexen Modul wie mod_security durchaus möglich, auch Ihre tatsächlichen Clients zu blockieren, und auf der Serverseite fügt mod_security etwas Overhead hinzu.

Es ist auch obligatorisch, Ihre Serversoftware auf dem neuesten Stand zu halten und sicherzustellen, dass Sie jedes Modul und jeden Dämon deaktiviert haben, die Sie nicht verwenden.

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.

Janne Pikkarainen
quelle
1

Ich möchte ein paar Bronzeregeln hinzufügen:

  1. Wenn ausgesetzt, nicht ausführen, was nicht ausgeführt werden muss.

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

  3. Eine Absicherung gegen solche gezielten Angriffe ist oft unwirtschaftlich / ohnehin unpraktisch. Prüfen Sie, wer ernsthaft daran interessiert sein könnte, was zu brechen, und beginnen Sie dort.

  4. Das "Minimieren von extern verfügbaren Informationen" und das "Weggehen von bekannten Standardwerten" als nichts anderes als Sicherheit durch Unkenntnis (oft als "wertlos" im Gegensatz zu "eine Ebene, die an sich nicht ausreicht" missverstanden) und das Weglassen dieser Informationen ist eine gefährliche Arroganz. Ein hackbares Schloss an einer Tür wird den Dieb nicht fernhalten, aber wahrscheinlich den Wolf fernhalten.

Rackandboneman
quelle
1

Eine aufgeblähte Maschine mit einer riesigen Sicherheitssuite macht mittelmäßige PCs oft zu Dinosauriern und Quad-Cores zu gewöhnlichen alten PCs. Ich habe genug (Tausende) repariert, um zu verstehen, dass dies größtenteils der Fall ist. Wenn Sie verstehen, dass nichts 100% Sicherheit bedeutet, sinken die Leistungskosten exponentiell als Sicherheit, während die Infektionswahrscheinlichkeit nur linear sinkt. Die meisten Ergebnisse, als ich keine Vergleiche mehr anstellte, lagen bei einem Test mit Tausenden von Risiken in der Praxis bei maximal 90%, was bedeutet, dass 10% der Infektionen unentdeckt blieben oder zu spät auftraten. Die PC-Latenz hatte sich um 200 bis 900% erhöht. OSX hat eine ideale Situation, in der es nicht unbedingt sicherer ist, aber das Angriffsrisiko war geringer, da es sich 2010 um kleinere Ziele mit nur 4% Marktanteil bei Nicht-Telefon- / Pad-Produkten handelte. 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 umfangreiches Arsenal an Reparaturwerkzeugen, benötige jedoch nur eine App, um alle infizierten Personen zu reparieren, und es dauert nur 10 bis 20 Minuten, weder Stunden noch 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 guter Warnungen sind. Diejenigen, die nicht geschult werden können, erhalten leicht Nicht-Administratorkonten und Sandbox-Browser mit deaktiviertem Java und JS. Aber wenn ich es für sie aktiviere, keine Sorge, nur 15 ~ 20 Minuten zum Wiederherstellen oder Reparieren.

    1. SYstem Restore ist gut, weist jedoch viele Einschränkungen auf. Zum einen sind die Elemente in Ihrem Ordner "Dokumente" und "Benutzertemp" geschützt, sodass nicht autorisierte Treiber installiert und gestartet werden können und Sie beim nächsten Start infiziert werden können.

    2. Die Benutzerkontensteuerung ist für viele Dinge nützlich, aber für eine solche PITA, bei der ich nie bessere Tools zum Erkennen von Starts und / oder neuen Prozessen verwende und mich darauf verlasse, einschließlich, aber nicht darauf beschränkt;

      • Winpatrol.com ist immer noch die beste Investition, die ich für die Sicherheit getätigt habe und immer noch kostenlos für andere. Es deckt 80% der Probleme ab, bei denen Starts vor der Ausführung hinzugefügt werden und durch Benutzeraufforderung erkannt und deaktiviert oder gelöscht werden können. Wenn Sie jedoch ängstlich sind und keine Entscheidungen treffen können, nehmen Sie eine Pille oder verwenden Sie einfach Windows Defender . Nicht die beste für die Abdeckung, aber eine der höchsten für das Verhältnis von Knall zu Knall. Schutz / Leistungsverlust oder Anstieg des Latenzverhältnisses.

      • Das Starthilfsprogramm von Mike Lin ist der leichteste Abfangjäger für Starts , die an über einem Dutzend Stellen in der Registrierung gespeichert sind

      • Script Guard ist ein nützlicher Skript-Interceptor für Kinderskripte

      • ProcessGuard ist ein altes nicht mehr lauffähiges Programm, das wie eine Firewall für alle neuen ausführbaren Programme funktioniert, Sie jedoch zur Genehmigung auffordert. Es ist jedoch sicher und schlank, nachdem Sie eine vertrauenswürdige Quelle akzeptiert oder eine nicht vertrauenswürdige Quelle ignoriert oder blockiert haben.

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

      • Eine Blacklist kann für HOSTS-Dateien sehr umfangreich sein . Wenn Sie diese Option verwenden (> 1 MB sind sehr umfangreich, wenn alle 10 Minuten 4 KB-Blöcke gescannt werden.) Wenn Sie dies jedoch tun, empfehle ich dringend, den DNS-Caching-Dienst zu deaktivieren, um die Redunanz der regelmäßigen Scans durch jede App zu verringern ist mit Firewall-Privilegien aktiv.

      • Deaktivieren Sie die Dateiindizierung, wenn Sie sie nicht wirklich für E-Mails und andere Zwecke verwenden, da dadurch Ihre AV-Suite aufgerufen wird, um jede Datei zu scannen, auf die immer wieder zugegriffen wird. Wie redundant.

Einige machen vielleicht eine Ausnahme von dieser unvollständigen Liste, aber ich spare Zeit, indem ich meinen PC sichere und in einer schlanken Umgebung arbeite. Regelmäßige Audits, die meine Sicherheit nachts bestätigen, beweisen, dass mein sorgenfreies Training gerechtfertigt ist. Ich habe immer noch tausend HJT-Protokolle, combofix.txt-Protokolle und Runscanner-Protokolle, um meine Meinung zu Heilungsmaßnahmen und einem besseren Verhältnis von Sicherheit und Leistung zu unterstützen.

  • Vermeiden Sie das unachtsame Herunterladen / Installieren von exe- oder Windows Media-Dateien, die im Gegensatz zu .mp3 oder .avi Skripte (z. B. .WMA, .WMV) ausführen können.

  • Vermeiden Sie alle Anzeigen, die auf große Schaltflächen ausgerichtet sind, um Ihre Sicherheit herunterzuladen oder zu aktualisieren. Dies kann Ihre Aufmerksamkeit auf das kostenlose Update von 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 perfektes Beispiel in einer 10-seitigen PowerPoint-Präsentation dokumentiert. Wenn jemand interessiert ist, frage. Wie einfach es ist, das obige Adiv zu ignorieren, kann Sie infizieren.

Alles für jetzt.

Tony Stewart EE seit 1975.

Tony Stewart Sunnyskyguy EE75
quelle