26 Nov 2013
Löchriges Java.
Juhuu! Ein weiteres Torpedo der Cyberkriminellen gegen Microsoft Office wurde von unserem schlauen und hartnäckigen Cyber-Schutz abgewehrt.
Kürzlich wurde eine neue, aber eigentlich ganz gewöhnliche Attacke entdeckt: Beim Öffnen von Word-Dokumenten wird heimlich Schadcode auf den Computer übertragen. Das alleine ist noch keine Schlagzeile wert, wenn es nicht eine Zero-Day-Attacke wäre, also ein Angriff, der eine bisher unbekannte Sicherheitslücke in Microsoft Office ausnutzt, für die es noch keine Patches oder Updates gibt, und die von den meisten Antiviren-Programmen nicht entdeckt wird. Sie können sich natürlich denken, dassunsereProgramme den Angriff dank ihres engmaschigen Netzes sofort entlarvt haben!
Unser automatischer Schutz vor Exploits hat das unnormale Verhalten aufgespürt und die dahinter steckenden Angriffe blockiert. Ohne Updates, ohne Wartezeit, ohne Ärger. Direkt abgeschossen.
Zero-Day-Angriffe sind heute eine ernste Gefahr.
Sie müssen mit voller Kraft abgewehrt werden. Allerdings sind viele Antiviren-Programme gegen diezukünftigen Risiken solcher Zero-Days machtlos, da sie vor allem mit Signaturen arbeiten, die „Schutz vor zukünftigen Bedrohungen“ nur auf dem Papier/auf der Schachte „bieten“ (allerdings auf schönem Papier/glänzender Schachtel ). Aber das ist auch ganz klar! Denn schließlich benötigt echter – effektiver! – Schutz vor zukünftigen Gefahren ziemliches Hirnschmalz und große Entwicklungsressourcen. Nicht jeder Hersteller hat Ersteres, und wenn ein Hersteller das Zweite hat, reicht das nicht immer.Und wir reden hier von Technologien, die überhaupt nicht einfach zu kopieren sind…
Und auch wenn Buddha und die New-Age-Jünger in Bezug auf Individuen vielleicht recht haben, wenn sie sagen, man solle im Heute leben, im Moment – für die IT-Sicherheit gilt das nicht, wie wir uns sicher sind. IT-Sicherheit muss ständig in die Zukunft blicken und vorhersehen, was in den Köpfen der Cyber-Straftäter vor sich geht – bevor etwas passiert. Ein bisschen wie in Minority Report. Deshalb war „proaktiv“ schon Anfang der 1990er Jahre auf unserer Agenda – damals haben wir in der IT-Security-Branche für Furore gesorgt, da wir unter anderem eine Heuristik und unseren Emulator entwickelt hatten.Vorausdenken liegt bei Kaspersky Lab einfach im Blut!
Seit damals hat sich die Technologie neu erfunden, wurde verbessert und erweitert, bis vor etwa zweieinhalb Jahren alle Funktionen zum Schutz vor dem Ausnutzen bekannter und unbekannter Sicherheitslücken unter dem Dach des automatischen Exploit-Schutzes zusammengefasst wurden. Und das war gerade rechtzeitig. Denn damit konnten wir proaktiv eine ganze Menge zielgerichteter Attacken aufdecken, inklusive RedOctober, MiniDuke und Icefog.
Dann kam ein plötzlicher Ausbruch ungesunden Interesses an Oracles Java, doch der Exploit-Schutz war auch hier zur Stelle: Er hat das ganze ungesunde Zeug bekämpft. In den Kampf geführt hat den Exploit-Schutz das Java2SW-Modul – das extra für das Aufspüren von Angriffen über Java entwickelt wurde.
Und über dieses Modul möchte ich Ihnen heute etwas mehr erzählen.
Die Software-Landschaft in einem typischen Computer ist ein bisschen wie eine alte Patchworkdecke: Viele Flicken und genau so viele Löcher! Sicherheitslücken in Software werden regelmäßig gefunden (und je beliebter ein Programm ist, desto mehr und desto öfter werden welche darin aufgespürt), und die Hersteller der Software müssen diese schließen, indem sie Patches veröffentlichen…
…Aber Nummer 1: Software-Entwickler veröffentlichen Patches nicht sofort; manche sitzen monatelang untätig herum!
Aber Nummer 2: Die meisten Anwender vergessen (oder kümmern sich nicht darum), Patches zu installieren, und arbeiten mit der löchrigen Software weiter.
Allerdings: Die große Mehrheit der weltweiten Computer ist mit Antiviren-Software ausgestattet!
Was muss man also tun? Ganz einfach: Java2SW auf die Bühne bringen. Warum? Weil es im Java-Bereich zwei Fliegen mit einer Klappe schlägt.
Allgemein kann man sagen, dass die Java-Architektur, vom Sicherheitsstandpunkt aus betrachtet, recht fortschrittlich ist. Jedes Programm wird in einer isolierten Umgebung ausgeführt (JVM – Java Virtual Machine), und zwar unter der Aufsicht eines Security Managers. Allerdings wurde Java leider zum Opfer seiner eigenen Popularität – egal wie gut das System geschützt war, wurden dennoch bald (direkt proportional zur Beliebtheit) Sicherheitslücken gefunden.Sicherheitslücken werden früher oder später immer gefunden, und jeder Software-Entwickler muss sich darauf vorbereiten. Vor allem durch (i) die frühzeitige Entwicklung schützender Technologien, (ii) schnelle Reaktion und (iii) die Information der Anwender, wie wichtig das Installieren von Patches ist.
Mit Blick auf Java, hat Oracle in Bezug auf die eben genannten Punkte keine tolle Arbeit geleistet. Sie haben sogar so mies gearbeitet, dass Anwender en masse angefangen haben, Java von ihren Browsern zu deinstallieren – egal, wie umständlich das Öffnen bestimmter Webseiten dadurch wurde.
Urteilen Sie selbst: Die Zahl der Sicherheitslücken, die im Jahr 2010 in Java gefunden wurden, betrug52; 2011 waren es 59; 2012 waren es 60; im Jahr 2013 dann180 (und das Jahr ist noch nicht ganz vorbei)! Während die Zahl der Angriffe über diese Java-Sicherheitslücken ähnlich besorgniserregend stieg:
Doch was ist das Tolle an Java2SW und wie verhindert es Angriffe auf Java-Sicherheitslücken?
Nun, zusätzlich zum Standard-Security-Manager fügt es jeder Java Virtual Machine ein weiteres Sicherheitselement hinzu. Dies führt eine zusätzliche, unabhängige Analyse des Java-Codes durch und stoppt dessen Ausführung, wenn es darin eine verdächtige Aktivität findet.
Das ist recht kompliziert, da wir dafür direkten Zugang zur Java-Plattform erlangen müssen und sie nicht nur „einhüllen“ können. Warum? Weil Java von außen ziemlich undurchsichtig ist – im Inneren passiert etwas, aber es ist nicht klar, warum es passiert. Zum Beispiel startet Java vielleicht diesen oder jenen Prozess, doch warum es das tut, bleibt ein Rätsel! Wenn man aber einen Blickhineinwirft, ist es möglich, herauszufinden, welcher Code auf der Java-Maschine ausgeführt wird, welche Berechtigungen er hat, woher er kommt, und so weiter. Und auf Basis dieser Informationen ziehen wir unsere Schlussfolgerungen.
Dank seiner Architektur bietet Java gute Abdeckung auf verschiedenen Plattformen (Java-Programme können ohne Modifikation auf so ziemlich jedem Betriebssystem laufen). Doch mit dieser Flexibilität kommt auch der Bedarf an einer Menge grauer Zellen, die es schaffen, dafür einen Schutz zu entwickeln – denn man muss direkt ins Herz der Java-Plattform eindringen, und Herzchirurgie ist nie einfach. Man muss nicht unbedingt erwähnen, dass bei Weitem nicht in jedem Antiviren-Programm „intelligente Herzchirurgie“ zu finden ist; wobei unsere Technologie diese Aufgabe bereits meistert – und dafür auch gerade auf ein Patent wartet.
Noch etwas anderes ist toll bei Java2SW: Die Art, wie es mit anderen Subsystemen des Schutzes vor Sicherheitslücken zusammenarbeitet.
Wenn das Modul eine verdächtige Aktivität findet, schickt es die entsprechende Information an den so genannten System Watcher – diese Komponente sammelt Signale aller Antivirus-Sensoren, sieht das Gesamtbild, und leitet sachkundige (akkurate) Schritte in die Wege, um selbst die ausgefeiltesten Attacken abzuwehren.
Dadurch ist es sogar egal, wenn Javas Security Manager durch eine Attacke kompromittiert wurde (und die Cyberkriminellen attackieren den Security Manager liebend gerne)! Wir können die Attacke dennoch entdecken und blockieren.
Ist Java2SW also das Wundermittel gegen unbekannte Java-Sicherheitslücken?
Eines müssen Sie bedenken: Java2SW entdeckt keine Zero-Day-Attacken und auch keine Sicherheitslücken. Das liegt nicht in seinem Aufgabenbereich. So seltsam es erscheinen mag, die Effektivität dieses Moduls wird dadurch sogar verbessert. Java2SW enthüllt Exploits – abnormales Verhalten von Programmen; wo diese Exploits zuschlagen interessiert das Modul nicht. Es verhindert nicht, dass Löcher in der oben erwähnten, altertümlichen Patchwork-Decke aufreißen, es stoppt nur Angriffe durch diese Löcher. Deshalb sind wir damit nicht hinter bestimmten Sicherheitslücken her, sondern schützen unsere Anwender mit einem universelleren Ansatz.
Das Ergebnis?
Zum einen können wir unsere Anwender mit einem hohen Erfolgsgrad vor unbekannten Angriffen über Java-Sicherheitslücken schützen. Mit anderen Worten: Wir fügen einen Sicherheitsspielraum zu der Zeit zwischen der Entdeckung einer Sicherheitslücke und der Veröffentlichung eines passenden Patches hinzu.
Zum anderen können wir sogar Anwender schützen, die zu der Gruppe der Ignoranten gehören und Patches nicht rechtzeitig oder gar nicht installieren.