Horror on the bus Hacking COMBUS Paradox security. Hackfest Decade Quebec, Canada

Similar documents
Horror on the bus. Hacking COMBUS Paradox security. Hack In The Box Dubai 2018 #HITB2018DXB

TM50 Touch Intuitive Touchscreen

Modules Programming Guide. paradox.com

MG/SP Series (V4.9/V5.1) What s New

Modules Programming Guide

High Security and Access System EVO48 V2.1 EVO192 V2.1

WaterCress Portfolio

GSM communicator G09 (v.1.61) User Manual and Installation Guide. Draugystes g. 17, LT Kaunas

TTDM-128 Modbus Register Map. Version 3.1 Series Current to Document Date

Product type designation. General information. Supply voltage. Input current

Ethernet communicator E14 USER MANUAL July, 2018

WIRELESS S Y S T E M S

WLS-TC Specifications

Home Security System with Remote Home Automation Control

Product Specification

DS1306. Serial Alarm Real Time Clock (RTC)

MACHINE BREAKDOWN DETECTION SYSTEM

Product Specification

ACR880 GPRS Portable Smart Card Terminal

WIRELESS RECEIVER WRM-TS. Rev. 1.0c

With a digital input we can read two states, a high or low. A switch can be open or closed.

PT7C4563 Real-time Clock Module (I2C Bus)

FEATURES DESCRIPTION SPECIFICATIONS

Product type designation. General information. Supply voltage

eh880 Secure Smart Card Terminal

DS1305EN. Serial Alarm Real-Time Clock

DataNet Solution. Wireless intelligent logging network. Sense it. Manage it. H E

Ethernet communicator E10v2 USER MANUAL. UAB TRIKDIS Draugystės str. 17, LT Kaunas LITHUANIA Webpage:

USB-4303 Specifications

Digital Circuits Part 2 - Communication

Preliminary Data MOS IC. Type Ordering Code Package SDA Q67100-H5096 P-DIP-8-1

BT 31 Data Sheet. Amp ed RF Technology Inc.

Preliminary Data MOS IC. Type Ordering Code Package SDA Q67100-H5092 P-DIP-8-1

UAB TRIKDIS Draugystės str. 17, LT Kaunas LITHUANIA Webpage: GSM communicator G10. (v.1.

General information. Engineering with. Supply voltage. Load voltage L+ Input current. Power losses. Memory. Work memory.

DS1305EN. Serial Alarm Real-Time Clock

GSM module G10. User manual. (v.1.xx) JSC UAB TRIKDIS Draugystės str. 17, LT Kaunas LITHUANIA Webpage:

Installation Guide for PR311SE and PR311SE-BK v1.0 Access Controllers Rev. B

BMS: Installation Manual v2.x - Documentation

DIN-RAIL EXPANDER int-iors_en 10/14

General information. Supply voltage

FEATURES DESCRIPTION FEATURES

Digiplex EVO High Security and Access Systems

VISTA 12a / 48a TECHNICAL TRAINING. The Best in Security plus Everyday Convenience & Control

ADVANCED VEHICLE TECHNOLOGIES, Inc. AV. AVT-718 LIN Support. Introduction. Firmware. Hardware. Inc.

SCADAPack Smart RTU

PCS200 GPRS Communicator Module V1.0

PF2100 MODBUS LOGGER CARD SYSTEM SPECIFICATION. v1.0 DRAFT Revised Dec 4, 2014 Last Revised by Alex Messner

DS1305. Serial Alarm Real Time Clock (RTC) FEATURES PIN ASSIGNMENT ORDERING INFORMATION

EVOHD. Programming Guide. Version

AL-WS-010v smart 0-10v Dimmer switch with 3-Way, DC power and DALI

Logic Controller Millenium Evo

Sierra Radio Systems. Mesh Data Network. Reference Manual. Version 1.0

PCS200 Communicator Module V2.2

Integrity Instruments Application Notes. Release 1

XBP24-E Base 24 I/O Ethernet PRELIMINARY. General characteristics Part number

OEM Proximity Reader with Keypad Manual REV1

GSM communicator G16 USER MANUAL

Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform.

PROGRAMMING HELP GUIDE

isma-b-mg-ip User Manual Global Control 5 Sp. z o.o. Poland, Warsaw

THE BRIDGE. Make any Wiegand device wireless with the Sure-fi Bridge FEATURES. Technology

Debounced 8 8 Key-Scan Controller

ACR8000 Hardware Manual

Datenblatt / Specifications. ACR880 GPRS Portable Smart Card Terminal. idvation GmbH

PCI Host Controller 14a Hardware Reference Release 1.2 (October 16, 2017)

ETH044-4 SSR (230VAC) and 4 Digital IO

DS WIRE INTERFACE 11 DECOUPLING CAP GND

Application Note One Wire Digital Output. 1 Introduction. 2 Electrical Parameters for One Wire Interface. 3 Start and Data Transmission

SCADAPack 350E 357E. Smart Remote Terminal Unit

DS1305 Serial Alarm Real Time Clock (RTC)

MBM - Modular I/O system IP20

SCADAPack 312E 313E 314E

Installation Instructions

Introduction to I2C & SPI. Chapter 22

Safecom Solution-16 Quick Reference Guide ISSUE 1.10

Sequential Event Recorder

GSM communicator G16 USER MANUAL

The IQ240 panel mount load cell indicator is a precision digital indicator for load cell and strain gauge applications.

Interfacing Techniques in Embedded Systems

180 Series Keypad. Handbook. Revision 2.1

Logic Controller Millenium Evo

P2 Configuration Guide

Millenium 3 logic controllers

Doc: page 1 of 8

PR602LCD v1.0 Installer Manual Rev. A

DATRAN XL4 PLUS RTU Quick Start Guide

XT30/XT50 OVERVIEW. Slide 1. Slide 2. Slide 3. Objectives. XT30/XT50 Basic Training System Overview. XT30/XT50 Description

SCADAPack 350E 357E. Smart Remote Terminal Units. Distributed by Relevant Solutions relevantsolutions.com

EA500. Installation Instructions Transponder

GSM communicator G10D

Team 2228 CougarTech 1. Training L2. Software Environment

2. (2 pts) If an external clock is used, which pin of the 8051 should it be connected to?

Installation guide for PR302 v2.0 Rev. E

SECOND EDITION. Arduino Cookbook. Michael Margolis O'REILLY- Tokyo. Farnham Koln Sebastopol. Cambridge. Beijing

MPI-DN, MPI-D MULTICHANNEL ELECTRONIC RECORDER for HART or RS-485/ MODBUS RTU SENSORS

Laboratory of Sensors Engineering Sciences 9 CFU

Figure 1 Typical Application Circuit

RN-174. WiFly GSX Super Module. Features. Description. Applications. rn-174-ds v1.1 4/20/2011

Conversion of Contact ID event codes sent by alarm control panel via GSM and PSTN channel to SMS messages

Transcription:

Horror on the bus Hacking Hacking COMBUS combus ininaa Paradox Paradox security security system system Hackfest Decade Quebec, Canada

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

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

INTRO

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

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

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 \_( ツ )_/

Components master heart on the system motherboard panel ancillaries battery power supply siren

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

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

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

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

EVO192 RTC 3V battery voice dialer RS485 12 V battery memkey 16.5 V COMBUS

REVERSE ENGINEERING

Hardware tools Saleae Logic 8 Arduino UNO

COMBUS

Electrical layer combus 4 wire bus resistance = 0 chaining black = GROUND stable voltage chaining red = POWER...? (keypad)

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

Signal encoding CLOCK = low chaining 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

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---

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

Decoding into bytes DAT on CLK change: wait 50µs if CLK == high: master =- master=<1 + DAT&1 else: slave =- slave=<1 +!DAT&1 CLK on idle > 2ms: if master > 0: print master print slave master =- 0 slave =- 0

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

Checksum checksum =- 0 for i in @command to @checksum - 1: checksum =- (checksum + *i) % 100

Commands: heartbeat / clock 0C NN DD/MM HH/SS NN = xxxxxxxp = sequence number p==0 => 0C NN DD HH DD = day of the month HH = hour p==1 => 0C NN MM SS MM = minutes SS = seconds

Commands: code entry 00 02 20 UT 00 00 CT CC CC 00 00 00 00 SS SS SS SS 00 00 00 00 =# 00 UT = pxxxxxxx p = user type == 1 => programmer CT = code type CC CC = code SS SS SS SS = serial number of source device =# = checksum

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!

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

EVO192 Digiplex and Digiplex EVO systems provide the highest level of protection for banks, highsecurity military and government sites, luxurious residential homes and any place where maximum security is essential https://www.paradox.com/products/default.asp?catid=7

Exploitation scenarios 3998 8248 6550 6101 5005 6856 7500 1744 1128 3111 4584 8245 4971 2789 5132 7065 3725 1497 9309 9450 6979 1294 7113 4920 0643 8432 8657 1400 5617 9878 9576 3627 5076 9302 1275 9264

SUMMARY

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

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

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?

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

Horror on the bus Hacking Hacking COMBUS combus ininaa Paradox Paradox security security system system http://kirils.org/ @KirilsSolovjovs