WO2019038052A1 - Verfahren und vorrichtung zum schützen eines gerätes - Google Patents

Verfahren und vorrichtung zum schützen eines gerätes Download PDF

Info

Publication number
WO2019038052A1
WO2019038052A1 PCT/EP2018/071052 EP2018071052W WO2019038052A1 WO 2019038052 A1 WO2019038052 A1 WO 2019038052A1 EP 2018071052 W EP2018071052 W EP 2018071052W WO 2019038052 A1 WO2019038052 A1 WO 2019038052A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
attribute value
attribute
following
interface module
Prior art date
Application number
PCT/EP2018/071052
Other languages
English (en)
French (fr)
Inventor
Paulius Duplys
Heiko BAUR
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 CN201880054442.0A priority Critical patent/CN110945507A/zh
Publication of WO2019038052A1 publication Critical patent/WO2019038052A1/de

Links

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1011Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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

Definitions

  • the present invention relates to a method for protecting a device.
  • the present invention further relates to a corresponding device, a corresponding computer program and a corresponding
  • Vulnerability exploited and the affected computer system can be compromised. Vulnerabilities arise, inter alia, by the
  • DE102015225651A1 discloses a method for protecting a device.
  • an examiner generates a first random number and a second random number, calculates a cryptographic based on the second random number by means of an emulated or previously measured hardware function of the device
  • the software encrypts the key into a cryptogram, sends the cryptogram and the first random number to the device, receives a checksum from the device, calculates a reference from the first random number and a replicated memory of the device using the emulated or previously measured hardware function and a given cryptographic hash function, then checks the checksum of the reference value and, if the test succeeds, send the second random number to the device.
  • the invention provides a method for protecting a device, a
  • 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).
  • IP based camera Even if it finds a exploitable software vulnerability, the unique, randomly generated value of the attribute prevents it from detecting the discovered vulnerability on other devices of the same type
  • 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.
  • DDoS distributed denial of service
  • FIG. 1 shows the flowchart of a method according to an embodiment.
  • Figure 2 schematically shows a first process of the method.
  • FIG. 3 shows schematically a second process of the method.
  • file is used in a broad sense for the input data of a networked device, such as a software update, a multimedia file, or a possibly one
  • 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, and so on.
  • a basic aspect of the invention is to bind a given file to a particular device so that the file can be properly processed (i.e., read and interpreted) only on that intended device.
  • An overview of the method proposed for this purpose is shown in FIG.
  • FUSE in particular is a software interface for Unix-like
  • Interface modules can be taken from the following C source code module: 1 // simple fuse filesystem expecting a fixed prefix in filename
  • This implementation only accepts files whose names have a specific (unique) random prefix - in this example the string "ZQXklUuTlkxQzfcflJtT" - only files with such filenames are recognized as valid in this interface module configuration.
  • the effect of this implementation is shown in the following sequence of Unix command lines and the resulting standard output:
  • a valid file defined by the example FUSE interface module
  • an invalid file with the file name Jllegal.txt
  • the present file system implementation only accepts Files with the prefix "ZQXklUuTLkxQzfcflJtTJ 1 .
  • the valid file may be opened, its contents viewed and processed by any application installed on the device, the attempt to access the invalid file is prevented.
  • a source (21) of (pseudo) randomness is used to generate such a random attribute value (a) for a particular device (d).
  • the attribute selected here can be any attribute of a file stored on the
  • Abstraction level of the interface module is "visible." In addition to the file name prefix used in the example above, it could be
  • it can be the size of the file or a combination of multiple attributes.
  • the attribute value (a) is associated with a unique identifier (identifier, ID) of the respective device (d) and permanently assigned to the device (d) in a database (Db) for a later query. At the same time, the attribute value (a) is as it were "impressed" on the interface module built for the device (d), as in the example above.
  • Adjustment function unit (31) set to the device-specific value or modified accordingly.
  • the result of this step is therefore a file (fd), which can only be processed correctly by the device (d).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

Verfahren (10) zum Schützen eines Gerätes (d), gekennzeichnet durch folgende Merkmale: - ein Dateisystem des Gerätes (d) wird individualisiert (20) und - eine von dem Gerät (d) zu verarbeitende Datei (f) wird an die individualisierte Laufzeitumgebung angepasst (30).

Description

Beschreibung Titel
Verfahren und Vorrichtung zum Schützen eines Gerätes
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.
Stand der Technik
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.
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. 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.
Offenbarung der Erfindung
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.
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.
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.
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. 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 den Wert eines Dateiattributes zuzuordnen, anhand derer Gerät und vorgesehene Datei individualisiert werden.
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 der einzigartige, zufällig generierte Wert des Attributes ihn daran, die entdeckte Sicherheitslücke auf anderen Geräten desselben Typs
auszunutzen.
Gemäß einem weiteren Aspekt kann vorgesehen sein, den zufällig erzeugten Attributwert in einer Datenbank dem jeweiligen Gerät 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, das 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.
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. Kurze Beschreibung der Zeichnungen
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
Figur 1 das Flussdiagramm eines Verfahrens gemäß einer Ausführungsform.
Figur 2 schematisch einen ersten Prozess des Verfahrens.
Figur 3 schematisch einen zweiten Prozess des Verfahrens.
Ausführungsformen der Erfindung
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.
Ein grundlegender Aspekt der Erfindung besteht darin, eine gegebene Datei so an ein bestimmtes Gerät zu binden, dass die Datei ausschließlich auf diesem vorgesehenen Gerät korrekt verarbeitet (d. h. gelesen und interpretiert) werden kann. Eine Übersicht der hierzu vorgeschlagenen Methode ist in Figur 1 dargestellt.
Aus Gründen der Einfachheit sei eine prototypische Umsetzung dieses
Konzeptes nunmehr anhand eines mit Nutzerrechten ausführbaren Dateisystems (Filesystem in Userspace, FUSE) illustriert. Das Prinzip lässt sich leicht an alle anderen Dateizugriffsmechanismen anpassen. Alternative Implementierungen könnten darauf basieren, die Dateizugriffs-Programmierschnittstelle (application Programming interface, API) des Gerätes zu modifizieren oder etwaige in einem ausführbaren und ladbaren Format (executable and linkabie formet, ELF) für den Dateizugriff vorinstaliierte Bibliotheken mittels des LD_PRELOAD-Mechanismus des dynamischen Laders zu ersetzen. Eine auf assoziativer Dateiverwaltung (,. Daten bankdateisysterrf) fußende Implementierung indes mag sich etwa gerätespezifischer SQL-Anweisungen bedienen, ohne den Rahmen der Erfindung zu verlassen.
FUSE im Besonderen ist eine Software-Schnittstelle für Unix-ähnliche
Betriebssysteme, die nicht-privilegierten Benutzern die Erstellung eigener Dateisysteme ohne Bearbeitung des Kernel-Codes erlaubt. Erreicht wird dies durch mit Standardrechten ausgestatteten Dateisystemcode, indem das FUSE- odul lediglich eine Brücke zu den eigentlichen Kernel-Schnittstellen schlägt.
Zu diesem Zweck wird für ein bestimmtes Gerät (d) ein einzigartiges
Schnittstellenmodul erzeugt. Eine mögliche Realisierung dieses
Schnittstellenmodules ist folgendem C-Quelltextmodul zu entnehmen: 1 // simple fuse filesystem expecting a fixed prefix in filename
2 // to open file written by Heiko Baur & Paul Duplys
3 #define FUSE_USE_VERSION 26
4 #include <fuse.h>
5 #include <string.h>
6 #include <sys/types.h>
7 #include <sys/stat.h>
8 #include <unistd.h>
9 #include <dirent.h>
10 #include <errno.h>
1 1 #include <stdio.h>
12 #include <stdarg.h>
13
14 // this string is used in a Single device only
15 #define DEVICE_SPECIFIC_SECRET "ZQXklUuTLkxQzfcflJtT_"
16 #define SHADOW_FOLDER 7tmp/shadow"
17
18 // max file and folder length 19 #define AX_CHAR 512
20
21 // helper returning the current error
22 #define my_error() (-errno)
23
24 static int my__getattr(const char *path, struct stat *stbuf) {
25 char szFiie[ AX_CHAR] = {0};
26 if ( (strcmp(path,".")==0) || (strcmp(path,".,")==0) )
27 return stat( path, stbuf );
28 if (strcmp(path, ")==0) return stat( SHADOW_FOLDER, stbuf );
29 whiie (*path==T) path++;
30 sprintf( szFiie, "%s/%s%s", SHADOW_FOLDER,
DEViCE_SPECIFIC_SECRET, path );
31 return stat( szFiie, stbuf );
32 }
33
34 static int my_readdir(const char *path, void *buf, fuse_fiil_dir_t filier,
35 off_t offset, struct fuse_file_info *fi) {
36 DIR *dp; struct dirent *dirp; char szFolder[MAX_CHAR] = {0};
37 sprintf( szFolder, "%s/%s", SHADOW_FOLDER, path );
38 dp = opendir( szFolder );
39 if (dp==0) return my_error();
40 while ((dirp = readdir(dp)) != NULL) {
41 if ( (strcmp(dirp->d_name,".")==0) || (strcmp(dirp->d_name,".,")==0)K 42 filler(buf, dirp->d_name, NULL, 0);
43 }else{
44 if (strncmp( dirp->d_name, DEVICE_SPECIFIC_SECRET,
strlen(DEVICE_SPECIFIC_SECRET))==0)
45 filler(buf, &dirp->d_name[strlen(DEVICE_SPECIFIC_SECRET)], NULL 0); 46 }
47 }
48 closedir(dp);
49 return 0;
50 }
51 52 static int my_open(const char *path, struct fuse_fiie_info *fi) {
53 char szFile[MAX_CHAR] = {0};
54 whiie(*path==T) path++;
55 sprintf( szFile, "%s/%s%s", SHADOW_FOLDER,
DEVICE_SPECIFIC_SECRET, path );
56 if ((fi->fh = open( szFiie, fi->flags ))<0)
57 return my_error();
58 return 0;
59 }
60
61 static int my_read(const char *path, char *buf, size_t size, off_t offset,
62 struct fuse_file_info *fi) {
63 if (lseek(fi->fh,offset,SEEK_SET)==-1 ) return my_error();
64 return read (fi->fh, buf, size);
65 }
66
67 // override the user functions for the fiesystem
68 static struct fuse_operations fuse_example_operations = {
69 .getattr = my_getat.tr, .open = my_open,
70 .read = my_read, .readdir = my_readdir,
71 };
72
73 // deiegate main call to libfuse
74 int main(int arge, char *argv[]){
75 return fuse_main(argc, argv, &fuse_example_operations, NULL);
76 }
Diese Implementierung akzeptiert nur Dateien, deren Namen ein bestimmtes (eindeutiges) zufälliges Präfix - im vorliegenden Beispiel die Zeichenkette „ZQXklUuTLkxQzfcflJtT" - aufweisen. Nur Dateien mit derartigen Dateinamen werden so in dieser Ausgestaltung des Schnittstellenmodules als gültig anerkannt. Die Wirkung dieser Umsetzung ist der folgenden Sequenz von Unix-Kommandozeilen und der hierdurch hervorgerufenen Standardausgabe zu entnehmen:
1 $> mkdir /tmp/fuse /tmp/shadow/
2 $> echo "illegal file" > /tmp/shadow/illegal.txt
3 $> echo "legal device specific file" >
/tmp/shadow/ZQXklUuTLkxQzfcflJtT_legal.txt
4 $> Is -al /tmp/fuse/
5 total 16
6 drwxrwxr-x 2 hba2pl hba2pl 4096 Mar 4 21 :41 .
7 drwxrwxrwt 13 root root 12288 Mar 4 21 :41 ..
8 $> Is -al /tmp/shadow/
9 total 24
10 drwxrwxr-x 2 hba2pl hba2pl 4096 Mar 4 21 :43 .
1 1 drwxrwxrwt 13 root root 12288 Mar 4 21 :43 ..
12 -rw-rw-r— 1 hba2pl hba2pl 13 Mar 4 21 :42 illegal.txt
13 -rw-rw-r— 1 hba2pl hba2pl 27 Mar 4 21 :43 ZQXklUuTLkxQzfcflJtT_legal.txt
14 $> # now starting the fuse filesystem mapping /tmp/shadow to /tmp/fuse
15 $> ./secretfs /tmp/fuse/
16 $> # there only the legal files will appear without the prefix
17 $> Is -al /tmp/fuse/
18 total 8
19 drwxrwxr-x 2 hba2pl hba2pl 4096 Mar 4 21 :43 .
20 -rw-rw-r— 1 hba2pl hba2pl 27 Mar 4 21 :43 legal.txt
21 $> cat /tmp/fuse/legal.txt
22 legal device specific file
23 $> # trying to access the illegal file will fail
24 $> cat /tmp/fuse/ illegal.txt
25 cat: /tmp/fuse/illegal.txt: Operation not permitted
Zu Demonstrationszwecken dienen hier zwei Dateien: eine (per Definition des beispielhaften FUSE-Schnittstellenmoduls) gültige Datei mit dem Dateinamen „ZQXkl U uTLkxQzfcfl JtTJegal .txf und eine ungültige Datei mit dem Dateinamen Jllegal.txt". Die vorliegende Implementierung des Dateisystems akzeptiert nur Dateien mit dem Präfix„ZQXklUuTLkxQzfcflJtTJ1. Während also die gültige Datei geöffnet, ihr Inhalt betrachtet und mittels beliebiger auf dem Gerät installierter Anwendungen verarbeitet werden kann, wird der Versuch eines Zugriffes auf die ungültige Datei verhindert.
In einem in Figur 2 gezeigten Geräteindividualisierungsschritt (Prozess 20) wird eine Quelle (21 ) von (Pseudo-)Zufälligkeit verwendet, um solch einen zufälligen Attributwert (a) für ein bestimmtes Gerät (d) zu erzeugen. Das hierbei gewählte Attribut kann ein beliebiges Attribut einer Datei sein, das auf der
Abstraktionsebene des Schnittstellenmodules„sichtbar" ist. Neben dem im obigen Beispiel verwendeten Präfix des Dateinamens könnte es sich
beispielsweise um die Größe der Datei oder eine Kombination aus mehreren Attributen handeln.
Der Attributwert (a) wird mit einer eindeutigen Kennung (identifier, ID) des jeweiligen Gerätes (d) assoziiert und dem Gerät (d) auf diese Weise in einer Datenbank (Db) für eine spätere Abfrage dauerhaft zugeordnet. Gleichzeitig wird der Attributwert (a) dem Schnittstellenmodul, das für das Gerät (d) gebaut wird, wie im obigen Beispiel gleichsam„eingeprägt".
Angenommen sei nun der Fall, dass z. B. ein Software-Update durchgeführt werden soll, während sich das Gerät (d) im Einsatz befindet. Dann wird in einem in Figur 3 gezeigten Dateianpassungsschritt (30) der Attributwert (a) für das Gerät (d) aus der Datenbank (Db) abgerufen. Das betreffende Attribut der Datei (f), die an das Gerät (d) gebunden werden soll, wird von einer
Anpassungsfunktionseinheit (31 ) auf den gerätespezifischen Wert gesetzt oder entsprechend modifiziert. Das Ergebnis dieses Schrittes ist also eine Datei (fd), die nur vom Gerät (d) korrekt verarbeitet werden kann.

Claims

Ansprüche
1. Verfahren (10) zum Schützen eines Gerätes (d),
gekennzeichnet durch folgende Schritte:
- ein Dateisystem des Gerätes (d) wird individualisiert (20) und
- eine von dem Gerät (d) zu verarbeitende Datei (f) wird an die individualisierte Laufzeitumgebung angepasst (30).
2. Verfahren (10) nach Anspruch 1,
dadurch gekennzeichnet, dass
das Individualisieren (10) folgende Schritte umfasst:
- mittels eines Zufallszahlengenerators (21) wird ein zufälliger Attributwert (a) erzeugt und
- der Attributwert (a) wird in einer Datenbank (Db) dem Gerät (d)
zugeordnet.
3. Verfahren (10) nach Anspruch 2,
dadurch gekennzeichnet, dass
das Individualisieren (20) ferner folgende Schritte umfasst:
- ein Quellkode (22) des Dateisystems wird durch eine
Individualisierungsfunktionseinheit (23) anhand des Attributwertes (a) parametrisiert und
- der parametrisierte Quellkode (22) wird in ein gerätespezifisches Schnittstellenmodul überführt.
4. Verfahren (10) nach Anspruch 3,
dadurch gekennzeichnet, dass
das Anpassen (30) folgende Schritte umfasst:
- der dem Gerät (d) zugeordnete Attributwert (a) wird aus der Datenbank (Db) abgerufen und - die Datei (f) wird durch eine Anpassungsfunktionseinheit (31) anhand des Attributwertes (a) in eine gerätespezifische Datei (fd) überführt.
5. Verfahren (10) nach Anspruch 4,
gekennzeichnet durch folgendes Merkmal:
- die Datei (f) wird in die gerätespezifische Datei (fd) überführt, indem der Attributwert (a) einem Attribut der Datei (f) zugewiesen wird.
6. Verfahren (10) nach einem der Ansprüche 3 bis 5,
gekennzeichnet durch mindestens eines der folgenden Merkmale:
- das Attribut umfasst einen Namen der Datei (f) oder
- das Attribut umfasst eine Größe der Datei (f).
7. Verfahren (10) nach einem der Ansprüche 3 bis 6,
gekennzeichnet durch mindestens eines der folgenden Merkmale:
- das Schnittstellenmodul umfasst ein Treibermodul,
- das Schnittstellenmodul umfasst eine Programmierschnittstelle,
- das Schnittstellenmodul umfasst eine dynamische Bibliothek oder
- das Schnittstellenmodul umfasst eine Datenbankabfrage.
8. Computerprogramm, welches eingerichtet ist, das Verfahren (10) nach einem der Ansprüche 1 bis 7 auszuführen.
9. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.
10. Vorrichtung, die eingerichtet ist, das Verfahren (10) nach einem der Ansprüche 1 bis 7 auszuführen.
PCT/EP2018/071052 2017-08-22 2018-08-02 Verfahren und vorrichtung zum schützen eines gerätes WO2019038052A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201880054442.0A CN110945507A (zh) 2017-08-22 2018-08-02 用于保护设备的方法和装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102017214584.6A DE102017214584A1 (de) 2017-08-22 2017-08-22 Verfahren und Vorrichtung zum Schützen eines Gerätes
DE102017214584.6 2017-08-22

Publications (1)

Publication Number Publication Date
WO2019038052A1 true WO2019038052A1 (de) 2019-02-28

Family

ID=63113536

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2018/071052 WO2019038052A1 (de) 2017-08-22 2018-08-02 Verfahren und vorrichtung zum schützen eines gerätes

Country Status (3)

Country Link
CN (1) CN110945507A (de)
DE (1) DE102017214584A1 (de)
WO (1) WO2019038052A1 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002001334A2 (en) * 2000-06-27 2002-01-03 Microsoft Corporation System and method for interfacing a software process to secure repositories
EP1469369A2 (de) * 2003-03-03 2004-10-20 Microsoft Corporation Ausführliche Identifizierung von Hardware zur Verbindung der Software mit einem änderungstolerantem Computersystem
US20110067012A1 (en) * 2008-05-23 2011-03-17 Irdeto Canada Corporation System and method for generating white-box implementations of software applications
DE102015225651A1 (de) 2015-12-17 2017-06-22 Robert Bosch Gmbh Verfahren und Vorrichtung zum Übertragen einer Software

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100479004C (zh) * 2005-05-27 2009-04-15 佛山市顺德区顺达电脑厂有限公司 文件保密方法
CN102214282A (zh) * 2011-05-27 2011-10-12 苏州海客科技有限公司 一种适合于便携式系统中多媒体数据文件的保护方法
CN103401931B (zh) * 2013-08-05 2017-07-25 天闻数媒科技(湖南)有限公司 一种下载文件的方法和系统
CN106446715A (zh) * 2016-10-11 2017-02-22 武汉斗鱼网络科技有限公司 一种文件加密方法和装置
CN106845231B (zh) * 2016-12-30 2020-05-19 北京瑞星网安技术股份有限公司 基于虚拟化环境下的安全防护方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002001334A2 (en) * 2000-06-27 2002-01-03 Microsoft Corporation System and method for interfacing a software process to secure repositories
EP1469369A2 (de) * 2003-03-03 2004-10-20 Microsoft Corporation Ausführliche Identifizierung von Hardware zur Verbindung der Software mit einem änderungstolerantem Computersystem
US20110067012A1 (en) * 2008-05-23 2011-03-17 Irdeto Canada Corporation System and method for generating white-box implementations of software applications
DE102015225651A1 (de) 2015-12-17 2017-06-22 Robert Bosch Gmbh Verfahren und Vorrichtung zum Übertragen einer Software

Also Published As

Publication number Publication date
CN110945507A (zh) 2020-03-31
DE102017214584A1 (de) 2019-02-28

Similar Documents

Publication Publication Date Title
DE102007033615B4 (de) Verfahren und Vorrichtung zum Umwandeln von Authentisierungs-Token zur Ermöglichung von Interaktionen zwischen Anwendungen
DE102008021567B4 (de) Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
DE69926970T2 (de) Selbstschützende Dokumente
DE69926459T2 (de) Verfahren und vorrichtung zur umlenkung von serverexternen hyperlink-referenzen
DE69936384T2 (de) System und verfahren für die sicherheit eines kodes
DE60219706T2 (de) Verfahren und Vorrichtung zum Anfügen einer elektronischen Unterschrift an ein strukturiertes Dokument
DE102013203126B4 (de) System, Verfahren und Programmprodukt zum transparenten Zugreifen auf verschlüsselte nicht-relationale Daten in Echtzeit
DE102012213807A1 (de) Steuerung des Lightweight-Dokumentenzugriffs mithilfe von Zugriffskontrolllisten im Cloud-Speicher oder auf dem lokalen Dateisystem
DE112011103164T5 (de) Datenverteilungsvorrichtung, Datenverteilungssystem, Client-Vorrichtung, Datenverteilungsverfahren, Datenempfangsverfahren, Programm und Datenträger,
DE10126752A1 (de) Virusprüfung und -meldung für Suchergebnisse von Computerdatenbanken
EP2232366A2 (de) Verfahren, system und simulations- bzw. analysemodell zur datenverarbeitung
DE112017004160T5 (de) Schützen eines Webservers vor einer nicht autorisierten Client-Anwendung
DE112021004008T5 (de) Validieren von verfolgten abschnitten von empfangenen sensordaten mithilfe von kryptographischer computerverarbeitung
DE19953055C2 (de) Vorrichtung und Verfahren zur geschützten Ausgabe eines elektronischen Dokuments über ein Datenübertragungsnetz
DE102009054128A1 (de) Verfahren und Vorrichtung zum Zugriff auf Dateien eines sicheren Fileservers
EP1164475A2 (de) Verfahren zur Installation von Software in einer Hardware
WO2003025758A2 (de) Vorrichtung und verfahren zur etablierung einer sicherheitspolitik in einem verteilten system
EP3576001A1 (de) Computerimplementiertes verfahren zum übergeben eines datenstrings von einer anwendung an eine datenschutzeinrichtung
DE112012000780B4 (de) Verarbeiten von Berechtigungsprüfungsdaten
WO2019038052A1 (de) Verfahren und vorrichtung zum schützen eines gerätes
EP1839136A1 (de) Erzeugen von programmcode in einem ladeformat und bereitstellen von ausf]hrbarem programmcode
DE102005046696B4 (de) Verfahren zum Erzeugen von geschütztem Programmcode und Verfahren zum Ausführen von Programmcode eines geschützten Computerprogramms sowie Computerprogrammprodukt
WO2015074745A1 (de) Verfahren, vorrichtungen und system zur online-datensicherung
DE10046437A1 (de) Identifizierungsverfahren in einem Rechnernetzwerk
DE60211900T2 (de) Verfahren und vorrichtung zur bewahrung von sicherer dateneingabe und datenausgabe

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18750411

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18750411

Country of ref document: EP

Kind code of ref document: A1