| Literature DB >> 31548501 |
Alberto Giaretta1, Nicola Dragoni2,3, Fabio Massacci4.
Abstract
Cybersecurity is one of the biggest challenges in the Internet of Things (IoT) domain, as well as one of its most embarrassing failures. As a matter of fact, nowadays IoT devices still exhibit various shortcomings. For example, they lack secure default configurations and sufficient security configurability. They also lack rich behavioural descriptions, failing to list provided and required services. To answer this problem, we envision a future where IoT devices carry behavioural contracts and Fog nodes store network policies. One requirement is that contract consistency must be easy to prove. Moreover, contracts must be easy to verify against network policies. In this paper, we propose to combine the security-by-contract (S × C) paradigm with Fog computing to secure IoT devices. Following our previous work, first we formally define the pillars of our proposal. Then, by means of a running case study, we show that we can model communication flows and prevent information leaks. Last, we show that our contribution enables a holistic approach to IoT security, and that it can also prevent unexpected chains of events.Entities:
Keywords: Fog computing; IoT; configurability; security; security-by-contract
Year: 2019 PMID: 31548501 PMCID: PMC6806331 DOI: 10.3390/s19194121
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Ängen context-aware smart home, equipped with various sensors, like motion and pressure ones.
Figure 2Security-by-contract (S×C) contract lifecycle. In Stage 4, the manufacturer digitally signs all the components, achieving software validation and non-repudiability: S × C provides semantics for digital signatures on an IoT code.
Roles, actions, and implications in the S × C setting.
| Actions | Implications | |
|---|---|---|
| User | Connects his S × C device to the network | Completely transparent for the user |
| Administrator | Manages the S × C network policy | Small overhead, in the form of policy creation and management |
| Manufacturer | Write device contract and provides PoC | Overhead in the form of contract and PoC certificate creation |
Figure 3Security contract C. Philips.HueWhite shares services On and Bri with all the devices in the LAN (e.g., with Amazon Echo). Service Hue is shared only with Philips devices, which means that in this scenario only Philips.HueMotion is allowed to use it. Moreover, Philips.HueWhite requires from Philips.HueMotion the service Presence.
Figure 5The topological map for the use case defined by [13].
Security contract C.
| Rule | |
|---|---|
|
| |
|
| * |
|
| *.* |
|
|
|
|
| - |
Figure 6Graphical representation of the architecture threat model.
is consistent. If the three elements do not match, the triplet is inconsistent.
Security contract C.
|
Rule | |
|---|---|
|
| |
|
| LAN |
|
| *.* |
|
|
|
|
| - |
Possible attacks on IoT devices (with vs without S × C).
| Action | Without S × C | With S × C |
|---|---|---|
| Compromised contract; | Do not apply, no contract exists | Fog node rejects device at installation time |
| Compromised PoC; | Do not apply, no PoC exists | Fog node rejects device at installation time |
| Compromised code; | Fog node has no way to detect unintended behaviours. Device is erroneously accepted | Fog node detects at runtime the breach as soon as the device behaves in a way that violates the policy |
| Behaviour violating policy; | Fog node has no way to detect unintended behaviours. Device is erroneously accepted | Fog node detects at runtime that the behaviour does not match the network policy. Device is rejected |
| Behaviour complying with policy; | Fog node has no way to detect unintended behaviours. Device is erroneously accepted | Fog node cannot detect at runtime that the behaviour does not match the network policy. Device is erroneously accepted |
Inconsistent security policy P.
|
Rule |
Rule |
Rule | |
|---|---|---|---|
|
| |||
|
| LAN | LAN | LAN |
|
| *.* | ||
|
| * |
|
|
|
| - |
Consistent security policy P.
| Rule | Rule | Rule | |
|---|---|---|---|
|
| |||
|
| LAN | LAN | LAN |
|
| *.* | ||
|
| * |
|
|
|
| - |
Possible attacks on fog node and communication channels (with vs without S × C).
| Action | Without S × C | With S × C |
|---|---|---|
| Compromising policy | Do not apply, Fog node is not in charge of the security policy | Compromised policy, but devices’ contracts and codes are unaltered. Attacker can only impede communications through a restricting policy. A more permissive policy cannot cause unexpected information leaks, devices still respect their own contracts |
| DoS attack on Fog node | Do not apply, Fog node is not in charge of the security policy | Compromised system, but devices’ contracts and codes are unaltered. Devices can potentially negotiate M2M and keep working according to their contracts |
| Man-in-the-Middle (MitM) attack | Attacker can steal and alter data | Attacker can steal and alter data |
Figure 7Code snippet that tests the implementation of IllegalInformationExchange.
Security rule structure.
| Device | The device name |
| Domain | The domain where the rule applies. For instance, |
|
| List of devices that the device D can interact with, in the domain |
|
| List of services |
|
| List of services |
Security rule R.
|
Rule | |
|---|---|
|
| |
|
| * |
|
| |
|
|
|
|
| - |
Security rule R.
| Rule | |
|---|---|
|
| |
|
| * |
|
| - |
|
| - |
|
|
Security rule R.
| Rule | |
|---|---|
|
| |
|
| LAN |
|
|
|
|
|
|
|
|
Security rule R.
|
Rule | |
|---|---|
|
| |
|
| * |
|
| - |
|
|
|
|
| - |
Security contract C.
|
Rule |
Rule | |
|---|---|---|
|
| ||
|
| * | LAN |
|
| ||
|
|
| |
|
| - | - |
Security contract C.
|
Rule |
Rule | |
|---|---|---|
|
| ||
|
| LAN | LAN |
|
|
| *.* |
|
|
|
|
|
| - |
Security contract C.
|
Rule |
Rule | |
|---|---|---|
|
| ||
|
| LAN | LAN |
|
|
| *.* |
|
|
|
|
|
| - |
Security policy P.
|
Rule |
Rule | Rule | |
|---|---|---|---|
|
| |||
|
| * | LAN | LAN |
|
|
| *.* | |
|
|
|
| |
|
| - | - |
Security policy P.
|
Rule |
Rule |
Rule | |
|---|---|---|---|
|
|
| ||
|
| * | LAN | Internet |
|
| *.* | - | |
|
|
| - | |
|
| - | - |
Illegal information exchange C ⇏ P.
|
| ||
|---|---|---|
|
| ||
|
| LAN | LAN |
|
| ||
|
|
| |
|
| - |
Inconsistent security policy P.
|
Rule |
Rule |
Rule | |
|---|---|---|---|
|
| |||
|
| * | LAN | LAN |
|
| *.* | *.* | |
|
|
|
| |
|
| - | - | - |
Security contract C.
|
Rule | |
|---|---|
|
| |
|
| * |
|
| *.* |
|
|
|
|
| - |
Inconsistent security policy P.
|
Rule |
Rule | |
|---|---|---|
|
| ||
|
| * | * |
|
| *.* | *.* |
|
| - |
|
|
| - | - |