Automated security verication of networking protocols and query auditing algorithms for wireless sensor networks

Wireless Sensor Networks (WSNs) are given higher priority recently, thanks to their increasingly important role and widespread applications in everyday life. WSNs consist of spatially distributed sensors (called as sensor nodes) to monitor physical or environmental conditions, such as temperature, sound, pressure, etc., at different locations. Each sensor node typically has a radio transceiver with an internal antenna or connection to an external antenna, a microcontroller, an electronic circuit for interfacing with the sensors and an energy source, usually a battery. WSNs consist of a large number of resource constrained sensor nodes and a few more powerful base stations. The sensors collect various types of data from the environment and send those data to the base stations using multi-hop wireless communications. For this reason, in the literature, the base stations are also called as sink nodes. Communications in WSNs usually take place between the sensor nodes and the base stations, and it is important to distinguish the direction of those communications. In case of upstream communication, the sender is a sensor node, and the receiver is a base station, while in case of downstream communication, these roles are reversed. The goal of the sender is to reliably transmit to the receiver a full message that may consist of multiple fragments. The importance of WSNs arises from their capability for detailed monitoring in remote and inaccessible locations where it is not feasible to install conventional wired infrastructure. The development of WSNs was motivated by military applications such as battlefield surveillance, however, today such networks are used in many industrial and consumer applications, including medical monitoring [62], [32], environmental monitoring [65], air pollution monitoring [41], natural disaster prevention, forest fire detection, smart home monitoring, and industrial machine monitoring [8]. There are a number of research challenges associated with wireless sensor communication arising from the limited capabilities of low cost sensor node hardware and the common requirement for nodes to operate for long time periods with only a small battery. For this reason, most security solutions designed for wired networks, which often include memory and computation intensive tasks, cannot be directly adopted in wireless sensor networks. Up to date, numerous networking protocols and solutions have been proposed to ensure the reliable operation of WSNs applications in a hostile environment [19]. However, despite the fact that WSNs are often envisioned to operate in hostile environments, some of the protocols and solutions do not address security issues at all, and as a consequence they ensure reliability only in a benign environment where no intentional attack takes place. Recognizing this problem, in recent years many research focused on proposing security protocols based on cryptographic methods [19]. Unfortunately, designing security protocols is a very difficult and error-prone task, which is confirmed by the fact that critical security holes can be found in many widely used protocols, including such protocols that are secured by cryptographic operations, and believed to be secure by the protocol designers. The security vulnerabilities inherent in the designed protocols are often hard to spot, because of the huge number of behavioral scenarios defined in the protocols. In many cases, protocol and system designers only perform manual and informal analysis on their proposed protocols. The main problem is that informal analysis of protocols is error-prone, and security holes can be overlooked, hence, it is not considered to be a reliable approach. Addressing this problem,