-
Bereich der
Technik
-
Die
vorliegende Erfindung betrifft Rechnerviren und insbesondere ein
Verfahren und ein System zur Verwendung eines "Virusfrei"-Dateizertifikats in einem Server- oder
Client-System, welches
in einer Zertifizierungsstelle für "Virusfrei"-Zertifikate erzeugt wird.
-
Der Erfindung
zugrunde liegender allgemeiner Stand der Technik
-
Bei
allen die Datenverarbeitung und den Netzwerkbetrieb betreffenden
Sicherheitsproblemen stellen nicht Angriffe durch Eindringlinge
den größten Anlass
zur Beunruhigung dar, sondern die starke Ausbreitung von Viren.
Virusinfektionen stellen die große Mehrheit aller sicherheitsrelevanten
Vorkommnisse dar.
-
Virenschutz
-
- • Die
gemeinsame Verwendung von heterogenen Systemen und Verfahren,
- • der
umfassende Einsatz von verteilten oder Client/Server-Systemen und
- • der
freie Austausch von Datendateien durch die gemeinsame Benutzung
von Netzwerken, mittels eMail, Internet usw.
hat den Schutz
vor Viren für
große
Unternehmen immer komplexer und schwieriger gemacht.
-
Bis
vor kurzem stellten Virusinfektionen nur für Daten, die sich auf Speichermedien
wie zum Beispiel Festplattenlaufwerken und Disketten befanden, eine
Bedrohung dar. Mit dem Aufkommen von Makroviren hat sich die Bedrohung
jedoch auf Anwendungen ausgeweitet. Die meisten Unternehmen sind
sich dieses Durchdringungsgrades nicht bewusst und nicht so organisiert,
dass sie mit Virenangriffen umgehen und diese verhindern können. Statt
Infektionen lediglich zu behandeln, nachdem sie bereits aufgetreten
sind, muss eine wirksame Virenschutz-Software Infektionen verhindern. Anti-Virus-Lösungen erfordern
einen einheitlichen Plan mit einer zentralen Kontrolle, automatischen
Aktualisierungen der Virussignatur und Unterstützung für mehrere Plattformen, Protokolle
und Dateiarten.
-
Rechnerviren
-
Ein
Rechnervirus ist ein Programm, das erzeugt wird, damit es sich selbst
vervielfältigt.
Ein Virus vervielfältigt
sich, indem er sich an Programme, Dateien oder sogar an Startsektoren
von Festplatten oder Disketten anhängt. Ein Virus wird aktiviert,
wenn die infizierte Datei geöffnet
oder auf die infizierte Platte zugegriffen wird. Sobald sich ein
Virus in einem Speicher befindet, kann er sich an die nächste Datei oder
Platte, auf die zugegriffen wird, anhängen und so weiter. Ein Virus
kann so ausgelegt werden, dass er Schaden anrichtet. Ein Virus kann
auch unbeabsichtigte Folgen haben, indem er wichtige Rechnerdaten überschreibt
und Benutzern und Netzwerkverwaltern Unannehmlichkeiten verursacht,
die kostspielig sind. Es gibt vier allgemeine Arten von Rechnerviren:
- • Dateiviren
(einschließlich
Makroviren), die an Dateien angehängt werden;
- • Startsektor-Viren,
bei denen die Startsektoren von Disketten oder Festplatten infiziert
werden;
- • Master-Boot-Record-(MBR-)Viren,
die den ersten Datenblock (Master Boot Record) der Festplatte infizieren;
und
- • mehrteilige
Viren, bei denen es sich um eine Kombination aus einem Dateivirus
und einem Startsektor-Virus handelt.
-
Virus-Tarnungen
-
Viren
müssen
verhindern, dass sie entdeckt werden, damit sie die zerstörerische
Arbeit an Zielrechnern erfolgreich ausführen können. Einfache Viren mit leicht
erkennbaren Signaturen werden von raffinierteren Virenarten verdrängt:
- • Polymorphe
Viren: Jedes Mal, wenn sie aktiviert werden, ändern sie ihre Signatur oder
ihr Profil, so dass sie ein Filter für gleich bleibende Signaturen nicht
abfängt.
- • Tarnkappen-Viren:
Sie versuchen, ihre Anwesenheit zu verbergen, indem sie Unterbrechungsdienste
abfangen und Anti-Virus-Produkten und Endbenutzern falsche Informationen
zurückmelden.
- • Verschlüsselte Viren:
Sie werden in einer verschlüsselten
Datei übermittelt
und können
von einem einfachen Anti-Virus-Produkt
nicht erkannt werden.
-
Infektionsquellen
-
Jede
Verbesserung in der Netzwerk- und Übertragungstechnologie öffnet neue
Wege, über
die Viren ein System infizieren können. Die meisten der früheren Viren
waren Startsektor-Viren, bei denen die Startsektoren von Disketten
oder Festplatten infiziert wurden.
-
Makroviren
-
Wie
zuvor erwähnt
wurde, hat die Erzeugung von Makroviren diese Umgebung dramatisch
verändert.
Ein Makrovirus ist ein Befehlssatz, der mächtige Makroroutinen umfasst,
die ursprünglich
für Textverarbeitungs-
und Tabellenkalkulationsanwendungen entwickelt wurden. Diese Makrosprachen
bieten eine Fülle
nützlicher
Funktionen, die in ein Dokument eingebettet und ausgeführt werden
können,
wenn das Dokument zur Ansicht oder Verwendung geöffnet wird.
-
Internet
-
Mit
der explosionsartigen Entwicklung des Internet haben Viren katastrophale
Möglichkeiten. Das
Internet bringt zwei verschiedene Bedrohungen durch Viren mit sich.
- • Die
erste Bedrohung wird durch das Herunterladen von Dateien, die Viren
enthalten, und die anschließende
Durchsicht dieser Dateien oder deren Übertragung, beispielsweise
mit Hilfe von File-Transfer-Protocol-(FTP-)Routinen verursacht. Öffentliche
Shareware (gemeinsam benutzte Software) und ausführbare Routinen aller Art,
einschließlich
formatierter Präsentationen, stellen
eine zunehmende Quelle für
Virusinfektionen dar. Neue Bedrohungen durch Internet-Viren erscheinen
außerdem
auch immer mehr in Form von bösartigen
JAVA- und Active-X-Applets.
- • Die
zweite Bedrohung geht von elektronischer Post (eMail) aus. Die meisten
Internet-eMail-Systeme stellen eine sehr leistungsfähige Funktion bereit,
um formatierte Dokumente an Post anzuhängen, die über das Netzwerk versendet
wird. Diese eMail-Nachrichten können
mit nur einem einfachen Tastendruck an Einzelpersonen oder an aus
Einzelpersonen bestehende Gruppen versendet werden! Infizierte Dokumente
oder Dateien können
ein Unternehmensnetzwerk über
Verbindungsrechner (Gateways) und Postserver überschwemmen. Da der Einsatz
von Netzwerken, die Datenübertragung über das
Telefonnetz, der Fernzugriff auf Daten sowie Nachrichtensysteme,
die unterschiedlichste Anhänge
unterstützen,
immer gebräuchlicher
werden, werden Viren diese neuen elektronischen Wege nutzen, um Systeme
anzugreifen, die vordem unerreichbar waren.
-
Schwierigkeiten bei Groupware
-
Ein
dritter Trend bei der Vernetzung verschärft ebenfalls die Bedrohung
durch Viren: der Trend zum Einsatz von Groupware-Anwendungen wie zum Beispiel Lotus Notes,
Microsoft Exchange, Novell Groupwise, ...
-
Da
die aktive und wiederholte gemeinsame Nutzung von Dokumenten über das
Netzwerk das Kernstück
dieser Anwendungen bildet, stellen sie einen fruchtbaren Boden für die Ausbreitung
von Makroviren dar. Eine Groupware-Anwendung dient nicht nur als
Ablage für
gemeinsam benutzte Dokumente, vielmehr überträgt sie aufgrund ihrer auf gemeinschaftliche
Nutzung ausgerichteten Funktion im Rundsendeverfahren gleichzeitig
Dateien an zugehörige
Arbeitsgruppen. Die Übertragung
von Dateien im Rundsendeverfahren potenziert das Risiko, dass Post,
die durch im Anhang befindliche Makroviren infiziert ist, versehentlich
verteilt wird, um ein Vielfaches und macht den Schutz von Groupware
zu einer Aufgabe hoher Priorität.
-
Symptome einer Virusinfektion
-
Die
meisten Viren versuchen, so lange wie möglich unentdeckt zu bleiben,
um ihren zerstörerischen
Einfluss auszuweiten. Daher erzeugen die meisten Viren weder ein
erkennbares Profil noch eine erkennbare Signatur, das beziehungsweise
die es ermöglichen
würde,
sie durch Prüfen
der Software abzufangen. Viren führen
jedoch Aktionen aus, die nicht wie normale Rechneroperationen oder
Benutzeroperationen aussehen. Diese abnormalen Aktionen können von
intelligenter Anti-Virus-Software
erkannt werden. Glücklicherweise
haben viele Viren verräterische
Symptome und geben möglicherweise
unbeabsichtigt Signale ab, die Benutzer und Virenschutzsoftware
auf ihr Vorhandensein aufmerksam machen können.
-
Zu
diesen Symptomen gehören
unter anderem:
- • Zunahme der Byte-Anzahl von
Dateien,
- • Änderungen
des Zeitstempels einer Datei,
- • verzögertes Laden
oder verzögerte
Aktivierung von Programmen,
- • Leistungeinbuße,
- • weniger
Systemressourcen, weniger verfügbarer
Arbeitsspeicher, weniger verfügbarer
Speicherplatz auf der Festplatte,
- • ungültige Sektoren
auf Disketten und Festplattenlaufwerken,
- • merkwürdige oder
nichtstandardgemäße Fehlermeldungen,
- • nichtstandardgemäße Bildschirmaktivität, Veränderungen
der Anzeige
- • Programme
sind nicht funktionsfähig
(können nicht
ausgeführt
werden),
- • unvollständige oder
fehlgeschlagene Startoperationen des Systems und
- • nichteingeleitete
Schreiboperationen auf ein Laufwerk.
-
Überblick über Anti-Virus-Software
-
Einen Virus entdecken
-
Viren
werden zunehmend raffinierter und können als solches einfachere
eindimensionale Software-Pakete vernichten. Damit sie wirksam ist,
muss die Anti-Virus-Software verteilte Anwendungen für spezielle
Zwecke enthalten. Anwendungen können Viren
mit Hilfe von fünf
verschiedenen Verfahren entdecken:
- • Prüfen der
Signatur: Bei diesem Verfahren wird der Inhalt von Dateien mit in
einer Datenbank enthaltenen Virus-Signaturen verglichen. Dieses Verfahren
erfordert häufige
Aktualisierungen der Datenbank, um sicherzustellen, dass neue und
sich ändernde
Signaturen erkannt werden.
- • Integritätsprüfung: Bei
diesem Verfahren wird das Profil von aktuellen Dateien und Plattenbereichen
mit einer archivierten Momentaufnahme dieser Elemente verglichen. Die
festgestellten Unterschiede können
auf das Vorhandensein eines Virus hindeuten. Das Prüfsummenverfahren
ist die gebräuchlichste
Art der Integritätsprüfung. Bei modernen
Tarnkappenviren ist die Integritätsprüfung im
Allgemeinen leider nicht wirkungsvoll, so dass weitere Mittel zu
deren Aufdeckung erforderlich sind.
- • Heuristische
Analyse: Virusähnliches
Verhalten, wie zum Beispiel das Abfangen bestimmter Unterbrechungsdienste
oder Versuche der Durchführung
unwahrscheinlicher Aktionen wie zum Beispiel die Neuformatierung
der Festplatte, wird mittels künstlicher
Intelligenz überwacht.
- • Polymorphe
Analyse: Polymorphe Viren sind schwer zu entdecken, weil sie ständig ihr
Aussehen verändern,
insbesondere, wenn sie verschlüsselt
sind oder Tarnverfahren verwenden, um ihre Anwesenheit zu verbergen.
Ein polymorphes Auswerteprogramm verschiebt jede verdächtige Datei
an einen gesonderten geschützten Speicherplatz
im Rechner und führt
sie dort aus, um festzustellen, ob sie ein virusähnliches Verhalten aufweist.
- • Makrovirus-Analyse:
Eine speziell konzipierte Anti-Virus-Software erkennt Makros in Dateien und
prüft sie
vor der Ausführung.
-
Archivierte und komprimierte
Dateien
-
Neben
der Unterstützung
dieser fünf
Arten der Virusanalyse muss ein wirksames Anti-Virus-System auch
archivierte und komprimierte Dateien prüfen können. Zip (oder Pkzip) und
Microsoft Compression sind die gebräuchlichsten Werkzeuge zur Archivierung
und Komprimierung einer Datei. Ein Virus kann sich in einem komprimierten
Archiv verbergen und im Ruhezustand oder unbemerkt bleiben, bis
die infizierte Datei entpackt und in das System abgerufen wird.
Die Mindestanforderung an das Leistungsvermögen eines wirksamen Anti-Virus-Systems besteht
darin, die gängigsten
Archivarten zu prüfen, um
Viren zu erkennen, die in den darin enthaltenen Dateien gespeichert
sind.
-
Aktualisierungshäufigkeit
von Datenbanksignaturen
-
Die
Fähigkeit
einer Anti-Virus-Software, Virenangriffe zu verhindern, wird letzten
Endes durch ihr Vermögen
bestimmt, eine aktualisierte Datenbank mit Virussignaturen zu verwalten.
Jede Anti-Virus-Software muss über
eine zugehörige,
leicht zugängliche
Web-Site oder eine andere Online-Informationsquelle
verfügen,
von der regelmäßige Aktualisierungen
der Virendatenbank abgerufen werden können. Produkte, die diesen
Aktualisierungsprozess automatisieren, indem sie eine Internet-Verbindung nutzen,
um regelmäßig neue
Informationen abzurufen, haben in dieser Hinsicht einen klaren Vorteil.
-
Echtzeit-Virensuche und
Virensuche nach einem festgelegten Zeitplan
-
Die
meisten Anti-Virus-Softwareprogramme können einen Rechner absuchen,
um Viren zu entdecken und die zu diesem Zeitpunkt gefundenen Viren wenn
möglich
zu behandeln. Dieser Prozess wird als Virensuche ("scanning") bezeichnet. Die Überprüfung eines
Rechners auf das Vorhandensein von Viren kann wie folgt stattfinden:
- • in
regelmäßigen Abständen von
einem Steuerprogramm (scheduler) gesteuert oder
- • als
eine im Bedarfsfall manuell durchgeführte Operation oder
- • als
eine durch ein Ereignis ausgelöste
Operation (gewöhnlich
als Reaktion auf ein als "nichtzulässig" erkennbares Verhalten
eines möglichen
Virus).
-
Überdies
können
Viren in Echtzeit, zum Zeitpunkt ihres Empfangs, erkannt werden.
Diese Fähigkeit
ist wichtig, da verhindert werden kann, dass Viren andere Dateien
beschädigen,
wenn sie bereits bei dem Versuch, in ein System (Rechner, Datenbank,
Server ...) einzudringen, erkannt werden können. Oftmals findet eine Virensuche
nach einem festgelegten Zeitplan erst statt, nachdem ein Virus bereits
in einen Rechner eingedrungen ist und andere Dateien beschädigt hat.
Je früher
ein Virus erkannt werden kann, desto besser ist es natürlich.
-
Damit
eine Anti-Virus-Software wirklich von Nutzen ist, muss sie alle
Arten der Virensuche durchführen
können.
-
Zertifikat
-
Ein
Zertifikat ist eine Struktur, die einen öffentlichen Wert (d.h. einen öffentlichen
Schlüssel) enthält, dem
eine Kennung zugeordnet ist. Bei einem X.509-Zertifikat beispielsweise
ist der öffentliche Schlüssel an
einen "Benutzernamen" gebunden. Eine dritte
Partei (eine Zertifizierungsstelle) bestätigt, dass der öffentliche
Schlüssel
dem Benutzer gehört. Ein
X.509-Zertifikat
ist eine sehr formale Struktur und umfasst verschiedene Elemente:
- • Inhaber:
Dies ist der "Benutzername" (der Inhaber kann
ein beliebiger Identitätswert
sein).
- • Aussteller:
Dies ist der Name der dritten Partei, die das Zertifikat ausgestellt/erzeugt
hat. Diese dritte Partei ist die Zertifizierungsstelle (Certificate Authority
(CA)).
- • Wert
des öffentlichen
Schlüssels:
Dies ist der öffentliche
Schlüssel
eines aus öffentlichem/privatem
Schlüssel
bestehenden Schlüsselpaares.
Ein zugehöriges
Feld gibt den Algorithmus für
den öffentlichen
Schlüssel
(Public-Key-Algorithmus)
an, der verwendet werden muss, zum Beispiel einen öffentlichen
Schlüssel
vom Typ RSA, Diffie-Hellman oder DSA.
- • Gültigkeit:
Zwei Felder werden verwendet, um die Gültigkeitsdauer anzugeben (gültig vom
Datum 1 bis zum Datum 2).
- • Seriennummer:
Dieses Feld stellt eine eindeutige Seriennummer des Zertifikats
für den
Aussteller bereit.
- • Signatur:
Die Signatur ist eine verschlüsselte
Zusammenfassung, die von der Zertifizierungsstelle (CA) zum Nachweis
der Echtheit des ganzen Zertifikats erzeugt wird. Die Zusammenfassung
ergibt sich aus der Anwendung des Hashing-Algorithmus auf das Zertifikat.
Die Zusammenfassung wird mit Hilfe des privaten Schlüssels der
CA verschlüsselt.
Die verschlüsselte
Zusammenfassung, die die Signatur darstellt, "bestätigt", dass der Inhaber
der "Eigner" des öffentlichen
und des privaten Schlüssels
ist.
-
Prüfung der Echtheit des Zertifikats
-
Die
Echtheit des Zertifikats muss geprüft werden, um sicherzustellen,
dass es gültig
ist. Dies ist ein ziemlich komplexer Prozess. Die Prüfung der Echtheit
eines Zertifikats durch einen Endbenutzer umfasst die Prüfung der
folgenden Elemente:
- • Der Name beziehungsweise der
gültige
Name des Inhabers und des Ausstellers werden in dem Zertifikat angegeben.
- • Die
Gültigkeit
des Zertifikats ist nicht abgelaufen (Prüfen des Felds "Gültigkeitsdauer").
- • Das
Zertifikat wurde nicht widerrufen (dies kann festgestellt werden,
indem man die aktuelle Liste der widerrufenen Zertifikate (Certificate
Revocation List) von der CA anfordert).
- • Die
Signatur auf dem Zertifikat ist gültig (die Echtheit der Signatur
wird nicht mit Hilfe des öffentlichen
Schlüssels
des Zertifikats, sondern mit Hilfe des öffentlichen Schlüssels der
CA geprüft).
-
Das
Verfahren zur Prüfung
der Gültigkeit
der Signatur ist ziemlich einfach und umfasst die folgenden Schritte:
- • Der
Name des Ausstellers (Name der CA) wird dem Zertifikat entnommen;
- • das
Zertifikat des Ausstellers (Zertifikat der CA) oder der öffentliche
Schlüssel
des Ausstellers (der öffentliche
Schlüssel
der CA) werden lokalisiert;
- • es
wird geprüft,
ob die Signatur des Endbenutzers auf dem Zertifikat von dem Aussteller
(CA) unter Verwendung des öffentlichen
Schlüssels des
Ausstellers (des öffentlichen
Schlüssels
der CA) erzeugt wurde.
-
Zertifikate
werden von einer Zertifizierungsstelle (CA) erzeugt. Zwei Hauptverfahren
können
zur Anwendung kommen:
- • Zentrale Erzeugung: Das aus
privatem/öffentlichem
Schlüssel
bestehende Schlüsselpaar
wird vom Endbenutzer (der im Feld "Inhaber" des Zertifikats angegeben wird) erzeugt.
Der öffentliche Schlüssel wird
der CA-Software direkt vom Endbenutzer bereitgestellt, um ein Zertifikat
zu erstellen. Das Zertifikat kann einem anderen Endbenutzer über einen
beliebigen geeigneten Kanal bereitgestellt werden. Der Kanal braucht
nicht sicher zu sein, da ein Zertifikat eine selbstschützende Struktur
darstellt (angesichts der Signatur durch die CA).
- • Verteilte
Erzeugung: Das aus privatem/öffentlichem
Schlüssel
bestehende Schlüsselpaar
wird. vom Endbenutzer erzeugt. Der Endbenutzer ersucht die CA, ein
Zertifikat zu erstellen, das den öffentlichen Schlüssel des
Endbenutzers enthält. Der öffentliche
Schlüssel
wird dann zur Zertifizierung an die CA geschickt. Wenn die Anforderung gültig ist,
schickt die CA dem Endbenutzer ein Zertifikat zurück, das
die Identität
des Benutzers dem öffentlichen
Schlüssel
des Benutzers zuordnet.
-
Natürlich können diese
beiden Verfahren in jedem beliebigen System kombiniert werden, da
vertrauenswürdige
CA-Schlüssel
von der Zertifizierungsstelle (CA) erzeugt werden.
-
Die
internationale Patentanmeldung WO 97/50036 mit dem Titel "Computationally Efficient Method
for Trusted and Dynamic Digital Objects Dissemination" von Marasimhalu
u.a. (31. Dezember 1997) legt ein Verfahren mit hoher Rechenleistung
für eine
sichere und dynamische Weitergabe von digitalen Objekten offen.
Zusammengehörende
digitale Objekte unterschiedlicher Art werden auf der Grundlage
ihrer Verwendung und Funktionalität von einem Informationsanbieter
gruppenweise zu Verteilungspaketen zusammengefasst. Die Vertrauenswürdigkeit
von Objekten, die in einem Verteilungspaket enthalten sind, wird
von einer vertrauenswürdigen
Zertifizierungsstelle in Form von einem Zertifikat, das aus einem
Hauptteil und der Signatur der Zertifizierungsstelle auf dem Hauptteil
besteht, auf der Grundlage eines digitalen Signaturschemas mit öffentlichem Schlüssel bestätigt. Der
Hauptteil besteht darüber
hinaus aus der Bezeichnung der bereitgestellten Information, dem
Namen des Verteilungspakets sowie der Art, dem Sicherheitsprüfungskennzeichen
und einer Zusammenfassung eines jeden Objekts. Mit ihm prüfen Endbenutzer
die Vertrauenswürdigkeitskriterien von
einem einzelnen Objekt oder von einer Teilmenge von Objekten, das
beziehungsweise die in dem Paket angegeben sind. Um zu prüfen, ob
ein empfangenes Objekt von dem Zertifikat bestätigte Vertrauenswürdigkeitskriterien
erfüllt,
berechnet der Endbenutzer die Zusammenfassung des Objekts, vergleicht sie
mit der entsprechenden Zusammenfassung in dem Zertifikat und prüft die Art
und das Sicherheitsprüfungskennzeichen
des in dem Zertifikat enthaltenen Objekts. Der Endbenutzer kann weitere
Objekte dynamisch herunterladen und ihre Vertrauenswürdigkeit
prüfen,
ohne das Zertifikat mehrmals auf Echtheit prüfen zu müssen.
-
Aufgaben der
Erfindung
-
Moderne
Anti-Virus-Verfahren werden aufgrund
- • der Anzahl
der Viren,
- • der
Schwierigkeit, sie zu entdecken, und
- • der
Tatsache, dass sich ihre Signatur im Laufe der Zeit oder mit der
Umgebung ändern
kann,
immer komplexer.
-
Viren
kommen von überall
und insbesondere aus dem Internet. Der Zeitraum, der notwendig ist, um
eine Platte in einem Rechnersystem zu prüfen, gewinnt immer mehr an
Bedeutung. Außerdem schließt die Prüfung einer
Platte die Nutzung von Ressourcen ein, so dass es gegebenenfalls
nicht möglich
ist, das Rechnersystem wie üblich
zu nutzen.
-
Eine
Aufgabe der vorliegenden Erfindung besteht in der Verbesserung moderner
Anti-Virus-Verfahren und in der Bereitstellung eines neuen Verfahrens
unter Verwendung von Dateizertifikaten, die ähnlich den X.509-Zertifikaten
sind, welche zum Nachweis der Identität verwendet werden. Ein bestimmter
Prozess ordnet ein Zertifikat einer Datei zu, um die Anti-Virus-Verarbeitung
zu beschleunigen und zu verbessern.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, Dateien im
Hinblick auf die Vereinfachung der Anti-Virus-Verarbeitung von Dateien ein Zertifikat zuzuordnen.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, eine Datei
auf alle bekannten Viren zu prüfen.
Ein Zertifikat wird an die Datei angefügt. Das Zertifikat enthält eine
Signatur, die von einem vertrauenswürdigen Server erstellt wird.
Durch diese Signatur wird vermieden, dass lokale Rechnersysteme
diese Datei auf alle Viren, die es gibt, prüfen. Der vertrauenswürdige Server
prüft die
Datei auf alle bekannten Viren. Dieser Server kann ein oder mehrere Anti-Virus-Prüfprogramme
verwenden. Im Falle eines neuen Virus werden nur die Zertifikate
geändert oder
aktualisiert. Der einzige Prozess, der von dem lokalen Rechnersystem
durchgeführt
wird, besteht in der Prüfung
der Datei auf die in dem Zertifikat enthaltene Signatur.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, die für das Auffinden
von Viren eingesetzten Datenverarbeitungsressourcen erheblich zu
vereinfachen. Dateien auf Web-Servern werden mit ihren Zertifikaten
heruntergeladen, wodurch das Risiko einer Virusinfektion ausgeschaltet
wird. Die vollständige
Anti-Virus-Prüfung
wird nicht lokal auf jedem Rechnersystem durchgeführt, sondern
findet nur einmal statt.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, mit Hilfe eines
vertrauenswürdigen
Servers zum Nachweis der Echtheit eines Anti-Virus-Zertifikats (Anti-virus
Certificate Authentication Server) ein zu einer Datei gehörendes Zertifikat "Virusfrei" zu erzeugen.
-
Es
ist ferner eine Aufgabe der vorliegenden Erfindung, dieses "Virusfrei"-Zertifikat auf einem
Arbeitsplatzrechner zur Durchführung
einer Anti-Virus-Prüfung
zu verwenden.
-
Zusammenfassung
der Erfindung
-
Die
vorliegende Erfindung betrifft Rechnerviren und insbesondere ein
Verfahren, ein System und ein Rechnerprogramm zur Verwendung eines
Dateizertifikats "Virusfrei", wie in dem unabhängigen Anspruch
1 offen gelegt ist.
-
Kurze Beschreibung
der Zeichnungen
-
Die
neuartigen und erfindungsgemäßen Merkmale,
die als kennzeichnend für
die Erfindung erachtet werden, sind in den beigefügten Ansprüchen dargelegt.
Die Erfindung selbst jedoch sowie eine bevorzugte Verwendungsart,
weitere Aufgaben und Vorteile der Erfindung lassen sich am besten durch
Bezugnahme auf die folgende ausführliche
Beschreibung einer der Veranschaulichung dienenden ausführlichen
Ausführungsform
verstehen, wenn diese in Verbindung mit den beigefügten Zeichnungen gelesen
wird, bei denen:
-
1 die
verschiedenen Instanzen beschreibt, die an dem Anti-Virus-System
gemäß der vorliegenden
Erfindung beteiligt sind;
-
2 den
Inhalt eines "Virusfrei"-Zertifikats gemäß der vorliegenden
Erfindung beschreibt;
-
3 ein
Flussdiagramm des Verfahrens zur Anforderung und Erzeugung eines "Virusfrei"-Zertifikats für eine Datei
gemäß der vorliegenden
Erfindung ist;
-
die 4a und 4b Flussdiagramme
des Verfahrens zur Verwendung eines "Virusfrei"-Zertifikats in einem Arbeitsplatzrechner
gemäß der vorliegenden
Erfindung sind.
-
Bevorzugte Ausführungsform
der Erfindung
-
Einführung
-
1 beschreibt
die verschiedenen Instanzen, die an dem in der vorliegenden Erfindung
offen gelegten Anti-Virus-System beteiligt sind. In den meisten
Fällen
wird die Datei, die der Client-Arbeitsplatzrechner (100)
benötigt,
auf einem Web-/Dateiserver
(101) gespeichert. Ein in einem Verzeichnis auf dem Web-/Dateiserver
(101) gespeichertes Zertifikat wird dieser Datei zugeordnet.
Das Zertifikat wird nach der Anforderung von einem Zertifizierungsstellenserver
für "Virusfrei"-Zertifikate (Virus-Free
Certificate Authority Server) (102) bereitgestellt. Die
Anforderung wird von dem Web-/Dateiserver (101) über ein
lokales Netzwerk (Local Area Network (LAN))/Weitverkehrsnetzwerk
(Wide Area Network (WAN)) (103), zu dem auch das Internet
gehören kann,
an den Zertifizierungsstellenserver für "Virusfrei"-Zertifikate (102) gesendet.
Der Client-Arbeitsplatzrechner (100) lädt dann sowohl die Datei als auch
das zugehörige
Zertifikat in ein Verzeichnis herunter und ersucht sein Anti-Virus-Programm,
die Datei zu prüfen.
Dieser Prüfprozess
verwendet kein standardmäßiges Anti-Virus-Programm,
sondern beruht auf dem zuvor heruntergeladenen Zertifikat. Die einzige
notwendige Prüfung
zur Feststellung, ob die Datei virenfrei ist, besteht in der Prüfung der
in dem Zertifikat enthaltenen Signatur. Das gesamte vorstehende
Verfahren lässt
sich mit Bezug auf die 2, 3 und 4a/4b besser
verstehen.
-
"Virusfrei"-Zertifikat
-
2 beschreibt
den Inhalt eines "Virusfrei"-Zertifikats gemäß der vorliegenden
Erfindung. Das "Virusfrei"-Zertifikat verwendet
das standardmäßige X.509-Zertifikatformat
wieder. Es enthält
die Signatur der Datei und ist daher an diese Datei gebunden. Der
Hauptunterschied zwischen einem X.509-Zertifikat und dem "Virusfrei"-Zertifikat besteht darin,
dass das "Virusfrei"-Zertifikat Folgendes
umfasst:
- • einen
Anti-Virus-Namen und eine Anti-Virus-Version,
- • eine
Signatur der Datei.
-
Das "Virusfrei"-Zertifikat (200)
enthält
die folgenden Felder:
- • Dateiname (201):
Dies ist der "Name" der Datei, die von
dem "Virusfrei"-Zertifikat geschützt wird.
- • Aussteller
(202): Dies ist der "Name" der dritten Partei,
die das "Virusfrei"-Zertifikat ausgestellt/erzeugt
hat. Diese dritte Partei ist die Zertifizierungsstelle für "Virusfrei"-Zertifikate (VCA).
- • Wert
des öffentlichen
Schlüssels
(203): Dies ist der öffentliche
Schlüssel
eines aus einem öffentlichen
und einem privaten Schlüssel
bestehenden Schlüsselpaares.
Ein zugehöriges
Feld legt den Algorithmus für
den öffentlichen
Schlüssel
(Public-Key-Algorithmus) fest, der verwendet werden muss, um die
Dateisignatur zu prüfen,
beispielsweise einen öffentlichen
Schlüssel
vom Typ RSA, Diffie-Hellman oder DSA. Der öffentliche Schlüssel wird
von der Zertifizierungsstelle für "Virusfrei"-Zertifikate bereitgestellt,
die die Signatur von Dateien mit dem entsprechenden privaten Schlüssel erstellt.
Folglich kann dasselbe aus privatem/öffentlichem Schlüssel bestehende
Schlüsselpaar
zur Erstellung von mehreren "Virusfrei"-Zertifikaten von demselben Aussteller
verwendet werden. Dieser öffentliche
Schlüssel
in dem "Virusfrei"-Zertifikat wird
statt des öffentlichen
Schlüssels
der Zertifizierungsstelle für "Virusfrei"-Zertifikate, mit
dem nur die Gültigkeit
der aktuellen Zertifikatsignatur und nicht der Dateisignatur bestätigt wird,
bevorzugt verwendet. Ein öffentlicher
Schlüssel
zur Entschlüsselung
der eingebetteten Signatur ist in dem "Virusfrei"-Zertifikat enthalten,
da der öffentliche
Schlüssel
der Zertifizierungsstelle für "Virusfrei"-Zertifikate im Allgemeinen
länger
und komplexer ist. Der öffentliche Schlüssel der
Zertifizierungsstelle für "Virusfrei"-Zertifikate und der öffentliche Schlüssel des "Virusfrei"-Zertifikats können auch eine voneinander
abweichende Gültigkeit
haben. Da das "Virusfrei"-Zertifikat aber
von der Zertifizierungsstelle für "Virusfrei"-Zertifikate signiert
wird, ist die Verwendung des öffentlichen
Schlüssels
des "Virusfrei"-Zertifikats auf
jeden Fall sicher.
- • Gültigkeit
(204): Zwei Felder dienen zur Angabe der Gültigkeitsdauer
(gültig
vom Datum 1 und gültig
bis zum Datum 2).
- • Seriennummer
(205): Dieses Feld stellt eine eindeutige Seriennummer
des "Virusfrei"-Zertifikats für den Aussteller
bereit.
- • Zertifikatsignatur
(206): Die Zertifikatsignatur ist eine verschlüsselte Zusammenfassung,
die von der Zertifizierungsstelle für "Virusfrei"-Zertifikate (VCA) zum Nachweis der
Echtheit des ganzen Zertifikats verwendet wird. Die Zusammenfassung
ergibt sich aus der Anwendung des Hashing-Algorithmus auf das "Virusfrei"-Zertifikat. Die Zusammenfassung
wird mit Hilfe des privaten Schlüssels
der VCA verschlüsselt.
Die Zertifikatsignatur ergibt sich aus der verschlüsselten
Zusammenfassung und "bestätigt", dass die Dateisignatur
mit dem privaten Schlüssel
verschlüsselt
ist, der zu dem öffentlichen
Schlüssel
(203) des "Virusfrei"-Zertifikats gehört. Der öffentliche
Schlüssel
der Zertifizierungsstelle für "Virusfrei"-Zertifikate (VCA) unterscheidet sich
von dem öffentlichen
Schlüssel
des "Virusfrei"-Zertifikats und
wird entweder vorab in den Web-Browser geladen oder von einer vertrauenswürdigen Instanz
vergeben. Mit dem öffentlichen
Schlüssel
der VCA wird der ursprüngliche
Hash-Wert des ganzen Zertifikats abgerufen. Die Zertifizierungsstelle
für "Virusfrei"-Zertifikate (VCA)
kann denselben Satz aus privatem/öffentlichem Schlüssel (203)
des "Virusfrei"-Zertifikats für alle Dateien verwenden, die
während
eines bestimmten Zeitraums erzeugt wurden, so dass die Gegenprüfung zum
Nachweis der Identität
des Ausstellers von Zeit zu Zeit ohne weiteres durchgeführt werden
kann, wenn ein neuer Schlüsselsatz
verwendet wird. Sobald der öffentliche
Schlüssel
des "Virusfrei"-Zertifikats für einen
Aussteller für
gültig
erklärt
wurde, kann er für
mehrere von demselben Aussteller zertifizierte Dateien wiederverwendet
werden, was die Anzahl der öffentlichen
Schlüssel
für das "Virusfrei"-Zertifikat verringert.
- • Dateisignatur
(207): Die Echtheit der Dateisignatur wird mit Hilfe des
Werts des öffentlichen Schlüssels, der
in dem "Virusfrei"-Zertifikat angegeben
ist, geprüft.
- • Anti-Virus-Prüfer (208):
Dieses Feld gibt an, wie das "Virusfrei"-Zertifikat überprüft hat,
ob die Datei virenfrei war. Der Anti-Virus-Prüfer umfasst den Namen und die
Version des Anti-Virus-Programms. Mehrere Anti-Virus-Programme und Anti-Virus-Versionen
können
hinzugefügt
werden, um die Wirksamkeit der Virenerkennung zu verstärken.
- • Zertifikatstruktur
(209): Dieses Feld beschreibt die Größe und den Inhalt der Felder
des "Virusfrei"-Zertifikats. Die
Anzahl der Anti-Virus-Programme wird in diesem Feld angegeben.
- • Wenn
das "Virusfrei"-Zertifikat ein Standardformat
(Mindestgröße eines "Virusfrei"-Zertifikats) verwendet,
ist dieses Feld optional.
- • Wenn
die Größe des "Virusfrei"-Zertifikats das Standardformat überschreitet
(über die
Mindestgröße hinausgeht),
ist dieses Feld zwingend notwendig, und es gibt die Größe der Felder
an, die in dem "Virusfrei"-Zertifikat enthalten
sind.
-
Erzeugung des "Virusfrei"-Zertifikats
-
3 beschreibt
den Prozess der Anforderung eines "Virusfrei"-Zertifikats für eine Datei, die sich auf
einem Web-Server oder einem Dateiserver (101) befindet.
Arbeitsplatzrechner (100) können natürlich jederzeit eine Zertifizierungsstelle
(102) ersuchen, "Virusfrei"-Zertifikate in Echtzeit
zu erstellen, aber am besten geht man so vor, dass man die Web-/Dateiserver
(101) Anforderungen für
die Erstellung von "Virusfrei"-Zertifikaten an
die Zertifizierungsstelle (102) senden und die Dateien
zusammen mit dem zugehörigen
Anti-Virus-Zertifikat von ihnen speichern lässt. Das Verfahren zur Anforderung
und Erzeugung eines "Virusfrei"-Zertifikats umfasst
die folgenden Schritte:
- • (300) Wenn eine neue
Datei ein "Virusfrei"-Zertifikat benötigt, sendet
der Anfordernde, der Web-/Dateiserver (101) oder der Arbeitsplatzrechner
(100) eine Anforderungsnachricht für ein "Virusfrei"-Zertifikat an einen Zertifizierungsstellenserver
für "Virusfrei"-Zertifikate (VCA-Server) (102).
Entweder wird die Datei zusätzlich
zu dieser Anforderungsnachricht an den Zertifizierungsstellenserver
für "Virusfrei"-Zertifikate (VCA-Server)
(102) gesendet oder die Prüfung/Signatur findet auf dem
Web-/Dateiserver (101) oder dem Arbeitsplatzrechner (100)
statt, auf dem die Datei gespeichert ist. Die Anforderung kann das
Anti-Virus-Prüfverfahren
oder die Verwendung eines bestimmten Anti-Virus-Programms angeben.
- • (301)
Der Zertifizierungsstellenserver für "Virusfrei"-Zertifikate
(VCA-Server) beginnt seinen Prozess mit dem Prüfen der Datei.
- • (302)
Das "Virusfrei"-Zertifikat stellt
fest, ob die Datei virenfrei ist oder nicht:
Wenn ein Virus
entdeckt wird,
- • (307)
antwortet der VCA-Server dem Anfordernden mit einer Information über den
entdeckten Virus.
- • (308)
Schließlich
sendet der VCA-Server dem Anfordernden eine bereinigte Datei zurück.
Wenn
kein Virus entdeckt wird,
- • (303)
wird eine Signatur der Datei erstellt.
- • (304)
Das "Virusfrei"-Zertifikat wird
mit dieser Signatur erstellt.
- • (305)
Das "Virusfrei"-Zertifikat und die
Kennung des Anfordernden werden dann in der VCA gespeichert. Die
Kennung des Anfordernden kann den Speicherort der Datei auf dem
Web-/Dateiserver oder dem Arbeitsplatzrechner enthalten. Die Angabe
des Speicherortes der Datei ist nützlich, wenn der Anfordernde
eine regelmäßige und automatische
Aktualisierung des "Virusfrei"-Zertifikats benötigt (beispielsweise,
wenn die Gültigkeit
des "Virusfrei"-Zertifikats abläuft oder
wenn eine neue Version des Anti-Virus-Programms bereitgestellt wird).
In diesem Fall kann die VCA auf die Datei zugreifen und das "Virusfrei"-Zertifikat aktualisieren,
ohne dass der Server oder der Arbeitsplatzrechner eine Maßnahme ergreifen muss.
- • (306)
Schließlich
wird das "Virusfrei"-Zertifikat an den
Anfordernden gesendet.
-
Zum
besseren Verständnis
ist die VCA in der vorliegenden Ausführungsform als ein unabhängiger Server
gezeigt. Die VCA kann sich jedoch auf einem Web-/Dateiserver (101)
befinden. Es besteht die Möglichkeit,
dass ein Zertifizierungsstellen-Hauptserver
die Aufgabe der Erstellung von "Virusfrei"-Zertifikaten an vertrauenswürdige Server
oder Arbeitsplatzrechner überträgt.
-
Verwendung des "Virusfrei"-Zertifikats
-
Die 4a und 4b beschreiben
den Prozess der Verwendung des "Virusfrei"-Zertifikats in einem
Arbeitsplatzrechner gemäß der vorliegenden Erfindung.
Eine Datei wird mit ihrem "Virusfrei"-Zertifikat auf einen
Arbeitsplatzrechner heruntergeladen. Das Anti-Virus-Programm führt eine
Prüfung
an dieser eintreffenden Datei durch. Das Anti-Virus-Programm kann
auch alle Dateien prüfen,
die durch entsprechende Konfiguration zugewiesen wurden. Manche
Dateien können über ein
zugehöriges "Virusfrei"-Zertifikat verfügen, andere
Dateien haben möglicherweise
kein Zertifikat. Das vorliegende Verfahren zur Verwendung eines "Virusfrei"-Zertifikats in einem Arbeitsplatzrechner
umfasst die folgenden Schritte:
- • (400)
Beim Prüfen
von Dateien sucht das Anti-Virus-Programm
zuerst nach dem "Virusfrei"-Zertifikat, das
zu der zu prüfenden
Datei gehört.
Das "Virusfrei"-Zertifikat kann
sich in demselben Verzeichnis wie die Datei oder in einem ganz bestimmten
Verzeichnis mit allen "Virusfrei"-Zertifikaten befinden. Es können auch
andere Einstellungen festgelegt werden, aber die beiden vorstehenden
Einstellungen sind die in der vorliegenden Ausführungsform verwendeten Einstellungen.
- • (401)
Das Anti-Virus-Programm sucht nach dem "Virusfrei"-Zertifikat:
Wenn
kein "Virusfrei"-Zertifikat für diese
Datei gefunden wird,
- • (402)
wird der Prozess fortgesetzt, wie im Abschnitt über den Stand der Technik beschrieben wurde,
- • (403)
wird der Prozess fortgesetzt, indem die nächste Datei geprüft wird.
Wenn
das "Virusfrei"-Zertifikat für diese
Datei gefunden wird,
- • (404)
wird die Echtheit des "Virusfrei"-Zertifikats mit
Hilfe der Zertifikatsignatur und des öffentlichen Schlüssels der
VCA nachgewiesen. Der öffentliche
Schlüssel
der VCA befindet sich auf dem Arbeitsplatzrechner; falls er sich
dort nicht befindet, muss er über
einen sicheren Kanal abgerufen werden. Die Identität des VCA-Servers
kann von einer anderen Zertifizierungsstelle (CA), die über den
benötigten öffentlichen
Schlüssel
verfügt, nachgewiesen
werden.
- • (405)
Zusätzlich
zu der im vorhergehenden Schritt (404) festgelegten Zertifikatsignatur
werden das Ablaufdatum und der Name des Ausstellers (VCA-Name) geprüft und für gültig erklärt. Das
Anti-Virus-Programm
kann auch geprüft
und in bestimmten Versionen zur Erstellung des Zertifikats verwendet
werden, das von dem lokalen Anti-Virus-Programm in Abhängigkeit
von vorher festgelegten Regeln angenommen oder auch nicht angenommen
werden kann.
- • (406)
Wenn das "Virusfrei"-Zertifikat nicht
gültig ist
oder seine Echtheit mit überholten
oder unpassenden Regeln nachgewiesen wird, wird dies protokolliert,
um im Echtzeitmodus oder im Stapelbetrieb eine Auffrischaktion an
der VCA vorzunehmen, um das Zertifikat zu aktualisieren, damit es den
Regeln und dem entsprechenden Datum entspricht. Nachdem die neuen
Zertifikate empfangen wurden, lassen sie die erneute Verarbeitung dieser
Dateien zu, um sie auf Viren zu prüfen.
- • (407)
Wenn die Echtheit des "Virusfrei"-Zertifikats uneingeschränkt nachgewiesen
wurde, wird die Echtheit der Dateisignatur mit dem Wert des öffentlichen
Schlüssels
geprüft,
der in dem "Virusfrei"-Zertifikat enthalten
ist. Der Wert des öffentlichen
Schlüssels muss
mit der Dateisignatur übereinstimmen,
die ebenfalls in dem "Virusfrei"-Zertifikat enthalten
ist.
- • (408)
Die Dateisignatur wird geprüft.
Wenn
die Dateisignatur in Ordnung ist,
- • (409)
wird die nächste
Datei geprüft.
Wenn
die Dateisignatur nicht in Ordnung ist,
- • (410)
wird der Fehler protokolliert.
- • (411)
Das normale Anti-Virus-Programm wird aktiviert, um diese verdächtige Datei
zu prüfen.
- • (412)
Schließlich
wird die nächste
Datei geprüft.
-
Die
Datei "Fehler protokollieren" wird am Ende des
Dateiprüfungsvorgangs
verarbeitet und kann die VCA ersuchen, die Datei erneut zu prüfen, um
ein weiteres "Virusfrei"-Zertifikat zu erzeugen. Wenn in dieser
Datei ein Virus entdeckt wird, ruft der Sicherheitsbeauftragte alle
verfügbaren
Informationen ab, um in Erfahrung zu bringen, wo der Virus eingeführt wurde,
wer ihn eingeführt
hat ...
-
Vorteile
-
- • Die
vorgeschlagene Erfindung stellt eine bessere und schnellere Möglichkeit
zur Prüfung
von Dateien auf Viren bereit.
- • Server
bieten eine höhere
Sicherheit für
alle Dateien, die sie an ihre Clients senden.
- • Die
gesamte Anti-Virus-Prüfung
wird ein Mal auf dem Zertifizierungsstellenserver für "Virusfrei"-Zertifikate (VCA-Server)
durchgeführt.
- • Ein
Verfahren zur Aktualisierung von Zertifikaten wird bereitgestellt.
- • Normale
Anti-Virus-Prozesse können
als Sicherungsprozesse angewendet werden und Dateien ohne Zertifikat
bearbeiten. Die Kompatibilität
mit bereits vorhandenen Anti-Virus-Programmen ist leicht herzustellen,
da ein Software-Betreuer
- • die
Echtheit von "Virusfrei"-Zertifikaten für Dateien,
die über
ein solches Zertifikat verfügen,
prüfen kann
und
- • sich
auf ein beliebiges Anti-Virus-Programm stützen und dieses aufrufen kann,
um eine Virensuche nach dem Stand der Technik für andere Dateien durchzuführen.
- • Die
vorliegende Erfindung ist gedacht
- • für Benutzer,
wobei sie sich im Einklang mit aktuellen Sicherheitsstrategien befindet,
die auf der Zertifizierungsstelle und Zertifikaten beruhen, und
- • für Dateien,
als eine Erweiterung, die sich leicht installieren lässt.