MID-051: Disallow User-Provided Code
Mitigation Tier: Foundational
Description
Several threats are made easier to exploit when a device allows the execution of adversary-provided code, such as a user provided program in a PLC or JavaScript code in an embedded web browser. If this functionality is not strictly necessary to the device’s feature set, devices could simply not include the functionality on the device and these threats can be avoided.
Note: The inherent loss of this device functionality from this approach is not always practical (e.g., when the device is intended to be programmable). See MID-014 – Sandboxing and MID-040 - Cryptographically Signed Custom Programs for alternative approaches to safely handle user-provided code when it cannot be avoided.
IEC 62443 4-2 Mappings
SAR / EDR / HDR / NDR 3.2 - Protection for malicious code
CR 3.4 – Software and information integrity