Securing Node-RED Applications
Book chapter, 2021
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-defined API calls complying with the policy specified for each node.
Author
Seyed Mohammad Mehdi Ahmadpanah
Chalmers, Computer Science and Engineering (Chalmers), Information Security
Musard Balliu
Royal Institute of Technology (KTH)
Daniel Hedin
Chalmers, Computer Science and Engineering (Chalmers), Information Security
Mälardalens högskola
Lars Eric Olsson
Chalmers, Computer Science and Engineering (Chalmers), Computing Science (Chalmers)
Andrei Sabelfeld
Chalmers, Computer Science and Engineering (Chalmers), Information Security
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
03029743 (ISSN) 16113349 (eISSN)
Vol. 13066 LNCS 1-21WebSec: Securing Web-driven Systems
Swedish Foundation for Strategic Research (SSF) (RIT17-0011), 2018-03-01 -- 2023-02-28.
Subject Categories
Computer Science
Computer Systems
DOI
10.1007/978-3-030-91631-2_1