security and reliability of the internet of things iot a
play

Security and Reliability of the Internet Of Things (IoT): A Smart - PowerPoint PPT Presentation

Security and Reliability of the Internet Of Things (IoT): A Smart Meter Case Study KarthikPattabiraman Farid Molazem Tabrizi, Maryam Raiyat, Abraham Chan, Ivan Beschastnikh University of British Columbia (UBC) My Research Building


  1. Security and Reliability of the Internet Of Things (IoT): A Smart Meter Case Study KarthikPattabiraman Farid Molazem Tabrizi, Maryam Raiyat, Abraham Chan, Ivan Beschastnikh University of British Columbia (UBC)

  2. My Research • Building fault-tolerant and secure software systems • Application-level fault and attack tolerance • Software resilience techniques [SC’16][DSN’16][DSN’15][DSN’14A][DSN14B] • Web applications’ reliability [ICSE’16][ICSE’15][ICSE’14A][ICSE’14B] • IoT Security [ACSAC’16][EDCC’15][HASE’14] • This talk • IoT Security and Reliability: Smart Meter Case Study 2

  3. IoT Systems are Everywhere 3

  4. IoT Security and Reliability 4

  5. IoT Security and Reliability: Challenges • IoT devices are resource constrained • Low memory and computing capacity • Sometimes energy constrained • Large scale of deployment • Worms can spread quickly in the network • Need scalable solutions with low false positives • Autonomous operation • Need for human intervention should be minimal or none • Must be capable of operating continuously for a long time

  6. IoT Example: Smart Meters Fridge TV Thermostat Smart Meter Light Lock Control Control

  7. Smart Meter Energy Sensors Utility Server - Cellular - Internet Power line/Wireless 7

  8. Global Status of Smart Meters 600,000 95,000,000 21,500,000 1,275,000 120,000 312,000 2009: 76 million 2010: 118 million 2012: 1 billion 8

  9. Smart Meter Security • Smart meter Attacks • No need for physical presence • Hard to detect by inspection or testing • Attacks can be large-scale Analog Meter Smart Meter 9

  10. Smart Meter Security is a concern

  11. Outline • Motivation and Goals • Host-based Intrusion Detection System (IDS) for smart meters [EDCC’15 – Distinguished Paper Award][HASE’14] • Model checking to find design vulnerabilities in smart meters [ACSAC’16] • Ongoing Work and Conclusions

  12. IDS: Goal • Goal: Make IoT embedded devices secure • Build a host-based intrusion detection system • Important constraints • Small embedded devices => Low memory capacity • Large scale => No false positives • Low cost => Automated, no special hardware etc.

  13. IDS Challenge: False Positives device device device device Center device device device 13

  14. IDS Challenge: Memory Constraints { void bar(int a) { void foo(int a) { a = receive(); if (a == -1) if (a % 2 == 0) if (a > 0) error1(); even(a); foo(a); else if (a == -2) else else error2(); odd(a); bar(a); } } } a > 0 a <= 0 a % 2 == 0 a % 2 == 1 a == -1 a == -2 14

  15. IDS Existing Solutions Statistical False-Positives Techniques [Moradi][Warrender] Program Analysis Techniques Our goal [Wagner][Giffin] Memory Consumption

  16. IDS Threat model • Adversary: Wants to change the execution of the software (in subtle ways) to avoid detection. Do not consider privacy or confidentiality. Write Multiply Read modified data consumption consumption to memory by 0.01 data Send Read consumption Consumption data to the data server University of British Columbia (UBC) 16

  17. IDS: Main Idea • Quantify security to detect only the most critical attacks, subject to memory constraints 17

  18. IDS Approach: Overview Coverage function Software Design Our work Invariants Documents (SDD) Code Monitoring IDS Software trace 18

  19. IDS Approach: Details Coverage function Coverage function Software Design Our work 2-Generating abstract Documents Software Invariants 1-Study (SDD) 4-Generating 5-Select Design Software concrete optimized Design Documents invariants invariants Code Document (SDD) 3-Static Analysis Code 19

  20. 2-Generating abstract 4- 1- Study Invariants 5- Select Generating Software optimized concrete Design invariants invariants Document 3-Static Analysis • Storage/Retrieval integrity Sensor data must eventually be stored on flash memory □(𝑕𝑓𝑢𝑢𝑗𝑜𝑕 𝑡𝑓𝑜𝑡𝑝𝑠𝐸𝑏𝑢𝑏 ⟹ ◊ 𝑡𝑢𝑝𝑠𝑓 𝑝𝑜 𝑔𝑚𝑏𝑡ℎ ) Receive Store on sensor flash data memory 20

  21. IDS Approach: Steps 3-4 Coverage function 2-Generating abstract Software 1-Study Invariants 4-Generating 5-Select Software Design concrete optimized Design Documents invariants invariants Document (SDD) 3-Static Analysis Code Concrete invariants Abstract invariants (contain system calls) 21

  22. 2-Generating abstract 4- 1- Study Invariants 5- Select Generating Software optimized concrete Design invariants invariants Document 3-Static Analysis { { … …. …. recv(4, 0x47cf68, 8192, 0) data = socket.receive(); write(f, data); … …. …. write(1, 0x47cf68, 4) = 4 } } … □(𝑕𝑓𝑢𝑢𝑗𝑜𝑕 𝑡𝑓𝑜𝑡𝑝𝑠𝐸𝑏𝑢𝑏(𝑒𝑏𝑢𝑏) ⟹ ◊ 𝑡𝑢𝑝𝑠𝑓 𝑝𝑜 𝑔𝑚𝑏𝑡ℎ(𝑒𝑏𝑢𝑏) ) □(𝑠𝑓𝑑𝑓𝑗𝑤𝑓(𝑒) ⟹ ◊ 𝑥𝑠𝑗𝑢𝑓(𝑒) ) 22

  23. IDS Approach: Step 5 Coverage function 2-Generating abstract Software 1-Study Invariants 4-Generating 5-Select Software Design concrete optimized Design Documents invariants invariants Document (SDD) 3-Static Analysis Code 23

  24. IDS Approach: Building the IDS Memory Capacity 2-Generating abstract 1-Study Invariants 4-Generating Software 5-Generating concrete Design IDS invariants Document 3-Static Analysis Formulate building the IDS as an optimization problem, where we maximize coverage subject to cost constraints

  25. IDS Coverage: MaxMin Coverage MaxMin Coverage IDS: Maximize minimum coverage i.e., distribute coverage among all properties Properties Security 𝑞 8 𝑞 ; 𝑞 < 𝑞 9 Invariants 𝑤 8 𝑤 ; 𝑤 < 𝑤 = 𝑤 > 𝑤 9

  26. IDS Coverage: MaxProperty IDS MaxProperty IDS: Maximize security properties that are fully covered Properties Security 𝑞 8 𝑞 ; 𝑞 < 𝑞 9 Invariants 𝑤 8 𝑤 ; 𝑤 < 𝑤 = 𝑤 > 𝑤 9

  27. IDS: Building the IDS Select the invariants from the graph according to the coverage function Automatically convert it to Buchi Automaton Monitor the invariants at runtime

  28. IDS Evaluation: Testbed • Testbed: Smart Meter • Meter: • Arduino board • ATMEGA 32x series microcontroller • Sensors • Gateway board • Broadcom BCM 3302 240MHz CPU • 16 MB RAM • 4 MB available for IDS • OpenWRT Linux • IDS runs on the Gateway board

  29. IDS Evaluation: Fault injection • Flipping branches (surreptiously) if (data_file~= nil) then if (data_file== nil) then big_string = data_file:read("*all") big_string = data_file:read("*all") … … end end 29

  30. IDS Results (MaxMin IDS: 2 MB memory) • How good is the coverage of the IDS (left)? • How good the graph-based optimization is reflected at run-time (right)?

  31. IDS Results (MaxProperty IDS: 2 MB memory) • How good is the coverage of the IDS (left)? • How good the graph-based optimization is reflected at run-time (right)?

  32. Outline • Motivation and Goals • Host-based Intrusion Detection System (IDS) for smart meters [EDCC’15 – Distinguished Paper Award][HASE’14] • Model checking to find design vulnerabilities in smart meters [ACSAC’16] • Ongoing Work and Conclusions

  33. Model Checking: Problem Enumerate all possible attacks void foo() { … } int bar() { … } Action embedded Attacker device Environment 33

  34. Model Checking: Challenge • Formal analysis requires well-defined properties (e.g. TCP/IP) • Unclear in IoT devices • The state space may be very large • Require the right level of abstraction • High-level enough to avoid state space explosion • Low-level enough to be translatable to device code 34

  35. Model Checking: Our approach • Key Idea: Each class of embedded devices performssimilar operations State space We can abstract the operations • Create an abstract model • • Formalize the model (using Maude) • Formalize attacker actions • Define unsafe states • Run model checking to find Unsafe state attacker actions leading to unsafe states 35

  36. Model Checking: Formal model Defines the operation of Data: (s1, v1) (s2, v2), … Gateway receiving data from sensors sensors board SensorDataList is a list of tuples, each called sensorDataElement SENSOR-STATES 1. mod SENSOR-STATES is Defines necessary variables for 2. op getSensorDataList : —> SensorDataList. defining the operations 3. var dataList : SensorDataList. 4. var r n : Nat. Base of recursion 5. rl [r1]: getSensorDataList —> sensorDataElement(0,0). 6. crl [r2]: sensorDataElement(r,n) —> sensorDataElement(r,n) Recursively defining the rule to sensorDataElement(r+1, 0) if r < maxSensorNumber. extend one sensorDataElement, 7. crl [r3]: sensorDataElement(r,n) —> sensorDataElement(r,n+1) to up to maxSensorNumber if n < maxSensorData. elements. Each tuple is: [value, sensor channel number]. 8. endm

  37. Model Checking: Threat model Root access to a node in grid network [Mo et al. 2012] • Actions • Drop messages Read/Write access to communication • Replay messages interfaces [McLaughlin et al. 2010] • Reboot meter 37

Recommend


More recommend