formal security analysis of smart embedded systems farid
play

Formal Security Analysis of Smart Embedded Systems Farid - PowerPoint PPT Presentation

Formal Security Analysis of Smart Embedded Systems Farid Molazem, Farid Molazem, Karthik Karthik Pattabiraman Pattabiraman Dependable Systems Lab University of British Columbia Internet of Things Real attacks against


  1. � � Formal Security Analysis of Smart Embedded Systems � Farid Molazem, Farid Molazem, Karthik Karthik Pattabiraman Pattabiraman � Dependable Systems Lab � University of British Columbia �

  2. Internet of Things

  3. Real attacks against IoT • [Koscher 2010, Zetter 2010]

  4. Security Mechanisms • Hardware-based techniques [Schellekens 2008] • Remote Attestation [LeMay 2007, LeMay 2009] Looks Legit! • Intrusion detection systems [Wenjie Hu 2003, Ahmed U 2009, Wagner 2001, Giffin 2004] IDS � Netowork �

  5. Security Analysis ● Attack trees [Byres 04, Morais 09] ● Predefined attack goals ● Manual search ● Attack graphs [Jha 02, Sheyner 02] ● Need vulnerabilities of the hosts ● Formal analysis [Delaune 10, Miculan 11] ● Targets well-defined protocols

  6. Idea • IoT devices perform specific tasks ● Define the right abstraction • Not too low level, not too high level Abstraction � ● Opens door to formal analysis

  7. High-level picture User � Security expert (Us) � Formal model � of � the system � Attacks Formal model � of � attacker � System � Source code � specification �

  8. Abstraction – step 1 Rewriting Logic � Changes Rewriting to the System Attacker System Model � Model � System Model � Model � Analysis � Attacks �

  9. Abstraction – step 1 Rewriting logic: � • Rewrite rules � • Equations � Start è sensorData(0, 0) � sensorData(r, n) è sensorData(r, n) sensorData(r+1, 0) � sensorData(r, n) è sensorData(r, n+1) � Store Receive start � data � data �

  10. Abstraction – step 2 Comp. 2 Comp. 2 � Formal [Molazem 14] � Comp. 1 Comp. 1 � model � Design Formal Specifications � model � Comp. 3 Comp. 3 � Formal model �

  11. Abstraction – step 3 Attacker action: � e.g. access to the i th sensor channel � sensorData(c1, v1) sensorData(c2, v2) sensorData(c3, v3) è � sensorData(c1, v1) sensorData(c3, v3) if c2 = i � State space Explicit model checking: � Start è receive(c1, v1) where v1 < 0 �

  12. Abstraction – step 4 Formal attack paths � Source code � Control Flow Graph �

  13. Case study SEGMeter: an open source smart meter Sensor board: Receive raw data Communication board: talk to server Code base: Lua and C (~ 3000 LOC)

  14. � � Threat model Read/Write access to communication • Access interfaces[McLaughlin et al. 2010] � Root access to a node in grid network [Mo et al. 2012] � • Actions ● Drop messages ● Replay messages ● Reboot meter

  15. � Evaluation Q1: Performance Q1: Performance � Q2: Practicality Q2: Practicality �

  16. � Evaluation Performance Performance � Using Maude [Clavel 15]: � http://maude.cs.illinois.edu/ � Less than a second à up to 2 hours � 3.4 GHz CPU, 16GB RAM: Reasonable time �

  17. � Evaluation Practicality Practicality � ● Query for paths to unsafe states search sensor(N1, M1) sensor(N2, M2) sensor(N3, M3) ⇒ � stored(N1, M1) stored(N2, M2) � ● Some map to the same execution path

  18. Attack example Receive Send to Add to start � new server � old data � data � Reboot � S1 è S2 where data(s1) not sent & cycle=start �

  19. Attack example Will lose data if reboot Vulnerability Open file in window write mode 1. 1. function function update_node_list() � 2. all_data = get_node_list � 3. all_data = merge_table(current,all_data) � 4. 4. data_file data_file = assert( = assert(io.open io.open(dataFile dataFile, “w”)) , “w”)) � 5. for key, value in pairs(node_list) do � 6. data_file::write(data) � 7. end � 8. assert(data_file::close()) � 9. 9. end end �

  20. Attack example (video)

  21. Discussion • Applicability to other devices ● Cars (AUTOSAR) ● Medical devices • Model correctness ● Refine the model • Abstraction level ● The model is extensible

  22. Conclusion • IoT devices perform specific tasks ● Abstract out their operations ● Formalize them ● Formalize the attacker ● Perform automated analysis ● Find real vulnerabilities www.ece.ubc.ca/~faridm � faridm@ece.ubc.ca �

Recommend


More recommend