Security Analysis Of Emerging Smart Home Applications

2y ago
13 Views
2 Downloads
1.31 MB
19 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Joao Adcock
Transcription

2016 IEEE Symposium on Security and PrivacySecurity Analysis of Emerging Smart Home ApplicationsEarlence FernandesJaeyeon JungAtul PrakashUniversity of MichiganMicrosoft ResearchUniversity of MichiganAbstract—Recently, several competing smart home programming frameworks that support third party app developmenthave emerged. These frameworks provide tangible benefits tousers, but can also expose users to significant security risks.This paper presents the first in-depth empirical security analysisof one such emerging smart home programming platform. Weanalyzed Samsung-owned SmartThings, which has the largestnumber of apps among currently available smart home platforms,and supports a broad range of devices including motion sensors,fire alarms, and door locks. SmartThings hosts the applicationruntime on a proprietary, closed-source cloud backend, makingscrutiny challenging. We overcame the challenge with a staticsource code analysis of 499 SmartThings apps (called SmartApps)and 132 device handlers, and carefully crafted test cases thatrevealed many undocumented features of the platform. Our keyfindings are twofold. First, although SmartThings implements aprivilege separation model, we discovered two intrinsic designflaws that lead to significant overprivilege in SmartApps. Ouranalysis reveals that over 55% of SmartApps in the store areoverprivileged due to the capabilities being too coarse-grained.Moreover, once installed, a SmartApp is granted full access to adevice even if it specifies needing only limited access to the device.Second, the SmartThings event subsystem, which devices use tocommunicate asynchronously with SmartApps via events, doesnot sufficiently protect events that carry sensitive informationsuch as lock codes. We exploited framework design flaws toconstruct four proof-of-concept attacks that: (1) secretly planteddoor lock codes; (2) stole existing door lock codes; (3) disabledvacation mode of the home; and (4) induced a fake fire alarm.We conclude the paper with security lessons for the design ofemerging smart home programming frameworks.I. I NTRODUCTIONSmart home technology has evolved beyond basic convenience functionality like automatically controlled lights anddoor openers to provide several tangible benefits. For instance,water flow sensors and smart meters are used for energyefficiency. IP-enabled cameras, motion sensors, and connecteddoor locks offer better control of home security. However,attackers can manipulate smart devices to cause physical,financial, and psychological harm. For example, burglars cantarget a connected door lock to plant hidden access codes, andarsonists can target a smart oven to cause a fire at the victim’shome [12].Early smart home systems had a steep learning curve,complicated device setup procedures, and were limited todo-it-yourself enthusiasts.1 Recently, several companies haveintroduced newer systems that are easier for users to setup,are cloud-backed, and provide a programming framework forthird-party developers to build apps that realize smart homebenefits. Samsung’s SmartThings [27], Apple’s HomeKit [7],Vera Control’s Vera3 [1], Google’s Weave/Brillo [18], andAllSeen Alliance’s2 AllJoyn [3] are several examples.The question we pose is the following: In what ways areemerging, programmable, smart homes vulnerable to attacks,and what do these attacks entail? It is crucial to address thisquestion since the answer will initiate and guide research intodefenses before programmable smart homes become commonplace. Vulnerabilities have been discovered in individual highprofile smart home devices [17], [19], and in the protocols thatoperate between those devices, such as ZWave and ZigBee [9],[21]. However, little or no prior research investigated thesecurity of the programming framework of smart home appsor apps themselves.We perform, to the best of our knowledge, the first securityanalysis of the programming framework of smart homes.Specifically, we empirically evaluate the security design of apopular programmable framework for smart homes—SamsungSmartThings. We focus on the programming framework sinceit is the substrate that unifies applications, protocols, anddevices to realize smart home benefits. Attackers can remotelyand covertly target design flaws in the framework to realizethe emergent threats outlined earlier.We chose SmartThings for several reasons. First, at thetime of writing, SmartThings has a growing set of apps—521 apps called SmartApps, with the distant second beingVera that has 204 Lua-based apps on the MiOS store [1].Other competing frameworks like HomeKit, Weave/Brillo, andAllJoyn are in formative stages with less than 50 apps each.Second, SmartThings has native support for 132 device typesfrom major manufacturers. Third, SmartThings shares key security design principles with other frameworks. Authorizationand authentication for device access is essential in securingsmart home app platforms and SmartThings has a built-inmechanism to protect device operations against third-partyapps through so called capabilities. Event-driven processingis common in smart home applications [30], and SmartThingsprovides ways for apps to register callbacks for a given eventstream generated by a device. Other platforms support eventdriven processing too. For instance, AllJoyn supports the bussignal [2], and HomeKit provides the characteristic notification API [6]. Therefore, we believe lessons learned from ananalysis of the SmartThings framework will inform the designof security-critical components of many programmable smarthome frameworks in early design stages.1 Many forums exist for people to exchange know-how e.g., http://forum.universal-devices.com/. 2016, Earlence2375-1207/16 31.00Fernandes. 2016UnderIEEE license to IEEE.DOI 10.1109/SP.2016.446362 AllSeenmembers include Qualcomm, Microsoft, LG, Cisco, and AT&T.

The SmartThings framework recognizes the potential forsecurity vulnerabilities and incorporates several security measures. SmartThings has a privilege separation mechanismcalled capabilities that specify the set of operations a SmartApp may issue to a compatible smart home device. SmartAppsare provided secure storage, accessible only to the app itself.Developers write SmartApps in a security-oriented subset ofGroovy. The Groovy-based apps run in a sandbox that deniesoperations like reflection, external JARs, and system APIs.The OAuth protocol protects third-party integrations withSmartApps. SmartThings provides a capability-protected eventsubsystem for SmartApps and device handlers to communicateasynchronously.Our security analysis explores the above security-orientedaspects of the SmartThings programming framework. Performing the security analysis was challenging because theSmartThings platform is a closed-source system. Furthermore,SmartApps execute only in a proprietary, SmartThings-hostedcloud environment, making instrumentation-based dynamicanalysis difficult. Because there is no publicly-available APIto obtain SmartApp binaries, binary analysis techniques too,are inapplicable.To overcome these challenges, we used a combination ofstatic analysis tools that we built, runtime testing, and manualanalysis on a dataset of 499 SmartApps and 132 devicehandlers that we downloaded in source form. Our analysistools are available at https://iotsecurity.eecs.umich.edu.Our Contributions. We discovered security-critical designflaws in two areas: the SmartThings capability model, and theevent subsystem.We found that SmartApps were significantly overprivileged:(a) 55% of SmartApps did not use all the rights to deviceoperations that their requested capabilities implied; and (b)42% of SmartApps were granted capabilities that were notexplicitly requested or used. In many of these cases, overprivilege was unavoidable, due to the device-level authorizationdesign of the capability model and occurred through no faultof the developer (§IV-A, §V-B). Worryingly, we have observedthat 68 existing SmartApps are already taking advantage of theoverprivilege to provide extra features, without requesting therelevant capabilities.We studied the SmartThings event subsystem and discovered that: (a) An app does not require any special privilegeto read all events a device generates if the app is granted atleast one capability the device supports; (b) Unprivileged appscan read all events of any device using only a leaked deviceidentifier; and (c) Events can be spoofed (§IV-B).We exploited a combination of design flaws and frameworkinduced developer-bugs to show how various security problems conspire to weaken home security. We constructed fourproof-of-concept attacks: We remotely exploited an existing SmartApp availableon the app store to program backdoor pin-codes intoa connected door lock (§VI-A). Our attack made useof the lockCodes capability that the SmartApp neverrequested—the SmartApp was automatically overprivileged due to the SmartThings capability model design. We eavesdropped on the event subsystem to snoop onlock pin-codes of a Schlage smart lock when the pincodes were being programmed by the user, and leakedthem using the unrestricted SmartThings-provided SMSAPI. Our attack SmartApp advertises itself as a batterymonitor and only requests the battery monitoring capability. We disabled an existing vacation mode SmartApp available on the app store using a spoofed event to stopvacation mode simulation (§VI-C). No capabilities wererequired for this attack. We caused a fake fire alarm using a spoofed physical device event (§VI-D). The attack shows how an unprivilegedSmartApp can escalate its privileges to control devices itis not authorized to access by misusing the logic of benignSmartApps.All of the above attacks expose a household to significantharm—break-ins, theft, misinformation, and vandalism. Theattack vectors are not specific to a particular device and arebroadly applicable.Finally, in our forward looking analysis, we distilled the keylessons to constructing secure and programmable smart homeframeworks. We couple the lessons with an exploration of thepros and cons of the trade-offs in building such frameworks.Our analysis suggests that, although some problems are readilysolvable, others require a fine balancing of several techniquesincluding designing risk-based capabilities and identity mechanisms (§VII).II. R ELATED W ORKSmart Home Security. Denning et al. outlined a set ofemergent threats to smart homes due to the swift and steadyintroduction of smart devices [12]. For example, there arethreats of eavesdropping and direct compromise of varioussmart home devices. Denning et al. also discussed the structureof attacks that include data destruction, illegal physical entry,and privacy violations, among others. Our work makes someof these risks concrete and demonstrates how remote attackerscan weaken home security in practice. Although we are notthe first in recognizing security risks of the modern home, wepresent the first study of the security properties of emergingsmart home applications and their associated programminginterfaces.Current smart home security analyses are centered aroundtwo themes: devices and protocols. On the device front, theMyQ garage system can be turned into a surveillance tool thatinforms burglars when the house is possibly empty; the WinkRelay touch controller’s microphone can be switched on toeavesdrop on conversations; and the Honeywell Tuxedo touchcontroller has authentication bypass bugs and cross-site requestforgery flaws [17], [19]. Oluwafemi et al. caused compactflorescent lights to rapidly power cycle, possibly inducingseizures in epileptic users [23]. Ur et al. studied access controlof the Philips Hue lighting system and the Kwikset door lock,637

among others, and found that each system provides a siloedaccess control system that fails to enable essential use casessuch as sharing smart devices with other users like childrenand temporary workers [29]. In contrast, we study emergingapplications and the associated attack vectors of a smart homeprogramming platform, that are largely independent of thespecific devices in use at a home.On the protocol front, researchers demonstrated flaws in theZigBee and ZWave protocol implementations for smart homedevices [9], [21]. Exploiting these bugs requires proximityto the target home. We demonstrated design flaws in theprogramming framework that can be used in attacks that do notrequire physical access to the home. Furthermore, our remoteattacks are independent of the specific protocols in use.Veracode performed a security analysis of several smarthome hubs, including SmartThings [32]. The security analysisfocused on infrastructure protection such as whether SSL/TLSis used, whether there is replay attack protection, and whetherstrong passwords are used. The Veracode study found that theSmartThings hub had correctly deployed all studied infrastructural security mechanisms with the exception of an open telnetdebugging interface on the hub, which has since been fixed. Incontrast, we perform an empirical analysis of the SmartThingsplatform and its applications to discover framework designflaws.Overprivilege and Least-Privilege. The principle of leastprivilege is well-known and programming frameworks shouldbe designed to make it easier to achieve. In practice, however,it can be difficult to achieve, as evidenced most recently byresearch in smartphones, where Felt et al. conducted a marketscale overprivilege analysis for Android apps and determinedthat one-third of 940 apps were overprivileged [13], citingdeveloper confusion as one prime factor for overprivilegedAndroid apps. Our work is along similar lines except that weanalyzed a relatively closed system in which the apps only runon a proprietary cloud backend and control devices in a homevia a proprietary protocol with the hub over SSL-protectedsessions. We found that much of the overprivilege is not dueto developer confusion but due to the framework design itself.Au et al. designed PScout, a static analysis frameworkfor Android source code to produce complete permissionspecifications for different Android versions [8]. We used staticanalysis on SmartApp source code to compute overprivilege.However, unlike PScout, we could not use static analyses tocomplete capability documentation because the SmartThingsruntime is closed-source. Instead, we relied on analyzing theprotocol operating between the SmartThings backend and theclient-side Web IDE.Permission/Capability Model Design. Roesner et al. introduced User-Driven Access Control where the user is kept inthe loop, at the moment an app uses a sensitive resource [24],[25]. For instance, a remote control door lock app should onlybe able to control a door lock in response to user action.However, certain device types and apps are better suited toinstall-time permissions. Felt et al. introduced a set of guidelines on when to use different types of permissions [14]. Ourwork evaluates the effectiveness of the SmartThings capabilitymodel in protecting sensitive device operations from maliciousor benign-but-buggy SmartApps. We leave determining thegrant modality of capabilities to future work.III. S MART T HINGS BACKGROUND AND T HREAT M ODELWe first describe the SmartThings platform architectureand then discuss our threat model. Little is known about thearchitectural details of SmartThings besides the developer documentation. Therefore, we also discuss the analysis techniqueswe used to uncover architectural aspects of SmartThings whenappropriate.A. SmartThings BackgroundThe SmartThings ecosystem consists of three major components: hubs, the SmartThings cloud backend, and the smartphone companion app (see Figure 1). Each hub, purchasedby a user, supports multiple radio protocols including ZWave,ZigBee, and WiFi to interact with physical devices aroundthe user’s home. Users manage their hubs, associate deviceswith the hubs, and install SmartApps from an app store usingthe smartphone companion app (called SmartThings Mobile).The cloud backend runs SmartApps. The cloud backend alsoruns SmartDevices, which are software wrappers for physicaldevices in a user’s home. The companion app, hubs, andthe backend communicate over a proprietary SSL-protectedprotocol. Although there are no publicly available statisticson the size of SmartThings user base, as a rough measureof scale of adoption, we observe that there are 100K—500Kinstallations of the Android version of the companion app asof March 2016 from the Google Play Store.SmartApps and SmartDevices communicate in two ways.First, SmartApps can invoke operations on SmartDevices viamethod calls (e.g., to lock a door lock). Second, SmartAppscan subscribe to events that SmartDevices or other SmartAppscan generate. A SmartApp can send SMSs and make networkcalls using SmartThings APIs. SmartDevices communicatewith the hub over a proprietary protocol.1) SmartApps and SmartDevices: A programming framework enables creating SmartApps and SmartDevices, that arewritten in a restricted subset of Groovy3 , a language that compiles to Java bytecode. Since SmartApps and SmartDevicesexecute on the closed-source cloud backend, SmartThings provides a Web-based environment, hosted on the cloud backend,for software development.SmartApps and SmartDevices are published to the SmartThings app store that is accessible via the SmartThings companion app (Figure 1). In addition to this main app store, thereis a secondary store where developers make their softwareavailable in source code form.Under the hood, a SmartApp does not directly communicatewith a physical device. Instead, it communicates with aninstance of a SmartDevice that encapsulates a physical device.A SmartDevice manages the physical device using lower level6383 http://www.groovy-lang.org/

TABLE IE XAMPLES OF C APABILITIES IN THE S MART T HINGS F RAMEWORKFig. 1. SmartThings architecture overview.1234definition(name: "DemoApp", namespace: "com.testing",author: "IoTPaper", description: "Test App",category: "Utility")56789101112//query the user for capabilitiespreferences {section("Select Devices") {input "lock1", "capability.lock", title:"Select a lock"input "sw1", "capability.switch", title:"Select a switch"}}1314151617def updated() {unsubscribe()initialize()}1819202122def installed() {subscribe sw1, "switch.on", onHandlersubscribe sw1, "switch.off", offHandler}23242526def onHandler(evt) {lock1.unlock()}27282930def offHandler(evt) {lock1.lock()}Listing 1. SmartApp structure.protocols (for example, ZWave and ZigBee), and exposes thephysical device to the rest of the SmartThings ecosystem.Next, we explain the key concepts of the programmingframework. Listing 1 shows an example SmartApp that locksand unlocks a physical door lock based on the on/off state ofa switch. The SmartApp begins with a definition sectionthat specifies meta-data such as SmartApp name, namespace,author details, and category.2) Capabilities & Authorization: SmartThings has a security architecture that governs what devices a SmartApp mayaccess. We term it as the SmartThings capability model. Acapability is composed of a set of commands (method cklock(), unlock()lock (lock status)capability.batteryN/Abattery (battery status)capability.switchon(), off()switch (switch status)capability.alarmoff(), strobe(),siren(), both()alarm (alarm status)capability.refreshrefresh()N/Aand attributes (properties). Commands represent ways in whicha device can be controlled or actuated. Attributes represent thestate information of a device. Table I lists example capabilities.Consider the SmartApp in Listing 1. The preferencessection has two input statements that specify two capabilities:capability.lock and capability.switch. When auser installs this SmartApp, the capabilities trigger a deviceenumeration process that scans all the physical devices currently paired with the user’s hub and, for each input statement,the user is presented with all devices that support the specifiedcapabilit

Our analysis suggests that, although some problems are readily solvable, others require a fine balancing of several techniques including designing risk-based capabilities and identity mech-anisms (§VII). II. RELATEDWORK Smart Home Security. Denning et al. outlined a set of em

Related Documents:

smart grids for smart cities Strategic Options for Smart Grid Communication Networks To meet the goals of a smart city in supporting a sustainable high-quality lifestyle for citizens, a smart city needs a smart grid. To build smart cities of the future, Information and Communications Techn

2019), the term "smart city" has not been officially defined (OECD, 2019; Johnson, et al., 2019). However, several key components of smart cities have already been well-established, such as smart living, smart governance, smart citizen (people), smart mobility, smart economy, and smart infrastructure (Mohanty, et al., 2016).

Smart Home/Business Smart Meters (AMI) Smart Distribution System S t Utilit . 9Smart Meter Plan Filing - August 14, 2009 9Anticipated Smart Meter PUC approval - Mid-April 2010 . Up to 600,000 Smart Meters and associated infrastructure, supporting PECO's Act 129 Smart Meter Initiative Multiple Smart Grid Investments

emissions reduction from smart grid deployment 28 14. Smart grid product providers 33 List of Tables 1. Characteristics of smart grids 7 2. Workshop contributions to the Smart Grids Roadmap 8 3. Smart grid technologies 19 4. Maturity levels and development trends of smart grid technologies 20 5. Select national smart grid deployment efforts 21 6.

Smart Grid and Cyber-Physical Systems Office National Institute of Standards and Technology U.S. Department of Commerce Smart Grid And CPS Testbed Update Smart Grid Federal Advisory Committee Meeting June 3, 2014. 2. Smart Grid and Cyber ‐ Physical Systems Testbeds Layout. Smart Microgrid Control Smart andRoom Intelligent Device Smart Storage .

There is a whole host of smart gadgets available for the house - smart thermostats, smart lights, smart TVs, smart kettles the list goes on. We invited Philipp Schuster, MD of Loxone UK, to explain the route to becoming a smart home installer. In the last five years the visibility and awareness of smart technology has increased

SMART Goal Setting 4 Guidelines 4 1. What is a SMART goal? 4 2. How do I create a SMART goal? 5 Examples 6 1. SMART goal vs. General goal 6 2. Competency-based examples 7 Example 1 7 Example 2 8 Example 3 9 Example 4 10 3. Other examples of SMART goals 11 Tools 12 1. Other formulas/formats for writing SMART goals 12 2. Action words 13 3 . /p div class "b_factrow b_twofr" div class "b_vlist2col" ul li div strong File Size: /strong 2MB /div /li /ul ul li div strong Page Count: /strong 16 /div /li /ul /div /div /div

Smart campus The next-generation connected campus Innovations used in smart banking, smart retail, smart digital workplaces, and smart venues like hospitals and stadiums could be extended to higher education campuses. These smart env