Adversaries may perform a program download to transfer a user program to a controller. Variations of program download, such as online edit and program append, allow a controller to continue running during the transfer and reconfiguration process without interruption to process control. However, before starting a full program download (i.e., download all) a controller may need to go into a stop state. This can have negative consequences on the physical process, especially if the controller is not able to fulfill a time-sensitive action. Adversaries may choose to avoid a download all in favor of an online edit or program append to avoid disrupting the physical process. An adversary may need to use the technique Detect Operating Mode or Change Operating Mode to make sure the controller is in the proper mode to accept a program download. The granularity of control to transfer a user program in whole or parts is dictated by the management protocol (e.g., S7CommPlus, TriStation) and underlying controller API. Thus, program download is a high-level term for the suite of vendor-specific API calls used to configure a controllers user program memory space. [Modify Controller Tasking](https://attack.mitre.org/techniques/T0821) and [Modify Program](https://attack.mitre.org/techniques/T0889) represent the configuration changes that are transferred to a controller via a program download.

Subissues

Issuelinks
Summary Description
Program Append Adversaries may execute a program append to a PLC to update parts of an existing program. It may or may not require stopping the PLC which may allow it to continue running during transfer and reconfiguration without interruption to process control. Adversaries may leverage this approach to minimize downtime and evade detection. The ability to perform a program append to the PLC typically relies on access to a workstation with the vendor-specific PLC programming software installed.
Download All Adversaries may execute a full program download to a PLC to overwrite the entire PLC program and configuration to deploy a new project or make major changes. This typically requires stopping the PLC and adversely impacting control processes. The ability to perform a full program download to the PLC typically relies on access to a workstation with the vendor-specific PLC programming software installed.
Online Edit Adversaries may execute an online edit of a PLC to update parts of an existing program. It does not require stopping the PLC which allows it to continue running during transfer and reconfiguration without interruption to process control. Adversaries may leverage this approach to minimize downtime and evade detection. The ability to perform an online edit to the PLC typically relies on access to a workstation with the vendor-specific PLC programming software installed.

Linked Issues

Issuelinks
Linktype Issue
is related to Techniques
is related to Programmable Logic Controller (PLC)
is related to Programmable Automation Controller (PAC)
is related to Distributed Control System (DCS) Controller
is related to Safety Controller
is blocked by Software Process and Device Authentication
is blocked by Detection of Program Download
is blocked by Audit
is blocked by Filter Network Traffic
is blocked by Network Allowlists
is blocked by Network Segmentation
is blocked by Authorization Enforcement
is blocked by Code Signing
is blocked by Communication Authenticity
is blocked by Access Management
is blocked by Human User Authentication
Impressum German English