21.08.2013 Views

Protocols for Secure Communication in Wireless Sensor Networks

Protocols for Secure Communication in Wireless Sensor Networks

Protocols for Secure Communication in Wireless Sensor Networks

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.1. Attack Paths 71<br />

closed environments, but code updat<strong>in</strong>g is a common feature and <strong>in</strong>troduces<br />

similar vulnerabilities.<br />

Software <strong>for</strong> wireless sensor networks is often developed us<strong>in</strong>g low-level<br />

programm<strong>in</strong>g languages like C. This facilitates the <strong>in</strong>troduction of vulnerabilities<br />

such as buffer overflows [109]. Fortunately, microcontrollers (which are the<br />

basis <strong>for</strong> sensor nodes) are often based on the Harvard computer architecture,<br />

which physically separates program and data memory. In such an architecture,<br />

buffer overflows usually don’t lead to unwanted program execution, s<strong>in</strong>ce<br />

most programs don’t write <strong>in</strong>to program memory directly. However, mov<strong>in</strong>g<br />

to processors that are based on the von Neumann architecture, or us<strong>in</strong>g virtual<br />

mach<strong>in</strong>es (such as Maté [114]), exposes sensor networks to the risks of such<br />

vulnerabilities.<br />

The attractiveness (to an attacker) of software-level attacks lies <strong>in</strong> the fact<br />

that such attacks are “class-type” attacks, which means that once it is known<br />

how an attack can be successfully mounted, this attack can be applied over and<br />

over aga<strong>in</strong> with m<strong>in</strong>imal additional cost s<strong>in</strong>ce all systems of the same class are<br />

vulnerable to it. This means on one hand that if a software vulnerability can<br />

be exploited on one sensor node, all other nodes <strong>in</strong> the same network are most<br />

likely also subject to this attack. On the other hand, this can mean that if such<br />

an attack can be successfully applied <strong>in</strong> one sensor network, other networks<br />

that are built from the same underly<strong>in</strong>g plat<strong>for</strong>m and system software may also<br />

be affected.<br />

Custom software development can reduce the risk of software-level attacks,<br />

s<strong>in</strong>ce the exploitation of vulnerabilities <strong>in</strong> such systems is more costly to an<br />

attacker than <strong>in</strong> standardized systems. Also, the absence of software lifecycle<br />

management mechanisms allows it to build such restricted <strong>in</strong>terfaces that<br />

further reduce the risk of vulnerabilities. However, both approaches put harsh<br />

restrictions on the flexibility and the cost-effectiveness of such systems. It can<br />

there<strong>for</strong>e be safely assumed that a more open approach will be usually used <strong>in</strong><br />

sensor networks <strong>in</strong> the future.<br />

A mechanism <strong>for</strong> code updates is multi-hop over the air programm<strong>in</strong>g [172],<br />

where new software versions are distributed to all nodes <strong>in</strong> a network <strong>in</strong> a cooperative<br />

manner. A risk <strong>in</strong> this approach is that code updates are <strong>in</strong>jected by<br />

an attacker who might thereby be able to exploit the <strong>in</strong>herent update mechanism<br />

of the network <strong>for</strong> ga<strong>in</strong><strong>in</strong>g control over all nodes <strong>in</strong> the network. It must<br />

be noted that even if the update mechanism is protected cryptographically, it<br />

may be possible <strong>for</strong> an attacker to learn the required keys through out-of-band<br />

mechanisms such as “social eng<strong>in</strong>eer<strong>in</strong>g” (e.g. blackmail or bribery).<br />

Virtual mach<strong>in</strong>es [114] execute programs that are encoded as ord<strong>in</strong>ary data,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!