Discovering IoT Physical Channel Vulnerabilities
Discovering IoT Physical Channel Vulnerabilities
App2
the light-on attribute in the first example. They cannot detect the App1
Physical
physical interactions because the app source code does not state Channel
Robot Vacuum Motion Sensor motion-active Turn on Lights
the physical channels, e.g., the heater’s influence on temperature. home-mode = away Motion Unlock the Patio Door
when the home mode is set to away (or at specific times). An adver- 3 DESIGN CHALLENGES
sary can provide users with App2 and App3 that operate correctly in
C1: Correct Physical Interactions. To identify physical interac-
isolation yet exploit the physical interactions to cause unsafe states.
tion vulnerabilities, prior works have used NLP techniques, e.g., the
When motion is detected (the user enters the home), App2 turns on
heater is semantically related to temperature [22], manually crafted
the lights and unlocks the patio door, and App3 sets the heater to a
interaction mappings, e.g., heater-on is mapped to the temperature
specific temperature value.
channel [5], and constructed naive device models, e.g., heater-on
In this deployment, the user leaves home and sets the home mode
increases temperature by 1°C in 8 hours [61].
to away, triggering App1 that starts the robot vacuum cleaner. The
These approaches, unfortunately, discover erroneous interac-
movements of the robot vacuum create a physical interaction with
tions or fail to discover them due to over-approximating and under-
App2 and App3 since the motion sensor detects the robot vacuum.
approximating physical channel properties. Such errors may cause
This results in unlocking the patio door and turning on the lights
serious consequences. For instance, when the user is not at home,
and the heater while the user is not at home. The unlocked patio
they fail to block door-unlock or mistakenly approve window-open.
door may allow a burglar to break in, the turned-on lights may
indicate whether the users are at home or not, and the heater’s C2: Unintended Physical Interactions. Prior works define se-
influence on temperature may trigger other apps (e.g., opening the curity rules based on the use cases of devices to prevent physical
windows), causing a chain of interactions between multiple apps. interaction vulnerabilities. Such rules do not consider unintended
The preceding example shows that the final environment states interactions, which occur beyond the intended use of devices and
do not just depend on individual devices but are a result of the apps, and unexpectedly trigger actions in a smart home. For in-
physical interactions of multiple devices. Each app is individually stance, the user uses App2 and App3 in Figure 1 to turn on the light
safe, yet their unified physical interactions leave users at risk. and heater and unlock the patio door when they enter the home.
However, when the vacuum robot creates motion, it unintentionally
triggers both of these apps and invokes their actions.
2.1 Threat Model Additionally, an actuation command may unintentionally trigger
Our threat model is similar to related IoT security works, which a security rule and subvert its intended use. For example, prior
focus on app interaction vulnerabilities [19, 22, 23, 61]. We consider works define a rule that states, “The alarm must sound and an
an adversary whose goal is to execute undesired device actions SMS/Push message should be sent to the owner when motion is
(e.g., unlocking the door when the user is sleeping) and cause un- detected, and home mode is away” to protect the smart home from
safe system states. The adversary achieves this goal by creating or intruders [23]. This rule can be triggered when App1 turns on the
exploiting physical app interactions. vacuum robot, which would create panic and unnecessarily bring
The adversary can conduct two types of attacks, a mass attack resources (e.g., police dispatch) to the home.
or a targeted attack. In a mass attack, an adversary provides users C3: Run-time Dilemmas. Dynamic systems that examine the
with apps operating correctly in isolation yet exploits the physical device states at run-time [19, 23] cannot infer the influence of an
interactions among apps to cause unsafe states on a large scale. exact command on a physical channel. For instance, in Figure 1, it
The adversary does not target a specific smart home but harms is unclear to these systems whether the motion is from the vacuum
many users and hurts the trustworthiness of an IoT platform. The robot or human presence. This challenge becomes more critical
adversary can conduct this attack by (1) distributing apps on IoT when multiple devices influence the same physical channel. For
platforms and third-party IoT forums and (2) tricking users into example, if a sound sensor detects the sound from both AC and
installing apps via phishing and other social engineering methods. dryer, the dynamic systems cannot determine if a single device or
In a targeted attack, the adversary determines a specific smart their aggregated influence changes the sound. This makes them
home to exploit its physical app interactions. First, the adversary flag incorrect physical interactions.
discovers an exploitable physical interaction in the target smart When an interaction vulnerability is identified, dynamic systems
home. For this, the adversary remotely learns the devices and in- either block device actions or notify users. However, these responses
stalled apps by eavesdropping on the commands and sensor events could be dangerous. For example, the door-unlock action might be
over network packets and mining their correlations [3, 26]. The blocked if there is a fire in the house when the user is not home.
adversary can then wait until the physical interactions naturally C4: Device Placement Sensitivity. Prior works do not model the
occur and create unsafe states (e.g., the door is unlocked when the impact of the distance between an actuator and a sensor on physical
user is not at home) to conduct a physical attack. The adversary interactions. Intuitively, if the distance between an actuator and
can also leverage vulnerable apps to remotely control a set of com- sensor increases, the physical influence of a command on sensor
mands and cause physical interactions [22, 23, 61]. Through this, readings decreases monotonically. Thus, when a device’s placement
the adversary can stealthily invoke actuation commands through is changed, the identified interactions may no longer occur, and
physical channels even if they cannot directly control them. there may be new interactions that were not previously identified.
The physical interactions might also happen due to the errors This observation causes wrong predictions with false positives
in users’ creation, installation, and configuration of apps. In such (incorrect policy violations and unnecessarily enforcing policies)
cases, the physical interactions subvert the intended use of IoT and false negatives (missing violations and failing to prevent them).
devices, leading to unsafe states. This is because IoT users are This is critical in smart homes as frequent device placement changes
usually uninformed about the implications of app interactions, as may occur with lightweight and portable IoT devices.
demonstrated by prior works [58, 66].
CCS ’22, November 7–11, 2022, Los Angeles, CA, USA Ozmen et al.
u Off
O=0
Start = 1 On
O = f(X)
v w Physical Channel Policies
Stop = 1
Agg On CPEM CPEM
O = f(X)
Start = 1
IoT Apps Static App Sensor Actuation Generic PEM Off On
O=0
Stop = 1
O = f(X)
Setting the CPEM
Analysis Events Commands Construction
Parameters Falsification Policy Violations
Unifying PEMS
4 IOTSEER DESIGN
u IoT Apps w
To discover physical interaction vulnerabilities, we introduce IoT- User
x
Seer, which combines app code analysis and dynamic analysis with IOTSEER v Edge Device
new security policies, and efficiently addresses the C1-C4 chal- Added, Removed, Mobile App
lenges. Figure 2 provides an overview of IoTSeer’s modules. Updated Apps/Devices
Start = 1
0.5
6. o.on() 0
0 10 20 30 40 50 60
Time (minutes)
Figure 4: Illustration of PeMs for actuators and sensors, and their CPeM for the unified behavior of three apps (App4 , App5 , App6 ).
Determining the physical channels that a command influences Example Actuator PeM. We illustrate a PeM for actuators that
requires collecting actuator and sensor traces from the smart home influences the temperature channel. The flow function for com-
since static app analysis does not reveal the commands’ physical mands that influence temperature uses the partial differential heat
channels. IoTSeer initially considers each command may influence diffusion equation [32], (𝜕T)/(𝜕t) = 𝛼 (𝜕 2 T)/(𝜕x2 ) with boundary
all physical channels and removes the over-approximated channels conditions. Here, T is the environment’s temperature (°K), x is the
in the deployment-specific module (See Sec. 4.2.2). distance parameter (m), 𝛼 is the thermal diffusivity constant (m2 /s),
PeMs for Actuation Commands. A command PeM defines the and the boundary conditions define the actuator’s temperature.
discrete and continuous dynamics of a command. The discrete Given the device property parameter and the distance to the
behaviors are an actuator’s states (e.g., on/off) for invoking the temperature sensor, the PeM outputs the command’s influence on
command from the app. The continuous behavior is an algebraic or the temperature sensor’s measurements over time.
differential equation that defines its physical behavior. PeMs for Sensor Events. We define an event’s PeM as a hybrid
Formally, each PeM is a hybrid I/O automaton [42] in the form I/O automaton (Hs ) with a single state, Q = {on} , and a timed (t) self
t
of Ha = (Q, X, f, →, U, O). Here Q is a set of discrete states, X is a transition on →
− on, where t is the frequency that a sensor samples
continuous variable, f is a flow function that defines the continuous its measurements. Figure 4- 2 depicts a sensor event’s PeM that
variable’s evolution, (→) defines the discrete transitions, and U/O only measures physical channels.
defines the input/output variables, as shown in Figure 4- 1 . We The sensor event PeM takes a sensitivity-level parameter, which
define the discrete states as Q = {on, off} , and discrete transitions defines the minimum amount of change in the physical channel
enable switching between them. The continuous variable defines (threshold) for a sensor to change its reading. We set the sensitivity
a command’s influence on physical channels (e.g., temperature in level based on the sensors installed in the smart home. A threshold
°F, sound in dB). The flow function acts on the continuous variable, function outputs a sensor reading indicating if the physical channel
and the PeM outputs the command’s influence. level is equal to or greater than the sensitivity level. If the sensor
We define a separate generic flow function for each physical measures boolean-typed values (e.g., motion), the PeM outputs a bit
channel. They are differential equations for continuous physical indicating “detected” or “undetected” events. If the sensor makes
channels such as temperature and algebraic equations for instant numerical readings (e.g., temperature), it outputs numerical values.
channels such as sound. A flow function takes two parameters as Example Sensor PeM. We illustrate a PeM for a sound sensor
input, device property, and distance from the actuator and outputs that outputs boolean-typed measurements. The threshold func-
the actuator’s influence on a physical channel at that distance. These tion of sound sensor events is defined as f(sp) = 1 if sp > th, 0
parameters allow us to use the same flow function for different otherwise. where sp is the ambient sound pressure and th is the
actuators that influence the same channel (e.g., heater-on and AC-on) sensor’s threshold (sensitivity level). Here, the PeM outputting 1
and the actuators with multiple working patterns (e.g., AC’s modes) means “sound-detected” and 0 means “sound-undetected.”
by setting different parameters. Built-in PeMs. Using the above approach, we have integrated
The property parameter describes the characteristics of a device, into IoTSeer a total of 24 actuator command PeMs (e.g., heater-on,
such as its operating power. In Sec. 4.2, we show how to set the pa- door-unlock) that influence a total of six physical channels, namely
rameters based on a specific smart home with IoTSeer’s deployment- temperature, humidity, illuminance, sound, motion, and smoke, and
specific module for precision. The distance parameter quantifies six sensor event PeMs that measure these channels. The PeMs can be
the command’s influence at different locations (e.g., fan-on’s sound easily extended to define the physical behavior of various devices
intensity at 1 and 2 meters away from the fan). We set this parame- since their flow functions are generic for a family of devices that
ter as the distance from the actuator to the sensor that measures influence the same physical channel.
its influence (Sec. 4.2). This makes the PeM practical against de- The PeMs allow us to obtain the physical behavior of popular apps
vice placement changes and enables effortless porting of IoTSeer to used in diverse IoT platforms. We detail their hybrid I/O automata
other deployments with different placements. in Appendix F and evaluate them in our evaluation in Sec. 5.
CCS ’22, November 7–11, 2022, Los Angeles, CA, USA Ozmen et al.
Algorithm 1 Composition of Physical Behavior of Apps operators so that a sensor event PeM takes the aggregated output of
Input: Actuation Command PeMs (Ha ), Sensor Event PeMs (Hs ), Apps ( Lapp ) command PeMs as input (Lines 18-19). Turning to Figure 4, IoTSeer
Output: CPeM ( M ) adds Agg(H1a {heater-on} , H2a {oven-on} ) ∼∼ temp-increase transition
1: function Composition(Ha , Hs ,Lapp ) to the CPeM. The AGG operator’s output is defined based on the
2: for Hi ∈ Ha , Hj ∈ Hs do
3: Unify (Hi , Hj ) ⊲ Command to sensor event transitions physical channel’s unit. It is the sum of the command PeM outputs,
Ín i
i=1 UNIFY(Ha , Hs ) , for linear scale channels (e.g., temperature) [67].
4: end for
5: for appi ∈ Lapp do
6: ⟨ Lcommand
𝑖 , Lcondition
𝑖 , Levent
𝑖 ⟩ = StaticAnalysis(appi )
The channels in the log scale (e.g., sound) are aggregated after being
i
converted to a linear scale, 10 × log10 ( ni=1 10Ha /10 ) [44].
Í
7: for s ∈ Levent𝑖 , a ∈ Lcommand
𝑖 do
8: if a.condition = true then Another property of physical channels is that a physical channel
9: Unify (Hs , Ha ) ⊲ Sensor event to command transitions (pj ) may depend on another channel (pi ) if a change in pi affects pj .
10: end if
11: end for Due to dependencies, a sensor event PeM’s output may influence
12: end for another sensor event PeM’s readings. The generic PeMs allow us
13: for a1 ∈ Lcommand do
14: if a1 ∈ Levent
𝑖 and ai .condition = true then to easily identify dependencies by iteratively taking each sensor
15: Unify (Ha1 , Hai ) ⊲ Software channel transitions event PeM and checking if it is used in the threshold function of
16: end if another sensor event (Lines 20-23). For instance, when ambient
17: end for
18: for Hj ∈ Hs do temperature increases, the air-water capacity increases and affects
19: Agg (Hj .U) ⊲ Aggregate inputs of the sensor events the humidity sensor’s readings [40]. To address this, we add a
20: for Hk ∈ Hs do
21: if Hj .O = Hk .U then Dep (Hj → Hk ) ⊲ Dependency DEP(His → Hjs ) transition from the temperature sensor event PeM
22: end if output (His ) to the humidity sensor event PeM input (Hjs ).
23: end for
24: end for Ð
25: return M = (Ha , Hs ) ⊲ Return CPeM 4.2 Deployment-specific Module
26: end function
The actuation command PeMs require distance and device property
parameters, and the sensor event PeMs require a sensitivity level
parameter. We set these parameters based on the devices installed
4.1.2 Unifying the Physical Behavior of Apps. After we build the
in the smart home to ensure the CPeM precisely models the physical
PeMs for sensors and actuators to define the behavior of each app,
behavior of the apps.
we build a separate CPeM to represent their joint behavior.
Algorithm 1 presents our approach to CPeM construction. The 4.2.1 Setting the Distance Parameter. To determine the distance
algorithm starts with identifying the interacting apps by matching parameter in PeMs, we initially considered leveraging a recent IoT
the physical channels of sensor events and commands. First, if a device localization tool, Lumos [54]. Lumos localizes IoT devices
sensor measures a physical channel that a command influences, we with high accuracy by requiring the user to walk around the smart
add a transition from the command PeM (Ha ) output to the sensor home with a mobile phone. However, this approach could be incon-
event PeM (Hs ) input (Lines 2-4). Second, software and physical venient for smart home users since it requires manual effort.
channels can trigger the event handler of apps and invoke com- To address this, we integrate received signal strength intensity
mands if the apps’ conditions are satisfied. For physical channels, (RSSI)-based distance estimation techniques [4, 63] into IoTSeer.
we add a transition from a sensor event PeM (Hs ) to a command Such techniques leverage the inverse proportion between distance
PeM (Ha ) (Lines 5-12). For software channels, we add a transition and RSSI to estimate the distance between two devices. Although
from a command PeM (Ha1 ) to another command PeM (Ha2 ) if an this approach may incur an error in the distance parameter, our
app invokes a2 when a1 occurs (Lines 13-17). The transitions are evaluation shows that the impact of such errors on IoTSeer’s policy
expressed with a UNIFY operator, which defines the interactions violation identification is minimal (See Sec. 5).
as a transition, Ha ∼∼Hs , Hs→
− Ha , and Ha→
− Ha . Here, ∼∼ is a physical
influence on a channel, and → − is a software channel. 4.2.2 Setting the Device Property Parameter. We consider two op-
Figure 4- 3 shows the CPeM of three apps (App4 , App5 , App6 ) that tions for setting the device property parameters based on the in-
automate a heater, oven, window, and temperature sensor. When stalled devices. The first is using the installed device’s datasheets.
App4 invokes heater-on and App5 invokes oven-on, IoTSeer identifies Yet, in our prototype implementation, we realized that the datasheets
heater-on’s and oven-on’s temperature PeMs interact with tempera- might be incomplete, or a discrepancy could occur, for example,
ture sensor of App6 . IoTSeer adds the below transitions to the CPeM: due to device aging [51]. To address this, we extend System Identi-
Ha {heater-on} ∼∼ Hs {temp-increase} fication (SI), a learning-based method commonly used by control
Ha {oven-on} ∼∼ Hs {temp-increase} engineers to estimate parameters or models of physical processes
Another transition from the temperature sensor event PeM to using experimental data traces [39, 49].
window-open PeM is then added because when the sensor measures SI allows us to estimate device property parameters that ensure
an increased temperature, App6 opens the window. the CPeM achieves high fidelity with actual devices. This process
Hs {temp-increase} →
requires fewer traces than the traditional application of SI as we
− Ha {window-open}
only estimate parameters instead of complete equations (See Sec. 5).
Addressing Aggregation and Dependency. A sensor measures We particularly use (𝜏, 𝜖)-closeness [2] as the fidelity metric. (𝜏, 𝜖)-
the accumulated influence of multiple commands. For this, we closeness determines the difference between two traces in their
define an aggregation operator (AGG), which combines UNIFY(Ha, Hs ) timing (𝜏) and values (𝜖), where 𝜖 is referred to as deviation score.
Discovering IoT Physical Channel Vulnerabilities CCS ’22, November 7–11, 2022, Los Angeles, CA, USA
unsafe system states. We present the security goal of each policy CPEM MTL Policy (𝝍) Policy Violation
and its expression with Metric Temporal Logic (MTL) in Table 1. 0
b. <
Off Start = 1 On
O=0
Stop = 1
O = f(X)
t Ro x
We validate the policies on the CPeM in the next section. Agg On v
The first policy, G1 , unintended individual interaction, states Off Start = 1 On
O = f(X)
Actuator and w Stochastic
O=0
Stop = 1
O = f(X)
Sensor TracesRobustness Rob. Optimization
that an actuation command’s unintended influence on a physi- Computation
cal channel must not trigger an app’s sensor event and invoke its u Apps’ Activation Times
device actions (Figure 5(a)). For instance, the robot vacuum’s mo-
Figure 6: Overview of falsification to find policy violations.
tion must not trigger an app that unlocks the patio door when a
motion-detected event occurs. This is because an adversary who
can invoke the start robot vacuum action (e.g., through a vulnerable
At each execution, the CPeM takes apps’ activation times as
app) can exploit this interaction to indirectly unlock the patio door.
input, which is the time when the app invokes its commands and
The second policy, G2 , states the aggregated influence from multi-
the command PeM transitions to the “on” state. The CPeM simulates
ple commands must not unintentionally trigger an app and invoke
the unified physical behavior of commands and sensor events and
its device actions (Figure 5(b)). Although a command’s individual
outputs traces of PeMs. The traces (v, t) are composed of a periodic
influence may not trigger an app, its aggregation with another com-
timestamp t, and a physical channel value v. Each command PeM’s
mand’s influence may trigger it. For example, the aggregated sound
v shows how much it influences a channel, and each sensor event
of AC-on and dryer-on must not trigger an app that sounds an alarm
PeM’s v shows its measurements. The traces also include labels
when the sound-detected event occurs, and the home mode is away.
(Int/UnInt) and app IDs of commands/events for root cause analysis.
The last policy, G3 , states if the commands’ intended influences
do not trigger an app’s sensor event, their aggregation with other Policy Validation Challenges. The physical channel values and
commands’ unintended influences must not trigger it (Figure 5(c)). the app activation times are continuous; thus, the CPeM’s state
For instance, if the light bulb’s Int influence on illuminance does space becomes infinite, which makes formal verification approaches
not create a light-detected event and trigger apps, its aggregation (e.g., model checking) undecidable on the CPeM [6, 33, 48].
with the TV’s UnInt influence must not trigger the apps as well. To address this issue, we initially implemented a grid-testing
These unintended physical interactions, by definition, are not approach, a commonly applied method for testing CPS and au-
features as they are not desired by users. Yet, an adversary can tonomous vehicle software [21, 46, 68]. Grid-testing determines
exploit them to indirectly control devices and cause unsafe states. whether the CPeM satisfies a policy under a finite set of apps’ ac-
tivation times– the times that apps invoke actuation commands.
Device-Centric Policies. While intent-based policies detect unsafe
Algorithm 2 presents the grid-testing approach on the CPeM for pol-
states from unintended physical interactions, Int labeled physical
icy validation. We set apps’ activation times as a grid (t0 : Δt : tend )
channels can also cause unsafe states. For instance, the heater’s
(Line 3). The algorithm executes the CPeM with a search on activa-
intended influence on the temperature sensor may trigger an app
tion time combinations. It then validates a policy on each execu-
that opens the windows when the temperature exceeds a threshold.
tion’s traces from PeMs with a robustness metric (Lines 4-6), where
To address such violations, we extend the security rules of previ-
negative robustness values indicate a policy violation.
ous works [17, 19, 23] (and enhance them with time-constrained
However, we found that grid-testing does not scale larger analy-
temporal operators in MTL) to define device-centric policies. We
ses with the increasing number of interacting apps and may miss
present a subset of device-centric policies in Table 2 and give the
policy violations due to input discretization. To address these, we
complete list in Appendix B. For instance, the DC5 policy states phys-
extend optimization-guided falsification and compare it with grid-
ical interactions must not prevent an alarm from going off in two
testing in identifying violations and performance overhead in Sec. 5.
secs after smoke is detected (□( (smoke > th) → 3 [0,2] (alarm = ON) ) ,
where □ is always, and 3 [0,2] is eventually within next 2 secs). Optimization-Guided Falsification. Falsification is a formal anal-
ysis technique that searches for a counterexample to an MTL policy
4.3.2 Validating Policies on CPeM. After identified policies are ex- from a continuous input set [1, 7]. Figure 6 depicts our approach in
pressed with MTL, IoTSeer executes the CPeM (hybrid I/O automa- leveraging falsification to search for interacting apps that cause a
ton) and collects actuator and sensor traces to validate policies. policy violation on the CPeM.
Discovering IoT Physical Channel Vulnerabilities CCS ’22, November 7–11, 2022, Los Angeles, CA, USA
Sensors
Table 3: Physical channels of studied actuators and sensors.
12 a Temperature c Sound e Motion
conditioned on the motion-detected event. For instance, this viola- App26 to turn on the heater ( 1 ). The heater’s Int temperature then
tion occurs when App17 starts the robot vacuum when the home triggers App23 and turns on the bulb, violating DC9 .
mode is set to away, and App27 unlocks the door when motion is de-
tected. Second, the sound sensor detects the garbage disposal’s (V2 )
and TV’s (V3 ) sound, unintentionally triggering apps conditioned 5.1.3 Comparison with Previous Work. In Table 4, we compare
on sound-detected. For example, App9 turns on the garbage disposal the policy violations flagged by IoTSeer with the most applicable
at a user-defined time, and App19 notifies the user when sound is approaches, iRuler [61], IoTMon [22], and IoTSafe [23], that run on
detected, creating unnecessary panic. IoT app source code to identify physical interaction vulnerabilities.
Aggregation Policy (G2 ) Violations. IoTSeer flagged three ag- To identify physical interactions among apps, iRuler uses device
gregation policy (G2 ) violations among one group of devices. The behavioral models (e.g., AC-on decreases the temperature by 1°C ev-
sound sensor outputs a sound-detected event due to the unintended ery hour), and IoTMon mines the apps’ text descriptions (e.g., finds
aggregated influence from AC-on, washer-on, and dryer-on. This, in AC is semantically related to temperature). If we assume they cor-
turn, triggers three apps conditioned on the sound-detected event rectly map all physical channels that each command influences in
and causes light-on, TV-on, and call-user actions. our smart home, iRuler cannot identify any of IoTSeer’s violations,
Bypass Policy (G3 ) Violations. IoTSeer identified a single bypass and IoTMon can identify 2 out of 16 violations. This is because (1)
policy (G3 ) violation. The illuminance sensor measures the aggre- their policies cannot reason about the intended use of apps, (2) they
gated illuminance of light-on and TV-on. The increase in illuminance do not consider the complex physical properties such as aggregation
triggers App34 , turning off the lights. However, App34 ’s intended oper- and dependency, and (3) iRuler does not consider device-centric
ation is turning off the lights when the daylight is enough to illumi- vulnerabilities. Additionally, IoTMon would flag 18 false positives
nate the environment, which is semantically related to the light-on as most commands do not individually cause physical interactions.
action. Therefore, light-on’s influence on App34 ’s sensor event is To illustrate, it defines a physical channel between the temperature
intended, whereas TV-on’s influence is unintended. Since light-on’s sensor and oven; yet oven-on’s individual influence on temperature
individual influence cannot trigger App34 ’s light-detected event is not enough to cause an interaction.
but its influence aggregated with the unintended influence from IoTSafe models the apps’ physical behavior through dynamically
TV-on triggers it, the app’s intended use is bypassed. collected sensor traces and predicts physical channel values at run-
time for policy enforcement. Compared to IoTMon, IoTSafe does not
flag any false positives since it relies on sensor traces collected from
5.1.2 Device-Centric Policy Violations. IoTSeer identified two device- real devices. However, it can also detect only 2 out of 16 violations
centric policy violations, V6 between three apps and V7 between four in our smart home. This is because, as a run-time enforcement
apps. In V6 , while the home is in sleep mode, the AC’s influence system, it cannot infer the influence of an exact command on a
on temperature triggers App23 to turn on the bulb. This violates physical channel. Additionally, its policy enforcement may create
DC8 since the bulb is turned on when the home mode is sleep. In unnecessary panic in our home since the robot vacuum’s motion
V7 , two physical interactions occur due to UnInt and Int channels. would trigger its policy that sounds an alarm and sends a message
While the home mode is away, the vacuum’s UnInt motion triggers to the user when motion is detected.
Discovering IoT Physical Channel Vulnerabilities CCS ’22, November 7–11, 2022, Los Angeles, CA, USA
motion- App27: Table 5: The physical channels that cause policy violations
App17:
Motion vacuum-on Motion
detected door-unlock after new device placement, and their tolerance to errors.
Sensor Sensor
Motion Not Motion
Detected Detected
Physical Channel Tolerance to Distance Error
washer-on ∼∼ sound-detected 20%
Figure 8: Illustration of the V1 violation. dryer-on ∼∼ sound-detected > 50%
TV-on ∼∼ sound-detected > 50%
350
105 Table 6: Mitigated policy violations with different methods.
Grid-Testing
Grid-Testing
Falsification
300 Falsification
4
10
250
Policy
Time (s) (log)
Time (s)
103 200 Mitigation Method G1 G2 G3 DC
2 150 Patching the App Code 10/10 3/3 1/1 0/2
10
100
Device Placement Changes 10/10 3/3 1/1 2/2
101 Removal of Apps 10/10 3/3 1/1 2/2
50
100 0
1 2 3 4 5 6 1 2 3 4 5
# Influencing Actuation Commands # Policies
(a) (b)
user may prefer this method if an app is not critically needed and
Figure 9: (a) #Actuation commands and (b) #Policies vs. time. other mitigation techniques are not feasible.
For the 16 identified policy violations, we applied the above miti-
gation methods and evaluated their effectiveness. Table 6 shows the
number of policy violations prevented by our mitigation methods.
Number of Policies vs. Time. We evaluate the validation time First, patching the app code prevents 14 out of 16 violations as it in-
with an increasing number of policies. We set the number of com- serts predicates that guard the unintended physical interactions. For
mand PeMs to three, and a sensor measures their aggregated physi- instance, V1 is patched by adding a condition to the apps triggered
cal influence. Figure 9b shows the time overhead of both testing and by the motion detected event. The condition checks whether the
falsification increases linearly with the number of policies. Here, robot vacuum is not on before sending the app’s commands. Second,
falsification is ≈ 3× more efficient than testing as testing validates changing the device placement prevents all violations. We validate
the policies with all combinations of apps’ activation times. this through in-home experiments with increased distance between
the devices in the policy violations. For instance, increasing the
5.3.2 Time for Device Trace Collection. We present the time for ac-
distance from the garbage disposal to the sound sensor prevents
tuator and sensor trace collection from actual devices to tune CPeM
V2 as garbage-disposal-on’s sound cannot reach the sensor. Finally,
parameters. It took 7 hours to record the measurements from actual
removing the apps involved in the physical interactions prevents
sensors, which required turning on each actuator and collecting
all violations, e.g., removing a single app from the three apps that
traces from all sensors in the smart home. This is an improvement
cause the V6 violation prevents it.
over generating generic flow functions by SI solely using device
We note that our mitigation methods may prevent desired actions
traces, which requires ≈ 175 hours of data collection with different
while eliminating dangerous app interactions. First, code patching
device properties and distances.
blocks actions while actuators that unintentionally influence a
physical channel are turned on, yet, a user may desire to issue
6 DISCUSSION & LIMITATIONS those actions. In such cases, the user can manually activate them
Mitigating the Policy Violations. IoTSeer identifies policy viola- and respond to the app interactions. Second, changing a device’s
tions and presents users with a report that details the violation’s placement may be inconvenient for the user, and it may cause
root cause. However, there is a need to mitigate the policy viola- other policy violations. However, IoTSeer can identify new policy
tions to ensure the safe and secure operation of the smart home. violations by updating its distance parameters and running its
We discuss three methods for mitigation, (1) patching the app code, security analysis module. Lastly, removing an app eliminates all
(2) device placement changes, and (3) removal of apps. of its interactions; however, users may not desire to remove the
The first mitigation technique is patching the app code to block apps they need. In future work, we will conduct user studies to
its commands if the app is triggered due to an unintended influence. learn how users perceive the mitigation methods and investigate
This technique adds a code block that guards an app’s action with a advanced techniques for automated patching. For instance, we will
predicate conditioned on the devices that unintentionally influence explore automated distance range discovery through parameter
the app’s sensor event. If a device is unintentionally influencing mining [36] to find the specific distance ranges between actuators
a channel, the predicate becomes false, preventing the app from and sensors that can prevent all policy violations.
issuing its command. For instance, the V4 violation is prevented Manual Effort Required. IoTSeer requires users’ effort in deter-
by adding a predicate to the apps conditioned on sound-detected. mining the distance parameter in the CPeM and the Int/UnInt labels
The predicate blocks apps’ actions if the AC, washer, and dryer are for intent-based policies. First, the users need to confirm that the dis-
simultaneously turned on, preventing the unintended interactions. tances found from RSSI-based localization are correct and provide
Second, we recommend users increase the distance between the the distances manually if necessary. This effort is not a significant
actuator and sensor to prevent policy violations. This is because a burden for users since they can provide approximate distances.
command’s influence on sensor readings monotonically decreases This is because IoTSeer can tolerate small errors in the distance
as the distance between the actuator and sensor increases [60, 67]. parameter, as shown in our evaluation. Second, although IoTSeer
For instance, operating the robot vacuum away from the motion generates Int/UnInt labels between commands and apps, the users
sensor (e.g., by setting ‘keep out zones’) prevents the motion from may have different intentions than the generated ones. Therefore,
vacuum-on from triggering events. Lastly, removing one or more they need to check the labels and update them if necessary based
apps involved in the physical interaction prevents a violation. A on their intended use of the actuators and apps.
Discovering IoT Physical Channel Vulnerabilities CCS ’22, November 7–11, 2022, Los Angeles, CA, USA
Table 7: Comparison of IoTSeer with IoT security systems. both discrete and continuous behaviors. In contrast, IoTSeer extends
optimization-guided falsification for scalable policy validation.
Physical Channel Properties Security Analysis
Labels Time Policy
System Dist. Agg. Dep. Composition
(Int/UnInt) Constraints Validation†
IotGuard∗ [19] ✗ ✗ ✗ ✗ ✗ ✗ RA
8 CONCLUSIONS
IoTSafe∗ [23] ✗ ✓ ✓ ✗ ✗ ✗ RP
MenShen [13] ✗ ✗ ✗ ✗ ✗ ✗ RA
We introduce IoTSeer, which identifies the physical channel vul-
iRuler [61] ✗ ✗ ✗ ✗ ✗ ✗ RL nerabilities in smart homes. IoTSeer combines static app analysis
IoTCom [5] ✗ ✗ ✗ ✗ ✗ ✗ MC
IoTMon [22] ✗ ✗ ✗ ✗ ✗ ✗ N/A
with system identification to precisely model the composite phys-
IoTSeer ✓ ✓ ✓ ✓ ✓ ✓ F ical behavior of apps and uses falsification to validate identified
∗ IoTGuard and IoTSafe are run-time policy enforcement systems. physical channel policies. Our evaluation in a real house demon-
† RA: Reachability Analysis, RL: Rewriting Logic, MC: Model Checking, F: Optimization-guided
Falsification, RP: Run-time Prediction. strates that many apps interact over physical channels, and IoTSeer
efficiently and effectively identifies all policy violations. This paper
is an important step forward in achieving the compositional safety
and security of an IoT system’s physical behavior.
Environmental Noise. The environment that the devices operate
in may influence the physical channels and impact the app interac-
tions. As IoTSeer leverages SI to tune CPeM parameters, it integrates ACKNOWLEDGMENTS
various environmental impacts such as room layout and furniture. We would like to thank Engin Masazade and Ali Cem Kizilalp for
Yet, human activities and uncontrolled environmental noise may their feedback on the earlier version of this paper. This work has
also influence sensor measurements. To measure the impact of been partially supported by the National Science Foundation (NSF)
human activities, we conducted additional experiments while a under grants CNS-2144645, 1901242, and 1910300, DARPA VSPELLS
user was cooking and exercising. We have found that the users do under grant HR001120S0058, Rolls-Royce Cyber Technology Re-
not introduce detectable changes to sensors. We have shown in search Network Award, National Natural Science Foundation of
in-home validation experiments that uncontrolled noise causes the China (No. 61702263), and the scholarship from China Scholarship
violations to occur at slightly different times. Council (No. 201906845026). The views expressed are those of the
authors only.
7 RELATED WORK
In Table 7, we compare IoTSeer with several recent approaches that REFERENCES
focus on identifying the vulnerabilities that IoT app interactions [1] Houssam Abbas, Georgios Fainekos, Sriram Sankaranarayanan, Franjo Ivančić,
present. These approaches can be classified into two categories: and Aarti Gupta. 2013. Probabilistic temporal logic falsification of cyber-physical
systems. ACM Transactions on Embedded Computing Systems (TECS).
run-time policy enforcement and static analysis for IoT apps. [2] Houssam Abbas, Hans Mittelmann, and Georgios Fainekos. 2014. Formal property
Run-time Policy Enforcement. IoTGuard [19] instruments apps verification in a conformance testing framework. In ACM/IEEE Conference on
Formal Methods and Models for Codesign (MEMOCODE).
to build dynamic models and enforces policies at run-time. Yet, it [3] Abbas Acar, Hossein Fereidooni, Tigist Abera, Amit Kumar Sikder, Markus Miet-
cannot correctly identify physical interactions since its models do tinen, Hidayet Aksu, Mauro Conti, Ahmad-Reza Sadeghi, and A Selcuk Uluagac.
2018. Peek-a-Boo: I see your smart home activities, even encrypted! arXiv
not include the commands’ physical influences. preprint arXiv:1808.02741.
IoTSafe [23] collects actuator and sensor traces to identify physi- [4] Omotayo G Adewumi, Karim Djouani, and Anish M Kurien. 2013. RSSI based
cal interactions and builds physical models for continuous physical indoor and outdoor distance estimation for localization in WSN. In IEEE Interna-
tional Conference on Industrial Technology (ICIT).
channels to predict incoming policy violations at run-time. How- [5] Mohannad Alhanahnah, Clay Stevens, and Hamid Bagheri. 2020. Scalable analysis
ever, it cannot identify intent-based violations as its policies are of interaction threats in IoT systems. In ACM SIGSOFT International Symposium
only defined based on the use cases of devices, and it cannot de- on Software Testing and Analysis.
[6] Rajeev Alur, Costas Courcoubetis, Nicolas Halbwachs, Thomas A Henzinger,
termine the specific command that influences a physical channel Pei-Hsin Ho, Xavier Nicollin, Alfredo Olivero, Joseph Sifakis, and Sergio Yovine.
from examining sensor measurements at run-time. Additionally, 1995. The algorithmic analysis of hybrid systems. Theoretical Computer Science.
[7] Yashwanth Singh Rahul Annapureddy and Georgios E Fainekos. 2010. Ant
IoTSafe does not consider distance in its models and flags incorrect colonies for temporal logic falsification of hybrid systems. In Annual Conference
violations or fails to detect a violation when a device’s placement is on IEEE Industrial Electronics Society.
changed. These systems motivate the need for IoTSeer, which can [8] Yashwanth Annpureddy, Che Liu, Georgios Fainekos, and Sriram Sankara-
narayanan. 2011. S-taliro: A tool for temporal logic falsification for hybrid
precisely identify dangerous physical interactions before the smart systems. In International Conference on Tools and Algorithms for the Construction
home’s run-time operation. and Analysis of Systems. Springer.
[9] Ardupilot SITL 2022. Ardupilot Simulation. https://ardupilot.org/dev/docs/
Static Analysis of IoT Apps. Existing static analysis systems do simulation-2.html. [Online; accessed 18-April-2022].
not model apps’ complex physical behavior. Instead, they build indi- [10] Musard Balliu, Massimo Merro, and Michele Pasqua. 2019. Securing cross-app
vidual physical channel mappings, generate naive device behavioral interactions in IoT platforms. In IEEE Computer Security Foundations Symposium.
[11] Musard Balliu, Massimo Merro, Michele Pasqua, and Mikhail Shcherbakov. 2020.
models [13, 61], or use natural language processing [22] to infer Friendly Fire: Cross-App Interactions in IoT Platforms. ACM Transactions on
interacting apps. Thus, they identify limited physical interactions Privacy and Security (TOPS).
[12] Louis A Bloomfield. 2007. How everything works: making physics out of the
and lead to false positives. As presented in Table 7, IoTSeer is the ordinary. John Wiley & Sons.
first to integrate the complex physical properties of commands and [13] Lei Bu, Wen Xiong, Chieh-Jan Mike Liang, Shi Han, Dongmei Zhang, Shan Lin,
sensor events into the source code of IoT apps (“Physical Channel and Xuandong Li. 2018. Systematically ensuring the confidence of real-time
home automation IoT systems. ACM Transactions on Cyber-Physical Systems.
Properties” Columns). Additionally, their validation techniques can- [14] R Bukowski, R Peacock, J Averill, T Cleary, N Bryner, W Walton, P Reneke, and
not readily be used to verify physical interactions as apps exhibit E Kuligowski. 2003. Performance of home smoke alarms. NIST Tech. Note.
CCS ’22, November 7–11, 2022, Los Angeles, CA, USA Ozmen et al.
[15] Carla Physics 2022. Carla - Control and Monitor Vehicle Physics. https://carla. and Technologies.
readthedocs.io/en/latest/tuto_G_control_vehicle_physics/. [Online; accessed [46] Justin Norden, Matthew O’Kelly, and Aman Sinha. 2019. Efficient black-box
18-April-2022]. assessment of autonomous vehicle safety. arXiv preprint arXiv:1912.03618.
[16] Z Berkay Celik, Earlence Fernandes, Eric Pauley, Gang Tan, and Patrick McDaniel. [47] OpenHab 2022. OpenHAB: Open Source Automation Software for Home. https:
2019. Program analysis of commodity IoT applications for security and privacy: //www.openhab.org/. [Online; accessed 30-April-2022].
Challenges and opportunities. ACM Computing Surveys (CSUR). [48] Erion Plaku, Lydia E Kavraki, and Moshe Y Vardi. 2009. Falsification of LTL safety
[17] Z Berkay Celik, Patrick McDaniel, and Gang Tan. 2018. Soteria: Automated IoT properties in hybrid systems. In International Conference on Tools and Algorithms
safety and security analysis. In USENIX Annual Technical Conference (USENIX for the Construction and Analysis of Systems. Springer.
ATC). [49] Claudius Ptolemaeus (Ed.). 2014. System Design, Modeling, and Simulation using
[18] Z Berkay Celik, Patrick McDaniel, Gang Tan, Leonardo Babun, and A Selcuk Ptolemy II. Ptolemy.org. http://ptolemy.org/books/Systems
Uluagac. 2019. Verifying internet of things safety and security in physical spaces. [50] PX4 SITL 2022. PX4 Simulation. https://docs.px4.io/master/en/simulation/.
IEEE Security & Privacy. [Online; accessed 18-April-2022].
[19] Z Berkay Celik, Gang Tan, and Patrick D McDaniel. 2019. IoTGuard: Dynamic [51] Philippe Réfrégier. 2004. Noise theory and application to physics: from fluctuations
Enforcement of Security and Safety Policy in Commodity IoT. In NDSS. to information. Springer Science & Business Media.
[20] Haotian Chi, Qiang Zeng, Xiaojiang Du, and Jiaping Yu. 2020. Cross-app interfer- [52] Agustin Salazar. 2003. On thermal diffusivity. European Journal of Physics.
ence threats in smart homes: Categorization, detection and handling. In IEEE/IFIP [53] Scilab 2022. Scilab: Open source software for numerical computation. https:
International Conference on Dependable Systems and Networks (DSN). //www.scilab.org/. [Online; accessed 15-April-2022].
[21] Anthony Corso, Robert J Moss, Mark Koren, Ritchie Lee, and Mykel J Kochender- [54] Rahul Anand Sharma, Elahe Soltanaghaei, Anthony Rowe, and Vyas Sekar. 2022.
fer. 2020. A survey of algorithms for black-box safety validation. arXiv preprint Lumos: Identifying and Localizing Diverse Hidden IoT Devices in an Unfamiliar
arXiv:2005.02979. Environment. In USENIX Security.
[22] Wenbo Ding and Hongxin Hu. 2018. On the safety of IoT device physical inter- [55] SpaceEx 2022. SpaceEx: State Space Explorer. http://spaceex.imag.fr/. [Online;
action control. In ACM SIGSAC Conference on Computer and Communications accessed 15-April-2022].
Security (CCS). [56] Milijana Surbatovich, Jassim Aljuraidan, Lujo Bauer, Anupam Das, and Limin Jia.
[23] Wenbo Ding, Hongxin Hu, and Long Cheng. 2021. IoTSafe: Enforcing Safety and 2017. Some recipes can do more than spoil your appetite: Analyzing the security
Security Policy with Real IoT Physical Interaction Discovery. In NDSS. and privacy risks of IFTTT recipes. In International Conference on World Wide
[24] Isaac Elishakoff. 2000. Whys and hows in uncertainty modelling. Springer. Web.
[25] Georgios Fainekos, Bardh Hoxha, and Sriram Sankaranarayanan. 2019. Robust- [57] Yuan Tian, Nan Zhang, Yueh-Hsun Lin, XiaoFeng Wang, Blase Ur, Xianzheng
ness of Specifications and Its Applications to Falsification, Parameter Mining, Guo, and Patrick Tague. 2017. Smartauth: User-centered authorization for the
and Runtime Monitoring with S-TaLiRo. In International Conference on Runtime internet of things. In USENIX Security.
Verification. Springer. [58] Blase Ur, Melwyn Pak Yong Ho, Stephen Brawner, Jiyun Lee, Sarah Mennicken,
[26] Chenglong Fu, Qiang Zeng, and Xiaojiang Du. 2021. HAWatcher: Semantics- Noah Picard, Diane Schulze, and Michael L Littman. 2016. Trigger-action pro-
Aware Anomaly Detection for Appified Smart Homes. In USENIX Security. gramming in the wild: An analysis of 200,000 IFTTT recipes. In CHI Conference
[27] Leon R Glicksman and Steven Taub. 1997. Thermal and behavioral modeling of on Human Factors in Computing Systems.
occupant-controlled heating, ventilating and air conditioning systems. Energy [59] JT Van Ginkel and E Hasselaar. 2006. Moisture balance in dwellings. Healthy
and Buildings. Buildings proceedings; Design and operation of healthy buildings.
[28] GNU Octave 2022. GNU Octave: Scientific Programming Language. https: [60] Nikolaos Voudoukis and Sarantos Oikonomidis. 2017. Inverse square law for light
//www.gnu.org/software/octave/. [Online; accessed 15-April-2022]. and radiation: A unifying educational approach. European Journal of Engineering
[29] Patrice Godefroid, Michael Y Levin, and David A Molnar. 2008. Automated Research and Science.
Whitebox Fuzz Testing. In NDSS. [61] Qi Wang, Pubali Datta, Wei Yang, Si Liu, Adam Bates, and Carl A Gunter. 2019.
[30] Rafal Goebel, Ricardo G Sanfelice, and Andrew R Teel. 2009. Hybrid dynamical Charting the Attack Surface of Trigger-Action IoT Platforms. In ACM SIGSAC
systems. IEEE Control Systems Magazine. Conference on Computer and Communications Security (CCS).
[31] Furkan Goksel, Muslum Ozgur Ozmen, Michael Reeves, Basavesh Shivakumar, [62] Ethan Winer. 2012. The audio expert: everything you need to know about audio.
and Z Berkay Celik. 2021. On the safety implications of misordered events and CRC Press.
commands in IoT systems. In IEEE Security and Privacy Workshops (SPW). [63] Giovanni Zanca, Francesco Zorzi, Andrea Zanella, and Michele Zorzi. 2008. Ex-
[32] Matthew J Hancock. 2006. The 1-D heat equation. MIT OpenCourseWare. perimental comparison of RSSI-based localization algorithms for indoor wireless
[33] Thomas A Henzinger, Peter W Kopke, Anuj Puri, and Pravin Varaiya. 1998. sensor networks. In Proceedings of the Workshop on Real-World Wireless Sensor
What’s decidable about hybrid automata? J. Comput. System Sci. Networks.
[34] Joseph Hilsenrath. 1955. Tables of thermal properties of gases: comprising tables [64] Zapier 2022. Zapier: Connect your apps and automate workflows. https://zapier.
of thermodynamic and transport properties of air, argon, carbon dioxide, carbon com/. [Online; accessed 30-April-2022].
monoxide, hydrogen, nitrogen, oxygen, and steam. US Department of Commerce, [65] Lefan Zhang, Weijia He, Jesse Martinez, Noah Brackenbury, Shan Lu, and Blase
National Bureau of Standards. Ur. 2019. AutoTap: synthesizing and repairing trigger-action programs using
[35] HomeKit 2022. Apple’s HomeKit. https://www.apple.com/ios/home/. [Online; LTL properties. In 2019 IEEE/ACM 41st International Conference on Software
accessed 30-April-2022]. Engineering (ICSE).
[36] Bardh Hoxha, Adel Dokhanchi, and Georgios Fainekos. 2018. Mining parametric [66] Valerie Zhao, Lefan Zhang, Bo Wang, Shan Lu, and Blase Ur. 2020. Visualizing
temporal logic properties in model-based design for cyber-physical systems. Differences to Improve End-User Understanding of Trigger-Action Programs. In
International Journal on Software Tools for Technology Transfer. CHI Conference on Human Factors in Computing Systems.
[37] IFTTT 2022. IFTTT (If This Then That). https://ifttt.com/. [Online; accessed [67] Alexander Zhivov, Hakon Skistad, Elisabeth Mundt, Vladimir Posokhin, Mike
18-April-2022]. Ratcliff, Eugene Shilkrot, and Andrey Strongin. 2001. Principles of air and con-
[38] AG Jackson, SJP Laube, and J Busbee. 1996. Sensor principles and methods for taminant movement inside and around buildings. In Industrial Ventilation Design
measuring physical properties. JOM. Guidebook. Elsevier.
[39] Karel J Keesman. 2011. System identification: an introduction. Springer Science & [68] Aditya Zutshi, Jyotirmoy V Deshmukh, Sriram Sankaranarayanan, and James
Business Media. Kapinski. 2014. Multiple shooting, cegar-based falsification for hybrid systems.
[40] Mark G Lawrence. 2005. The relationship between relative humidity and the In International Conference on Embedded Software.
dewpoint temperature in moist air: A simple conversion and applications. Bulletin
of the American Meteorological Society.
[41] T G Lee and George W Mulholland. 1977. Physical Properties of Smokes Pertinent
to Smoke Detector Technology. Final Report. NIST Interagency/Internal Report A APPENDIX GUIDE
(NISTIR). This Appendix provides the information necessary to reproduce
[42] Nancy Lynch, Roberto Segala, and Frits Vaandrager. 2003. Hybrid I/O automata.
Information and Computation. our results. In Appendix B, we present the identified device-centric
[43] Sunil Manandhar, Kevin Moran, Kaushal Kafle, Ruhao Tang, Denys Poshyvanyk, policies. In Appendix C, we describe the CPeM fidelity experiments
and Adwait Nadkarni. 2020. Towards a Natural Perspective of Smart Homes
for Practical Security and Safety Analyses. In IEEE Symposium on Security and
and present our numerical results. In Appendix D, we present an
Privacy (S&P). example CPeM developed with Simulink. In Appendix E, we detail
[44] Fedor Mitschke. 2009. Decibel units. In Fiber Optics. Springer. the apps considered in our evaluation. In Appendix F, we present the
[45] Dang Tu Nguyen, Chengyu Song, Zhiyun Qian, Srikanth V Krishnamurthy,
Edward JM Colbert, and Patrick McDaniel. 2018. IoTSan: Fortifying the safety flow functions of studied actuation commands and sensor events.
of IoT systems. In International Conference on Emerging Networking Experiments In Appendix G, we present the influence of actuation commands on
Discovering IoT Physical Channel Vulnerabilities CCS ’22, November 7–11, 2022, Los Angeles, CA, USA
physical channels, the distances between the actuators and sensors, distances. We observe slight deviations in temperature, illuminance,
and the sensor sensitivity levels. We note that IoTSeer contains all sound, and humidity sensor PeM outputs and no deviation in motion
tools necessary to extend the CPeM to other apps and allows for sensor PeM outputs. This shows that our actuator and sensor PeMs
replacing the flow functions of studied actuation commands and have high fidelity with actual device traces. The slight deviations
sensor events with the ones that may be a better contextual fit. are due to the uncertainties in the environmental factors (e.g., the
sunlight amount in the room [24]) that impact actual device traces.
B DEVICE-CENTRIC POLICIES To illustrate, Figure 10 plots the traces from PeMs and actual
We present the identified device-centric policies in Table 8. device experiments of light-bulb-on’s influence on the illuminance
sensor and oven-on’s influence on the temperature sensor. We found
C CPEM FIDELITY EXPERIMENTS the bulb-on PeM deviates on average ≈ 20 lux from device traces.
Additionally, oven-on increases the temperature sensor readings by
We evaluate the fidelity of CPeM compared to the actual devices.
1.8°F in both PeM and actual device traces at 0.5 meters. The PeM
We select all actuation command and sensor pairs where the sensor
yields an increase at minute 19.6, but the increase in the device
measures the command’s influence. We set the distance in each
traces occurs at minute 23.8. This leads to 𝜏 = 0.8 ± 1.9 timing
pair to 0.5 m - 2.5 m with 0.5 m intervals. We collect PeM and real
difference and 𝜖 = 0 deviation score. As detailed in Sec. 5.1, these
device traces for each distance to evaluate their fidelity.
lead to safe over-approximations in detecting violations at slightly
We compute the (𝜏, 𝜖)-closeness of actual device traces with the
different times.
PeM traces to measure CPeM fidelity. Let x be a PeM’s traces, and y be
the real device traces generated with the same inputs. Given T ∈ R+ ,
and (𝜏, 𝜖) ≥ 0, we determine x and y are (𝜏, 𝜖)-close if for all t ∈ x, D SIMULINK CPEM EXAMPLE
t ≤ T, there exists s ∈ y where |t − s| ≤ 𝜏, and |x(t) − y(s)| ≤ 𝜖, The CPeM of light-bulb-on, TV-on commands, and the light-detected
and for all t ∈ y, t ≤ T, there exists s ∈ x where |t − s| ≤ 𝜏 and event is presented in Figure 11. The actuation command and sen-
|y(t) − x(s)| ≤ 𝜖. sor event PeMs (including their flow functions) are implemented
Table 9 details the (𝜏, 𝜖)-closeness of actual device traces with with Matlab functions in the Simulink boxes. Our implementation
the PeM traces. Each row includes the mean and standard deviation can be easily migrated to other software such as GNU Octave [28],
of the timing difference (𝜏) and deviation score (𝜖) over different Scilab [53], and SpaceEx [55] with third-party code converters.
CCS ’22, November 7–11, 2022, Los Angeles, CA, USA Ozmen et al.
Table 11: Details of the actuators in the house. Illuminance. The influence of light is instant. Therefore, it is mod-
eled with an algebraic equation. Its influence follows the inverse
Device (ID)
Operating
Distance (m)† Details‡ square law, as shown below [60].
Time (mins)
temp - 2.8 set(70 − 82°F)
1 set(temp)
- 2.8
Is
hum Dep Ix = (8)
temp - 1.5 surfTemp = 104°F 4 × 𝜋 × x2
2 10
hum - 1.5 Dep In the formula, Is denotes the luminosity flux of the source.
temp - 0.9 surfTemp = 104°F
3 15
hum - 0.9 Dep Sound. Sound is modeled with an algebraic equation due to its high
temp - 0.5 surfTemp = 150°F diffusion speed. Sound intensity is modeled with the inverse square
4 3
hum - 0.5 Dep law [60]. Therefore, the sound pressure, which is the quantity the
5 20 hum - 1.5 vaporRem = 0.5g/min
hum - 1.7 vaporGen = 0.1g/min
sensors measure, is represented with the following formula.
6 25
sound - 1.8 55 dB at 1 m
x1
temp - 1.8 surfTemp = 96°F SP2 = SP1 + 20 × log10 ( ) (9)
7 30 hum - 1.8 Dep x2
sound - 1.8 58 dB at 1 m Sound pressure SP2 at distance x2 can be calculated in decibels
8 20 hum - 1.8 vaporGen = 0.8g/min
(dB) with this formula, where SP1 is the sound pressure level at
9 0.2 sound - 0.8 58 dB at 1 m
illum - 1.2 400 lumens distance x1 (the standard value of x1 is 1 meter) [62]. When the
10 25
sound - 2 62 dB at 1 m distance is doubled, SP2 decreases by 6 dB.
11 20 motion - variable
∗ Move towards sensor
12 15 illum - 1.4 815 lumens
Motion. There are different types of motion sensors available on
temp - 2 set(70 − 82°F) the market. For instance, accelerometers detect motion based on
13 set(temp) hum - 2 vaporRem = 10g/min the acceleration generated by the source, PIR sensors detect motion
sound - 3.5 62 dB at 1 m
14 0.1 sound - 3.7 50 dB at 1 m
based on the infrared heat map of an environment, and laser-based
† temp: Temperature Sensor, hum: Humidity Sensor, illum: Illuminance Sensor, motion:
sensors detect motion by generating an invisible laser between
Motion Sensor, sound: Sound Sensor two devices and detecting the cut-offs. We consider PIR motion
‡ surfTemp: Surface Temperature, vaporGen: Water Vapor Generation Rate, vaporRem: sensors and model them through their range to detect motion. If
Water Vapor Removal Rate, Dep: The actuator impacts the sensor due to dependency
∗ Robot vacuum moves towards the motion sensor.
the actuators’ movement rate exceeds a threshold and the distance
is close enough, motion is detected.
G DEVICE SPECIFICATIONS
NEST & MQ2
Smoke Sensors Table 11 presents the actuator configurations, influences of the
SmartThings & PIR DHT11 actuators on sensors, and distances to the sensors they influence.
Motion Sensors Temp/Hum Sensor For sensors (presented in Figure 12), sensitivity values, and
thresholds for detection (e.g., for sound, illuminance, smoke) are
Photoresistor Arduino UNO LM393 Sound set as follows: (i) temperature sensor - ±1.8°F, (ii) humidity sensor -
Illuminance Sensor Detection Sensor
±2%, (iii) smoke sensor - 0.02 OD/m ≈ 13 mg/m3 , (iv) illum. sensor -
50 lux, (v) sound sensor - 55 dB, and (vi) motion sensor - 1 m.
Figure 12: Sensors installed in the house (See Figure 7).