-
Diese
Erfindung betrifft Verfahren zum Schutz von Computersystemen gegen
unerwünschte externe
Einflüsse,
wie zum Beispiel etwa Viren, ein Computerprogramm, das diesen Schutz
implementiert, und ein Computersystem, das dadurch geschützt ist.
-
Softwareanwendungen
für Computer
bieten zunehmend flexiblere Merkmale und werden mit der Entwicklung
der Computertechnik besser integriert. Unglücklicherweise hat dies den
Effekt, dass Computersysteme verstärkt Angriffen ausgesetzt sind:
Angriffe mit Software als Trojanische Pferde nutzen versteckte Merkmale
von Softwareanwendungen aus, die auf dem Computer eines Opfers laufen,
und Angriffe mit Viren führen
dazu, dass Software durch einen Angreifer eingebracht wird, die
sich von einem Computer zum anderen verbreitet. Schutz für Computersysteme
wird deswegen mit dem Fortschritt der Technik zunehmend schwieriger.
Angriffe auf Computersysteme können
Informationen beschädigen, die
sie speichern, ein Leck für
diese Informationen darstellen oder verhindern, dass legitimierte
Benutzer von Computersystemen ihre Arbeit verrichten.
-
Das
derzeit beste Vorgehen der Industrie beim Schutz von Computersystemen,
wie in dem Lehrbuch von Kaufman, Perlman und Speciner „Network
Security" beschrieben
ist, ist es, einen Software-Prüfer
auf Daten anzuwenden, wenn sie in ein Computersystem hineinkommen:
der Prüfer
identifiziert einen potenziellen Angriff, was ermöglicht,
dass alle Daten, die ein Angriff zu sein scheinen, abgewiesen werden.
Unglücklicherweise
ist es sehr schwierig, einen Angriff mit Software-Prüfern genau
zu identifizieren, und es ist oft erforderlich, auf der sicheren Seite
zu bleiben. Das Ergebnis ist, dass es möglich ist, dass es Daten, die
harmlos und vielleicht wertvoll sind, nicht erlaubt wird, in das
System hineinzukommen.
-
Ein
Computersystem, das harmlose und manchmal wertvolle Daten abweist,
ist kein zuverlässiges
Werkzeug im Geschäftsbetrieb,
und folglich ist es zur Verringerung von Datenverlust bekannt, abgewiesene
Daten an einem Ort abzulegen, der „Quarantäne" genannt wird: Quarantäne ist ein
Speicherbereich des Computers, auf den von normalen Benutzern und
ihren Softwareanwendungen, wie zum Beispiel Wortverarbeitungen,
nicht zugegriffen werden kann, der aber stattdessen für Computerexperten
zugänglich
ist, die die abgewiesenen Daten manuell prüfen können und entscheiden können, ob
sie schädlich
sind oder nicht. Manuelle Prüfung
von Daten in Quarantäne
durch Experten kann bei der Erfassung eines Angriffs viel genauer
sein als ein Software-Prüfer.
Folglich kann ein Teil der Daten, der von einem automatischen Software-Prüfer abgewiesen wurde,
nachfolgend als harmlos identifiziert werden, und ihm erlaubt werden,
in das Computersystem einzutreten.
-
Manuelle
Prüfung
von Daten in Quarantäne verbessert
die Zuverlässigkeit
von Kommunikation zwischen einem Computersystem und der Welt außerhalb
davon, aber sie führt
zu einer Verzögerung, die
signifikant sein kann, und erfordert teures Expertenpersonal, um
sie zu realisieren. Darüber
hinaus neigen sowohl automatische Prüfer als auch manuelle Prüfung zu
Fehlern. Insbesondere sind sowohl automatische als auch manuelle
Prüfungen
bei der Erfassung von neuen und deshalb unbekannten Formen von Angriffen
schwach. Die Arten von Angriffen sind mit Funktionalitäten verbunden,
die in Anwendungen verfügbar
sind; neue Arten von Angriffen tauchen deshalb auf, wenn Softwareanwendungen
weiterentwickelt werden. Folglich ist das derzeit beste Vorgehen
der Industrie beim Schutz von Computersystemen teuer und ineffektiv,
und diese Situation wird sich nicht verbessern.
-
Ein
Verfahren nach dem Stand der Technik, das „Sandbox" genannt wird, ist in dem Lehrbuch „JAVA Security" von Scott Oaks beschrieben:
es bietet eine Alternative zu dem Ansatz, Daten abzuweisen. Bei
diesem Verfahren wird Daten erlaubt, in ein Computersystem einzutreten,
aber die Systemumgebung, das heißt, die Art und Weise, auf
die die Daten verwendet werden können,
ist beschränkt.
Sollte sich herausstellen, dass Daten einen Angriff darstellen, haben
das Trojanische Pferd oder Viren, die ihn darstellen, nur Zugriff
auf die beschränkte
Umgebung und können
deshalb Softwareanwendungen außerhalb
davon, das heißt,
hinter der Sandbox-Grenze, nicht korrumpieren.
-
Die
herkömmlichste
Art einer Sandbox ist die, die für
JAVA®-Applets
bereitgestellt wird, welche unabhängige Softwareelemente sind,
die in der Sprache JAVA von Sun Microsystems geschrieben sind, die
auf einer großen
Vielfalt von verschiedenen Computertypen ausgeführt werden kann. Leider hat
die JAVA®-Sandbox
an den Nachteil, dass sie nur für
JAVA®-Applets
funktioniert, und nicht für
Daten in irgendeiner anderen Form. Zum Beispiel kann ein Microsoft®-Word-Dokument nicht innerhalb
einer JAVA®-Sandbox
von der Anwendung Microsoft® Word editiert werden.
-
In „A Flexible
Security Model for Using Internet Content", INTERNET, 28. Juni 1997 schlagen Islam
et al. eine Architektur vor, die ein vertrauenswürdiges Inhaltsverwendungssystem
mit Stempeln zur Steuerung der Ausführung von heruntergeladenen Inhalten
auf Basis von Vertrauensgraden für
die Hersteller, Zertifizierungsstellen, Netzwerke und Server des
Inhalts enthält
(siehe auch zwei IEEE- Veröffentlichungen
von Islam et. al. und Anand et. al. von 1997 mit dem gleichen Titel).
In dieser Architektur laden die Hauptpersonen (Clients) Inhalte
mit Inhaltsstempeln herunter, die verwendet werden, um die Inhalte
zu authentifizieren und ihre Protection Domain abzuleiten. Das Inhaltsverwendungssystem
mit Stempeln wird über
ein nicht vertrauenswürdiges
Netzwerk mit einem nicht vertrauenswürdigen Inhaltsserver, der Inhalte
zum Herunterladen hat, einem vertrauenswürdigen Inhaltsbewertungdienst
und einem vertrauenswürdigen
Verfahrensweisen-Verteilungsdienst verbunden, der Datenbanken mit
Verfahrensweisen an eine herunterladende Hauptperson und einen Hersteller
von Inhalt verteilt. Es gibt einen variierenden Vertrauensgrad für Hersteller
von Software.
-
Das
Inhaltsverwendungssystem mit Stempeln authentifiziert einen Inhalt
und erzeugt Protection Domains; es enthält (a) einen Interpreter für Inhalte,
(b) eine Datenbank mit Verfahrensweisen, (c) einen Sicherheitsverbesserer
und (d) eine Tabelle mit Zugriffsrechten. Hauptpersonen verwenden
einen Schlüsselverteilungsdienst,
der ihnen ermöglicht, den öffentlichen
Schlüssel
einer anderen Hauptperson sicher zu erhalten. Verschlüsselter
Inhalt mit Stempel, der von einer herunterladenden Hauptperson empfangen
wird, wird von dem Inhaltsverwendungssystem mit Stempeln authentifiziert,
um die Integrität
des Inhalts und der Quelle zu verifizieren: das Inhaltsverwendungssystem
mit Stempeln entschlüsselt
dann den verschlüsselten
Inhalt mit Stempel mit dem privaten Schlüssel der herunterladenden Hauptperson.
-
Das
System ist als modifizierter Applet-Viewer beschrieben, der sowohl
gestempelte als auch ungestempelte Applets bearbeiten kann. Ungestempelte
Applets werden entsprechend der Standardverfahrensweisen für Java-Applets
behandelt, das heißt, dem
Applet wird nicht erlaubt, auf Dateien auf dem Rechner des Benutzers
zuzugreifen, und zu Rechnern, die nicht ein Host sind, von dem das
Applet heruntergeladen wurde, werden keine TCP-Verbindungen zugelassen.
Jedem gestempelten Applet wird seine eigene Protection Domain zugewiesen.
Alle Threads, die von dem gestempelten Applet erzeugt wurden, werden
derselben Protection Domain zugeordnet. Folglich ist allen Threads,
die zu einem gestempelten Applet gehören, eine gemeinsame Berechtigungsliste
zugeordnet.
-
Sandboxen
für allgemeinere
Zwecke sind aufgebaut oder vorgeschlagen worden, sind aber nicht
in allgemeiner Verwendung: Beispiele umfassen Forschungssoftware
von der Universität
Kalifornien in Berkeley, die Janus genannt wurde, und die in einer
Veröffentlichung
mit dem Titel „Janus:
An Approach for Confinement of Untrusted Applications", David A. Wagner,
UC Berkeley Computer Science Division, Report CSD-99-1056, August
1999 beschrieben wurde. Diese nutzen Sicherheitsmerkmale innerhalb
eines Betriebssystems, um Software, die innerhalb der Sandbox ausgeführt wird,
von Standardsoftware zu separieren, die auf einem Computersystem in
der Form eines Desktops einer Haupt-Workstation ausgeführt wird.
-
Die
Verwendung von Sandboxen löst
das Problem jedoch nicht wirklich. Dies liegt daran, dass sich Viren
innerhalb der eingegrenzten Umgebung, die von der Sandbox bereitgestellt
wird, immer noch frei verbreiten können, und Benutzer unvermeidlich Daten über die
Grenze der Sandbox verschieben müssen,
was die geschäftliche
Notwendigkeit widerspiegelt, Daten auszutauschen.
-
Gegenstand
der Erfindung ist es, eine alternative Form des Schutzes von Computersystemen zu
schaffen.
-
Die
vorliegende Erfindung schafft ein Computersystemen zum Empfangen
von ankommenden Daten von einer externen Quelle, wobei das Computersystem
eine Sandbox-Anwendung, die Daten empfängt und einen Sandbox-Desktop
definiert, und eine Entschlüsselungseinrichtung
zum Entschlüsseln von
Daten enthält,
dadurch gekennzeichnet, dass
- (a) das Computersystem
eine Verschlüsselungseinrichtung
zum Verschlüsseln
von potenziellen schädlichen
ankommenden Daten enthält,
die sie in verschlüsselte
Daten umwandelt und sie dadurch harmlos macht,
- (b) die Entschlüsselungseinrichtung
dazu eingerichtet ist, die verschlüsselten Daten zu entschlüsseln, um
sie in entschlüsselte
Daten umzuwandeln, und
- (c) eine eingegrenzte Anwendung, die von der Sandbox-Anwendung
eingegrenzt ist, dazu eingerichtet ist, die entschlüsselten
Daten zu verarbeiten.
-
Die
Erfindung bietet den Vorteil, zu ermöglichen, dass potenziell schädliche Daten
untersucht und ausgeführt
werden, während
sie von der Sandbox-Anwedung eingegrenzt sind: dies ermöglicht wiederum
einem Benutzer, über
die Wichtigkeit der Daten zu entscheiden, während die Daten durch Verschlüsselung
in Quarantäne
sind. Unerwünschte
Daten können
verworfen werden, was die Notwendigkeit von weiterer Untersuchung
vermeidet. Darüber hinaus
müssen
wichtige Nachrichten nicht durch das Abwarten der Untersuchung durch
Experten verzögert
werden, sondern werden einem Systembenutzer in einer eingegrenzten
Quarantäne-Umgebung
zur Verfügung
gestellt, die durch einen Sandbox-Desktop bereitgestellt wird.
-
Die
Verschlüsselungseinrichtung
kann eine Prüfeinrichtung
enthalten, die zwischen harmlosen Daten und suspekten Daten unterscheidet,
und kann dazu eingerichtet sein, suspekte Daten zu verschlüsseln, harmlose
Daten jedoch nicht.
-
In
einem alternativen Aspekt schafft die vorliegende Erfindung ein
Computersystem, das potenziell schädliche Daten empfängt, die
von einer externen Quelle ankommen, wobei das Computersystem eine
Sandbox-Anwendung, die Daten empfängt und einen Sandbox-Desktop definiert,
und eine Entschlüsselungseinrichtung
zum Entschlüsseln
von Daten enthält,
dadurch gekennzeichnet, dass
- (a) das Computersystem
eine Prüfeinrichtung
enthält,
die:
(i) ankommende Daten empfängt,
(ii) Daten weiterleitet,
die ihr für
die Verarbeitung mit einer Anwendung, die einem Haupt-Desktop des
Computersystems zugeordnet ist, für harmlos erscheinen, und
(iii)
suspekte Daten zur Verschlüsselung
sendet,
- (b) das Computersystem außerdem
eine Verschlüsselungseinrichtung
enthält,
die suspekte Daten von der Überprüfungseinrichtung
empfangt und die suspekten Daten verschlüsselt, um sie in verschlüsselte Daten
umzuwandeln und sie dadurch harmlos zu machen,
- (c) die Entschlüsselungseinrichtung
dazu eingerichtet ist, die verschlüsselten Daten zu entschlüsseln, um
sie in entschlüsselte
Daten umzuwandeln, und
- (d) eine eingegrenzte Anwendung, die von der Sandbox-Anwendung
eingegrenzt ist, dazu eingerichtet ist, die entschlüsselten
Daten zu verarbeiten.
-
Die
eingegrenzte Anwendung kann dazu eingerichtet sein, nicht direkt
mit irgendeiner Anwendung zu kommunizieren, die einem Haupt-Desktop des
Computersystems zugeordnet ist. Dem Computersystem kann eine Einrichtung
zugeordnet sein, die einem Benutzer ermöglicht, Daten in verschlüsselter Form
aus der Sandbox-Anwendung
abzurufen, um sie zur Untersuchung durch Experten weiterzuleiten. Es
kann eine Einrichtung zum Überprüfen von
entschlüsselten
Daten, die aus der Sandbox-Anwendung entlassen werden, auf potenziell
schädlichen Inhalt
hin enthalten. Es kann über
eine Firewall mit der externen Quelle verbunden werden, die ein
Netzwerk ist. Die Firewall kann die Überprüfungseinrichtung vor der externen
Quelle schützen.
-
Das
Computersystem kann Software enthalten, die potenziell schädliche Daten
verschlüsselt, die
ein Benutzer möglicherweise
mit einer Anwendung verarbeiten möchte, die dem Haupt-Desktop zugeordnet
ist, statt der Sandbox-Anwendung. Es kann Software enthalten, die
einem Benutzer ermöglicht,
Daten aus der Sandbox-Anwendung in verschlüsselter Form abzurufen, um
sie der Untersuchung durch Experten zuzuleiten, und die entschlüsselten
Daten, die aus der Sandbox-Anwendung entlassen wurden, auf potenziell
schädlichen
Inhalt und Eignung für
die Verarbeitung durch eine Anwendung des Haupt-Desktops des Computersystems hin überprüft.
-
In
einem anderen Aspekt schafft die vorliegende Erfindung ein Verfahren
zum Schutz eines Computersystems gegen potenziell schädli che ankommende
Daten aus einer externen Quelle, wobei das Computersystem eine Sandbox-Anwendung,
die Daten empfängt
und einen Sandbox-Desktop definiert, und eine Einrichtung zum Entschlüsseln von Daten
enthält,
dadurch gekennzeichnet, dass das Verfahren folgende Schritte umfasst:
- (a) Verschlüsseln
von potenziell schädlichen
ankommenden Daten, um sie in harmlose verschlüsselte Daten umzuwandeln,
- (b) Entschlüsseln
der verschlüsselten
Daten, um sie in entschlüsselte
Daten umzuwandeln, und
- (c) Verarbeiten der entschlüsselten
Daten mittels einer eingegrenzten Anwendung, die durch eine Sandbox-Anwendung
eingegrenzt ist.
-
Der
Schritt der Verschlüsselung
potenziell schädlicher
ankommender Daten kann das Überprüfen, um
zwischen harmlosen Daten und suspekten Daten zu unterscheiden, und
das Verschlüsseln
von suspekten Daten, aber nicht das harmloser Daten, enthalten.
-
In
einem anderen alternativen Aspekt schafft die vorliegende Erfindung
ein Verfahren zum Schützen
eines Computersystems gegen potenzielle schädliche Daten aus einer externen
Quelle, wobei das Computersystem eine Sandbox-Anwendung, die Daten
empfängt
und einen Sandbox-Desktop definiert, und eine Entschlüsselungseinrichtung
zum Entschlüsseln
von Daten enthält,
dadurch gekennzeichnet, dass das Verfahren folgende Schritte umfasst:
- a) Überprüfen ankommender
Daten,
- b) Weiterleiten von Daten, die für die Verarbeitung mit einer
Anwendung, die einem Haupt-Desktop des Computersystems zugeordnet
ist, für
harmlos gehalten werden,
- c) Verschlüsseln
von suspekten Daten, um sie in verschlüsselte Daten umzuwandeln und
sie dadurch harmlos zu machen,
- d) Entschlüsseln
der verschlüsselten
Daten, um sie für
den Empfang durch die Sandbox-Anwendung in entschlüsselte Daten
umzuwandeln, und
- e) Verarbeiten der entschlüsselten
Daten mit einer eingegrenzten Anwendung, die von der Sandbox-Anwendung
eingegrenzt ist.
-
Die
Schritte des Überprüfens von
ankommenden Daten, des Weiterleitens, wenn sie harmlos erscheinen,
des Sendens von suspekten Daten zur Verschlüsselung und der Schritt ihrer
Verschlüsselung
können
von einer Überprüfungseinrichtung
ausgeführt
werden, die durch eine Firewall gegen die externe Quelle geschützt ist.
-
Die
eingegrenzte Anwendung kann dazu eingerichtet sein, nicht mit irgendeiner
Anwendung zu kommunizieren, die dem Haupt-Desktop zugeordnet ist.
-
Das
Verfahren kann Den Schritt des Abrufens von Daten aus der Sandbox-Anwendung
in verschlüsselter
Form umfassen, um sie zur Überprüfung durch
Experten weiterzuleiten. Es kann das Überprüfen der entschlüsselten
Daten, die aus dem Sandbox-Desktop entlassen wurden, auf potenziell
schädlichen
Inhalt hin enthalten.
-
In
einem weiteren Aspekt schafft die vorliegende Erfindung Computersoftware
zum Schützen eines
Computersystems gegen potenziell schädliche ankommende Daten, die
von einer externen Quelle empfangen werden, wobei die Computersoftware eine
Entschlüsselungssoftware
zum Entschlüsseln von
Daten und eine Sandbox-Anwendung
umfasst, die Daten empfängt
und einen Sandbox-Desktop
definiert, dadurch gekennzeichnet, dass die Computersoftware dazu
eingerichtet ist, das Computersystem zu steuern, sodass es
- (a) potenziell schädliche ankommende Daten verschlüsselt, um
sie in verschlüsselte
Daten umzuwandeln und sie dadurch harmlos zu machen,
- (b) die verschlüsselten
Daten entschlüsselt,
um sie in entschlüsselte
Daten umzuwandeln, und
- (c) die entschlüsselten
Daten mit einer eingegrenzten Anwendung zu verarbeiten, die von
der Sandbox-Anwendung eingegrenzt ist.
-
Die
Computersoftware kann dazu eingerichtet sein, das Computersystem
derart zu steuern, dass es zwischen harmlosen Daten und suspekten
Daten unterscheidet und suspekte Daten verschlüsselt, harmlose Daten jedoch
nicht.
-
In
einem weiteren alternativen Aspekt schafft die vorliegende Erfindung
Computersoftware zum Schützen
eines Computersystems gegen potenziell schädliche ankommende Daten, die
aus einer externen Quelle empfangen werden, wobei die Computersoftware
Entschlüsselungssoftware
zum Entschlüsseln
von Daten und eine Sandbox-Anwendung
enthält,
die Daten empfängt
und einen Sandbox-Desktop definiert, dadurch gekennzeichnet, dass
die Computer Software dazu eingerichtet ist, das Computersystem
zu steuern, sodass es
- (a) ankommende Daten überprüft,
- (b) Daten weiterleitet, die für die Verarbeitung mit einer
Anwendung, die einem Haupt-Desktop des Computersystems zugeordnet
ist, harmlos erscheinen,
- (c) suspekte Daten verschlüsselt,
um sie in verschlüsselte
Daten umzuwandeln und sie dadurch harmlos zu machen,
- (d) verschlüsselte
Daten entschlüsselt,
um sie in entschlüsselte
Daten für
den Empfang durch die Sandbox-Anwendung umwandelt, und
- (e) die entschlüsselten
Daten mit einer eingegrenzten Anwendung verarbeitet, die durch die Sandbox-Anwendung
eingegrenzt ist.
-
Die
eingegrenzte Anwendung kann dazu eingerichtet sein, nicht direkt
mit irgendwelchen Anwendungen zu kommunizieren, die einem Haupt-Desktop des
Computersystems zugeordnet sind.
-
Die
Computersoftware kann dazu eingerichtet sein, das Computersystem
so zu steuern, dass es Daten aus der Sandbox-Anwendung zur Weiterleitung
zur Überprüfung durch
Experten in verschlüsselter
Form abruft. Es kann dazu eingerichtet sein, das Computersystem
so zu steuern, dass es entschlüsselte
Daten, die aus dem Sandbox-Desktop entlassen
wurden, auf potenziell schädlichen
Inhalt hin prüft.
-
Damit
die Erfindung vollständiger
verstanden wird, werden nun Ausführungen
davon, nur als Beispiel, mit Bezug auf die Zeichnungen im Anhang
beschrieben, in denen:
-
1 und 2 schematische
Diagramme von Computersystemen nach dem Stand der Technik sind;
-
3 ein
schematisches Diagramm des Schutzes für Computer nach der Erfindung
ist;
-
4 und 5 die
Verwendung von Firewalls zum Schutz für Computer darstellen;
-
6 ein
Flussdiagramm von einer Schutzprozedur für Computer nach der Erfindung
ist; und
-
7 die
Verwendung von Haupt- und Sandbox-Desktops auf einer Workstation
nach der Erfindung darstellt.
-
In 1 ist
ein Schutz für
Computersysteme 10 nach dem Stand der Technik dargestellt,
der dem derzeit besten Vorgehen der Industrie entspricht: ein externes
Computernetzwerk 12 liefert ankommende Daten 14 an
eine automatische Inspektionssoftware 16 (Software-Prüfer), wenn
die Daten in ein Computersystem eintreten (nicht gezeigt). Der Software-Prüfer 16 leitet
alle suspekten Daten 18 an einen Quarantäne-Speicher 20 weiter,
der als ein Teil des Dateienspeichers eines Server-Computers implementiert
ist, der durch die Zugriffskontrollen des Betriebssystems geschützt ist;
er sendet harmlose Daten 22 an ein internes Empfangsnetzwerk 24.
Der Quarantänebereich
liegt in einem zentralen Netzwerkbetriebszentrum und ist nur für
Überprüfungsmitarbeiter
mit Expertise 26 zugänglich,
die für
die manuelle Überprüfung der
suspekten Daten verantwortlich sind. Diese Experten überwachen
den Quarantänespeicher 20 auf
harmlose Daten hin, und wenn welche gefunden werden, werden sie
als abgeklärte
Daten 28 an das Empfangsnetzwerk 24 gesendet.
Der Software-Prüfer 16 wird
sowohl einen Teil von den Daten als suspekt behandeln, der tatsächlich harmlos
ist, als auch dabei versagen, neue Arten von Angriffen zu identifizieren. Überprüfungsmitarbeiter
mit Expertise 26 sind teuer, bringen eine Verzögerung ein
und sind nicht unfehlbar.
-
In 2 ist
die Methode nach dem Stand der Technik dargestellt, die als Sandboxing
bekannt ist. Ein externes Computernetzwerk 42 liefert ankommende
Daten 44 an den Computer eines Benutzers 46, der
Teil eines internen Computernetzwerks 48 ist. Die Daten 44 sind
nicht für
Softwareanwendungen des Haupt-Desktops (z. B. Textverarbeitung)
zugänglich,
die auf dem Computer 46 laufen, und die durch Kreise wie
etwa 50 angegeben sind: stattdessen werden die Daten 44 zu
einer Sandbox 52 weitergeleitet, die eine eingegrenzte
Umgebung bietet, und die Daten können
Softwareanwendungen außerhalb
davon, das heißt
hinter der Sandbox-Grenze, nicht korrumpieren. Die Sandbox kann
implementiert werden, indem die Anwendungssoftware, die darin läuft, interpretiert
wird, wie es bei JAVA der Fall ist, und sichergestellt wird, dass
keine Anweisung existiert, die Zugriff auf Daten gibt, die hinter
der Grenze der Sandbox liegen. Alternativ kann die Anwendungssoftware direkt
ausgeführt
werden, aber es wird Zugriffskontrolle durch das Betriebssystem
auf alle Ressourcen hinter der Grenze der Sandbox angewendet, um
zu verhindern, dass die Software in der Sandbox darauf zugreift.
-
Ein
Schutz für
Computersysteme nach der Erfindung ist in 3 dargestellt.
Ein externes Computernetzwerk 60 (z. B. das Internet) liefert
ankommende Daten 62 an Prüf-Software 46, wenn
die Daten in das Computersystem eintreten (nicht gezeigt). Der Software-Prüfer 64 leitet
alle Daten 65 weiter, die er für harmlos hält; er leitet alle suspekten
Daten 66 an einen Verschlüsseler 68 weiter,
der sie verschlüsselt,
um sie unverwendbar und damit harmlos zu machen. Alle symmetrischen
Verschlüsselungsalgorithmen,
die Daten unverwendbar machen, sind geeignet, wie etwa die Norm „Data Encryption
Standard (DES)",
die in der US Federal Information Processing Standards Publication
46-2 beschrieben ist.
-
Harmlose
Daten 65 und verschlüsselte
suspekte Daten 70 werden an den Computer eines Benutzers 72 weitergeleitet,
der Teil eines internen Computernetzwerks 74 ist. Der Computer 72 hat
intern einen Desktop-Quarantänebereich
oder eine Sandbox 76 für
suspekte Daten, um dies gilt für
jeden Computer 72, der in das Netzwerk 74 eingebunden ist.
Auf dem Computer 72 laufen Anwendungen des Haupt-Desktops,
wie etwa 78, die verschlüsselte Daten 70 empfangen,
sie speichern und sie weiterleiten können, aber diese Anwendungen 78 können sie nicht
in irgend einer bedeutungsvollen Weise nutzen, weil sie verschlüsselt sind.
Ebenso können
die Anwendungen 78 von den verschlüsselten Daten nicht gestört werden,
weil die Verschlüsselung
es unmöglich
macht, die Daten auszuführen
oder zu interpretieren.
-
Beim
Eintreten in die Sandbox 76 werden die verschlüsselten
Daten von einer Sandbox-Importfunktion 80 in eine benutzbare
Form entschlüsselt: sie
werden dann für
Softwareanwendungen oder -werkzeuge 82 zugänglich,
die in der Sandbox 76 ausgeführt werden. In der Sandbox 76 ist
Prüf-Software
für das
Entlassen 84 enthalten, die prüft, ob ein extrahierter Teil
aus den entschlüsselten
Daten harmlos ist oder nicht. Daten, die die Prüfung beim Entlassen 84 nicht
bestehen, weil sie suspekt sind, können ausreichend wichtig sein,
sodass manuelle Inspektion durch Experten erforderlich ist. In solchen Fällen reicht
ein Benutzer eine Anfrage 86 bei einer Anfragewarteschlange 88 ein,
dass die suspekten Daten überprüft werden
sollen, vielleicht per E-Mail oder über eine Web-Schnittstelle.
Experten 90 nehmen Anfragen von der Warteschlange 88 an
und reagieren, indem sie die suspekten Daten entschlüsseln und
sie manuell überprüfen.
-
Der
Vorteil dieses Ansatzes ist, dass ein Benutzer die suspekten Daten
untersuchen kann und sie sogar ausführen kann, wenn es erforderlich
ist, während
sie von der Sandbox eingegrenzt sind, was dem Benutzer ermöglicht, über die
Wichtigkeit der suspekten Daten zu entscheiden, die durch die Verschlüsselung
in Quarantäne
sind. Wenn der Benutzer entscheidet, dass die suspekten Daten für die geschäftlichen
Erfordernisse des Benutzers irrelevant sind, z. B. unerbetenes Werbematerial,
kann der Benutzer es verwerfen, was auf Seiten des manuellen Überprüfungsteams
unnötige
Bemühungen
einspart. Wenn umgekehrt die suspekten Daten ein Teil einer wichtigen
Nachricht sind, die für
die Arbeit des Benutzers relevant ist, wird die ganze Nachricht
nicht durch Abwarten der Überprüfung durch
ein manuelles Überprüfungsteam
verzögert,
sondern stattdessen für
den Benutzer in der eingegrenzten Umgebung seiner Desktop-Sandbox verfügbar gemacht.
-
Der
Desktop-Quarantänebereich 76,
der durch die Erfindung realisiert wird, ist ein Sandbox-Typ, weil
ein Benutzer darin mit suspekten Daten in entschlüsselter
Form arbeiten kann, indem er eingegrenzte Sandbox-Anwendungen 82 verwendet. Die
Sandbox kann mit geeigneten Werkzeugen, die nach dem Stand der Technik
bekannt sind, aufgebaut werden, z. B. mit JAVA oder Steuerelementen
des Betriebssystems. Die kryptographischen Mechanismen stellen sicher,
dass von den Anwendungen des Haupt-Desktops des Benutzers auf die
suspekten Daten außerhalb
der Sandbox 76 nicht in unverschlüsselter Form zugegriffen werden
kann. Versuche von suspekten Daten, Schaden zu verursachen, werden
von der Sandbox 76 vereitelt.
-
Um
eine geschäftliche
Funktion auszuführen,
kann ein Computerbenutzer Teile aus suspekten Daten extrahieren
müssen,
beispielsweise, indem er Ausschneiden-und-Einfügen-Funktionen verwendet, die
von den Anwendungen bereitgestellt werden, und sie aus der Sandbox 76 verschiebt,
um sie für
Anwendungen des Haupt-Desktops 78 zugänglich zu machen: es ist dann
erforderlich, zu überprüfen, ob jedes
extrahierte Teil harmlos ist. In vielen Fällen ist es automatischer Prüf-Software
für das
Entlassen wie etwa 84 möglich,
zuverlässig
zu behaupten, dass ein extrahierter Teil harmlos ist, sogar obwohl
es nicht möglich
ist, dies für
die gesamten Daten insgesamt zu tun. Zum Beispiel können Daten
in der Form eines Dokumentes, das Makros enthält, als suspekt betrachtet
werden, aber das Dokument kann extrahierte Teile wie etwa Absätze von
Text enthalten, die durch die Prüf-Software
als harmlos eingestuft werden.
-
In
vielen Fällen
vermeidet die Sandbox 76 die Notwendigkeit einer manuellen Überprüfung: Daten,
die suspekt sind, müssen
jedoch manchmal aus der Sandbox 76 genommen und für den Zugriff
durch Anwendungen 78 an eine Haupt-Desktop-Umgebung des
Benutzers gesendet werden. Dies wird von der Prüfung beim Entlassen 84 verhindert,
weil sie suspekt sind, und erfordert folglich immer noch manuelle Untersuchung
durch Experten 90, an die Anfragen 86 für manuelle
Untersuchung eingereicht werden.
-
Da
ein Benutzer nun die manuelle Inspektion anfragt, ist es möglich, Prioritäten und
Kosten entsprechend der geschäftlichen
Notwendigkeiten zuzuordnen. Darüber
hinaus werden Überprüfungen viel seltener
durchgeführt,
und nur, wenn sie unbedingt erforderlich sind, weil die Erfindung
unnötiges Überprüfen von
Material vermeidet, das z. B. unwichtig ist, oder von dem eine „saubere" oder editierte Version auf
Nachfragen des Benutzers von dem Sender erhalten werden kann.
-
Die
Erfindung setzt Standardverfahren zum Erfassen von Trojanischen
Pferden und Virussoftware ein, um ankommende Daten auf suspekte
Inhalte hin zu untersuchen. Sollte irgendein Teil der ankommenden
Daten, z. B. ein Anhang von einer E-Mail-Nachricht, als potenzieller
Angriff betrachtet werden, wird er verschlüsselt. Die originalen Daten werden
modifiziert, indem suspekte Teile durch ein verschlüsseltes Äquivalent
ersetzt werden, und den auf diese Weise modifizierten Daten wird
ermöglicht, dass
mit ihnen wie normal fortgefahren wird. Folglich wird ermöglicht,
dass mit einer E-Mail-Nachricht
mit einem suspekten Anhang fortgefahren wird, wobei dieser Anhang
durch eine verschlüsselte
Version ersetzt wird, aber der Body der Nachricht und alle anderen
Anhänge
bleiben lesbar. Die Verschlüsselung macht
Daten unbenutzbar, folglich kann für verschlüsselte suspekte Daten sicher
ermöglicht
werden, dass sie auf einen Computer des Benutzers 72 weitergeleitet
werden: sie bleiben unbenutzbar, bis sie mit einem geeigneten Entschlüsselungsschlüssel entschlüsselt werden,
der für
Benutzer oder ihre Haupt-Desktop-Anwendungen
nicht verfügbar
ist, aber wie gesagt der Sandbox-Importfunktion 80 zur Verfügung steht.
-
Nachdem
ein Benutzer eine verschlüsselte Form
von irgendwelchen suspekten Daten empfangen hat, sieht er sie an
oder manipuliert sie, indem er sie in die Sandbox 76 weiterleitet,
woraufhin sie in eine benutzbare Form entschlüsselt werden, wie durch 80 angegeben
ist. Wenn sie entschlüsselt
sind, kann auf die suspekten Daten durch Softwareanwendungen 82 zugegriffen
werden, die in der Sandbox 76 laufen. Der Haupt-Desktop
und die Sandbox können dieselben
Anwendungen laufen lassen, aber sie erzeugen separate Exemplare
von diesen Anwendungen, die miteinander nicht kommunizieren können. Zum
Beispiel kann Microsoft ® Word
verwendet werden, um Dokumente sowohl auf dem Haupt-Desktop als
auch in der Sandbox zu editieren: wenn dies so ist, kann Word in
zwei separaten Exemplaren laufen, das heißt, eines für den Haupt-Desktop und ein
anderes für
die Sandbox, und die zwei Exemplare können nicht direkt miteinander
kommunizieren.
-
4 (in
der Teile, die denen entsprechen, die zuvor beschrieben wurden,
gleich bezeichnet sind) zeigt das interne oder Firmennetzwerk 74,
in dem einen Mailserver 102 und eine Anzahl von Benutzercomputern
(Workstations) wie etwa 72 gehostet sind. Das Netzwerk 74 wird
gegen feindliche Daten im Internet 60 durch einen Computer 108 verteidigt,
der eine Firewall genannt wird, die die Kommunikation zwischen Anwendungen
kontrolliert, die auf Computern in verschiedenen Netzwerken laufen. Das
Lehrbuch „Building
Internet Firewalls" von
D. B. Chapman und E. D. Zwicky offenbart das Dazwischenschieben
eines Proxys zwischen Netzwerke als Softwareanwendung auf einem
Computer wie etwa 108. Der Computer 108 wird eine
Proxy-Firewall oder eine Bastionshost-Firewall genannt. Softwareanwendungen
auf den verbundenen Netzwerken 60 und 74 kommunizieren über einen
Anwendungsproxy auf dem Computer 108.
-
Die
Computer-Firewall ist detaillierter in 5 gezeigt:
sie umfasst einen Bastionshost 110, der Netzwerkzugang
zwischen dem Internet 60 und dem Firmennetzwerk 74 zusammen
mit einem Prüfer 116 aushandelt,
der mit dem Bastionshost 110 über ein zweites Netzwerk 114 verbunden
ist, das ausschließlich
für diesen
Zweck reserviert ist, das im Allgemeinen eine entmilitarisierte
Zone genannt wird.
-
Der
Bastionshost 110 ist kommerziell verfügbare Firewall-Software, wie
etwa Gauntlet von Network Associates. Der Prüfer 116 ist ein Computer,
auf dem ein E-Mail-Proxy gehostet ist, der die serverseitigen Komponenten
der Desktop-Quarantäne
enthält, das
heißt,
den Prüfer 64 und
den Verschlüsseler 68.
-
Das
Flussdiagramm, das in 6 dargestellt ist, zeigt die
Funktionsweise des Prüfers 116 in
der vorliegenden Ausführung
der Erfindung, obwohl Prüfungen
von E-Mails mit Standard-Virusprüfungssoftware
implementiert werden kann, wie etwa Sophos Sweep, die kommerziell
verfügbar
ist. Bei 140 wird eine E-Mail-Nachricht von einem externen
Sender über
den Bastionshost 110 (nicht gezeigt) angenommen. Die Nachricht
wird bei 142 in einzelne Teile zerlegt (Body der Nachricht
und Anhänge),
und ein erster solcher Teil wird bei 144 von dem Virusprüfer 116 zur Überprüfung bei 146 ausgewählt. Wenn
für den Teil
bei 148 befunden wird, dass er gefährlichen Code enthält, dann
wird die gesamte Nachricht in Server-Quarantäne 150 gebracht, und
die Verarbeitung der Nachricht bei 152 ausgesetzt. Wenn
alternativ für
den Teil bei 148 nicht befunden wird, dass er gefährlichen
Code enthält,
und wenn er außerdem bei 154 als
sicher verifiziert worden ist, wird er dann zur nächsten Stufe 156 weitergeleitet,
wo er vorübergehend
gespeichert wird.
-
Wenn
der Teil der Nachricht bei 154 nicht als sicher (harmlos)
verifiziert werden kann, wird er bei 158 verschlüsselt: die
resultierende verschlüsselte Version
ersetzt den nicht verifizierten Teil der Nachricht und wird zur
vorübergehenden
Speicherung zur nächsten
Stufe 156 weitergeleitet. Wenn ein oder mehrere Teile in
der Nachricht verbleiben, dann wird der nächste Teil bei 160 ausgewählt, und
die Prozedur, die mit dem Schritt 146 beginnt, wird für diesen Teil
iteriert. Dies wird für
die nachfolgenden Teile der Nachricht fortgesetzt, bis keine Teile
mehr verbleiben oder bis der Abbruch der Verarbeitung der Nachricht bei 152 stattgefunden
hat, je nachdem, was zuerst eintritt. Wenn es zu dem Zeitpunkt,
zu dem der letzte Teil der Nachricht verarbeitet worden ist, keinen
solchen Abbruch gegeben hat, hat sich bei 156 eine teilweise
verschlüsselte
und teilweise nicht verschlüsselte
E-Mail-Nachricht in dem Speicher angesammelt. Diese gespeicherte
Nachricht wird bei 162 über die
Bastionshost-Firewall 110 zum Firmen-Mailserver 102 weitergeleitet.
-
Die
Workstations 72 sind wie in 7 gezeigt
organisiert, in der Teile, die Teilen entsprechen sind, die früher beschrieben
wurden, gleich benannt sind. Jede Workstation 72 hat das
Merkmal, dass Verarbeitung und Speicherung aufgeteilt und entsprechenden
Benutzerdesktops zugeordnet sind – einem Haupt-Desktop 200,
auf dem ein Benutzer an vertrauenswürdigen Daten mit Anwendungen 78 arbeitet,
und einem Sandbox-Desktop mit Softwareanwendungen wie etwa 82,
um mit Daten in Desktop-Quarantäne
zu arbeiten. Die Haupt- und Sandbox-Desktop Anwendungen 78 und 82 sind
voneinander isoliert: das heißt,
die Haupt-Desktop Anwendungen 78 müssen nicht auf Daten zugreifen,
die von den Sandbox-Desktop Anwendungen 82 verarbeitet werden,
und können
deshalb nicht durch solche Daten geschädigt werden.
-
Auf
der Workstation 72 läuft
Software für
drei spezielle Systemprozesse, ein Entschlüsselungsprozess 80,
ein Verschlüsselungsprozess 208 und
ein Prüfungsprozess 210:
diese stellen einem Benutzer die Funktion zur Verfügung, Daten
zwischen den zwei Desktops 76 und 200 zu bewegen.
Der Entschlüsselungsprozess 80 nimmt
verschlüsselte
Daten von dem Haupt-Desktop 200, entschlüsselt sie, und
verschiebt die in den Sandbox-Desktop. Der Verschlüsselungsprozess 208 führt einen
umgekehrten Vorgang durch, indem er entschlüsselte Daten aus der Sandbox 76 nimmt,
sie verschlüsselt
und die in den Haupt-Desktop 200 verschiebt. Der Prüfungsprozess 210 verschiebt
Daten aus der Sandbox 76 in den Haupt-Desktop 200,
ohne sie zu verschlüsseln, wobei
sie dem Kriterium unterworfen sind, dass Daten, die auf diese Weise
verschoben werden, Inhaltsprüfungen
bestanden haben, die feststellen, dass sie keinen potenziell schädigenden
Code enthalten.
-
Noch
einmal auf die 4 und 5 bezugnehmend
kann hier die Firewall 108 eine Nachricht mit einem Anhang
empfangen, der als eine ausführbare
Datei erscheint, die aber nicht eindeutig ein Angriff ist: der Bastionshost 110 leitet
die Nachricht dann an den Prüfer 116 weiter.
Wenn der Prüfer 116 feststellt,
dass der Anhang suspekt ist, verschlüsselt ihn der Prüfer 116 mit
einem Schlüssel
für die
Verschlüsselung.
Die resultierende Nachricht mit dem verschlüsselten Anhang wird über den
Bastionshost 110 zurück
und weiter zum Firmen-Mailserver 102 geleitet.
-
Auf
der Workstation 72 des Nachrichtenempfängers läuft eine Mail-Client-Softwareanwendung 212 auf
dem Haupt-Desktop 200 und ruft die Nachricht von dem Mailserver 102 ab.
Der Mail-Client 212 oder irgendeine andere Software 78,
die auf dem Haupt-Desktop 200 läuft, kann auf den verschlüsselten
Anhang zugreifen: diese Software kann jedoch den verschlüsselten
Anhang nicht entschlüsseln,
weil sie keinen Zugriff auf den relevanten Schlüssel für die Verschlüsselung
hat. Folglich können
suspekte Daten, die in dem verschlüsselten Anhang enthalten sind,
nicht ausgeführt
werden oder darauf zugegriffen werden.
-
Wenn
ein Benutzer entscheidet, dass der verschlüsselte Anhang uninteressant
ist, vielleicht, indem er die Nachricht liest, an die er angehängt ist, kann
er gelöscht
werden. Ein Benutzer, der auf Daten in dem verschlüsselten
Anhang zugreifen möchte, muss
jedoch erst den Entschlüsselungsprozess 80 verwenden,
um den Anhang zu entschlüsseln
und seine Daten in den Sandbox-Desktop weiterzuleiten. Nach sie
dem in dem Sandbox-Desktop sind, kann von Softwareanwendungen 82 auf
die Daten zugegriffen werden, oder sie können davon ausgeführt werden,
aber die Einschränkungen
durch die Sandbox beschränken
das Verhalten der Anwendungen, sodass, wenn die Daten in dem Anhang
sich als ein Angriff erweisen, alle Folgeschäden auf das Innere der Sandbox
beschränkt
bleiben, was nur die Anwendungen 82 und ihre Daten betrifft,
und nicht die Anwendungen 78.
-
Wenn
der Benutzer manche der Daten, die in dem Anhang enthalten sind,
in den Haupt-Desktop 200 zurückübernehmen muss, werden sie
durch den Prüfungsprozess 210 geleitet.
Dieser wendet Inhaltsprüfungen
auf die Daten an, und erlaubt ihnen nur, zu passieren, wenn ihre
Sicherheit festgestellt wird. Daten, die den Prüfungsprozess 210 nicht
bestehen, werden nicht von dem Sandbox-Desktop in den Haupt-Desktop 200 weitergeleitet.
-
Wenn
die Daten, die in dem Anhang enthalten sind, gebraucht werden, aber
den Prüfungsprozess 210 nicht
bestehen, kann der Benutzer sie über den
Verschlüsselungsprozess 208 zurück zu dem Haupt- Desktop 200 leiten:
dies verschlüsselt
die Daten, die unbenutzbar und folglich sicher werden. Die verschlüsselten
Daten können
(z. B. per E-Mail) zur manuellen Überprüfung zu einem zentralen Team von
Sicherheitsexperten weitergeleitet werden.
-
In
dem Beispiel oben wird eine Nachricht oder ein Anhang in Server-Quarantäne 150 gebracht, wenn
es sich erweist, dass sie oder er gefährlichen Code enthält. Es sind
jedoch auch alternative Strategien möglich: zum Beispiel kann eine
Nachricht auf ihren Weg geschickt werden, nachdem ein suspekter Teil
durch eine Mitteilung über
die Entfernung des Teils ersetzt wurde. Alternativ können Teile,
die für potenziell
gefährlich
befunden wurden, als solche markiert, verschlüsselt und dann auf ihren Weg
geschickt werden, wobei sie von den verbleibenden unverschlüsselten
Teilen begleitet werden. Der Entschlüsselungsprozess 80 auf
der Workstation eines Benutzers 72 entschlüsselt keine
potenziell gefährlichen
Daten, aber das Äquivalent
auf dem Desktop des zentralen Teams von Sicherheitsexperten tut dies.
-
Die
Erfindung verbessert die Handhabung von Daten, die für suspekt
befunden wurden, durch Prüf-Software
wie etwa 116. Dies verringert den Aufwand, der für den manuellen
Eingriff von Experten erforderlich ist, um die suspekten Daten zu überprüfen, weil
ein Benutzer in vielen Fällen
alle erforderlichen Aktionen unternimmt, ohne Experten zu involvieren: das
heißt,
ein Benutzer löscht
unerwünschte
Daten in manchen Fällen,
und fordert in anderen die Wiederholung von Nachrichten von einem
Sender an. Diese Aktionen des Benutzers vermeiden die Notwendigkeit
der Untersuchung durch Experten, und beseitigen folglich Verzögerungen,
die dadurch eingebracht werden.
-
Geeignete
Computersoftware oder Computerprogramme, um die Erfindung zu implementieren, sind
entweder kommerziell verfügbar
(z. B. Sandbox, Firewall oder Prüf-Software),
oder können
von einem Programmierer mit gewöhnlicher
Ausbildung planmäßig implementiert
werden (z. B., wenn die Bildung von Schnittstellen erforderlich
ist), ohne dass dies eine Erfindung erfordern würde. Sie kann leicht auf ein
Trägermedium
aufgenommen werden und auf einem Computersystem der oben beschriebenen
Art laufen. Eine solche Software und ein solches System werden deshalb
nicht weiter beschrieben.