The most expensive cyber incident in history, at the time, began with a software update that behaved exactly as designed. NotPetya reached its victims on 27 and 28 June 2017 through M.E.Doc, the tax and accounting package used by essentially every company filing in Ukraine. The attackers had compromised the vendor's update infrastructure. The payload was distributed through the legitimate channel, arrived with the expected provenance, and installed itself with the privileges that update mechanisms require. Every organisation that had followed standard advice — keep your software current, apply vendor updates promptly — was compromised precisely because they had followed it. The damage estimates settled around $10 billion. Maersk's shutdown affected 76 ports at a cost of $200–300 million. Merck lost roughly 40,000 computers and eventually reached a $1.4 billion insurance settlement. FedEx's TNT Express subsidiary, Mondelēz and Saint-Gobain all took substantial losses. Around 80% of affected systems were in Ukraine, but the global multinationals with Ukrainian operations carried the financial weight, and the attack was attributed to Russia by Ukraine, the United States and the United Kingdom. The transferable lesson has nothing to do with Ukraine or tax software. It is that the trust relationship with your software vendors is an unmonitored, high-privilege channel into the centre of your estate.
Why this class of attack is structurally difficult
Enterprise security is built on a distinction between trusted and untrusted inputs. Email from outside is untrusted. Files from the internet are untrusted. A signed update from a vendor whose software you paid for, delivered over the mechanism that vendor designed, is trusted — and it has to be, because the alternative is running unpatched software, which is the other way organisations get destroyed. That creates four properties that make supply chain compromise different from other attack classes. The delivery mechanism is privileged by necessity. Update agents run with administrative rights because installing software requires them. A compromised update does not need to escalate; it starts at the top. User training is irrelevant. There is no suspicious email, no unexpected link, no decision point at which a person could have behaved differently. The control surfaces that most security programmes invest in most heavily are entirely bypassed. Detection fails on provenance. The update is signed, comes from the right domain, matches the expected version, and installs normally. Nothing about the arrival is anomalous. The only observable signal is behaviour after installation — which means detection has to be looking at what software does, not at where it came from. The dependency is often mandatory. M.E.Doc was not optional for companies filing Ukrainian taxes. Neither is your payroll submission tool, your e-invoicing connector, your banking integration middleware or your government portal client. "Use a different vendor" is not available.
What actually reduces exposure
Prevention is largely unavailable, so the practical work is in three other places. Limit what the software can reach. An application that submits tax filings does not need to connect to the domain controller, the finance file server or every workstation on the network. The reason NotPetya was catastrophic rather than merely disruptive is that it landed on flat internal networks where lateral movement was unconstrained. Segmentation by application, restricted service account privileges, and outbound connection control turn an estate-wide event into a contained one. This is the single highest-value control in the category. Stage every update, including the routine ones. A holdback group — a subset of machines that receives updates a few days after everyone else, or better, a pilot group that receives them first with heightened monitoring — provides the only realistic detection window. It costs a small amount of currency in patch latency and buys the ability to notice that an update did something unexpected before it reaches the whole estate. The tension with fast patching is real and needs to be resolved deliberately: fast for internet-facing security patches, staged for business application updates. Monitor behaviour after installation. New outbound destinations, unexpected process spawning, credential access patterns, encryption activity, service creation. Endpoint detection that alerts on what software does rather than what it is, is the control that catches this class. It requires someone to act on the alerts, which is the part organisations underfund. Beyond those, two governance practices matter. Know which software in your estate sits in a privileged position — update agents, management tools, backup agents, remote support tools, anything running as a service with administrative rights — because that list is your actual supply chain risk register, and it is usually much shorter than the vendor list and much more dangerous. And ask vendors specific questions about their build and release integrity rather than sending a general security questionnaire: how is the build pipeline access-controlled, are artefacts signed at build time, what would detect an unauthorised change to a release, and has it been tested.
Inventory privilege
Identify update agents, backup, management and remote-support software.
Constrain reach
Limit application paths, service-account rights and outbound destinations.
Stage by risk
Use monitored pilots while accounting for urgent patching needs.
Watch behaviour
Staff response to unexpected activity after installation.
Rehearse recovery
Test offline restoration and out-of-band decisions.
Qualitative summary of this article's source text, not a measured outcome or performance estimate.
Practical Guidance for Software Supply Chain Review
- List the software running with administrative or service privileges. That list, not the procurement register, is your supply chain exposure — update agents, management tools, backup and remote support software.
- Segment business applications so a compromise cannot traverse the estate. Flat internal networks were the amplifier that turned a Ukrainian incident into a $10 billion one.
- Stage updates for business applications with a pilot group and heightened monitoring. A few days of latency is the only practical detection window for a compromised release.
- Restrict outbound connections from application servers to known destinations. Malicious payloads need to call home; most application servers have no legitimate reason to reach arbitrary internet hosts.
- Deploy endpoint detection that alerts on behaviour, and staff someone to act on it. Provenance-based controls cannot detect a signed malicious update; behavioural ones can.
- Ask vendors about build pipeline integrity specifically. Access control on the release process, artefact signing at build time, and whether unauthorised changes would be detected.
- Assume privileged credentials are exposed and limit their reach. NotPetya combined the exploit with credential harvesting, which is why patched machines still fell.
- Rehearse recovery for a scenario where the compromise arrived through a trusted channel. Offline backups, out-of-band communications and a pre-authorised decision to disconnect.
The Regional Dimension
The Gulf carries a version of this exposure that is structurally heavier than the global average, for four reasons worth stating plainly. Mandated software channels are the closest regional analogue to M.E.Doc, and they are numerous. Wage protection system submission tools, Saudi e-invoicing clearance integrations and their certified solution providers, customs and trade portal clients, VAT and corporate tax filing software, visa and labour platform interfaces, and national identity verification services. Several are compulsory, several are supplied by a small number of certified local providers, and several run with privileged access to finance and HR systems. The concentration is the risk: a compromise of one certified e-invoicing provider or payroll submission tool would reach a large share of the businesses in a market simultaneously. That is exactly the shape of the Ukrainian incident, and it is not a hypothetical structure here. The integrator-operated estate compounds it. Regional ERP and infrastructure is largely implemented and maintained by systems integrators, whose management, monitoring and remote support tools run with standing privileged access across client estates. A compromise of a regional integrator's tooling or credentials is a multi-client event, and most clients have no visibility into the security of the partner's own build and deployment infrastructure. Two questions belong in every contract review: what software does the partner install that runs with privilege, and can its access be revoked unilaterally within the hour. Local and regional software is the third factor. Payroll engines with gratuity and GOSI calculations, Arabic document generation modules, government-interface middleware and sector-specific packages are frequently supplied by smaller regional vendors with strong domain knowledge and, in many cases, without the build pipeline maturity of large international suppliers. This is not an argument against them — the localisation they provide is genuinely necessary — but it is an argument for asking the build integrity questions and for segmenting these applications tightly. Finally, the operational consequence profile is severe. Regional economies run on ports, logistics, energy and utilities, and NotPetya's signature victim was a shipping company. A multi-week operational outage at a regional transhipment hub or refinery is not a company-level event. The Shamoon wiper campaigns already established locally that destructive, estate-wide attacks against regional infrastructure are real rather than theoretical, and the regulatory response has followed: national cybersecurity authorities in the UAE and Saudi Arabia, central bank frameworks and sector regulators now impose third-party and software assurance requirements with notification clocks. The practical effect is that the privileged-software inventory has become an auditable artefact — and most regional organisations do not currently maintain one.
The objection worth taking seriously
The honest difficulty is that the recommended controls sit in direct tension with other security advice, and nobody resolves that tension for you. Staged update deployment means running known-vulnerable software for longer. WannaCry, six weeks before NotPetya, punished exactly that delay — a patch had been available for two months. An organisation that adopts holdback groups to detect compromised releases is accepting a wider window for exploitation of disclosed vulnerabilities. There is no configuration that optimises both; the workable answer is to split the policy by risk type, patching internet-facing and security-critical components immediately while staging business application updates, and to be explicit that this is a deliberate trade rather than an oversight. There is also a proportionality problem. Build-pipeline questionnaires, artefact verification, application-level segmentation and behavioural monitoring with a staffed response function describe a security programme of real size. A mid-market company cannot audit its payroll vendor's development environment, and would be told to go away if it asked. For most organisations the realistic set is narrower: know which software runs with privilege, segment the critical applications, run endpoint detection that someone monitors, and maintain an offline backup that has been restored in a test. That addresses the consequence rather than the cause, which is the correct emphasis when the cause is not within your control. And a point about NotPetya that gets flattened in retelling. It was not an opportunistic supply chain attack against the software industry at large. It was a targeted operation against one country's economy, using a channel chosen because it reached that country's companies specifically, with global collateral damage. The defences against a state actor destroying a national economy and the defences against a criminal group monetising a compromised update are not identical sets, and organisations should be clear which threat their controls address. The overlap — segmentation, privileged access control, tested recovery — is substantial, which is fortunate, but the framing matters for where the remaining budget goes.
Common Questions
Can software supply chain compromise be prevented?
Not by the customer. You can reduce what compromised software reaches, detect its behaviour after installation, and recover from the consequences. Prevention sits with the vendor's build and release security, which is why the relevant questions are about their pipeline rather than their policies.
What is the highest-value control?
Segmentation, by a clear margin. NotPetya's cost came from unconstrained lateral movement across flat internal networks; limiting what each application and each credential can reach converts a catastrophic event into a contained one.
Does code signing solve this?
No. NotPetya arrived through a legitimate, expected channel from a vendor whose infrastructure was compromised — signatures validate origin, not intent. Signing is worth having and does not address this attack class.
How does AI change software supply chain risk?
It widens the surface in three specific ways. AI coding assistants are now in most development pipelines, which means suggested dependencies, generated configuration and recommended packages enter production code at volume — and there is a documented attack pattern of registering package names that models tend to hallucinate, so that a plausible-looking suggestion resolves to an attacker-controlled artefact. Second, software you buy increasingly calls model providers at runtime, which adds an external dependency in the execution path that your vendor may not have disclosed and your architecture diagram does not include; ask which providers, where inference runs, and what happens to your data. Third, model weights, fine-tuned artefacts and vector indexes are now supply chain components in their own right, distributed through registries with far less mature provenance and integrity tooling than traditional package ecosystems. The defensive picture also improved — behavioural anomaly detection is genuinely better at spotting a process doing something it has never done before, which is precisely the NotPetya signature — but the structural conclusion is unchanged: you cannot verify the inputs, so constrain the reach and monitor the behaviour.
Software Supply Chain Review — you cannot verify a vendor's build pipeline, so inventory what runs with privilege, segment it, and watch what it does after it updates.
