Segmentation

Why is the engineering workstation the most valuable host in a plant?

An engineering workstation holds the project archive, the controller passwords and the vendor toolchain for every controller it has ever programmed, so compromising it is not one incident, it is every controller downstream of it. Stuxnet and TRITON both proved the same host is where an attacker goes to actually reach the process.

Verified · 9 min read

Walk into a control room and the operator stations are the ones that get the attention: badge readers, camera coverage, a shift log for who touched what. Walk into the engineering office next door, where the machine running Siemens TIA Portal or Rockwell Studio 5000 sits, and it is usually just a Windows PC on the plant network with a local admin account and a password on a sticky note. That machine, the engineering workstation, or EWS, is the one host in the plant that can write new logic into every controller it has ever been used to programme. It is the highest value target on the network and it is routinely the least protected.

What actually lives on an engineering workstation

An EWS is not a viewer. It is the authoring tool for the process itself, and its disk reflects that. A typical engineering workstation holds the full project archive for the site: the ladder logic, structured text or function block diagrams that define every interlock and setpoint, the tag database that maps memory addresses to physical inputs and outputs, and the comments and revision history that explain why a value is set where it is. It usually also holds the controller passwords: protection level passwords, Siemens' know how protection passwords that encrypt block logic in a TIA Portal project, and the Rockwell equivalent, source protection, that does the same for Studio 5000 routines and add on instructions, all kept in a spreadsheet or the engineer's head because a shared team password is easier than a password manager nobody set up. And it holds the vendor toolchain itself: a licensed, working copy of TIA Portal, Studio 5000, Unity Pro or EcoStruxure Control Expert, capable of compiling and downloading logic to any controller on the network the moment it is opened.

None of that is a design flaw. An engineering workstation has to hold the project archive, the passwords and the toolchain, because that is its job. The flaw is treating the box that holds all three as an ordinary desktop: same local admin rights as the accounts team, same USB ports, same access to email and the open internet, same backup regime, which is to say usually none beyond whatever is on the disk.

One host, every controller it has ever touched

Plant networks are commonly described using the Purdue model, the layered reference architecture that guide sets out in full and uses as the axis for planning an engagement. The detail that matters here is what sits at Level 2 next to the HMI. An HMI at Level 2 reads and writes a defined set of tags on one line. An engineering workstation at the same level is different in kind, not just in privilege: it can write arbitrary logic, force I/O, change protection settings and, on many platforms, push firmware to any controller it can reach and has ever been configured to reach.

Purdue model ladder showing the engineering workstation at Level 2 with write access fanning out to every controller it programs, next to the HMI's narrower, read-mostly reach Level 4-5, Enterprise IT Level 3.5, DMZ, if one exists Level 3, site operations, historian Engineering workstation, EWS HMI reads and writes tags Level 2, engineering and supervisory PLC A PLC B PLC C SIS Level 1, controllers Level 0, field I/O EWS to controller: can write logic, force I/O, push firmware HMI to controller: process values only, no logic write
An HMI's reach stops at the tags it was built to show. An engineering workstation's reach is every controller it has ever been used to programme, which on most sites means all of them.

This is why an EWS compromise does not read as one incident. It reads as one incident per controller the workstation was ever pointed at, because the attacker inherits the same authoring rights the engineer has: open a project, change a rung, a data block or a setpoint, recompile, download. An integrator's laptop carrying projects for several unrelated clients multiplies the same problem across sites that have never shared a network.

Stuxnet: hooking the vendor library so the software could not see its own tampering

The clearest demonstration of what an engineering workstation compromise buys an attacker is still Stuxnet, discovered in June 2010 and documented in detail in Symantec's W32.Stuxnet Dossier. Stuxnet did not simply drop a malicious block into a Siemens S7 PLC and hope nobody looked. It replaced s7otbxdx.dll, the Siemens communication library that Step 7 project software uses to read and write blocks to the PLC, with a version it controlled. Every call the engineering software made to read back a block from the controller now passed through Stuxnet first.

The effect was that the tampering became invisible from inside the tool built to detect tampering. When an engineer opened the project and asked Step 7 to read the running code back from the PLC for comparison, the hooked library handed back the original, unmodified block instead of what was actually running. The operator's own change management process, the one built into the vendor's own software, was turned into the alibi for the attack. That is the specific lesson an EWS compromise teaches: on most ICS platforms, the thing you would use to check whether the controller has been tampered with runs on the same host an attacker who reached that host can also own.

TRITON: reaching the safety system through the engineering path

TRITON, also tracked as TRISIS by Dragos and as HatMan in CISA's own malware analysis report MAR-17-352-01, moved the same lesson from process controllers to safety systems. In August 2017, a petrochemical plant in Saudi Arabia, later reported to be Petro Rabigh, suffered an unplanned shutdown of its Schneider Electric Triconex safety instrumented system, or SIS, the layer that exists to bring a process to a safe state independently of the process controller. An earlier trip that June had been misdiagnosed and not traced to an intrusion. The compromise itself was disclosed publicly that December, when the investigation's findings first became public.

The attackers had reverse engineered TriStation from the vendor's own engineering software rather than from any published specification, since Schneider Electric never published it, and used it to push a payload exploiting a zero day in the Tricon controller firmware, model 3008, versions 10.0 to 10.4. CISA's advisory ICSA-18-107-02 lists it as CVE-2018-8872, a CVSS 9.0 flaw that let a system call read directly from memory addresses in the control program with no verification. Where TRITON differs from Stuxnet is the ending. The payload had a defect. Rather than silently disabling the safety logic, it tripped the Triconex controllers into their fail safe state, which is what caused the shutdown that brought investigators in. TRITON's concealment failed. Stuxnet's did not, for roughly a year.

Timeline comparing the Stuxnet 2010 and TRITON 2017 attack chains, both pivoting through the engineering workstation, with different outcomes for concealment Stuxnet, discovered 2010 USB drive crosses the gap Engineering PC infected Hooks s7otbxdx.dll Rewrites PLC code blocks Hidden about a year TRITON / TRISIS, discovered 2017 Attackers already inside Reach SIS engineering PC Speaks TriStation UDP 1502 Pushes 0 day to safety logic Caught by its own safe trip Both chains pivot through the engineering workstation
Stuxnet and TRITON reached their targets by different routes but through the same kind of host. Stuxnet's tampering held for about a year. TRITON's payload had a bug and tripped the safety system it was trying to disarm, which is how it was found.

What a stolen project archive hands an attacker

Ask most site security teams what their highest value asset is and they will point at a server room. On an OT network the single richest artefact is usually a folder: the project archive an engineer last saved to a laptop, a network share or a USB drive. It is worth more to an attacker than almost any credential, because it removes the reconnaissance step entirely.

What is in the archiveWhat it hands an attacker
Ladder logic, structured text or function block sourceThe exact interlocks, setpoints and safety margins, so a change can be planned to stay inside what looks normal rather than guessed
Tag database and I/O addressingMemory addresses mapped to physical inputs and outputs, without needing to probe the live network to work it out
Network and device inventory, IP list, slot maps, firmware versionsA target list the engineers built for the attacker, saving the active scan that would otherwise be the first thing detected
Protection level passwords and vendor block-encryption passwords, Siemens' know how protection and Rockwell's source protectionAccess to every controller and library that reuses the same password, which is common where one team shares one credential
Comments and revision historyThe reasoning behind each value, so a malicious change can be written to read like ordinary maintenance in the audit trail
The vendor toolchain itself, if the workstation is taken rather than only the archiveCompiling and downloading through the plant's own accepted engineering software, so the traffic looks like routine engineering, not intrusion

None of this requires a zero day. A project archive copied off an unattended laptop, a shared drive with everyone read permissions, or a contractor's USB stick does the job.

What IEC 62443 does not tell you about the engineering workstation

Hardening guides and standards like IEC 62443 tell you to restrict access to engineering and programming tools. What they say less often is that the restriction does not apply itself. Siemens' own documentation for the S7-1500 sets out four access levels, full access with no protection, read access, HMI access and no access, and each is something an engineer sets deliberately in the CPU's protection properties rather than something the controller arrives with already configured, as described in Siemens' access level configuration reference. A controller that has never had that screen visited is left running whichever level was last set, and on a site with no record of who configured what, nobody can say with confidence which level that is.

The same documentation is also clear that read access, the second and supposedly lighter of the four levels, still permits downloading the hardware configuration and code blocks to a programming device without a password. A level that sounds like it only lets someone look still lets them take the whole project. Protection levels, in other words, protect the live CPU's write path. They do nothing for the archive sitting on the engineering workstation's disk, which is ordinarily an unencrypted file readable by any copy of the same engineering software, backed up nowhere in particular, or backed up everywhere the last engineer happened to save a copy.

Standards are also largely silent on the workstation's own exposure. Vendor hardening guides for both major platforms recommend excluding the engineering software's project folders from real time antivirus scanning, for compatibility with how these tools lock and rewrite project files during a save. That is a reasonable compatibility fix and also, without a compensating control, an unmonitored folder that happens to be exactly where a malicious project file would sit.

Controls that actually matter

  • Control removable media. Stuxnet's original route across an air gap was a USB drive, per the Stuxnet Dossier cited above. Route media through a dedicated scanning station before it ever reaches the EWS, and disable autorun on the workstation itself.
  • Give the EWS dedicated hardware. One machine, one purpose. A laptop that also does email, browsing or carries projects for other clients is not an engineering workstation, it is a general purpose PC that happens to have TIA Portal or Studio 5000 installed on it.
  • No email or browsing on the box that can write logic. Phishing is the most common way an attacker gets a first foothold on any Windows PC. Keeping the EWS off email and the browser keeps that foothold from ever landing on the one host with download rights to every controller.
  • Keep offline, versioned project backups off the EWS itself. If the workstation is compromised, encrypted by ransomware or simply fails, the only copy of the logic needed to rebuild a controller should not have failed with it.
  • Set controller protection levels deliberately, and check them, do not assume them. Move every controller off its default access level, use distinct passwords per zone rather than one password for the whole site, and treat a controller found at its factory default during an assessment as a finding, not a formality.

Nexich runs authorised offensive assessments from inside the perimeter, air gapped by default and read only on control networks. Where it finds an engineering workstation still open, a controller still at an unrestricted protection level, or a project archive sitting on an open share, that is what it reports.

Frequently asked questions

What is an engineering workstation in ICS security?

An engineering workstation, or EWS, is the PC that runs the vendor toolchain, such as Siemens TIA Portal or Rockwell Studio 5000, used to write and download logic to controllers. It typically holds the site's full project archive, tag database, controller passwords and network inventory, which makes it far more valuable to an attacker than any single HMI or historian.

Why is TIA Portal and Studio 5000 security different from ordinary IT endpoint security?

Locking down the operating system is not enough, because the risk sits inside the engineering software itself: the project files, controller passwords and download rights it holds. A fully patched Windows PC still hands over write access to every controller it has programmed if the TIA Portal or Studio 5000 project and its passwords are exposed.

What did Stuxnet actually do to the engineering workstation software?

Stuxnet replaced s7otbxdx.dll, the Siemens library Step 7 uses to read and write PLC blocks, with a version it controlled. Every read back the engineer requested to check the running code returned the original, untouched block instead of the tampered one, so the software's own verification step became the cover for the attack, for about a year.

Why was TRITON discovered even though it targeted a safety system?

TRITON reached the Triconex safety instrumented system through its engineering workstation and the TriStation protocol, but the payload had a defect. Instead of silently disabling the safety logic, it tripped the controllers into their fail safe state, causing an unplanned shutdown. That shutdown is what brought investigators in, not any detection control catching the intrusion.

What is the single highest value thing an OT security assessment can find?

A project archive: the ladder logic, tag database, comments, network inventory and often the controller passwords, all in one file. It hands an attacker the process logic and a target list without a single packet sent to the live network, which is why an unattended engineering workstation or an open project share is worth more than most stolen credentials.

Should an engineering workstation ever be connected to email or the internet?

No. An EWS should be dedicated hardware with removable media controlled through a scanning station, no email client and no browser, because those are the most common routes malware takes to reach a general purpose PC. The one host with download rights to every controller on site should not also be the one most exposed to phishing.

Sources
  1. Symantec, W32.Stuxnet Dossier
  2. CISA, MAR-17-352-01 HatMan, Safety System Targeted Malware (Update B)
  3. CISA advisory ICSA-18-107-02, Schneider Electric Triconex Tricon
  4. Mandiant, A Totally Tubular Treatise on TRITON and TriStation
  5. Siemens, Configuring access levels (S7-1500)
  6. Cross-guide: OT vs IT penetration testing (Purdue model)
Keep reading

All posts →

Access

Bring the red team onto the plant floor.

Self-hosted · On-prem · Air-gapped · Read-only on the plant floor