patching mr robot: mitigating iot-related cyber-social-disasters by getting fog computing to work
TRANSCRIPT
getting Fog Computing to work
PATCHING MR. ROBOTMitigating IoT-related Cyber-Social-Disasters by
EUGENE SIOW
A hit TV-Series portraying realistic hacking and bleeding-edge technology
fsociety E CORP
Raspberry Pi Thermostat Hack
PROGRESSION OF HACKS
HVAC Hack
Wipe Debts
Jailbreak
Grand Theft AutoSmart Home Hack
DDOS
72°F
200°F
Smart Home Hack
SMART HOME HACK
WHAT AM I SUPPOSED TO DO?NOTHING IS WORKING
UNPLUG WHAT?EVERYTHING IS INSIDE THE WALLS
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 PORTALCONTROLS FOR LIGHTS, HEATING,
PARENTAL CONTROLS, DOORS
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 SILOSCan 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 LEAKAGESInternet access may be
unavailable, unreliable, and slow e.g. natural disasters, poor infrastructure, remote areas.
CONNECTION ISSUES
APPL
E
GOOG
LE
HONE
YWEL
L
CISC
O
HUAW
EI
GENE
RAL E
LECT
RIC
IBM
AMAZ
ON
INTE
LLET’S TALK FOG COMPUTING
MICR
OSOF
T
A REAL-WORLD
FOG COMPUTINGINFRASTRUCTUREFog 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
WeatherData
State InclementWeather PlanningApplication
CLOUD
Distributed Queries
OUR RESEARCHBuilding ”Pillars” to support Fog Computing
Sustainable & Secure
INTEROPERABILITY
DISTRIBUTIONEFFICIENCY
Linked Data
Faster Queries
eugenesiow.github.io/iot
INTRODUCING
LINKED DATAFOR INTEROPERABILITY
URI and ontologiesEstablish common data structures & References
ENABLES RICH METADATAwhat, where, WHEN, HOW of DATA
PERFORMANCE CHALLENGESSTORES DON’T SCALE & PERFORM WELL ON WEB YETBuil-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
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
20kUNIQUE DEVICES
dweet.io99.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,
}
1234
EFFICIENT QUERIES WITH
TIME-SERIESDATA
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
THING
TEMPERATURE OBS
HUMIDITY OBS
WIND SPEED OBS
13.0
LOCATION
produces
produces
located
produces
has value
THING
THING
THING
TEMPERATURE OBS
timeTEMPERATURE OBS 2016-01-01 06:00:00
unitTEMPERATURE OBS celcius
93.0has valueHUMIDITY OBS
timeHUMIDITY OBS 2016-01-01 06:00:00
unitHUMIDITY OBS PERCENT
10.5has valueWIND SPEED OBS
timeWIND SPEED OBS 2016-01-01 06:00:00
unitWIND SPEED OBS MPH
EFFICIENT QUERIES WITH
TIME-SERIESDATA
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
OURAPPROACH
EFFICIENT QUERIES WITH
TIME-SERIESDATA
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
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
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
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
MAX( )?TEMPERATURESELECT
?OBS TEMPERATURE OBSa
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 OBSa
has value?OBS ?TEMPERATURE
has unit?OBS ?uom BGP
DESIGNING OUR ENGINE
TEMPERATURE OBS
CELCIUS
TEMPERATURE
13.0 10.5
TABLE1.TEMPERATURE
has value
MAX( )?TEMPERATURESELECT
?OBS TEMPERATURE OBSa
has value?OBS ?TEMPERATURE
has unit?OBS ?uom
{
}
𝞹
𝞬 (max ( ))?TEMPERATURE
?OBS TEMPERATURE OBSa
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
SPARQL
DESIGNING OUR ENGINE
MAX( )?TEMPERATURESELECT
?OBS TEMPERATURE OBSa
has value?OBS ?TEMPERATURE
has unit?OBS ?uom
{
}
SELECT
MAX( )?TEMPERATURE
?OBS ?TEMPERATURE ?uom
TABLE1.TEMPERATURE CELCIUSNODE_TEMP
𝞹
𝞬 (max ( ))?TEMPERATURE
?OBS TEMPERATURE OBSa
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
SPARQL
DESIGNING OUR ENGINE
MAX( )?TEMPERATURESELECT
?OBS TEMPERATURE OBSa
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
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
STORAGE SIZE
3ookHurricane Ike
1ookNEVADA BLIZZARD
3okSMART HOME
OUR APPROACH (s2S)
TDB
x15
x68
x112
GraphDB x9
x1352
x453
Get the rainfall observed in a particular hour from all stations01
02
SRBENCH QUERY RESULTS
Q01 with an optional clause on unit of measure
x5
S2S
S
TDB GraphDB
Ontop Morph
x3
x13
x4k
x2
x4x4
x5k
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
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
x6x5
x2
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
Temperature aggregated by hour on a specified day01
02
SMART HOME RESULTS
Minimum and maximum temperature each day for a particular month
S2S TDB GraphDB
x7
x29
x3
x9
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
RDF STREAM PROCESSING
sparql2streamSame engine and
mappings but translates to EPL instead of SQL
TRANSLATE QUERY
2
Stream WindowSPARQL query specifying
stream window size
REGISTER QUERY
1
Stream SocketsSupports multiple
platforms and streams with ZeroMQ
STREAM DATA
3
Real-time analytics
RECEIVE PUSH RESULTS
4
STREAM PROCESSING EFFICIENCY
SMART HOME BENCHSRBench
100 to
106
100 to
200
CQELSPerformance 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
VOLUME33.5million rows, projected ~2.5 billion triples!
SCALABILITY
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/piotresparql2streamsparql2sql github.com/eugenesiow/sparql2sql
PIOTRE
Apps
sparql2stream sparql2sql
Metadata
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-subQuery Broadcast, Nodes manage distributed processing
WORKLOAD DISTRIBUTIONNo single point of failure. Any RPi can serve as a broker. ‘Best effort’ for source nodes
ResultSet
MITIGATING CYBER-SOCIAL DISASTERS
LESS DEPENDENCY
ON CLOUDMORE 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?
“Until they become conscious they will never rebel and until after they have rebelled they cannot become conscious.”
1984 by George Orwell
@eugene_siow