-
Bereich der
Erfindung
-
Die
Erfindung betrifft allgemein ein Kommunikationssystem, das das Herunterladen
von Daten auf ein einstellbares Teilnehmergerät steuert, und ist insbesondere,
jedoch nicht ausschließlich
auf die Regulierung von Anwendungssoftware in einem herunterladefähigen Anschluss,
wie einer Funkkommunikationsvorrichtung der dritten Generation anwendbar.
-
Hintergrund
der Erfindung
-
Mit
der Entwicklung der Kommunikationstechnologie geht eine ständig wachsende
Nachfrage der Teilnehmer nach einer persönlichen Einstellung der Funktionen
der Teilnehmergeräte
zur Erfüllung
individueller (oder gruppenspezifischer) Anforderungen einher. Derartige
Teilnehmergeräte
können
unterschiedliche Formen annehmen, einschließlich i) des für zellulare
Systeme der dritten Generation vorgeschlagenen, so genannten Softwarefunks, wie
des universellen Systems für
die mobile Kommunikation (UMTS) und ii) einstellbarer Endgeräte, wie eines
Computers in einem lokalen Netzwerk (LAN) (sind jedoch nicht auf
diese begrenzt).
-
Seit
geraumer Zeit ist das Herunterladen von Software ein Anliegen. Nun
werden mit dem Internetzugriff und der Entwicklung von Datenpaketübertragungstechnologien
in der Funkfrequenzdomäne
das Herunterladen von Software und die Endgeräteeinstellung Wirklichkeit.
Das Herunterladen von Software von einem Server (oder einem Anbieter
von Inhalten) kann selbstverständlich
in einer Reihe von Erscheinungsformen erfolgen, einschließlich vollständiger Softwareanwendungen
(wie für
mobile Geräte spezifische
Ersatz-Firmware)
und Softwarekorrekturen, die sich bestimmter technischer Fehler
annehmen, die nach einer anfänglichen
Freigabe eines Codes identifiziert wurden. Das Herunterladen von
Software kann auch dahingehend inhaltsspezifisch sein, dass es von
einem Anbieter von Inhalten auf einer Nachfragebasis bewertet wird
und daher als allgemeine Internetinformation erscheinen kann, wie E-Commerce-Nachrichten, Webseiten,
etc. Überdies kann
Software in Form eines Codes auf Zusatzsteckspeichererweiterungskarten
oder SIM-Karten zur Verwendung in Teilnehmergeräten bereitgestellt werden.
-
Ein
Beispiel eines Systems, das einen Computer vor verdächtigen
Downloads schützt,
wird in der Patentkooperationsvertrags-Patentanmeldungsveröffentlichung
Nr. WO 98/21683A vorgestellt. Das beschriebene System umfasst ein
Sicherheits verfahren, das auf einen Client angewendet werden, an
den ein Download adressiert ist.
-
In
der Patentkooperationsvertrags-Patentanmeldungsveröffentlichung
Nr. WO 95/33237A1 ist eine Computervirusabfangvorrichtung beschrieben, die
Computerviren erfasst und eliminiert, bevor sie in ein Computersystem
eindringen können.
-
Bei
den mobilen Kommunikationssystemen der nächsten Generation werden mobile
Teilnehmereinheiten in der Lage sein, über paketvermittelte Übermittlungsdienste
sowohl über
eine Luftschnittstelle als auch über
ein Leitungs- oder ein optisches Netzwerk direkt auf das Internet
zuzugreifen. Überdies
ist es vorstellbar, dass die Dienste in der Zukunft vom Kommunikationsnetz
abgekoppelt sind, was impliziert, dass die Rollen der Netzbetreiber,
Dienstleistungsanbieter und Hersteller klar unterschieden und von
nicht miteinander verbundenen Parteien unabhängig unterstützt werden
können.
Theoretisch kann das Herunterladen von entweder Software oder Inhalten
daher von jeder verfügbaren
Quelle erfolgen. Überdies
ist ersichtlich, dass die Offenheit des Internet, obwohl sie wünschenswert
ist, zu einem sehr unsicheren Netzwerk führt, in dem ein Teilnehmer
durch das Herunterladen eines inkompatiblen oder absichtlich bösartigen
Codes versehentlich die Funktionsfähigkeit seines eigenen Teilnehmergeräts gefährden kann.
In dem zuerst genannten Fall kann ein gleichzeitiger Betrieb des
heruntergeladenen Codes mit auf dem Teilnehmergerät vorhandener
Firmware/Software nur versehentlich eine Fehlfunktion oder ein Abstürzen des
Systems verursachen. Böswillig
erstellte Schurkensoftware, die allgemein als „Sicherheitsangriffe" unterstützend bezeichnet
wird, kann absichtlich dazu bestimmt sein, von der Teilnehmereinheit
verarbeitete Daten entweder zu zerstören oder umzuleiten oder, noch
erschreckender, Geräte dritter
Parteien durch dauerhaftes Überschreiben oder
Deaktivieren kritischer Funktionen oder Daten zu zerstören. Tatsächlich können Sicherheitsangriffe ohne
einen Schutz der Sicherheit an bestimmten Kommunikationspaketen
oder in bestimmten Kommunikationsperioden (während eines Anrufs oder einer
Sitzung mit Zugriff auf das Internet) sowie an Netzwerkknoten (wie
Teilnehmereinheiten und Servern) relativ leicht ausgeführt werden.
-
Daher
bestehen hinsichtlich der Personalisierung eines Teilnehmergeräts inhärente Risiken, die
unglücklicher
Weise mit der Zunahme der Anzahl der von den Teilnehmergeräten unterstützten Softwareanwendungen
und der Aktualisierung bzw. des Ersetzens von Codes aus im Allgemeinen
nicht überprüften Datenspeichern über eine
nicht sichere Kommunikationsressource, wie das Internet, einhergehen.
-
Um
einige Formen von Sicherheitsangriffen anzugehen, wurden (zur Verwendung
bei der computergestützten
Anschlusstechnologie) Virenprüfer zur
Untersuchung auf Schurkensoftware entwickelt, die zum absichtlichen
Infizieren eines Hostprozessors erzeugt wurde. Derartige Virenprüfer müssen ständig aktualisiert
werden, um neue Stämme
von Computerviren abzudecken.
-
Hinsichtlich
der Arten von Sicherheitsangriffen können diese allgemein so klassifiziert
werden, dass sie in eine von zwei Kategorien fallen, nämlich eine
erste Kategorie, bei der der versteckte Zugriff auf Informationen
beabsichtigt ist, und eine zweite Kategorie, die so arbeitet, dass
sie legitime Funktionen eines Systems bzw. eines Teilnehmergeräts zerstört, anpasst
oder anderweitig korrumpiert.
-
Sicherheitsangriffe
der ersten Kategorie umfassen die Konzepte i) des Ausspionierens
einer Benutzeranforderung und des anschließenden Abfangens der Software
(bzw. des Inhalts) auf der Grundlage einer wahrgenommenen Wesentlichkeit/Relevanz
der Benutzeranforderung, ii) des Zugriffs als „Mann in der Mitte", bei dem eine Entität Authentifizierungsanforderungen
zwischen einem Benutzer und einer Zertifizierungsstelle abfängt, wodurch
(beispielsweise in einer E-Commerce-Umbebung) die Sicherheit beeinträchtigt wird,
und iii) der allgemeinen Unterbrechung eines Herunterladens. Der
gemeinsame Nenner dieser Formen von Sicherheitsangriff ist, dass
beispielsweise durch das Anzapfen eines zugewiesenen Kommunikationspfads
direkt auf die Informationen zugegriffen wird. Ein Hybridangriffsmechanismus
betrifft die Verwendung eines bösartigen
Codes, bei dem eine dritte Entität
(beispielsweise ein böswilliger
Angestellter) eine gültige „Zeichnungsberechtigung" erhält, indem
er sämtliche
Hintergrundüberprüfungen zur
Ermächtigungsbestätigung besteht,
wobei die dritte Partei anschließend jedoch bösartige
Inhalte erzeugt und zeichnet. Die erste Kategorie von Sicherheitsangriffen
ist schwer anders als auf der Basis der Bereitstellung einer sicheren
Kommunikationsverbindung zu bekämpfen.
-
Die
zweite Kategorie von Sicherheitsangriff richtet sich direkt auf
die Veränderung
der Funktionen des Teilnehmerge räts
bzw. des Hostprozessors (durch die Verstümmelung des Codes). Es gibt
zahlreiche Formen derartiger Verstümmelungen, deren Hauptmechanismus
nachstehend identifiziert wird. Erstens kann eine dritte Partei
die Software (bzw. den Inhalt) während
eines Herunterladens auf eine anfordernde Teilnehmereinheit oder
eine LAN-Netzübergangsvorrichtung,
wie einen Netzwerkserver/-knoten modifizieren. Zweitens führt ein
so genannter Trojanerangriff dazu, dass ein Verarbeitungssystem
eine angeforderte Prozedur zu erledigen/auszuführen scheint, wogegen es tatsächlich zusätzlich zu
der angeforderten Prozedur etwas Schädliches ausführt, wobei
beispielsweise die Kontrolle über
die Teilnehmereinheit effektiv von einer dritten Partei übernommen
wird, die nicht mit dem legitimen Eigentümer verbunden ist. Drittens
wird eine Aufwärtsnachricht für das Herunterladen
von Software abgefangen und eine Verkörperung eines (von einer dritten
Partei) angewählten
Servers führt
zum Herunterladen eines bösartigen
oder feindlichen Codes auf den Prozessor, der das Herunterladen
anfordert. Viertens kann ein Teilnehmergerät oder ein Server, für den heruntergeladene
Software bestimmt ist, einfach mit leeren Codes überflutet werden. Fünftens könnte eine
dritte Partei in Form eines Hackers einen Server so beeinflussen,
dass die Software bzw. der Inhalt des Servers vor dem Beginn des
Softwareherunterladeprozesses verändert wird.
-
Allgemein
können
Hacker den Server durch Manipulieren der in ihm gespeicherten Daten
beeinträchtigen,
wenn der angewählte
Server oder Datenspeicher nicht ordnungsgemäß geschützt ist. Hierbei gibt es keine äußeren Anzeichen
dafür,
dass die von dem Server angebotenen Daten manipuliert sind, und
daher kann auf der Grundlage authentischer Bestätigungen, die zwischen einem
anwählenden
Knoten (wie einer Teilnehmereinheit) und dem Server selbst ausgetauscht
werden, nach wie vor in gutem Glauben auf den Server als vertrauenswürdigen Server
zugegriffen werden, und er ist interaktiv. Selbstverständlich kann
in diesem Fall versehentlich manipulierte Software von bösartiger
Natur auf eine Teilnehmereinheit heruntergeladen werden. Tatsächlich können eine
Fehlfunktion einer mobilen Einheit verursacht oder eine Funktion
vorzeitig beendet werden, wenn manipulierte, für die Aufgabe kritische, ausführbare Funksoftware
(RF/IF-Basisbandalgorithmen) auf
eine mobile Einheit heruntergeladen wird, wobei dies von besonderer
Bedeutung ist. Genauer ist das Problem eines manipulierten heruntergeladenen
Codes in einer mobilen Umgebung aufgrund der inhärenten mobilen Natur der Teilnehmereinheit
(beispielsweise eines Mobiltelefons oder eines UMTS-Anschlusses)
erbitternd, da der Kontakt zu der mobilen Einheit unterbrochen oder
anderweitig verhindert und so nicht direkt wieder hergestellt werden
kann. Daher können
ein mobiler Teilnehmer und der Dienstanbieter Fehler oder Fehlfunktionen
des Telefons/Geräts
völlig
vergessen. Vom Standpunkt des Teilnehmers gibt es als Solches einfach
ein erkennbares Anzeichen für
den Verlust eines Dienstes, während
ein Betreiber die zugehörige
Vergütung
für den
Dienst verliert.
-
Es
ist nun deutlich zu erkennen, dass das Herunterladen von Software
sehr anfällig
für einen oder
mehrere Sicherheitsangriffe ist und dass zur Sicherung des Herunterladens
von Software gegen Sicherheitsangriffe daher ganz allgemein ein
starker Sicherheitsmechanismus zu bevorzugen ist.
-
Zur
Bereitstellung einer sicheren automatischen Übertragung von Anwendungen,
Applets und Inhalten wurde in der 3GPP T2 das so genannte Mobile
Execution Environment (ME×E,
mobile Ausführungsumgebung)
vorgeschlagen. Ein in der ME×E implementierter
Authentifizierungsmechanismus basiert auf der digitalen Zugangsberechtigung
CCITT X.509, die es einem Teilnehmergerät und einem Server ermöglicht,
einander effektiv zu authentifizieren. Zur Schaffung der Datenschutzes
zum Herunterladen von Software (oder Inhalten) wird ein eigenständiger Verschlüsselungsmechanismus
verwendet. Der gegenwärtige
ME×E-Ansatz
für ein
sicheres Herunterladen von Software/Inhalten ist das Zeichnen der
Software/des Inhalts durch eine digitale Bestätigung, die von einer Treuhandbestätigungsstelle
autorisiert wird. Zur Authentifizierung, dass die heruntergeladene
Software/der heruntergeladene Inhalt von einem vertrauenswürdigen Server
stammt, gegenüber
dem Teilnehmer identifiziert die Bestätigung den Server eindeutig,
wobei ein derartiges Szenario beispielsweise gegeben ist, wenn der
Server einem Handapparatehersteller gehört. Anders ausgedrückt enthalten
Bestätigungen
im Wesentlichen eine digitale Unterschrift, die einmalig für das Gerät ist, und
einen Verschlüsselungsschlüssel zur
anschließenden Verwendung
bei der Decodierung von Datenpaketen (und dergleichen), die zwischen
der Teilnehmereinheit und dem Server ausgetauscht werden.
-
Unglücklicher
Weise kann der in der ME×E bereitgestellte
Sicherheitsmechanismus nur bestimmte Sicherheitsangriffe verhindern,
hauptsächlich
die Modifikation von Software beim Herunterladen. Neben der in einem
Java-Sandkasten implementierten Bytecodeverifikation bietet die
ME×E keinen expliziten
Sicherheitsschutz vor Sicherheitsangriffen, die einen Ausgangsserver
direkt beeinträchtigen
oder betrügerisch
eine gültige
Authentizitätsbestätigung erschleichen.
Etwas mehr ins Detail gehend ist ersichtlich, dass die Sprache Java
Java-kompatiblen Webbrowsern das dynamische Herunterladen von Codefragmenten
und das anschließende
Ausführen
des Codes auf der Maschine ermöglicht.
Die Original-Java-Sicherheit
verwendet einen Sandkasten, der durch Einschränken der Rechte auf Applets
streng kontrolliert, was Java-Programme tun können oder nicht tun können. Neben
der Gewährung
spezieller Java-Code-Privilegien steuert der Java-Sandkasten den
Zugriff auf Systemressourcen für
den heruntergeladenen Code.
-
Im
Zusammenhang mit einem Computerterminal/Arbeitsplatz führt der
Java-Sandkasten aufeinander folgende Regimes von Verifizierungen
einschließlich
der Dateiklassenformatüberprüfung und der
Bytecodeverifikation aus, wenn der Code einmal auf den Java-Sandkasten
eines Arbeitsplatzes heruntergeladen ist. Bei der Bytecodeverifikation
werden die Bytecodes mittels eines Laufzeitsystems, d.h. eines Emulators
für den
Anweisungssatz der virtuellen Maschine ausgeführt. Eine Bytecodeverifikationseinrichtung
verifiziert sämtliche
Bytecodes durch i) Analysieren der Datenströme, um festzustellen, ob eine Übertretung
eines Stapelspeicherüberlaufs
vorliegt, und ii) einen direkten Zugriff auf die Register. Die Bytecodeverifikationseinrichtung
ist so beschaffen, dass sie die Routinen oder Unterroutinen „aufruft" (d.h. als potentiell
manipuliert identifiziert), für die
beispielsweise unpassende Argumente oder Argumente eines unpassenden
Typs erhalten werden. Der Java-Sandkasten- Bytecodeverifikationsmechanismus führt jedoch
nur eine Überprüfung des sprachabhängigen Typs
aus und hat die Wirkung, lokale Ressourcen vor nicht gewährten Zugriffen
zu schützen
und ferner schädliche
Operationen zu verhindern, indem sichergestellt wird, dass der Code vorgegebene
Einschränkungen
einhält.
Die vorgegebenen Einschränkungen
können
sicherstellen, dass kein Stapelspeicherüberlauf oder -unterlauf auftritt und
dass ein gültiger
Registerzugriff und eine gültige Speicherung
erfolgen. Dementsprechend achtet die Bytecodeverifikationseinrichtung
auf die korrekte Zuordnung der Parameter zu sämtlichen Bytecodeanweisungen
und stellt ferner sicher, dass keine illegalen Datenumwandlungen
auftreten. Selbst bei diesem Komplexitätsniveau ist der Java-Sandkasten
dahingehend unzureichend, dass er nicht in der Lage ist, Sicherheitsangriffe
aufzunehmen, die entweder die Folge einer auf einem Server gespeicherten, durch
Hacken manipulierten Software, der Verwendung einer abgefangenen
authentischen Berechtigung oder eines Trojanerangriffs sind.
-
Als
Zwischenzusammenfassung der Java-Sandkastentechnkik wird nun festgehalten,
dass der Java-Sandkasten eine Zugriffsbeschränkungsfunktion für den Java-Code
bietet, wodurch der Zugriff auf Speicherorte verhindert wird, die
andernfalls nicht spezifischen Java-Applets zugeordnet sind. Dementsprechend
wird die Softwareinteraktion begrenzt, wobei der Java-Sandkasten
einen absoluten Sicherheitsvorhang bietet.
-
In
dem auf Personal Java basierenden ME×E Classmark II wird die Bytecodeverifikation
zur Überprüfung verwendet,
ob der heruntergeladene Java-Code den Ausführungsbedingungen der virtuellen
Maschine genügt.
Für die
Hersteller besteht jedoch nicht die Notwendigkeit, ein einziges
Codeformat zu verwenden, und so können Codes in anderen Sprachen
als Java in einer herunterladbaren Umgebung verwendet werden, wie
im Fall der ausführbaren
Funksystemsoftware (oder Untersystemsoftware).
-
Selbstverständlich könnte man
brachiale Schutzmechanismen verwenden, durch die sämtliche
Formen der Funktionspersonalisierung beschränkt werden. So wurden beispielsweise
Computersysteme so konstruiert, dass sie mit Firewall/-Zugriffsberechtigung/Cache
arbeiten. Eine Firewall/-Zugriffsberechtigung
kann Clients durch Filtern/Blockieren von Versuchen, Inhalte wiederherzustellen,
und des resultierenden abgerufenen Inhalts Schutz bieten. Die von
Internet-Firewalls/Zugriffsberechtigungen derzeit verwendeten Mechanismen
sind sehr grob (filtern beispielsweise das gesamte JavaScript heraus,
blockieren jeden Zugriff auf die Site http://hackedcode.com) und
können
den in der heutigen, sich entwickelnden Kommunikationsumgebung benötigten,
feinkörnigen
Ansatz nicht unterstützen.
-
Zusammenfassung
der Erfindung
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung wird ein zellulares Kommunikationssystem
gemäß Anspruch
1 geschaffen.
-
Bei
einer bevorzugten Ausführungsform
umfasst die Plausibilitätsprüfpunktfunktion
eine Einrichtung zum Bewerten zu mindest entweder der Kompatibilität des jeweils
von dem Datenspeicher einer dritten Partei heruntergeladenen Inhalts
und Codes oder darin enthaltener Sicherheitsangriffe.
-
Das
Kommunikationssystem kann ferner einen Netzübergang zu einem eigenen oder
Heimatnetzwerk, das die Plausibilitätsprüfpunktfunktion enthält, und
eine zugewiesene sichere Leitung zu mindestens einem Datenspeicher
einer dritten Partei umfassen, wobei das eigene Netzwerk ferner
eine Einrichtung zur Deaktivierung der Plausibilitätsprüfpunktfunktion
als Reaktion auf eine Anforderung eines Herunterladens von zumindest
entweder einem Dateninhalt oder einem Code über die zugewiesene sichere
Verbindung umfasst.
-
Mit
dem eigenen Netzwerk kann ein Besuchsnetzwerk gekoppelt sein, das
die Kommunikation mit einer primär
mit dem eigenen Netzwerk assoziierten Teilnehmereinheit unterstützt. Das
Kommunikationssystem kann dann ferner eine Einrichtung zum Weiterleiten
einer Anforderung eines Herunterladens von der Teilnehmereinheit
im Besuchsnetzwerk an die Plausibilitätsprüfpunktfunktion im eigenen Netzwerk
umfassen.
-
Ein
global verfügbares
Netzwerk, wie das Internet, ist typischer Weise zwischen den Datenspeicher
der dritten Partei und die Plausibilitätsprüfpunktfunktion geschaltet.
-
Hinsichtlich
des vorgegebenen Betriebsstatus wird das Niveau beliebig eingestellt,
kann jedoch von dem Ausmaß abhängen, in
dem kritische Betriebssysteme betroffen sind. Dementsprechend kann
in bestimmten Fällen
eine vollständige
operative Konformität
gefordert werden, während
bei anderen Gelegenheiten geringfügige Fehler beim Betrieb des
nachfolgenden Knotens akzeptabel sein können (so kann beispielsweise
in einem Fall, in dem ein existierendes Firmwareproblem innerhalb
des Knotens, wie eines Mobiltelefons, bekannt ist, ein Upgrade eines
Teils der Betriebssystemsoftware eine Verbesserung der operativen
Funktionen darstellen).
-
Gemäß einem
zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zur
Steuerung des Herunterladens von Daten gemäß Anspruch 10 geschaffen.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird eine Steuervorrichtung
zum Regulieren des Herunterladens von Daten gemäß Anspruch 18 geschaffen.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird ein Computerprogrammerzeugnis
für eine
Steuereinheit gemäß Anspruch
25 geschaffen.
-
Wenn
ein mobiler Teilnehmer beispielsweise das Herunterladen eines Codes
anfordert, der sein Betriebssystem beeinträchtigen könnte, wird ein derartiger Code
vorzugsweise stets an eine Plausibilitätsprüfpunktfunktion gesendet, die
die Kompatibilität des
Codes unabhängig
davon bestimmt, wo sich der mobile Teilnehmer befindet.
-
Vorteilhafter
Weise wird durch die vorliegende Erfindung ein Mechanismus geschaffen,
durch den ein Systembetreiber (oder ein anderer Systemadministrator)
eine Plausibilitätsüberprüfung an
einem potentiell verdächtigen
herunterladbaren Code ausführen
kann, der von einem Teilnehmer angefor dert wurde, um einen innerhalb
eines Teilnehmerknotens oder einer Kommunikationsvorrichtung existierenden
Code zu aktualisieren oder zu erweitern. Hinsichtlich der Anwendung
der vorliegenden Erfindung auf eine mobile Funkkommunikationsgeräteumgebung
verringert die Fähigkeit
des Systembetreibers (oder Systemadministrators), Software-Upgrades
zu regulieren, potentiell katastrophale Softwareaufrüstungen,
die die Funktion mobiler Einheiten negativ beeinflussen. Genauer
ermöglicht
die vorliegende Erfindung dem Systembetreiber, ein Veto gegen das Herunterladen
von Software einzulegen, die andernfalls beide Arten von Systemzugriff
(im Sinne von sowohl Aufwärts-
als auch Abwärtsverbindungen)
auf die mobile Funkkommunikationsvorrichtung stören und verhindern könnten. Obwohl
die vorliegende Erfindung das Herunterladen von Software streng
regulieren kann, kann sie hinsichtlich der Regulierung jedoch auch
einem selektiven Ansatz folgen, der auf dem Ausmaß des Vertrauens
des Systembetreibers zu einer Site, auf die der Teilnehmer zugreift,
oder einen zugewiesenen Pfad basiert. Wenn der Teilnehmer beispielsweise
auf eine Site innerhalb eines sicheren Intranet zugreift, kann das
Herunterladen von Software (insbesondere eines Anwendungscodes, wie
interaktiver Java-Applets) ohne Überprüfung durch
den und Interaktion mit dem Administrator sofort sanktioniert werden.
Greift der Teilnehmer dagegen auf eine Site zu, die für unsicher
gehalten wird (wie über
mehrere Netzübergänge auf
eine Weitbereichsinternetdomäne),
kann vom Administrator eine kritischere Vorgehensweise gewählt werden,
durch die ein herunterladbarer Code skeptisch gehandhabt und daher
einer Integritäts-/Kompatibilitätsbewertung gemäß den Prinzipien
der vorliegenden Erfindung unterzogen wird.
-
Durch
die vorliegende Erfindung wird daher ein (als Softwareplausibilitätsprüfung bzw.
Softwaregesundheitsprüfung
wirkender) Verifizierungsmechanismus für Software geschaffen, der
zu einem Zeitpunkt sowohl vor dem Herunterladen als auch vor der Nachrüstung von
Software aktivierbar ist. Daher nimmt sich die vorliegende Erfindung
des Bedürfnisses
nach einer persönlichen
Einrichtung mobiler oder anderer Teilnehmereinheiten an, während sie
für ihre Aufgaben
kritische Software vor einer Manipulation schützt. Die bevorzugte Ausführungsform
kann an einer Reihe alternativer Knoten innerhalb eines Kommunikationssystems
implementiert werden und daher eine Regulierung der Dienste von
zu einem LAN (oder dergleichen) gehörigen Teilnehmern bieten, wodurch
ein Teilen des Verifikationsmechanismus durch mehrere Teilnehmereinheiten
oder Knoten ermöglicht
wird.
-
Die
vorliegende Erfindung kann beispielsweise bei herunterladbaren Softwareprodukten
für die
mobile Kommunikation verwendet werden; und sie kann zur Verbesserung
der Stärke
der Sicherheit in der ME×E
und dem softwaredefinierten Funk (SDR) verwendet werden. Die vorliegende
Erfindung wird beispielsweise auch bei der 3GPP TSG T2 ME×E Standardisierung,
im SDR-Forum und in dem von der Europäischen Union finanzierten 5.
Framework TRUST Projekt (TRUST: Transparent Reconfigurable Ubiquitous
Terminal) angewendet.
-
Kurze Beschreibung
der Zeichnungen
-
Eine
beispielhafte Ausführungsform
der vorliegenden Erfindung wird nun unter Bezugnahme auf die Zeichnungen
beschrieben. Es zeigen:
-
1 ein
Blockdiagramm eines Kommunikationssystems gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung; und
-
2 ein
Ablaufdiagramm einer bevorzugten Betriebsmethodik der vorliegenden
Erfindung.
-
Genaue Beschreibung
einer bevorzugten Ausführungsform
-
In 1 ist
ein Blockdiagramm eines Kommunikationssystems 10 gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung gezeigt. Viele der Komponenten des Kommunikationssystems 10 weisen
einen herkömmlichen
Aufbau auf.
-
Ein
ungesichertes Netzwerk 12, wie das Internet, bietet (typischer
Weise) eine paketgeschaltete Transportdomäne, über die der Datenverkehr zwischen
einem eigenen Netzwerk 13 (bei dem es sich um ein LAN handeln
kann) und selektiven peripheren Entitäten 14 – 18 abläuft. Eine
periphere Entität
kann, beispielhaft und ohne Einschränkung, die Form von Dienstanbietern 14 annehmen,
die anwendungsbasierende Codes 20 (beispielsweise Software
und Firmware) und Rechnungsinformationen 22 enthalten.
Alternativ kann eine periphere Entität ein Anbieter 16 von
Inhalten, der Dienste und Zugriff auf den elektronischen Handel
(E-Commerce) 24 oder allgemein Informationen 26 bereitstellt.
Eine dritte Form von peripherer Entität 18 kann ein Server
eines Herstellers sein, in dessen Daten-Site Firmware 28 in Form
von Java-Applets
oder dergleichen gespeichert ist.
-
In
Bezug auf jeden mit einem Systemhersteller assoziierten Server 18 könnte eine
zusätzliche oder
alternative Verbindung zum Server 18 über eine zugewiesene (und damit
für sicher
gehaltene) Verbindung 30 bestehen, obwohl die Site als über das ungesicherte
Netzwerk 12 mit dem eigenen Netzwerk 13 verbunden
dargestellt ist. Im Allgemeinen enthalten zwischen dem mit einem
Systemhersteller assoziierten Server 18 und dem eigenen
Netzwerk 13 übertragene
Informationen einen Berechtigungsnachweis 32 zur Schaffung
zusätzlicher
Sicherheit (obwohl die vorliegende Erfindung die Verwendung von
Berechtigungsnachweisen effizient verringert).
-
Die
unterschiedlichen peripheren Entitäten sind austauschbar als Datenspeicher
dritter Parteien bekannt bzw. werden als solche bezeichnet, da sie eine
zugängliche
Code- oder Inhaltsressource bilden, die auf Anforderung heruntergeladen
werden kann.
-
In
Bezug auf das eigene Netzwerk 13 bietet ein Netzübergang 34 eine
physische Schnittstelle zwischen dem eigenen Netzwerk 13 und
dem nicht gesicherten Netzwerk 12. Der Netzübergang 34 kann die
Form einer Vermittlung annehmen und bietet im Allgemeinen eine Form
von Weiterleitungs- und/oder Interoperabilitätsfunktion, wie leicht ersichtlich.
Der Netzübergang 34,
der daher eine Steuerungslogik 35 ent hält, ist wiederum mit einem
Datennetzwerk 36 (beispielsweise einer paketorientierten
Domäne)
innerhalb des eigenen Netzwerks 13 gekoppelt, das eine
Verbindung unter Beteiligten ermöglicht.
Der Netzübergang 34,
der ein drahtloser Anwendungsprotokoll-Netzübergang 34 (WAP-Netzübergang) sein
kann, arbeitet so, dass er auf ungehinderte Weise Nachrichten zwischen
den Endpunkten einer Kommunikation übermittelt.
-
Bei
einer Umgebung des zellularen Typs ist das Datennetzwerk 36 typischer
Weise mit einer Basisstationsteuerung (BSC) 38 gekoppelt,
die mehrere Basisstationssender/-empfänger (BTS) 40 – 42 versorgt.
-
Das
Datennetzwerk 36 stellt ferner eine Verbindung zu einer
Plausibilitätsprüfpunktfunktion 44 bereit,
die im Allgemeinen innerhalb eines Prozessors oder dergleichen realisiert
ist. Die Plausibilitätsprüfpunktfunktion 44 ist
gemäß einer
bevorzugten Ausführungsform
ein Emulator auf Codebasis, der mindestens einen mit dem Datennetzwerk 36 verbundenen
Knoten repräsentiert.
Die Plausibilitätsprüfpunktfunktion 44 ist
ferner mit einem Code- und Fehlerspeicher 46 gekoppelt,
in dem ein Emulationscode sowie ein Inhalt und Anwendungen (beispielsweise
ein Software- oder Firmwarecode) gespeichert sind, die über das
ungesicherte Netzwerk 12 heruntergeladen wurden. Der Code-
und Fehlerspeicher 46 kann auch einen vorherige Emulationsverfolgungen,
die von dem Emulator der Plausibilitätsprüfpunktfunktion 44 in
Bezug auf einen heruntergeladenen Code oder Inhalt vorgenommen wurden,
betreffenden Ergebniscache enthalten.
-
Das
Datennetzwerk 36 kann auch ein Verteilerpunkt zu zusätzlichen
Besuchsnetzwerken 48 sein, mit denen eine (normalerweise
mit dem eigenen Netzwerk 13 assoziierte) Teilnehmereinheit 50 vorübergehend
assoziiert sein kann. Die Teilnehmereinheit 50 kann daher
beispielsweise die Form eines Mobiltelefons annehmen. Der Aufbau
des Besuchsnetzwerks 48 kann das eigene Netzwerk 13 reflektieren
und ist zu Veranschaulichungszwecken als das mit dem Datennetzwerk 36 des
eigenen Netzwerks gekoppelte Datennetzwerk 52 (beispielsweise
ein Netzwerk auf Paketbasis, das das Internetprotokoll unterstützt, oder
dergleichen) enthaltend dargestellt. Zudem ist das Datennetzwerk 52 als über eine
zugewiesene Drahtleitung oder eine optische Verbindung 56 mit
einem Computer 54 gekoppelt dargestellt. Das Datennetzwerk 52 des
Besuchsnetzwerks 48 wirkt so, dass es einen Transportmechanismus
für Informationsübertragungen
zwischen den peripheren Entitäten 14 – 18 und
beispielsweise der Teilnehmereinheit 50 über dis
Besuchs-Basisstationsteuerung (BSC) 58 und zugehörige Basisstationssender/-empfänger (BTS) 60 – 62 bereitstellt.
-
Durch
die vorliegende Erfindung wird ein Mechanismus geschaffen, der prinzipiell
vor Sicherheitsangriffen schützt,
die einen in peripheren Entitäten gespeicherten
Code direkt betreffen, obwohl der Anwendungsbereich der vorliegenden
Erfindung breiter ist. Der Emulator in der Plausibilitätsprüfpunktfunktion 44 im
eigenen Netzwerk 13 arbeitet so, dass er eine Repräsentation
einer Teilnehmereinheit schafft, die das Herunterladen eines Inhalts
oder Codes von den peripheren Entitäten 14 – 18 anfordert.
Der Netzübergang
wird angewiesen, sicherzustellen, dass zumindest aus gewählte, über das
ungesicherte Netzwerk 12 heruntergeladene Codes bzw. Inhalte
anfänglich
an den Code- und Fehlerspeicher 46 weitergeleitet und typischer
Weise (zumindest temporär) dort
gespeichert werden. Der Code oder Inhalt wird dann auf dem Emulator
ausgeführt,
wobei die Kompatibilität
und Interoperabilität
des Codes und des Inhalts anhand seiner Interaktion mit der resultierenden Emulation
bewertet werden. Genauer unterstützt
die Plausibilitätsprüfpunktfunktion 44 den
Emulator einer Teilnehmereinheit für jeden Typ von Knoten (beispielsweise
eine Basisstationsteuerung (BSC), einen Basisstationssender/-empfänger (BTS),
eine Teilnehmereinheit oder einen Computer), der von dem eigenen
Netzwerk 13 unterstützt
wird. Die Plausibilitätsprüfpunktfunktion 44 führt daher
Programme zur Überprüfung auf
feindliche Codes aus, um Sicherheitsangriffe, wie Trojaner, Dienstverweigerungen oder
andere Formen von in dem heruntergeladenen Code versteckten bösartigen
(Sicherheits-) Codeangriffen zu erfassen. Der Emulator simuliert
daher die genauen Funktionen einer realen anfordernden Teilnehmerentität (wie zuvor
im Code- und Fehlerspeicher 46 gespeichert). Dementsprechend
erfolgt ein Herunterladen auf eine anfordernde Teilnehmereinheit
erst, wenn die Kompatibilität
des Codes und des Inhalts einmal überprüft wurde. Wird der Code als
inkompatibel oder schädlich
eingestuft, wird der Code aus dem Emulator und dem Code- und Fehlerspeicher 46 gelöscht, und
im Code- und Fehlerspeicher 46 wird vorzugsweise ein Hinweis
gespeichert, dass die Ursprungs-Site des Codes oder Inhalts in Zukunft skeptisch
behandelt oder immer ignoriert werden sollte. Eine derartige Kennzeichnung
der Sites dritter Parteien kann vom eigenen Netzwerk 13 periodisch überprüft werden,
um legitime Versuche der peripheren Entitäten dritter Parteien zu berücksichtigen,
gegen schädliche
oder inkompatible Codes oder Inhalte vorzugehen.
-
Es
ist ersichtlich, dass die Bewertung der Kompatibilität und Interoperabilität des Codes
mittels der Emulation auf Techniken basieren kann, die Parameterüberprüfungen,
wie Argumente, Überlauf oder
Unterlauf sowie einen gültigen
Registerzugriff und eine zulässige
Speicherung innerhalb der Emulation nutzen.
-
Die
Plausibilitätsprüfpunktfunktion 44 ist
vorzugsweise Eigentum des eigenen Netzwerks 13, da stets
davon ausgegangen werden kann, dass das eigene Netzwerk die Partei
des Vertrauens mit einem in der Domäne des Netzbetreibers befindlichen,
gut geschützten
Netzwerk ist. Als solche sind Netzwerkknoten (wie die BSC 38,
der BTS 40 – 42 und
die Teilnehmereinheit 50) innerhalb des eigenen Netzwerks im
Allgemeinen frei von normalen, aus dem Internet stammenden Sicherheitsangriffen.
Ebenso ist das eigene Netzwerk 13 normalerweise für einen
ordnungsgemäßen Betrieb
und ein ordnungsgemäßes Funktionieren
der assoziierten Teilnehmergeräte
verantwortlich, was bedeutet, dass das eigene Netzwerk 13 eine
Gesamtverantwortlichkeit für
die Gewährleistung
tragen kann, dass die auf eine anfordernde Teilnehmereinheit heruntergeladene
teilnehmerspezifische Software innerhalb des eigenen Netzwerks ordnungsgemäß arbeitet,
und so eine volle Funktionsfähigkeit
der Teilnehmereinheit bietet.
-
In
dem Ablaufdiagramm gemäß 2 ist eine
bevorzugte Betriebsmethodik für
die vorliegende Erfindung gezeigt. Der Prozess beginnt mit der Anforderung 100 des
Herunterladens eines Codes oder Inhalts von einer entfernten Site
einer dritten Partei durch einen Knoten. Wahlweise kann eine Form
von Ermächtigungsbestätigung 102 erfolgen, um
die Sicherheit zu erhöhen.
Das Herunterladen des Inhalts oder Codes (von der Site der dritten
Partei) erfolgt 104 auf die Zwischenplausibilitätsprüfpunktfunktion 44,
wobei dies möglicherweise
eine Zwischenspeicherung des Codes im Code- und Fehlerspeicher 46 erfordert.
An einem bestimmten Punkt in dem Prozess kann der Code- und Fehlerspeicher 46 überprüft werden 106 – 108,
um festzustellen, ob auf eine angewählte (entfernte) Site einer
dritten Partei bereits zuvor zugegriffen wurde, um einen ähnlichen
oder identischen Code oder Inhalt herunterzuladen. Ist dies der
Fall 109, greift das erfindungsgemäße System auf den Speicher
zu 110, um festzustellen 112, ob ein derartiger
angeforderter Code oder Inhalt nicht mehr als ein akzeptables Niveau
an Interoperabilitätsfehlern
enthielt (wobei dieses Niveau eine Toleranz von null aufweisen kann).
Ein positives Ergebnis 114 von dem Entscheidungsblock 112 führt zu einem
lokalen Herunterladen 116 eines Codes oder Inhalts aus
dem Code- und Fehlerspeicher 46 auf den anfordernden Knoten,
wodurch der Weitbereichsverkehr vermindert wird. Ein negatives Ergebnis 114 vom
Entscheidungsblock 112 führt zu einer Zurückweisung
der Anforderung des Herunterladens und einer dementsprechenden Informierung
des Knotens 118.
-
Wenn
effektiv kein Zugriffsprotokoll für die Site der dritten Partei
existiert, nimmt der Prozess vom Entscheidungsblock 108 an
einen zweiten Weg, der zum Aufruf 122 eines Emulators führt, der
den anfordernden Knoten, beispielswei se eine mobile Teilnehmereinheit 50,
repräsentiert.
Der von der Site der dritten Partei heruntergeladene Code oder Inhalt wird 124 mit
dem Emulator ausgeführt,
und ein Programm zur Überprüfung auf
feindliche Codes identifiziert 126 – 128 einen schädlichen
oder mit dem Knoten nicht kompatiblen Code. Wird die Emulation als von
dem heruntergeladenen Code oder Inhalt nicht beeinträchtigt oder
im Wesentlichen unbeeinträchtigt (d.h.
nicht kritisch beeinträchtigt)
eingestuft, wird der Ablauf mit einem weg 130 fortgesetzt,
in dem vorzugsweise ein Protokoll für den heruntergeladenen Code
erstellt 132 (und für
eine zukünftige
Bezugnahme im Code- und Fehlerspeicher 46 gespeichert) wird.
Der das Herunterladen eines Codes oder Inhalts anfordernde Knoten
wird dann 134 durch die Bereitstellung des heruntergeladenen
Dateninhalts oder Codes bedient. Ist die Entscheidung im Block 128 positiv 137,
protokolliert das System vorzugsweise den Code, zumindest jedoch
das Vorhandensein eines Fehlers (von Fehlern) im Code- und Fehlerspeicher 46 (d.h.
einer geeigneten Datenbank- oder Speichervorrichtung) und informiert
den Knoten, dass das Herunterladen im Hinblick auf Inkompatibilitätsprobleme
verweigert wurde.
-
Wenn
das System (zum Zeitpunkt der Anforderung des Herunterladens) auf
einen zugewiesenen und daher sicheren Pfad zu einer angewählten peripheren
Entität
zugreifen kann 140, kann das Herunterladen des Codes auf
den anfordernden Knoten selbstverständlich sofort erfolgen 142 und
wird nicht dem Emulationsprozess und den zugehörigen Überprüfungen auf Kompatibilität/Schädlichkeit
unterzogen.
-
Zusammenfassend
interagiert die Plausibilitätsprüfpunktfunktion 44 mit
dem Code- und Fehlerspeicher 46, um festzustellen, ob der
Code oder Inhalt zuvor von anderen Knoten im eigenen Netzwerk 13 heruntergeladen
wurde. Ist dies der Fall, können der
zuvor im Code- und Fehlerspeicher 46 gespeicherte Code
und Inhalt auf den Knoten heruntergeladen werden, um eine überflüssige Emulation
bzw. einen überflüssigen Zugriff
auf das WAN zu vermeiden. Anderenfalls ruft die Plausibilitätsprüfpunktfunktion 44 den
geeigneten Emulator für
den Typ von Knoten auf, der ein Herunterladen anfordert, und führt dann den
heruntergeladenen Code mit dem Knotenemulator aus. Ein Programm
zur Überprüfung auf
einen feindlichen Code erfasst mögliche
Sicherheitsangriffe. Hat ein heruntergeladener Code oder Inhalt
die Plausibilitätsprüfung einmal
bestanden, kann er für den
künftigen
Zugriff und die Verwendung durch andere Knoten im Code- und Fehlerspeicher 46 installiert
werden. Werden dagegen erhebliche Interoperabilitätsfehler/-probleme
festgestellt, kann der heruntergeladene Code oder Inhalt (sowie
ein zugehöriges Fehlerprotokoll)
im Code- und Fehlerspeicher 46 gespeichert werden, um die
Notwendigkeit auszuschließen,
den Emulationsprozess als Reaktion auf eine ähnliche, aber spätere Anforderung
entweder vom gleichen oder von einem ähnlichen Knoten zu wiederholen.
-
Es
ist natürlich
festzuhalten, dass die vorstehende Beschreibung nur Beispielhaft
erfolgte und dass innerhalb des Rahmens der Erfindung Modifikationen
an Einzelheiten vorgenommen werden können. Das Konzept der Nutzung
einer Zwischenemulationseinrichtung, typischer Weise in Form einer (vollständig innerhalb
eines Codes unterstützten)
virtuel len Maschine, kann beispielsweise auf jede Software bzw.
jeden Inhalt angewendet werden, die bzw. der einem zentralen Knoten
zugeleitet wird. Die Begriffe „Datenspeicher
einer dritten Partei", „periphere Entität" und dergleichen
sind daher in einem weiteren Sinne so zu verstehen, dass sie den
Notwendigkeiten und den Erfordernissen des Kontext entsprechend das
Laden einer CD-ROM (oder dergleichen) einer dritten Partei auf einen
zentralen Knoten zur anschließenden
Verteilung auf einer bedarfsabhängigen
Basis einschließen.
Dementsprechend kann die Interoperabilität von Software durch die vorliegende Erfindung
geprüft
werden, wodurch eine verbesserte Einführung von Software-Upgrades
erzielt wird (die sich aus der Möglichkeit
ergibt, einen potentiell inkompatiblen/schädlichen Code in einem früheren Stadium
offline zu identifizieren). Daher kann ein Teilnehmer, der ein Software-Upgrade
erhält,
darauf vertrauen, dass seine Teilnehmereinheit mit dieser neuen
Software kompatibel ist und dass jeder anschließende Fehler daher im Allgemeinen
wahrscheinlich auf eine Fehlfunktion der Hardware zurückzuführen ist.