Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Patching Mr Robot: Mitigating IoT-Related Cyber...

Eugene Siow
September 29, 2017

Patching Mr Robot: Mitigating IoT-Related Cyber-Social-Disasters by getting Fog Computing to Work

Talk at the 3rd International Disaster Management Workshop at KAIST, Daejeon, South Korea

Eugene Siow

September 29, 2017
Tweet

More Decks by Eugene Siow

Other Decks in Technology

Transcript

  1. Raspberry Pi Thermostat Hack PROGRESSION OF HACKS HVAC Hack Wipe

    Debts Jailbreak Grand Theft Auto Smart Home Hack DDOS 72°F 200°F Smart Home Hack
  2. SMART HOME HACK WHAT AM I SUPPOSED TO DO? NOTHING

    IS WORKING UNPLUG WHAT? EVERYTHING IS INSIDE THE WALLS
  3. INSTEON HACK NO OR DEFAULT USERNAME & PASSWORD FROM A

    NOW DISCONTINUED INSTEON PRODUCT CIRCUMVENT PASSWORD BY GOING DIRECT TO PORT E.G. http://ip/dash to http://ip:port/console REMOTELY SWITCHED LIGHTS OFF A PASSWORD ON THE PORT- ACCESSED PORTAL THE NEXT DAY COMPROMISED “ALL YOUR BASE ARE BELONG TO US” CALLED AN INSTEON CONSULTANT HE INSISTED THAT THE PORTAL WAS READ-ONLY AND PASSWORD PROTECTED FOR ACTUATION Forbes, 2013 GOOGLED A PHRASE FOUND A LIST OF ‘SMART HOMES’ FORBES REPORTER KASHMIR HILL ACCESSED WEB PORTAL CONTROLS FOR LIGHTS, HEATING, PARENTAL CONTROLS, DOORS
  4. Resource constrained sensors & devices might be and unable to

    store, process or implement appropriate security. DEVICE CONSTRAINTS WHAT’S WRONG WITH THE IOT? An IoT predominantly consisting of device-to-cloud setups It can be prohibitively expensive to move big data through the Internet and to store it on the cloud. MOVING & STORING “The IoT suffers from a lack of interoperability… developers are faced with data silos, high costs and limited market potential.” – W3C Web of Things DATA SILOS Can we trust vendors to keep data private and secure on public clouds? Encrypting the data increases processing required and decreases interoperability. CLOUD PRIVACY Internet based transmissions may increase the probability of information leakage. LARGER AREA FOR LEAKAGES Internet access may be unavailable, unreliable, and slow e.g. natural disasters, poor infrastructure, remote areas. CONNECTION ISSUES
  5. A REAL-WORLD FOG COMPUTING INFRASTRUCTURE Fog Computing utilises the space

    between the “Ground” and “Cloud” Irrigation Application Soil Moisture Analytics Lightweight Computer Hub Data Stream Environmental Sensors GROUND National Disaster Monitoring Application Weather Data State Inclement Weather Planning Application CLOUD Distributed Queries
  6. OUR RESEARCH Building ”Pillars” to support Fog Computing Sustainable &

    Secure INTEROPERABILITY DISTRIBUTION EFFICIENCY Linked Data Faster Queries eugenesiow.github.io/iot
  7. INTRODUCING LINKED DATA FOR INTEROPERABILITY URI and ontologies Establish common

    data structures & References ENABLES RICH METADATA what, where, WHEN, HOW of DATA PERFORMANCE CHALLENGES STORES DON’T SCALE & PERFORM WELL ON WEB YET Buil-Aranda, C., Hogan, A.: SPARQL Web-Querying Infrastructure: Ready for Action? ISWC 2013 TRAFFIC SENSOR POLLUTION SENSOR Semantic Sensor Ontology EVENTS STREAM Smart City Ontology LOCATION GeoNames Ontology
  8. THE SHAPE OF IOT TIME-SERIES DATA { timestamp : 1467673132,

    temperature : { max: 22.0, min: 15.0, current: 17.0, error: { percentage: 5.0 } } } FLAT { timestamp : 1467673132, temperature : 32.0, wind_speed : 10.5, pressure : 1016 } COMPLEX 20k UNIQUE DEVICES dweet.io 99.5% FLAT SCHEMATA 0.5% COMPLEX SCHEMATA 1 2,3 4 5 6+ Width { timestamp : 1467673132, temperature : 32.0, humidity : 10.5, pressure : 1016, light: 120.0, } 1 2 3 4
  9. EFFICIENT QUERIES WITH TIME-SERIES DATA THING TEMPERATURE OBS HUMIDITY OBS

    WIND SPEED OBS 13.0 2016-01-01 06:00:00 CELCIUS 93.0 2016-01-01 06:00:00 PERCENT 10.5 2016-01-01 06:00:00 MPH LOCATION produces produces located produces has value unit time RDF GRAPH Siow, E., Tiropanis, T. and Hall, W. (2016) SPARQL-to-SQL on internet of things databases and streams. ISWC2016: The 15th International Semantic Web Conference
  10. THING TEMPERATURE OBS HUMIDITY OBS WIND SPEED OBS 13.0 LOCATION

    produces produces located produces has value THING THING THING TEMPERATURE OBS time TEMPERATURE OBS 2016-01-01 06:00:00 unit TEMPERATURE OBS celcius 93.0 has value HUMIDITY OBS time HUMIDITY OBS 2016-01-01 06:00:00 unit HUMIDITY OBS PERCENT 10.5 has value WIND SPEED OBS time WIND SPEED OBS 2016-01-01 06:00:00 unit WIND SPEED OBS MPH EFFICIENT QUERIES WITH TIME-SERIES DATA RDF TRIPLES Siow, E., Tiropanis, T. and Hall, W. (2016) SPARQL-to-SQL on internet of things databases and streams. ISWC2016: The 15th International Semantic Web Conference
  11. OUR APPROACH EFFICIENT QUERIES WITH TIME-SERIES DATA THING TEMPERATURE OBS

    WIND SPEED OBS CELCIUS PERCENT MPH LOCATION produces located HUMIDITY OBS unit TEMPERATURE HUMIDITY WIND SPEED 13.0 93.0 10.5 TIME 2016-01-01 06:00:00 Siow, E., Tiropanis, T. and Hall, W. (2016) SPARQL-to-SQL on internet of things databases and streams. ISWC2016: The 15th International Semantic Web Conference
  12. DESIGNING OUR ENGINE THING TEMPERATURE OBS WIND SPEED OBS CELCIUS

    PERCENT MPH LOCATION produces located HUMIDITY OBS unit TEMPERATURE HUMIDITY WINDSPEED 13.0 93.0 10.5 TIME 2016-01-01 06:00:00 Table1 TABLE1.TEMPERATURE has value has value TABLE1.HUMIDITY has value TABLE1.WINDSPEED Siow, E., Tiropanis, T. and Hall, W. (2016) SPARQL-to-SQL on internet of things databases and streams. ISWC2016: The 15th International Semantic Web Conference
  13. DESIGNING OUR ENGINE THING TEMPERATURE OBS WIND SPEED OBS CELCIUS

    PERCENT MPH LOCATION produces located HUMIDITY OBS unit TEMPERATURE HUMIDITY WINDSPEED 13.0 93.0 10.5 TIME 2016-01-01 06:00:00 Table1 TABLE1.TEMPERATURE has value has value TABLE1.HUMIDITY has value TABLE1.WINDSPEED Siow, E., Tiropanis, T. and Hall, W. (2016) SPARQL-to-SQL on internet of things databases and streams. ISWC2016: The 15th International Semantic Web Conference
  14. DESIGNING OUR ENGINE THING TEMPERATURE OBS CELCIUS PERCENT produces loc

    HUMIDITY OBS unit TEMPERATURE HUMID 13.0 93.0 TIME 2016-01-01 06:00:00 TABLE1.TEMPERATURE has value has va TABLE1.H MAX( ) ?TEMPERATURE SELECT ?OBS TEMPERATURE OBS a has value ?OBS ?TEMPERATURE has unit ?OBS ?uom { } Siow, E., Tiropanis, T. and Hall, W. (2016) SPARQL-to-SQL on internet of things databases and streams. ISWC2016: The 15th International Semantic Web Conference (max ( )) ?TEMPERATURE ?OBS TEMPERATURE OBS a has value ?OBS ?TEMPERATURE has unit ?OBS ?uom BGP
  15. DESIGNING OUR ENGINE TEMPERATURE OBS CELCIUS TEMPERATURE 13.0 TABLE1.TEMPERATURE has

    value MAX( ) ?TEMPERATURE SELECT ?OBS TEMPERATURE OBS a has value ?OBS ?TEMPERATURE has unit ?OBS ?uom { } (max ( )) ?TEMPERATURE ?OBS TEMPERATURE OBS a has value ?OBS ?TEMPERATURE has unit ?OBS ?uom Siow, E., Tiropanis, T. and Hall, W. (2016) SPARQL-to-SQL on internet of things databases and streams. ISWC2016: The 15th International Semantic Web Conference BGP
  16. SPARQL DESIGNING OUR ENGINE MAX( ) ?TEMPERATURE SELECT ?OBS TEMPERATURE

    OBS a has value ?OBS ?TEMPERATURE has unit ?OBS ?uom { } SELECT MAX( ) ?TEMPERATURE ?OBS ?TEMPERATURE ?uom TABLE1.TEMPERATURE CELCIUS NODE_TEMP (max ( )) ?TEMPERATURE ?OBS TEMPERATURE OBS a has value ?OBS ?TEMPERATURE has unit ?OBS ?uom BGP Siow, E., Tiropanis, T. and Hall, W. (2016) SPARQL-to-SQL on internet of things databases and streams. ISWC2016: The 15th International Semantic Web Conference
  17. SPARQL DESIGNING OUR ENGINE MAX( ) ?TEMPERATURE SELECT ?OBS TEMPERATURE

    OBS a has value ?OBS ?TEMPERATURE has unit ?OBS ?uom { } SQL SELECT MAX( ) TEMPERATURE FROM TABLE1 Siow, E., Tiropanis, T. and Hall, W. (2016) SPARQL-to-SQL on internet of things databases and streams. ISWC2016: The 15th International Semantic Web Conference
  18. EVALUATION WITH BENCHMARKS SRBENCH ~20,000 Stations 100 – 300k triples

    Wind, Rainfall, etc. 10 SRBench Queries Zhang, Y, et al. (2012) "SRBench: a streaming RDF/SPARQL benchmark.”The 11th International Semantic Web Conference. SMART HOME BENCH Siow, E., Tiropanis, T., Hall, W. (2016). "Interoperable and Efficient: Linked Data for the Internet of Things." The 3rd International Conference on Internet Science. 3 months, 1 home ~30k triples Motion, energy, environment 4 Analytics Queries GraphDB (OWLIM) Ontop Our Approach (S2S) TDB G Morph O S M T
  19. STORAGE SIZE 3ook Hurricane Ike 1ook NEVADA BLIZZARD 3ok SMART

    HOME OUR APPROACH (s2S) TDB x15 x68 x112 GraphDB x9 x1352 x453
  20. Get the rainfall observed in a particular hour from all

    stations 01 02 SRBENCH QUERY RESULTS Q01 with an optional clause on unit of measure x5 S2S S TDB GraphDB Ontop Morph x3 x13 x4k x2 x4 x4 x5k
  21. 03 04 05 Detect if a hurricane has been observed

    Get the average wind speed at the stations where the air temperature is >32 Join between wind observation and temperature observation subtrees time-consuming in low resource environment (Raspberry Pi) Detect if a station is observing a blizzard x3 x6 x6 x88 x3 x3
  22. 06 07 08 Get the stations with extremely low visibility

    Detect stations that are recently broken Get the daily minimal and maximal air temperature observed by the sensor at a given location x2 x14 x4 x6 x6 x5 x2
  23. 09 10 Get the daily average wind force and direction

    observed by the sensor at a given location Get the locations where a heavy snowfall has been observed Our Approach (s2s) is shown to be faster on all queries in the Distributed Meteorological System with SRBench Join between wind force and wind direction observation subtrees is time-consuming in low resource environment (Raspberry Pi) x3 x3k x2 x7
  24. Temperature aggregated by hour on a specified day 01 02

    SMART HOME RESULTS Minimum and maximum temperature each day for a particular month S2S TDB GraphDB x7 x29 x3 x9
  25. 03 04 Energy Usage Per Room By Day Diagnose unattended

    appliances consuming energy with no motion in room Our Approach (s2s) is shown, once again, to be faster on all queries for Smart Home Analytics Involves motion and meter data (much larger set), with space-time aggregations and joins between motion and meter tables/subgraphs. Involves meter data (larger set), with space-time aggregations. x69 x13 x4
  26. RDF STREAM PROCESSING sparql2stream Same engine and mappings but translates

    to EPL instead of SQL TRANSLATE QUERY 2 Stream Window SPARQL query specifying stream window size REGISTER QUERY 1 Stream Sockets Supports multiple platforms and streams with ZeroMQ STREAM DATA 3 Real-time analytics RECEIVE PUSH RESULTS 4
  27. STREAM PROCESSING EFFICIENCY SMART HOME BENCH SRBench 100 to 106

    100 to 200 CQELS Performance Improvement Over Le-Phuoc, D., et al. (2011) "A native and adaptive approach for unified processing of linked streams and linked data.” The 10th International Semantic Web Conference. VELOCITY >99% <1ms latency increasing from 1 to 1000 rows/ms VOLUME 33.5million rows, projected ~2.5 billion triples! SCALABILITY
  28. PERSONAL IOT REPOSITORY Siow, E., Tiropanis, T. and Hall, W.

    (2016) PIOTRe: Personal Internet of Things Repository: The 15th International Semantic Web Conference P&D github.com/eugenesiow/piotre sparql2stream sparql2sql github.com/eugenesiow/sparql2sql PIOTRE Apps sparql2stream sparql2sql Metadata
  29. FOG RSP Siow, E., Tiropanis, T. and Hall, W. (2017)

    A Fog Computing Framework for RDF Stream Processing. Sensors Node Data Stream Broker Subscribe(URI_1) Client Publish ([Query_p1,Q_p2]) Push (Select_Stream), Access Control, Bandwidth Control Inverted pub-sub Query Broadcast, Nodes manage distributed processing WORKLOAD DISTRIBUTION No single point of failure. Any RPi can serve as a broker. ‘Best effort’ for source nodes ResultSet
  30. MITIGATING CYBER-SOCIAL DISASTERS LESS DEPENDENCY ON CLOUD MORE ROBUST REPOS

    FOR FOG COMPUTING HUMAN STILL VUNERABLE GOOD UI, SECURITY BY DEFAULT What are your latency-sensitive, security/privacy-sensitive, or geographically constrained applications & scenarios?
  31. “Until they become conscious they will never rebel and until

    after they have rebelled they cannot become conscious.” 1984 by George Orwell @eugene_siow