Security of Wireless Sensor Networks
Sensor networks seem to be an interesting research topic from a practical point of view. There are a number of papers elaborating on theoretical concepts, but only a few experts looked into practical implementations. What is actually a sensor network? For us, it's an ad-hoc, self-organising, wireless network. We have been interested in a particular environment and a topology consisting of smaller clusters (several dozens) of wireless motes was typical.
Although there are no definitive answers regarding basic functionality, such as routing yet, security is becoming a quite important issue. We have been looking into security of sensor networks from several different angles we would like to briefly describe.
Implementations of Sensor Networks
We have been participating in project WINES Infrastructure aiming to deploy wireless sensor networks to monitor large bridges, tunnels, and water systems. This gave us an opportunity to perform a detailed analysis of security issues in existing hardware and software platforms for wireless sensor networks.
Using TinyOS v1.1 is a pretty straightforward task. There is a very good support from within the community working with TinyOS. There is a tutorial on NesC – language used to code TinyOS, and a number of introductory lessons. We therefore give some pointers here and a description of particular issues we have encountered.
TinySec and MICAz are incompatible. The problem is that TinySec was implemented for MICA2 motes that use different radio chip, handling data differently. We have managed to hack the driver for CC2420 – radio chip of MICAz – so that it is able to use the original TinySec implementation.
XMesh Internals are open so long as you are not interested in routing. We were really interested in how they do the stuff and we are able to give you descriptions of most important differences from TinyOS – at least most of them.
Attacking TinyOS is what we spent most time on. We have found several types of attacks that demonstrate more general problem – there are so many avenues for launching an attack that one has to be very careful about their application security.
Scapy and TinyOS may be a surprising pair, but it turned out to be quite useful. We have added support for serial port communication and definition of most important frame formats.