[go: up one dir, main page]

DE102015005071A1 - System und Verfahren zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten Komponente - Google Patents

System und Verfahren zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten Komponente Download PDF

Info

Publication number
DE102015005071A1
DE102015005071A1 DE102015005071.0A DE102015005071A DE102015005071A1 DE 102015005071 A1 DE102015005071 A1 DE 102015005071A1 DE 102015005071 A DE102015005071 A DE 102015005071A DE 102015005071 A1 DE102015005071 A1 DE 102015005071A1
Authority
DE
Germany
Prior art keywords
sensor
component
integration
information
delivered
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.)
Pending
Application number
DE102015005071.0A
Other languages
English (en)
Inventor
Thomas Siebert
Karsten Tellmann
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.)
G DATA SOFTWARE AG
Original Assignee
G DATA SOFTWARE AG
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 G DATA SOFTWARE AG filed Critical G DATA SOFTWARE AG
Priority to DE102015005071.0A priority Critical patent/DE102015005071A1/de
Priority to EP16721076.4A priority patent/EP3286683A1/de
Priority to PCT/EP2016/000630 priority patent/WO2016169646A1/de
Priority to US15/568,389 priority patent/US10831887B2/en
Publication of DE102015005071A1 publication Critical patent/DE102015005071A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/54Monitoring 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 adding security routines or objects to programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Die vorliegende Erfindung betrifft ein System zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten und auf dem Clientsystem verarbeitbaren und/oder ausführbaren Komponente, mit einem Integrationssystem und mit einem Sensor, wobei das Integrationssystem den Sensor in die von dem Serversystem an das Clientsystem ausgelieferte Komponente integriert, und wobei der Sensor so ausgestaltet ist, dass er bei der Verarbeitung und/oder Ausführung der Komponente ausgeführt wird und Modifikationen der Komponente erkennt.

Description

  • Die vorliegende Erfindung betrifft ein System und ein Verfahren zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten und auf dem Clientsystem verarbeitbaren und/oder ausführbaren Komponente. Bei der Komponente kann es sich dabei insbesondere um eine Webseite handeln, welche auf einem als Clientsystem arbeitenden Webbrowser verarbeitet bzw. ausgeführt wird.
  • Durch die Einführung von modernen Webtechnologien wie HTML5 und CSS3 bieten heutige Webbrowser technische Möglichkeiten, um klassische Prozesse in Form von Webapplikationen zu modellieren.
  • Die Funktionalität von Webseiten wird dabei in der Regel sowohl von serverseitigen Komponenten wie beispielsweise einem Webserver, einem Softwarebackend und einer Datenbankanbindung des Webservers, als auch über clientseitige Komponenten, die im Webbrowser des eigentlichen Kunden ausgeführt werden, bereitgestellt. Die clientseitigen Komponenten werden dabei im Rahmen der Darstellung einer Webseite von dem Webserver an den Browser des Kunden übertragen, wobei es sich beispielsweise um HTML oder JavaScript-Code handelt.
  • Bei der erfindungsgemäß übertragenen Komponente handelt es sich um eine solche clientseitige Komponente. Dagegen werden im Rahmen der vorliegenden Erfindung Komponenten des eigentlichen Browsers und dessen Erweiterungen wie beispielsweise Plug-Ins nicht weiter betrachtet.
  • Traditionelle Umsetzungen solcher Systeme realisieren einen Großteil der eigentlichen Prozesslogik auf der Serverseite. Durch die technischen Möglichkeiten heutiger Browserversionen wird die Umsetzung dieser Prozesslogik jedoch mehr und mehr in die clientseitigen Komponenten solcher Systeme verschoben.
  • Hierdurch sind die clientseitigen Technologien in den Fokus von Angreifern gerückt. Schädliche Software oder manuelle Angreifer attackieren gezielt die clientseitigen Komponenten im Browser des Kunden, um beispielsweise sensible Daten zu stehlen. Hierzu wird eine Manipulation der ursprünglichen Clientkomponenten vorgenommen, um das eigentliche Verhalten dieser Komponenten zu modifizieren oder zu überwachen. Da diese Manipulationsart nur clientseitig stattfindet, können serverseitige Schutztechnologien diese nicht erkennen.
  • Die Aufgabe der vorliegenden Erfindung ist es daher, ein System zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten und auf dem Clientsystem verarbeitbaren und/oder ausführbaren Komponente, d. h. einer erfindungsgemäßen clientseitigen Komponente, zur Verfügung zu stellen.
  • Diese Aufgabe wird erfindungsgemäß durch ein System gemäß Anspruch 1 und ein Verfahren gemäß Anspruch 15 zur Verfügung gestellt, sowie durch die Bestandteile des erfindungsgemäßen Systems, welche in Ansprüchen 9, 11 und 13 beansprucht sind.
  • Die vorliegende Erfindung umfasst ein System zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten und auf dem Clientsystem verarbeitbaren und/oder ausführbaren Komponente, welches ein Integrationssystem und einen Sensor umfasst. Das Integrationssystem integriert dabei den Sensor in die von dem Serversystem an das Clientsystem ausgelieferte Komponente. Der Sensor ist so ausgestaltet, dass er bei der Verarbeitung und/oder Ausführung der Komponente ausgeführt wird und Modifikationen der Komponente erkennt. Durch die vorliegende Erfindung wird damit eine clientseitige Schutztechnologie zur Verfügung gestellt, welche bei der Verarbeitung oder Ausführung der clientseitigen Komponente mit ausgeführt wird und Modifikationen der Komponente erkennt.
  • Das Integrationssystem kann dabei Teil des Serversystems oder Teil des Clientsystems sein oder durch einen zwischengeschalteten Proxy zur Verfügung gestellt werden. Eine Integration des Integrationssystem in das Clientsystem kann dabei insbesondere dann erfolgen, wenn es im Clientsystem mehrere logische Ebenen gibt, wobei die Integration des Sensors durch das Integrationssystem auf einer Ebene oberhalb des erwarteten Angriffs stattfindet. Beispielsweise kann das Integrationssystem dabei im Clientsystem in Art eines lokalen Proxyservers dem eigentlichen Clientsystem vorgeschaltet werden.
  • Bevorzugt bildet das Integrationssystem jedoch einen Teil des Serversystems oder einen zwischengeschalteten Proxy. Dies hat den Vorteil, dass der das Serversystem betreibende Serviceanbieter die durch den Sensor zur Verfügung gestellte Schutztechnologie ausliefern kann, ohne dass der Kunde selbstständig tätig werden muss oder hierauf auch nur Einfluss hätte.
  • In einer bevorzugten Ausführungsform der vorliegenden Erfindung stattet das Integrationssystem den Sensor mit Informationen zum ausgelieferten Zustand der Komponente und/oder einem Identifikator des Auslieferungsvorgangs aus. Die Informationen zum ausgelieferten Zustand der Komponente erlauben dem Sensor einen Vergleich mit dem aktuellen Zustand der Komponente und damit eine Identifikation von Modifikationen. Der Identifikator erlaubt bei einer Kommunikation des Sensors mit anderen Komponenten des Systems eine Zuordnung des Reports zu einer bestimmten ausgelieferten Komponente.
  • Weiterhin kann der Sensor so in die Komponente integriert werden oder der Sensor solche Aktionen durchführen, dass der Sensor durch nachträgliche Manipulationen nicht mehr entfernt werden kann. Insbesondere können hierzu entsprechende Attribute des Sensors innerhalb der Komponente gesetzt werden.
  • In einer bevorzugten Ausführungsform verschleiert das Integrationssystem den Sensor im Rahmen der Integration oder nach der Integration. Hierdurch soll verhindert werden, dass ein Angreifer den Sensor innerhalb der Komponente erkennt und entfernen kann.
  • In einer möglichen Ausführungsform ist vorgesehen, dass das Integrationssystem den Sensor für die Integration dynamisch modifiziert. Hierdurch soll die Erkennbarkeit des Sensors innerhalb der Komponente verringert werden. Insbesondere kann dabei vorgesehen sein, dass das Integrationssystem Variablennamen und/oder Funktionsnamen und/oder die Größe des Sensors verändert. Weiterhin kann die Position des Sensors innerhalb der Komponente verändert werden. Bevorzugt erfolgt die Veränderung dabei für mehrere und bevorzugt jeden Integrationsprozess unterschiedlich und/oder zufällig.
  • Weiterhin kann vorgesehen sein, dass das Integrationssystem sowohl den Sensor, als auch einen oder mehrere Bestandteile der ausgelieferten Komponente zum Zwecke der Verschleierung verändert. Die Veränderung der anderen Bestandteile der ausgelieferten Komponente verhindert ebenfalls eine leichte Erkennbarkeit des Sensors innerhalb der Komponente. Bevorzugt erfolgt die Veränderung auch hier bei mehreren und bevorzugt jedem Integrationsprozess unterschiedlich und/oder zufällig.
  • Weiterhin kann vorgesehen sein, dass das Integrationssystem den Sensor und/oder einen oder mehrere Bestandteile der ausgelieferten Komponente im Rahmen der Integration des Sensors verschlüsselt. Bevorzugt erhalten die verschlüsselten Bestandteile ihren ursprünglichen Sinn dabei erst bei der Verarbeitung und/oder Ausführung der Komponente zurück. Insbesondere kann dabei der gesamte Programmcode der ausgelieferten Komponente nach der Integration verschlüsselt werden. Eine solche Verschlüsselung schützt dabei vor statischen Analyseverfahren, da sich der ursprüngliche Sinn der einzelnen Bestandteile der Komponente erst bei der Verarbeitung oder Ausführung der Komponente ergibt. Die meisten Malwares weisen dagegen lediglich statische Analyseverfahren auf und können den Sensor so nicht erkennen.
  • Das erfindungsgemäße System kann weiterhin einen Referenzproxy umfassen, welcher Referenzen des Sensors und/oder der ausgelieferten Komponente vor der Auslieferung der Komponente an das Clientsystem verändert und/oder auf sich adressiert. Hierdurch wird verhindert, dass der Sensor durch seine Referenzen wiedererkennbar wird. Insbesondere handelt es sich bei den Referenzen um Referenzen auf externen Code und/oder auf URLs.
  • Die Veränderung und/oder Neu-Adressierung der Referenzen erfolgt dabei bevorzugt bei mehreren und bevorzugt jeder ausgelieferten Komponente unterschiedlich und/oder zufällig.
  • Der Referenzproxy ist dabei bevorzugt so ausgestaltet, dass er bei einem Aufruf der veränderten und/oder auf sich adressierten Referenzen den Aufruf an die ursprünglichen Referenzen weiterleitet.
  • Der Referenzproxy kann dabei eine Zuordnung zwischen den veränderten und/oder auf sich adressierten und den ursprünglichen Referenzen zusammen mit einem Identifikator des Auslieferungsvorgangs abspeichern. Folgt dann ein entsprechender Aufruf, wird dieser anhand der abgespeicherten Zuordnung an die ursprüngliche Referenz weitergeleitet.
  • Der erfindungsgemäße Referenzproxy kann dabei einen Teil des Integrationssystems bilden. Bevorzugt ist der Referenzproxy dabei der eigentlichen Integration nachgeschaltet und referenziert sämtliche Referenzen in der Komponente und des darin integrierten Sensors neu.
  • In einer bevorzugten Ausgestaltung der vorliegenden Erfindung sendet der Sensor bei seiner Ausführung auf dem Clientsystem einen Report und/oder erkannte Modifikationen an ein weiteres System. Ein solches Vorgehen hat den Vorteil, dass der Sensor selbst relativ einfach gestaltet werden kann, da die Auswertung des Reports bzw. der erkannten Modifikationen nicht im Sensor selbst erfolgen muss.
  • In einer bevorzugten Ausgestaltung sendet der Sensor dabei modifizierte bzw. hinzugefügte Elemente der Komponente komplett an das weitere System. Alternativ kann der Sensor im Falle einer Modifikation der Komponente die komplette Komponente an das weitere System senden. Hierdurch hat das weitere System die Möglichkeit, eine umfassende Analyse der erkannten Modifikationen bzw. der Komponente durchzuführen.
  • Weiterhin kann vorgesehen, dass der Report einen Identifikator des Auslieferungsvorgangs enthält, zu welcher der Report erfolgt. Hierdurch kann der Report und eventuelle Modifikationen der entsprechenden Komponente zugeordnet werden. Der erfindungsgemäße Sensor kann Informationen zu dem ausgelieferten Zustand der Komponente enthalten und diese mit dem aktuellen Zustand der Komponente vergleichen. Dies ermöglicht es dem Sensor, auf besonders einfache Art und Weise eine Modifikation der Komponente, welche nach der Auslieferung erfolgt ist, zu erkennen. Insbesondere kann es sich bei den Informationen zu dem ausgelieferten Zustand der Komponente um Strukturinformationen handeln.
  • Weiterhin kann vorgesehen sein, dass der Sensor Modifikationen anhand eines Document Object Models der Komponente erkennt. Ein solches Document Object Model ist insbesondere bei HTML-Dokumenten vorhanden und enthält sämtliche Bestandteile der HTML-Komponente. Anhand des Document Object Models können daher Modifikationen der Komponente erkannt werden, und insbesondere veränderte und/oder modifizierte Elemente der Komponente erkannt werden.
  • Erfindungsgemäß kann weiterhin vorgesehen sein, dass der Sensor so konfigurierbar ist, dass die Überprüfung auf Teilbereiche der ausgelieferten Komponente beschränkt wird. Eine solche Beschränkung auf Teilbereiche der ausgelieferten Komponente verhindert, dass beispielsweise durch Browser Plug-Ins auftretende, unproblematische Modifikationen in einem unkritischen Teilbereich der ausgelieferten Komponente zu einem Report einer Modifikation durch den Sensor führen.
  • Weiterhin kann der Sensor eine Filterfunktion zum Ausschluss bestimmter Modifikationen aufweisen. Eine solche Filterfunktion verhindert ebenfalls, dass bekannte, unproblematische Modifikationen vom Sensor berichtet werden. Insbesondere kann die Filterfunktion dabei in Form einer White List von zulässigen Modifikationen implementiert sein.
  • In einer möglichen Ausführungsform der vorliegenden Erfindung umfasst das System ein Annahmesystem, welches von dem Integrationssystem und/oder dem Sensor Informationen erhält und diese bevorzugt abspeichert und/oder weiterleitet.
  • Bevorzugt kann das Annahmesystem anhand der Informationen erkennen, ob die Integration des Sensors und/oder die Ausführung des Sensors auf dem Clientsystem erfolgt ist. Das Annahmesystem ermöglicht damit eine Überwachung der ordnungsgemäßen Funktion des Sensors und dient damit ebenfalls der Erhöhung der Sicherheit.
  • Bevorzugt ist das Integrationssystem dabei so ausgestaltet, dass es für jede Integration eine Nachricht an das Annahmesystem sendet. Die Nachricht umfasst bevorzugt einen Identifikator des Auslieferungsvorgangs. Das Annahmesystem erhält damit Informationen über sämtliche mit einem integrierten Sensor ausgelieferten Komponenten.
  • Bevorzugt speichert das Annahmesystem die von dem Integrationssystem erhaltenen Informationen und insbesondere einen Identifikator für jeden Auslieferungsvorgang ab. Bevorzugt ist dabei vorgesehen, dass das Annahmesystem die vom Integrationssystem erhaltenen Informationen zusammen mit einer Zeitinformation abspeichert. Alternativ oder zusätzlich können bereits die von dem Integrationssystem erhaltenen Informationen Zeitinformationen enthalten. Das Annahmesystem weiß daher aufgrund der abgespeicherten Informationen, wann eine bestimmte Komponente ausgeliefert wurde.
  • Weiterhin kann vorgesehen sein, dass der Sensor bei seiner Ausführung einen Report an das Annahmesystem sendet. Bevorzugt wird der Report dabei unabhängig davon, ob eine Modifikation erkannt wurde oder nicht, an das Annahmesystem gesendet. Wurde keine Modifikation erkannt, wird diese über einen entsprechenden Report mitgeteilt. Wurde dagegen eine Modifikation erkannt, umfasst der Report bevorzugt Informationen zu den erkannten Modifikationen, und insbesondere wie oben näher beschrieben die komplette Modifikation oder die komplette modifizierte Komponente. Weiterhin bevorzugt umfasst der Report einen Identifikator des Auslieferungsvorgangs. Hierdurch ist der Report innerhalb des Annahmesystems der entsprechenden Komponente zuordenbar.
  • Bevorzugt gleicht das Annahmesystem die von dem Sensor erhaltenen Informationen mit abgespeicherten Informationen ab, insbesondere mit den Informationen, welche das Annahmesystem von dem Integrationssystem erhalten hat.
  • Bevorzugt ist dabei vorgesehen, dass das Annahmesystem einen von dem Sensor erhaltenen Identifikator des Auslieferungsvorgangs mit abgespeicherten, von der Integrationseinheit ausgelieferten Identifikatoren abgleicht. Weiterhin bevorzugt ist vorgesehen, dass das Annahmesystem ausbleibende Informationen bzw. einen ausbleibenden Report von einem Sensor als eine Modifikation bzw. Entfernung des Sensors interpretiert. Dabei werden ausbleibende Informationen bevorzugt anhand der abgespeicherten Zeitinformationen erkannt. Erkennt das Annahmesystem dabei eine ausbleibende Information von einem Sensor und damit eine Modifikation, sendet es bevorzugt eine entsprechende Nachricht entweder an ein nachgeschaltetes Auswertungssystem, und/oder an das Serversystem.
  • Insbesondere kann dabei vorgesehen sein, dass das Annahmesystem einen ausbleibenden Report als eine Modifikation des Sensors interpretiert, und bevorzugt eine entsprechende Nachricht absetzt.
  • Das erfindungsgemäße System umfasst in einer weiteren bevorzugten Ausgestaltung ein Auswertungssystem, welches die von dem Sensor erkannten Modifikationen auswertet.
  • Bevorzugt ist das System dabei so ausgestaltet, dass das Auswertungssystem modifizierte bzw. hinzugefügte Elemente der Komponente komplett erhält. Alternativ oder zusätzlich kann das Auswertungssystem im Falle einer durch den Sensor erkannten Modifikation auch die komplette Komponente erhalten. Erfindungsgemäß kann das Auswertungssystem hierdurch eine genaue Analyse der Modifikationen durchführen.
  • Bevorzugt erhält das Auswertungssystem die Informationen zu den erkannten Modifikationen und insbesondere die modifizierten Elemente bzw. die modifizierte Komponente dabei von dem Annahmesystem. Insbesondere erzeugt das Annahmesystem dabei für den Fall, dass ein Report des Sensors eine Modifikation meldet, eine neue Auswertungsaufgabe, und sendet diese weiter an das Auswertungssystem.
  • Die Art der Auswertung der Modifikationen ist dabei zunächst nicht näher eingeschränkt. Bevorzugt erfolgt die Auswertung dabei mehrstufig.
  • Bevorzugt erfolgt die Auswertung zumindest auch durch statische Analyseverfahren, bevorzugt durch mehrere unterschiedliche statische Analyseverfahren.
  • Dabei kann ein Vergleich der erkannten Modifikationen mit einer Blacklist und/oder einer Whitelist, d. h. von Listen mit bereits bekannten, schädlichen bzw. unschädlichen Modifikationen, erfolgen. Weiterhin kann eine Identifikation unbekannter Komponenten, welche also weder auf der Blacklist, noch auf der Whitelist zu finden sind, erfolgen. Weiterhin kann die Analyse anhand der in der Komponente enthaltenen Referenzen und/oder anhand von Signaturen und/oder anhand von Wortlisten erfolgen.
  • Der Vergleich mit der Blacklist kann dabei in einer möglichen Ausführungsform als direkter Vergleich erfolgen, und/oder als ein Vergleich nach einer Normalisierung, und/oder als ein Ähnlichkeitsvergleich.
  • Weiterhin kann im Hinblick auf die Referenzen der Komponente überprüft werden, ob eine neue oder geänderte Referenz auf ein Ziel außerhalb eines vorgegebenen Bereiches zeigt, insbesondere auf ein Ziel außerhalb des Serversystems. Ist dies der Fall, kann dies als eine problematische Modifikation angesehen werden.
  • Alternativ oder zusätzlich können jedoch auch dynamische Analyseverfahren zum Einsatz kommen, insbesondere eine Simulation der Verarbeitung und/oder Ausführung der Komponente (Sandboxing). Weiterhin kommt auch die Auswertung durch Maschinenlernverfahren in Frage.
  • Bevorzugt wird jedoch der Einsatz von statischen Analyseverfahren, da diese erheblich schneller durchgeführt werden können und weniger Aufwand erfordern als dynamische oder Maschinenlernverfahren.
  • Weiterhin kann vorgesehen sein, dass das Auswertungssystem einen Risikowert der modifizierten Komponente berechnet. Bevorzugt erfolgt diese Berechnung des Risikowertes anhand einer Analyse und/oder Klassifikation der erkannten Modifikationen. Insbesondere kann dabei vorgesehen sein, dass die erkannten Modifikationen analysiert und/oder klassifiziert werden, wobei jeder Modifikation ein Gefährdungswert zugeordnet wird. Aus den Gefährdungswerten der einzelnen erkannten Modifikationen kann dann der Risikowert der modifizierten Komponente insgesamt berechnet werden. Hierdurch ergibt sich eine besonders einfach zu implementierende Einschätzung der von einer modifizierten Komponente ausgehenden Gefährdung.
  • Weiterhin kann vorgesehen sein, dass das Auswertungssystem an das Serversystem Informationen zur Gefährdung der modifizierten Komponente und insbesondere einen Risikowert sendet. Bevorzugt wird zusammen mit den Informationen zur Gefährdung bzw. dem Risikowert ein Identifikator des Auslieferungsvorgangs gesendet, sodass eine entsprechende Zuordnung auf Seiten des Serversystems erfolgen kann.
  • Weiterhin bevorzugt ist das Serversystem so ausgestaltet, dass es anhand der Informationen des Auswertungssystems Gegenmaßnahmen einleitet. Bevorzugt umfassen die Gegenmaßnahmen jedoch nicht den Abbruch der Verarbeitung und/oder Ausführung der modifizierten Komponente selbst. Es ist jedoch denkbar, nachgelagerte Prozesse wie beispielsweise eine tatsächliche Geldverschiebung, eine Auslieferung von Produkten oder Ähnliches zu unterbinden und/oder den Kunden zu kontaktieren.
  • In einer möglichen Ausführungsform der vorliegenden Erfindung kann die Entscheidung über Gegenmaßnahmen innerhalb des Serversystems anhand der Informationen des Auswertungssystems und bevorzugt anhand weiterer Informationen insbesondere zum Nutzerverhalten erfolgen. Hierdurch können neben dem durch das Auswertungssystem ermittelten Risikowert noch andere Faktoren wie beispielsweise ein Abweichen des detektierten Verhaltens von einem üblichen Nutzerverhalten in die Entscheidung einfließen, ob und wenn ja welche Gegenmaßnahmen eingeleitet werden. Die Entscheidung über Gegenmaßnahmen kann dabei sowohl automatisiert, als auch durch einen menschlichen Entscheider, welchem die entsprechenden Informationen von dem Serversystem zur Verfügung gestellt werden, getroffen werden.
  • In einer bevorzugten Ausführungsform der vorliegenden Erfindung handelt es sich bei der Komponente um eine Webseite. Weiterhin kann vorgesehen sein, dass es sich bei dem Clientsystem um einen Webbrowser handelt. Das erfindungsgemäße System wird daher bevorzugt zum Absichern einer Webseite, welche von einem Webbrowser verarbeitet und/oder ausgeführt wird, eingesetzt. Durch die erfindungsgemäße Integration des Sensors in die Webseite wird dabei sichergestellt, dass nach der Auslieferung der Webseite vom Serversystem erfolgende Manipulationen erkannt werden.
  • Bei dem Sensor handelt es sich dabei bevorzugt um ein Script, welches in die Webseite integriert wird. Die Integration in die Webseite kann dabei auch durch die Integration von einer oder mehreren Referenzen auf externe Ziele, welche dann das Script enthalten, erfolgen.
  • Die von dem Serversystem ausgelieferte Komponente kann dabei insbesondere einen der folgenden Services zur Verfügung stellen: einen Webmailer, einen Zahlungsdienst, einen Onlineshop und/oder einen Zugang zu einem sozialen Netzwerk. Bei all diesen Services werden sensible Daten ausgetauscht, welche durch den erfindungsgemäßen Sensor und dessen Integration in die Komponente vor Manipulation und Abgriff gesichert werden.
  • Die vorliegende Erfindung betrifft zunächst das soeben dargestellte System zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten und auf dem Clientsystem verarbeitbaren und/oder ausführbaren Komponente, welches zumindest den erfindungsgemäßen Sensor und ein erfindungsgemäßes Integrationssystem umfasst, und bevorzugt weiterhin ein Annahmesystem und/oder ein Auswertungssystem gemäß der vorliegenden Erfindung umfasst.
  • Gegenstand der vorliegenden Erfindung sind jedoch auch die einzelnen Komponenten des erfindungsgemäßen Systems, und damit insbesondere der erfindungsgemäße Sensor, das erfindungsgemäße Integrationssystem, das erfindungsgemäße Annahmesystem und das erfindungsgemäße Auswertungssystem.
  • Die vorliegende Erfindung umfasst damit insbesondere einen Sensor für ein System, wie es oben dargestellt wurde, wobei der Sensor in eine von einem Serversystem an ein Clientsystem ausgelieferte und auf dem Clientsystem verarbeitbare und/oder ausführbare Komponente integrierbar ist und so ausgestaltet ist, dass er bei der Verarbeitung und/oder Ausführung der Komponente ausgeführt wird und Modifikationen der Komponente erkennt.
  • Bevorzugt ist der Sensor dabei so ausgestaltet, wie dies bereits oben im Hinblick auf das System näher dargestellt wurde.
  • Insbesondere kann der Sensor bei seiner Ausführung einen Report und/oder erkannte Modifikationen an ein weiteres System senden. Bevorzugt sendet der Sensor dabei modifizierte bzw. hinzugefügte Elemente der Komponente komplett an das weitere System, und/oder sendet im Fall einer Modifikation die komplette Komponente an das weitere System. Weiterhin bevorzugt umfasst der Report einen Identifikator des Auslieferungsvorgangs.
  • Weiterhin kann der Sensor Informationen zu dem ausgelieferten Zustand der Komponente enthalten und diese mit dem aktuellen Zustand der Komponente vergleichen. Insbesondere handelt es sich dabei um Strukturinformationen. Weiterhin kann vorgesehen sein, dass der Sensor die Modifikationen anhand eines Document Object Models der Komponente erkennt und/oder dass der Sensor eine Kopie des ausgelieferten Document Object Models der Komponente umfasst.
  • Weiter bevorzugt ist der Sensor so konfigurierbar, dass die Überprüfung auf Teilbereiche der ausgelieferten Komponente beschränkt werden kann. Alternativ oder zusätzlich kann der Sensor eine Filterfunktion zum Ausschluss bestimmter Modifikationen umfassen, insbesondere in Form einer Whitelist.
  • Die vorliegende Erfindung umfasst weiterhin ein Integrationssystem für ein System, wie es oben näher dargestellt wurde, wobei das Integrationssystem so ausgestaltet ist, dass es einen Sensor in eine von einem Serversystem an ein Clientsystem ausgelieferte und auf dem Clientsystem verarbeitbare und/oder ausführbare Komponente integriert.
  • Bevorzugt ist das Integrationssystem dabei so ausgestaltet, wie dies bereits oben im Hinblick auf das Gesamtsystem näher beschrieben wurde.
  • Insbesondere ist dabei vorgesehen, dass das Integrationssystem den Sensor mit Informationen zum ausgelieferten Zustand der Komponente und/oder einem Identifikator des Auslieferungsvorgangs ausstattet. Alternativ oder zusätzlich kann das Integrationssystem den Sensor so in die Komponente integrieren, dass der Sensor durch nachträgliche Manipulationen nicht mehr entfernt werden kann. Weiterhin alternativ oder zusätzlich kann vorgesehen sein, dass das Integrationssystem den Sensor im Rahmen der Integration oder nach der Integration verschleiert.
  • Insbesondere kann vorgesehen sein, dass das Integrationssystem den Sensor für die Integration dynamisch modifiziert. Bevorzugt verändert das Integrationssystem dabei Variablennamen und/oder Funktionsnamen und/oder die Position des Sensors in der Komponente und/oder die Größe des Sensors. Bevorzugt erfolgt die Veränderung dabei für mehrere und bevorzugt jeden Integrationsprozess unterschiedlich und/oder zufällig.
  • Weiterhin kann vorgesehen sein, dass das Integrationssystem sowohl den Sensor als auch einen oder mehrere Bestandteile der ausgelieferten Komponente zum Zwecke der Verschleierung verändert. Bevorzugt erfolgt die Veränderung dabei bei mehreren und bevorzugt jedem Integrationsprozess unterschiedlich und/oder zufällig.
  • Weiterhin kann das Integrationssystem den Sensor und/oder einen oder mehrere Bestandteile der ausgelieferten Komponente und bevorzugt den gesamten Programmcode der ausgelieferten Komponente im Rahmen der Integration des Sensors verschlüsseln. Bevorzugt erhalten die verschlüsselten Bestandteile ihren ursprünglichen Sinn erst bei der Verarbeitung und/oder Ausführung der Komponente zurück.
  • Bevorzugt sendet das Integrationssystem für jede Integration eine Nachricht an ein Annahmesystem, wobei die Nachricht bevorzugt einen Identifikator des Auslieferungsvorgangs umfasst.
  • Weiterhin kann vorgesehen sein, dass das Integrationssystem einen Referenzproxy umfasst, welcher Referenzen des Sensors und/oder der ausgelieferten Komponente zu externen Zielen vor der Auslieferung der Komponente an das Clientsystem verändert und/oder auf sich adressiert. Bevorzugt erfolgt die Veränderung und/oder Adressierung dabei bei mehreren und bevorzugt jeder ausgelieferten Komponente unterschiedlich und/oder zufällig.
  • Bevorzugt leitet der Referenzproxy bei dem Aufruf der veränderten und/oder auf sich adressierten Referenzen den Aufruf an die ursprünglichen Referenzen weiter. Alternativ oder zusätzlich kann der Referenzproxy eine Zuordnung zwischen den veränderten und/oder auf sich adressierten und den ursprünglichen Referenzen zusammen mit einem Identifikator für den jeweiligen Auslieferungsvorgang abspeichern.
  • Die vorliegende Erfindung umfasst weiterhin ein Annahmesystem für ein System, wie es oben dargestellt wurde, wobei das Annahmesystem so ausgestaltet ist, dass es von dem Integrationssystem und/oder dem Sensor Informationen erhält und diese abspeichert und/oder weiterleitet.
  • Bevorzugt ist das Annahmesystem dabei so ausgestaltet, wie dies bereits oben im Hinblick auf das Gesamtsystem dargelegt wurde.
  • Insbesondere kann das Annahmesystem durch die Informationen erkennen, ob die Integration des Sensors und/oder ob die Ausführung des Sensors auf dem Clientsystem erfolgt ist. Bevorzugt speichert das Annahmesystem die von dem Integrationssystem erhaltenen Informationen und insbesondere einen Identifikator für jeden Auslieferungsvorgang ab. Bevorzugt speichert das Annahmesystem dabei die von dem Integrationssystem erhaltenen Informationen zusammen mit Zeitinformationen ab, und/oder die von dem Integrationssystem erhaltenen Informationen enthalten bereits Zeitinformationen, welche abgespeichert werden.
  • Weiterhin bevorzugt gleicht das Annahmesystem die von dem Sensor erhaltenen Informationen mit abgespeicherten Informationen ab. Insbesondere gleicht das Annahmesystem dabei einen von dem Sensor erhaltenen Identifikator des Auslieferungsvorgangs mit abgespeicherten, von der Integrationseinheit ausgelieferten Identifikatoren ab. Weiterhin kann vorgesehen sein, dass das Annahmesystem ausbleibende Informationen von einem Sensor als eine Modifikation des Sensors interpretiert. Ausbleibende Informationen werden dabei bevorzugt anhand der abgespeicherten Zeitinformationen erkannt.
  • Bevorzugt sendet das Annahmesystem im Falle einer durch den Sensor identifizierten Modifikation und/oder im Falle einer von dem Annahmesystem identifizierten Modifikation einen Auswertungsauftrag an ein Auswertungssystem.
  • Die vorliegende Erfindung umfasst weiterhin ein Auswertungssystem für ein System, wie es oben näher beschrieben wurde, wobei das Auswertungssystem so ausgestaltet ist, dass es die von dem Sensor erkannten Modifikationen auswertet.
  • Bevorzugt ist das Auswertungssystem dabei so ausgestaltet, wie dies bereits oben im Hinblick auf das Gesamtsystem dargelegt wurde.
  • Insbesondere kann vorgesehen sein, dass das Auswertungssystem modifizierte bzw. hinzugefügte Elemente der Komponente komplett erhält und auswertet, und/oder im Falle einer Modifikation die komplette Komponente erhält und/oder auswertet.
  • Die Auswertung kann dabei mehrstufig erfolgen.
  • Die Auswertung kann insbesondere durch statische Analyseverfahren, insbesondere durch Vergleich mit einer Blacklist und/oder einer Whitelist und/oder eine Identifikation unbekannter Komponenten und/oder anhand von Referenzen und/oder Signaturen und/oder Wortlisten erfolgen. In einer bevorzugten Ausführung der vorliegenden Erfindung kann der Vergleich mit der Blacklist als direkter Vergleich und/oder als ein Vergleich nach Normalisierung und/oder als ein Ähnlichkeitsvergleich durchgeführt werden. Weiterhin bevorzugt kann überprüft werden, ob neue oder geänderte Referenzen auf ein Ziel außerhalb eines vorgegebenen Bereiches, insbesondere außerhalb des Serversystems vorliegen.
  • Die Auswertung kann auch durch dynamische Analyseverfahren, insbesondere durch die Simulation der Verarbeitung und/oder Ausführung der Komponente erfolgen, und/oder durch Maschinenlernverfahren.
  • Bevorzugt berechnet das Auswertungssystem einen Risikowert der modifizierten Komponente. Insbesondere erfolgt dies anhand einer Analyse und/oder Klassifikation der erkannten Modifikationen. Insbesondere kann dabei vorgesehen sein, dass die erkannten Modifikationen analysiert und/oder klassifiziert werden und jeder Modifikation ein Gefährdungswert zugeordnet wird, aus welchem dann der Risikowert der modifizierten Komponente insgesamt berechnet wird. Weiterhin kann vorgesehen sein, dass das Auswertungssystem an das Serversystem Informationen zur Gefährdung der modifizierten Komponente und insbesondere einen Risikowert sendet.
  • Das erfindungsgemäße Annahmesystem und das erfindungsgemäße Auswertungssystem sind dabei jeweils für sich genommen und unabhängig voneinander Gegenstand der vorliegenden Erfindung. Weiterhin ist auch die Kombination aus einem erfindungsgemäßen Annahmesystem und einem erfindungsgemäßen Auswertungssystem Gegenstand der vorliegenden Erfindung.
  • Sämtliche Bestandteile des erfindungsgemäßen Systems arbeiten bevorzugt automatisch und implementieren so das erfindungsgemäße System bzw. führen das erfindungsgemäße Verfahren automatisch durch. Die einzelnen Komponenten werden dabei durch Software und/oder Hardware zur Verfügung gestellt.
  • Neben dem erfindungsgemäßen System und seinen Komponenten umfasst die vorliegende Erfindung weiterhin ein entsprechendes Verfahren.
  • Insbesondere umfasst die vorliegende Erfindung dabei ein Verfahren zur Überwachung der Integrität einer von einem Serversystem und einem Clientsystem ausgelieferten und auf dem Clientsystem verarbeitbaren und/oder ausführbaren Komponente. Dabei wird der Sensor in die von dem Serversystem an das Clientsystem ausgelieferte Komponente integriert, wobei der Sensor bei der Verarbeitung und/oder Ausführung der Komponente ausgeführt wird und Modifikationen der Komponente erkennt.
  • Bevorzugt erfolgt das erfindungsgemäße Verfahren dabei so, wie dies bereits oben im Hinblick auf das erfindungsgemäße System näher dargestellt wurde. Insbesondere kann das erfindungsgemäße Verfahren dabei unter Verwendung eines erfindungsgemäßen Systems und/oder unter Verwendung einer der oben beschriebenen Komponenten eines solchen Systems ausgeführt werden.
  • Die vorliegende Erfindung wird nun anhand von Ausführungsbeispielen sowie Zeichnungen näher erläutert.
  • Dabei zeigen:
  • 1: ein erstes Ausführungsbeispiel eines erfindungsgemäßen Systems und eines erfindungsgemäßen Verfahrens und
  • 2: ein zweites Ausführungsbeispiels eines erfindungsgemäßen Systems und eines erfindungsgemäßen Verfahrens.
  • In 1 und 2 sind zwei Ausführungsbeispiele eines erfindungsgemäßen Systems dargestellt. Die Ausführungsbeispiele stellen dabei gleichzeitig Ausführungsbeispiele der Komponenten des erfindungsgemäßen Systems, sowie des erfindungsgemäßen Verfahrens dar.
  • Beide Ausführungsbeispiele zeigen jeweils ein System zur Überwachung der Integrität einer von einem Serversystem 10 an ein Clientsystem 20 ausgelieferten und auf dem Clientsystem 20 verarbeitbaren und/oder ausführbaren Komponente 50, wobei es bei der Komponente im Ausführungsbeispiel um eine Webseite handelt, welche von dem als Webserver arbeitenden Serversystem 10 an einen als Clientsystem 20 arbeitenden Browser übertragen wird. Die Kommunikation zwischen dem Webserver 10 und dem Browser 20 erfolgt dabei über das Internet, welches schematisch als Wolke 30 dargestellt ist.
  • Sowohl das in 1, als auch das in 2 dargestellte Ausführungsbeispiel des erfindungsgemäßen Systems umfasst dabei zunächst folgende Komponenten:
    • – Ein Integrationssystem 40, welches einen Sensor 60 in eine bestehende Webseite 50, die von dem Webserver 10 an den Browser 20 übertragen wird, integriert. Die Integration kann durch den Webserver 10 erfolgen, oder durch einen zwischengeschalteten Proxy, oder auf Clientseite.
    • – Ein Sensor 60, welcher in die Webseite 50 integrierbar ist und dort bei der Ausführung der Webseite Modifikationen ermitteln. Der Sensor kann beispielsweise über JavaScript implementiert sein.
    • – Ein im Ausführungsbeispiel als „Reportannahme” bezeichnetes Annahmesystem 70, an welches die Sensorkomponente 60 ermittelte Webseitenänderungen überträgt, wobei das Annahmesystem 70 die Reports annimmt und speichert.
    • – Ein als „Klassifikation” bezeichnetes Auswertungssystem 80, welches die von dem Annahmesystem 70 gespeicherten Daten nach Angriffsmustern untersucht und klassifiziert. Der Analyseprozess kann dabei mehrstufig verlaufen.
  • Abhängig von dem Analyseergebnis kann der Servicebetreiber geeignete Maßnahmen ergreifen. Beispielsweise kann der Betreiber eines Webshops die Auslieferung von bestellter Ware stoppen, wenn eventuell der Account des Kunden gestohlen wurde. Es kann Kontakt mit betroffenen Kunden aufgenommen werden und gegebenenfalls das Konto des Kunden temporär gesperrt werden.
  • Das in 2 gezeigte Ausführungsbeispiel unterscheidet sich dabei von dem in 1 gezeigten Ausführungsbeispiel durch einen weiteren, zusätzlichen Bestandteil:
    • – Einen Referenzproxy 90, welcher Referenzen in den ursprünglichen Elementen der von dem Webserver 10 ausgelieferten Webseite 50 und in den Elementen des Sensors 60 verändert und als neues Ziel den Referenzproxy angibt. Beim Aufruf einer solchen Referenz leitet der Referenzproxy 90 den Aufruf zu dem ursprünglichen Ziel weiter. Bevorzugt werden die neuen Referenzen dabei zufällig vergeben. Der Zweck des Referenzproxys ist die Verschleierung von Referenzen, um eine Identifikation von Referenzen des Sensors zu verhindern, insbesondere Referenzen zum Annahmesystem 70 des Sensors.
  • Der Referenzproxy 90 stellt dabei im zweiten Ausführungsbeispiel in 2 eine zusätzliche, dem in 1 gezeigten Ausführungsbeispiel hinzugefügte Komponente dar. Ansonsten entspricht das in 2 gezeigte Ausführungsbeispiel dem in 1 gezeigten Ausfürhungsbeispiel.
  • Die Kommunikation zwischen den einzelnen Bestandteilen erfolgt dabei im ersten Ausführungsbeispiel in 1 wie folgt:
    • 1. Der Kunde 20 fragt die Webseite des Servicebetreibers 10 an.
    • 2. Der Webserver 10 des Servicebetreibers liefert die angefragte Webseite aus.
    • 3. Der Sensor 60 wird im Integrationssystem 40 in die Webseite 50 integriert. War die Integration des Sensors 60 erfolgreich, wird dies dem Annahmesystem 70 signalisiert.
    • 4. Die ursprüngliche Webseite 50 inklusive des integrierten Sensors 60 wird an den Kunden übertragen.
    • 5. Beim Ausführen der Webseite 50 ermittelt der Sensor 60 Modifikationen der Webseite, und überträgt einen Report mit erkannten Webseitenmodifikationen an das Annahmesystem 70.
    • 6. Das Annahmesystem 70 teilt dem Auswertungssystem 80 mit, dass ein neuer Analysejob bereitsteht.
  • Die Kommunikation zwischen den einzelnen Bestandteilen des Systems gemäß dem zweiten Ausführungsbeispiel in 2 erfolgt dagegen wie folgt:
    • 1. Der Kunde 20 fragt die Webseite des Servicebetreibers 10 an.
    • 2. Der Webserver 10 des Servicebetreibers liefert die angefragte Webseite 50 aus.
    • 3a. Das Integrationssystem 40 integriert den Sensor 60 in die Webseite 50. Bei erfolgreicher Integration des Sensors wird dies dem Annahmesystem 70 signalisiert.
    • 3b. Die ursprüngliche Webseite 50 inklusive dem integrierten Sensor 60 wird von dem Integrationssystem 40 an den Referenzproxy 90 gesendet.
    • 4. Der Referenzproxy 90 verschleiert die Referenzen in der ursprünglichen Webseite 50 inklusive des integrierten Sensors 60, und liefert diese mit verschleierten Referenzen an den Kunden 20 aus.
    • 5. Nachgelagerte Anfragen des Kunden 20 landen beim Referenzproxy 90, welcher die verschleierten Referenzen auflöst. Vom Referenzproxy 90 existieren zwei unterschiedliche Wege:
    • 6a. Der Sensor 60 wird beim Ausführen der Webseite 50 ausgeführt und ermittelt Webseitenmodifikationen, welche über den Referenzproxy 90 zum Annahmesystem 70 übertragen werden.
    • 6b. Andere Anfragen werden von dem Proxyserver 90 zu ihrem ursprünglichen Ziel innerhalb des Serversystems 10 weitergeleitet.
    • 7. Das Annahmesystem 70 teilt dem Auswertungssystem 80 mit, dass ein neuer Analysejob bereitsteht.
  • Die einzelnen Bestandteile der beiden erfindungsgemäßen Ausführungsbeispiele des erfindungsgemäßen Systems werden im Folgenden näher dargestellt, wobei sich das in 2 dargestellte Ausführungsbeispiel lediglich durch den zusätzlich vorgesehenen Referenzproxy 90 von dem in 1 dargestellten Ausführungsbeispiel unterscheidet:
  • 1. Integration
  • Das Integrationssystem 40 integriert den Sensor in die vom Serversystem 10 ausgelieferte Webseite 50. Der Sensor ist im Ausführungsbeispiel als Software implementiert.
  • Dabei wird der Sensor während oder nach der Integration zu Verschleierungszwecken dynamisch modifiziert. Das Integrationssystem 40 verschleiert den Code des Sensors dadurch, dass sämtliche Variablennamen und Funktionsnamen regelmäßig oder bei jeder ausgelieferten Version durch neue, zufällige Werte ersetzt werden. Zudem kann die Position des Sensors innerhalb der Webseite regelmäßig oder sogar bei jeder Integration geändert werden. Weiterhin ist es möglich, die Größe der Sensorkomponente durch das Hinzufügen von Padding zu variieren.
  • Weiterhin kann die Reihenfolge der Referenzen innerhalb der den Sensor enthaltenden Webseite randomisiert werden, um die Unterscheidung von Referenzen zum ursprünglichen Code der Webseite und zum Sensorcode zu erschweren.
  • Eine alternative oder zusätzliche Möglichkeit zur Verschleierung besteht darin, sowohl den Sensor, als auch die übrigen Bestandteile der Webseite dynamisch zu modifizieren. Beispielsweise können dabei sämtliche Elemente der Webseite inklusive des Sensors bzw. der Elemente des Sensors durch das Hinzufügen von Padding die gleiche oder zufällig verteilte Längen erhalten. Alternativ oder zusätzlich kann die Webseite oder darin enthaltener Code verschlüsselt werden, sodass die Webseite bzw. der Code dann erst zur Laufzeit wieder seinen ursprünglichen Sinn erhält.
  • Die Verschleierung des Sensors bzw. der gesamten Komponente inklusive Sensor dient zum Schutz vor statischen Analyseverfahren, da diese durch die Verschleierung den Sensor nicht mehr identifizieren können, so dass eine Entfernung des Sensors unmöglich wird.
  • Weiterhin können die Skriptelemente, aus welchen der Sensor besteht, innerhalb der Webseite mit Attributen versehen werden, welche diese vor nachträglichen Modifikationen schützt. Insbesondere können die Attribute dabei im sogenannten Document Object Model (DOM) vorgegeben werden. Bevorzugt führt der Sensor hierfür entsprechende Aktionen durch.
  • Durch die Integration wird der Sensor so mit der Webseite verbunden, dass er nicht mehr nachträglich entfernt werden kann. Dies liegt zum einen daran, dass die Unterscheidung zwischen dem Sensor und den ursprünglichen Bestandteilen der Webseite im Nachhinein nicht mehr möglich ist. Eine Entfernung des Sensors durch das zufällige Ausschalten einzelner Elemente der Webseite ist ebenfalls kaum möglich, da ein zufälliges Ausschalten von Elementen mit hoher Sicherheit dazu führen würde, dass auch ursprünglich ausgelieferte Skripte mit gelöscht werden, welche essentiell für die Lauffähigkeit der Webseite sind. Der Sensor wird damit so stark mit den ursprünglichen Skripten verschränkt, dass eine Lauffähigkeit mit hoher Sicherheit nur zusammen mit dem Sensor gegeben ist.
  • Nach erfolgter Integration sendet das Integrationssystem 40 einen Heartbeat 70 an das Annahmesystem. Der Heartbeat umfasst dabei einen Identifikator für den Auslieferungsvorgang. Dieser Identifikator wird auch in den Sensor integriert, sodass dieser den Identifikator für die Zuordnung von Reports nutzen kann. Weiterhin wird der Sensor mit Informationen zum Aufbau der ausgelieferten Webseite ausgestattet, beispielsweise mit einer Kopie des Document Object Models.
  • 2. Sensor
  • Der Sensor 60 wird als eine Software implementiert, welche in die ausgelieferte Webseite 50 integriert wird und beim Ausführen der Webseite auf dem Clientsystem 20 ebenfalls ausgeführt.
  • Der Sensor kann dabei beispielsweise über JavaScript implementiert sein. Der Sensor besteht dabei aus einem oder mehreren Skripten, welche beim Ausführen der Webseite ausgeführt werden. Die Skripte können dabei entweder unmittelbar in die Webseite integriert werden, oder über Referenzen.
  • Der Sensor 60 überprüft bei seiner Ausführung die Webseite auf Modifikationen. Insbesondere wird dabei das aktuelle Document Object Model auf Modifikationen hin überprüft, insbesondere indem eine abgespeicherten Kopie des unmodifizierten Document Object Models mit dem aktuellen Document Object Model verglichen wird.
  • Bei seiner Ausführung sendet der Sensor einen Report an das Annahmesystem 70. Der Report enthält dabei zum einen den Identifikator des Auslieferungvorgangs, und zum anderen eine Mitteilung darüber, ob Modifikationen gefunden worden oder nicht. Wurden Modifikationen gefunden, werden entweder die modifizierten bzw. hinzugefügten Elemente der Webseite komplett an das Annahmesystem 70 gesendet, oder die komplette modifizierte Webseite. Eine nähere Analyse der Modifikationen durch den Sensor 60 ist daher nicht notwendig, und kann im Auswertungssystem 80 erfolgen.
  • Der Sensor 60 ist jedoch so konfigurierbar, dass die Überprüfung der Webseite auf Teilbereiche der Webseite beschränkt werden kann. Hierdurch wird verhindert, dass Bereiche, die unkritisch sind und in denen oft Modifikationen auftreten, ebenfalls überprüft werden und daher zu überflüssigen Meldungen von Modifikationen führen.
  • Weiterhin kann der Sensor eine Filterfunktion zum Ausschluss häufig auftretender Modifikationen umfassen, beispielsweise in Folge einer Whitelist. Auch hierdurch werden unnötige Benachrichtigungen über Modifikationen, welche bekanntermaßen unproblematisch sind, vermieden.
  • Der Sensor 60 führt dabei bei seiner Ausführung auf dem Clientsystem 20 Aktionen durch, nach welchen er nicht mehr durch nachträgliche Modifikationen entfernt werden kann. Insbesondere werden hierfür entsprechende Attribute im Document Object Model so vorgegeben, dass ein nachträgliches Modifizieren nicht mehr möglich ist.
  • 3. Referenzproxy
  • Der Referenzproxy 90 dient dazu, die in der ursprünglichen Webseite sowie im Sensor enthaltenen Referenzen auf externe Ziele zu verschleiern, um eine Unterscheidung zwischen den Elementen der Webseite und dem Sensor zu erschweren.
  • Der Referenzproxy 90 ist dabei zwischen dem Integrationssystem 40 und dem Clientsystem 20 angeordnet. Die Webseite mit dem integrierten Sensor wird vom Integrationssystem 40 an den Referenzproxy 90 ausgeliefert, welcher sämtliche dort enthaltenen ursprünglichen Referenzen durch neue, auf den Referenzproxy 90 zielende Referenzen ersetzt. Bevorzugt werden die neuen Referenzen dabei zufällig vergeben.
  • Bei der Ausführung der Webseite vom Clientsystem 20 aus erfolgende Aufrufe dieser Referenzen werden vom Referenzproxy 90 dann zum ursprünglichen Ziel weitergeleitet. Handelt es sich dabei um Referenzen der ursprünglichen Webseite, werden diese zum ursprünglichen Ziel im Serversystem 10 weitergeleitet. Handelt es sich dagegen um Referenzen des Sensors, ist deren ursprüngliches Ziel üblicherweise das Annahmesystem 70, wohin sie weitergeleitet werden.
  • Bei den Referenzen handelt es sich insbesondere um URLs zu externem Code, insbesondere zu JavaScript. Durch den Referenzproxy 90 sind die Referenzen des ursprünglichen Codes und des Sensorcodes nicht mehr unterscheidbar.
  • 4. Annahmesystem (Report)
  • Wie bereits oben beschrieben, sendet das Integrationssystem 40 bei erfolgter Integration einen Heartbeat an das Annahmesystem 70, welcher vom Annahmesystem 70 abgespeichert wird. Die abgespeicherten Informationen enthalten dabei zum einen einen Identifikator des Auslieferungsvorgangs, und zum anderen Zeitinformationen.
  • Weiterhin überträgt der Sensor 60 bei seiner Ausführung einen Report an das Annahmesystem 70, welcher über den Identifikator den Heartbeats der Integration zugeordnet werden kann.
  • Das Annahmesystem 70 kann daher erkennen, ob die Integration des Sensors durch das Integrationssystem erfolgen konnte, und ob die Ausführung des Sensors auf dem Clientsystem 20 erfolgt ist. Insbesondere überprüft das Annahmesystem 70 dabei in regelmäßigen Abständen, ob sämtliche Sensoren, welche gemäß den vom Integrationssystem 40 abgegebenen Heartbeats ausgeliefert wurden, auch tatsächlich ausgeführt wurden. Ein ausbleibender Report bei erfolgtem Integrationsheartbeat wird von dem Annahmesystem 70 dahingehend interpretiert, dass die Verarbeitung/Ausführung des Sensors durch Modifikationen der Webseite verhindert wurde. Ein ausbleibender Report wird daher als eine Modifikation der Webseite aufgefasst und entsprechend behandelt.
  • Weiterhin nimmt das Aufnahmesystem 70 im Falle einer erkannten Modifikation die im Report des Sensors 60 hierzu enthaltenen Informationen an und speichert diese. Weiterhin werden die entsprechenden Informationen an das Auswertungssystem 80 in Form eines Analysejobs übergeben.
  • 5. Auswertungssystem (Klassifikation)
  • Die durch das Annahmesystem 70 gespeicherten Daten zur Modifikation werden durch das Auswertungssystem 80 nach Angriffsmustern untersucht. Weiterhin werden die Modifikationen klassifiziert. Für jede einzelne erkannte Modifikation kann sich als Analyseergebnis Folgendes ergeben:
    • – Angriffsmuster gefunden
    • – Harmlose Seitenmodifikation gefunden (z. B. durch Browser Plug-Ins)
    • – Unbekannte Seitenmodifikation
  • Dabei ergeben sich folgende Möglichkeiten zur Auswertung der Modifikationen, wobei insbesondere die statischen Auswertemöglichkeiten aufgrund der besseren Geschwindigkeit und des geringen Aufwandes bevorzugt sind. Der Analyseprozess kann dabei mehrstufig erfolgen.
  • a) Statische Auswertung
  • Die einzelnen Modifikationen können durch eines oder mehrere der folgenden statischen Auswerteverfahren analysiert und/oder klassifiziert werden:
  • i) Blacklist
  • Hier kann ein Vergleich der erkannten Modifikationen mit bekannten, schädlichen Modifikationen erfolgen. Der Vergleich kann dabei als direkter Vergleich, als ein Vergleich nach Normalisierung oder als Ähnlichkeitsvergleich durchgeführt werden.
  • ii) Whitelist
  • Weiterhin kann ein Vergleich der erkannten Modifikationen mit bekannten, ungefährlichen Modifikationen erfolgen.
  • iii) Unbekannte Komponenten
  • Ist eine modifizierte Komponente weder der Blacklist, noch der Whitelist zuzuordnen, kann sie als unbekannt klassifiziert werden und damit zumindest als potentiell gefährlich.
  • iv) Referenzanalyse
  • Weiterhin können die in der modifizierten Komponente enthaltenen Referenzen analysiert werden. Insbesondere kann dabei überprüft werden, ob die neuen oder veränderten Referenzen auf ein Ziel außerhalb eines vorgegebenen Bereiches zeigen, insbesondere auf ein Ziel außerhalb des ursprünglichen Services. Dies deutet auf eine gefährliche Modifikation hin.
  • v) Signaturen und Wortlisten
  • Weiterhin kann eine statische Auswertung anhand von Signaturen und Wortlisten erfolgen.
  • b) Dynamische Auswertung
  • Alternativ oder zusätzlich kann eine dynamische Auswertung der modifizierten Komponente erfolgen, indem die Verarbeitung bzw. Ausführung simuliert wird (Sandboxing).
  • c) Maschinenlernverfahren
  • Weiterhin ist auch eine Auswertung über Maschinenlernverfahren denkbar. Hier ist jedoch ebenfalls ein gegenüber statischen Auswerteverfahren erheblich erhöhter Aufwand von Nöten.
  • Das Auswertungssystem 80 berechnet einen Risikowert der modifizierten Webseite, d. h. einen Wert, welcher die von der modifizierten Webseite insgesamt ausgehende Gefahr quantisiert.
  • Hierfür werden bevorzugt die einzelnen Modifikationen analysiert, klassifiziert und dann jeder Einzelmodifikation ein Einzelgefährdungswert zugeordnet. Anhand der Einzelgefährdungswerte wird dann der Risikowert der modifizierten Webseite insgesamt bestimmt.
  • Der Risikowert wird von dem Auswertesystem 80 an das Serversystem 10 gemeldet, zusammen mit dem Identifikator des Auslieferungsvorgangs. Abhängig von dem Risikowert kann der Servicebetreiber dann geeignete Maßnahmen ergreifen. Dies kann entweder automatisiert oder per Hand erfolgen. Bevorzugt werden die Maßnahmen dabei nicht nur von dem durch das Auswertesystem 80 erstellten Risikowert abhängig gemacht, sondern noch von weiteren Daten, beispielsweise zum üblichen Nutzerverhalten.
  • Das erfindungsgemäße System kann zur Erhöhung der Sicherheit in einer Vielzahl von Anwendungen eingesetzt werden, insbesondere bei Webmailern, Zahlungsdiensten, Onlineshops und sozialen Netzwerken.
  • Die vorliegende Erfindung stellt dabei eine Schutztechnologie zur Verfügung, welche zwar auf dem Client durchgeführt wird und daher die in diesem Bereich erfolgenden Modifikationen erkennen kann, welche jedoch durch den Servicebetreiber ausgeliefert werden kann, ohne dass der Kunde selbstständig tätig werden muss. Insbesondere erfolgt die Integration des Sensors dabei serverseitig oder durch einen zwischengeschalteten Proxy, und ist für den Kunden (und eventuelle Angreifer) nicht erkennbar.

Claims (15)

  1. System zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten und auf dem Clientsystem verarbeitbaren und/oder ausführbaren Komponente, mit einem Integrationssystem und mit einem Sensor, wobei das Integrationssystem den Sensor in die von dem Serversystem an das Clientsystem ausgelieferte Komponente integriert, und wobei der Sensor so ausgestaltet ist, dass er bei der Verarbeitung und/oder Ausführung der Komponente ausgeführt wird und Modifikationen der Komponente erkennt.
  2. System nach Anspruch 1, wobei das Integrationssystem den Sensor mit Informationen zum ausgelieferten Zustand der Komponente und/oder einem Identifikator des Auslieferungsvorgangs, ausstattet, und/oder wobei das Integrationssystem den Sensor so in die Komponente integriert oder der Sensor solche Aktionen durchführt, dass der Sensor durch nachträgliche Manipulationen nicht mehr entfernt werden kann, und/oder wobei das Integrationssystem den Sensor im Rahmen der Integration oder nach der Integration verschleiert.
  3. System nach Anspruch 2, wobei das Integrationssystem den Sensor für die Integration dynamisch modifiziert, wobei das Integrationssystem bevorzugt Variablennamen und/oder Funktionsnamen und/oder die Position des Sensors in der Komponente und/oder die Größe des Sensors verändert, wobei die Veränderung bevorzugt für mehrere und bevorzugt jeden Integrationsprozess unterschiedlich und/oder zufällig erfolgt, und/oder wobei das Integrationssystem sowohl den Sensor als auch einen oder mehrere Bestandteile der ausgelieferten Komponente zum Zwecke der Verschleierung verändert, wobei die Veränderung bevorzugt bei mehreren und bevorzugt jedem Integrationsprozess unterschiedlich und/oder zufällig erfolgt, und/oder wobei das Integrationssystem den Sensor und/oder einen oder mehrere Bestandteile der ausgelieferten Komponente und bevorzugt den gesamten Programmcode der ausgelieferten Komponente im Rahmen der Integration des Sensors verschlüsselt, wobei die verschlüsselten Bestandteile bevorzugt ihren ursprünglichen Sinn erst bei der Verarbeitung und/oder Ausführung der Komponente zurück erhalten.
  4. System nach einem der vorangegangenen Ansprüche, mit einem Referenz-Proxy, welcher Referenzen des Sensors und/oder der ausgelieferten Komponente vor der Auslieferung der Komponente an das Clientsystem verändert und/oder auf sich adressiert, wobei die Veränderung und/oder Adressierung bevorzugt bei mehreren und bevorzugt jeder Komponente unterschiedlich und/oder zufällig erfolgt, und/oder wobei der Referenz-Proxy bevorzugt bei dem Aufruf der veränderten und/oder auf sich adressierten Referenzen den Aufruf an die ursprünglichen Referenzen weiterleitet, und/oder wobei der Referenz-Proxy bevorzugt eine Zuordnung zwischen den veränderten und/oder auf sich adressierten und den ursprünglichen Referenzen zusammen mit einem Identifikator für die jeweilige Komponente abspeichert, wobei der Referenz-Proxy bevorzugt einen Teil des Integrationssystems bildet.
  5. System nach einem der vorangegangenen Ansprüche, wobei der Sensor bei seiner Ausführung einen Report und/oder erkannte Modifikationen an ein weiteres System sendet, wobei der Sensor bevorzugt modifizierte bzw. hinzugefügte Elemente der Komponente komplett und/oder im Fall einer Modifikation die komplette Komponente an das weitere System sendet, und/oder wobei der Report bevorzugt einen Identifikator des Auslieferungsvorgangs enthält, und/oder wobei der Sensor Informationen zu dem ausgelieferten Zustand der Komponente enthält und diese mit dem aktuellen Zustand der Komponente vergleicht, insbesondere Strukturinformationen, und/oder wobei der Sensor Modifikationen anhand eines Document Object Models der Komponente erkennt, und/oder wobei der Sensor so konfigurierbar ist, dass die Überprüfung auf Teilbereiche der ausgelieferten Komponente beschränkt werden kann, und/oder wobei der Sensor eine Filterfunktion zum Ausschluss bestimmter Modifikationen umfasst, insbesondere in Form einer Whitelist.
  6. System nach einem der vorangegangenen Ansprüche mit einem Annahmesystem, welches von dem Integrationssystem und/oder dem Sensor Informationen erhält und diese bevorzugt abspeichert und/oder weiterleitet, wobei das Annahmesystem bevorzugt durch die Informationen erkennen kann, ob die Integration des Sensors und/oder ob die Ausführung des Sensors auf dem Clientsystem erfolgt ist, und/oder wobei das Integrationssystem bevorzugt für jede Integration eine Nachricht an das Annahmesystem sendet, wobei die Nachricht bevorzugt einen Identifikator des Auslieferungsvorgangs umfasst, und/oder wobei das Annahmesystem bevorzugt die von dem Integrationssystem erhaltenen Informationen und insbesondere einen Identifikator jedes Auslieferungsvorgangs abspeichert, wobei das Annahmesystem bevorzugt die von dem Integrationssystem erhaltenen Informationen zusammen mit Zeitinformationen abspeichert und/oder wobei die von dem Integrationssystem erhaltenen Informationen Zeitinformationen enthalten, und/oder wobei der Sensor bei seiner Ausführung bevorzugt einen Report an das Annahmesystem sendet, wobei der Report bevorzugt einen Identifikator für den Auslieferungsvorgang, und/oder die erkannten Modifikationen umfasst, und/oder wobei das Annahmesystem bevorzugt die von dem Sensor erhaltenen Informationen mit abgespeicherten Informationen abgleicht, und insbesondere einen von dem Sensor erhaltenen Identifikator für den Auslieferungsvorgang, mit abgespeicherten, von der Integrationseinheit ausgelieferten Identifikatoren abgleicht, wobei das Annahmesystem ausbleibende Informationen von einem Sensor als eine Modifikation des Sensors interpretiert, wobei ausbleibende Informationen bevorzugt anhand der abgespeicherten Zeitinformationen erkannt werden, und/oder wobei ein ausbleibender Report durch das Annahmesystem als eine Modifikation des Sensors interpretiert wird.
  7. System nach einem der vorangegangenen Ansprüche mit einem Auswertungssystem, welches die von dem Sensor erkannten Modifikationen auswertet, wobei bevorzugt das Auswertungssystem modifizierte bzw. hinzugefügte Elemente der Komponente komplett und/oder im Fall einer Modifikation die komplette Komponente erhält, und/oder wobei die Auswertung bevorzugt durch statische Analyseverfahren, insbesondere eine Blacklist und/oder eine Whitelist und/oder eine Identifikation unbekannter Komponenten und/oder anhand von Referenzen und/oder Signaturen und/oder Wortlisten erfolgt, wobei der Vergleich mit der Blacklist bevorzugt als direkter Vergleich und/oder als ein Vergleich nach Normalisierung und/oder als ein Ähnlichkeitsvergleich durchgeführt wird, und/oder wobei bevorzugt überprüft wird, ob neue oder geänderte Referenzen auf ein Ziel außerhalb eines vorgegebenen Bereiches, insbesondere außerhalb des Serversystems vorliegen, und/oder wobei die Auswertung bevorzugt durch dynamische Analyseverfahren, insbesondere durch die Simulation der Verarbeitung und/oder Ausführung der Komponente erfolgt und/oder wobei die Auswertung bevorzugt durch Maschinenlernverfahren erfolgt, und/oder wobei das Auswertungssystem einen Risikowert der modifizierten Komponente berechnet, bevorzugt anhand einer Analyse und/oder Klassifikation der erkannten Modifikationen, insbesondere indem die erkannten Modifikationen analysiert und/oder klassifiziert werden und jeder Modifikation ein Gefährdungswert zugeordnet wird, aus welchen dann der Risikowert der modifizierten Komponente insgesamt berechnet wird, und/oder wobei das Auswertungssystem an das Serversystem Informationen zur Gefährdung der modifizierten Komponente und insbesondere einen Risikowert sendet, und/oder wobei das Serversystem anhand von Informationen des Auswertungssystems Gegenmaßnahmen einleitet, wobei die Gegenmaßnahmen bevorzugt nicht den Abbruch der Verarbeitung und/oder Ausführung der Komponente umfassen, und/oder wobei die Entscheidung über Gegenmaßnahmen anhand der Informationen des Auswertungssystems und bevorzugt weiteren Informationen insbesondere zum Nutzerverhalten erfolgt.
  8. System nach einem der vorangegangenen Ansprüche, wobei es sich bei der Komponente um eine Webseite handelt und/oder wobei es sich bei dem Clientsystem um einen Webbrowser handelt, und/oder wobei der Sensor durch ein Softwareelement gebildet wird, insbesondere ein Skript, wobei das Softwareelement bevorzugt als ein Element in die Komponente integriert wird, wobei weiterhin bevorzugt die Integration auch über eine oder mehrere Referenzen auf externe Ziele erfolgen kann, und/oder wobei die Komponente einen oder mehrere der folgenden Services zur Verfügung stellt: Web-Mailer, Online-Banking, Zahlungsdienst, Online-Shop und/oder Zugang zu einem sozialen Netzwerk, und/oder wobei das Integrationssystem ein Teil des Serversystems oder des Clientsystems ist oder ein zwischengeschaltetes System bildet.
  9. Sensor für ein System nach einem der vorangegangenen Ansprüche, wobei der Sensor in eine von einem Serversystem an ein Clientsystem ausgelieferte und auf dem Clientsystem verarbeitbare und/oder ausführbare Komponente integrierbar ist und so ausgestaltet ist, dass er bei der Verarbeitung und/oder Ausführung der Komponente ausgeführt wird und Modifikationen der Komponente erkennt.
  10. Sensor nach Anspruch 9, wobei der Sensor bei seiner Ausführung einen Report und/oder erkannte Modifikationen an ein weiteres System sendet, wobei der Sensor bevorzugt modifizierte bzw. hinzugefügte Elemente der Komponente komplett und/oder im Fall einer Modifikation die komplette Komponente an das weitere System sendet, und/oder wobei der Report bevorzugt einen Identifikator des Auslieferungsvorgangs enthält, und/oder wobei der Sensor Informationen zu dem ausgelieferten Zustand der Komponente enthält und diese mit dem aktuellen Zustand der Komponente vergleicht, insbesondere Strukturinformationen, und/oder wobei der Sensor Modifikationen anhand eines Document Object Models der Komponente erkennt, und/oder wobei der Sensor so konfigurierbar ist, dass die Überprüfung auf Teilbereiche der ausgelieferten Komponente beschränkt werden kann, und/oder wobei der Sensor eine Filterfunktion zum Ausschluss bestimmter Modifikationen umfasst, insbesondere in Form einer Whitelist.
  11. Integrationssystem für ein System nach einem der vorangegangenen Ansprüche, wobei das Integrationssystem so ausgestaltet ist, dass es einen Sensor in eine von einem Serversystem an ein Clientsystem ausgelieferte und auf dem Clientsystem verarbeitbare und/oder ausführbare Komponente integriert.
  12. Integrationssystem nach Anspruch 11, wobei das Integrationssystem den Sensor mit Informationen zum ausgelieferten Zustand der Komponente und/oder einem Identifikator des Auslieferungsvorgangs ausstattet, und/oder wobei das Integrationssystem den Sensor so in die Komponente integriert, dass der Sensor durch nachträgliche Manipulationen nicht mehr entfernt werden kann, und/oder wobei das Integrationssystem den Sensor im Rahmen der Integration oder nach der Integration verschleiert und/oder wobei das Integrationssystem den Sensor für die Integration dynamisch modifiziert, wobei das Integrationssystem bevorzugt Variablennamen und/oder Funktionsnamen und/oder die Position des Sensors in der Komponente und/oder die Größe des Sensors verändert, wobei die Veränderung bevorzugt für mehrere und bevorzugt jeden Integrationsprozess unterschiedlich und/oder zufällig erfolgt, und/oder wobei das Integrationssystem sowohl den Sensor als auch einen oder mehrere Bestandteile der ausgelieferten Komponente zum Zwecke der Verschleierung verändert, wobei die Veränderung bevorzugt bei mehreren und bevorzugt jedem Integrationsprozess unterschiedlich und/oder zufällig erfolgt, und/oder wobei das Integrationssystem den Sensor und/oder einen oder mehrere Bestandteile der ausgelieferten Komponente und bevorzugt den gesamten Programmcode der ausgelieferten Komponente im Rahmen der Integration des Sensors verschlüsselt, wobei die verschlüsselten Bestandteile bevorzugt ihren ursprünglichen Sinn erst bei der Verarbeitung und/oder Ausführung der Komponente zurück erhalten, und/oder wobei das Integrationssystem bevorzugt für jede Integration eine Nachricht an ein Annahmesystem sendet, wobei die Nachricht bevorzugt einen Identifikator des Auslieferungsvorgangs umfasst, und/oder wobei das Integrationssystem einen Referenz-Proxy umfasst, welcher Referenzen des Sensors und/oder der ausgelieferten Komponente zu externen Zielen vor der Auslieferung der Komponente an das Clientsystem verändert und/oder auf sich adressiert, wobei die Veränderung und/oder Adressierung bevorzugt bei mehreren und bevorzugt jeder Komponente unterschiedlich und/oder zufällig erfolgt, und/oder wobei der Referenz-Proxy bevorzugt bei dem Aufruf der veränderten und/oder auf sich adressierten Referenzen den Aufruf an die ursprünglichen Referenzen weiterleitet, und/oder wobei der Referenz-Proxy bevorzugt eine Zuordnung zwischen den veränderten und/oder auf sich adressierten und den ursprünglichen Referenzen zusammen mit einem Identifikator für die jeweilige Komponente abspeichert.
  13. Annahme- und/oder Auswertungssystem für ein System nach einem der vorangegangenen Ansprüche, wobei das Annahmesystem so ausgestaltet ist, dass es von dem Integrationssystem und/oder dem Sensor Informationen erhält und diese abspeichert und/oder weiterleitet, und/oder wobei das Auswertungssystem so ausgestaltet ist, dass es die von dem Sensor erkannten Modifikationen auswertet.
  14. Annahme- und/oder Auswertungssystem nach Anspruch 13, wobei das Annahmesystem bevorzugt durch die Informationen erkennen kann, ob die Integration des Sensors und/oder ob die Ausführung des Sensors auf dem Clientsystem erfolgt ist, wobei das Annahmesystem bevorzugt die von dem Integrationssystem erhaltenen Informationen und insbesondere einen Identifikator des Auslieferungsvorgangs abspeichert, wobei das Annahmesystem bevorzugt die von dem Integrationssystem erhaltenen Informationen zusammen mit Zeitinformationen abspeichert und/oder wobei die von dem Integrationssystem erhaltenen Informationen Zeitinformationen enthalten, und/oder wobei das Annahmesystem die von dem Sensor erhaltenen Informationen mit abgespeicherten Informationen abgleicht, und insbesondere einen von dem Sensor erhaltenen Identifikator des Auslieferungsvorgangs, mit abgespeicherten, von der Integrationseinheit ausgelieferten Identifikatoren abgleicht, wobei das Annahmesystem ausbleibende Informationen von einem Sensor als eine Modifikation des Sensors interpretiert, wobei ausbleibende Informationen bevorzugt anhand der abgespeicherten Zeitinformationen erkannt werden, und/oder wobei das Annahmesystem im Falle einer von einem Sensor gemeldeten Modifikation oder einer durch das Annahmesystem erkannten Modifikation einen Auswertungs-Auftrag an ein Auswertungssystem, und/oder wobei bevorzugt das Auswertungssystem modifizierte bzw. hinzugefügte Elemente der Komponente komplett und/oder im Fall einer Modifikation die komplette Komponente erhält und auswertet, und/oder wobei die Auswertung bevorzugt durch statische Analyseverfahren, insbesondere eine Blacklist und/oder eine Whitelist und/oder eine Identifikation unbekannter Komponenten und/oder anhand von Referenzen und/oder Signaturen und/oder Wortlisten erfolgt, wobei der Vergleich mit der Blacklist bevorzugt als direkter Vergleich und/oder als ein Vergleich nach Normalisierung und/oder als ein Ähnlichkeitsvergleich durchgeführt wird, und/oder wobei bevorzugt überprüft wird, ob neue oder geänderte Referenzen auf ein Ziel außerhalb eines vorgegebenen Bereiches, insbesondere außerhalb des Serversystems vorliegen, und/oder wobei die Auswertung bevorzugt durch dynamische Analyseverfahren, insbesondere durch die Simulation der Verarbeitung und/oder Ausführung der Komponente erfolgt und/oder wobei die Auswertung bevorzugt durch Maschinenlernverfahren erfolgt, und/oder wobei das Auswertungssystem einen Risikowert der modifizierten Komponente berechnet, bevorzugt anhand einer Analyse und/oder Klassifikation der erkannten Modifikationen, insbesondere indem die erkannten Modifikationen analysiert und/oder klassifiziert werden und jeder Modifikation ein Gefährdungswert zugeordnet wird, aus welchen dann der Risikowert der modifizierten Komponente insgesamt berechnet wird, und/oder wobei das Auswertungssystem an das Serversystem Informationen zur Gefährdung der modifizierten Komponente und insbesondere einen Risikowert sendet.
  15. Verfahren zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten und auf dem Clientsystem verarbeitbaren und/oder ausführbaren Komponente, insbesondere unter Verwendung eines Systems nach einem der vorangegangenen Ansprüche, wobei ein Sensor in die von dem Serversystem an das Clientsystem ausgelieferte Komponente integriert wird, und wobei der Sensor bei der Verarbeitung und/oder Ausführung der Komponente ausgeführt wird und Modifikationen der Komponente erkennt.
DE102015005071.0A 2015-04-21 2015-04-21 System und Verfahren zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten Komponente Pending DE102015005071A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102015005071.0A DE102015005071A1 (de) 2015-04-21 2015-04-21 System und Verfahren zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten Komponente
EP16721076.4A EP3286683A1 (de) 2015-04-21 2016-04-18 System und verfahren zur überwachung der integrität einer von einem serversystem an ein clientsystem ausgelieferten komponente
PCT/EP2016/000630 WO2016169646A1 (de) 2015-04-21 2016-04-18 System und verfahren zur überwachung der integrität einer von einem serversystem an ein clientsystem ausgelieferten komponente
US15/568,389 US10831887B2 (en) 2015-04-21 2016-04-18 System and method for monitoring the integrity of a component delivered to a client system by a server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015005071.0A DE102015005071A1 (de) 2015-04-21 2015-04-21 System und Verfahren zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten Komponente

Publications (1)

Publication Number Publication Date
DE102015005071A1 true DE102015005071A1 (de) 2016-10-27

Family

ID=55948779

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015005071.0A Pending DE102015005071A1 (de) 2015-04-21 2015-04-21 System und Verfahren zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten Komponente

Country Status (4)

Country Link
US (1) US10831887B2 (de)
EP (1) EP3286683A1 (de)
DE (1) DE102015005071A1 (de)
WO (1) WO2016169646A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779717B (zh) * 2016-11-30 2021-03-30 宇龙计算机通信科技(深圳)有限公司 一种支付认证方法及装置
US10796019B2 (en) * 2018-07-17 2020-10-06 Dell Products L.P. Detecting personally identifiable information (PII) in telemetry data
US11507880B2 (en) 2019-06-25 2022-11-22 Kyndryl, Inc. Automatic and continuous monitoring and remediation of API integrations

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160019122A1 (en) * 2002-10-14 2016-01-21 Cimcor, Inc. System and method for maintaining server data integrity

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951300A (en) * 1997-03-10 1999-09-14 Health Hero Network Online system and method for providing composite entertainment and health information
US7509687B2 (en) * 2002-03-16 2009-03-24 Trustedflow Systems, Inc. Remotely authenticated operation method
EP1549012A1 (de) * 2003-12-24 2005-06-29 DataCenterTechnologies N.V. System und Verfahren zur Identifizierung von Dateiinhalten in einem Netzwerk
WO2006054128A1 (en) * 2004-11-22 2006-05-26 Nokia Corporation Method and device for verifying the integrity of platform software of an electronic device
WO2007035327A2 (en) * 2005-09-20 2007-03-29 Matsushita Electric Industrial Co., Ltd. System and method for component trust model in peer-to-peer service composition
US8307276B2 (en) * 2006-05-19 2012-11-06 Symantec Corporation Distributed content verification and indexing
US20080005095A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Validation of computer responses
US7715448B2 (en) * 2007-06-06 2010-05-11 Red Aril, Inc. Network device for embedding data in a data packet sequence
US8782801B2 (en) * 2007-08-15 2014-07-15 Samsung Electronics Co., Ltd. Securing stored content for trusted hosts and safe computing environments
KR101377014B1 (ko) * 2007-09-04 2014-03-26 삼성전자주식회사 면역 데이터베이스 기반의 악성코드 진단 방법 및 시스템
FR2931613B1 (fr) * 2008-05-22 2010-08-20 Inst Nat Rech Inf Automat Dispositif et procede de verification d'integrite d'objets physiques
US8387129B2 (en) * 2008-06-09 2013-02-26 Qualcomm Incorporated Method and apparatus for verifying data packet integrity in a streaming data channel
US8572692B2 (en) * 2008-06-30 2013-10-29 Intel Corporation Method and system for a platform-based trust verifying service for multi-party verification
US8316387B2 (en) * 2008-08-28 2012-11-20 Microsoft Corporation Exposure of remotely invokable method through a webpage to an application outside web browser
US8931084B1 (en) * 2008-09-11 2015-01-06 Google Inc. Methods and systems for scripting defense
US8677481B1 (en) 2008-09-30 2014-03-18 Trend Micro Incorporated Verification of web page integrity
US8850526B2 (en) * 2010-06-23 2014-09-30 K7 Computing Private Limited Online protection of information and resources
DE102011015123A1 (de) * 2011-03-25 2012-09-27 G Data Software Ag Kommunikationssystem mit Sicherheitsvorrichtung, Sicherheitsvorrichtung sowie Verfahren hierzu
US20120272317A1 (en) * 2011-04-25 2012-10-25 Raytheon Bbn Technologies Corp System and method for detecting infectious web content
US20120323700A1 (en) * 2011-06-20 2012-12-20 Prays Nikolay Aleksandrovich Image-based captcha system
US9734503B1 (en) * 2011-06-21 2017-08-15 Google Inc. Hosted product recommendations
US9374369B2 (en) * 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
US9298681B2 (en) * 2013-01-03 2016-03-29 International Business Machines Corporation Dynamic webpage change animation
US10108590B2 (en) * 2013-05-03 2018-10-23 International Business Machines Corporation Comparing markup language files
KR102089513B1 (ko) * 2014-03-19 2020-03-16 한국전자통신연구원 모바일 저장장치에 기반한 소프트웨어 검증 시스템 및 그 방법
US10395032B2 (en) * 2014-10-03 2019-08-27 Nokomis, Inc. Detection of malicious software, firmware, IP cores and circuitry via unintended emissions
US9294492B1 (en) * 2015-03-10 2016-03-22 Iboss, Inc. Software program identification based on program behavior
US9350750B1 (en) * 2015-04-03 2016-05-24 Area 1 Security, Inc. Distribution of security rules among sensor computers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160019122A1 (en) * 2002-10-14 2016-01-21 Cimcor, Inc. System and method for maintaining server data integrity

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Mark A. Thober, J. Aaron Pendergrass, Andrew D. Jurik: Ensuring the Integrity of Running Java Programs. In Johns Hopkins APL Technical Digest, Volume 32, Number 2 (2013).URL: http://www.jhuapl.edu/techdigest/TD/td3202/32_02-Thober.pdf *
Obfuscation - Wikipedia. Mit Stand vom 03.04.2015.URL: https://de.wikipedia.org/w/index.php?title=Obfuskation&oldid=140544634 *

Also Published As

Publication number Publication date
US10831887B2 (en) 2020-11-10
US20180157830A1 (en) 2018-06-07
WO2016169646A1 (de) 2016-10-27
EP3286683A1 (de) 2018-02-28

Similar Documents

Publication Publication Date Title
DE112010003454B4 (de) Bedrohungserkennung in einem Datenverarbeitungssystem
DE10249428B4 (de) Verfahren zum Definieren der Sicherheitsanfälligkeiten eines Computersystems
EP2981926B1 (de) Datenspeichervorrichtung zum geschützten datenaustausch zwischen verschiedenen sicherheitszonen
EP4187417B1 (de) Erkennen einer abweichung eines sicherheitszustandes einer recheneinrichtung von einem sollsicherheitszustand
DE602006000878T2 (de) Verfahren zur Steuerung eines Ressourcenzugriffs eines Prozesses durch einen Elternprozess
DE102011056502A1 (de) Verfahren und Vorrichtung zur automatischen Erzeugung von Virenbeschreibungen
DE10249427A1 (de) System und Verfahren zum Definieren des Sicherheitszustands eines Computersystems
EP2362321A1 (de) Verfahren und System zum Erkennen einer Schadsoftware
EP3286683A1 (de) System und verfahren zur überwachung der integrität einer von einem serversystem an ein clientsystem ausgelieferten komponente
EP3682610A1 (de) Verfahren und vorrichtung zum erkennen eines angriffs auf ein serielles kommunikationssystem
DE102005021064B4 (de) Verfahren und Vorrichtung zum Schutz gegen Buffer Overrun-Attacken
EP3568793B1 (de) Verfahren und computer mit einer sicherung gegen cyberkriminelle bedrohungen
DE102023103676A1 (de) Angriffswegerstellungsverfahren und Angriffswegerstellungsvorrichtung
DE602004001293T2 (de) Programmintegritätsprüfung mittels Statistiken
CH715183A1 (de) Penetrationstestverfahren und Computerprogramm zum Prüfen der Vulnerabilität eines Computersystems.
EP4329243A1 (de) Computerimplementiertes verfahren zum automatisierten absichern eines rechnersystems
EP3588340B1 (de) Computerimplementiertes verfahren zum betreiben einer datenspeichereinrichtung
EP3767503B1 (de) Verfahren und testumgebung zur bereitstellung einer anwendung für eine computergesteuerte komponente
LU500837B1 (de) Verfahren und zugehörige Computersysteme zur Sicherung der Integrität von Daten
DE102007059798B3 (de) Verfahren zur Verschlüsselung von ausführbarem Programmcode, insbesondere als Schutz gegen unautorisierte Vervielfältigung, Manipulation und unautorisierten Betrieb
DE102005046696A1 (de) Verfahren zum Erzeugen von geschütztem Programmcode und Verfahren zum Ausführen von Programmcode eines geschützten Computerprogramms sowie Computerprogrammprodukt
EP4332803A1 (de) Verfahren zur erkennung eines unberechtigten zugriffs auf nutzdaten in einem cloudspeicher
EP4329242A1 (de) Verfahren und systemanordnung zum proaktiven einstellen einer sicherheitskonfiguration
DE102021131272A1 (de) Verfahren zur Steuerung des Zugriffs eines Users auf ein Netzwerk, Netzwerk und Computerprogramm
DE102022209766A1 (de) COMPUTERIMPLEMENTIERTES VERFAHREN ZUR EINLEITUNG VON MITIGATIONSMAßNAHMEN IN EINEM SYSTEM

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication