CBus network security

Discussion in 'C-Bus Toolkit and C-Gate Software' started by dibble, Jan 26, 2011.

  1. dibble

    dibble

    Joined:
    Jan 26, 2011
    Messages:
    6
    Likes Received:
    2
    Location:
    UK
    Hello,

    I am currently working on the design of an automation system for a new facility my company is building. We are looking at integration between multiple system elements including lighting, burglar alarm and access control.

    We like the CBus system and in particular the availability of the PAC, which is pretty much perfect for providing the embedded logic in our design. However, we are concerned about the security of the underlying cbus system and have a couple of questions that we would appreciate input on:

    1) Is there any way for a device to ignore commands that originate from certain devices. i.e., only actuate if the input that changes a group status comes from a certain input device. (What we are concerned about here is having a situation where switching on a particular group will open a relay, for example, that will open a door through our access control system

    2) If the situation described in 1. is not possible, is it possible in logic on the PAC to determine which input changed the status of a group? (I've not been able to find anything in the docs). In that way we could implement the application level firewalling we are looking for in code on the PAC and by using a serial controlled relay hanging off the PAC.

    3) Is there anyway to protect against rogue devices being connected to the network?

    Any help gratefully received.

    Kind regards

    Jon
     
    dibble, Jan 26, 2011
    #1
  2. dibble

    daniel C-Busser Moderator

    Joined:
    Jul 26, 2004
    Messages:
    770
    Likes Received:
    21
    Location:
    Adelaide
    C-Bus is not a secure protocol and is not intended as a security system. Using C-Bus devices to disarm or control the security system is prone to various forms of attack. You can't guarantee the origin of any message, it would be possible in theory for an "evil" unit to masquerade as another unit.

    Some people are happy to take this risk in certain settings by securing the physical locations (which is why you will see some discussion of C-Touch keypads inside a home), but it is really not recommended.

    It would be more prudent to integrate them one-way only, so that the security system can only trigger events on the C-Bus network. The attack surface is then greatly reduced.
     
    daniel, Jan 27, 2011
    #2
  3. dibble

    NickD Moderator

    Joined:
    Nov 1, 2004
    Messages:
    1,429
    Likes Received:
    64
    Location:
    Adelaide
    Neither of the things you ask about are possible with the PAC, or C-Bus for that matter... if you are going to have a C-Bus device controlling your door strike, then that device will respond to any message that controls its group address, regardless of where it comes from.

    For this reason, I think most people would not place the door strike on a C-Bus relay. I would expect most security panels would have a relay output or other facility to control a door strike... the better option would be to let the security panel handle this and let C-Bus interface with the security panel at a higher level.

    Nick
     
    NickD, Jan 27, 2011
    #3
  4. dibble

    Don

    Joined:
    Aug 4, 2004
    Messages:
    429
    Likes Received:
    0
    Location:
    Townsville, Australia
    All messages in C-Bus contain a header which includes the source unit address. If you built an application using a PC and a PC Interface, you could analyse the messages received by the PC Interface from units, and you could reject commands if they originated from units you wanted to ignore. This would of course require you to maintain a database of units, which would have to be kept up-to-date.

    None of this is impossible, but I would have to take NickD and Daniel's advice that the PAC doesn't allow access to the lower layer communication facilities required for such filtering. You would probably have to write your own code to do this.

    If you wanted to detect "rogue devices" connected to the network, you can also achieve this through the use of a unit address "MMI". or "Status Report". This mechanism inherent in all C-Bus units allows detection of each occupied unit address on a network, and also can detect conflicts (where more than one unit has the same address). Toolkit uses this to 'unravel' networks. You would have to run some background scan at regular intervals to detect the unit conflicts. Of course, a unit connected for a short period of time could easily be missed if your scanning interval was too great, so it is not possible to achieve 100% detection this way.

    C-Bus units have been developed to suit the application they are intended for, and as such, there are no such security features in (wired) units controlling lighting or HVAC; a network used for lighting or temperature control can only be considered secure if physical access to the units and the wiring can be prevented.

    An application requiring a higher level of security could be catered for by inventing new messages specifically for the application. I can see no reason why this could not be achieved, but there's a bit of work in it.
     
    Don, Jan 27, 2011
    #4
  5. dibble

    ashleigh Moderator

    Joined:
    Aug 4, 2004
    Messages:
    2,400
    Likes Received:
    26
    Location:
    Adelaide, South Australia
    It is however possible (and quite legal on C-Bus) for unit addresses to be duplicated and things will keep working. The rogue attacker / hacker / criminal could easily make a unit the appears with the same address as the legitimate one, send the commands, and voila! door open.

    Its therefore far better not to have a door strike directly controller by a cbus relay unit, as NickD and Daniel have suggested. A dedicated controller reduces the possibility of attack.
     
    ashleigh, Jan 28, 2011
    #5
  6. dibble

    KevinH

    Joined:
    Aug 3, 2004
    Messages:
    171
    Likes Received:
    0
    Location:
    Yorkshire. UK
    Does this mean that if C-Bus lighting were installed as one network in say a hotel then there is no mechanism to stop one room occupant gaining access to the wiring behind their switch and being mischievous ?

    I would have thought for the larger installs like Wembly stadium and some Olympic sites that I believe have used C-Bus this would be a fundamental concern.

    Or maybe these are so large that a specific encryption can be included in firmware.

    K
     
    KevinH, Feb 4, 2011
    #6
  7. dibble

    ashleigh Moderator

    Joined:
    Aug 4, 2004
    Messages:
    2,400
    Likes Received:
    26
    Location:
    Adelaide, South Australia
    There's no difference in this respect between C-Bus and KNX, or any of a number of other control systems. If you get access to the physical cables you can do harm.

    But seriously, who is going to do this. If you want to do harm, swing an axe through the wiring cabinet, or dig the cables out and put mains on them.

    The idea of a brilliant hacker opening up the closet and pulling the wiring to control the lighting of the room next door is the kind of fanciful stuff that Hollywood loves but it does not happen in practice. This is known as a "movie plot threat". See Bruce Schneier for more: http://www.schneier.com/blog/archives/2010/06/fifth_annual_mo_2.html

    There are various security measures in place in things like big Stadiums and for some devices using in commercial buildings. However, disclosing what they are would be an unwise move.
     
    ashleigh, Feb 5, 2011
    #7
  8. dibble

    Lucky555

    Joined:
    Aug 13, 2007
    Messages:
    229
    Likes Received:
    0
    Hi guys - popped back in after a few years to see how the old gang is going. I am glad my browser remembered my user password.

    With nearly a couple of decades of security and C-Bus experience I thought I would throw this in. As the boys mentioned C-Bus is not a secure system / protocol - not intended to be. If you are wiring C-Bus or any similar system to a security system you should leave the security system "in charge". If there was a situation where you wired a C-Bus relay across the "output" control of an access control door you have fundamentally circumvented the control of the security / access control. As you know security / access control systems have input, output devices, encrypted data on their bus and a control database of user, door, access groups, time zones etc. When a door is opened many if not all of these elements are involved. Wire something in parallel and all those elements may as well not be there.

    Possibly look at your requirement from this angle. Your "lighting control" relay could be connected to an input of the security / access control. I do this to arm my security system. Importantly this input can only ever arm the system. Close / open the contacts as many times as you like and you will never get a disarm.

    For access control the same sort of input can be used. The access system can open a door as a result of your input during low security times / operations, however may ignore it if the system is armed, in alarm or a certain time zone is active.

    You mentioned this was a commercial situation ? ? or at least some level of integration, most decent commercial and higher end domestic grade systems can easily do this sort of thing...

    PS... I trust all the old C-Bus gang is happy and well...
     
    Last edited by a moderator: Feb 6, 2011
    Lucky555, Feb 5, 2011
    #8
  9. dibble

    dibble

    Joined:
    Jan 26, 2011
    Messages:
    6
    Likes Received:
    2
    Location:
    UK
    Thanks

    Hello everyone,

    Thanks for taking the time to consider the situation and giving your expert feedback - much appreciated.

    We will refactor the design to give monitoring of the access and security elements into CBus only.

    Kind regards

    Jonathan
     
    dibble, Feb 6, 2011
    #9
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.