DE112012002106T5 - Vorausschauendes Malware Scannen - Google Patents

Vorausschauendes Malware Scannen Download PDF

Info

Publication number
DE112012002106T5
DE112012002106T5 DE112012002106.1T DE112012002106T DE112012002106T5 DE 112012002106 T5 DE112012002106 T5 DE 112012002106T5 DE 112012002106 T DE112012002106 T DE 112012002106T DE 112012002106 T5 DE112012002106 T5 DE 112012002106T5
Authority
DE
Germany
Prior art keywords
files
application
scanning
groups
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112012002106.1T
Other languages
English (en)
Other versions
DE112012002106B4 (de
Inventor
Pavel Turbin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WithSecure Oyj
Original Assignee
F Secure Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by F Secure Oyj filed Critical F Secure Oyj
Publication of DE112012002106T5 publication Critical patent/DE112012002106T5/de
Application granted granted Critical
Publication of DE112012002106B4 publication Critical patent/DE112012002106B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Scannen nach Malware während der Ausführung einer Anwendung auf einem Computer-System bereitgestellt. Das Verfahren umfasst das Erfassen von Zugriffen durch die Anwendung auf Dateien in einem gemeinsamen Verzeichnis, das Verwenden der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien in dem gemeinsamen Verzeichnis, auf die die Anwendung nachfolgend zugreifen möchte, und die eine oder mehreren Gruppen von Dateien auf Malware zu scannen, bevor die Anwendung versucht, auf Dateien der Gruppe oder Gruppen zuzugreifen.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zur Durchführung von Malware-Scans. Insbesondere bezieht sich die vorliegende Erfindung auf ein Verfahren und eine Vorrichtung zum Optimieren der Leistungsfähigkeit eines Computersystems, die Malware-Scans an einer Gruppe von Dateien durchführt.
  • Hintergrund
  • Malware ist die Abkürzung für bösartige Software und wird als Begriff verwendet für jede Art von Software, die dazu ausgelegt ist, ein Computersystem ohne Zustimmung des Benutzers zu infiltrieren und dort Schaden anzurichten. Zu Malware gehören Computerviren, Würmer, Trojaner, Rootkits, Adware, Spyware und andere schädliche oder unerwünschte Software.
  • Viele Endanwender benutzen Antivirus-Software zur Erkennung und gegebenenfalls Entfernung von Malware. Um eine Malware-Datei zu erkennen, muss die Antivirus-Software im Stande sein, diese unter all den anderen auf einem Gerät vorhandenen Dateien zu identifizieren. Typischerweise muß dazu die Antivirus-Software eine Datenbank mit ”Signaturen” oder ”Fingerabdrücken” besitzen, die für einzelne Malware-Programmdateien charakteristisch sind. Wenn der Anbieter der Antivirus-Software eine neue Malware-Bedrohung identifiziert, wird die Bedrohung analysiert und ihre Signatur erzeugt. Die Malware ist dann ”bekannt” und ihre Signatur kann an Benutzer für Updates der Software-Datenbanken ihrer lokalen Antivirus-Programme ausgegeben werden.
  • Antivirus-Software ermöglicht normalerweise On-Demand Scannen von Dateien, wobei der Benutzer eines Computersystems bestimmt, wann die Dateien auf dem Computer-System auf das Vorhandensein von Malware gescannt werden sollen. Beim On-Demand Scannen kann der Benutzer den Scan-Vorgang manuell aktivieren, oder er kann den Scan-Vorgang so konfigurieren, daß dieser unter bestimmten Umständen startet. Zum Beispiel könnte der Benutzer die Antivirus-Software so konfigurieren, daß bestimmte Ordner oder Verzeichnisse (diese Begriffe werden hier austauschbar verwendet) wöchentlich gescannt werden, während alle Dateien auf einem Computer-System einmal im Monat gescannt werden. Darüber hinaus kann die Antivirus-Software auch Echtzeit-Schutz vor Malware bieten, indem On-Access Scans ausgeführt werden.
  • Beim On-Access Scannen wird ein Computersystem auf das Vorhandensein von Malware überwacht, indem Dateien automatisch im Hintergrund gescannt werden, sobald ein Zugang auf Dateien durch eine oder mehrere auf dem Computer ablaufende Anwendungen erfasst wird. Die häufigste Dateizugriffsmethode ist ein schreibgeschützter Zugriff beim Öffnen einer Datei. Diese Art des Zugriffs ist üblich bei Operationen auf mehrere Dateien, zum Beispiel Suchen nach/in Dateien, während des Startup und der Ausführung einer Anwendung, das Kopieren von Dateien von einem Ordner zu einem anderen Ordner (Verzeichnis zu Verzeichnis), Komprimierung von Dateien, usw. Die folgenden Beispiele veranschaulichen einige dieser bekannten Operationen.
  • Beispiel 1, der Befehl Kopieren:
    Figure DE112012002106T5_0002
    Dieser Befehl (Anwendung) kann durch den folgenden Pseudocode dargestellt werden:
    Figure DE112012002106T5_0003
  • Der Befehl Kopieren erzeugt einen kontinuierlichen und sequentiellen schreibgeschützten Zugriff für alle Quelldateien.
  • Beispiel 2, eine mit vielen Modul-Dateien ausführte Anwendung:
    Es wird davon ausgegangen, daß die Anwendung aus einer einzigen ausführbaren Datei (.EXE) und einer Anzahl von Modulen, z. B. dynamisch verknüpfte Bibliotheken (.DLL) besteht. Wenn ein Benutzer die Anwendung startet, lädt die Anwendung die erforderlichen Bibliotheken und startet dann. Dieser Vorgang kann durch den folgenden Pseudocode dargestellt werden:
    Figure DE112012002106T5_0004
  • Die Anwendung erzeugt kontinuierliche und sequentielle schreibgeschützte Dateiöffnungszugriffe für die Quelldateien in der Anwendung bzw. entsprechende Modul-Verzeichnisse.
  • Ähnliche Strukturen für einen kontinuierlichen und sequentiellen schreibgeschützten Dateiöffnungszugriff auf mehrere Dateien in einem bestimmten Verzeichnis können in andere Befehlen oder Anwendungen gefunden werden, z. B. bei der Suche nach einer Struktur in einer Sammlung von Dateien (GREP.EXE oder findstr.exe), Berechnung einer Hash über Dateien (md5.exe), Verpacken von Dateien in einen Behälter (rar.exe oder winzip.exe) und so weiter.
  • 1 zeigt eine herkömmliche Wechselwirkung zwischen einer Anwendung und Antivirus-Software, wenn die Anwendung ein schreibgeschützter Dateiöffnungszugriff auf mehrere Dateien ist. Die Antivirus-Software führt On-Access Scannen der Dateien während dieser Operation nur aus, wenn dieser Zugriff auf die Dateien durch die Anwendung erkannt wird.
  • Insbesondere dann, wenn die Anwendung eine Datei zu öffnen versucht, wird die Anfrage zum Öffnen durch einen Filter abgefangen, der eine Scan-Anfrage zur Benutzung durch die Antivirus-Software und die Anwendung daran hindert, die Datei zu öffnen und zu benutzen. Nach Erhalt der Scan-Anfrage scannt die Antivirus-Software die Datei und erzeugt in der üblichen Weise ein Ergebnis. Abhängig vom Ergebnis wird Zugang zur Datei an die Anwendung zu deren Verwendung zurückgegeben, beispielsweise Lesen, Kopieren oder Ausführen der Datei. Wenn die Anwendung jedoch auf mehrere Dateien zugreifen muß, wird diese Operation in Folge für jeden nachfolgenden Dateizugriff von der Anwendung wiederholt, wie in 1 dargestellt.
  • Dies ist ein sehr langsamer und mühsamer Prozess, der sich nachteilig auf die Leistungsfähigkeit der Anwendung und des Computer-Systems auswirkt.
  • Die meisten modernen Computer-Systeme sind jetzt für Multitasking optimiert. Eine typische CPU schließt oft auch Multi-Core-(multi-threaded)Unterstützung ein, wodurch Anwendungsaufgaben effektiv scheinbar gleichzeitig ausgeführt werden können. Ein Thread der Ausführung (Thread) ist als kleinste Verarbeitungseinheit definiert (z. B. eine Aufgabe oder Teil einer Aufgabe), die von einem Betriebssystem geplant werden kann. Multi-threading betrifft eine Anwendung mit mehreren auszuführenden Threads, wobei die Threads durch ein Betriebssystem zur gleichen Zeit ausgeführt werden sollen. Der INTELTM Artikel ”Predicting und Messung Parallel Performance”, vom 9. März 2010, abrufbar unter http://software.intel.com/en-us/articles/predicting-and-measuring-parallel-performance/, beschreibt die Entwicklung von parallelisierter Software durch Multi-Threading-Anwendungen, wodurch ein vorgegebener Datensatz in kürzerer Zeit verarbeitet werden kann oder mehrere Datensätze in einer festgesetzten Zeit verarbeitet werden können.
  • Ein einzelner Prozessor kann Multi-threading durchführen, indem die auszuführenden Threads im Zeitmultiplexverfahren behandelt werden (d. h. Multi-Tasking), wobei der Prozessor Kontext zwischen verschiedenen Threads schaltet. Dieses Kontext-Schalten geschieht so häufig, daß dem Benutzer die Ausführung der Threads oder Aufgaben als gleichzeitig oder parallel erscheint. Auf einem Multiprozessor- oder Multi-Core-System werden einige der Threads oder Aufgaben tatsächlich gleichzeitig ausgeführt (abhängig von der Anzahl der Prozessoren), wobei jeder Prozessor oder Core einen bestimmten Thread oder eine bestimmte Aufgabe ausführt. Zur Erzielung maximaler Leistungsfähigkeit sollten Anwendungen bei der Ausführung auf dem Computer-System ihre komplexen Gleichungen oder Aufgaben zu parallelisieren versuchen.
  • Mehrere Dateien können gleichzeitig auf Malware mit Antivirus-Software parallel gescannt werden, indem geplant wird, den Scanvorgang jeder der Dateien gleichzeitig von einem oder mehreren Threads ausgeführt wird. Wie oben erwähnt, steuert das Betriebssystem die Ausführung der Threads auf einem Multi-Tasking- bzw. Multi-Core-Computersystem. Parallele Scans von mehreren Dateien können zur Erhöhung der Leistungsfähigkeit des Computersystems in einer Scan-Warteschlange durchgeführt werden. Die Leistungsfähigkeit des parallelen Scannens für Malware-Scannen kann durch Queuing der aufgerufenen Dateien ausgenutzt werden. Solche Scanvorgänge können mit asynchronen Scanvorgängen beim Schließen durchgeführt werden. Solche parallelen On-Access Scanvorgänge von mehreren Dateien auf Malware während eines schreibgeschützten Dateiöffnungszugangs durch eine Anwendung sind jedoch selbst mit der Multi-Core-Unterstützung problematisch. Queuing von Dateien für eine spätere parallele oder Batch-Scanvorgänge ist keine Option für Anwendungen, die einen schreibgeschützten Dateiöffnungszugang erfordern. Diese Art der Dateizugriff erfordert eine sofortige synchrone Antwort von der Antivirus-Software, damit die Anwendung so schnell wie möglich ablaufen kann. Scan-Anfragen vom Filter-Treiber zum Antivirus Programm können nicht für eine zukünftige Gruppenverarbeitung eingereiht werden, da die Antivirus-Software die nächste von einer Anwendung benötigte Datei nicht kennt.
  • Anwendungen können beliebige, mehrfache sequentielle, schreibgeschützte Dateiöffnungsanfragen generieren, wobei die typische Antivirus Scan-Logik fordert, daß jede schreibgeschützte Dateiöffnungsanfrage ein Scan-Ereignis oder eine Anfrage für diese Datei auslöst. Durch die sequentielle Art des Dateizugriffs kann die Scan-Logik nicht feststellen, auf welche Dateien die Anwendung anschließend zugreifen wird. Damit ist die Antivirus-Software nicht imstande, die Vorteile des Batch- oder parallelen Scannens von mehreren Dateien auf modernen Computer-Systemen auszunutzen. Dies bedeutet, daß die Anwendung vor dem Start entweder warten muss, bis alle Dateien nach Malware gescannt sind, oder während der Ausführung unterbrochen wird, während auf jede Datei zugegriffen wird und diese gescannt ist. Beide Szenarien verschlechtern die Leistungsfähigkeit der Anwendung und des Computersystems deutlich.
  • Die synchrone Prozess des On-Access Scannens blockiert eine Anwendung von Anfang an oder unterbricht die Ausführung der Anwendung bis ein Malware-Scan für alle Dateien oder für jede Datei abgeschlossen ist. Als solche verhindert die Antivirus-Software ein Voranschreiten der Ausführung der Anwendung, und verlangsamt das Tempo, mit dem sie ihre Aufgaben erledigen kann. Dies beeinflusst die Leistungsfähigkeit des Computersystems.
  • Zusammenfassung
  • Es ist deshalb eine Aufgabe der vorliegenden Erfindung, ein Verfahren zum Durchführen von Malware-Scans anzugeben, wodurch Verzögerungen durch Scannen während der Ausführung von Anwendungen auf einem Computer-System minimiert werden, also die Leistungsfähigkeit des Computersystems optimiert werden kann.
  • Gemäß einem ersten Aspekt der Erfindung wird ein Verfahren zum Scannen zur Erkennung von Malware während der Ausführung einer Anwendung auf einem Computersystem angegeben, wobei das Verfahren Zugriffe durch die Anwendung auf Dateien in einem gemeinsamen Verzeichnis erfasst, die erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien in einem gemeinsamen Verzeichnis verwendet, auf die die Anwendung anschließend zugreifen könnte, und die eine oder mehrere Gruppen von Dateien auf Malware scannt, bevor die Anwendung versucht, auf Dateien der Gruppe oder Gruppen zuzugreifen.
  • Ausführungsformen der Erfindung sehen vor, daß Antivirus-Software eine Gruppe der Mehrzahl von Dateien scannen kann, ohne die Ausführung der Anwendung vor der Verwendung einer oder mehrerer Dateien in der Gruppe vollständig blockieren zu müssen.
  • Optional kann ferner die Gruppe oder Gruppen von Dateien auf Basis von Dateitypen der Dateien, auf die die Anwendung zugegriffen hat, ausgewählt werden. Das Auswählen der Dateien beinhaltet vorzugsweise eine Abgleichung der Dateitypen der von der Anwendung abgerufenen Dateien mit den Dateitypen der Dateien innerhalb des gemeinsamen Verzeichnisses. Vorzugsweise sind die Dateien innerhalb der Gruppe oder Gruppen von Dateien solche Dateien, die Scannen erfordern. Das Verfahren umfasst ferner optional die Identifizierung einer oder mehrerer Gruppen von Dateien, indem die aktuelle von der Anwendung abgerufene Datei zu der Gruppe von Dateien zum Scannen hinzugefügt wird, wenn die aktuelle Datei Scannen erfordert.
  • Das Verfahren umfasst optional bei Verwendung der erfassten Zugriffe den Schritt der Bestimmung der Anzahl der erkannten Zugriffe innerhalb des gemeinsamen Verzeichnisses und auf Basis der Ergebnisse den Schritt des Scannens einer oder mehrerer Gruppen auszulösen. Der Schritt des Scannens wird vorzugsweise ausgelöst, wenn die Anzahl der erkannten Zugriffe einen vorbestimmten Schwellenwert erreicht. Gegebenenfalls umfasst die Verwendung der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien den Schritt, die aktuelle Datei, deren Zugriff durch die Anwendung erfasst wurde, zu einer Gruppe von Dateien hinzuzufügen, wenn der Schritt des Scannens ausgelöst wird. Optional umfasst die Bestimmung der Anzahl der erkannten Zugriffe den Schritt des Zurücksetzens der Anzahl der erkannten Zugriffe, wenn ein erster Zeitraum abgelaufen ist und der Schritt des Scannens nicht ausgelöst wurde. Optional umfasst das Verfahren den Schritt, Scannen einer Gruppe oder von Gruppen zu beenden, wenn ein zweiter Zeitraum nach dem der Schritt des Scannens verstrichen ist.
  • Das Verfahren schließt optional den Schritt ein, den Schritt der Erkennung von Zugriffen zur Identifizierung einer oder mehrerer Gruppen von Dateien zu verwenden, um eine Liste von Dateitypen der abgerufenen Dateien zu unterhalten und der Schritt der Erkennung einer oder mehreren Gruppen von Dateien umfasst den Schritt des Auswählens Dateien auf Basis der Liste der Dateitypen. Auswahl der Dateien umfasst ferner, die Liste der Dateitypen der von der Anwendung abgerufenen Dateien mit den Dateitypen von Dateien innerhalb des gemeinsamen Verzeichnisses abzugleichen.
  • Als Option umfasst der Schritt zum Erfassen von Zugriffen auf Dateien innerhalb des gemeinsamen Verzeichnisses durch die Anwendung das Empfangen einer Scan-Anfrage zum Scannen einer durch die Anwendung innerhalb des gemeinsamen Verzeichnisses abgerufenen Datei. Optional kann der Schritt zum Erfassen von Zugriffen auf Dateien innerhalb des gemeinsamen Verzeichnisses durch die Anwendung ein Erfassen der Dateizugriffs durch die Anwendung und Erzeugung einer Scan-Anfrage zum Scannen, falls Scannen erforderlich ist, umfassen.
  • Gemäß eines zweiten Aspekts der vorliegenden Erfindung wird ein Computerprogramm zum Scannen nach Malware während der Ausführung einer Anwendung auf einem Computer-System zur Verfügung gestellt, wobei das Computerprogramm Computerprogramm-Codemittel umfasst, die zur Durchführung der folgenden Schritte eingerichtet sind:
    Erfassen von Zugriffen durch die Anwendung auf Dateien in einem gemeinsamen Verzeichnis;
    Verwendung der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien innerhalb des gemeinsamen Verzeichnis, auf welche die Anwendung nachträglich zugreifen möchte, und
    Anweisung an einen Malware-Scanners, die eine oder mehrere Gruppen von Dateien auf Malware zu scannen, bevor die Anwendung versucht, auf die Dateien der Gruppe oder Gruppen zuzugreifen.
  • Das Computerprogrammprodukt kann ferner Computerprogrammcodemittel umfassen, die geeignet sind, das Scannen der einen oder der mehreren Gruppen von Dateien auf Malware durchzuführen.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein auf einem computerlesbaren Medium verkörpertes Computerprogramm der vorgenannten Art bereitgestellt.
  • Gemäß einem vierten Aspekt der Erfindung wird ein Computersystem bereitgestellt, das eingerichtet ist, Dateien während der Ausführung einer Anwendung auf einem Prozessor auf Malware zu scannen, wobei das Computersystem eine Erfassungseinheit zum Erfassen von Zugriffen durch die Anwendung auf Dateien in einem gemeinsamen Verzeichnis umfasst, und die erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien innerhalb des gemeinsamen Verzeichnis zu verwenden, auf die die Anwendung nachträglich zugreifen möchte, und eine Scanner-Einheit anzuweisen, eine oder mehrere Gruppen von Dateien auf Malware zu scannen, bevor die Anwendung versucht, auf Dateien der Gruppe oder Gruppen zuzugreifen. Das Computersystem kann außerdem eine Scanner-Einheit zur Durchführung der Scans der einen oder mehreren Gruppen von Dateien umfassen.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Diagramm, das ein bekanntes Verfahren zur Durchführung von On-Access Malware-Scannen zeigt;
  • 2 zeigt schematisch ein Computersystem gemäß Ausführungsbeispielen der vorliegenden Erfindung;
  • 3 ist ein Diagramm zur Illustration eines Prozesses der Durchführung von On-Access Malware-Scannen gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 4 ist ein Flussdiagramm zur Illustration eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 5 zeigt eine Verzeichnis-Zugangstabelle für die Verwendung bei der Aktualisierung und Pflege von von Anwendungen abgerufenen Verzeichnissen gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 6 ist ein Flussdiagramm zur Illustration eines Verfahrens zur Durchführung von On-Access Malware-Scannen für eine Anwendung, die auf Dateien gemäß einer Ausführungsform der vorliegenden Erfindung zugreift;
  • 7 ist ein Flussdiagramm zur Illustration eines Verfahrens zur Durchführung von On-Access Malware-Scannen für eine Anwendung, die auf Dateien gemäß einer anderen Ausführungsform der vorliegenden Erfindung zugreift.
  • Ausführliche Beschreibung
  • Für eine zumindest teilweise Überwindung der oben beschriebenen Probleme wird hier vorgeschlagen, die Leistungsfähigkeit eines Computersystems durch Ausführen von Batch- oder parallelen On-Access Malware-Scans an mehreren Dateien, bevor eine Anwendung auf eine der mehrere Dateien zugreift, zu verbessern. Dies bedeutet, daß die Ausführung der Anwendung nicht vollständig durch nachfolgende Dateizugriffe blockiert wird. Wie zuvor beschrieben, ist unter Batch- oder parallelen Scans die Planung von zeitgleichen Scans einer Gruppe von Dateien durch ein Computersystem zu verstehen, beispielsweise die Planung von mehreren gleichzeitigen Scans von Threads, einem Thread für jede Datei in der Gruppe, zur Ausführung auf dem Computer-System.
  • Diese Art des Scannens wird erreicht durch Erfassen von Zugriffen durch die Anwendung auf Dateien in einem gemeinsamen Verzeichnis unter Verwendung der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien innerhalb des gemeinsamen Verzeichnisses, auf die die Anwendung später zugreifen möchte, sowie Scannen einer oder mehrerer dieser Gruppen von Dateien auf Malware, bevor die Anwendung versucht, auf Dateien dieser Gruppe oder Gruppen zuzugreifen. Nach dem Scannen einer Gruppe von Dateien kann eine nachfolgende Gruppe von Dateien identifiziert bzw. gescannt werden.
  • Mit der Durchführung von Batch- oder parallelen Scans einer Gruppe von von der Anwendung möglicherweise verwendeten Dateien werden die Chancen minimiert, daß die Anwendung von einem Malware-Scan blockiert oder dauernd unterbrochen wird, da die Anwendung auf diejenigen gescannten Dateien in der Gruppe zuzugreifen kann, die nicht gescannt werden müssen. In der Tat, wenn die richtige Gruppe von Dateien für jeden Scan identifiziert wird, gibt es lediglich eine Verzögerung von einem einzigen Datei-Scan, so daß die Ausführung der Anwendung nicht durch weitere Malware blockiert werden sollte, wenn die Anwendung auf die gescannten Dateien zugreift. Diese Art von Batch- oder parallelem Malware-Scannen minimiert die die durch On-Access Malware-Scannen verursachte Verzögerung, so daß somit die Leistungsfähigkeit des Computersystems optimiert werden kann.
  • 2 veranschaulicht schematisch ein Computersystem 1 sowie ein entferntes Computer-System 12 gemäß den Ausführungsbeispielen der vorliegenden Erfindung. Das Computersystem 1 kann als eine Kombination von Hardware und Software implementiert werden. Das Computersystem 1 weist ein Speicher 2, ein Cache 3, einen Prozessor 4 und einen Sender-Empfänger 5 auf. Der Speicher 2 speichert alle für das Computer-System 1 erforderlichen Dateien. Die im Speicher 2 gespeicherten Dateien umfassen die verschiedenen im Prozessor 4 vorgesehenen Programme/ausführbare Dateien, sowie alle Datendateien 6. Die im Speicher 2 gespeicherten und durch den Prozessor 4 ausführbaren Anwendungen/Programme/Dateien umfassen eine Erfassungseinheit 7 und eine Malware-Scanner-Einheit 8, von denen jede eine Sub-Einheit einer Antivirus-Einheit 9 sein kann, die lokal Antivirus-Software ausführen kann, sowie das Dateisystem 10 und andere Programme/Anwendungen 11. Die im Speicher 2 gespeicherten Datendateien 6 können Anwendungsdaten-Dateien, Verzeichnis-Zugangstabellen gemäß der vorliegenden Definition, Malware-Definitionsdateien, Dateien mit heuristischen Analyse Regeln, weiße Listen, schwarze Listen, usw. umfassen. Der Cache 3 stellt eine temporäre Speichereinheit zum Speichern Daten, die von der Malware-Scanner-Einheit 8 gescannt werden soll. Der Sender-Empfänger 5 kann für die Kommunikation mit einem entfernten Computer-System 12 über das Internet/LAN oder Netzwerk 13 verwendet werden. Das entfernte Computer-System 12 kann Datenspeicherung und Anwendungsdienste für das Computersystem 1 anbieten; z. B. kann ein entferntes Computer-System 12 ein Anwendungsserver sein, der Software als Service-Anwendungen (SaaS) für den Benutzer des Computersystems 1 bereitstellt.
  • Das entfernte Computer-System 12 wird typischerweise von einem Anbieter von verschiedenen Anwendungen betrieben, die auf dem entfernten System 12 ausgeführt werden, und durch den Benutzer des Computersystems 1 aus der Ferne verwendet werden. Der entfernte Computer 12 kann wie für das Computersystem 1 als eine Kombination von Hardware und Software umgesetzt werden. Der entfernte Computer 12 umfasst einen Speicher 14, einen Prozessor 15 und einen Sender-Empfänger 16. Wie für das Computersystem 1 kann der Speicher 14 Dateien speichern, die verschiedene Anwendungen/Programme/ausführbare Dateien umfassen und von dem Prozessor 15 umgesetzt werden, sowie beliebige Dateien 16. Die in dem Speicher 14 gespeicherten und durch den Prozessor 15 umgesetzten Anwendungen/Programme/ausführbaren Dateien umfassen auch eine Erfassungseinheit 18 und eine Malware-Scanner-Einheit 19, von denen jede eine Sub-Einheit einer Antivirus-Einheit 20 sein kann, die Antivirus-Software lokal auf dem entfernten System 12 ausführt. Der Sender-Empfänger 16 dient zur Kommunikation mit dem Computersystem 1 über das Netzwerk 13.
  • Während des Betriebs kann der Benutzer des Computers 1 Anwendungen lokal oder auf dem entfernten Computersystem 12 ausführen. Mit der Malware-Scanner-Einheit 8 des Computersystems 1 können im Speicher 14 gespeicherte und von lokalen Anwendungen abgerufene lokale Dateien auf Malware 2 gescannt werden. Mit der Malware-Scanner-Einheit 19 des entfernten Systems 12 können von Anwendungen des entfernten Systems 12 im Speicher 14 abgerufenen Dateien auf Malware gescannt werden. Die Verfahren zum Scannen von Dateien in jedem dieser Systeme können gemäß der vorliegenden Erfindung durchgeführt werden. Die hier beschriebenen Ausführungsformen der Erfindung können vorteilhafterweise in eigenständigen oder vernetzten oder verteilten Computersystemen ausgeführt werden, wo die Dateien und Anwendungen entfernt gespeichert und ausgeführt werden.
  • Insbesondere sind die Computersysteme 1 oder 12 zum Scannen von Dateien auf Malware während der Ausführung einer Anwendung oder Anwendungen auf einem der Prozessoren 4 bzw. 15 eingerichtet. Die Computersysteme 1 oder 12 beinhalten Erfassungseinheiten 7 bzw. 18 zur Erfassung von Zugriffen durch die Anwendung auf Dateien in einem gemeinsamen Verzeichnis, und zur Verwendung der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien innerhalb des gemeinsamen Verzeichnis, auf die die Anwendung nachträglich zugreifen möchte, und zur Anweisung an die Abtasteinheiten 8 bzw. 19, diese eine oder mehrere Gruppen von Dateien auf Malware zu scannen, bevor der Anwendung versucht, auf Dateien der Gruppe oder Gruppen zuzugreifen. Wie dargestellt, umfassen die Computersysteme 1 oder 12 bereits Scanner-Einheiten 8 oder 19 zur Abtastung der einen oder mehreren Gruppen von Dateien auf Basis der Anweisungen von den Erfassungseinheiten 7 bzw. 18. Es versteht sich, daß obwohl die Scanner-Einheiten 8 oder 19 innerhalb von Antivirus-Einheiten 9 bzw. 20 implementiert sind, diese Scanner-Einheiten 8 oder 9 auch auf anderen Computersystemen/Server implementiert werden können, so daß die Erfassungseinheit 7 oder 18 Befehle über das Netzwerk 13 sendet, um die eine oder mehrere Gruppen von Dateien zu scannen.
  • Es versteht sich, daß Ausführungsformen der Erfindung in einem Cloud-Computer-System oder einem verteilten Computersystem eingesetzt werden können. Beispielsweise kann eine Anwendung auf dem entfernten Computer-System 12 ausgeführt werden und auf Dateien von einer nicht gezeigten entfernten Datenzentrale zugreifen, wo die Dateizugriffe in der Datenzentrale erfasst werden, während Malware-Scannen an dem entfernten Computersystem 12 durchgeführt wird. Der entfernte Computer 12 kann ”Cloud”-Scannen durchführen, um nur ein Beispiel zu nennen, über ein Netzwerk oder ein verteiltes Computersystem auf Malware zu scannen. Zur Minimierung des Overhead beim Scannen von Dateien über ein Netzwerk, d. h. Minimierung der Bandbreite kann Scannen auf die Überprüfung der in dem entfernten Rechenzentrum (Remote-Server oder Backend) gespeicherten Datei-Meta-Daten begrenzt werden. Die Meta-Daten können für jede Datei aus einem aus den Daten der Datei oder bestimmter Teile der Datei berechneten Hash (z. B. sha1) erstellt werden. Es werden nur die Meta-Daten hochgeladen und von dem entfernten Computersystem 12 gescannt, wenn dieses Zugriffe auf die Dateien durch die Anwendung eines Benutzers erkennt. Das Leitrechner-System 1 des Benutzers könnte das entfernte Computer-System 12 bezüglich der Daten der gescannten Datei abfragen und den Status auf Basis des begrenzten Überprüfungsscans (sauber, infiziert und Malware-Name) erhalten.
  • Ausführungsbeispiele der Erfindung ermöglichen paralleles Scannen (z. B. multi-threaded Scannen) auf einem Computer-System 1 oder einem entfernten Computer-System 14 für Scan-Anfragen wie schreibgeschützte file-open-Access-Scan Anfragen. Die hier beschriebenen Verfahren beruhen auf der Analyse des Verhaltens einer oder mehreren Anwendungen zum Auffinden von Abhängigkeiten, wenn eine Anwendung sequenziellen Zugriff zu mehreren Dateien in einem aktuellen vor der Anwendung zurzeit benutzten Verzeichnis, oder in einem gemeinsamen Verzeichnis erzeugt. Der Begriff gemeinsames Verzeichnis bezieht sich auf die gleiche logische Stelle im Speicher (z. B. Festplatte), wo eine oder mehrere Dateien gespeichert sind. Die Leistungsfähigkeit wird aufgrund der Tatsache optimiert, daß Anwendungen häufig auf eine Vielzahl von Dateien im gleichen Ordner oder Verzeichnis zugreifen. Falls die Antivirus-Software diese Art der Verhaltensstruktur von Anwendungen erkennt, dann kann sie vorausschauend eine Gruppe von Dateien, auf die die Anwendung nachfolgend zugreifen will, scannen. Die Antiviren-Software führt dann On-Access Scannen von Gruppen mehrerer Dateien auf Malware durch.
  • 3 veranschaulicht den Vorgang des Durchführens von Batch- oder parallelem On-Access Malware-Scannen gemäß einer Ausführungsform der vorliegenden Erfindung. Die Antivirus-Software fasst mehrere Dateien in Abhängigkeit vom Verhalten der auf die Dateien zugreifenden Anwendungen zu einer Gruppe zusammen und führt vorwärtsschauendes Scannen von Gruppen von mehreren Dateien durch. Die Ergebnisse des Scannens werden zwischengespeichert, wobei wenn die Anwendung auf die gescannte vorwärtsschauende Datei zugreift, diese eine Antwort aus dem Cache erhält, daß die Datei gescannt wurde, und kann damit zur Benutzung der Datei übergehen.
  • In der Praxis wird normales Scannen von Dateien im Benutzer-Modus implementiert und die Antivirus-Software fängt Low-Level Dateizugriffe durch die Anwendung ab und sendet eine Scan-Anfrage an den Benutzer-Modus. Dies ist eine aufwändige Operation und erfordert Kontext-Schalten (Kernel zum Benutzer-Modus und wieder zurück). Es ist ersichtlicht, da die hier beschriebenen Scan-Verfahren die Rückrufe aus der Anwendung an die Antivirus-Software reduzieren, was die Leistungsfähigkeit erheblich verbessert. Zum Beispiel hat die Antivirus-Software einen Kernel-Filter-Treiber, der Anwendungen abfängt, die auf Dateien zuzugreifen versuchen oder diese zu öffnen versuchen. Der Kernel-Filter-Treiber sendet eine Anfrage an den Benutzer-Modus, um einen Scan der Datei, auf die eine Anwendung zuzugreifen versucht, durchzuführen. Der im Benutzer-Modus laufende Scan-Dienst führt einen tatsächlichen Malware-Scan an der Datei aus und meldet dem Kernel-Filter-Treiber die Ergebnisse und den Status des Scans. Basierend auf diesen Ergebnissen erlaubt oder verweigert der Kernel-Filter-Treiber der Anwendung Zugriff auf die Datei.
  • 3 zeigt nun daß, wenn die Anwendung die Datei mit dem Namen Datei1 öffnet, die Antivirus-Software die Anfrage der Anwendung abfängt, die Datei1 zu öffnen. Hat die Antivirus-Software auf Basis des Verhalten der Anwendung festgestellt, daß Batch- oder paralleles Scannen notwendig ist, führt sie Batch- oder paralleles Scannen an einer Gruppe von Dateien durch, die die angeforderten Datei enthalten kann (z. B. Datei1, Datei2 und Datei3). Sobald Datei1, Datei2 und Datei3 gescannt sind, werden die Ergebnisse zwischengespeichert und die Anwendung kann damit beginnen, die Datei1 ganz normal zu öffnen und zu verwenden. Da die Datei2 und Datei3 ebenfalls gescannt wurden, wenn die Anwendung diese Dateien öffnet, erhält diese eine Antwort aus dem Cache, daß die Anwendung die Datei2 und Datei3 sofort öffnen und verwenden kann (abhängig von der Antwort). In diesem Beispiel ermöglicht Batch- oder paralleles Scannen der Gruppe von Dateien der Anwendung eine Ausführung ohne weitere Unterbrechung.
  • Obwohl Batch- oder paralleles Scannen einer Gruppe von Dateien die Gesamtleistung einer Anwendung oder Anwendungen, die auf einem Computersystem ablaufen, erheblich verbessern kann, wird die Leistungsfähigkeit dadurch erheblich verbessert, daß die Gruppe der gescannten Dateien nur die von der Anwendung/den Anwendungen benötigten Dateien enthält. Scannen von Dateien, die nicht von einer Anwendung verwendet werden, kann sich nachteilig auf die Leistungsfähigkeit auswirken, sofern die Datei nicht von einer anderen Anwendung verwendet wird. Scannt die Antivirus-Software vorausschauend zu viele Dateien, auf die nicht von irgendeiner Anwendung zugegriffen wird, dann wird dadurch die Gesamtleistungsfähigkeit reduziert, da die Computer Ressourcen für das Scannen unnötiger Dateien eingesetzt werden. Die folgenden Ausführungsbeispiele der vorliegenden Erfindung beschreiben Verfahren zur Minimierung von unnötigem Scannen von Dateien, wodurch die Leistungsfähigkeit der Anwendungen(en) und des Computersystems maximiert wird.
  • 4 ist ein Flussdiagramm zur Illustration des Verfahrens zum Scannen auf Malware während der Ausführung einer oder mehrerer Anwendungen auf einem Computer-System gemäß einer Ausführungsform der vorliegenden Erfindung. Die von einer Scanner-Einheit oder Antivirus-Software für jede Anwendung, die auf Dateien in einem gemeinsamen Verzeichnis zugreift, ausgeführten Prozesse werden im Folgenden beschrieben:
    • A1. Erkennen von Zugriffen durch die Anwendung auf Dateien in einem gemeinsamen Verzeichnis.
    • A2. Verwendung der erkannten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien innerhalb des gemeinsamen Verzeichnis, auf die die Anwendung später zugreifen möchte.
    • A3. Scannen dieser einen oder mehreren Gruppen von Dateien auf Malware, bevor die Anwendung versucht, auf Dateien aus der Gruppe oder Gruppen zuzugreifen.
  • Beim Schritt A1 kann das Erfassen von Zugriffen durch die Anwendung auf Dateien innerhalb des gemeinsamen Verzeichnisses den Empfang einer Scan-Anfrage zum Scannen einer durch die Anwendung abgerufenen Datei (die aktuelle abgerufene Datei) innerhalb des gemeinsamen Verzeichnis umfassen. Das Erfassen des Datei-Zugriffs durch die Anwendung kann auch das Abfangen des von der Anwendung gemachten Dateizugriffs und das Erzeugen und Senden der Scan-Anfrage an die Antivirus-Software umfassen, wenn Scannen erforderlich ist.
  • Beim Schritt A2 kann die Verwendung der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien den Schritt umfassen, die Gruppe oder Gruppen von Dateien auf Basis von Dateitypen der von der Anwendung abgerufenen Dateien auszuwählen. In diesem Fall können solche Dateien ausgewählt werden, wo die Dateitypen der von der Anwendung abgerufenen Dateien den Dateitypen von Dateien innerhalb des gemeinsamen Verzeichnis entsprechen. Darüber hinaus können die Dateien innerhalb der Gruppe oder Gruppen von Dateien aus den Dateien innerhalb des gemeinsamen Verzeichnisses, die Scannen erfordern, ausgewählt werden. Die aktuelle Datei, auf die die Anwendung gegenwärtig zugreift, kann zu der Gruppe von Dateien für das Scannen hinzugefügt werden, falls die aktuelle Datei Scannen erfordert.
  • Um die erfassten Zugriffe zu verwenden und Scannen der Gruppe oder Gruppen von Dateien auszulösen, kann der Schritt A2 umfassen, die Anzahl der erkannten Zugriffe innerhalb des gemeinsamen Verzeichnisses zu bestimmen und auf Basis der Ergebnisse den Schritt des Scannens der einen oder mehreren Gruppen auszulösen. Scannen kann ausgelöst werden, wenn die Anzahl der erkannten Zugriffe einen Schwellenwert erreicht, N. Dieser Schwellenwert kann ein vorbestimmter Schwellenwert sein, oder ein durch die Antivirus-Software bestimmter dynamischer Schwellenwert sowie dessen beobachtetes Verhalten einer oder mehrerer Anwendungen, die auf Dateien in dem gemeinsamen Verzeichnis zugreifen. Die aktuelle Datei, deren bevorstehender Abruf durch eine oder mehrere Anwendungen erkannt wurde, kann zu der Gruppe von Dateien hinzugefügt werden. Dies kann erfolgen, bevor oder genau zu dem Zeitpunkt wenn der Schritt zum Scannen ausgelöst wird. Die aktuelle abgerufene Datei kann dabei derjenigen Datei entsprechen, die der empfangenen Scan-Anfrage entspricht. Die aktuelle Datei wird dann der Gruppe von Dateien zum Scannen hinzugefügt. Die Gruppe von Dateien wird auf Basis der vom Antivirus Pogramm für die aktuelle Datei empfangenen Scan-Anfrage gescannt. Um unnötiges Scannen zu vermeiden, wenn Anwendungen auf ein Verzeichnis nur selten zugreifen, kann der Schritt der Erfassung der Anzahl der Zugriffe ein Zurücksetzen der Anzahl der erkannten Zugriffe beinhalten, wenn ein erster Zeitraum abgelaufen ist, und der Scan-Schritt noch nicht ausgelöst wurde.
  • Wie nachfolgend erläutert, die Verwendung der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien kann beinhalten, eine Liste von Dateitypen der erkannten abgerufenen Dateien zu unterhalten, und der Schritt des Identifizierens einer oder mehreren Gruppen von Dateien kann den Schritt beinhalten, Dateien auf der Basis der Liste der Dateitypen auszuwählen. Das Auswählen der Dateien umfasst weiterhin, die Liste der Dateitypen der von der Anwendung abgerufenen Dateien mit den Dateitypen von Dateien innerhalb des gemeinsamen Verzeichnis abzugleichen. Die Antivirus-Software kann für jedes gemeinsame Verzeichnis eine Liste mit Dateien unterhalten, auf die eine oder mehrere Anwendungen häufig zugegriffen haben.
  • Beim Schritt A3 kann die Verwendung der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien umfassen, die Anzahl der erkannten Zugriffe zu verfolgen und auf Basis der Ergebnisse den Schritt A3 auszulösen. Schritt A3 könnte ausgelöst werden, wenn die Anzahl der erkannten Zugriffe einen vorbestimmten Schwellenwert oder einen Scan-Schwellenwert erreicht. Die Identifizierung einer oder mehreren Gruppen von Dateien für das Scannen kann umfassen, Dateien innerhalb des gemeinsamen Verzeichnisses auf Basis von Dateitypen auszuwählen, auf die die Anwendung zuvor zugegriffen hat bzw. gerade zugreift. Alternativ kann eine Auswahl von Gruppen aus einer gespeicherten Liste mit Dateitypen oder Dateinamen bestimmt werden, auf die verschiedene Anwendungen im gemeinsamen Verzeichnis zugegriffen haben. Zusätzlich kann gemäß Schritt A3 ein Scan nach Ablauf einer vorgegebenen Zeitdauer beendet werden, z. B. wenn auf das Verzeichnis zwar häufig zugegriffen wurde, jedoch nicht seit einer gewissen Zeit, so daß Beenden des Scannen des Verzeichnisses gerechtfertigt ist, in welchem Fall das Scannen der einen oder mehreren Gruppen von Dateien beendet werden könnte, um eine unnötige Bearbeitung zu vermeiden. Dies kann auftreten, wenn eine zweite Zeitperiode verstrichen ist, nachdem der Scan-Schritt ausgelöst wurde.
  • Durch eine Verfolgung der Anzahl der erkannten Zugriffe (oder Trefferzahl) auf das gemeinsame Verzeichnis kann ermittelt werden, ob Anwendungen aktiv sind, die auf das Verzeichnis zugreifen. Falls das Verzeichnis eine ausreichend hohe ”Trefferzahl” aufweist, da auf dieses während eines kurzen Zeitraums zugegriffen wurde, dann kann für anschließende Dateizugriffe in dem Verzeichnis die Antivirus-Software gleichzeitig ein aus gängigen Scan-Dateitypen oder aus dem abgerufenen Datei-Typ und der aktuellen abgerufenen Datei ausgewählten Batch von Dateien scannen. Wie bereits erwähnt, kann gleichzeitiges Scannen dadurch erreicht werden, daß gleichzeitig mehrere Scan-Threads zum Scannen der Dateien geplant werden, d. h. paralleles oder Batch-Scannen. Scannen wird ausgelöst, sobald die Anzahl der erkannten Zugriffe einen Schwellenwert erreicht.
  • Scannen einer Gruppe von Dateien kann durchgeführt werden, wenn festgestellt wird, daß die aktuelle von einer Anwendung abgerufene Datei eine nicht gescannte Datei ist.
  • In diesem Fall wird der Dateizugriff durch einen Kernel-Filtertreiber erkannt oder abgefangen, der eine Scan-Anfrage erzeugt, die von der Antivirus-Software zum Scannen der aktuellen abgerufenen Datei empfangen wird. Anstatt nur die ungescannte Datei zu scannen, scannt die Antivirus-Software nicht nur die noch nicht gescannte abgerufene Datei, sondern lädt auch eine Gruppe oder Gruppen von Dateien zum Scannen. Die Antivirus-Software führt das Scannen der aktuellen Scan-Anfrage durch (die Scan-Anfrage für die aktuelle abgerufene Datei) und plant gleichzeitig (oder führt gleichzeitig aus) Scannen von mehreren ”Huckepack-Scan-Anfragen” von Dateien aus einer geladenen Liste. Die geladene Liste ist eine von der Antivirus-Software erzeugte Liste von Dateien, auf die aus dem Verzeichnis zugegriffen werden kann und die kann häufiger abgerufene Dateitypen beinhalten kann. Die Antivirus-Software lädt aus dem Verzeichnis eine Auswahl von Dateien auf Basis der geladenen Liste.
  • Beinhaltet beispielsweise ein Verzeichnis (oder Ordner) Dateien A, B, C, D, E, dann kann davon ausgegangen werden, daß auf dieses Verzeichnis häufig zugegriffen wurde, nachdem die Dateien A und B gescannt wurden. Falls C, D und E auf die geladene Liste gesetzt wurden, dann lädt die Antivirus-Software die Dateien C, D, E, wenn Scannen durch die häufigen Zugriffe ausgelöst wird, wobei A, B übersprungen werden, da diese Dateien bereits gescannt wurden. Wenn festgestellt wird, daß die Anwendung bereits auf die Datei C zugegriffen hat, dann erhält die Antivirus-Software eine Scan-Anfrage und scannt die Datei C zusammen mit den Dateien D und E. Das heißt, wenn eine Anwendung anschließend auf die Dateien D und E zugreift, dann werden von dem Filter-Treiber keine Scan-Anfragen für diese Dateien erzeugt, da diese Dateien bereits gescannt wurden.
  • Die Gruppe oder Gruppen von Dateien sind Dateien, die aus dem Verzeichnis ausgewählt werden, auf das die Anwendung anschließend zugreifen möchte. Das Scannen der Gruppe oder Gruppen benutzt ein ”Huckepack-Verfahren” zum Scannen der aktuellen abgerufenen Datei, d. h. stützt sich auf die aktuelle Scan-Anfrage für die Datei. Dies verhindert, daß in Zukunft Scan-Anfragen für die Dateien der Gruppe erzeugt oder ausgeführt werden.
  • Auch wenn die Anwendung auf einige der für das ”Huckepack”-Scannen ausgewählten Dateien nicht zugreift, ist aufgrund des Batch- oder parallelen Scannens der Performance-Verlust in einem einzigen ”Huckepack” Batch vernachlässigbar. Diese Art von vorwärtsschauendem Scannen steigert die Gesamtleistungsfähigkeit erheblich bei langen Bearbeitungszeiten einer Anwendung (z. B. Kopieren eines gesamten Ordners mit Daten). Die Antivirus-Software schätzt die Vielzahl der in dem Verzeichnis abzurufenden Dateien durch Auswählen der am häufigsten aufgerufenen Dateien, auf die die Anwendungen in dem Verzeichnis über einen bestimmten Zeitraum zugegriffen haben. Dafür kann eine Laufzeit-Tabelle von Verzeichnis-Zugriffen unterhalten werden, die auf dem Verhalten der verschiedenen ausgeführten Anwendungen beruht.
  • 5 ist eine Verzeichnis-Zugriffstabelle, die die Aktualisierung und Wartung der erkannten Zugriffe von Anwendungen auf Dateien innerhalb eines oder mehrerer Verzeichnisse gemäß Ausführungsformen der vorliegenden Erfindung darstellt. Die Verzeichnis-Zugriffstabelle kann als eine im Speicher implementierte Laufzeit-Look-Up-Tabelle eingerichtet werden. Die Tabelle wird von der Antivirus-Software unterhalten, um die Frequenz zu bestimmen, mit der auf die Dateien in einem Verzeichnis zugegriffen wurde.
  • Die Antivirus-Software unterhält die Laufzeit-Verzeichnis-Zugriffstabelle (oder Verzeichnis-Zugriffstabelle), die den Zugriff von Anwendungen auf Dateien in den Verzeichnissen verfolgt. In dieser Ausführung hat die Verzeichnis-Zugriffstabelle folgende Felder:
    • – Verzeichnispfad, der den Namen oder logischen Ort des Verzeichnisses enthält, in dem auf eine oder mehrere Dateien zugegriffen wird;
    • – Zugegriffene Erweiterungsliste, die eine Liste von Dateierweiterungen derjenigen Dateien im Verzeichnis enthält, auf die zugegriffen wurde und die gescannt wurden;
    • – Trefferzahl, die die Anzahl der Dateizugriffe im Verzeichnis anzeigt, und
    • – Eintragstatus, die den Lebenszyklus des Verzeichniseintrags definiert.
  • In dieser Ausführung hat das Feld für den Eintragstatus drei logische Zustände Vermerkt, Gesammelt und Verarbeitet. Der Status Vermerkt (d. h. ein Pre-Scan-Status) zeigt an, daß auf die Datei im Verzeichnis zugegriffen wurde, daß jedoch die Trefferzahl für das Verzeichnis zur Rechtfertigung von parallelem oder Batch-Scannen noch nicht ausreicht. Sobald die Trefferzahl einen Schwellenwert erreicht hat, wird der Eintragstatus des Verzeichnisses in Gesammelt geändert (d. h. ein Scan-Zustand). Der Status Gesammelt bedeutet, daß auf das Verzeichnis aktiv von einer Anwendung, die paralleles oder Batch-Scannen rechtfertigt, zugegriffen wurde oder wird. Die Antivirus-Software vorinstalliert Gruppen von Dateien mit in der Zugegriffenen Erweiterungsliste aufgeführten Dateierweiterungen, oder Dateierweiterungen der aktuellen Datei, auf die derzeit für paralleles oder Batch-Scannen zugegriffen wird. Der Zustand Verarbeitet zeigt an, daß vorwärtsschauendes Scannen für das Verzeichnis bereits durchgeführt wurde und daß die Dateien deshalb normal gescannt werden sollen.
  • Jeder Status hat eine Gültigkeitsdauer, nach deren Ablauf der Verzeichnis-Eintrag aus der Tabelle entfernt wird, z. B. wenn auf keine der Dateien in einem Verzeichnis während eines gewissen Zeitraums zugegriffen wird, wird der Eintrag als abgelaufen angesehen. Der Status Vermerkt hat eine kurze Gültigkeitsdauer und dient lediglich zur Kennung von Verzeichnissen, auf die häufig zugegriffen wird. Die Zustände Gesammelt und Verarbeitet haben längere Gültigkeitsdauern aufgrund der Häufigkeit von Zugriffen und um unnötiges erneute Scannen von im Verzeichnis abgerufenen Dateien zu vermeiden. Es versteht sich, daß diese Zeiten durch die Antivirus-Software auf Basis einer willkürlich festgesetzten Zeitskala variiert werden können.
  • Es ist zu beachten, daß das Feld für den Eintragstatus verwendet wird, um erneutes Laden und Scannen eines erst kurz zuvor (z. B. vor 10 Minuten) verarbeiteten Verzeichnisses auszuschließen. Andere Implementierungen der Verzeichnis-Zugangs-Tabelle können dieses Feld ausschließen und sich auf Timer oder andere Mittel stützen, um zu verhindern, daß ein Verzeichnis nach dessen Verarbeitung zu häufig gescannt wird.
  • 6 ist ein Flussdiagramm zur weiteren Illustration des Verfahren unter Verwendung der Tabelle gemäß 5 bei der Durchführung von parallelem oder Batch On-Access Malware-Scannen gemäß einer Ausführungsform der vorliegenden Erfindung. Die Verfahrensschritte werden von der Antivirus-Software wie folgt durchgeführt:
    • B1. Für jede für Malware-Scannen abgefangene Datei wird beispielsweise eine Scan-Anfrage für eine geöffnete Datei generiert, wonach zum Schritt B2 zur Überprüfung der Zugriffstabelle übergegangen wird.
    • B2. Überprüfen, ob das Verzeichnis der Datei in der Zugriffstabelle aufgeführt ist; falls das Verzeichnis nicht in der Zugriffstabelle aufgeführt ist, Übergehen zum Schritt B3, um einen Verzeichniseintrag zu erstellen, sonst zum Schritt B4 übergehen.
    • B3. Erstellen eines Zugriffstabelleneintrags für das Verzeichnis der Datei, und initialisieren des Verzeichnis-Eintragstatus als Vermerkt, die Trefferzahl = 0; die Dateierweiterung wird zu der Dateierweiterungsliste (oder Liste der gescannten Dateitypen) hinzugefügt, danach mit dem normalen Malware-Scannen der abgerufenen Datei fortfahren.
    • B4. Überprüfen, ob der Verzeichnis-Eintragstatus als Vermerkt festgestellt ist; beim Eintragstatus Vermerkt zum Schritt B5 übergehen, sonst zum Schritt B8 übergehen.
    • B5. Erhöhen der Trefferzahl um die Anzahl der Dateizugriffe im Verzeichnis durch die verschiedenen Anwendungen, und die Dateierweiterung der Datei zur Zugegriffenen Erweiterungsliste hinzufügen.
    • B6. Überprüfen, ob die Trefferzahl (Hit Count HC) einen Schwellenwert N erreicht (z. B. HC >= N, wobei N = 5). Falls die Trefferzahl den Schwellenwert erreicht, zum Schritt B7 übergehen, andernfalls übliches Malware-Scannen auf der abgerufenen Datei ausführen.
    • B7. Das Verzeichnis Eintragstatus wird zum Status Gesammelt geändert und der Prozess geht zum Schritt B8 über, wo die Antivirus-Software eine Gruppe von Dateien, einschließlich der abgerufenen Datei, zum parallelen oder Batch-Scannen aus dem Verzeichnis lädt.
    • B8. Überprüfen, ob der Eintragstatus des Verzeichnisses den Status Gesammelt hat; falls der Eintragstatus Gesammelt ist, zum Schritt B9 übergehen, sonst zum Schritt B10 übergehen.
    • B9. Durchführen von parallelem (oder Batch) Malware-Scannen an einer Gruppe oder einer Auswahl von ungescannten Dateien, einschließlich der aktuellen Datei in dem Verzeichnis. Die folgenden Regeln können für die Auswahl einer Gruppe von Dateien für Batch- oder paralleles Scannen verwendet werden: – Auswählen von Dateien mit Erweiterungen oder Dateitypen, die mit der aktuell abgerufenen Datei übereinstimmen, oder – Auswählen von Dateien mit Erweiterungen oder Dateitypen, die mit der Zugegriffenen Erweiterungsliste übereinstimmen.
    • B10. Überprüfen, ob das Verzeichnis weitere Gruppen von Dateien enthält. Die Dateien können aus der geladenen Liste ausgewählt werden. Falls weitere Gruppen von Dateien vorhanden sind, geht das Verfahren zum Schritt B11 über, andernfalls geht das Verfahren zum Schritt B12 über.
    • B11. Eine weitere Gruppe von ungescannten Dateien wird aus der geladenen Liste ausgewählt ist, und Batch- oder paralleles Malware-Scannen wird durchgeführt, und das Verfahren geht zum Schritt B10 über. Obwohl die Antivirus-Software dazu ausgelegt ist, die Ausführung einer Anwendung nicht zu blockieren, kann dies erreicht werden, wenn die Multi-Core-Unterstützung in der Lage ist, die Anwendung und die Antivirus-Software gleichzeitig auszuführen. Das heißt, Batch- oder paralleles Scannen von weiteren ungescannten Dateien in der Liste kann im Hintergrund erfolgen, so daß mit der Anwendung fortgefahren werden kann.
    • B12. Da sich im Verzeichnis keine weitere geladenen Dateien oder ungescannten Dateien mit in der Zugangs-Erweiterungsliste aufgeführten Dateierweiterungen befinden, wird im Verzeichnis der Eintrag-Status in den Zustand Verarbeitet abgeändert. Wird ein Verzeichnis im Zustand Verarbeitet gefunden, führt das Verfahren einen normalen Malware-Scan der Datei durch, falls nötig.
  • Das Ergebnis der Malware-Scans wird der Scan-Cache hinzugefügt und an die Anwendung gemeldet, wenn diese auf eine gescannte Datei im Verzeichnis zugreift, damit die Anwendung sofort auf die abgerufene Datei zugreifen kann.
  • 7 ist ein alternatives Flussdiagramm zur Illustration von Batch- oder parallelem Malware-Scannen gemäß einer Ausführungsform der vorliegenden Erfindung. Die von der Antivirus-Software durchgeführten Verfahrensschritte B1 bis B12 sind denen der 6 ähnlich, mit Ausnahme der Schritte B10 und B11 (B11 wurde entfernt). Schritt B10 wird wie folgt beschrieben:
    • B10. Überprüfen, ob das Verzeichnis weitere Gruppen von Dateien enthält. Die Dateien können aus der geladenen Liste ausgewählt werden. Falls weitere Gruppen von Dateien vorhanden sind, geht das Verfahren zum normalen Malware-Scannen über, bis eine weitere Datei, die Scannen erfordert, von der Anwendung abgerufen wird, womit das Verfahren wieder beim Schritt B1 beginnt. Zusätzliches paralleles Scannen von anderen Gruppen von Dateien wird deshalb nicht durchgeführt, da die Anwendung nur auf eine begrenzte Anzahl von Dateien in dem Verzeichnis zugreifen muß. Dieses Verfahren verhindert somit, daß die Antivirus-Software Batch- oder paralleles Scannen von allen Dateien in der Zugriffserweiterungsliste im Hintergrund durchführt, bevor dies absolut notwendig ist, wenn eine Anwendung auf eine andere Datei zugreift. Dies minimiert auch die Anzahl der Unterbrechungen durch Malware-Scannen während der Ausführung einer Anwendung.
  • Das folgende Beispiel veranschaulicht die Funktion des oben genannten Verfahrens beim Kopieren einer Vielzahl von Dateien aus einem gemeinsamen Verzeichnis, mit den folgenden Annahmen:
    • a) das gemeinsame Verzeichnis hat verschiedene *.exe und *.dll Dateien;
    • b) die Zugriffstabelle wird vom Antivirus-Programm unterhalten;
    • c) die Zugriffstabelle hat bereits einen mit dem gemeinsamen Verzeichnis zusammenhängenden Verzeichniseintrag;
    • d) eine die Anzahl der Zugriffe darstellende Trefferzahl und eine Liste von Dateierweiterungen, auf die im gemeinsamen Verzeichnis zugegriffen wurde, wird unterhalten.
  • Der logische Ablauf ist wie folgt:
    • 1. Die ersten abgerufenen ”exe”-Dateien werden normal gescannt, bis das Verzeichnis eine ausreichende Anzahl von Treffern gesammelt hat, d. h. die Trefferzahl erreicht einen Schwellenwert;
    • 2. Sobald die Trefferzahl einen Schwellenwert erreicht, lädt die Antivirus-Software Dateien aus dem Verzeichnis;
    • 3. Jede nächste Scan-Anfrage einer ”exe”-Datei im Verzeichnis triggert einen ”Huckepack”-Scan anderer ”exe”-Dateien (einer Gruppe von Dateien) aus dem Verzeichnis;
    • 4. Nach Beenden des Kopierens erlischt der Verzeichniseintrag nach einer gewissen Zeit.
  • Genauer gesagt, wenn der Kopiervorgang, Kopieren <vom gemeinsamen Verzeichnis> *.exe <zum anderen Verzeichnis> durchgeführt wird, greift der Befehl Kopieren (Anwendung) sequentiell auf die ”exe”-Dateien zu, um die Daten zu lesen und in das andere Verzeichnis zu kopieren. Wenn auf die erste ”exe”-Datei aus dem gemeinsamen Verzeichnis zugegriffen wird, wird eine Scan-Anfrage für die Antivirus-Software erzeugt.
  • Sollte das gemeinsame Verzeichnis keinen Verzeichnis-Eintrag in der Zugriffstabelle haben, erstellt und initialisiert die Antivirus-Software einen Verzeichnis-Eintrag für das gemeinsame Verzeichnis; die die Anzahl der Dateizugriffe anzeigende Trefferzahl des Verzeichnis-Eintrags wird initialisiert; und der Dateityp, in diesem Fall ”exe”, wird zu einer dem Verzeichnis-Eintrag zugeordneten Erweiterungsliste hinzugefügt. Andernfalls wird die Trefferzahl des Verzeichnis-Eintrags inkrementiert und der ”exe”-Datei-Typ wird der Erweiterungsliste hinzugefügt, falls dieser nicht bereits auf der Erweiterungsliste steht.
  • Die erste abgerufene ”exe”-Datei wird normal auf Malware gescannt und von dem Befehl Kopieren verwendet. Auf nachfolgende ”exe”-Dateien wird zugegriffen, Scan-Anfragen werden gemacht, und diese Dateien werden normal von der Antivirus-Software gescannt, wobei die Trefferzahl für den Eintrag im gemeinsamen Verzeichnis bei jedem Zugriff inkrementiert wird, bis der Verzeichnis-Eintrag für das gemeinsame Verzeichnis eine ausreichende Anzahl von Treffern sammelt. Sobald die Trefferzahl einen Schwellenwert erreicht, wird die Antivirus-Software geladen oder bestimmt eine oder mehrere Gruppen von ungescannten ”exe”-Dateien aus dem gemeinsamen Verzeichnis. Jede nachfolgende Scan-Anfrage nach einer ungescannten ”exe”-Datei veranlasst das Antivirus-Programm, einen parallelen Scan (d. h. im Wesentlichen gleichzeitiges Scannen) der nicht gescannten ”exe”-Datei und einer der Gruppen von ungescannten Dateien aus dem gemeinsamen Verzeichnis ausführen. Der Scanvorgang wird fortgesetzt, bis die einschlägigen ”exe”-Dateien im gemeinsamen Verzeichnis verarbeitet sind oder der Befehl Kopieren beendet ist. Nachdem der Befehl Kopieren beendet ist, erlischt der Verzeichnis-Eintrag in der Zugriffstabelle innerhalb einer vorgegebenen Zeitspanne und wird danach aus der Zugriffstabelle entfernt.
  • Jedes der hier beschriebenen Computersysteme kann jeweils Batch- oder paralleles Scannen einer ausgewählten Gruppe von aus einer Vielzahl von Dateien von einem gemeinsamen Verzeichnis für Malware abgerufenen Dateien durchzuführen. Die Prozessoren solcher Systeme sind dazu eingerichtet, Computerprogramm-Instruktionen auf Basis der hier beschriebenen Verfahren auszuführen, wobei diese Befehle in einem computerlesbaren Medium, wie z. B. einem Speicher verkörpert sind. Die Computerprogrammbefehle können von einem anderen computerlesbaren Medium oder von einem anderen Gerät über eine Kommunikations-Schnittstelle in den Speicher eingelesen werden. Die in dem Speicher enthaltenen Instruktionen veranlassen den Prozessor eines Computer-Systems, die hier beschriebenen Prozesse oder Verfahren auszuführen. Jedoch kann anstelle von oder in Kombination mit Computerprogramm-Instruktionen alternativ ein fest verdrahteter Schaltkreis zur Implementierung von Prozessen gemäß der vorliegenden Erfindung verwendet werden. Die vorliegende Erfindung ist deshalb nicht auf eine spezifische Kombination von Hardware-Schaltkreisen bzw. Software beschränkt.
  • Das bedeutet insbesondere ein Computerprogramm mit Computerprogramm-Codemitteln, das eingerichtet ist, die Schritte des Erfassens von Zugriffen durch die Anwendung auf Dateien in einem gemeinsamen Verzeichnis durchzuführen, die erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien innerhalb des gemeinsamen Verzeichnis, auf die die Anwendung nachträglich zugreifen möchte, zu verwenden, und Scannen der einen oder mehreren Gruppen von Dateien auf Malware zu veranlassen, bevor die Anwendung versucht, auf Dateien aus der Gruppe oder den Gruppen zugreifen. Das Computerprogrammprodukt kann ferner Computerprogramm-Codemittel umfassen, die dazu eingerichtet sind, eine oder mehrere Gruppen von Dateien zu scannen. Das Computerprogramm kann auf einem computerlesbaren Medium verkörpert sein.
  • Darüber hinaus können die oben beschriebenen Verfahren die Multi-Prozessor, Multi-Tasking, Multi-Threading und Hyper-Threading Funktionalitäten moderner Computersysteme (wie hier beschrieben und ebenfalls in Intel® Hyper-Threading-Technology, Technisches Handbuch, Januar 2003) nutzen, um die Leistungsfähigkeit eines Computersystems weiter zu verbessern bei der Implementierung von schreibgeschütztem On-Access Malware-Scannen beim Öffnen einer Datei, indem das Scannen einer oder mehrerer Gruppen von Dateien parallelisiert wird.
  • Es ist für einen Fachmann selbstverständlich, daß verschiedene Modifikationen an den oben beschriebenen Ausführungsformen möglich sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.

Claims (22)

  1. Verfahren zum Scannen nach Malware während der Ausführung einer Anwendung auf einem Computersystem, wobei das Verfahren umfasst: Erfassen von Zugriffen durch die Anwendung auf Dateien in einem gemeinsamen Verzeichnis; Verwendung der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien innerhalb des gemeinsamen Verzeichnis, auf die die Anwendung während der Ausführung der Anwendung anschließend zugreifen möchte, und Scannen der einen oder mehreren Gruppen von Dateien auf Malware während der Ausführung der Anwendung bevor der Anwendung versucht, auf Dateien der Gruppe oder Gruppen zugreifen.
  2. Verfahren nach Anspruch 1, wobei der Schritt zur Verwendung der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien den Schritt umfasst, die Gruppe oder Gruppen von Dateien aus Basis von Dateitypen der Dateien, auf die die Anwendung zugegriffen hat, auszuwählen.
  3. Verfahren nach Anspruch 2, wobei der Schritt der Auswahl der Dateien ferner umfasst, die Dateitypen der Dateien, auf die die Anwendung zugegriffen hat, mit den Dateitypen von Dateien innerhalb des gemeinsamen Verzeichnis abzugleichen.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die Dateien in der Gruppe oder den Gruppen von Dateien diejenigen Dateien sind, die Scannen erfordern.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei der Schritt des Identifizierens einer oder mehreren Gruppen von Dateien den Schritt umfasst, die aktuellen Datei, deren Zugriff durch die Anwendung erfasst wurde, der Gruppe von Dateien zum Scannen hinzuzufügen, wenn die aktuelle Datei Scannen erfordert.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei der Schritt des Verwendens der erfassten Zugriffe den Schritt umfasst, die Anzahl der erkannten Zugriffe innerhalb der gemeinsamen Verzeichnis zu bestimmen und die Ergebnisse dazu zu benutzen, den Schritt des Scannens der einen oder mehreren Gruppen auszulösen.
  7. Verfahren nach Anspruch 6, wobei der Schritt des Scannens dann ausgelöst wird, wenn die Anzahl der erkannten Zugriffe einen vorbestimmten Schwellenwert erreicht.
  8. Verfahren nach Anspruch 6 oder 7, wobei das Verwenden der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien den Schritt umfasst, die aktuelle Datei, deren Zugriff durch eine Anwendung erfasst wurde, zu einer Gruppe von Dateien hinzuzufügen, wenn der Schritt des Scannens ausgelöst wird.
  9. Verfahren nach einem der Ansprüche 6 bis 8, wobei das Bestimmen der Anzahl der erkannten Zugriffe den Schritt umfasst, die Anzahl der erkannten Zugriffe zurückzusetzen, wenn ein erster Zeitraum verstrichen ist, und der Schritt des Scannens nicht ausgelöst wurde.
  10. Verfahren nach einem der Ansprüche 6 bis 9, wobei der Schritt des Scannens der einen oder mehreren Gruppen von Dateien den Schritt umfasst, das Scannen der Gruppe oder Gruppen zu beenden, wenn ein zweiter Zeitraum verstrichen ist, nachdem der Schritt des Scannens ausgelöst wurde.
  11. Verfahren nach einem der Ansprüche 1 bis 10, wobei der Schritt des Verwendens der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien den Schritt umfasst, eine Liste von Dateitypen der erkannten, abgerufenen Dateien zu unterhalten, und der Schritt zur Identifizierung einer oder mehrerer Gruppen von Dateien den Schritt umfasst, Dateien auf Basis der Liste von Dateitypen auszuwählen.
  12. Verfahren nach Anspruch 11, wobei der Schritt der Auswahl der Dateien ferner umfasst, die Liste vom Dateitypen der von der Anwendung abgerufenen Dateien mit den Dateitypen von Dateien innerhalb des gemeinsamen Verzeichnisses abzugleichen.
  13. Verfahren nach Anspruch 11 oder 12, wobei die Dateien innerhalb der Gruppe oder Gruppen von Dateien diejenigen Dateien innerhalb des gemeinsamen Verzeichnisses sind, die Scannen erfordern.
  14. Verfahren nach einem der Ansprüche 11 bis 13, wobei der Schritt des Identifizierens einer oder mehreren Gruppen von Dateien den Schritt umfasst, die aktuellen Datei, deren Zugriff durch die Anwendung erfasst wurde, einer Gruppe von Dateien zum Scannen hinzuzufügen.
  15. Verfahren nach einem der Ansprüche 1 bis 14, wobei der Schritt des Erfassens von Zugriffen durch die Anwendung auf Dateien im gemeinsamen Verzeichnis umfasst, eine Scan-Anfrage zum Scannen einer Datei im gemeinsamen Verzeichnisses zu empfangen, auf die die Anwendung zugegriffen hat.
  16. Verfahren nach Anspruch 15, wobei der Schritt des Identifizierens einer oder mehreren Gruppen von Dateien den Schritt umfasst, die der Scan-Anfrage entsprechende Datei der Gruppe von Dateien zum Scannen hinzuzufügen.
  17. Computerprogramm zum Scannen auf Malware während der Ausführung einer Anwendung auf einem Computersystem, mit Computerprogramm-Codemitteln eingerichtet zur Ausführung der folgenden Schritte: Erfassen von Zugriffen durch die Anwendung auf Dateien in einem gemeinsamen Verzeichnis; Verwendung der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien innerhalb des gemeinsamen Verzeichnis, auf welche die Anwendung während der Ausführung der Anwendung anschließend zugreifen möchte, und Anweisung an einen Malware-Scanner, während der Ausführung der Anwendung die eine oder mehrere Gruppen von Dateien auf Malware zu scannen, bevor die Anwendung versucht, auf die Dateien der Gruppe oder Gruppen zuzugreifen.
  18. Computerprogramm nach Anspruch 17, ferner umfassend Computer-Programmcodemittel, die eingerichtet sind zum Scannen der einen oder der mehreren Gruppen von Dateien auf Malware in Folge des Schritts der Anweisung.
  19. Computerprogramm nach Anspruch 17 oder 18, verkörpert auf einem Computerlesbaren Medium.
  20. Computersystem, eingerichtet zum Scannen von Dateien auf Malware während der Ausführung einer Anwendung auf einem Prozessor, wobei das Computersystem umfasst: eine Erfassungseinheit zum Erfassen von Zugriffen durch die Anwendung auf Dateien in einem gemeinsamen Verzeichnis, und Verwendung der erfassten Zugriffe zur Identifizierung einer oder mehrerer Gruppen von Dateien in dem gemeinsamen Verzeichnis, auf die die Anwendung nachfolgend zugreifen möchte, und Anweisung an eine Scanner-Einheit, die eine oder mehreren Gruppen von Dateien auf Malware zu scannen, bevor die Anwendung versucht, auf Dateien der Gruppe oder Gruppen zuzugreifen.
  21. Computersystem nach Anspruch 20, ferner umfassend eine Scanner-Einheit zum Scannen der einen oder mehreren Gruppen von Dateien in Folge von Anweisungen von der Erfassungseinheit.
  22. Computerprogrammprodukt, umfassend Befehlscode, welcher bei Ausführung auf einem Prozessor das Verfahren nach einem der Ansprüche 1 bis 16 ausführt.
DE112012002106.1T 2011-05-16 2012-03-29 Vorausschauendes Malware Scannen Active DE112012002106B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
USUS-13/068,610 2011-05-16
US13/068,610 2011-05-16
US13/068,610 US8726388B2 (en) 2011-05-16 2011-05-16 Look ahead malware scanning
PCT/EP2012/055733 WO2012156143A1 (en) 2011-05-16 2012-03-29 Look ahead malware scanning

Publications (2)

Publication Number Publication Date
DE112012002106T5 true DE112012002106T5 (de) 2014-02-13
DE112012002106B4 DE112012002106B4 (de) 2023-06-15

Family

ID=45937341

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012002106.1T Active DE112012002106B4 (de) 2011-05-16 2012-03-29 Vorausschauendes Malware Scannen

Country Status (7)

Country Link
US (1) US8726388B2 (de)
BR (1) BR112013029404A2 (de)
DE (1) DE112012002106B4 (de)
ES (1) ES2463265B1 (de)
RO (1) RO130379B1 (de)
RU (1) RU2621608C2 (de)
WO (1) WO2012156143A1 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9679137B2 (en) * 2006-09-27 2017-06-13 Hewlett-Packard Development Company, L.P. Anti-viral scanning in Network Attached Storage
US8127358B1 (en) * 2007-05-30 2012-02-28 Trend Micro Incorporated Thin client for computer security applications
CN103959300A (zh) * 2012-03-21 2014-07-30 三星Sds株式会社 反恶意程序系统及该系统中的数据处理方法
US9292688B2 (en) * 2012-09-26 2016-03-22 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
US11126720B2 (en) 2012-09-26 2021-09-21 Bluvector, Inc. System and method for automated machine-learning, zero-day malware detection
CN103780589A (zh) * 2012-10-24 2014-05-07 腾讯科技(深圳)有限公司 病毒提示方法、客户端设备和服务器
GB2517483B (en) * 2013-08-22 2015-07-22 F Secure Corp Detecting file encrypting malware
US9323929B2 (en) * 2013-11-26 2016-04-26 Qualcomm Incorporated Pre-identifying probable malicious rootkit behavior using behavioral contracts
CN103810428B (zh) * 2014-02-24 2017-05-24 珠海市君天电子科技有限公司 一种宏病毒检测方法及装置
US9710648B2 (en) * 2014-08-11 2017-07-18 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
CN104199894A (zh) * 2014-08-25 2014-12-10 百度在线网络技术(北京)有限公司 一种文件扫描方法及装置
EP3222024A1 (de) 2014-11-21 2017-09-27 Bluvector, Inc. System und verfahren zur charakterisierung von netzwerkdaten
US11023449B2 (en) * 2014-12-19 2021-06-01 EMC IP Holding Company LLC Method and system to search logs that contain a massive number of entries
US9715589B2 (en) 2015-01-23 2017-07-25 Red Hat, Inc. Operating system consistency and malware protection
US10032023B1 (en) * 2016-03-25 2018-07-24 Symantec Corporation Systems and methods for selectively applying malware signatures
US10200395B1 (en) * 2016-03-30 2019-02-05 Symantec Corporation Systems and methods for automated whitelisting of files
US10248787B1 (en) * 2016-12-20 2019-04-02 Symantec Corporation Systems and methods for determining reputations of files
US10511631B2 (en) 2017-01-25 2019-12-17 Microsoft Technology Licensing, Llc Safe data access through any data channel
EP3376424B1 (de) * 2017-03-14 2021-05-05 VirusTotal SLU Abtastung von dateien mittels antivirensoftware
CN109361643B (zh) * 2018-06-22 2021-05-25 中国移动通信集团广东有限公司 一种恶意样本的深度溯源方法
RU2726878C1 (ru) * 2019-04-15 2020-07-16 Акционерное общество "Лаборатория Касперского" Способ ускорения полной антивирусной проверки файлов на мобильном устройстве
US11210395B2 (en) * 2019-09-13 2021-12-28 EMC IP Holding Company LLC Filename-based malware pre-scanning
US11288391B2 (en) 2019-09-13 2022-03-29 EMC IP Holding Company LLC Filename-based malware pre-scanning
CN113468119A (zh) * 2021-05-31 2021-10-01 北京明朝万达科技股份有限公司 一种文件扫描方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968461B1 (en) * 2000-10-03 2005-11-22 Networks Associates Technology, Inc. Providing break points in a malware scanning operation
US7424706B2 (en) * 2003-07-16 2008-09-09 Microsoft Corporation Automatic detection and patching of vulnerable files
US7681237B1 (en) 2004-05-13 2010-03-16 Symantec Corporation Semi-synchronous scanning of modified files in real time
GB0418066D0 (en) * 2004-08-13 2004-09-15 Ibm A prioritization system
US8037527B2 (en) * 2004-11-08 2011-10-11 Bt Web Solutions, Llc Method and apparatus for look-ahead security scanning
US8572738B2 (en) 2006-12-07 2013-10-29 International Business Machines Corporation On demand virus scan
US8254858B2 (en) * 2007-12-21 2012-08-28 Hewlett-Packard Development Company, L.P. Techniques to manage power based on motion detection
GB2469322B (en) * 2009-04-09 2014-04-16 F Secure Oyj Malware determination
US8745743B2 (en) 2009-06-09 2014-06-03 F-Secure Oyj Anti-virus trusted files database
US8468602B2 (en) * 2010-03-08 2013-06-18 Raytheon Company System and method for host-level malware detection

Also Published As

Publication number Publication date
DE112012002106B4 (de) 2023-06-15
BR112013029404A2 (pt) 2017-01-31
ES2463265B1 (es) 2015-06-02
RU2621608C2 (ru) 2017-06-06
WO2012156143A1 (en) 2012-11-22
US20120297486A1 (en) 2012-11-22
ES2463265R1 (es) 2014-09-04
US8726388B2 (en) 2014-05-13
RO130379A2 (ro) 2015-06-30
RO130379B1 (ro) 2020-05-29
RU2013154735A (ru) 2015-06-27
ES2463265A2 (es) 2014-05-27

Similar Documents

Publication Publication Date Title
DE112012002106B4 (de) Vorausschauendes Malware Scannen
DE60027298T2 (de) Verfahren und system zum regeln von hintergrundprozessen mit leistungsmessdaten
US11200164B2 (en) Coordinated garbage collection in distributed systems
DE60303753T2 (de) Selektives Erkennen von böswilligem Rechnercode
DE69735866T2 (de) Vorrichtung und Verfahren zur Erzeugung von voraussagbaren Antworten
DE202011111121U1 (de) System zum Erfassen komplexer Schadsoftware
DE202012013609U1 (de) System zur Verteilung der Verarbeitung von Computer-Sicherheitsaufgaben
DE112012000526T5 (de) Malware - Erkennung
DE112019001121B4 (de) Auf einem computer implementiertes verfahren zum identifizieren von malware und system hierfür
DE112015004750T5 (de) Eine beinahe faire aktive sperre
DE112013000656T5 (de) System und Verfahren zum Verringern der Speichernutzung durch optimales Platzieren von virtuellen Maschinen in einem virtualisierten Rechenzentrum
DE102009051338A1 (de) Schutz vor Datenverlust durch Klassifizierung von Zugriffen einer Anwendung auf Daten
DE102014103488A1 (de) Ausgeglichenes Scheduling mit gemischten Abfrage-Lasten
DE112011100258T5 (de) Durchführen von aggressiven Codeoptimierungen mit einer Fähigkeit zum Annulieren derdurch die aggressiven Optimierungen vorgenommenen Änderungen
DE202013102179U1 (de) System zu detektieren von durch eine virtuelle Maschine ausgeführtem Schadcode
DE112005001739T5 (de) Nachverfolgung geschützter Speicherbereiche zur Beschleunigung von Antivirusprogrammen
DE202014011092U1 (de) Sicherheitsarchitektur für virtuelle Maschinen
DE112016000261T5 (de) Bewahren der Dateiintegrität
DE112018004115T5 (de) Analyse von abhängigkeiten zwischen anwendungen zum verbessern einer computersystem-bedrohungserkennung
Pagani et al. Introducing the temporal dimension to memory forensics
DE112019005729T5 (de) Erkennen von sicherheitsrisiken in zusammenhang mit einer software-komponente
DE112020002552T5 (de) System und verfahren für eine siem-regel-sortierung und bedingte ausführung
DE202023101653U1 (de) Organisations- und cloudübergreifende automatisierte Datenpipelines
DE202014010885U1 (de) Beschleunigung basierend auf zwischengespeicherte Flüsse
DE112011101759B4 (de) Sampling von Leerlauftransitionen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: WITHSECURE CORPORATION, FI

Free format text: FORMER OWNER: F-SECURE CORP., HELSINKI, FI

R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021000000

Ipc: G06F0021560000

R018 Grant decision by examination section/examining division
R020 Patent grant now final