DE102017214591A1 - Method and device for protecting a device - Google Patents

Method and device for protecting a device Download PDF

Info

Publication number
DE102017214591A1
DE102017214591A1 DE102017214591.9A DE102017214591A DE102017214591A1 DE 102017214591 A1 DE102017214591 A1 DE 102017214591A1 DE 102017214591 A DE102017214591 A DE 102017214591A DE 102017214591 A1 DE102017214591 A1 DE 102017214591A1
Authority
DE
Germany
Prior art keywords
file
attributes
following
steps
magic number
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
DE102017214591.9A
Other languages
German (de)
Inventor
Heiko Baur
Paulius Duplys
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102017214591.9A priority Critical patent/DE102017214591A1/en
Priority to CN201810952209.6A priority patent/CN109428885B/en
Publication of DE102017214591A1 publication Critical patent/DE102017214591A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verfahren (10) zum Schützen eines Gerätes,gekennzeichnet durch folgende Merkmale:- eine Laufzeitumgebung des Gerätes wird individualisiert (20) und- von dem Gerät zu verarbeitende Eingabedaten werden an die individualisierte Laufzeitumgebung angepasst (30).Method (10) for protecting a device, characterized by the following features: a runtime environment of the device is individualized (20) and input data to be processed by the device are adapted to the individualized runtime environment (30).

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Schützen eines Gerätes. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium.The present invention relates to a method for protecting a device. The present invention also relates to a corresponding device, a corresponding computer program and a corresponding storage medium.

Stand der TechnikState of the art

Als Sicherheitslücke wird auf dem Gebiet der Informationssicherheit jedweder Fehler in einer Software bezeichnet, durch welchen ein Programm mit Schadwirkung (malware) oder ein Angreifer in ein Computersystem eindringen kann.A security breach in the field of information security refers to any errors in a software through which a program malware or an attacker can invade a computer system.

Sicherheitslücken stellen eine Bedrohung für die Sicherheit eines Computersystems dar. Es besteht das Risiko, dass die betreffende Sicherheitslücke ausgenutzt und das betroffene Computersystem kompromittiert werden kann. Sicherheitslücken entstehen unter anderem durch den unzureichenden Schutz eines Computers vor Angriffen aus dem Netz (beispielsweise mangels Firewall oder anderer Sicherheitssoftware) sowie durch Programmierfehler im Betriebssystem, Webbrowser oder anderen Softwareanwendungen, die auf dem System betrieben werden.Vulnerabilities pose a threat to the security of a computer system. There is a risk that the vulnerability in question may be exploited and the affected computer system compromised. Vulnerabilities are caused, among other things, by inadequate protection of a computer from attacks from the network (for example, lack of firewall or other security software) and programming errors in the operating system, web browser, or other software applications running on the system.

DE102015225651A1 offenbart ein Verfahren zum Schützen eines Gerätes. Hierbei erzeugt ein Prüfer eine erste Zufallszahl und eine zweite Zufallszahl, errechnet anhand der zweiten Zufallszahl mittels einer emulierten oder zuvor ausgemessenen Hardwarefunktion des Gerätes einen kryptografischen Schlüssel, verschlüsselt die Software mit dem Schlüssel in ein Kryptogramm, sendet das Kryptogramm und die erste Zufallszahl an das Gerät, empfängt eine Prüfsumme von dem Gerät, errechnet anhand der ersten Zufallszahl und eines nachgebildeten Arbeitsspeichers des Gerätes mittels der emulierten oder zuvor ausgemessenen Hardwarefunktion und einer vorgegebenen kryptografischen Hashfunktion einen Bezugswert, unterzieht die Prüfsumme einer Prüfung anhand des Bezugswertes und sendet, falls die Prüfung gelingt, die zweite Zufallszahl an das Gerät. DE102015225651A1 discloses a method of protecting a device. In this case, an examiner generates a first random number and a second random number, calculates a cryptographic key based on the second random number by means of an emulated or previously measured hardware function of the device, encrypts the software with the key into a cryptogram, sends the cryptogram and the first random number to the device , a checksum from the device, calculated on the basis of the first random number and a replicated memory of the device by means of the emulated or previously measured hardware function and a given cryptographic hash function, receives a reference, subjecting the checksum to a check based on the reference value, and if the test succeeds, the second random number to the device.

Offenbarung der ErfindungDisclosure of the invention

Die Erfindung stellt ein Verfahren zum Schützen eines Gerätes, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes maschinenlesbares Speichermedium gemäß den unabhängigen Ansprüchen bereit.The invention provides a method for protecting a device, a corresponding device, a corresponding computer program and a corresponding machine-readable storage medium according to the independent claims.

Der erfindungsgemäße Ansatz fußt hierbei auf der Erkenntnis, dass bekannte Sicherheitslücken oder Schwachstellen typischerweise deswegen zu einem massiven Angriff genutzt werden können, da alle Instanzen der fehlerhaften Software die gleiche Sicherheitslücke aufweisen. Dies wiederum ermöglicht es einem Angreifer, eine einzelne Datei oder anderweitige Eingabe zu erstellen, die dann verwendet werden kann, um irgendeines der anfälligen Geräte (oder alle auf einmal) anzugreifen.The approach according to the invention is based on the recognition that known vulnerabilities or vulnerabilities can typically be used to a massive attack, since all instances of the faulty software have the same vulnerability. This in turn allows an attacker to create a single file or other input that can then be used to attack any of the vulnerable devices (or all at once).

Der nachfolgend vorgestellten Lösung liegt daher der Gedanke zugrunde, ein neuartiges Verfahren zum Härten von miteinander verbundenen Vorrichtungen gegen diese Art von massiven Angriffen zu schaffen, das die für einen Angriff erforderlichen Anstrengungen deutlich erhöht.The solution presented below is therefore based on the idea of creating a novel method for hardening interconnected devices against this type of massive attacks, which significantly increases the effort required for an attack.

Zwei Vorzüge dieser Lösung liegen in der erhöhten Widerstandsfähigkeit erfindungsgemäß gehärteter Systeme gegen softwarebasierte Angriffe, d. h. Angriffe, die Software-Schwachstellen ausnutzen, sowie ihrem minimalen Zusatzaufwand in Bezug auf Rechenleistung, Kodeumfang und Kode-Komplexität.Two advantages of this solution lie in the increased resistance of hardened systems according to the invention to software-based attacks, ie. H. Attacks that exploit software vulnerabilities and their minimal overhead in terms of processing power, code size, and code complexity.

Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich. So kann vorgesehen sein, dem zu schützenden Gerät zufällig eine sogenannte magische Zahl (magic number) oder entsprechende Zeichenkette (string) zuzuordnen, anhand derer Gerät und vorgesehene Eingabedaten individualisiert werden. Mit diesem Begriff wird in der Informatik - neben anderen Bedeutungen - ein spezieller Wert bezeichnet, der ein bestimmtes Dateiformat kennzeichnet. Hierzu wird der betreffende Wert in der Regel am Dateibeginn den eigentlichen Nutzdaten vorangestellt und erlaubt es beispielsweise einem Hilfsprogramm oder Kernelmodul, den Typ der solchermaßen gekennzeichneten Datei ohne eingehende Analyse des Dateiinhaltes zu bestimmen.The measures listed in the dependent claims advantageous refinements and improvements of the independent claim basic idea are possible. Thus it can be provided to randomly associate with the device to be protected a so-called magic number or string, by means of which the device and provided input data are individualized. This term is used in computer science - among other meanings - denotes a special value that indicates a particular file format. For this purpose, the value in question is usually prefixed to the actual user data at the beginning of the file and allows, for example, an auxiliary program or kernel module to determine the type of the file characterized in this way without detailed analysis of the file content.

Angenommen, ein Hacker rekonstruiert ein auf diese Weise geschütztes Gerät bestimmten Typs, z. B. einen Haus- oder Heizungs-Controller oder eine IP-basierte Kamera. Selbst wenn er eine ausnutzbare Software-Schwachstelle findet, hindert die einzigartige, zufällig generierte magische Zahl ihn daran, die entdeckte Sicherheitslücke auf anderen Geräten desselben Typs auszunutzen. Um dies zu tun, müsste der Hacker nämlich eine Datei zusammenstellen, die von betroffenen Geräten in der vom Hacker beabsichtigten Weise verarbeitet wird (z. B. durch eine bestimmte Funktion einer bestimmten Bibliothek, die auf diesen Geräten installiert ist). Wegen der Zufälligkeit der magischen Zahl ist es für den Hacker jedoch unmöglich, eine solche Datei zusammenzustellen, die für ein anderes Gerät in diesem Sinne „gültig“ ist. Wenn ein solches Gerät indes eine Datei mit einer magischen Zahl empfängt, die nicht mit der ihm zugewiesenen übereinstimmt, wird es nicht in der Lage sein, diese Datei zu verarbeiten, sondern sie z. B. einfach verwerfen und damit den Angriffsversuch vereiteln.For example, suppose a hacker reconstructs a device of this type that is protected in this way. For example, a home or heating controller or an IP-based camera. Even if it finds a exploitable software vulnerability, the unique, randomly generated magic number prevents it from exploiting the discovered vulnerability on other devices of the same type. To do this, the hacker would need to compile a file that is processed by affected devices in the manner intended by the hacker (for example, by a particular function of a particular library installed on those devices). However, because of the randomness of the magic number, it is impossible for the hacker to compile such a file that is "valid" for another device in this sense. However, if such a device receives a file with a magic number that does not match its assigned one, it will not be in the Be able to process this file, but they z. B. just discard and thwart the attempted attack.

Gemäß einem weiteren Aspekt kann vorgesehen sein, die zufällig erzeugten magischen Zahlen oder anderweitigen Attribute in einer Datenbank den jeweiligen Geräten zuzuordnen. Infolgedessen steigt der Aufwand des Hackers für einen erfolgreichen Angriff im Wesentlichen linear mit der Anzahl der Geräte, die er angreifen möchte. Dies folgt aus dem Umstand, dass der Hacker - sofern er die Datenbank nicht kompromittiert hat - jedes Gerät, das er anzugreifen versucht, nachentwickeln (reverse-engineer) müsste. Das wiederum bedeutet, dass jedes System, der Schwachstellen in der Software solchermaßen ausnutzt, eine schlechte Skalierbarkeit aufweist. Somit vermag eine entsprechende Ausführungsform der Erfindung insbesondere die durch Vielanfragen in cyberphysikalischen Systemen verbreitete Verweigerung von Internetdiensten (distributed denial of service, DDoS) wirkungsvoll abzuwenden.According to another aspect, it may be provided to associate the randomly generated magic numbers or other attributes in a database with the respective devices. As a result, the hacker's effort for a successful attack increases substantially linearly with the number of devices he wants to attack. This follows from the fact that the hacker, unless he has compromised the database, would have to redevelop (reverse-engineer) any device he tries to attack. This, in turn, means that any system exploiting vulnerabilities in the software is poorly scalable. Thus, a corresponding embodiment of the invention is able, in particular, to effectively avert the denial of Internet services (distributed denial of service, DDoS) that is widespread as a result of multiple requests in cyber-physical systems.

Im Ergebnis lassen sich die Sicherheitsrisiken für beliebige miteinander verbundene Systeme auf die beschriebene Weise beträchtlich mindern, indem von vornherein der ökonomische Anreiz zum Angriff auf diese Systeme beseitigt wird.As a result, the security risks for any interconnected systems can be significantly reduced in the manner described by eliminating from the outset the economic incentive to attack these systems.

Figurenlistelist of figures

Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:

  • 1 das Flussdiagramm eines Verfahrens gemäß einer Ausführungsform.
  • 2 schematisch einen ersten Prozess des Verfahrens.
  • 3 schematisch einen zweiten Prozess des Verfahrens.
Embodiments of the invention are illustrated in the drawings and explained in more detail in the following description. It shows:
  • 1 the flowchart of a method according to an embodiment.
  • 2 schematically a first process of the method.
  • 3 schematically a second process of the method.

Ausführungsformen der ErfindungEmbodiments of the invention

Im Folgenden wird der Begriff „Datei“ in einem weiten Sinne für die Eingabedaten eines vernetzten Gerätes verwendet. Als Beispiele für Dateien seien etwa ein Software-Update, eine Multimediadatei oder eine - möglicherweise eine Anforderung an das Gerät enthaltende - Textdatei genannt. Im Allgemeinen besteht jede Datei aus Kopfdaten und Nutzdaten. Die Nutzdaten der Datei betreffen deren eigentlichen Inhalt, z. B. ein Bild, einen Film oder einen Text. Der Kopf der Datei enthält deren sogenannte Metadaten wie ihr Format, die Version der Werkzeuge, die zu ihrer Erstellung verwendet wurden usw. Die besagten Metadaten umfassen insbesondere die im Rahmen der Erfindung genutzte magische Zahl.In the following, the term "file" is used in a broad sense for the input data of a networked device. As examples of files may be mentioned as a software update, a multimedia file or a possibly containing a request to the device - text file. In general, each file consists of header data and payload data. The user data of the file relate to their actual content, eg. A picture, a movie or a text. The header of the file contains its so-called metadata such as its format, the version of the tools used to create it, etc. The said metadata includes in particular the magic number used in the invention.

Ein grundlegender Aspekt der Erfindung besteht darin, eine gegebene Datei so an ein bestimmtes Gerät zu binden, dass die Datei ausschließlich auf einem hierzu vorgesehenen Gerät korrekt verarbeitet (d. h. gelesen und interpretiert) werden kann. Eine Übersicht der vorgeschlagenen Methode ist in 1 dargestellt.A basic aspect of the invention is to bind a given file to a particular device so that the file can be properly processed (ie read and interpreted) only on a dedicated device. An overview of the proposed method is available in 1 shown.

In einem in 2 gezeigten Geräteindividualisierungsschritt (Prozess 20) wird eine Quelle (21) von (Pseudo-)Zufälligkeit verwendet, um die magische Zahl (M) für einen bestimmten Dateityp für ein bestimmtes Gerät zu erzeugen. Anstatt unmittelbar den Wert der magischen Zahl (M) zu verwenden, kommt allgemein eine Menge (pseudo-)zufällig ausgewählter Attribute in Betracht, etwa die Anzahl von Datenblöcken (chunks) der magischen Zahl (M) oder deren Positionen innerhalb der Datei.In an in 2 device customization step shown (process 20 ) becomes a source ( 21 ) of (pseudo) randomness is used to calculate the magic number ( M ) for a specific file type for a particular device. Instead of directly the value of the magic number ( M ), a set of (pseudo-) randomly chosen attributes is generally considered, such as the number of chunks of the magic number ( M ) or their positions within the file.

Die magische Zahl (M) wird mit einer eindeutigen Kennung (identifier, ID) des jeweiligen Gerätes assoziiert und dem Gerät auf diese Weise in einer Datenbank (Db) für eine spätere Abfrage dauerhaft zugeordnet. Gleichzeitig wird die magische Zahl (M) in den Quellkode (22), der für das Gerät gebaut wird, gleichsam „injiziert“. Beispielsweise kann der C- oder C++-Quellkode (22) einer Bibliothek durch sogenannte Makros parametriert werden, die mittels geeigneter Direktiven durch die magische Zahl (M) ersetzt werden.The magic number ( M ) is associated with a unique identifier (identifier, ID) of the respective device and the device in this way in a database ( db ) permanently assigned for a later query. At the same time the magic number ( M) in the source code ( 22 ), which is built for the device, as it were "injected". For example, the C or C ++ source code ( 22 ) are parameterized by so-called macros, which are identified by means of suitable directives by the magic number ( M ) be replaced.

Das Ergebnis dieses Geräteindividualisierungsschrittes (20) ist eine „maßgeschneiderte“ Binärdatei (24) für das jeweilige Gerät. Diese Binärdatei (24) wird gewissermaßen dazu konfiguriert, den Dateityp anhand der magischen Zahl (M) zu bestimmen.The result of this device customization step ( 20 ) is a "customized" binary file ( 24 ) for the respective device. This binary file ( 24 ) is effectively configured to change the file type based on the magic number ( M ).

Angenommen sei nun der Fall, dass z. B. ein Software-Update durchgeführt werden soll, während sich das Gerät im Einsatz befindet. Dann wird in einem in 3 gezeigten Dateianpassungsschritt (30) die magische Zahl (M) für das Gerät aus der Datenbank (Db) abgerufen. Die Datei (f), die an das Gerät gebunden werden soll, wird von einer Anpassungsfunktionseinheit (31) verarbeitet, die die magische Zahl (M) in die Datei (f) einfügt. Das Ergebnis dieses Schrittes ist also eine Datei (fM ), die nur vom Gerät korrekt verarbeitet werden kann.Suppose now the case that z. B. a software update should be performed while the device is in use. Then in an in 3 shown file adaptation step ( 30 ) the magic number ( M ) for the device from the database ( db ). The file ( f ), which is to be bound to the device, is controlled by an adaptation function unit ( 31 ), which is the magic number ( M ) into the file ( f ). The result of this step is therefore a file ( f M ), which can only be processed correctly by the device.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 102015225651 A1 [0004]DE 102015225651 A1 [0004]

Claims (10)

Verfahren (10) zum Schützen eines Gerätes, gekennzeichnet durch folgende Schritte: - eine Laufzeitumgebung des Gerätes wird individualisiert (20) und - von dem Gerät zu verarbeitende Eingabedaten werden an die individualisierte Laufzeitumgebung angepasst (30).Method (10) for protecting a device, characterized by the following steps: - a runtime environment of the device is individualized (20) and - input data to be processed by the device are adapted to the individualized runtime environment (30). Verfahren (10) nach Anspruch 1, dadurch gekennzeichnet, dass das Individualisieren (10) folgende Schritte umfasst: - mittels eines Zufallszahlengenerators (21) werden zufällige Attribute erzeugt und - die Attribute werden in einer Datenbank (Db) dem Gerät zugeordnet.Method (10) according to Claim 1 , characterized in that the individualizing (10) comprises the following steps: - random attributes are generated by means of a random number generator (21) and - the attributes are assigned to the device in a database (Db). Verfahren (10) nach Anspruch 2, dadurch gekennzeichnet, dass das Individualisieren (20) ferner folgende Schritte umfasst: - ein Quellkode (22) der Laufzeitumgebung wird durch eine Individualisierungsfunktionseinheit (23) anhand der Attribute parametrisiert und - der parametrisierte Quellkode (22) wird in eine gerätespezifische Binärdatei (24) überführt.Method (10) according to Claim 2 , characterized in that the individualizing (20) further comprises the following steps: - a source code (22) of the runtime environment is parameterized by an individualization function unit (23) on the basis of the attributes and - the parameterized source code (22) is converted into a device-specific binary file (24) transferred. Verfahren (10) nach Anspruch 3, dadurch gekennzeichnet, dass das Anpassen (30) folgende Schritte umfasst: - die dem Gerät zugeordneten Attribute werden aus der Datenbank (Db) abgerufen und - eine die Eingabedaten enthaltende Quelldatei (f) wird durch eine Anpassungsfunktionseinheit (31) anhand der Attribute in eine gerätespezifische Datei (fM) überführt.Method (10) according to Claim 3 characterized in that the fitting (30) comprises the steps of: - retrieving the attributes associated with the device from the database (Db); and - including a source file (f) containing the input data by means of an adaptation function unit (31) in terms of attributes Device-specific file (f M ) transferred. Verfahren (10) nach Anspruch 4, gekennzeichnet durch folgendes Merkmal: - die Quelldatei (f) wird in die gerätespezifische Datei (fM) überführt, indem die Attribute in die Quelldatei (f) eingefügt werden.Method (10) according to Claim 4 characterized by the following feature: the source file (f) is transferred to the device-specific file (f M ) by inserting the attributes into the source file (f). Verfahren (10) nach einem der Ansprüche 3 bis 5, gekennzeichnet durch mindestens eines der folgenden Merkmale: - die Attribute umfassen eine Anzahl von Datenblöcken einer magischen Zahl (M), - die Attribute umfassen Dateipositionen von Datenblöcken einer magischen Zahl (M) oder - die Attribute umfassen einen Wert einer magischen Zahl (M).Method (10) according to one of Claims 3 to 5 characterized by at least one of the following features: - the attributes comprise a number of data blocks of a magic number (M), - the attributes comprise file positions of data blocks of a magic number (M) or - the attributes comprise a value of a magic number (M) , Verfahren (10) nach Anspruch 6, gekennzeichnet durch folgende Merkmale: - der Quellkode (22) umfasst Makros und - die Individualisierungsfunktionseinheit umfasst einen Präprozessor.Method (10) according to Claim 6 characterized by the following features: - the source code (22) comprises macros and - the customization functional unit comprises a preprocessor. Computerprogramm, welches eingerichtet ist, das Verfahren (10) nach einem der Ansprüche 1 bis 7 auszuführen.Computer program, which is arranged, the method (10) according to one of Claims 1 to 7 perform. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.Machine-readable storage medium on which the computer program is based Claim 8 is stored. Vorrichtung, die eingerichtet ist, das Verfahren (10) nach einem der Ansprüche 1 bis 7 auszuführen.Apparatus arranged to perform the method (10) according to any one of Claims 1 to 7 perform.
DE102017214591.9A 2017-08-22 2017-08-22 Method and device for protecting a device Pending DE102017214591A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102017214591.9A DE102017214591A1 (en) 2017-08-22 2017-08-22 Method and device for protecting a device
CN201810952209.6A CN109428885B (en) 2017-08-22 2018-08-21 Method and apparatus for protecting a device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017214591.9A DE102017214591A1 (en) 2017-08-22 2017-08-22 Method and device for protecting a device

Publications (1)

Publication Number Publication Date
DE102017214591A1 true DE102017214591A1 (en) 2019-02-28

Family

ID=65320917

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017214591.9A Pending DE102017214591A1 (en) 2017-08-22 2017-08-22 Method and device for protecting a device

Country Status (2)

Country Link
CN (1) CN109428885B (en)
DE (1) DE102017214591A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015225651A1 (en) 2015-12-17 2017-06-22 Robert Bosch Gmbh Method and apparatus for transmitting software

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290149B2 (en) * 2003-03-03 2007-10-30 Microsoft Corporation Verbose hardware identification for binding a software package to a computer system having tolerance for hardware changes
EP2304552B1 (en) * 2008-05-23 2019-11-06 Irdeto B.V. System and method for generating white-box implementations of software applications
DE102010026494A1 (en) * 2010-07-07 2012-01-12 Abb Ag Method for configuring a control device
FR2981174B1 (en) * 2011-10-06 2013-12-20 Thales Sa METHOD FOR DYNAMICALLY CREATING AN ENVIRONMENT FOR EXECUTING AN APPLICATION TO SECURE SUCH APPLICATION, COMPUTER PROGRAM PRODUCT AND COMPUTER APPARATUS THEREFOR
CN104378336A (en) * 2013-08-16 2015-02-25 好看科技(深圳)有限公司 Data processing method and system and server
CN103853943B (en) * 2014-02-18 2017-01-18 广州爱九游信息技术有限公司 program protection method and device
CN106126981B (en) * 2016-08-30 2019-04-02 电子科技大学 Software security means of defence based on the replacement of virtual function table
KR101732679B1 (en) * 2016-09-13 2017-05-04 (주)이공감 Method for managing security data of cyber security management apparatus
CN106649772A (en) * 2016-12-27 2017-05-10 上海上讯信息技术股份有限公司 Method and equipment for accessing data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015225651A1 (en) 2015-12-17 2017-06-22 Robert Bosch Gmbh Method and apparatus for transmitting software

Also Published As

Publication number Publication date
CN109428885B (en) 2022-11-08
CN109428885A (en) 2019-03-05

Similar Documents

Publication Publication Date Title
EP2899714B1 (en) Secure provision of a key
DE102012110499A1 (en) Safety access procedure for electronic automotive control units
DE112012005033B4 (en) Cross-system secure login
EP3111355B1 (en) Method for protecting a computer program from being influenced, and computer system
DE602004009639T2 (en) Method or device for authenticating digital data by means of an authentication plug-in
EP2434424B1 (en) Method for increasing the security of security-relevant online services
DE102016205122A1 (en) Method for exchanging messages between security-relevant devices
EP3937039A1 (en) Method for the extended validation of a container image
DE102016224470A1 (en) Server computer system for providing data records
DE102005046696B4 (en) A method for generating protected program code and method for executing program code of a protected computer program and computer program product
DE102017214591A1 (en) Method and device for protecting a device
EP3798873B1 (en) Method for protecting a computer-implemented application from manipulation
EP2491513B1 (en) Method and system for making edrm-protected data objects available
EP1839136A1 (en) Generation of a program code in a load format and provision of an executable program code
EP3497606A1 (en) Individual encryption of control commands
DE102016224455A1 (en) Database index of several fields
DE102017214584A1 (en) Method and device for protecting a device
EP3251281B1 (en) Intrinsic authentication of program code
DE102019003673B3 (en) Side channel safe implementation
AT524619A1 (en) Computer-implemented method for authorized execution of software, data processing system, computer program product and computer-readable storage medium
EP3633914A1 (en) Method and system for traceable data processing using obfuscation
DE102022122125A1 (en) Method and processor circuit for operating a computer network to locate and protect known security vulnerabilities, as well as computer network, storage medium and motor vehicle
EP1105798A1 (en) Method, array and set of several arrays for protecting several programs and/or files from unauthorized access by a process
EP4332803A1 (en) Method for detecting unauthorized access to user data in a cloud storage
DE102023116901A1 (en) Certificateless authentication of executable programs

Legal Events

Date Code Title Description
R012 Request for examination validly filed