The question that more IoT stakeholders should be asking themselves is whether they trust the data coming from their devices.  Given that companies invest in IoT because they believe additional real-time data will lead to greater efficiency or increased profits, any business decisions taken using flawed data may result in losses rather than gains.  Security is a risky topic to neglect or to hope for the best.

The problem is most significant and hardest to detect when devices report plausible but inaccurate data.  Imagine a scenario where we have twenty smoke detectors installed throughout a building complex, and all but one is working correctly.  Now, this rogue unit will always generate a “no smoke” status, regardless of the actual situation.  Its potentially disastrous flaw isn’t apparent to the monitoring station, because the data it sends is reasonable; indeed, it’s what’s expected.

Another example is a remote device that detects when a rubbish bin is full.  If this device has been quiet for some time, does that mean the bin still has spare capacity or simply that the battery run out?

We can group the root causes of these trust issues into human error and malicious activities.  Human error captures all the mistakes resulting from developing and deploying IoT devices, ranging from firmware bugs to misconfiguration.  Malicious activities are deliberate actions that disrupt normal device behavior, such as the installation of malware or a denial-of-service attack.

At Pelion, we are looking to this tackle problem with Device Sentry, a new feature in our Pelion Device Management service that automatically monitors and reports device behavior.  For now, let’s explore methods for increasing the trustworthiness of IoT data and show how Device Sentry can automate this process for device manufacturers and operators.

How to improve trust in data

Unfortunately, it’s impossible to trust data entirely, but you can increase the confidence levels by taking active measures to improve prevention and detection.  Prevention involves taking steps that make human errors and malicious activities less likely; best-practice examples that Pelion implements include:

Detection is about spotting the problems that occur as swiftly as possible, so bad or compromised data has a limited impact on the business.  Establishing baselines of standard and accepted behaviors and actively monitoring these can reveal a lot about a device’s operational state.  Delivering this situational awareness was Pelion’s driver for developing Device Sentry.

Monitoring device metrics

CPU state, memory usage, and network traffic can all indicate whether a device is working correctly.  Tracking these simple metrics is an excellent first step in baselining device health.

For example, comparing the time spent in different CPU states (awake, idle, sleep, etc.) can help spot configuration errors.  For example, if a battery-powered device should be sleeping twenty-three hours a day, yet, today, it has been awake for four hours already; then something is wrong.  Spotting this early can make the difference between a remote configuration change and a costly device battery replacement.

Another example could be detecting extra CPU threads running on the device, which might indicate a debug process running in production or that the device is executing malware.

Memory use monitoring can help spot firmware bugs.  A good example is a memory leak, which occurs when a device application keeps allocating more memory without releasing the old memory.  Over time this exhausts the device’s finite resources, and a crash is inevitable.  This condition can be difficult to spot without careful observation because it will likely restart and continue operation.  Yet, the crash will have resulted in data loss, at some cost to the IoT solution and the business.

Network traffic is another good indication of device health.  Sending unusual volumes of data could indicate something is amiss.  Exchanging data with unexpected third-parties could indicate a security flaw or a misconfiguration.

Automating with Device Sentry

Using the Pelion Device Management service allows customers to accelerate their IoT projects and get to market sooner.  Pelion automates many lifecycle management tasks, such as device registration, firmware updates, and fleet management, allowing organizations to focus on what they do best – their unique business model.

Device Sentry delivers similar automation for device health monitoring.  The Pelion Device Management Client automatically collects device metrics, meaning that no programming effort is required to elevate the trustworthiness of device data and your overall security posture.  The metrics are then transmitted to the Pelion Device Management platform and compared to expected behavior.  If a deviation occurs, system operators will be alerted, and the anomalies investigated.

Device Sentry also allows device manufacturers to monitor any time-series data that is important for their health.  An example might be following the battery charge on a solar-powered device. Best of all, Device Sentry is a no-charge option, available to all users of our Pelion Device Management service.

Summary

Given a nominal life expectancy of five, ten, or even twenty years, IoT devices are not fire-and-forget products.  Regular monitoring ensures devices are operating as expected and that the data they generate is trustworthy.  Basing business decisions on ratty data undermines the entire value proposition that the IoT solution was purchased to give. With the release of our new Device Sentry capability, Pelion Device Management makes increasing trust levels simpler and more straightforward.  It’s a free feature that automates the collection of device metrics and identifies unexpected and potentially fatal behavior