7. [SensePost – 2015]
Why ?
• Same hardware used in:
– Smart Metering (Duh…)
– Industrial / Process Control
– Transport Management
– Building Automation
8. [SensePost – 2015]
Why ?
• Same hardware used in:
– Smart Metering (Duh…)
– Industrial / Process Control
– Transport Management
– Building Automation
– Garden Irrigation Platform
24. [SensePost – 2015]
What ?
• Wouldn’t it be cool to interface with the
stuff natively ?
– Look at attacks against other devices (ala IO
Active)
– Look at attacks against infrastructure
25. [SensePost – 2015]
Echelon ?
• Developed the Neuron Chip
– Often used in 3rd party solutions
• Sold Smart Meter business in 2014
• “Industrial Internet of Things”
(We really need some new clichés)
26. [SensePost – 2015]
Echelon ?
• Developed the Neuron Chip
– Often used in 3rd party solutions
• Sold Smart Meter business in 2014
• “Industrial Internet of Things”
(We really need some new clichés)
• Developed and Standardised the LonMark
protocol
– Now termed LonWorks or ANSI/CEA-709.1
27. [SensePost – 2015]
Echelon ?
• Approximately 90 million devices deployed
in 2010
• Train control systems
• Electro-Pneumatic Braking Systems
• Fuel Control
• Building Automation
• Appliance Control and Monitoring
28. [SensePost – 2015]
Echelon ?
• Approximately 90 million devices deployed
in 2010
• Train control systems
• Electro-Pneumatic Braking Systems
• Fuel Control
• Building Automation
• Appliance Control and Monitoring
• (and as I said – Garden Irrigation to come)
• …
33. [SensePost – 2015]
TP/FT-10 ?
• Twisted Pair Medium
• Linear Bus or “Free Topology”
• Maximum length 2.7km + 500m
• 64 Devices per bus
• 78kbps
• Shared Medium :D/
• Need to be terminated
– #include <disclaimer.h>
40. [SensePost – 2015]
Communications ?
• Demonstrate partially working bus sniffing
(Via a very creative approach… )
• Demonstrate partially working bus
“injection”
• Lots of bad packets:
– Exceptions in UsbLta.dll
– Smart Meter Crashes (int over-run)
41. [SensePost – 2015]
Communications ?
• Demonstrate partially working bus sniffing
(Via a very creative approach… )
• Demonstrate partially working bus
“injection”
• Lots of bad packets:
– Exceptions in UsbLta.dll
– Smart Meter Crashes
• Demonstrate toolset by intercepting other
digital comms
42. [SensePost – 2015]
Communications ?
• 78kbps (I’ve mentioned that)
• Manchester Encoded bit-stream (I’ve not
mentioned that yet)
• Not serial (although you can DoS the bus
with it)
– Observed strange things with LTAUSB.dll
• Media agnostic
• Determines reversed polarity
– Makes it very easy to just “plug and play”
43. [SensePost – 2015]
Communications ?
• Differential Manchester Encoding
• Allows retrieval of the clock cycle
• Encodes bits alongside this clock
– Full clock-cycle L or H == 1
– Half clock-cycle L or H == 0
45. [SensePost – 2015]
Communications ?
• No communication == Line state is
undriven
• Followed by “Byte Sync”. Series of
“Manchester ones” opposite to un-driven
line state
• Followed by “Bit Sync”. One “Manchester
zero”
47. [SensePost – 2015]
Communications ?
• No communication == Line state is
undriven
• Followed by “Byte Sync”. Series of
“Manchester ones” opposite to un-driven
line state
• Followed by “Bit Sync”. One “Manchester
zero”
• Followed by packet data
• Followed by CRC
49. [SensePost – 2015]
Communications ?
• Authentication
– Key-based
• Key distributed via LonWorks Protocol message
• (Did I mention the TP-FT-10 media is shared?)
– Challenge response-based
– Not published
69. [SensePost – 2015]
Tools ?
• Need to build the JNI components for JNI
and OS/X
• Will publish on GIT by next week
• Watch www.sensepost.com/blog for post
70. [SensePost – 2015]
Conclusion
• A lot to shoot at in this field
• A lot of stuff will probably break
• Never release the “Magic Smoke”