DE69838378T2 - Verfahren und gerät um sicherheit, für server die anwenderprogramme ausführen, die über's netzwerk empfangen wurden, zu gewährleisten - Google Patents

Verfahren und gerät um sicherheit, für server die anwenderprogramme ausführen, die über's netzwerk empfangen wurden, zu gewährleisten Download PDF

Info

Publication number
DE69838378T2
DE69838378T2 DE69838378T DE69838378T DE69838378T2 DE 69838378 T2 DE69838378 T2 DE 69838378T2 DE 69838378 T DE69838378 T DE 69838378T DE 69838378 T DE69838378 T DE 69838378T DE 69838378 T2 DE69838378 T2 DE 69838378T2
Authority
DE
Germany
Prior art keywords
server
privileges
servlet
origin
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69838378T
Other languages
English (en)
Other versions
DE69838378D1 (de
Inventor
John Y. Mountain View LEE
Satish K. Santa Clara DHARMARAJ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of DE69838378D1 publication Critical patent/DE69838378D1/de
Application granted granted Critical
Publication of DE69838378T2 publication Critical patent/DE69838378T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Description

  • BEREICH DER ERFINDUNG
  • Die vorliegende Erfindung betrifft die Computervernetzung und spezieller die Schaffung von Sicherheit für Server, die Anwendungsprogramme über ein Netzwerk empfangen.
  • HINTERGRUND DER ERFINDUNG
  • Derzeit ist das größte existierende Computernetzwerk das Internet, das eine weltweite Verknüpfung von über ein gemeinsames Protokoll miteinander kommunizierenden Computernetzwerken ist. Das Internet ist aus Arbeiten entstanden, die in den 60er Jahren von der ARPA (Advanced Research Projects Agency) des amerikanischen Verteidigungsministeriums (United States Department of Defense) finanziert wurden. Millionen von Computern, von Low-End-PCs bis zu High-End-Supercomputern, sind mit dem Internet verbunden. Viele Jahre lang griffen nur wenige außerhalb der akademischen/Forschungsgemeinschaft auf das Internet zu.
  • 1989 wurde ein neuer, „World Wide Web" (das Web) genannter Typ von Informationssystem ins Internet eingeführt. Erste Entwicklungen des Web erfolgten bei CERN, dem European Particle Physics Laboratory. Das Web ist ein Weitbereichs-Hypermedia-Informationsabrufsystem.
  • 1993 veröffentlichte das NSCA (National Center for Supercomputing Applications) einen Web-Browser mit der Bezeichnung „Mosaic", der eine grafische Benutzeroberfläche (GUI) implementierte. Die GUI von Mosaic ließ sich leicht lernen und ermöglichte es Benutzern, Dokumente mit einfachen Zeigen-und-Klicken-Befehlen vom Web abzurufen. Die Einführung von Mosaic vereinfachte den Dokument- und Informationsabruf über das Internet und spezieller auf dem Web. Dadurch wurde die Nutzung des Internets außerhalb der akademischen/Forschungsgemeinschaft populärer.
  • Zu dieser Zeit baute die Architektur des Web typischerweise auf einem herkömmlichen Client-Server-Modell auf. Die Begriffe „Client" und „Server" beziehen sich auf die allgemeine Rolle des Computers als Anforderer (Client) oder Beschaffer von Daten (Server). In der Web-Umgebung befinden sich Web-Browser, wie z.B. Mosaic, in Clients und Web-Dokumente in Servern. Web-Clients und Web-Server kommunizieren über ein Protokoll miteinander, das als HTTP („HyperText Transfer Protocol") bezeichnet wird. Ein Browser öffnet eine Verbindung mit einem Server und startet die Anforderung eines Dokumentes. Der Server liefert das angeforderte Dokument typischerweise in Form eines Textdokuments, das in einem standardmäßigen HTML-(HyperText Markup Language)-Format codiert ist.
  • 1994 veröffentlichte eine Tochtergesellschaft von Sun Microsystems einen Web-Browser auf der Basis einer bei Sun entwickelten Programmiersprache namens JavaTM. In Java geschriebene Protokolle sind architekturneutral, so dass die Programme auf jeder Plattform laufen, die Java unterstützt. Die Programme sind deshalb architekturneutral, weil sie in einer Reihe von Byte-Codes kompiliert werden, die nicht hardwarespezifisch sind und daher auf viele verschiedene Computer heruntergeladen und dort ausgeführt werden können. Byte-Codes werden über das Internet übertragen und dann vom Empfangscomputer übersetzt und ausgeführt.
  • Ein einzigartiges Merkmal von Java, das von typischen Web-Browsern nicht bereitgestellt wird, ist die Fähigkeit, Applets als Teil einer Web-Seite bereitzustellen. Applets sind Teil einer Web-Seite, werden aber von dem Computer, auf dem ein Web-Browser läuft, anstatt vom Web-Server heruntergeladen und abgearbeitet. So greift ein Benutzer mit einem Browser, der Java unterstützt, auf eine Web-Seite zu und lädt ein kleines Programm herunter, das lokal ausgeführt wird. Dadurch entstehen jedoch Sicherheitsprobleme, die es im herkömmlichen Client-Server-Modell nicht gibt.
  • Zur Schaffung von Sicherheit werden auf Java-Methoden und -Variablen nach Namen zugegriffen und sie werden in einer beschränkten Umgebung ausgeführt, die einen vorbestimmten Speicherteil beinhaltet. Ferner werden Byte-Codes, wenn sie empfangen werden, einem Verifizierungsprozess unterzogen, in dem ermittelt wird, ob die Byte-Codes modifiziert wurden.
  • Sicherheit für Applets kann auf eine einfache „Alles-oder-nichts"-Weise geschaffen werden. Zum Beispiel, das Applet wird entweder geladen und abgearbeitet oder es wird nicht geladen und abgearbeitet. Da das Applet in sich geschlossen ist, greift es auf keine anderen lokalen Ressourcen als auf einen designierten, begrenzten Speicherbereich zu.
  • Ein weiteres einzigartiges Merkmal von Java ist das Servlet, das ein Programm wie ein Applet ist, aber ein Servlet läuft auf dem Web-Server anstatt auf dem Web-Browser. Servlets sind gewöhnlich größer als Applets und/oder brauchen mehr Ressourcen. So kann beispielsweise ein Servlet ein Suchprogramm sein, das von einem bestimmten Server angeboten wird. Ein Benutzer greift auf das Servlet zu, indem er Suchparameter eingibt. Das Servlet führt dann eine Suche nach Ressourcen durch, die dem Server zur Verfügung stehen. So kann ein Benutzer Zugang zu bestimmten Server-Ressourcen haben und die Suchsoftware des Servers kann ohne jeglichen Aufwand seitens des Server-Administrators durch Dritte aktualisiert werden.
  • Da Servlets Zugang zu Server-Ressourcen benötigen, ist der Alles-oder-nichts-Ansatz ineffizient. Um einen sicheren Alles-oder-nichts-Ansatz in einem Server zu erzielen, der Servlets lädt, würde allen Servlets eine Standardteilmenge von Ressourcen gegeben. Verschiedene Servlets benötigen jedoch unterschiedliche Ressourcen und verschiedene Servlet-Quellen verdienen möglicherweise unterschiedliche Vertrauensniveaus. So bieten frühere Sicherheitsansätze keine flexible und doch sichere Umgebung zum Bereitstellen von Servlets auf einem Server. Daher wäre es wünschenswert, Sicherheit für Web-Server vor potentiell feindlichen Programmen zu schaffen, wobei die Genehmigungen zum Zugreifen auf die Ressourcen des Servers auf der Basis des Ursprungs des Programms gewährt würden.
  • Bei wachsendem Web wäre es wünschenswert, mehr Zugang zu den Ressourcen und Merkmalen des Web zu bieten. So möchten möglicherweise zahlreiche Steuerungen von Web-Servern von Dritten entwickelten Servlets Zugang gewähren. Daher wäre es wünschenswert, Sicherheit für Web-Server vor potentiell feindlichen Servlets zu schaffen, wobei der Zugang zu den Ressourcen des Servers auf der Basis des Ursprungs eines bestimmten Servlets zugewiesen wird.
  • Aus der EP-A-0 409397 ist ein Sicherheitsmechanismus für verteilte Datenverarbeitungssysteme bekannt, insbesondere für föderierte Computersysteme. Ein föderiertes Computersystem ist ein verteiltes Datenverarbeitungssystem, bei dem es keine(n) zentrale(n) Steuerung oder Datenspeicher gibt. Jeder Server kann autonom arbeiten und es gibt keine Master-Einheit zum Lenken des Betriebs des Systems. Gemäß der EP 409397 ist in einem föderierten System eine wichtige Überlegung die Sicherheit, d.h. dass beide Initiator-Server, wie auch die Antwort-Server, sicher genug sind, um die Bedürfnisse des Initiators und die einer geeigneten Route zwischen den beiden Servern zu erfüllen, die die Sicherheit ihrer Konversationen gewährt, um einen Informationsaustausch zu ermöglichen. Zwecks Schaffung von Serverzugangssicherheit in einem föderierten System beinhaltet dieses System einen Mechanismus, bei dem jeder Server separat Sicherheitsinformationen in Bezug auf Sicherheitsniveaus im System so führt, dass Kommunikationen zwischen Initiatoren und Anforderern den Austausch von Sicherheitsinformationen erfordern, um ein Gesamtsicherheitsniveau für die Verbindung auf der Basis einer Kombination von zwischen beiden Server geführten Sicherheitsinformationen zu erzielen. So betrifft die EP 409397 nicht den Schutz von Ressourcen in Servern, sondern stattdessen die Erhaltung sicherer Verbindungen zwischen Server, damit Informationen sicher dazwischen ausgetauscht werden können.
  • Aus der EP-A-0 570 123 ist ein Systemmonitor bekannt, der die Fähigkeit eines vor der Ausführung stehenden Programms auf die Verwendung von vordefinierten Ressourcen begrenzt. Zu diesem Zweck greift der Systemmonitor auf eine Datenstruktur zu, die dem Programm zugewiesene Programmautorisierungsinformationen (PAI) enthält. Demgemäß werden, wenn das Programm eine Funktion programmieren oder auf eine Ressource zugreifen soll, die assoziierten PAI überwacht, um zu prüfen, ob der Betrieb innerhalb der definierten Programmgrenzen abläuft. Die mit dem jeweiligen Programm assoziierten PAI können von einem Computersystembesitzer/-benutzer oder von irgendeiner Person zugewiesen werden, der der Computersystembesitzer/-benutzer implizit vertraut.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Schaffen von Sicherheit in einem Server bereitgestellt, um empfangenen Programmen Zugang zu Serverbetriebsmitteln zu gewähren, wobei das Verfahren die folgenden Schritte beinhaltet:
    Empfangen eines Programms über ein Netzwerk;
    Gewähren, dem empfangenen Programm, eines oder mehrerer Zugriffsprivilegs/-ien auf vom Server zur Verfügung gestellte Betriebsmittel; und
    Laden des empfangenen Programms in eine vorbestimmte, begrenzte Position im Speicher des Servers,
    wobei das Verfahren dadurch gekennzeichnet ist, dass:
    das empfangene Programm ein Servlet ist;
    mit dem Servlet eine Ursprungskennung assoziiert ist, die einen Ursprung des Servlets auf sichere Weise eindeutig identifiziert; und
    die Zugriffsprivilegien individuell für jedes Betriebsmittel wenigstens teilweise auf der Basis des Ursprungs des Servlets bestimmt werden.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird eine Vorrichtung zum Laden eines über ein Netzwerk empfangenen Programms zur Ausführung auf einem Server und Gewährleisten eines autorisierten Zugriffs durch das empfangene Programm auf Serverbetriebsmittel bereitgestellt, wobei die Vorrichtung Folgendes umfasst:
    Mittel zum Empfangen des Programms über das Netzwerk;
    Mittel, um dem empfangenen Programm ein oder mehrere Zugriffsprivileg(ien) auf vom Server zur Verfügung gestellte Betriebsmittel zu gewähren; und
    Mittel zum Laden des empfangenen Programms in eine vorbestimmte, begrenzte Position im Speicher des Servers,
    wobei die Vorrichtung dadurch gekennzeichnet ist, dass:
    sie so gestaltet ist, dass sie ein Programm in Form eines Servlets empfängt, mit dem eine Ursprungskennung assoziiert ist, die einen Ursprung des Servlets auf sichere Weise eindeutig identifiziert; und
    sie so gestaltet ist, dass sie Zugriffsprivilegien individuell für jedes Betriebsmittel wenigstens teilweise auf der Basis des Ursprungs des Servlets festlegt.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein rechnerlesbares Medium bereitgestellt, auf dem Daten gespeichert sind, die Folgen von Befehlen repräsentieren, die bei Ausführung durch ein Computersystem bewirken, dass das Computersystem die folgenden Schritte ausführt:
    Empfangen eines Programms über ein Netzwerk von einem Quellcomputer;
    Gewähren, dem empfangenen Programm, eines oder mehrerer Zugriffsprivilegs/-ien auf vom Server zur Verfügung gestellte Betriebsmittel; und
    Laden des empfangenen Programms in eine vorbestimmte, begrenzte Position im Speicher des Servers,
    dadurch gekennzeichnet, dass:
    das empfangene Programm ein Servlet ist;
    mit dem Servlet eine Ursprungskennung assoziiert ist, die einen Ursprung des Servlets auf sichere Weise eindeutig identifiziert; und
    die Zugriffsprivilegien individuell für jedes Betriebsmittel wenigstens teilweise auf der Basis des Ursprungs des Servlets festgelegt werden.
  • Die vorliegende Erfindung wird nachfolgend, nur beispielhaft, in den Figuren der Begleitzeichnungen näher beschrieben, in denen gleiche Bezugsziffern ähnliche Elemente bezeichnen. Dabei zeigt:
  • 1 eine Ausgestaltung eines Netzwerks, das zum Ausüben der vorliegenden Erfindung benutzt werden kann;
  • 2 ein Blockdiagramm zum Ausüben der vorliegenden Erfindung; und
  • 3 ein Fließschema einer Ausgestaltung zum Verifizieren eines Servlets und zum Zuweisen von Betriebsmitteln zu dem Servlet auf der Basis des Ursprungs des Servlets gemäß der vorliegenden Erfindung.
  • Es werden ein Verfahren und eine Vorrichtung zum Schaffen von Sicherheit für Server, auf denen Anwendungsprogramme laufen, auf der Basis des Ursprungs des Anwendungsprogramms beschrieben. In der nachfolgenden Beschreibung werden zwecks Erläuterung zahlreiche spezielle Einzelheiten dargelegt, um ein tief greifendes Verständnis der vorliegenden Erfindung zu vermitteln. Es wird für die Fachperson jedoch offensichtlich sein, dass die vorliegende Erfindung auch ohne diese speziellen Einzelheiten umgesetzt werden kann. In anderen Fällen sind gut bekannte Strukturen und Vorrichtungen in Blockdiagrammform dargestellt, um eine unnötige Verdunkelung der vorliegenden Erfindung zu vermeiden.
  • Ein Anwendungsprogramm in Form eines Servlets, das von einem Web-Server bereitgestellt werden soll, zusammen mit einer Ursprungskennung, wird vom Web-Server über ein Netzwerk wie z.B. das Internet empfangen. Vor dem Laden des Servlets führt der Server ein Verifizierungsverfahren einschließlich der Gewährung von Zugangsprivilegien auf der Basis der Ursprungskennung aus. Zugriffsprivilegien werden für dem Server zur Verfügung stehende Betriebsmittel gewährt oder nicht gewährt. Wenn ein Servlet von einer bekannten feindlichen Quelle empfangen wird oder wenn keine Zugangsprivilegien gewährt werden, dann kann das Servlet-Programm zurückgewiesen werden. Somit werden die das Universum, oder den Sandkasten, des Anwendungsprogramms definierenden Betriebsmittel individuell auf der Basis von Ursprungskennungen bestimmt.
  • 1 ist eine Ausgestaltung eines Netzwerks, das zum Ausüben der vorliegenden Erfindung verwendet werden kann. Das Internet 100 verbindet mehrere Hosts wie z.B. die Hosts 120, 122, 124 und 126 mit dem Web-Server 150. Die Hosts können auch als Web-Server dienen, um Dateien oder Betriebsmittel zu anderen Hosts zu senden. Alternativ kann das Internet 100 ein LAN (Ortsnetz) oder ein anderes Netzwerk sein, das mehrere Computer miteinander verknüpft.
  • In dem illustrierten System kann ein Host ein Programm, speziell ein Servlet, zum Web-Server 150 senden. Wenn der Web-Server 150 ein Servlet und eine Ursprungskennung von einem Quellcomputer empfängt, dann wird der Ursprung des Servlets geprüft, um die dem Servlet zur Verfügung stehenden Zugriffsprivilegien zu ermitteln. So kann der Web-Server 150 ein Servlet von einer unbekannten oder bekannten feindlichen Quelle zurückweisen oder der Web-Server 150 kann ein Servlet akzeptieren und laden und den Zugang zu Server-Betriebsmitteln auf der Basis des Ursprungs des Servlets gewähren. Nach dem Laden des Servlets durch den Web-Server 150 kann ein Web-Browser, der auf einem mit dem Web-Server 150 verbundenen Host läuft, darauf zugreifen.
  • 2 ist ein Beispiel für einen Quellcomputer, der über das Internet mit einem Web-Server gekoppelt ist, gemäß einer Ausgestaltung der vorliegenden Erfindung. Die Schritte, die zum Schaffen von Sicherheit in dem Server gemäß einer Ausgestaltung ausgeführt werden, sind als Blöcke in dem diesen Schritt ausführenden Computer dargestellt.
  • Das Servlet kann auf einem anderen Computer als dem entwickelt werden, auf dem es über ein Netzwerk angeboten werden soll. Ein Servlet wird in Servlet-Code geschrieben, durch 202 angedeutet. Gemäß einer Ausgestaltung wird das Servlet in einer Java-Umgebung entwickelt, aber ein Servlet oder anderes Programm kann auch in einer Non-Java-Umgebung entwickelt werden. Der Servlet-Code wird bei 204 in mehrere Byte-Codes kompiliert, mit 206 angedeutet. Byte-Codes sind Maschinenbefehlen ähnlich, sie sind jedoch nicht maschinenspezifisch. Codes mit Byte-Länge werden in einer Ausgestaltung der vorliegenden Erfindung verwendet, aber es können auch andere Code-Größen verwendet werden. Es ist wichtig zu bemerken, dass alle Codes dieselbe Größe haben.
  • Ein digitales Zertifikat, das eine digitale Signatur aufweist, durch 208 angedeutet, wird dann an Byte-Codes 206 angehängt. Gemäß einer Ausgestaltung ist das digitale Zertifikat ein X.509 Zertifikat. Es können aber auch andere Ursprungskennungen verwendet werden. Die Ursprungskennung muss den Unterzeichner sicher und eindeutig identifizieren, so dass der Administrator des empfangenden Web-Servers sicher sein kann, dass die Ursprungskennung den Ursprung des Servlets authentifiziert.
  • Die Byte-Codes werden über das Internet 100 oder über ein anderes Netzwerk zu einem designierten Server gesandt. Der Empfangscomputer wie z.B. der Web-Server 150, der die Byte-Codes empfängt, führt einen Verifizierungsprozess 252 aus. Die Verifizierung umfasst das Vergleichen der Ursprungskennung wie z.B. das digitale Zertifikat 208 mit einer lokalen Liste von bekannten vertrauenswürdigen Quellen und das Gewähren von Betriebsmittelprivilegien auf der Basis dieser Ursprungskennung. Darüber hinaus beinhaltet der Verifizierungsprozess andere Verifizierungstechniken, um zu ermitteln, ob die Byte-Codes modifiziert wurden oder ob die Ursprungskennung modifiziert wurde. Gemäß einer Ausgestaltung wird eine ACL (Access Control List = Zugriffskontrollliste) auf dem Web-Server 150 geführt, die vertrauenswürdige Quellen und die Privilegien speichert, die auf von diesen Quellen empfangene Servlets erweitert wurden. Betriebsmittelprivilegien beinhalten Ladeprivilegien, die Zulassung zum Lesen oder Schreiben von Dateien von der/auf die Platte(n) des Servers, Netzwerklese- und -schreibprivilegien, Ausführungsprivilegien, System-Property-Zugriffsprivilegien sowie Socket-Listen- oder -Connect-Privilegien. Es können auch andere Privilegien gewährt werden. Jede Kombination von einer oder mehreren dieser Zugriffsprivilegien kann einem Servlet gewährt werden.
  • Nach dem Verifizieren der Byte-Codes werden diese in Servlets umgesetzt, die zum Laufen auf der Architektur des Web-Servers 150 konfiguriert sind. Das Servlet wird dann in den Sandkasten (d.h. einen bekannten, begrenzten Bereich im Speicher und gewährtem Zugang nur für die in der ACL aufgeführten speziellen Betriebsmittel) des Servlets geladen. Nach dem Laden des Servlets in den Web-Server 150 kann der Web-Browser 170 auf das Servlet und alle dem Servlet zur Verfügung stehenden Betriebsmittel zugreifen. So werden Betriebsmittelprivilegien für jedes Servlet einzeln gewährt, wodurch die Flexibilität der Sicherheit eines Web-Servers erhöht wird. Diese verbesserte Flexibilität erlaubt es Administratoren, bekannten und vertrauenswürdigen Quellen mehr Privilegien einzuräumen, während neuen oder unbekannten Quellen weniger Privilegien eingeräumt werden. Durch Eliminieren eines Alles-oder-Nichts-Sicherheitsansatzes kann das Web mehr Betriebsmittel auf praktischere Weise anbieten.
  • 3 ist ein Fließschema einer Ausgestaltung zum Verifizieren eines Servlets und zum Zuweisen von Betriebsmitteln zu dem Servlet auf der Basis des Ursprungs des Servlets gemäß der vorliegenden Erfindung. In Schritt 300 empfängt ein Web-Server ein Servlet oder ein anderes Anwendungsprogramm über ein Netzwerk wie z.B. das Internet.
  • In Schritt 310 wird die lokale ACL geprüft, um auf der Basis der mit dem Servlet empfangenen Ursprungskennung zu ermitteln, welche Privilegien dem Servlet ggf. gewährt werden sollen. Die ACL kann einen Eintrag für unsignierte Servlets enthalten, um ein spezielles Zugangsniveau für alle unsignierten Servlets zu gewähren. Der Web-Server kann auch alle unsignierten Servlets zusammen mit von einer bekanntlich feindlichen Quelle empfangenen Servlets zurückweisen.
  • Wenn in Schritt 320 keine Zugriffsprivilegien gewährt werden, dann wird das Servlet zurückgewiesen oder in Schritt 330 nicht geladen. Wenn dem Servlet in Schritt 320 Zugriffsprivilegien gewährt werden, dann wird ein Sandkasten für das Servlet in Schritt 340 definiert. Ein Sandkasten definiert den Satz der dem Servlet gewährten Zugriffsprivilegien.
  • In Schritt 350 wird das Servlet vom Web-Server 150 geladen. Zusätzlich zu den Beschränkungen, die einem Servlet durch den Sandkasten, dem es zugewiesen wird, auferlegt werden, können auch andere Checks ausgeführt werden. So können beispielsweise Zugriffe auf bestimmte Betriebsmittel vom Server überwacht werden, um vor feindlichem Verhalten zu schützen.
  • So kann beispielsweise, indem auf Identität gestützte Zugriffskontrollen bereitgestellt werden, ein Web-Server kontrollieren, welche Servlets auf welche Daten zugreifen können. Diese Anordnung bietet Schutz gegen Diebstahl oder Veränderung von Daten. Zusätzlich kann durch Beschränken eines Servlets auf einen Sandkasten der Web-Server den Schaden kontrollieren, den ein bösartiger Code verursachen kann.
  • In der obigen Spezifikation wurde die Erfindung mit Bezug auf spezielle Ausgestaltungen davon beschrieben. Es wird jedoch offensichtlich sein, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne vom Umfang der Erfindung gemäß Definition in den beiliegenden Ansprüchen abzuweichen. Die Spezifikation und die Zeichnungen sind demgemäß nur als illustrativ und nicht in einem beschränkenden Sinne anzusehen.

Claims (23)

  1. Verfahren zum Schaffen von Sicherheit in einem Server (150), um empfangenen Programmen (202) Zugang zu Serverbetriebsmitteln (206) zu gewähren, wobei das Verfahren die folgenden Schritte beinhaltet: Empfangen eines Programms (202) über ein Netzwerk (100); Gewähren, dem empfangenen Programm (202), eines oder mehrerer Zugriffsprivilegs/-ien auf vom Server (150) zur Verfügung gestellte Betriebsmittel; und Laden des empfangenen Programms (202) in eine vorbestimmte, begrenzte Position im Speicher des Servers (150), wobei das Verfahren dadurch gekennzeichnet ist, dass: das empfangene Programm ein Servlet (202) ist; mit dem Servlet (202) eine Ursprungskennung (208) assoziiert ist, die einen Ursprung des Servlets auf sichere Weise eindeutig identifiziert; und die Zugriffsprivilegien individuell für jedes Betriebsmittel wenigstens teilweise auf der Basis des Ursprungs des Servlets (202) bestimmt werden.
  2. Verfahren nach Anspruch 1, wobei die Ursprungskennung eine digitale Signatur ist.
  3. Verfahren nach Anspruch 1, wobei das Gewähren der ein oder mehreren Zugriffsprivilegien ferner Folgendes beinhaltet: Prüfen einer Zugriffskontrollliste (ACL), um die Serverbetriebsmittel, die dem empfangenen Servlet (202) zur Verfügung stehen, auf der Basis der Ursprungskennung (208) zu bestimmen.
  4. Verfahren nach Anspruch 1, wobei die Zugriffsprivilegien Folgendes umfassen: Serverplatten-Leseprivilegien; Serverplatten-Schreibprivilegien; Servernetzwerk-Leseprivilegien; und Servernetzwerk-Schreibprivilegien.
  5. Verfahren nach Anspruch 1, wobei die Zugriffsprivilegien Folgendes umfassen: Ausführungsprivilegien; System-Property-Zugriffsprivilegien; Socket-Connect-Privilegien; und Socket-Listen-Privilegien.
  6. Verfahren nach Anspruch 1, wobei das Netzwerk (100) das Internet umfasst.
  7. Verfahren nach Anspruch 6, wobei der Ursprung des Servlets (202) ein Quellcomputer (200) ist, der das Servlet (202) über das Netzwerk (100) erzeugt und übertragen hat.
  8. Verfahren nach Anspruch 1, wobei der Ursprung des Servlets (202) ein Unterzeichner eines als Ursprungskennung bereitgestellten digitalen Zertifikats ist.
  9. Verfahren nach Anspruch 1, wobei das Verfahren vor dem Empfang des Servlets (202) ferner die folgenden Schritte beinhaltet: Erzeugen des Servlets (202); Kompilieren des Servlets (202) zu einer Mehrzahl von Codes (206) vorbestimmter Länge; Erzeugen einer Ursprungskennung (208) gemäß einem Ursprung des Servlets (202); Assoziieren der Ursprungskennung (208) mit den Codes (206); und Senden der Codes (206) zum Server (150) über das Netzwerk (100), wobei der Server (150) die Codes (206) prüft und den Zugang zu lokalen Betriebsmitteln (260) auf der Basis der Ursprungskennung (208) zuweist, und wobei der Server (150) ferner das Servlet (202) auf der Basis der empfangenen Codes (206) erzeugt.
  10. Verfahren nach Anspruch 9, wobei die Ursprungskennung eine digitale Signatur umfasst.
  11. Verfahren nach Anspruch 9, wobei die Mehrzahl von Codes vorbestimmter Länge eine Mehrzahl von Byte-Längen-Codes umfasst.
  12. Verfahren nach Anspruch 9, wobei die zugewiesenen Betriebsmittel Folgendes umfassen: Serverplatten-Leseprivilegien; Serverplatten-Schreibprivilegien; Servernetzwerk-Leseprivilegien; und Servernetzwerk-Schreibprivilegien.
  13. Verfahren nach Anspruch 9, wobei die zugewiesenen Betriebsmittel Folgendes umfassen: Ausführungsprivilegien; System-Property-Zugriffsprivilegien; Socket-Connect-Privilegien; und Socket-Listen-Privilegien.
  14. Verfahren nach Anspruch 9, wobei das Netzwerk (100) das Internet umfasst.
  15. Verfahren nach Anspruch 9, wobei der Ursprung des Servlets (202) entweder einen Quellcomputer (200) umfasst, der das Servlet (202) erzeugt hat, oder einen Unterzeichner (120126) der Ursprungskennung.
  16. Vorrichtung zum Laden eines über ein Netzwerk (100) empfangenen Programms (202) zur Ausführung auf einem Server (150) und Gewährleisten eines autorisierten Zugriffs durch das empfangene Programm auf Serverbetriebsmittel, wobei die Vorrichtung Folgendes umfasst: Mittel zum Empfangen des Programms (202) über das Netzwerk (100); Mittel, um dem empfangenen Programm (202) ein oder mehrere Zugriffsprivileg(ien) auf vom Server (150) zur Verfügung gestellte Betriebsmittel (260) zu gewähren; und Mittel zum Laden des empfangenen Programms (202) in eine vorbestimmte, begrenzte Position im Speicher des Servers (150), wobei die Vorrichtung dadurch gekennzeichnet ist, dass: sie so gestaltet ist, dass sie ein Programm in Form eines Servlets (202) empfängt, mit dem eine Ursprungskennung (208) assoziiert ist, die einen Ursprung des Servlets (202) auf sichere Weise eindeutig identifiziert; und sie so gestaltet ist, dass sie Zugriffsprivilegien individuell für jedes Betriebsmittel (260) wenigstens teilweise auf der Basis des Ursprungs des Servlets (202) festlegt.
  17. Vorrichtung nach Anspruch 16, wobei die Ursprungskennung eine digitale Signatur umfasst.
  18. Vorrichtung nach Anspruch 17, wobei das Mittel zum Ermitteln von Betriebsmitteln, auf die der Server zugreifen kann, eine auf dem Server geführte Zugriffskontrollliste (ACL) umfasst.
  19. Rechnerlesbares Medium, auf dem Daten gespeichert sind, die Folgen von Befehlen repräsentieren, die bei Ausführung durch ein Computersystem bewirken, dass das Computersystem die folgenden Schritte ausführt: Empfangen eines Programms (202) über ein Netzwerk (100) von einem Quellcomputer; Gewähren, dem empfangenen Programm (202), eines oder mehrerer Zugriffsprivilegs/-ien auf vom Server (150) zur Verfügung gestellte Betriebsmittel; und Laden des empfangenen Programms (202) in eine vorbestimmte, begrenzte Position im Speicher des Servers (150), dadurch gekennzeichnet, dass: das empfangene Programm ein Servlet (202) ist; mit dem Servlet (202) eine Ursprungskennung (208) assoziiert ist, die einen Ursprung des Servlets auf sichere Weise eindeutig identifiziert; und die Zugriffsprivilegien individuell für jedes Betriebsmittel wenigstens teilweise auf der Basis des Ursprungs des Servlets (202) festgelegt werden.
  20. Rechnerlesbares Medium nach Anspruch 19, wobei die Ursprungskennung eine digitale Signatur umfasst.
  21. Rechnerlesbares Medium nach Anspruch 19, wobei das Bestimmen ferner durch Prüfen einer Zugriffskontrollliste (ACL) gekennzeichnet ist, um die Serverbetriebsmittel (260), auf die das Servlet (202) zugreifen kann, auf der Basis der Ursprungskennung (208) zu bestimmen.
  22. Rechnerlesbares Medium nach Anspruch 19, wobei die Zugriffsprivilegien Folgendes umfassen: Serverplatten-Leseprivilegien; Serverplatten-Schreibprivilegien; Servernetzwerk-Leseprivilegien; und Servernetzwerk-Schreibprivilegien.
  23. Rechnerlesbares Medium nach Anspruch 19, wobei die Zugriffsprivilegien Folgendes umfassen: Ausführungsprivilegien; System-Property-Zugriffsprivilegien; Socket-Connect-Privilegien; und Socket-Listen-Privilegien.
DE69838378T 1997-04-01 1998-03-27 Verfahren und gerät um sicherheit, für server die anwenderprogramme ausführen, die über's netzwerk empfangen wurden, zu gewährleisten Expired - Lifetime DE69838378T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/829,990 US6167522A (en) 1997-04-01 1997-04-01 Method and apparatus for providing security for servers executing application programs received via a network
US829990 1997-04-01
PCT/US1998/006116 WO1998044404A1 (en) 1997-04-01 1998-03-27 Method and apparatus for providing security for servers executing application programs received via a network

Publications (2)

Publication Number Publication Date
DE69838378D1 DE69838378D1 (de) 2007-10-18
DE69838378T2 true DE69838378T2 (de) 2008-05-29

Family

ID=25256058

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69838378T Expired - Lifetime DE69838378T2 (de) 1997-04-01 1998-03-27 Verfahren und gerät um sicherheit, für server die anwenderprogramme ausführen, die über's netzwerk empfangen wurden, zu gewährleisten

Country Status (5)

Country Link
US (1) US6167522A (de)
EP (1) EP0972234B1 (de)
JP (1) JP2002503364A (de)
DE (1) DE69838378T2 (de)
WO (1) WO1998044404A1 (de)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5928323A (en) * 1996-05-30 1999-07-27 Sun Microsystems, Inc. Apparatus and method for dynamically generating information with server-side software objects
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US7529856B2 (en) 1997-03-05 2009-05-05 At Home Corporation Delivering multimedia services
US6370571B1 (en) 1997-03-05 2002-04-09 At Home Corporation System and method for delivering high-performance online multimedia services
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US6275938B1 (en) * 1997-08-28 2001-08-14 Microsoft Corporation Security enhancement for untrusted executable code
US7047369B1 (en) * 1997-09-25 2006-05-16 Aladdin Knowledge Systems Ltd. Software application environment
US6584495B1 (en) * 1998-01-30 2003-06-24 Microsoft Corporation Unshared scratch space
IL123512A0 (en) * 1998-03-02 1999-03-12 Security 7 Software Ltd Method and agent for the protection against hostile resource use access
US6505300B2 (en) * 1998-06-12 2003-01-07 Microsoft Corporation Method and system for secure running of untrusted content
US6691230B1 (en) * 1998-10-15 2004-02-10 International Business Machines Corporation Method and system for extending Java applets sand box with public client storage
US20040030768A1 (en) * 1999-05-25 2004-02-12 Suban Krishnamoorthy Unified system and method for downloading code to heterogeneous devices in distributed storage area networks
JP2001117769A (ja) * 1999-10-20 2001-04-27 Matsushita Electric Ind Co Ltd プログラム実行装置
US6678733B1 (en) 1999-10-26 2004-01-13 At Home Corporation Method and system for authorizing and authenticating users
AU2299601A (en) * 1999-10-26 2001-05-14 At Home Corporation Method and system for restricting access to user resources
US6510464B1 (en) * 1999-12-14 2003-01-21 Verizon Corporate Services Group Inc. Secure gateway having routing feature
US6631417B1 (en) * 2000-03-29 2003-10-07 Iona Technologies Plc Methods and apparatus for securing access to a computer
US6985963B1 (en) 2000-08-23 2006-01-10 At Home Corporation Sharing IP network resources
US7036146B1 (en) 2000-10-03 2006-04-25 Sandia Corporation System and method for secure group transactions
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US8831995B2 (en) 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US6965939B2 (en) * 2001-01-05 2005-11-15 International Business Machines Corporation Method and apparatus for processing requests in a network data processing system based on a trust association between servers
US7099663B2 (en) * 2001-05-31 2006-08-29 Qualcomm Inc. Safe application distribution and execution in a wireless environment
US6996602B2 (en) * 2001-06-18 2006-02-07 Ford Global Technologies, Llc Server-side page table framework for client application definition and execution
US7392313B2 (en) * 2001-10-18 2008-06-24 International Business Machines Corporation Method and apparatus for partitioned environment for web application servers
US7653814B2 (en) 2001-12-11 2010-01-26 International Business Machines Corporation System and method for securely hyperlinking graphic objects
US7690023B2 (en) * 2001-12-13 2010-03-30 Japan Science And Technology Agency Software safety execution system
WO2003063029A1 (en) * 2002-01-18 2003-07-31 Bea Systems, Inc. System and method for using virtual directories to service url requests in application servers
US20030140100A1 (en) * 2002-01-18 2003-07-24 Sam Pullara System and method for URL response caching and filtering in servlets and application servers
US7197530B2 (en) * 2002-01-18 2007-03-27 Bea Systems, Inc. System and method for pluggable URL pattern matching for servlets and application servers
WO2003084176A1 (en) * 2002-03-28 2003-10-09 Oleksiy Yuryevich Shevchenko Method and device for computer memory protection against unauthorized access
US6961813B2 (en) * 2002-06-21 2005-11-01 Hewlett-Packard Development Company, L.P. System and method for providing multi-initiator capability to an ATA drive
US6948036B2 (en) * 2002-06-21 2005-09-20 Hewlett-Packard Development Company, L.P. System and method for providing multi-initiator capability to an ATA drive
US20040123117A1 (en) * 2002-12-18 2004-06-24 Symantec Corporation Validation for behavior-blocking system
EP1455501B1 (de) * 2003-03-06 2007-05-09 NTT DoCoMo, Inc. Verfahren und Vorrichtung zur Steuerung von Inhaltsübertragung
EP1769366B1 (de) 2004-04-30 2016-12-14 BlackBerry Limited System und verfahren zur betriebssteuerung auf einer elektronischen einrichtung
US7908653B2 (en) 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
US7484247B2 (en) * 2004-08-07 2009-01-27 Allen F Rozman System and method for protecting a computer system from malicious software
US8819639B2 (en) * 2004-09-15 2014-08-26 Lakeside Software, Inc. System for selectively blocking execution of applications on a computer system
US20060123398A1 (en) * 2004-12-08 2006-06-08 Mcguire James B Apparatus and method for optimization of virtual machine operation
US20060156400A1 (en) * 2005-01-06 2006-07-13 Gbs Laboratories Llc System and method for preventing unauthorized access to computer devices
US8024523B2 (en) 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
JP2006323614A (ja) * 2005-05-18 2006-11-30 Fujitsu Ltd 不正防止装置、不正防止プログラム、および不正防止方法
US8346950B1 (en) * 2005-05-19 2013-01-01 Glam Media, Inc. Hosted application server
US7756945B1 (en) 2005-08-02 2010-07-13 Ning, Inc. Interacting with a shared data model
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US8045958B2 (en) 2005-11-21 2011-10-25 Research In Motion Limited System and method for application program operation on a wireless device
US7757269B1 (en) 2006-02-02 2010-07-13 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
DE602006006787D1 (de) 2006-02-27 2009-06-25 Research In Motion Ltd Verfahren zum Personalisieren einer standardisierten IT-Richtlinie
US7895573B1 (en) 2006-03-27 2011-02-22 Mcafee, Inc. Execution environment file inventory
US8060916B2 (en) * 2006-11-06 2011-11-15 Symantec Corporation System and method for website authentication using a shared secret
US9424154B2 (en) 2007-01-10 2016-08-23 Mcafee, Inc. Method of and system for computer system state checks
US8332929B1 (en) 2007-01-10 2012-12-11 Mcafee, Inc. Method and apparatus for process enforced configuration management
US20090125977A1 (en) * 2007-10-31 2009-05-14 Docomo Communications Laboratories Usa, Inc. Language framework and infrastructure for safe and composable applications
US8892738B2 (en) 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
US8789159B2 (en) * 2008-02-11 2014-07-22 Microsoft Corporation System for running potentially malicious code
US20100058016A1 (en) * 2008-08-26 2010-03-04 Jari Nikara Method, apparatus and software product for multi-channel memory sandbox
JP2010092376A (ja) * 2008-10-10 2010-04-22 Softbank Mobile Corp 情報処理装置、情報処理方法及び情報処理プログラム
US8745361B2 (en) * 2008-12-02 2014-06-03 Microsoft Corporation Sandboxed execution of plug-ins
US8381284B2 (en) 2009-08-21 2013-02-19 Mcafee, Inc. System and method for enforcing security policies in a virtual environment
US9552497B2 (en) 2009-11-10 2017-01-24 Mcafee, Inc. System and method for preventing data loss using virtual machine wrapped applications
US8925101B2 (en) 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
US8938800B2 (en) 2010-07-28 2015-01-20 Mcafee, Inc. System and method for network level protection against malicious software
US8549003B1 (en) 2010-09-12 2013-10-01 Mcafee, Inc. System and method for clustering host inventories
US9294479B1 (en) * 2010-12-01 2016-03-22 Google Inc. Client-side authentication
US9075993B2 (en) 2011-01-24 2015-07-07 Mcafee, Inc. System and method for selectively grouping and managing program files
US9112830B2 (en) 2011-02-23 2015-08-18 Mcafee, Inc. System and method for interlocking a host and a gateway
US8973158B2 (en) 2011-07-20 2015-03-03 Microsoft Technology Licensing Llc Trust level activation
US8832447B2 (en) * 2011-08-10 2014-09-09 Sony Corporation System and method for using digital signatures to assign permissions
US9594881B2 (en) 2011-09-09 2017-03-14 Mcafee, Inc. System and method for passive threat detection using virtual memory inspection
US8694738B2 (en) 2011-10-11 2014-04-08 Mcafee, Inc. System and method for critical address space protection in a hypervisor environment
US9069586B2 (en) 2011-10-13 2015-06-30 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US8973144B2 (en) 2011-10-13 2015-03-03 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US8713668B2 (en) 2011-10-17 2014-04-29 Mcafee, Inc. System and method for redirected firewall discovery in a network environment
US8739272B1 (en) 2012-04-02 2014-05-27 Mcafee, Inc. System and method for interlocking a host and a gateway
US8973146B2 (en) 2012-12-27 2015-03-03 Mcafee, Inc. Herd based scan avoidance system in a network environment
US9578052B2 (en) 2013-10-24 2017-02-21 Mcafee, Inc. Agent assisted malicious application blocking in a network environment
US11461456B1 (en) * 2015-06-19 2022-10-04 Stanley Kevin Miles Multi-transfer resource allocation using modified instances of corresponding records in memory
US11176240B1 (en) * 2021-04-20 2021-11-16 Stanley Kevin Miles Multi-transfer resource allocation using modified instances of corresponding records in memory
JP6901997B2 (ja) 2018-05-31 2021-07-14 富士フイルム株式会社 プログラムの実行制御方法、プログラム、記録媒体、ウェブページ、送信サーバ、クライアントおよびウェブシステム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8916586D0 (en) * 1989-07-20 1989-09-06 Int Computers Ltd Distributed data processing system
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
ATE177857T1 (de) * 1992-05-15 1999-04-15 Addison M Fischer Verfahren und vorrichtung zur sicherheit eines computersystem mit programmberechtigungsdatenstrukturen
US5235642A (en) * 1992-07-21 1993-08-10 Digital Equipment Corporation Access control subsystem and method for distributed computer system using locally cached authentication credentials
US5720033A (en) * 1994-06-30 1998-02-17 Lucent Technologies Inc. Security platform and method using object oriented rules for computer-based systems using UNIX-line operating systems
US5692047A (en) * 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
US5928323A (en) * 1996-05-30 1999-07-27 Sun Microsystems, Inc. Apparatus and method for dynamically generating information with server-side software objects
US5825877A (en) * 1996-06-11 1998-10-20 International Business Machines Corporation Support for portable trusted software
US5958051A (en) * 1996-11-27 1999-09-28 Sun Microsystems, Inc. Implementing digital signatures for data streams and data archives
US5892904A (en) * 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission

Also Published As

Publication number Publication date
WO1998044404A1 (en) 1998-10-08
EP0972234B1 (de) 2007-09-05
US6167522A (en) 2000-12-26
EP0972234A1 (de) 2000-01-19
JP2002503364A (ja) 2002-01-29
DE69838378D1 (de) 2007-10-18

Similar Documents

Publication Publication Date Title
DE69838378T2 (de) Verfahren und gerät um sicherheit, für server die anwenderprogramme ausführen, die über's netzwerk empfangen wurden, zu gewährleisten
DE69929772T2 (de) Dateizugriffsteuerung in einem mehrfachprotokoll-datei-server
DE69732323T2 (de) Unterstützung für die Verteilung von vertrauter Software
DE60127557T2 (de) Filtern eines erlaubnissets mit hilfe von erlaubnisanfragen die mit einer kodeanordnung verknüpft sind
DE60213314T2 (de) Verfahren und Anordnungen zum kontrollierten Zugang zu Ressourcen basiert auf einem Authentifizierungsverfahren
US7065784B2 (en) Systems and methods for integrating access control with a namespace
DE69736697T2 (de) Verfahren und Gerät zur Steuerung von Zugriff auf Systembetriebsmittel
EP1084464B1 (de) Sicherheitsmodell mit beschränkten token
DE69531112T2 (de) Mechanismus zum verknüpfen von dateien auf einem emulierten system mit dem zentralsystem für den zugriff durch emulierte systembenutzer
DE112012003988B4 (de) Schützen des Arbeitsspeichers eines virtuellen Gasts
DE10392470B4 (de) System und Verfahren zum Ausführen von Initialisierungsbefehlen einer gesicherten Umgebung
DE69714752C5 (de) Verwendung einer hohen programmiersprache in einem mikrokontroller
DE60200323T2 (de) Verfahren zum Schutz der Integrität von Programmen
DE69727198T2 (de) Durchführen digitaler Unterschriften für Datenströme und Archive
DE602006000878T2 (de) Verfahren zur Steuerung eines Ressourcenzugriffs eines Prozesses durch einen Elternprozess
US20050044411A1 (en) Peer-to-peer authorization method
DE112020000538T5 (de) Feinkörnige zugriffskontrolle auf token-grundlage
DE112012002741T5 (de) Identitäts- und Berechtigungsprüfungsverfahren für die Sicherheit einer Cloud-Datenverarbeitungsplattform
DE102011077218A1 (de) Zugriff auf in einer Cloud gespeicherte Daten
DE69724448T2 (de) Verfahren und sicherheitssystem zur verarbeitung einer sicherheitskritischen tätigkeit
DE60305315T2 (de) Originalitätsgesichertes herausnehmbares medium mit ausführbarem kode
DE19717900C2 (de) Verfahren und Applet-Applikationsmaschine zur Verarbeitung eines Computer-Applets sowie ein Computersoftware-Applet
Fernandez et al. More Patterns for Operating System Access Control.
EP1924945B1 (de) Verfahren zur verbesserung der vertrauenswürdigkeit von elektronischen geräten und datenträger dafür
CN112733165A (zh) 一种文件访问控制方法、装置及介质

Legal Events

Date Code Title Description
8364 No opposition during term of opposition