Skip to content

Risk assessment: NV-2 water level probe, version 1.0

Fictional example, written for the "CRA & Dev" series to illustrate Article 13 of the Cyber Resilience Act. The product, the choices and the ratings are examples: they do not replace the analysis of your own product.

PDF version: evaluation-risques-sonde-niveau-eau.pdf. Source: examples/07-risk-assessment/en/water-level-sensor.md.

1. Context

Item Content
Intended purpose Measure the water level of a public tank or reservoir, derive the volume, send it every hour over LoRaWAN, and raise an alert at once below a low threshold or above a high one. The local authority uses it to plan refills and to monitor its firefighting water reserves.
Reasonably foreseeable use Sole monitoring of a firefighting reserve, without regular visual checks; leak detection; data shared with the emergency services.
Conditions of use Outdoors, on remote and often unattended sites. Battery powered. Public LoRaWAN network.
Assets to protect Integrity and availability of the levels and alerts, on which the safety of people depends for firefighting reserves; alert thresholds; firmware integrity; LoRaWAN keys (a root key unique to each device).
Data processed Level, computed volume, temperature, battery voltage, lid state. No personal data.
Expected time in use 10 years. Support period: 10 years.
Interfaces LoRaWAN radio (readings, alerts, threshold configuration, updates); SWD debug port, locked in production; lid switch.

2. Diagram

The numbers refer to the risks in the next table.

Risk assessment: NV-2 water level probe, version 1.0

3. Risks

Likelihood (L) and impact (I): low, medium, high.

# Threat: who, through what L I Decision Measure or justification
1 A forged or replayed frame makes an empty reserve look full low high reduce Authenticated frames and frame counters; OTAA activation only: each session has its own keys, a frame from a past session is rejected; the platform rejects physically impossible level changes (point 2 (f)).
2 The probe goes silent (jamming, flat battery, destroyed probe) and a drop goes unnoticed medium high reduce A heartbeat every hour; a low-battery alert a month ahead. Assumption documented in the user guide: the platform must alert after two missed messages (point 2 (h)).
3 Alert thresholds are changed remotely to silence the alerts low high reduce Configuration accepted only if authenticated; bounded thresholds; each change is reported to the platform and logged (point 2 (d), (l)).
4 On site, someone opens the probe, moves it or blocks the sensor medium medium reduce The lid switch sends an alert; a reading outside the possible range is flagged (point 2 (d)).
5 The root key is extracted from a stolen probe medium low reduce One key per device: a theft compromises one probe only. SWD port locked (point 2 (d), (j)).
6 Malicious firmware is pushed through the radio update low high reduce Image signed by the manufacturer, verified by MCUboot before installation; rollback to an older version forbidden (point 2 (c), (f)).
7 A known vulnerability affects a dependency (RTOS, LoRaWAN stack) high high reduce SBOM for each release, continuous monitoring; fix released without delay, separate from functional changes (Part II, points 1 and 2).
8 The local authority's server is compromised and shows false values medium high out of scope, documented Outside the product. The user guide recommends two-factor authenticated access and alerts sent through a second channel.

4. Annex I, Part I, point 2

Point Applicable? Implementation, or justification
(a) No known exploitable vulnerability Yes SBOM analysed before each release; no known exploitable vulnerability is shipped.
(b) Secure by default, reset to original state Yes No shared default secret; cautious factory thresholds. An internal button restores the factory configuration, and the probe reports it.
(c) Security updates Yes Signed radio updates, installed automatically by default; the operator can postpone them.
(d) Protection from unauthorised access Yes No local interface; SWD locked; only authenticated commands are accepted; lid opening reported.
(e) Confidentiality Yes, low stakes Payload encrypted by LoRaWAN; no personal data.
(f) Integrity Yes, high stakes Authenticated frames, frame counters, OTAA activation; signed firmware; bounded thresholds.
(g) Data minimisation Yes Only the quantities needed for monitoring are sent.
(h) Availability of essential functions Yes, high stakes Thresholds are evaluated in the probe, without waiting for a command; hourly heartbeat; watchdog; low-battery alert.
(i) No impact on other networks Yes Radio duty cycle respected; connection retries spaced out, with some randomness.
(j) Limited attack surface Yes A single external interface, the radio; SWD locked.
(k) Exploitation mitigation Yes Compiler and RTOS hardening (stack canaries, MPU memory protection).
(l) Logging and monitoring Yes Threshold changes, lid openings, restarts and updates are sent to the platform. The opt-out exists, as the text requires; it is itself reported, and the user guide advises against it for a firefighting reserve.
(m) Removal of data and settings Yes Factory reset erases the session, thresholds, configuration and local history. The root key is kept: it is the device's identity, not user data.

5. Annex I, Part I, point 1, and Part II

  • Target cybersecurity level: high. An empty firefighting reserve that looks full puts the safety of people at stake, which Article 13(2) requires to be taken into account. Integrity and availability of the alerts come first.
  • Vulnerability handling: a CycloneDX SBOM for each release, continuous monitoring of dependencies, a published contact address with a disclosure policy, fixes delivered without delay by radio update, published security advisories.

6. History

Date Version Change
2026-10-06 1.0 First assessment.