horror on horr horr horror on or on the b or on the b the
play

Horror on Horr Horr Horror on or on the b or on the b the bus - PowerPoint PPT Presentation

Horror on Horr Horr Horror on or on the b or on the b the bus the bus Hacking COMBUS in a Hacking combus in a Paradox security system Paradox security system Hackfest Decade Quebec, Canada Author Lead researcher at Possible


  1. Horror on Horr Horr Horror on or on the b or on the b the bus the bus Hacking COMBUS in a Hacking combus in a Paradox security system Paradox security system Hackfest Decade Quebec, Canada

  2. Author ● Lead researcher at Possible Security, Latvia ● Hacking and breaking things – Network flow analysis – Reverse engineering – Social engineering – Legal dimension ● twitter / @KirilsSolovjovs

  3. Possible Security ● Pentests & auditing ● Consulting & trainings ● Hard problems & reverse engineering Thanks! possiblesecurity.com

  4. INTRO

  5. Paradox security systems ● Canadian company, founded 1989 ● Modular security alarms – SPECTRA SP ● Expandable Security Systems – EVO ● High-Security & Access Systems – MAGELLAN ● Wireless Security Systems

  6. Prior research ● Work on interfacing with SP series via COMBUS – Martin Harizanov ● partially working code, moved on to SERIAL ● Work on interfacing with MG series via SERIAL – All over forums ● leaked docs – Gytis Ramanauskas ● code on github

  7. Responsible disclosure process ● At first: – General claim that there’s a vulnerability met with doubt – Clearly no process in place ● In a few of months: – The information has been “dealt with” – For obvious security reasons, it is our policy to never discuss engineering matters outside of the company and thus we will not be commenting further on this issue ● A couple years later — I’m in Canada ¯\_( ツ )_/¯

  8. Components ● master heart on the system – “motherboard” – panel ● ancillaries – battery – power supply – siren

  9. Components ● combus slaves provide two-way communication – keypads – modules ● expansion ● printer ● listen-in ● etc.

  10. Components ● zone interrupt devices input, measures resistance chaining � – magnetic sensors – PIR sensors – panic buttons – etc.

  11. Components ● PGM modules: output, 100mA relays (solid state) – external actuators – boost relays

  12. Components ● serial devices: – RS485 – Serial converters (RS232, usb) – IP modules – GSM modules – etc.

  13. EVO192 RTC 3V battery voice dialer RS485 12 V ⎓ memkey battery 16.5 V ⏦ COMBUS

  14. REVERSE ENGINEERING

  15. Hardware tools ● Saleae Logic 8 ● Arduino UNO

  16. COMBUS

  17. Electrical layer ● combus – 4 wire bus ● resistance = 0 black = GROUND � (keypad) ● stable voltage red = POWER � ⎓ ● ... ?

  18. Signal layer ● yellow = CLOCK ● green = DATA ● 40ms between packet bursts ● 1 clock cycle = 1ms; signal = 1kHz

  19. Signal encoding ● CLOCK = low data!!! � ☺ ● ... we should have two-way comms something is missing ☹ 0 C 9 1 2 D 2 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 1

  20. Full signal encoding ● CLOCK = high – slave pulls down to send “1” ● CLOCK = low – master pulls up to send “1” -----M-M-M-M-M-M-M-MsMsMsMsMsMsMsMsMsMsMsMsMsMsMsMsMsMsMsMsMsMsMsMsM---

  21. Hardware setup (read-only) 5 V ● Resistors to limit 50 Ω – voltage 2.4 kΩ – current draw 2.4 kΩ 12 V

  22. Decoding into bytes o n C L K c h a n g e : w a i t 5 0 µ s i f C L K = = h i g h : m a s t e r = - m a s t e r = < 1 + D A T & 1 DAT e l s e : s l a v e = - s l a v e = < 1 + ! D A T & 1 CLK o n i d l e > 2 m s : i f m a s t e r > 0 : p r i n t m a s t e r p r i n t s l a v e m a s t e r = - 0 s l a v e = - 0

  23. Packet structure 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 master 40 03 92 02 01 EB 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C4 00 E2 14 10 0B 0F 37 05 00 01 5D 00 0C 13 38 1B slave 00 02 20 00 00 00 FF 5A 22 00 00 00 00 D5 23 79 E2 00 00 00 C8 B6 00 00 02 00 00 command checksum unused channel-request

  24. Checksum c h e c k s u m = - 0 f o r i i n @ c o m m a n d t o @ c h e c k s u m - 1 : c h e c k s u m = - ( c h e c k s u m + * i ) % 1 0 0

  25. Commands: heartbeat / clock ● 0 C N N D D / M M H H / S S – N N = x x x x x x x p = s e q u e n c e n u m b e r ● p = = 0 = > 0 C N N D D H H – D D = d a y o f t h e m o n t h – H H = h o u r ● p = = 1 = > 0 C N N M M S S – M M = m i n u t e s – S S = s e c o n d s

  26. Commands: code entry ● 0 0 0 2 2 0 U T 0 0 0 0 C T C C C C 0 0 0 0 0 0 0 0 S S S S S S S S 0 0 0 0 0 0 0 0 = # 0 0 – U T = p x x x x x x x ● p = u s e r t y p e = = 1 = > p r o g r a m m e r – C T = c o d e t y p e – C C C C = c o d e – S S S S S S S S = s e r i a l n u m b e r o f s o u r c e d e v i c e – = # = c h e c k s u m

  27. Payloads ● No encryption used ● Text as fixed length (often 16 chars) ASCII strings – 0x20 = filler ● Numbers usually packed BCD – “0” is 0b1010 = 0xA – on encryption, but hey, at least we got obfuscation!

  28. DEMO TIME Before connecting a module to the combus, remove AC and battery power from the control panel.

  29. EVO192 “Digiplex and Digiplex EVO systems provide the highest level of protection for banks, high- security military and government sites, luxurious residential homes and any place where maximum security is essential” – https://www.paradox.com/Products/default.asp?CATID=7

  30. Exploitation scenarios 3 9 9 8 3 1 1 1 9 3 0 9 1 4 0 0 8 2 4 8 4 5 8 4 9 4 5 0 5 6 1 7 6 5 5 0 8 2 4 5 6 9 7 9 9 8 7 8 6 1 0 1 4 9 7 1 1 2 9 4 9 5 7 6 5 0 0 5 2 7 8 9 7 7 1 1 1 1 3 3 3 6 2 7 6 8 5 6 5 1 3 2 4 9 2 0 5 0 7 6 7 5 0 0 7 0 6 5 0 6 4 3 9 3 0 2 1 7 4 4 3 7 2 5 8 4 3 2 1 2 7 5 1 1 2 8 1 4 9 7 8 6 5 7 9 2 6 4

  31. SUMMARY

  32. Results ● Hardware built, decoding software written ● Protocol partially transcribed ● Impact of possible attacks

  33. Solutions ● Encryption at command layer – TLS? ● Mutual slave-master authentication – client certificates? ● Sensitive payload encryption – with unique per-panel key!

  34. Further research ● Anti-collision protocol research ● DoS attacks ● Emulating a slave ● COMBUS over radio ● RF attacks ● Firmware reverse engineering ● Logo. We need a logo, right? How about this one?

  35. Resources ● Slides available – http://kirils.org/ – 4 November 2018 ● Tools available – https://github.com/0ki/paradox – 18 November 2018

  36. Horr Horror on Horr Horror on or on the b or on the b the bus the bus Hacking COMBUS in a Hacking combus in a Paradox security system Paradox security system http://kirils.org/ @KirilsSolovjovs

Recommend


More recommend