Teil von  SELFPHP
  +++ SELFPHP CronJob-Service :: Jetzt auch als Professional-Version verfügbar! +++



:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP? In über 120.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

:: Qozido ::

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.   

 
 
Analysen


Internet Security / Analysen

Der CyberHelper: Künstliche Intelligenz in der IT-Sicherheit


22.12.2010
1
Oleg Zaitsev
  

Einleitung

Lässt sich der menschliche Verstand so exakt beschreiben, dass man ihn mit Hilfe einer Maschine nachbilden kann?

In diesem Punkt gehen die Meinungen der Wissenschaftler auseinander. Entwickler, die versuchen, Künstliche Intelligenz (KI) zu schaffen, verfolgen dabei völlig unterschiedliche Ansätze. Die einen setzen auf künstliche Neuronennetze, die anderen auf Symbolmanipulation. Doch bisher hat noch kein einziger künstlicher Intellekt den Turing-Test bestanden, der fordert, dass das Denkvermögen der Maschine nicht mehr von dem Verstand eines Menschen zu unterscheiden sein darf. Ein aussichtsreiches Anwendungsgebiet für autonome KI ist die Computer-Virologie und die Remote-Desinfizierung von Computersystemen.

Die wichtigste, bisher noch ungelöste, Aufgabe auf diesem Gebiet besteht in der Schaffung einer autonomen KI. Diese künstliche Intelligenz kann dazu lernen. Sie kann selbstständig Entscheidungen treffen, bei Problemen umdenken und so das eigene Verhalten ändern. Es ist zwar möglich, ein hochspezialisiertes System zu konstruieren und eine immer komplexere universelle KI zu entwickeln. Doch bis jetzt handelt es sich dabei praktisch immer um Systeme, die menschliche Erfahrungen und Kenntnisse verwenden, die in Form lehrreicher Beispiele, Regeln und Algorithmen beschrieben werden.

Warum ist es so schwierig, eine autonome KI zu erschaffen? Weil Maschinen bisher noch nicht über menschlichen Qualitäten verfügen, wie bildliches Denken, Intuition und die Fähigkeit, selbstständig zwischen wichtig und unwichtig zu unterscheiden. Dabei fehlt ihnen etwas Fundamentales: Der Wissensdrang, der hinter der menschlichen Neugier steckt. Diese Merkmale versetzen den Menschen in die Lage, selbst in unvorhergesehenen Situationen die richtigen Entscheidungen zu treffen. Damit die KI funktioniert, muss der Mensch effektive Funktionsalgorithmen vorab programmieren. Nichts desto trotz versucht man immer wieder, sich der autonomen KI anzunähern und manchmal sind diese Versuche auch von Erfolg gekrönt.

Kosten für manuelle Arbeit in der Malware-Erkennung und -Bekämpfung

Der Prozess der Malware-Erkennung und -Bekämpfung verläuft im Wesentlichen in drei Etappen, unabhängig davon, ob ihn ein Mensch oder eine intelligente Maschine durchführt. Die erste Etappe besteht darin, objektive Daten über den zu untersuchenden Computer und die dort laufenden Programme zusammenzutragen. Optimalerweise läuft diese Untersuchung mit Hilfe schneller automatisierter Werkzeuge, die ohne menschliche Beteiligung funktionieren und Berichte in maschinenlesbarer Form erstellen.

Im zweiten Schritt werden die gesammelten Daten ausgewertet und genauer untersucht. Tauchen dort beispielsweise verdächtige Objekte auf, müssen diese isoliert einer weiteren Analyse unterzogen werden, um ihre Gefährlichkeit zu bestimmen und daraufhin das weitere Vorgehen festlegen zu können.

In der dritten Etappe findet die Desinfizierungsprozedur statt. Dafür lässt sich eine spezielle Skriptsprache einsetzen, die Befehle zur Entfernung von Schaddateien ausführt und den Rechner wieder in den Normalzustand versetzt. Noch vor wenigen Jahren wurden die Schritte zwei bis drei in der Regel praktisch manuell von den Analysten der Antiviren-Unternehmen und Experten von spezialisierten Foren durchgeführt. Doch mit der stetig wachsenden Zahl der Anwender, deren Rechner mit Schadprogrammen befallen sind und die sich hilfesuchend an die Antiviren-Unternehmen wenden, ergab sich eine Reihe von Problemen, von denen einige im Folgenden aufgeführt werden:

  • Die Analyse der empfangenen Quarantäne-Dateien ist überaus aufwändig, da der Experte zuweilen die Umstände der Entdeckung des Samples berücksichtigen muss, zum Beispiel wo es aufgetreten ist und warum es verdächtig erscheint.
  • Bei der manuellen Bearbeitung der Protokolle und Quarantäne-Dateien hat es der Virenexperte mit einer Unmenge von Informationen zu tun, die in einem ununterbrochenen Strom eintreffen und die von ihm gedanklich verarbeitet werden müssen, was den Analyseprozess wesentlich verlangsamt.
  • Den Möglichkeiten des Menschen sind natürliche psychologische Grenzen gesetzt. Jeder Experte ermüdet zwangsläufig und macht Fehler. Je umfangreicher die zu lösenden Aufgaben sind, desto höher ist die Fehler-Wahrscheinlichkeit. Ein überlasteter Virenexperte könnte so zum Beispiel einen Schädling übersehen oder umgekehrt eine legitime Anwendung löschen.

Diesen Problemen kann man mit automatisierten Bearbeitungsprozessen für die Daten entgegen treten. Die Zuhilfenahme verschiedener algorithmischer Methoden brachte allerdings nicht die gewünschten Ergebnisse. Der Hauptgrund hierfür liegt darin, dass die Malware fortwährend verbessert wird. Täglich erscheinen Dutzende neue Variationen von Schadprogrammen mit immer neuen Methoden, ins System einzudringen und sich dort zu verbergen. Deshalb ist der Erkennungsalgorithmus überaus komplex. Vor allem aber ist er sehr schnell veraltet und muss ständig aktualisiert werden. Außerdem hängt die Qualität jedes Algorithmus von der Qualifikation seiner Entwickler ab und ist daher ist immer nur so gut wie sein Autor.

Die Verwendung von Expertensystemen zur Erkennung von Viren hat sich als effektiver erwiesen, doch ihre Entwickler haben mit ähnlichen Problemen zu kämpfen. Die Effektivität der Expertensysteme hängt von der Qualität der von ihnen benutzten Regeln und Wissensdatenbanken ab. Diese Datenbanken wiederum müssen ebenfalls ständig aktualisiert werden, was menschliche Ressourcen erfordert.

Allgemeine Funktionsprinzipien des Systems CyberHelper

Die Erfahrungen auf diesem Gebiet führten dennoch schließlich zum Erfolg: Das System CyberHelper ist eine gelungene Annäherung an eine autonome KI und wurde entwickelt, um Schadprogramme wirkungsvoll zu bekämpfen. Die meisten autonomen Subsysteme von CyberHelper sind synchronisierbar, können Daten austauschen und zusammenarbeiten. Selbstverständlich gibt es auch in CyberHelper einige „feste“ Algorithmen und Regeln, aus denen auch gewöhnliche Programme bestehen. Allerdings verwenden die meisten CyberHelper-Subsysteme Fuzzy-Logik und bestimmen damit eigenständig ihr Verhalten bei der Lösung verschiedener Aufgaben.

CyberHelper basiert auf dem Tool AVZ. Dieses wurde 2004 speziell dafür entwickelt, automatisiert Informationen über einen zu untersuchenden PC sowie über Schadprogramme zu sammeln und diese Daten dann in maschinenlesbarer Form darzustellen. Das Tool erstellt Untersuchungs-Protokolle in den Formaten HTML für das Lesen durch Personen und XML für die maschinelle Analyse. Seit 2008 ist der Kernel von AVZ in die Antiviren-Produkte von Kaspersky Lab integriert.

 
Allgemeiner Funktionsalgorithmus des Systems CyberHelper (Schritte 1 bis 6)

Der Funktionsalgorithmus des Systems besteht aus sechs Schritten. Im ersten Schritt führt der AVZ-Kernel auf dem infizierten Computer eine Antiviren-Untersuchung durch und leitet die erhaltenen Ergebnisse in Form eines XML-Protokolls an andere Teile von CyberHelper zur Analyse weiter.

 
Mit dem Hilfe-Assistenten auf der CyberHelper-Webseite können Anwender
System-Probleme sehr genau spezifizieren

Das Systemanalyse-Modul wertet das empfangene Protokoll aus und berücksichtigt dabei eine Unmenge von Daten: Bereits analysierte Schadprogramme, in ähnlichen Fällen ergriffene Maßnahmen sowie alle vergleichbaren Vorkommnisse. Darin gleicht CyberHelper dem menschlichen Verstand. Damit er effektiv und produktiv funktioniert, muss er ebenfalls ständig Wissen über seine Umwelt sammeln, insbesondere in der Phase, in der er sich gerade erst ausbildet. Daher ist es für die vollwertige Entwicklung eines Kindes überaus wichtig, dass es die Welt um sich herum pausenlos erfasst und sich ständig mit anderen Menschen austauscht. Die Maschine hat diesbezüglich gegenüber dem Menschen den Vorteil, dass sie eine sehr viel größere Informationsmenge innerhalb kürzester Zeit speichern, nach Bedarf abrufen und verarbeiten kann.

 
Beispiel für ein von CyberHelper automatisch erstelltes
Desinfizierung-/Quarantäne-Protokoll

CyberHelper und der menschliche Verstand weisen noch eine weitere Gemeinsamkeit auf: beide sind in der Lage, selbstständig und praktisch ohne Vorgaben den Prozess der Protokollanalyse zu steuern und selbst unter veränderten Bedingungen ständig dazuzulernen. Die größten Schwierigkeiten beim eigenständigen Lernen von CyberHelper resultierten aus den folgenden drei Problemen:

  1. Fehler der Experten und ihre nicht auf die Maschine übertragbare Intuition
  2. Unvollständige und widersprüchliche Informationen über die Programme und
  3. Zahlreiche Berichtigungen und Verzögerungen beim Eintreffen der Daten.

Diese Punkte werden im Folgenden eingehender betrachtet.

Umsetzungsschwierigkeiten

Es können bei der Bearbeitung der in Quarantäne befindlichen Protokolle und Dateien durch Menschenhand Fehler unterlaufen. Unter Umständen führen diese Experten Aktionen durch, die für die Maschine nicht logisch erklärbar sind. Die folgende Situation ist ein typisches Beispiel dafür: Ein Experte, der in einem Protokoll eine unbekannte Datei mit der für ein Schadprogramm typischen Bezeichnung %System32%\ntos.exe entdeckt, löscht diese aufgrund seiner Erfahrungen und seiner Intuition, ohne sie zuvor in die Quarantäne zu verschieben oder sie einer näheren Analyse zu unterziehen. Die Informationen über die vom Spezialisten ergriffenen Maßnahmen und die daraus resultierenden Schlussfolgerungen dienen also nicht immer direkt der „Weiterbildung“ des Systems. Nicht selten sind auch die bearbeiteten Informationen über die Bedrohungen unvollständig oder widersprüchlich. Dazu kommt es beispielsweise, wenn ein Anwender sich zunächst selbst an der Desinfizierung des Computers versucht, bevor er sich mit seinem Problem an die Experten wendet. Er löscht dabei nur einen Teil der Malware-Komponenten und stellt die infizierten ausführbaren Dateien wieder her, säubert aber das Systemregister nicht. Das dritte typische Problem besteht schließlich darin, dass während der Analyse des Protokolls nur Metadaten der verdächtigen Objekte vorliegen und nach der Untersuchung der Quarantäne-Dateien nur die Ausgangsinformationen über die verdächtigen Objekte zur Verfügung stehen. Auf der Grundlage dieser Daten lassen sich nur erste Schlüsse ziehen, die später je nach Verfügbarkeit genauerer Analysen korrigiert werden müssen. Zudem wird jedes Objekt nach einer gewissen Zeit eindeutig klassifiziert – es wird Signatur-basiert entweder als Schadprogramm oder als „sauber“ eingestuft. Diese Information kann mit erheblicher Verzögerung eintreffen (von einigen Minuten bis hin zu mehreren Monaten) und wird unter Umständen mehrfach korrigiert. Dabei kann die Korrektur nicht nur von externen Analyse-Diensten stammen, sondern auch von den CyberHelper-Subsystemen selbst.

Hier ein typisches Beispiel: Irgendein Analyse-Modul stuft die zu untersuchende Datei als ungefährlich ein und teilt diese Beurteilung CyberHelper mit. Nach einer gewissen Zeit wird das Modul überarbeitet und die bereits untersuchten Dateien erneut analysiert, wobei einige von ihnen eine zur vorhergehenden Analyse widersprüchliche Bewertung erhalten. Ein solches Problem kann auch bei Schlussfolgerungen von Virenanalysten für Programme mit strittiger Klassifikation auftreten. Ein Beispiel sind Systeme mit Remote-Steuerung oder Tools für die verborgene Beobachtung des Users, da sich ihre Klassifikation je nach Version der zu untersuchenden Software ändern kann. Die hier beschriebene Besonderheit, nämlich die Veränderlichkeit und Zweideutigkeit der zu analysierenden Programm-Parameter, führte dazu, dass CyberHelper seine Entscheidungen auf Basis von über 50 unabhängigen Untersuchungen trifft. Die Prioritäten jeder Untersuchungsart und die Wertigkeit ihrer Resultate ändern sich im Laufe des Lernprozesses des intelligenten Systems ständig.

Auf der Grundlage der Daten, die zum aktuellen Zeitpunkt zur Verfügung stehen, entwickelt das Analyse-Modul von CyberHelper eine Reihe von Hypothesen zu der Frage, welche der im Protokoll festgehaltenen Objekte eine Gefahr darstellen könnten und welche den „sauberen“ Dateien zuzuordnen sind. Ausgehend davon erstellt AVZ automatisch Skripte, um verdächtige Objekte in Quarantäne zu stecken. Das Skript wird nun an den Anwender weitergeleitet (Schritt zwei des allgemeinen Algorithmus von CyberHelper) und auf seinem PC ausgeführt. Infolgedessen werden Dateien in die Quarantäne verschoben und weitere Untersuchungsprotokolle erstellt, die an das intelligente System weitergeleitet werden (Schritt drei).

Beim Erstellen des Skripts kann sich herausstellen, dass das intelligente System über eindeutige Daten zu den Objekten verfügt, die im Laufe der Untersuchung gefunden wurden. In diesem Fall lassen sich zum Beispiel Befehle zum Löschen bereits bekannter Schadprogramme oder zum Einleiten spezieller Prozeduren in das Skript integrieren, um bereits bekannte Schäden im System zu reparieren. Da CyberHelper gleichzeitig hunderte von Vorgängen bearbeitet, kommt es recht häufig zu solchen Situationen. Dabei gilt eine Situation als typisch, wenn mehrere Anwender um Hilfe bitten, deren Computer mit ein und demselben Schädling infiziert sind. Hat CyberHelper von nur einem dieser Anwender die angeforderten Samples erhalten und analysiert, kann es auch den übrigen Usern ein Desinfizierungsskript zur Verfügung stellen und das Quarantänestadium aufheben. Dadurch sparen die Anwender Zeit und Traffic. Die von den Usern eingeschickten Objekte durchlaufen unterschiedliche Untersuchungen, deren Ergebnisse unabhängig von den abgegebenen Bewertungen der Wissensdatenbank von CyberHelper hinzugefügt werden. Dabei steuert die KI von CyberHelper den Untersuchungsprozess. Auf diese Weise kann die intelligente Maschine die Hypothesen aus dem ersten Schritt des allgemeinen Algorithmus überprüfen und diese dann entweder bestätigen oder verwerfen.

Technische Subsysteme von CyberHelper

Die wichtigsten Subsysteme von CyberHelper sind das autonome Subsystem zur Analyse ausführbarer Dateien sowie das Subsystem zur Verhaltensanalyse ausführbarer Dateien. Sie ermöglichen es CyberHelper, selbstständig Schadprogramme zu untersuchen und auf der Grundlage der entsprechenden Untersuchungsergebnisse fortwährend dazuzulernen. Wird ein Objekt in der Analyse als eindeutig schädlich eingestuft, wird es an das Virenlabor mit dem Vermerk weitergeleitet, es umgehend den Antiviren-Datenbanken hinzuzufügen. Gleichzeitig wird für die Anwender ein Desinfizierungsskript entwickelt (Schritt fünf des allgemeinen Algorithmus des Systems). Auch wenn CyberHelper in der Lage ist, Objekte zu untersuchen, muss man berücksichtigen, dass dabei längst nicht immer eindeutige Entscheidungen möglich sind. Tritt so ein Fall ein, werden alle gesammelten Daten und alle vorläufigen Untersuchungsergebnisse an einen menschlichen Experten zur Analyse weitergeleitet (Schritt sechs des allgemeinen Algorithmus von CyberHelper). Dieser ist dann im Folgenden auch für die Desinfizierung des Computers verantwortlich. CyberHelper mischt sich in diesen Prozess nicht ein. Dennoch analysiert das System weiter die eingehenden Quarantäne-Fälle und Protokolle und erstellt Berichte für den menschlichen Experten. Auf diese Weise nimmt es ihm einen Großteil der Routinearbeit ab.

 
Bevor Anwender CyberHelper einschalten, zeigt der Assistent alle von ihnen
angegebenen Daten noch einmal übersichtlich an

Die „Politik der Nichteinmischung“ der KI in die Arbeit des Experten gilt dabei nicht immer. Es sind Dutzende von Fällen bekannt, in denen die Arbeit des Menschen dem Erfahrungsschatz und den eigenen Analyseergebnissen der intelligenten Maschine widerspricht. In diesem Fall kann sich die Maschine in den Analyseprozess einmischen und in die Beurteilung eingreifen. Das fängt an mit der Versendung von Warnmitteilungen und endet bei der Blockierung des Skript-Versands an die User, sobald CyberHelper der Ansicht ist, diese Skripte könnten den Systemen der Anwender Schaden zufügen. Nach dem gleichen Schema kontrolliert die Maschine ihr eigenes Vorgehen bei der Erstellung der Desinfizierungsskripte. Ein Subsysteme entwickelt ein Skript und ein anderes bewertet dessen Gefährlichkeit und beseitigt eventuell auftretende Fehler. Als einfaches Beispiel für einen solchen Fehler dient die folgende Situation: Ein Schadprogramm verändert wichtige Systemkomponenten. Für die Desinfizierung des Systems ist es einerseits unumgänglich, den Schädling zu beseitigen. Andererseits fügt diese Aktion dem Computer einen nicht wieder gut zu machenden Schaden zu.

 
Der Service 911 auf der Webseite VirusInfo.info steht jedermann zur Verfügung

Derzeit läuft CyberHelper erfolgreich auf dem Antiviren-Portal http://virusinfo.info und bildet zudem die Grundlage des experimentellen Systems 911 (http://virusinfo.info/911test). Im System 911 führt CyberHelper die gesamte Anfangskommunikation mit dem Anwender durch: Anfragen, deren Analyse, Erstellen des Skripts zur ersten Untersuchung sowie die Analyse dabei erhaltenen Quarantäne-Datei. Je nach Analyse-Ergebnis wird der Maschine erlaubt, die Desinfizierung des befallenen Computers durchzuführen. Darüber hinaus kontrolliert CyberHelper die Arbeit der Experten, um eventuell auftretende gefährliche Fehler zu finden und zu beheben. Das intelligente System führt zudem die Erstanalyse aller Dateien durch, die von den Experten in die Quarantäne verschoben wurden und bearbeitet die Quarantäne-Daten, um sie unter Umständen den Datenbanken der „sauberen“ Dateien hinzuzufügen. Die Funktionsprinzipien und die Technologien von CyberHelper sind durch zwei Patente von Kaspersky Lab geschützt.

Fazit

Moderne Schadprogramme funktionieren und verbreiten sich heute mit rasender Geschwindigkeit. Um so schnell wie möglich auf diese Bedrohungen reagieren zu können, muss innerhalb kürzester Zeit eine Unmenge von unterschiedlichsten Informationen verarbeitet werden. Als große Hilfe kann sich dabei eine künstliche Intelligenz erweisen, die Daten um einiges schneller verarbeiten kann als es dem menschlichen Gehirn möglich ist. Das System CyberHelper gehört zu den wenigen gelungenen Versuchen, sich einer autonomen KI anzunähern, die in der Lage ist, die Spezialisten im Kampf gegen Computer-Bedrohungen zu unterstützten. Ähnlich wie ein intelligentes Lebewesen lernt CyberHelper ständig dazu und bestimmt auch sein eigenes Vorgehen selbstständig. Virenanalysten und intelligente Maschine ergänzen sich gegenseitig, indem sie zusammen noch effizienter arbeiten und den Anwendern so einen noch zuverlässigeren Schutz vor IT-Bedrohungen bieten.

Der Artikel und Zitate daraus dürfen unter Nennung des Unternehmens Kaspersky Lab sowie des Autors frei veröffentlicht werden.

Copyright © 1996 - 2011
Kaspersky Lab
Industry-leading Antivirus Software
All rights reserved
 

 
 




:: Premium-Partner ::

Webhosting/Serverlösungen


Premium-Partner MECO Systemhaus GmbH & Co. KG
Premium-Partner PSW GROUP GmbH & Co. KG
Premium-Partner BPI-Systeme
Premium-Partner Pixel X
Premium-Partner
 

:: SELFPHP Sponsoren ::


Microsoft Deutschland GmbH
twosteps.net - ...Premium-Webhosting
Sedo - Bei uns wird PHP großgeschrieben
hostfactory.ch - OptimaNet Schweiz AG
ZEND - The PHP Company
Kaspersky Labs
HighText iBusiness
SELFPHP Sponsoren
 

Qozido


© 2001-2011 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt