[go: up one dir, main page]

DE102018005102A1 - Adaptive security updates for applications - Google Patents

Adaptive security updates for applications Download PDF

Info

Publication number
DE102018005102A1
DE102018005102A1 DE102018005102.2A DE102018005102A DE102018005102A1 DE 102018005102 A1 DE102018005102 A1 DE 102018005102A1 DE 102018005102 A DE102018005102 A DE 102018005102A DE 102018005102 A1 DE102018005102 A1 DE 102018005102A1
Authority
DE
Germany
Prior art keywords
control commands
attack
security
app
unauthorized access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102018005102.2A
Other languages
German (de)
Inventor
Daniel Albert
Georg Depta
Gabriel Goller
Bernt Jungwirth
Helmut Schuster
Kiki Wöhl
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.)
Build38 GmbH
Original Assignee
Build38 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 Build38 GmbH filed Critical Build38 GmbH
Priority to DE102018005102.2A priority Critical patent/DE102018005102A1/en
Publication of DE102018005102A1 publication Critical patent/DE102018005102A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

Die vorliegende Erfindung ist gerichtet auf ein Verfahren zum iterativen und angriffsspezifischen Verschleiern von Steuerbefehlen, welches es ermöglicht, dass Steuerbefehle bereits während ihres Ausführens gegen sicherheitskritische Zugriffe geschützt werden können. Das Verfahren wird derart fortlaufend durchgeführt, dass stets auf neue Angriffe reagiert werden kann und somit iterativ die Steuerbefehle abgesichert werden können. Die vorliegende Erfindung ist ferner gerichtet auf eine entsprechend eingerichtete Rechneranordnung sowie auf ein Computerprogrammprodukt mit Steuerbefehlen, welche das Verfahren ausführen bzw. die Rechneranordnung betreiben.The present invention is directed to a method for iterative and attack-specific concealment of control commands, which enables control commands to be protected against security-critical accesses as soon as they are executed. The method is carried out continuously in such a way that new attacks can always be reacted to and the control commands can be iteratively secured. The present invention is also directed to a correspondingly configured computer arrangement and to a computer program product with control commands which execute the method or operate the computer arrangement.

Description

Die vorliegende Erfindung ist auf ein Verfahren zum iterativen und angriffsspezifischen Verschleiern von Steuerbefehlen gerichtet, welches es ermöglicht, dass Steuerbefehle bereits während ihres Ausführens gegen sicherheitskritische Zugriffe geschützt werden können. Das Verfahren wird derart fortlaufend durchgeführt, dass stets auf neue Angriffe reagiert werden kann und somit iterativ die Steuerbefehle abgesichert werden können. Die vorliegende Erfindung ist ferner gerichtet auf eine entsprechend eingerichtete Rechneranordnung sowie auf ein Computerprogrammprodukt mit Steuerbefehlen, welche das Verfahren ausführen bzw. die Rechneranordnung betreiben.The present invention is directed to a method for iterative and attack-specific concealment of control commands, which enables control commands to be protected against security-critical accesses as soon as they are executed. The method is carried out continuously in such a way that new attacks can always be reacted to and the control commands can be iteratively secured. The present invention is also directed to a correspondingly configured computer arrangement and to a computer program product with control commands which execute the method or operate the computer arrangement.

US 2012 0284791 A1 zeigt ein Verfahren zum Priorisieren von Anomalien in Daten sowie ein automatisches Ausführen des Verfahrens auf einem Computersystem. Hierbei werden iterativ Tests durchgeführt. US 2012 0284791 A1 shows a method for prioritizing anomalies in data and an automatic execution of the method on a computer system. Here tests are carried out iteratively.

US 2005 0004863 A1 zeigt ein Verfahren zum Bewerten und Verwalten von Sicherheitsrisiken in einem Computersystem und ein entsprechendes Abwenden der Gefahren. US 2005 0004863 A1 shows a method for assessing and managing security risks in a computer system and averting the risks accordingly.

US 2006 0031686 A1 zeigt ein Verfahren zum Absichern von Applikationscode, wobei ein Verschleiern eines Quellcodes zum Einsatz kommt. Generell ist das Verschleiern eines Quellcodes als ein Obfuscating bekannt. US 2006 0031686 A1 shows a method for securing application code, whereby obfuscation of a source code is used. In general, obscuring source code is known as obfuscating.

Gemäß bekannter Anwendungsszenarien der vorliegenden Erfindung werden Applikationen, sogenannte „Apps“, für Mobilgeräte entwickelt und sodann auf einem zentralen Server, auch „AppStore“ genannt, bereitgestellt. Hierbei ist es möglich, dass die Applikationen bzw. Apps sicherheitskritische Merkmale aufweisen, wie z. B. einen kryptographischen Schlüssel, der zur Authentisierung der App gegenüber einem Server genutzt wird. So kann es sich bei der Applikation beispielsweise um eine Banking-App handeln, bei der sicherheitskritische Daten über eine Netzwerkschnittstelle mit einem zentralen Server ausgetauscht werden. Auch können auf einem mobilen Endgerät unterschiedliche biometrische Daten und Passwörter abgespeichert werden.According to known application scenarios of the present invention, applications, so-called “apps”, are developed for mobile devices and then made available on a central server, also called “app store”. It is possible that the applications or apps have security-critical features, such as. B. a cryptographic key that is used to authenticate the app to a server. For example, the application can be a banking app in which security-critical data is exchanged with a central server via a network interface. Different biometric data and passwords can also be stored on a mobile device.

Applikationen sind in ihrem Originalzustand, d. h. als Quellcode, sehr leicht angreifbar, und es ist beispielsweise möglich, aus einer .apk, also einer Applikationsdatei, aus dem vorhandenen Java Byte Code wieder den Java-Quelltext zu erstellen. Zwar sind Methoden- und Variablennamen dann generisch, aber Algorithmen und verwendete Daten sind wieder einsehbar. Ein solches Vorgehen wird generell als ein Dekompilieren bezeichnet. Hierbei wird eine kompilierte maschinenlesbare Datei wieder in ihren Originalzustand zurückgeführt, und es werden die entsprechenden Steuerbefehle menschenlesbar. Folglich ist es Angreifern möglich, sicherheitskritische Information aus diesen Steuerbefehlen auszulesen.Applications are in their original condition, i.e. H. as source code, very easy to attack, and it is possible, for example, to create the Java source code from an .apk, ie an application file, from the existing Java byte code. Method and variable names are then generic, but algorithms and data used can be viewed again. Such an approach is generally referred to as decompiling. Here, a compiled machine-readable file is restored to its original state, and the corresponding control commands become human-readable. As a result, attackers can read security-critical information from these control commands.

Zum Absichern von Steuerbefehlen ist es bekannt, sicherheitskritische Bestandteile der Steuerbefehle bzw. eine Auswahl der Steuerbefehle durch geeignete Maßnahmen zu schützen, wie beispielsweise die Verwendung von kryptographischen Schlüsseln oder dem sogenannten Code Obfuscation, wobei unterschiedliche Techniken zum Einsatz kommen können. Andere digitale Inhalte, wie beispielsweise Bilder oder Texte, können durch eine gewisse Codierung verschlüsselt werden oder eben auch kryptographisch verschlüsselt werden.To secure control commands, it is known to protect security-critical components of the control commands or a selection of the control commands by suitable measures, such as the use of cryptographic keys or the so-called code obfuscation, whereby different techniques can be used. Other digital content, such as images or texts, can be encrypted by a certain coding or can also be cryptographically encrypted.

Generell weist der Stand der Technik den Nachteil auf, dass Applikationen von einem Entwickler einmalig erstellt werden und sodann verschlüsselt bzw. abgesichert in einem sogenannten AppStore zum Download bereitgestellt werden können. Hierdurch wird es verpasst, auf sicherheitskritische Zugriffe zu reagieren, welche beispielsweise zur Laufzeit der entsprechenden Applikation auftreten. Oftmals kommt es hierbei zu Sicherheitslücken, da der kompilierte Quellcode von einem Server abgerufen wird und sodann eben genau in dieser Form beim Endkunden zur Ausführung gebracht wird. Nach einer Installation der kompilierten Steuerbefehle können somit unberechtigte Zugriffe bzw. Angriffe stattfinden, welche erst manuell erkannt werden müssen, und sodann wird der Entwickler manuell beauftragt, eine neue Version der Steuerbefehle bereitzustellen, welche entsprechend geschützt ist.In general, the prior art has the disadvantage that applications are created once by a developer and can then be made available for download in encrypted or secured form in a so-called AppStore. As a result, it is missed to react to security-critical accesses that occur, for example, during the runtime of the corresponding application. There are often security gaps here, since the compiled source code is called up from a server and then executed in exactly this form by the end customer. After installation of the compiled control commands, unauthorized accesses or attacks can take place, which must first be recognized manually, and then the developer is manually commissioned to provide a new version of the control commands, which is appropriately protected.

Insbesondere ist es besonders nachteilig, dass gemäß herkömmlicher Verfahren Sicherheitsupdates oftmals sehr lange dauern und dass in der Zeit von einem Detektieren eines Angriffs bis zur Behebung der Sicherheitslücke weitere unberechtigte Zugriffe stattfinden können. Außerdem schwächt ein solches Vorgehen die Benutzerakzeptanz, da Sicherheitslücken oftmals öffentlich werden und somit Benutzer nicht bereit sind, entsprechende sicherheitskritische Applikationen aufzuspielen und zu verwenden.In particular, it is particularly disadvantageous that, in accordance with conventional methods, security updates often take a very long time and that further unauthorized access can take place in the time from the detection of an attack to the rectification of the security gap. In addition, such a procedure weakens user acceptance, since security gaps often become public and users are therefore unwilling to deploy and use appropriate security-critical applications.

Es ist somit eine Aufgabe der vorliegenden Erfindung, ein Verfahren bereitzustellen, welches es ermöglicht, dass Steuerbefehle möglichst gut geschützt sind und kein unberechtigter Zugriff darauf gewährt werden kann. Insbesondere soll das vorgeschlagene Verfahren mit geringem technischen Aufwand ausführbar sein und möglichst zeitnah Sicherheitslücken schließen. Ferner ist es eine Aufgabe der vorliegenden Erfindung, eine entsprechende Rechneranordnung bereitzustellen sowie ein Computerprogrammprodukt mit Steuerbefehlen, welche das vorgeschlagene Verfahren implementieren bzw. die Rechneranordnung betreiben.It is therefore an object of the present invention to provide a method which enables control commands to be protected as well as possible and no unauthorized access to them can be granted. In particular, the proposed method should be executable with little technical effort and close security gaps as soon as possible. Furthermore, it is an object of the present invention to provide a corresponding computer arrangement and a computer program product with control commands, which the implement the proposed method or operate the computer arrangement.

Die Aufgabe wird gelöst mit den Merkmalen der unabhängigen Ansprüche. Weitere vorteilhafte Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.The object is achieved with the features of the independent claims. Further advantageous configurations are specified in the dependent claims.

Demgemäß wird ein Verfahren zum iterativen und angriffsspezifischen Verschleiern von Steuerbefehlen vorgeschlagen, umfassend ein Übermitteln von Steuerbefehlen an eine Absicherungseinheit, welche die Steuerbefehle in Abhängigkeit einer Absicherungskonfiguration derart verändert, dass ein unberechtigter Zugriff auf die Steuerbefehle erschwert wird, ein automatisches Erkennen des unberechtigten Zugriffs auf die Steuerbefehle mitsamt eines Erstellens einer Angriffsdokumentation, wobei ein Anpassen der Absicherungskonfiguration in Abhängigkeit der Angriffsdokumentation und ein erneutes Verändern der Steuerbefehle durchgeführt werden.Accordingly, a method for iterative and attack-specific concealment of control commands is proposed, comprising transmitting control commands to a security unit, which changes the control commands depending on a security configuration in such a way that unauthorized access to the control commands is made difficult, automatic detection of unauthorized access to the control commands Control commands together with the creation of an attack documentation, with the security configuration being adapted as a function of the attack documentation and the control commands being changed again.

Der Fachmann erkennt hierbei, dass einzelne Verfahrensschritte iterativ ausgeführt werden können und insbesondere Unterschritte aufweisen können. So kann das Übermitteln von Steuerbefehlen mehrfach ausgeführt werden, und das automatische Erkennen des unberechtigten Zugriffs erfolgt derart, dass die Steuerbefehle stetig überwacht werden können. Das vorliegende Verfahren kann derart iterativ durchgeführt werden, dass nach einem erneuten Verändern der Steuerbefehle diese wieder überprüft werden und somit ein automatisches Erkennen des unberechtigten Zugriffs erfolgt.The person skilled in the art recognizes here that individual method steps can be carried out iteratively and in particular can have substeps. The transmission of control commands can thus be carried out several times, and the automatic detection of the unauthorized access takes place in such a way that the control commands can be continuously monitored. The present method can be carried out iteratively in such a way that after the control commands are changed again, they are checked again and the unauthorized access is thus automatically recognized.

Das vorliegende Verfahren ist angriffsspezifisch, da in Abhängigkeit der detektierten Angriffe ein Reagieren erfolgt, welches auf die einzelnen Angriffe abstellt und sodann geeignete Schutzmaßnahmen implementiert. Bei einem Verschleiern von Steuerbefehlen handelt es sich um eine Absicherung von Steuerbefehlen gegen einen unberechtigten Zugriff. Dies kann derart erfolgen, dass eine kryptographische Funktion Anwendung findet oder aber das sogenannte Code Obfuscation. Durch das Verschleiern wird es einem Angreifer nicht mehr möglich, die Steuerbefehle auszulesen bzw. abzuändern. Zwar werden die Steuerbefehle weiterhin vorgehalten, diese werden aber mit Sicherheitsmechanismen erweitert oder selbst angepasst. So kann beispielsweise das Verändern der Steuerbefehle darin bestehen, dass eine weitere Signatur hinzugefügt wird oder aber die Steuerbefehle verschlüsselt werden. Im vorliegenden Verfahren ist es auch möglich, unterschiedliche Absicherungen zu kombinieren und somit die Steuerbefehle zu verschleiern bzw. abzusichern.The present method is attack-specific since, depending on the detected attacks, there is a reaction which is based on the individual attacks and then implements suitable protective measures. Concealing control commands is a way of protecting control commands against unauthorized access. This can be done in such a way that a cryptographic function is used or so-called code obfuscation. Due to the obfuscation it is no longer possible for an attacker to read out or change the control commands. The control commands are still available, but they are expanded with security mechanisms or adapted themselves. For example, the control commands can be changed by adding a further signature or by encrypting the control commands. In the present method, it is also possible to combine different safeguards and thus to disguise or safeguard the control commands.

Die Steuerbefehle werden von einem Entwickler bzw. dessen Rechenanlage, an eine Absicherungseinheit übermittelt, welche beispielsweise als ein Server vorliegen kann. Dies entspricht einem gängigen Szenario, bei dem der Entwickler eine Applikation erstellt und diese an eine zentrale Instanz zur Absicherung übermittelt. Hierzu stellt der Entwickler eine Absicherungskonfiguration bereit, welche angibt, wie die Steuerbefehle genau abzusichern sind. Dies kann derart erfolgen, dass ein sogenannter Seed bereitgestellt wird, der Ausgangspunkt für ein kryptographisches Verfahren ist. Ferner ist es möglich, dass der Entwickler besonders sicherheitskritische Steuerbefehle identifiziert und diese bei der Absicherungseinheit mittels der Absicherungskonfiguration angibt. So ist es möglich, dass weniger sicherheitskritische Steuerbefehle eben auch effizienter abgesichert werden und sicherheitskritische Steuerbefehle mit komplexen Rechenoperationen abgesichert werden. Auch kann dem Entwickler eine Auswahlmöglichkeit an Absicherungsmöglichkeiten angeboten werden. So kann er kryptographische Verfahren wählen oder aber auch ein Code Obfuscation auswählen. Wie bereits angeführt, ist es hierbei möglich, mehrere Sicherheitsmechanismen zu kombinieren.The control commands are transmitted from a developer or his computer system to a security unit, which can be present, for example, as a server. This corresponds to a common scenario in which the developer creates an application and transmits it to a central instance for protection. For this purpose, the developer provides a protection configuration that specifies how the control commands are to be protected exactly. This can be done in such a way that a so-called seed is provided, which is the starting point for a cryptographic method. It is also possible for the developer to identify control commands that are particularly critical to safety and to indicate them to the security unit by means of the security configuration. It is thus possible for less safety-critical control commands to be safeguarded more efficiently and for safety-critical control commands to be safeguarded with complex arithmetic operations. The developer can also be offered a choice of protection options. He can choose cryptographic methods or choose code obfuscation. As already mentioned, it is possible to combine several security mechanisms.

Generell ist es vorteilhaft, dass gemäß der vorliegenden Erfindung ein unberechtigter Zugriff auf die Steuerbefehle erschwert wird, was insbesondere darauf abstellt, dass der unberechtigte Zugriff vermieden wird. Da dies in der Praxis jedoch typischerweise nicht möglich ist, wird davon ausgegangen, dass die Steuerbefehle mindestens derart abgesichert werden, dass sich gegenüber nicht-veränderten Steuerbefehlen bezüglich ihrem Zugriff für einen unberechtigten Dritten eingeschränkt sind. Somit erfolgt also ein Erschweren eines unberechtigten Zugriffs, da typischerweise ein Verhindern eines unberechtigten Zugriffs nicht möglich ist.In general, it is advantageous that, according to the present invention, unauthorized access to the control commands is made more difficult, which is particularly based on the fact that unauthorized access is avoided. However, since this is typically not possible in practice, it is assumed that the control commands are at least safeguarded in such a way that their access to an unauthorized third party is restricted compared to unchanged control commands. This means that unauthorized access is made more difficult, since it is typically not possible to prevent unauthorized access.

Bei einem unberechtigten Zugriff kann es sich um einen Zugriff eines unberechtigten Dritten handeln, der versucht, sicherheitskritische Information aus den Steuerbefehlen auszulesen oder gar die Steuerbefehle zu manipulieren. So bestehen Techniken, welche es ermöglichen, dass identifiziert wird, ob ein Steuerbefehl bzw. eine Mehrzahl von Steuerbefehlen geändert wurde. Versucht ein unberechtigter Dritter die Steuerbefehle beispielsweise derart abzuändern, dass unberechtigt Daten geschrieben werden können, so wird dies erkannt und dadurch darauf reagiert, dass dieser Angriff dokumentiert wird und eine entsprechende Absicherungskonfiguration modifiziert wird. Sodann kann der Steuerbefehl bzw. die relevanten Steuerbefehle derart angepasst werden, dass ein solches Schreiben nicht mehr möglich ist.An unauthorized access can be an access by an unauthorized third party who tries to read security-critical information from the control commands or even manipulate the control commands. Thus there are techniques which make it possible to identify whether a control command or a plurality of control commands has been changed. If, for example, an unauthorized third party tries to change the control commands in such a way that data can be written without authorization, this is recognized and a reaction is given to this attack being documented and a corresponding security configuration being modified. The control command or the relevant control commands can then be adapted in such a way that such writing is no longer possible.

Ein automatisches Erkennen des unberechtigten Zugriffs auf die Steuerbefehle kann derart erfolgen, dass vorab spezifiziert wird, welche Operationen auf den Steuerbefehlen möglich sind. So können Berechtigungen gesetzt werden, die es ermöglichen, die Steuerbefehle auszuführen bzw. zu überschreiben.Automatic detection of the unauthorized access to the control commands can take place in such a way that it is specified in advance which operations on the control commands are possible. So can Permissions are set that make it possible to execute or overwrite the control commands.

Hat ein unberechtigter Dritter solche Zugriffsrechte nicht, so wird davon ausgegangen, dass ein Angriff vorliegt. Dies kann sodann unterbunden werden, da die Steuerbefehle erneut angepasst werden. Wird ein unberechtigter Zugriff erkannt, so kann eine Fehlerroutine gestartet werden und der Zugriff kann verweigert werden. Dies könnte jedoch auch ein Angreifer bemerken, und somit ist es auch möglich, abgefälschte Daten auszugeben und hierdurch dafür zu sorgen, dass der Angreifer ein ordnungsgemäßes Ausführen der Steuerbefehle vermutet.If an unauthorized third party does not have such access rights, it is assumed that an attack has occurred. This can then be prevented since the control commands are adjusted again. If an unauthorized access is recognized, an error routine can be started and access can be denied. However, this could also be noticed by an attacker, and it is therefore also possible to output falsified data, thereby ensuring that the attacker suspects that the control commands have been executed correctly.

Generell ist es möglich, einen unberechtigten Zugriff dadurch zu erkennen, dass eine entsprechende Monitorfunktion eingerichtet wird, die beispielsweise Prüfsummen über die Steuerbefehle berechnet, oder aber die Steuerbefehle mit Referenzsteuerbefehlen vergleicht. So ist es möglich, die Steuerbefehle auf ein mobiles Endgerät aufzuspielen und gelegentlich mit zu erwartenden, validen Steuerbefehlen zu vergleichen. Auch können Testroutinen gestartet werden, welche Parameter an die Steuerbefehle übergeben und sodann abprüfen, ob der zurückgegebene berechnete Wert einem erwarteten Wert entspricht.In general, it is possible to identify unauthorized access by setting up a corresponding monitor function, which, for example, calculates checksums via the control commands, or compares the control commands with reference control commands. This makes it possible to upload the control commands to a mobile device and occasionally compare them with expected, valid control commands. Test routines can also be started which transfer parameters to the control commands and then check whether the returned calculated value corresponds to an expected value.

Wird ein Angriff erkannt, so wird eine Angriffsdokumentation erstellt, welche Aufschluss darüber gibt, welche Operationen ausgeführt wurden und insbesondere, welche Steuerbefehle manipuliert wurden. So kann generell ein sogenanntes Logging ausgeführt werden, welches eine Dokumentation des Ausführens und Veränderns von Steuerbefehlen mitprotokolliert und sodann im Falle eines Angriffs feststellt, welche Operationen dem Angriff zuzuordnen sind.If an attack is detected, an attack documentation is created which provides information about which operations were carried out and in particular which control commands were manipulated. So-called logging can generally be carried out, which logs documentation of the execution and modification of control commands and then, in the event of an attack, determines which operations are to be assigned to the attack.

Folglich ist es auch möglich, bestimmte Angriffsmuster wiederzuerkennen und sodann derart zu reagieren, dass eine Fehlerbehandlungsroutine gestartet wird, die die Steuerbefehle wieder dahingehend verändert, dass diese vor einem solchen Angriff geschützt sind. Eine einfache Fehlerbehandlung ist diejenige, dass der dokumentierte Angriff einfach rückgängig gemacht wird. Additiv ist es vorteilhaft, eine geänderte Signatur an die Mehrzahl der Steuerbefehle anzufügen oder die Steuerbefehle erneut kryptographisch abzusichern. Hierbei ist es vorteilhaft, einen neuen Startwert, auch Seed genannt, zu verwenden. Folglich kann erkannt werden, dass ein Angreifer die Steuerbefehle entschlüsselt hat, und sodann erfolgt unter Verwendung eines anderen Startwerts bzw. einer anderen Verschlüsselungstechnik ein erneutes Verschlüsseln und die geänderten Steuerbefehle werden in der nunmehr abgesicherten Version auf das mobile Endgerät aufgespielt. Somit hat der Angreifer lediglich eine alte Version der Steuerbefehle geknackt und hat keinerlei Zugriffe auf die neue Version der Steuerbefehle. Folglich kann die alte Version der Steuerbefehle deaktiviert werden, so dass kein Schaden mehr angerichtet werden kann.Consequently, it is also possible to recognize certain attack patterns and then react in such a way that an error handling routine is started which changes the control commands again in such a way that they are protected against such an attack. A simple error handling is that the documented attack is simply reversed. Additively, it is advantageous to add a changed signature to the majority of the control commands or to secure the control commands again cryptographically. It is advantageous to use a new seed value, also called a seed. As a result, it can be recognized that an attacker has decrypted the control commands, and then a different encryption is carried out using a different start value or a different encryption technique, and the changed control commands are then loaded onto the mobile terminal in the now secure version. Thus, the attacker only cracked an old version of the control commands and has no access to the new version of the control commands. As a result, the old version of the control commands can be deactivated so that no more damage can be done.

Gemäß einem Aspekt der vorliegenden Erfindung weist die Absicherungskonfiguration einen Startwert, eine Eingrenzung der abzusichernden Steuerbefehle, eine Absicherungsart, eine oder mehrere Absicherungsstufen und/ oder eine Absicherungsanweisung auf. Dies hat den Vorteil, dass der Benutzer bzw. der Entwickler Einfluss auf die Veränderung der Steuerbefehle nehmen kann, so dass besonders sicherheitskritische Steuerbefehle anders verschlüsselt werden können als nicht-kritische Steuerbefehle. Somit kann auf die Laufzeit des Veränderns bzw. Verschleierns Einfluss genommen werden, und insbesondere können Steuerbefehle ausgewählt werden, die mit einer besonders hohen Absicherungsstufe verschleiert werden. Ferner ist es möglich, dass der Entwickler angibt, welche Verschleierungsmethode, wie z. B. eine kryptographische Funktion, Verwendung findet. Auch können entsprechende Startwerte initialisiert werden und somit beispielsweise ein Zufallsgenerator stets mit einem anderen Seed ausgeführt werden.According to one aspect of the present invention, the protection configuration has a starting value, a limitation of the control commands to be protected, a type of protection, one or more protection levels and / or a protection instruction. This has the advantage that the user or the developer can influence the change in the control commands, so that particularly security-critical control commands can be encrypted differently than non-critical control commands. In this way, the duration of the change or concealment can be influenced, and in particular control commands can be selected which are concealed with a particularly high security level. It is also possible for the developer to indicate which method of obfuscation, e.g. B. a cryptographic function is used. Corresponding start values can also be initialized and thus, for example, a random generator can always be executed with a different seed.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung umfasst das Verändern ein Verschlüsseln, ein Umbenennung von Bezeichnungen der Steuerbefehle und/oder von Parametern, ein Ändern einer Reihenfolge von Steuerbefehlen, ein Hinzufügen von Steuerbefehlen und/oder ein Verschleiern von Steuerbefehlen. Dies hat den Vorteil, dass das Verändern auf vielfältige Art und Weise durchgeführt werden kann, und insbesondere können hierbei Techniken kombiniert werden. So können beispielsweise im Rahmen des sogenannten Code Obfuscation Bezeichnungen umbenannt werden. Hierbei kann es sich um Methodenbezeichnungen handeln, oder aber auch um Parameterbezeichnungen. Typischerweise werden beim Programmieren sogenannte sprechende Namen verwendet, so dass die Semantik einer Methode aus deren Methodenbezeichnung abzuleiten ist. Dies kann vorliegend verhindert werden, und somit erfolgt ein Verschleiern der Steuerbefehle. Auch werden oftmals die Steuerbefehle logisch gruppiert bzw. in logischer Reihenfolge implementiert. Auch dies kann mittels des sogenannten Code Obfuscation geändert werden und die Reihenfolge der Steuerbefehle wird beliebig gewählt, wobei lediglich sichergestellt wird, dass stets die entsprechenden korrekten Methoden aufgerufen werden. An welcher Stelle die Steuerbefehle innerhalb des Quellcodes codiert sind, spielt hierbei typischerweise keine Rolle. Darüber hinaus ist es möglich, Steuerbefehle einzustreuen und somit hinzuzufügen, welche keinerlei Funktion haben. Dies dient allein der Verwirrung und somit der Verschleierung, wodurch es einem menschlichen Benutzer erschwert wird, die Steuerbefehle zu verstehen und somit einen unberechtigten Zugriff zu starten.According to a further aspect of the present invention, the change comprises encryption, a renaming of names of the control commands and / or parameters, a changing of an order of control commands, an addition of control commands and / or a concealment of control commands. This has the advantage that the change can be carried out in a variety of ways, and in particular techniques can be combined here. For example, designations can be renamed as part of the so-called code obfuscation. These can be method names or parameter names. So-called descriptive names are typically used during programming, so that the semantics of a method can be derived from its method designation. This can be prevented in the present case, and thus the control commands are obscured. The control commands are often logically grouped or implemented in a logical order. This can also be changed by means of the so-called code obfuscation and the order of the control commands is chosen arbitrarily, whereby it is only ensured that the corresponding correct methods are always called. At which point the control commands are encoded within the source code is typically irrelevant. In addition, it is possible to add control commands and thus add them that have no function. This is only for confusion and thus obfuscation, which makes it difficult for a human user to Understand control commands and thus start unauthorized access.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung umfasst das automatische Erkennen des unberechtigten Zugriffs ein Berechnen von mindestens einer Prüfsumme, eine Zugriffsprüfung auf die Steuerbefehle, ein Erkennen eines Dekompilierens der Steuerbefehle, ein Erkennen eines Zugriffs einer vorbestimmten Entität, ein Erkennen eines Zugriffs eines Debuggers, ein Analysieren einer Entität, welche die Steuerbefehle ausführt und/oder ein Erkennen eines unerwarteten Ausgabewerts. Dies hat den Vorteil, dass das automatische Erkennen anhand eines oder mehrerer Verfahren durchgeführt werden kann und automatisiert beispielsweise errechnet werden kann, ob die tatsächliche Prüfsumme von Steuerbefehlen der erwarteten Prüfsumme entspricht. Folglich kann ein Speicher auslesen werden und auch Adressen evaluiert werden und sodann festgestellt werden, ob in dem Speicher tatsächlich die korrekten Steuerbefehle bzw. Parameter abgespeichert sind. Hier kann es zu Veränderungen kommen, falls die Steuerbefehle bzw. die Parameter verfälscht werden. Das automatische Erkennen eines unberechtigten Zugriffs kann auch dadurch erfolgen, dass eine Testroutine gestartet wird und die Steuerbefehle testweise Ergebnisse zurückliefern, die mit zu erwartenden Ergebnissen verglichen werden. Ferner können Entitäten evaluiert werden und bestimmt werden, ob diese Zugriff auf die Steuerbefehle erhalten können. Dies kann derart erfolgen, dass IP-Adressen der Recheneinheiten bezüglich ihrer Berechtigung geprüft werden. Darüber hinaus kann ermittelt werden, wie oft eine Entität auf einen Steuerbefehl zugreift, wobei es sich bei einem zu häufigen Zugreifen um eine sogenannte Brute-Force-Attacke handeln kann. Oftmals werden Steuerbefehle sehr häufig angefragt, um eine Serverauslastung zu provozieren und einen sogenannten Denial-of-Service-Fehler auszulösen. Darüber hinaus ist es möglich, ein Entschlüsseln der kompilierten Steuerbefehle zu erkennen oder aber auch einen Zugriff eines Debuggers. Ferner können Entitäten generell gesperrt werden und es kann eine sogenannte Blacklist eingeführt werden, die Entitäten vom Zugriff auf die Steuerbefehle ausschließt.According to a further aspect of the present invention, the automatic detection of the unauthorized access comprises calculating at least one checksum, an access check on the control commands, a detection of decompiling the control commands, a detection of an access of a predetermined entity, a detection of an access of a debugger Analyze an entity that executes the control commands and / or detect an unexpected output value. This has the advantage that automatic detection can be carried out using one or more methods and, for example, an automated calculation can be made as to whether the actual checksum of control commands corresponds to the expected checksum. Consequently, a memory can be read out and addresses can also be evaluated and it can then be determined whether the correct control commands or parameters are actually stored in the memory. Changes can occur here if the control commands or the parameters are falsified. The automatic detection of unauthorized access can also take place by starting a test routine and returning the control commands for test results, which are compared with the expected results. Entities can also be evaluated and it can be determined whether they can get access to the control commands. This can be done in such a way that the IP addresses of the computing units are checked for their authorization. It is also possible to determine how often an entity accesses a control command, which can be called a brute force attack if it is accessed too frequently. Control commands are often requested very often in order to provoke server utilization and trigger a so-called denial of service error. In addition, it is possible to recognize a decryption of the compiled control commands or an access by a debugger. In addition, entities can generally be blocked and a so-called blacklist can be introduced, which excludes entities from accessing the control commands.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung erfolgt vor dem automatischen Erkennen ein Abspeichern der veränderten Steuerbefehle auf einem mobilen Endgerät. Dies hat den Vorteil, dass bereits beim Endkunden im laufenden Betrieb schon Fehler behandelt werden können und ab dem sogenannten Deployment beim Endkunden Fehler behoben werden können. Hierbei ist es nicht ausschlaggebend, ob die Steuerbefehle tatsächlich ausgeführt werden oder ob sie lediglich installiert sind. So kann auch ein Manipulieren von Steuerbefehlen erfolgen, falls diese lediglich erst installiert sind, ohne dass diese bereits ausgeführt wurden.According to a further aspect of the present invention, before the automatic detection, the changed control commands are stored on a mobile terminal. This has the advantage that errors can already be dealt with by the end customer during operation, and errors can be remedied from the end customer's so-called deployment. It does not matter whether the control commands are actually executed or whether they are just installed. This means that control commands can also be manipulated if they are only installed without having already been executed.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung erfolgt eine Überwachung unberechtigter Zugriffe unabhängig davon, ob sie lesend und/oder schreibend sind. Dies hat den Vorteil, dass sowohl lesende als auch schreibende Operationen erkannt werden können, und somit kann Zugang zu sicherheitskritischen Informationen verwehrt werden, wie auch ein Überschreiben von sicherheitskritischen Informationen. Bei einem unberechtigten Zugriff muss nicht zwingendermaßen unterschieden werden, ob auf statische Information zugegriffen wird oder ob es sich tatsächlich um einen Steuerbefehl handelt. So kann beispielsweise auch eine Parameterzuweisung als ein Steuerbefehl behandelt werden.According to a further aspect of the present invention, unauthorized access is monitored regardless of whether it is read and / or write. This has the advantage that both reading and writing operations can be recognized, and thus access to safety-critical information can be prevented, as well as overwriting of safety-critical information. In the case of unauthorized access, it is not absolutely necessary to differentiate between whether static information is being accessed or whether it is actually a control command. For example, a parameter assignment can also be treated as a control command.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung beschreibt die Angriffsdokumentation, auf welche Teile der Steuerbefehle unberechtigt zugegriffen wird. Dies hat den Vorteil, dass eine fortlaufende Dokumentation erstellt werden kann, und somit lassen sich auch genau die Steuerbefehle verschleiern, auf die unberechtigterweise zugegriffen wurde. Dies bringt den technischen Effekt mit sich, dass nicht alle Steuerbefehle verschleiert werden müssen, sondern es muss lediglich derjenige Teilbereich der Steuerbefehle neu verschleiert werden, der unberechtigt angefragt wurde.According to a further aspect of the present invention, the attack documentation describes which parts of the control commands are accessed without authorization. This has the advantage that continuous documentation can be created, which means that precisely the control commands that were accessed without authorization can be disguised. This has the technical effect that not all control commands have to be disguised, but only that part of the control commands that has been requested without authorization has to be disguised.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung erfolgt das Anpassen der Absicherungskonfiguration anhand von abgespeicherten Regeln, welche vorbestimmte Angriffe erschweren. Dies hat den Vorteil, dass eine sogenannte Bibliothek erstellt werden kann, die angibt, welche Angriffe wie behandelt werden. So kann das Verschleiern bzw. Abändern der Steuerbefehle stets in Abhängigkeit eines tatsächlich erfolgenden Angriffs durchgeführt werden.According to a further aspect of the present invention, the security configuration is adapted on the basis of stored rules which make predetermined attacks more difficult. This has the advantage that a so-called library can be created that specifies which attacks are treated and how. In this way, the concealment or modification of the control commands can always be carried out as a function of an actually occurring attack.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung erfolgt das Anpassen der Absicherungskonfiguration anhand von empirisch übermittelter Umgehungen von Angriffen. Dies hat den Vorteil, dass Angriffe simuliert werden können, und hierbei kann festgestellt werden, wie ein solcher Angriff abgewehrt bzw. umgangen werden kann. Insbesondere sind diese Angriffe bereits erkannt, und es kann somit in der Absicherungskonfiguration hinterlegt werden, wie genau die Steuerbefehle abzuändern bzw. zu erweitern sind, dass solche Angriffe abgewehrt werden. Eine solche Datenbank von Umgehungen kann hinterlegt werden und die Steuerbefehle können stets anhand neuer Umgehungen verschleiert werden.According to a further aspect of the present invention, the security configuration is adjusted on the basis of empirically communicated bypasses of attacks. This has the advantage that attacks can be simulated, and it can be determined here how such an attack can be prevented or avoided. In particular, these attacks have already been recognized, and it can thus be stored in the security configuration how exactly the control commands are to be changed or expanded so that such attacks are warded off. Such a database of bypasses can be stored and the control commands can always be obscured using new bypasses.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung erfolgt das erneute Verändern bereits während des unberechtigten Zugriffs. Dies hat den Vorteil, dass die Steuerbefehle deaktiviert werden können und entweder unverändert bleiben oder aber dem Angreifer randomisierte Werte zurückliefern, so dass er nicht bemerkt, dass der Angriffsvorgang erkannt wurde. Ferner ist es möglich, einen Teil der Steuerbefehle, der unkritisch ist, weiter auszuführen und sicherheitskritische Steuerbefehle zu deaktivieren bzw. deren Ausführung abzubrechen und diese daraufhin derart verändern zu lassen, dass ein weiterer Angriff nicht mehr möglich ist. Somit stellt sich der Vorteil ein, dass bereits zur Laufzeit auf einen Angriff automatisiert reagiert werden kann.According to a further aspect of the present invention, the renewed change already takes place during the unauthorized access. This has the Advantage that the control commands can be deactivated and either remain unchanged or else return randomized values to the attacker so that he does not notice that the attack process has been recognized. Furthermore, it is possible to continue executing a part of the control commands that is not critical and to deactivate safety-critical control commands or to abort their execution and then to have them changed in such a way that a further attack is no longer possible. This has the advantage that an attack can be reacted to automatically at runtime.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung werden die veränderten Steuerbefehle einer Mehrzahl von mobilen Endgeräten zur Verfügung gestellt. Dies hat den Vorteil, dass die neu angepassten Steuerbefehle auf einem zentralen Server, beispielsweise einem AppStore, hinterlegt werden können, und sodann können die bereits verschleierten Steuerbefehle wiederum weiteren Endgeräten zum Download bereitgestellt werden. Somit wurde ein bereits vergangener Angriff derart für die Zukunft ausgeschlossen, dass die neuen Steuerbefehle bereits bezüglich dieses Angriffes abgesichert sind.According to a further aspect of the present invention, the changed control commands are made available to a plurality of mobile terminals. This has the advantage that the newly adapted control commands can be stored on a central server, for example an AppStore, and then the control commands which have already been veiled can in turn be made available for download to further terminal devices. Thus, an attack that was already past has been ruled out for the future in such a way that the new control commands are already secured with regard to this attack.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung speichert die Absicherungseinheit die Absicherungskonfiguration persistent. Dies hat den Vorteil, dass die Absicherungseinheit jederzeit auf die ursprüngliche Absicherungskonfiguration zurückgreifen kann und somit auch die Steuerbefehle geeignet verschleiern kann. Anhand dieser Absicherungskonfiguration ist es beispielsweise möglich, die Steuerbefehle zu entschlüsseln und anschließend in geänderter Weise wieder zu verschlüsseln.According to a further aspect of the present invention, the protection unit persistently stores the protection configuration. This has the advantage that the protection unit can fall back on the original protection configuration at any time and can therefore appropriately disguise the control commands. Using this security configuration, it is possible, for example, to decrypt the control commands and then to encrypt them again in a changed manner.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung führt die Absicherungseinheit eine Versionsverwaltung der Absicherungskonfiguration durch. Dies hat den Vorteil, dass während mehrerer Iterationen des vorgeschlagenen Verfahrens stets klar ist, wann welche Version von Steuerbefehlen vorlag, und wie diese sodann angepasst wurde. Somit kann stets auf einen Angriff reagiert werden, und die Steuerbefehle können je nach ihrer aktuellen Version verschleiert werden.According to a further aspect of the present invention, the protection unit carries out version management of the protection configuration. This has the advantage that it is always clear during several iterations of the proposed method when which version of control commands was present and how this was then adapted. This means that an attack can always be responded to and the control commands can be disguised depending on their current version.

Die Aufgabe wird auch gelöst durch eine Rechneranordnung zum iterativen und angriffsspezifischen Verschleiern von Steuerbefehlen, umfassend eine Schnittstelleneinheit eingerichtet zum Übermitteln von Steuerbefehlen an eine Absicherungseinheit, welche eingerichtet ist, die Steuerbefehle in Abhängigkeit einer Absicherungskonfiguration derart zu verändern, dass ein unberechtigter Zugriff auf die Steuerbefehle erschwert wird, eine Monitoreinheit eingerichtet zum automatischen Erkennen des unberechtigten Zugriffs auf die Steuerbefehle mitsamt eines Erstellens einer Angriffsdokumentation, wobei die Absicherungseinheit eingerichtet ist zum Anpassen der Absicherungskonfiguration in Abhängigkeit der Angriffsdokumentation und ein erneutes Verändern der Steuerbefehle durchführbar ist.The object is also achieved by a computer arrangement for iterative and attack-specific concealment of control commands, comprising an interface unit set up for transmitting control commands to a security unit, which is set up to change the control commands depending on a security configuration in such a way that unauthorized access to the control commands is made more difficult a monitor unit is set up for automatic detection of the unauthorized access to the control commands together with the creation of an attack documentation, the security unit being set up to adapt the security configuration depending on the attack documentation and a renewed change of the control commands.

Die Absicherungseinheit kann dann beispielsweise als ein zentraler Server vorliegen und die Monitoreinheit kann sowohl auf dem mobilen Endgerät als auch auf einem entfernten Server liegen.The security unit can then be present, for example, as a central server and the monitor unit can be located both on the mobile terminal and on a remote server.

Die Aufgabe wird auch gelöst durch ein Computerprogramm mit Steuerbefehlen, welche das Verfahren ausführen bzw. die vorgeschlagene Rechneranordnung betreiben.The object is also achieved by a computer program with control commands which execute the method or operate the proposed computer arrangement.

Erfindungsgemäß ist es besonders vorteilhaft, dass das vorgeschlagene Verfahren Verfahrensschritte aufweist, welche strukturell auch im Rahmen der Rechneranordnung nachgebildet werden können. Ferner ist die Rechneranordnung geeignet, das Verfahren auszuführen. Somit können Verfahrensschritte bezüglich ihrer Funktion strukturell nachgebildet werden und strukturelle Merkmale der Rechneranordnung können als Verfahrensschritte mit gleicher Funktionalität ausgebildet werden.According to the invention, it is particularly advantageous that the proposed method has method steps which can also be structurally simulated within the framework of the computer arrangement. The computer arrangement is also suitable for carrying out the method. Process steps can thus be structurally simulated with regard to their function, and structural features of the computer arrangement can be designed as process steps with the same functionality.

Weitere vorteilhafte Ausgestaltungen werden anhand der beigefügten Figuren näher erläutert. Es zeigen:

  • 1: eine Rechneranordnung gemäß einem bekannten Verfahren als Ausgangspunkt für die vorliegende Erfindung;
  • 2: die erfindungsgemäße Rechneranordnung, wobei weitere Server vorgesehen sind;
  • 3: ein schematisches Diagramm der Rechneranordnung mitsamt der erfindungsgemäßen Datenkommunikation; und
  • 4: ein schematisches Ablaufdiagramm des vorgeschlagenen Verfahrens zum iterativen und angriffsspezifischen Verschleiern von Steuerbefehlen.
Further advantageous configurations are explained in more detail with reference to the attached figures. Show it:
  • 1 a computer arrangement according to a known method as a starting point for the present invention;
  • 2 : the computer arrangement according to the invention, further servers being provided;
  • 3 : a schematic diagram of the computer arrangement together with the data communication according to the invention; and
  • 4 : A schematic flow diagram of the proposed method for iterative and attack-specific concealment of control commands.

1 zeigt ein bekanntes Verfahren bzw. eine bekannte Anordnung, wobei webbasierte Werkzeuge zum Verschleiern von Steuerbefehlen vorgehalten werden. 1 shows a known method and a known arrangement, wherein web-based tools for concealing control commands are provided.

Die zur Absicherung von Apps verwendeten Tools/Werkzeuge lassen sich - von der Art der Nutzung her - in zwei Kategorien einordnen:The tools / tools used to secure apps can be classified into two categories depending on the type of use:

1. Stand-Alone-Werkzeuge (auch: lokale Werkzeuge)1. Stand-alone tools (also: local tools)

Diese installiert der Entwickler oder das entwickelnde Unternehmen innerhalb des eigenen Zuständigkeitsbereiches, also beispielsweise im Unternehmensnetzwerk oder auf dem PC des Entwicklers.

  • - Vorteil: Keine kritischen Daten verlassen den gesicherten Zuständigkeitsbereich.
  • - Vorteil: Das erreichte Sicherheitsniveau ist höher, da sich das Werkzeug direkt in den Compiler der Entwicklungsumgebung einklinken kann.
  • - Nachteil: Derartige Werkzeuge sind häufig sehr teuer und lohnen sich nur für größere Unternehmen.
The developer or the developing company installs these within their own Area of responsibility, for example in the company network or on the PC of the developer.
  • - Advantage: No critical data leave the secured area of responsibility.
  • - Advantage: The level of security achieved is higher because the tool can latch directly into the compiler of the development environment.
  • - Disadvantage: Such tools are often very expensive and only worthwhile for larger companies.

2. Online-Werkzeuge (auch: webbasierte Werkzeuge) - siehe 1 Hier lädt der Entwickler die ungesicherte .apk-Datei über ein Netzwerk auf einen Server hoch. Dieser Server zerlegt die .apk-Datei, sichert diese ab und stellt die neue, abgesicherte .apk-Datei vom Herunterladen bereit. Diese kann wiederum vom Entwickler in einen App Store (z.B. Google Play Store, Apple App Store, Amazon App Store) hochgeladen und somit für die Öffentlichkeit verfügbar gemacht werden. Üblicherweise kann auch hier der Entwickler Einfluss auf die gesicherten Code- und Datenbereiche nehmen und das gewünschte Sicherheitsniveau anpassen.2. Online tools (also: web-based tools) - see 1 Here the developer uploads the unsecured .apk file to a server over a network. This server disassembles the .apk file, backs it up and makes the new, secured .apk file available for download. This can in turn be uploaded by the developer to an app store (e.g. Google Play Store, Apple App Store, Amazon App Store) and thus made available to the public. Here, too, the developer can usually influence the secured code and data areas and adjust the desired level of security.

Der Server befindet sich üblicherweise im Internet (webbasiertes Werkzeug). Es sind aber auch Installationen innerhalb des gesicherten Netzwerks des entwickelnden Unternehmens oder sogar auf dem PC des Entwicklers denkbar - dies sind allerdings eher ungewöhnliche Varianten, da in diesen Fällen Stand-Alone-Installationen zum Einsatz kommen, die ein höheres Sicherheitsniveau erreichen.

  • - Vorteil: Sehr einfache Verfügbarkeit und Nutzbarkeit, dadurch von praktisch allen App-Entwicklern nutzbar - sehr hohe Reichweite im Markt.
  • - Vorteil: Das Werkzeug kann nicht vom Entwickler/ entwickelnden Unternehmen analysiert werden, d.h. das Know-How, das im Werkzeug steckt, wird sehr gut geschützt.
  • - Nachteil: Unter Umständen kritische Daten verlassen den gesicherten Zuständigkeitsbereich des Entwicklers/ entwickelnden Unternehmens.
The server is usually located on the Internet (web-based tool). However, installations within the secure network of the developing company or even on the PC of the developer are also conceivable - these are, however, rather unusual variants, since in these cases stand-alone installations are used that achieve a higher level of security.
  • - Advantage: Very easy availability and usability, so it can be used by practically all app developers - very high reach in the market.
  • - Advantage: The tool cannot be analyzed by the developer / developing company, ie the know-how that is in the tool is very well protected.
  • - Disadvantage: Critical data may leave the secured area of responsibility of the developer / developing company.

In 1, Schritt 1 erfolgt ein manuelles Hochladen der zu sichernden App zum Safeguard-Server.In 1 , Step 1 the app to be backed up is manually uploaded to the Safeguard server.

Ebenfalls in Schritt 1 werden die sogenannten Safeguard-Preferences (Sicherheitseinstellungen) zum Safeguard-Server übertragen. Diese geben an,

  • - welche Teile der App
  • - ggf. mit welchen Methoden
  • - wie stark geschützt werden sollen.
Also in step 1 the so-called Safeguard Preferences (security settings) are transferred to the Safeguard server. These indicate
  • - what parts of the app
  • - if necessary, with which methods
  • - how much protection should be provided.

Ein Festfegen dieser Einstellungen ist notwendig, da die Verschleierung von Code bislang immer mit einer geringeren Ausführungsgeschwindigkeit der entsprechenden App-Bestandteile einhergeht. Besonders bei zeitkritischen Teilen der App ist daher eine gute Abstimmung erforderlich, die üblicherweise manuell, beispielsweise durch den Entwickler selbst, erfolgt.It is necessary to sweep these settings down, since hiding code has so far always been associated with a slower execution speed of the corresponding app components. Good coordination is therefore necessary, especially for time-critical parts of the app, which is usually done manually, for example by the developer himself.

Schritt 1 gibt dieses manuelle Abstimmen nur stark vereinfacht wieder: in der Praxis wird eine App immer wieder zum Online-Werkzeug hochgeladen und mit veränderten Safeguard-Preferences abgesichert, anschließend wird vom Entwickler getestet, ob sich das Laufzeitverhalten der App noch im zulässigen Bereich bewegt (Antwortverhalten auf Benutzereingaben, Einhaltung von Time-Outs u.ä.).step 1 reproduces this manual tuning only in a very simplified way: in practice, an app is repeatedly uploaded to the online tool and secured with changed Safeguard preferences, after which the developer tests whether the runtime behavior of the app is still within the permissible range (response behavior on User input, adherence to time-outs, etc.).

Schritt 1 zeigt nur das Übertragen der „endgültigen“ Safeguard-Preferences, die auf die später ausgelieferte Version der App angewendet werden.step 1 only shows the transfer of the "final" Safeguard preferences that are applied to the later version of the app.

In Schritt 2 von 1 sichert der Safeguard-Server die hochgeladene App wie in den Safeguard- Preferences angegeben ab.In step 2 of 1 the Safeguard server secures the uploaded app as specified in the Safeguard Preferences.

Hierbei ist zu beachten, dass bei der Verschleierung einer App eine oder mehrere sogenannte „Seeds“ (Startwerte) verwendet werden, um die genaue Ausprägung der Verschleierung festzulegen. Dies ist unbedingt notwendig; ansonsten würde dieselbe App immer genau auf dieselbe Art verschleiert und es würde immer genau dieselbe Ergebnis-App entstehen.It should be noted here that one or more so-called “seeds” (initial values) are used when disguising an app in order to determine the exact form of the disguise. This is absolutely necessary; otherwise the same app would always be obfuscated in exactly the same way and the same result app would always be created.

Die verwendeten Seeds können manuell, durch Zufallszahl, als fortlaufende Zahl oder ähnlich festgelegt werden, um die Unterschiedlichkeit der Verschleierung der App zu garantieren. Die Seeds können daher sowohl Bestandteil der Safeguard-Preferences sein als auch intern im Safeguard-Server erzeugt und verwaltet werden.The seeds used can be set manually, by a random number, as a consecutive number or similar, in order to guarantee that the app is disguised differently. The seeds can therefore be part of the Safeguard preferences as well as generated and managed internally in the Safeguard server.

In Schritt 3 von 1 wird die gesicherte App wieder auf den Entwickler-PC heruntergeladen.In step 3 of 1 the saved app is downloaded back to the developer PC.

Die Schritte 4 und 5 entsprechen wieder dem Standardvorgehen bei der Bereitstellung von Apps. Der Entwickler lädt diese in den App Store hoch, von dort wird diese entweder erstmals von Benutzern heruntergeladen oder als Update an die User Devices (Smartphones usw.) verteilt.The steps 4 and 5 correspond to the standard procedure for the provision of apps. The developer uploads them to the App Store, from where they are either downloaded for the first time by users or distributed as an update to the user devices (smartphones, etc.).

Es ist allgemein bekannt, dass alle Verschleierungsmaßnahmen, um Daten und Software gegen Einsicht durch Dritte zu schützen, nur Schutz für eine begrenzte Zeit bieten. Ein Angreifer, der genügend Zeit und Mühe investiert, wird jede Verschleierung früher oder später aufheben können.It is well known that all obfuscation measures to protect data and software against third party access only offer protection for a limited time. An attacker who invests enough time and effort will sooner or later be able to remove any obfuscation.

Es ist daher vorteilhaft, eine App, welche verschleierte Bestandteile enthält, von Zeit zu Zeit zu erneuern, d.h. mit geänderten Parametern erneut zu verschleiern. Diese wird dann als neue Version in den App Store eingestellt, welcher die App dann- meist automatisch- an die Benutzer verteilt. Je nach gewünschter Sicherheit kann dies von wöchentlich (sehr sicher) bis monatlich (relativ sicher) bis jährlich (eher unsicher) reichen. It is therefore advantageous to renew an app that contains veiled components from time to time, ie to veil it again with changed parameters. This is then set as a new version in the App Store, which then - mostly automatically - distributes it to the users. Depending on the desired level of security, this can range from weekly (very secure) to monthly (relatively secure) to yearly (rather uncertain).

Die erneute Erstellung sowie Upload geschieht bisher manuell und verursacht daher unnötigen, sich immer wiederholenden Aufwand.Up to now, the re-creation and upload has been done manually and therefore causes unnecessary, repetitive effort.

Wie bereits zuvor genannt, hängt es vom Zeitaufwand und von den eingesetzten Bemühungen des Angreifers ab, wie schnell eine verschleierte App - oder zumindest die Teile, auf die es der Angreifer abgesehen hat - gehackt wird. Die ebenfalls zuvor genannten Zeitabstände zwischen den erneuten Verschleierungen der App sind daher nur grobe Richtwerte, die unter Umständen auch deutlich in beide Richtungen abweichen können.As mentioned before, it depends on the amount of time and the efforts of the attacker how quickly a veiled app - or at least the parts that the attacker is targeting - is hacked. The previously mentioned time intervals between re-obfuscation of the app are therefore only rough guidelines, which may also differ significantly in both directions.

Existiert - aus welchen Gründen auch immer - ein sehr großes Interesse an einem Angriff, können unter Umständen auch Abstände von einer Woche zu kurz sein, umgekehrt kann auch eine monatliche Erneuerung überflüssig sein, falls kein Interesse an einem Angriff besteht.If - for whatever reason - there is a very great interest in an attack, intervals of one week may be too short, conversely, a monthly renewal may also be superfluous if there is no interest in an attack.

Bisher erfolgt die erneute Verschleierung und Bereitstellung der App „nach Gefühl“. Es ist zwar bekannt, (manuell) Hackerforen im Internet darauf zu überprüfen, ob eine App gehackt wurde, aber dies erzeugt dauerhaften, großen Aufwand und bietet keine zuverlässige Aussage.So far, the app has been obfuscated and made available “by feel”. Although it is known (manually) to check hacker forums on the Internet to determine whether an app has been hacked, this creates long-term effort and does not provide a reliable statement.

2 zeigt nunmehr eine angepasste Rechneranordnung, wie sie erfindungsgemäß vorgeschlagen wird. Für das erfindungsgemäße Verfahren ist es vorteilhaft, dass der Safeguard-Server sowohl die ursprünglich hochgeladene, unsichere App als auch die zugehörigen Safeguard-Preferences sowie (falls nicht ohnehin Bestandteil der Safeguard-Preferences) die Seeds (Startwerte) der konkreten Ausprägung der Verschleierung speichert, um später ohne Zutun des Entwicklers bzw. des entwickelnden Unternehmens wieder darauf zugreifen zu können. 2 now shows an adapted computer arrangement, as proposed according to the invention. For the method according to the invention, it is advantageous for the Safeguard server to save both the originally uploaded, unsafe app and the associated Safeguard preferences and (if not part of the Safeguard Preferences anyway) the seeds (start values) of the specific form of the obfuscation, in order to be able to access it later without the developer or the developing company having to do anything.

Wie in der vorliegenden 2 ersichtlich ist, ist auf der rechten Seite ein sogenannter Attack-Analysis-Server angeordnet sowie ein Application Server bzw. ein Applikationsserver. Diese Rechenanordnung wird mittels der Datenkommunikation betrieben, wie sie beispielhaft in 3 gezeigt ist.As in the present 2 It can be seen that a so-called attack analysis server is arranged on the right-hand side as well as an application server. This computing arrangement is operated by means of data communication, as exemplified in 3 is shown.

Der Beginn des erfindungsgemäßen Ablaufes ist in 3, Schritt 1 dargestellt. Die verschleierte App ist bereits auf dem Endgerät des Benutzers installiert (User Device) und wird ausgeführt.The start of the sequence according to the invention is in 3 , Step 1 shown. The veiled app is already installed on the end device of the user (user device) and is being executed.

Die App mit verschiedenen Sicherungsmaßnahmen ausgestattet, um Manipulationen zu erkennen. Hierzu gehören beispielsweise

  • - Prüfsummen über Codebereiche, die immer wieder nachgerechnet werden,
  • - die Kontrolle, ob ein Debugger auf die Applikation zugreift oder
  • - die Prüfung, ob die App auf einem gerooteten Gerät ausgeführt wird.
The app is equipped with various security measures to detect tampering. These include, for example
  • - checksums over code areas, which are recalculated again and again,
  • - Check whether a debugger is accessing the application or
  • - Checking whether the app is running on a rooted device.

Normalerweise beendet sich eine App, wenn sie eine der oben genannten Sachverhalte feststellt. Im erfindungsgemäßen Verfahren verhält sich die App jedoch still, d.h. es wird kein Signal ausgegeben, aus dem ein Angreifer schließen kann, dass der Angriff bemerkt wurde. Die App „merkt“ sich den Angriff an geeigneter Stelle.An app usually ends when it detects any of the above. In the method according to the invention, however, the app remains silent, i.e. no signal is given from which an attacker could conclude that the attack was noticed. The app “remembers” the attack at a suitable point.

Wie in 3, Schritt 2 dargestellt, werden die erfassten Daten möglicher Angriffe auf die App an einen Applikationsserver (Application Server) weitergegeben. Ein Applikationsserver ist hierbei ein Server, mit dem eine App logischerweise kommunizieren muss, um richtig zu funktionieren:

  • - Bei einer YouTube-App (sofern diese im Sinne dieser Erfindungsmeldung schützenswert wäre) wäre der Applikationsserver der Server, der die angezeigten Videos bereitstellt.
  • - Bei einer Banking-App ist der Applikationsserver der Server, über den das Online-Banking abgewickelt wird.
As in 3 , Step 2 displayed, the recorded data of possible attacks on the app are forwarded to an application server. An application server is a server with which an app must logically communicate in order to function properly:
  • - In the case of a YouTube app (insofar as this would be worth protecting in the sense of this invention notification), the application server would be the server that provides the displayed videos.
  • - In the case of a banking app, the application server is the server through which online banking is carried out.

Es ist vorteilhaft, dass die Daten möglicher Angriffe an einen Applikationsserver weitergegeben werden. Es ist für einen Angreifer ein Leichtes, den Netzwerkzugang einer App so zu verändern, dass nur noch ganz bestimmte Netzwerkadressen erreichbar sind und/oder alle Netzwerkzugriffe protokolliert werden. Daher wäre ein Kontaktieren eines speziell eingerichteten „Alarmservers“ durch die App für einen Angreifer quasi identisch mit einer Meldung der App auf dem Bildschirm: „Angriffsversuch festgestellt“.It is advantageous that the data of possible attacks is passed on to an application server. It is easy for an attacker to change the network access of an app in such a way that only very specific network addresses can be reached and / or all network accesses are logged. Therefore, contacting a specially configured "alarm server" by the app for an attacker would be virtually identical to a message from the app on the screen: "Attempted attack".

Auch die Übertragung der Angriffsdaten geschieht möglichst unauffällig. Die Menge der übertragenen Daten im Angriffsfall bewegt sich im statistischen Rauschen der üblicherweise übertragenen Nutzdaten, demnach stehen meist nur wenige Bytes zusätzliches Datenvolumen bereit. Auch werden die Daten innerhalb von normalen Requests übertragen und auch keine zusätzlichen Anfragen beim Applikationsserver gestellt.The transmission of the attack data also happens as inconspicuously as possible. The amount of data transmitted in the event of an attack moves in the statistical noise of the user data usually transmitted, so that usually only a few bytes of additional data volume are available. The data are also transferred within normal requests and no additional requests are made to the application server.

In 3, Schritt 3, überträgt der Applikationsserver die empfangenen Angriffsdaten an den Angriffs- Analyse-Server (Attack Analysis Server), nachdem er diese aus dem Nutzdatenstrom herausgefiltert hat. Diese Übertragung kann der Angreifer der App nicht nachvollziehen, daher stellt sie keinen Sicherheitsverlust dar.In 3 , Step 3 , the application server transmits the received attack data to the Attack Analysis Server after it has been filtered out of the user data stream. The attacker of the app cannot understand this transmission, so it does not represent a loss of security.

In Schritt 4 sammelt der Angriffs-Analyse-Server die eingehenden Angriffsdaten für die App. Es ist klar, dass nicht sofort bei jeder fehlerhaften Prüfsumme ein Angriff vorliegt, daher ist eine Analyse über einen gewissen Zeitraum - meist Stunden oder Tage -hinweg nötig.In step 4 the attack analysis server collects the incoming attack data for the app. It is clear that there is not an attack with every incorrect checksum, so an analysis over a certain period of time - usually hours or days - is necessary.

Kommt der Angriffs-Analyse-Server zu dem Ergebnis, dass ein Angriff vorliegt, sendet dieser, wie in Schritt 5 dargestellt, eine entsprechende Nachricht an den Safeguard-Server. Falls vorliegend, sind in dieser Nachricht Informationen enthalten, auf welchen speziellen Teil der App sich der Angriff bezieht. Dadurch erhält der Safeguard-Server die Möglichkeit, bei der erneuten Verschleierung der App Schwerpunkte zu setzen.If the attack analysis server comes to the conclusion that there is an attack, it sends it, as in step 5 shown, a corresponding message to the Safeguard server. If available, this message contains information on which specific part of the app the attack relates to. This gives the Safeguard server the opportunity to set priorities when the app is disguised again.

In 3, Schritt 6 erzeugt der Safeguard-Server eine neu verschleierte Version der App. Es ist klar, dass hierfür eine andere „Seed“ verwendet wird als für alle anderen vorhergehenden Versionen der App. Der Safeguard-Server führt demnach entsprechend Buch über die bereits verwendeten Seeds.In 3 , Step 6 the Safeguard server creates a newly disguised version of the app. It is clear that a different “seed” is used for this than for all other previous versions of the app. The Safeguard server accordingly keeps a record of the seeds already used.

In Schritt 7 stellt der Safeguard-Server die neu verschleierte App in den App Store ein, so dass diese für die Öffentlichkeit verfügbar wird.In step 7 the Safeguard server places the newly disguised app in the app store so that it becomes available to the public.

Dadurch beginnt der App Store in Schritt 8, die neu verschleierte App als Update zu verteilen, außerdem steht allen neuen Nutzern die neueste Version zum Herunterladen bereit.This will start the app store in step 8th to distribute the newly veiled app as an update, and all new users can download the latest version.

4 zeigt ein schematisches Ablaufdiagramm eines Verfahrens zum iterativen und angriffsspezifischen Verschleiern von Steuerbefehlen gemäß einem Aspekt der vorliegenden Erfindung, umfassend ein Übermitteln 100 von Steuerbefehlen an eine Absicherungseinheit, welche die Steuerbefehle in Abhängigkeit einer Absicherungskonfiguration derart verändert 101, dass ein unberechtigter Zugriff auf die Steuerbefehle erschwert wird, ein automatisches Erkennen 102 des unberechtigten Zugriffs auf die Steuerbefehle mitsamt eines Erstellens 103 einer Angriffsdokumentation, wobei ein Anpassen 104 der Absicherungskonfiguration in Abhängigkeit der Angriffsdokumentation und ein erneutes Verändern 101 der Steuerbefehle durchgeführt werden. 4 shows a schematic flow diagram of a method for iterative and attack-specific concealment of control commands according to an aspect of the present invention, comprising a transmission 100 of control commands to a protection unit, which changes the control commands as a function of a protection configuration 101 automatic detection that an unauthorized access to the control commands is made difficult 102 unauthorized access to the control commands including creation 103 an attack documentation, whereby an adjustment 104 the security configuration depending on the attack documentation and a new change 101 of the control commands are carried out.

Die Lösung beseitigt die anfangs genannten Nachteile:

  • - Erneute Verschleierung der App bereits bei laufenden Angriffen, dadurch Erhöhung der Sicherheit der App,
  • - falls keine Angriffe vorliegen, werden keine unnötigen neu verschleierten Versionen der App erzeugt, was vor allem Übertragungsvolumen zum Endkunden (User Devices) hin einspart.
  • - Das manuelle Erneuern der App nach einem grob geschätzten Zeitraum entfällt.
The solution eliminates the disadvantages mentioned at the beginning:
  • - re-obfuscation of the app already during attacks, thereby increasing the security of the app
  • - If there are no attacks, no unnecessarily newly veiled versions of the app are generated, which in particular saves transmission volume to the end customer (user devices).
  • - There is no need to manually renew the app after a roughly estimated period of time.

Darüber hinaus werden Informationen gesammelt, wie Angriffe auf Apps ablaufen bzw. welche Teile der App zuerst angegriffen werden. Diese werden wiederum verwendet, um

  • - sowohl die Sicherheit der gerade angegriffenen App gezielt zu verbessern (welche Teile werden wie stark gesichert) und
  • - die allgemeine Weiterentwicklung der Sicherheit von Apps zu fördern.
In addition, information is collected on how attacks on apps work and which parts of the app are attacked first. These are in turn used to
  • - Improve both the security of the app under attack (which parts are secured and how strongly) and
  • - to promote the general further development of the security of apps.

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 documents listed by the applicant has been generated automatically and is only included 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 PatentliteraturPatent literature cited

  • US 20120284791 A1 [0002]US 20120284791 A1 [0002]
  • US 20050004863 A1 [0003]US 20050004863 A1 [0003]
  • US 20060031686 A1 [0004]US 20060031686 A1 [0004]

Claims (15)

Verfahren zum iterativen und angriffsspezifischen Verschleiern von Steuerbefehlen, umfassend: - Übermitteln (100) von Steuerbefehlen an eine Absicherungseinheit, welche die Steuerbefehle in Abhängigkeit einer Absicherungskonfiguration derart verändert (101), dass ein unberechtigter Zugriff auf die Steuerbefehle erschwert wird; - Automatisches Erkennen (102) des unberechtigten Zugriffs auf die Steuerbefehle mitsamt eines Erstellens (103) einer Angriffsdokumentation, dadurch gekennzeichnet, dass - ein Anpassen (104) der Absicherungskonfiguration in Abhängigkeit der Angriffsdokumentation; und - ein erneutes Verändern (101) der Steuerbefehle durchgeführt werden.Method for iterative and attack-specific concealment of control commands, comprising: - transmitting (100) control commands to a security unit which changes (101) the control commands depending on a security configuration in such a way that unauthorized access to the control commands is made more difficult; - Automatic detection (102) of the unauthorized access to the control commands together with the creation (103) of an attack documentation, characterized in that - an adaptation (104) of the security configuration depending on the attack documentation; and - the control commands are changed again (101). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Absicherungskonfiguration einen Startwert, eine Eingrenzung der abzusichernden Steuerbefehle, eine Absicherungsart, eine Absicherungsstufe und/ oder eine Absicherungsanweisung aufweist.Procedure according to Claim 1 , characterized in that the protection configuration has a starting value, a limitation of the control commands to be protected, a type of protection, a protection level and / or a protection instruction. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Verändern (101) ein Verschlüsseln, ein Umbenennen von Bezeichnungen der Steuerbefehle und/oder von Parametern, ein Ändern einer Reihenfolge von Steuerbefehlen, ein Hinzufügen von Steuerbefehlen und/oder ein Verschleiern von Steuerbefehlen umfasst.Procedure according to Claim 1 or 2 , characterized in that the modification (101) comprises encryption, renaming of names of the control commands and / or parameters, changing an order of control commands, adding control commands and / or concealing control commands. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das automatische Erkennen (102) des unberechtigten Zugriffs ein Berechnen von mindestens einer Prüfsumme, eine Zugriffsprüfung auf die Steuerbefehle, ein Erkennen eines Dekompilierens der Steuerbefehle, ein Erkennen eines Zugriffs einer vorbestimmten Entität, ein Erkennen eines Zugriffs eines Debuggers, ein Analysieren einer Entität welche die Steuerbefehle ausführt und/oder ein Erkennen eines unerwarteten Ausgabewerts umfasst.Method according to one of the preceding claims, characterized in that the automatic detection (102) of the unauthorized access, a calculation of at least one checksum, an access check on the control commands, a detection of decompiling the control commands, a detection of an access of a predetermined entity, a detection access by a debugger, analyzing an entity that executes the control commands and / or recognizing an unexpected output value. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass vor dem automatischen Erkennen (102) ein Abspeichern der veränderten (101) Steuerbefehle auf einem mobilen Endgerät erfolgt.Method according to one of the preceding claims, characterized in that before the automatic detection (102) the changed (101) control commands are stored on a mobile terminal. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein unberechtigter Zugriff lesend und/oder schreibend erfolgt.Method according to one of the preceding claims, characterized in that an unauthorized access is read and / or write. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Angriffsdokumentation beschreibt, auf welche Teile der Steuerbefehle unberechtigt zugegriffen wird.Method according to one of the preceding claims, characterized in that the attack documentation describes which parts of the control commands are accessed without authorization. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Anpassen (104) der Absicherungskonfiguration anhand von abgespeicherter Regeln erfolgt, welche vorbestimmte Angriffe erschweren.Method according to one of the preceding claims, characterized in that the adaptation (104) of the protection configuration is carried out on the basis of stored rules which make predetermined attacks more difficult. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Anpassen (104) der Absicherungskonfiguration anhand von empirisch ermittelten Umgehungen von Angriffen erfolgt.Method according to one of the preceding claims, characterized in that the adaptation (104) of the security configuration takes place on the basis of empirically determined bypasses of attacks. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das erneute Verändern (101) bereits während des unberechtigten Zugriffs erfolgt.Method according to one of the preceding claims, characterized in that the renewed change (101) already takes place during the unauthorized access. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die veränderten (101) Steuerbefehle einer Mehrzahl von mobilen Endgeräten zur Verfügung gestellt werden.Method according to one of the preceding claims, characterized in that the changed (101) control commands are made available to a plurality of mobile terminals. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Absicherungseinheit die Absicherungskonfiguration persistent speichert.Method according to one of the preceding claims, characterized in that the hedging unit persistently stores the hedging configuration. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Absicherungseinheit eine Versionsverwaltung der Absicherungskonfiguration durchführt.Method according to one of the preceding claims, characterized in that the security unit carries out a version management of the security configuration. Rechneranordnung zum iterativen und angriffsspezifischen Verschleiern von Steuerbefehlen, umfassend: - eine Schnittstelleneinheit eingerichtet zum Übermitteln (100) von Steuerbefehlen an eine Absicherungseinheit, welche eingerichtet ist, die Steuerbefehle in Abhängigkeit einer Absicherungskonfiguration derart zu verändern (101), dass ein unberechtigter Zugriff auf die Steuerbefehle erschwert wird; - eine Monitoreinheit eingerichtet zum automatischen Erkennen (102) des unberechtigten Zugriffs auf die Steuerbefehle mitsamt eines Erstellens (103) einer Angriffsdokumentation, dadurch gekennzeichnet, dass - die Absicherungseinheit eingerichtet ist zum Anpassen (104) der Absicherungskonfiguration in Abhängigkeit der Angriffsdokumentation; und - ein erneutes Verändern (101) der Steuerbefehle durchführbar ist.Computer arrangement for iterative and attack-specific concealment of control commands, comprising: - an interface unit set up for transmitting (100) control commands to a security unit, which is set up to change (101) the control commands depending on a security configuration in such a way that unauthorized access to the control commands is difficult; - A monitor unit set up for automatic detection (102) of the unauthorized access to the control commands together with the creation (103) of an attack documentation, characterized in that - the security unit is set up to adapt (104) the security configuration depending on the attack documentation; and a renewed change (101) of the control commands can be carried out. Computerprogrammprodukt mit Steuerbefehlen, welche das Verfahren gemäß einem der Ansprüche 1 bis 13 ausführen, wenn sie auf einem Computer zur Ausführung gebracht werden.Computer program product with control commands which implement the method according to one of the Claims 1 to 13 execute when executed on a computer.
DE102018005102.2A 2018-06-27 2018-06-27 Adaptive security updates for applications Pending DE102018005102A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018005102.2A DE102018005102A1 (en) 2018-06-27 2018-06-27 Adaptive security updates for applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018005102.2A DE102018005102A1 (en) 2018-06-27 2018-06-27 Adaptive security updates for applications

Publications (1)

Publication Number Publication Date
DE102018005102A1 true DE102018005102A1 (en) 2020-01-02

Family

ID=68885659

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018005102.2A Pending DE102018005102A1 (en) 2018-06-27 2018-06-27 Adaptive security updates for applications

Country Status (1)

Country Link
DE (1) DE102018005102A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999064973A1 (en) * 1998-06-10 1999-12-16 Auckland Uniservices Limited Software watermarking techniques
US20050004863A1 (en) 2003-04-29 2005-01-06 Havrilak Robert J. Method for assessing and managing security risk for systems
US20060031686A1 (en) 1999-09-03 2006-02-09 Purdue Research Foundation Method and system for tamperproofing software
US8176560B2 (en) * 2008-05-14 2012-05-08 International Business Machines Corporation Evaluation of tamper resistant software system implementations
US20120284791A1 (en) 2011-05-06 2012-11-08 The Penn State Research Foundation Robust anomaly detection and regularized domain adaptation of classifiers with application to internet packet-flows
US9195476B2 (en) * 2009-10-08 2015-11-24 Irdeto B.V. System and method for aggressive self-modification in dynamic function call systems
US20160080363A1 (en) * 2014-09-11 2016-03-17 The Boeing Company Computer implemented method of analyzing x.509 certificates in ssl/tls communications and the dataprocessing system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999064973A1 (en) * 1998-06-10 1999-12-16 Auckland Uniservices Limited Software watermarking techniques
US20060031686A1 (en) 1999-09-03 2006-02-09 Purdue Research Foundation Method and system for tamperproofing software
US20050004863A1 (en) 2003-04-29 2005-01-06 Havrilak Robert J. Method for assessing and managing security risk for systems
US8176560B2 (en) * 2008-05-14 2012-05-08 International Business Machines Corporation Evaluation of tamper resistant software system implementations
US9195476B2 (en) * 2009-10-08 2015-11-24 Irdeto B.V. System and method for aggressive self-modification in dynamic function call systems
US20120284791A1 (en) 2011-05-06 2012-11-08 The Penn State Research Foundation Robust anomaly detection and regularized domain adaptation of classifiers with application to internet packet-flows
US20160080363A1 (en) * 2014-09-11 2016-03-17 The Boeing Company Computer implemented method of analyzing x.509 certificates in ssl/tls communications and the dataprocessing system

Similar Documents

Publication Publication Date Title
EP2515499B1 (en) Method for generating a cryptographic key for a secure digital data object on the basis of the current components of a computer
DE102012220990B3 (en) Method and arrangement for secure communication between network devices in a communication network
DE60127310T2 (en) DEVICE FOR PROTECTING DIGITAL DATA
DE102009041176B4 (en) A compiler system and method for compiling a source code into an encrypted machine language code
EP1184771A1 (en) Method and device for protection of computer software and/or computer-readable data
EP3720039B1 (en) Method for configuring a security module comprising at least one derived key
EP2434424B1 (en) Method for increasing the security of security-relevant online services
EP1798653B1 (en) Method, computer program product and device for protecting a program comprising a function block
EP2394232B1 (en) Device and method for preventing unauthorized use and/or manipulation of software
EP3497606B1 (en) Individual encryption of control commands
DE102018005102A1 (en) Adaptive security updates for applications
DE102014213454A1 (en) Method and system for detecting a manipulation of 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
DE102010006432A1 (en) Method and system for providing EDRM-protected data objects
EP4297335B1 (en) Method for the implementation and use of cryptographic material in at least one system component of an information technology system
DE102021110768B3 (en) Forensics module and embedded system
EP1105798A1 (en) Method, array and set of several arrays for protecting several programs and/or files from unauthorized access by a process
CH712679B1 (en) Procedure for masking and uniquely signing database source codes.
DE102010040259A1 (en) Method for providing executable transfer program code for performing controlled transfer of data between domains, involves compiling executable transfer program code by workflow module, based on selected configuration parameter
EP3786818A1 (en) Method for protecting a software application against unauthorzed use
DE102014113441A1 (en) Protection against software components by means of encryption
DE102015207004A1 (en) Method for protected access to security functions of a security module of a host system
WO2025045447A1 (en) Method and system for checking the integrity of a rules database
DE102021006638A1 (en) Method for implementing and using cryptographic material in at least one system component of an information technology system
DE102021006637A1 (en) Method for implementing and using cryptographic material in at least one system component of an information technology system

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: SCHWAN SCHORER UND PARTNER PATENTANWAELTE MBB, DE

R163 Identified publications notified
R012 Request for examination validly filed