Mitigation-page

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

References