Skip to main content

Sternum SDK Overview

The Sternum Platform (aka Analytics and Detection System - ADS) is a cloud-based IoT security and observability platform for IoT device manufacturers and their customers. It provides holistic and comprehensive cybersecurity, asset management and device analytics in one solution. It can be deployed in either public or private clouds.

The Sternum SDK - aka Observability SDK, ADS SDK or simply SDK - provides a set of functionalities to extend device and application monitoring capabilities, enabling:

  • Broader device visibility
  • Richer device analytics
  • More effective investigation of device security, behavior and anomalies.

Device observability

Understanding how a device or application behaves is key for troubleshooting issues but also can help identify potential security attacks.

The SDK provides a simple way to collect and send any type of data to the Sternum Platform for both device behavior and security analysis, providing a 360-degree view of the fleet of devices and how they are performing.

Examples include detecting abnormal changes in computation resources, like RAM, Flash, and CPU usage; monitoring changes in usage or availability of resources to the applications or OS, like cache memory, application or reserved memory, network bandwidth; detecting unexpected delays or impaired response time of some functions or tasks; checking if services or application containers are not running; collecting user activity or experience with the device.

Supported platforms

SDKLanguagesRelay FeatureCrash DetectionDocumentation
Embedded SDK - RTOS and bare metalC/C++NoManualEmbedded SDK*
Linux C SDKC/C++YesYesLinux C SDK
Linux Java SDKJavaNoNoLinux Java SDK
Android SDKJava, C/C++YesYesAndroid SDK
iOS SDKC/C++, Objective CYesNoiOS SDK
Windows Java SDKJavaNoNoWindows Java SDK

*: Note that RTOS EIV comes with its own integrated EIV SDK.


The SDKs work in conjunction with SDK Studio (Studio for short), Sternum's graphical tool to define and manage traces for each device project. Studio is available on Windows, macOS and Linux.

Connectivity

The requirements for the SDK connectivity to the Cloud Platform are:

  • Open egress network access:
    • Devices directly connected to the Sternum Platform: TCP:5001 or HTTPS/TCP:443
    • Devices connected to a proxy device (e.g. edge or smart device) reuse the existing device communication protocol and data is forwarded by the proxy device to the Sternum Platform using the SDK Relay functionality.
  • Network usage: Device and use case dependent.

Adding observability

The general process to add observability to your devices is:

  1. Create a Device Profile on the Sternum Platform for your device and firmware version (e.g. IP Camera version 1)
  2. Configure Studio to use this Device Profile and your firmware project
  3. Define the traces and data to collect from the device using Studio (modeling)
  4. If you use a bare metal or RTOS with the Embedded SDK, you may need to customize the integration with your platform
  5. Use the SDK to add traces in the firmware or application code to be monitored (implementation)
  6. If the device has no direct connectivity to the Sternum Platform (for example has no Ethernet or WiFi interface), the SDK shall also be used to develop a Relay application running on an intermediate device, which will relay the data from the device to the Sternum Platform. The SDK in the Relay application will manage the forwarding of the device data to the Sternum Platform. See more on Relay applications in the next section.
  7. Build, deploy and run your new firmware with traces.

On the Sternum Platform, you can then view the device data, create custom alerts and analytics dashboards, and view auto-generated device anomaly alerts. Refer to the Sternum Platform documentation.