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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 29
- 244000035744 Hura crepitans Species 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000003999 initiator Substances 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000007123 defense Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000005433 particle physics related processes and functions Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1483—Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2129—Authenticate client device independently of the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2149—Restricted operating environment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures 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äß derEP 409397 EP 409397 - 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 Internet100 verbindet mehrere Hosts wie z.B. die Hosts120 ,122 ,124 und126 mit dem Web-Server150 . Die Hosts können auch als Web-Server dienen, um Dateien oder Betriebsmittel zu anderen Hosts zu senden. Alternativ kann das Internet100 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-Server150 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-Server150 ein Servlet von einer unbekannten oder bekannten feindlichen Quelle zurückweisen oder der Web-Server150 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-Server150 kann ein Web-Browser, der auf einem mit dem Web-Server150 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 bei204 in mehrere Byte-Codes kompiliert, mit206 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-Codes206 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-Server150 , der die Byte-Codes empfängt, führt einen Verifizierungsprozess252 aus. Die Verifizierung umfasst das Vergleichen der Ursprungskennung wie z.B. das digitale Zertifikat208 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-Server150 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-Server150 kann der Web-Browser170 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 Schritt300 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 Schritt330 nicht geladen. Wenn dem Servlet in Schritt320 Zugriffsprivilegien gewährt werden, dann wird ein Sandkasten für das Servlet in Schritt340 definiert. Ein Sandkasten definiert den Satz der dem Servlet gewährten Zugriffsprivilegien. - In Schritt
350 wird das Servlet vom Web-Server150 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)
- 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. - Verfahren nach Anspruch 1, wobei die Ursprungskennung eine digitale Signatur ist.
- 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. - Verfahren nach Anspruch 1, wobei die Zugriffsprivilegien Folgendes umfassen: Serverplatten-Leseprivilegien; Serverplatten-Schreibprivilegien; Servernetzwerk-Leseprivilegien; und Servernetzwerk-Schreibprivilegien.
- Verfahren nach Anspruch 1, wobei die Zugriffsprivilegien Folgendes umfassen: Ausführungsprivilegien; System-Property-Zugriffsprivilegien; Socket-Connect-Privilegien; und Socket-Listen-Privilegien.
- Verfahren nach Anspruch 1, wobei das Netzwerk (
100 ) das Internet umfasst. - 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. - Verfahren nach Anspruch 1, wobei der Ursprung des Servlets (
202 ) ein Unterzeichner eines als Ursprungskennung bereitgestellten digitalen Zertifikats ist. - 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. - Verfahren nach Anspruch 9, wobei die Ursprungskennung eine digitale Signatur umfasst.
- Verfahren nach Anspruch 9, wobei die Mehrzahl von Codes vorbestimmter Länge eine Mehrzahl von Byte-Längen-Codes umfasst.
- Verfahren nach Anspruch 9, wobei die zugewiesenen Betriebsmittel Folgendes umfassen: Serverplatten-Leseprivilegien; Serverplatten-Schreibprivilegien; Servernetzwerk-Leseprivilegien; und Servernetzwerk-Schreibprivilegien.
- Verfahren nach Anspruch 9, wobei die zugewiesenen Betriebsmittel Folgendes umfassen: Ausführungsprivilegien; System-Property-Zugriffsprivilegien; Socket-Connect-Privilegien; und Socket-Listen-Privilegien.
- Verfahren nach Anspruch 9, wobei das Netzwerk (
100 ) das Internet umfasst. - Verfahren nach Anspruch 9, wobei der Ursprung des Servlets (
202 ) entweder einen Quellcomputer (200 ) umfasst, der das Servlet (202 ) erzeugt hat, oder einen Unterzeichner (120 –126 ) der Ursprungskennung. - 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. - Vorrichtung nach Anspruch 16, wobei die Ursprungskennung eine digitale Signatur umfasst.
- 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.
- 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. - Rechnerlesbares Medium nach Anspruch 19, wobei die Ursprungskennung eine digitale Signatur umfasst.
- 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. - Rechnerlesbares Medium nach Anspruch 19, wobei die Zugriffsprivilegien Folgendes umfassen: Serverplatten-Leseprivilegien; Serverplatten-Schreibprivilegien; Servernetzwerk-Leseprivilegien; und Servernetzwerk-Schreibprivilegien.
- Rechnerlesbares Medium nach Anspruch 19, wobei die Zugriffsprivilegien Folgendes umfassen: Ausführungsprivilegien; System-Property-Zugriffsprivilegien; Socket-Connect-Privilegien; und Socket-Listen-Privilegien.
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)
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)
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 |
-
1997
- 1997-04-01 US US08/829,990 patent/US6167522A/en not_active Expired - Lifetime
-
1998
- 1998-03-27 JP JP54185698A patent/JP2002503364A/ja active Pending
- 1998-03-27 DE DE69838378T patent/DE69838378T2/de not_active Expired - Lifetime
- 1998-03-27 WO PCT/US1998/006116 patent/WO1998044404A1/en active IP Right Grant
- 1998-03-27 EP EP98913219A patent/EP0972234B1/de not_active Expired - Lifetime
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 |