Search

EP-4740120-A1 - DIVERSIFIED VIRTUAL MACHINE FOR SECURE IOT DEVICES

EP4740120A1EP 4740120 A1EP4740120 A1EP 4740120A1EP-4740120-A1

Abstract

Securing of Internet of Things (IoT) devices by compiling IoT applications against diversified virtual machines. IoT protection sets are defined and assigned diversification parameters. A virtual machine is diversified using the assigned parameters. An IoT application is diversified against the diversified virtual machine to be solely executable by the diversified virtual machines by applying the diversification parameters associated with the virtual machines, respectively. Loading diversified object programs for the diversified IoT applications and diversified virtual machines corresponding to respective IoT devices associated with the protection sets.

Inventors

  • Garreau, Eric
  • DEMARTY, Joël

Assignees

  • THALES DIS FRANCE SAS

Dates

Publication Date
20260513
Application Date
20240705

Claims (18)

  1. 1. A method securing Internet of Things (loT) devices by compiling loT applications against diversified virtual machines, the method comprising: defining at least a first and a second loT protection set and assigning a first diversification parameter to the first loT protection set and a second diversification parameter to the second loT protection set wherein each of a plurality of loT devices is associated with the first or the second loT protection set; diversifying a virtual machine into a first diversified virtual machine by compiling the virtual machine using the first diversification parameter to define a first instruction set architecture (ISA) having a first set of opcodes interpretable by the first diversified virtual machine and incorporating the first diversified machine into firmware of loT devices associated with the first protection set, and diversifying the virtual machine into a second diversified virtual machine by compiling the virtual machine using the second diversification parameter to define a second ISA having a second set of opcodes interpretable by the second diversified virtual machine and incorporating the second diversified virtual machine into firmware of loT devices associated with the second protection set; compiling an loT application against the first diversified virtual machine to generate a first diversified object program corresponding to the loT application and solely executable by the first diversified virtual machine by applying the first diversification parameter, and compiling the loT application against the second diversified virtual machine to generate a second diversified object program corresponding to the loT application and solely executable by the second diversified virtual machine by applying the second diversification parameter; and loading the first diversified object program onto loT devices associated with the first protection set and loading the second diversified object program onto loT devices associated with the second protection set.
  2. 2. The method of Claim 1 further creating a diversified hardware implementation of an loT device in the step of diversifying the virtual machine into the first diversified virtual machine by, generating a chip-design for a portion of an loT chip installable into an loT device such that the loT chip is diversified, said portion including opcodes of the diversified virtual machine.
  3. 3. The method of Claim 1 further comprising diversifying the loT application such that the first protection set is assigned a first diversified loT application, and the second protection set is assigned a second diversified loT application wherein the first diversified loT application and second diversified loT application are functionally identical.
  4. 4. The method of Claim 1 wherein the first diversification parameter and second diversification parameter are each a diversification key associated with the first protection set and second protection set, respectively, that may be accepted by a diversification method to produce a unique ISA.
  5. 5. The method of Claim 1 wherein the step of compiling an loT application against the first diversified virtual machine comprises compiling a first subset of basic blocks of the loT application against the first ISA; and operating the first virtual machine of the loT device to recognize ciphered basic blocks and deciphering the ciphered basic blocks prior to execution.
  6. 6. The method of Claim 5 wherein the step of compiling an loT application against the first diversified virtual machine comprises ciphering a third subset of basic blocks of the loT application using a third diversification parameter associated with a third loT protection set.
  7. 7. The method of Claim 5 wherein the deciphering step is performed by a deciphering hardware block activated by instruction fetch of a start instruction introducing a basic block as being ciphered and executing deciphered instructions using a standard instruction set architecture.
  8. 8. The method of Claim 7 further comprising: in execution of a diversified loT application, detecting ciphered basic blocks, deciphering the ciphered basic blocks producing deciphered basic blocks and executing the deciphered basic blocks by a dummy execution engine and, in parallel, executing the ciphered basic block by a non-dummy execution engine; and detecting unciphered basic blocks, deciphering the unciphered basic blocks producing dummy deciphered basic blocks and executing the dummy deciphered basic blocks by the dummy execution engine, and, in parallel, executing the unciphered basic block by the nondummy execution engine.
  9. 9. The method of Claim 1 wherein the diversification of the virtual machine includes diversifying the instruction set architecture such that a unique set of opcodes or bytecodes are assigned to each of the first and second protection sets, respectively.
  10. 10. The method of Claim 1 wherein the diversification of the virtual machine includes diversifying the instruction set architecture into a plurality of diversified instruction set architectures assigned to each of the first and second protection sets, respectively, and wherein the compilation of the loT application against said first diversified virtual machine and said second virtual machine further comprises selecting one of said diversified instruction set architectures for compiling against.
  11. 11. The method of Claim 1, further wherein the first and second loT protection sets are members of a class of protection sets.
  12. 12. The method of Claim 11 where the class of protection sets is selected from a set of device categories including device family, device model, customer, device batch, and device chip.
  13. 13. The method of Claim 12 wherein the set of device categories form a hierarchy.
  14. 14. The method of Claim 13 wherein the device category of the first or second protection set is selected during a manufacturing phase.
  15. 15. The method of Claim 13 wherein the device category of the first or second protection set is selected during a device issuance phase by selecting a protection set for a device or class of devices in conjunction with compiling the loT application.
  16. 16. The method of claim 1 further comprising: providing a device issuer with a database of protection sets and diversification parameters; and wherein the step of compiling comprises retrieving a diversification parameter corresponding to the protection set of a target device.
  17. 17. A computer system comprising a processor and a memory, the memory containing instructions executable by the processor for carrying out any of the methods of claims 1 through 16.
  18. 18. A non-transient computer memory comprising instructions executable by a processor for carrying out any of the methods of claims 1 through 16.

Description

DIVERSIFIED VIRTUAL MACHINE FOR SECURE IOT DEVICES BACKGROUND OF THE INVENTION [0001] The present invention relates, generally, to cyber security, and, more particularly, to security for Internet of Things (loT) devices. [0002] Implementing Internet capability on a myriad of previously unconnected devices is a recent paradigm shift resulting from the reduction of cost and size of electronic devices coupled with their improved technical capability, for example, higher bandwidth communication and the possibility of implementing a full communications stack on very small low-cost devices. This technology, collectively referred to as Internet of Things (loT) provides for communication between devices, with the cloud, and for over-the-air data collection and device control. [0003] loT devices include a vast array of devices including household appliances, such as televisions, vacuum cleaners, kitchen appliances, devices that automate homes, for example, door locks, garage-door openers, electricity meters, devices that automate industrial machines, devices that control and monitor vehicles, for example, dash cameras, door locks, and electric- vehicle chargers. loT devices can transmit data collected from end users, can be reprogrammed over-the-air, and allow users to set parameters, for example. [0004] The nature of loT devices is that they are deployed in the field, i.e., they are released by manufacturers and device issuers into an environment in which the manufacturers and device issuers have lost physical control over the devices. For example, consider smart electricity meters (for simplicity, referred to as a smart meter). These are devices that are deployed at end-users’ homes and businesses that are power-company customers. Once installed at a customer facility, the smart meter is no longer under the physical control of neither the meter manufacturer nor the utility company. This situation is often referred to as a white -box environment . [0005] In a white-box environment an attacker has full physical control over a device that the attacker may wish to attack. Attacks come in many forms. An attacker may simply wish to determine the core IP of the manufacturer a device for the purpose of determining how the device works. Core IP, named from intellectual property, is the design of the physical implementation of an integrated circuit. An attacker may be interested in the core IP for the purpose of making unsanctioned derivatives of the attacked device. [0006] An attacker may be interested in determining something about an end-user of a device. Returning to the example of smart meters, it has been demonstrated that by analyzing electricity consumption it can be possible to determine the content being viewed by a utility customer on the utility customer’s television set. Such an astonishing result can, thus, be used to invade the customer’s privacy and to feed the customer targeted advertising. If an end user divulges other confidential information to their loT devices, e.g., account numbers, passwords, decryption keys, health records, successful attack against information held by the loT device can put an end-user in very precarious situations. [0007] Furthermore, an attacker may have more serious nefarious purposes in mind. For example, in the context of smart meters, one can imagine a terrorist or blackmail attack in which code is injected into the smart meters of an entire customer base of a utility company to either shut down the provisioning of power to the customers or threatening such an action in exchange for payment of a ransom. In the spring of 2021, the southern states of the United States experienced such an attack against a large network of petrol stations making the sale of petrol impossible for a period of time until, possibly, a ransom was paid. David E. Sanger et al., New York Times, Cyberattack Forces a Shutdown of a Top U.S. Pipeline, 13 May 2021. While that attack may have been at a different level, e.g., against servers, one can envision a similar attack being implemented against loT devices positioned in petrol-vending pumps. [0008] The aforementioned attacks can come in many different forms, for example, side-channel and fault-injection attacks. Side-channel attacks are based on analyzing sidechannel data, e.g., power consumption, emitted by a device to discern some aspect of the execution of programs running on a device. Side-channel attacks are described in greater detail in Mark Randolph and William Diehl, Power Side-Channel Attack Analysis: A Review of 20 Years of Study for the Layman, Cryptography, 4(2): 15, 2020 , the entire disclosure of which is incorporated herein by reference. Fault-injection attacks are based on insertion of code into an application executing on a device to cause an execution error from which data can be discerned, for example, via a debugger. Fault-injection attacks are described in A. Barenghi, L. Breveglieri, I. Koren and D. Naccache, "Fault Injection A