Download PDFOpen PDF in browser

Securing Node-RED Applications

EasyChair Preprint no. 8685

21 pagesDate: August 16, 2022

Abstract

Trigger-Action Platforms (TAPs) play a vital role in fulfilling the promise of the Internet of Things (IoT) by seamlessly connecting otherwise unconnected devices and services. While enabling novel and exciting applications across a variety of services, security and privacy issues must be taken into consideration because TAPs essentially act as persons-in-the-middle between trigger and action services. The issue is further aggravated since the triggers and actions on TAPs are mostly provided by third parties extending the trust beyond the platform providers. Node-RED, an open-source JavaScript-driven TAP, provides the opportunity for users to effortlessly employ and link nodes via a graphical user interface. Being built upon Node.js, third-party developers can extend the platform's functionality through publishing nodes and their wirings, known as flows. This paper proposes an essential model for Node-RED, suitable to reason about nodes and flows, be they benign, vulnerable, or malicious. We expand on attacks discovered in recent work, ranging from exfiltrating data from unsuspecting users to taking over the entire platform by misusing sensitive APIs within nodes. We present a formalization of a runtime monitoring framework for a core language that soundly and transparently enforces fine-grained allowlist policies at module-, API-, value-, and context-level. We introduce the monitoring framework for Node-RED that isolates nodes while permitting them to communicate via well-de ned API calls complying with the policy specified for each node.

Keyphrases: fine-grained access control, Node-RED, runtime monitoring, Trigger-Action Platform (TAP)

BibTeX entry
BibTeX does not have the right entry for preprints. This is a hack for producing the correct reference:
@Booklet{EasyChair:8685,
  author = {Mohammad M. Ahmadpanah and Musard Balliu and Daniel Hedin and Lars Eric Olsson and Andrei Sabelfeld},
  title = {Securing Node-RED Applications},
  howpublished = {EasyChair Preprint no. 8685},

  year = {EasyChair, 2022}}
Download PDFOpen PDF in browser