Theory: Threats to Integrity
In Week 3 you used NIST SP 800-30 and ISO/IEC 27005 to assess risk. This lesson uses them again, plus three more frameworks, to look only at threats to integrity. Each framework answers a different question about the same incident; the running example is a wrong lab result at MediCare Plus.
| Question | Framework(s) |
|---|
| WHO (or what) caused it? | NIST SP 800-30, ISO/IEC 27005 |
| WHAT property is violated? | STRIDE |
| HOW did the attacker do it? | MITRE ATT&CK |
| WHICH weakness let it happen? | OWASP Top 10 |
| WHAT is new with AI? | OWASP Top 10 for LLM, NIST AI 100-2 |
WHO? Threat Sources in Two Frameworks
| NIST SP 800-30 | ISO/IEC 27005 | Meaning | Typical integrity controls |
|---|
| Adversarial | Deliberate (D) | Someone wants to cause harm | Edit rights, audit trail, hash / signature |
| Accidental | Accidental (A) | A person makes a mistake | Input validation, maker-checker, reconciliation |
| Structural | Technical failure (a threat type, not an origin) | Hardware or software fails | Change management, testing, rollback |
| Environmental | Environmental (E) | Nature or events not caused by people | Backup 3-2-1, RAID, immutable copy |
Note the difference in structure: NIST has four sources. ISO/IEC 27005 labels each threat’s origin with only three letters (D, A, E) and handles hardware/software failure as a threat type (“technical failures”) rather than a fourth origin.
Key message
- Most sources of wrong data are NOT attacks.
- Each source needs different controls.
- If you identify the wrong source, you invest in the wrong controls.
One wrong lab result, four possible sources
| Source | How the lab result became wrong |
|---|
| Adversarial / Deliberate | An attacker uses a stolen account to change a lab value. |
| Accidental | A staff member types 50 instead of 5.0. |
| Structural / Technical | After an update, the interface converts mg/dL to mmol/L incorrectly. |
| Environmental | A power cut during saving leaves the record half-written. |
The symptom is identical in all four cases (a wrong number), but the fix is completely different: stronger authentication will not stop a typo, and input validation will not stop a power cut.
Common mistake: assuming every wrong record is a hack. Buying more anti-hacking tools does nothing if the real source is human error or a badly tested update.
WHAT Is Violated? STRIDE
STRIDE names six threat types, each the opposite of a security property:
| Letter | Threat | Property it breaks |
|---|
| S | Spoofing | Authentication |
| T | Tampering | Integrity |
| R | Repudiation | Non-repudiation |
| I | Information disclosure | Confidentiality |
| D | Denial of service | Availability |
| E | Elevation of privilege | Authorization |
Two letters matter most for integrity:
- Tampering: someone changes the lab value on purpose.
- Repudiation: the person says “It wasn’t me.” Without logs, we cannot prove who did it.
STRIDE describes what an attacker does, so it fits deliberate threats. A pure accident (a typo) breaks integrity but is not “Tampering” in the STRIDE sense.
HOW? MITRE ATT&CK
MITRE ATT&CK (attack.mitre.org) is a knowledge base of attacker behaviour built from real attacks, not theory. How to read the matrix:
- Columns = Tactics: the attacker’s goal (“why”), running from Reconnaissance (left) to Impact (right).
- Cells = Techniques: how the attacker does it. Each has an ID, e.g. T1565.
- Sub-techniques: more detail, e.g. T1565.001.
Where is integrity? The main place is the Impact tactic (TA0040), the last column:
| Technique | What it does | Property |
|---|
| T1565 Data Manipulation | .001 Stored Data Manipulation, .002 Transmitted Data Manipulation, .003 Runtime Data Manipulation | Integrity |
| T1491 Defacement | Changes visible content (e.g. a website) | Integrity |
| T1485 Data Destruction | Deletes or destroys data | Availability (Week 9) |
| T1486 Data Encrypted for Impact | Ransomware encryption | Availability (Week 9) |
| T1490 Inhibit System Recovery | Deletes backups, disables recovery | Availability (Week 9) |
Integrity also appears in other columns, e.g. tampering with software updates (Initial Access) and deleting logs to hide tracks (Stealth, Defense Impairment).
There is no “Integrity” column in ATT&CK. It is organized by the attacker’s goal, not by CIA. Read each technique to see which property it attacks.
WHICH Weakness? OWASP Top 10:2025, A08
A08 Software or Data Integrity Failures: trusting software updates, code, or critical data without checking their integrity.
Three typical forms:
- Unchecked updates: an app installs updates automatically without checking that they are genuine.
- Untrusted packages: a developer downloads an unsigned package from a random website.
- Weak build pipeline: the CI/CD pipeline can be changed by the wrong people.
Real case: SolarWinds. Attackers hid malicious code inside a trusted software update. Customers installed it because it came from a trusted vendor. Other OWASP categories also hit integrity; for example Injection (such as SQL injection) can change database records.
WHAT Is New? Integrity in the Age of AI
| Framework | Integrity threat |
|---|
| OWASP Top 10 for LLM | Data and Model Poisoning: bad data is added to training data, so the model learns the wrong things. |
| NIST AI 100-2 | NIST’s list (taxonomy) of attacks on AI systems. Poisoning is one main type. |
MediCare Plus example. An AI triage tool was trained on poisoned data. It now gives low priority to some serious cases. No record in the EHR was changed, but the decisions are still wrong. Integrity now covers the data a model learned from, not just the data stored in a database. (Recall the Hugging Face case from Weeks 2–3: trusted AI platforms can become a path for attacks.)
Worked Examples
Exercise 1
For each incident, give the threat source (NIST SP 800-30 / ISO/IEC 27005) and the STRIDE threat, if any.
- A pharmacist enters the wrong drug code by mistake.
- A former employee uses an old account to change billing records, then denies it.
- Ransomware encrypts the lab database.
- The air conditioning fails and a storage disk corrupts records.
Show solution ↓Hide solution ↑
Solution
For each one ask: was a person involved, and did they intend harm? Then ask which property an attacker’s action would break.
- Wrong drug code. A person made a mistake with no intent → NIST Accidental / ISO Accidental (A). STRIDE models deliberate attacks, so no STRIDE threat applies; the property broken is still integrity. Controls: pick lists, validation, pharmacist double-check.
- Former employee. Intentional harm → NIST Adversarial / ISO Deliberate (D). STRIDE: Spoofing (an account that should no longer be valid is used to authenticate), Tampering (billing records changed on purpose) and Repudiation (he denies it). Controls: disable accounts at exit, audit trail.
- Ransomware. Intentional → Adversarial / Deliberate (D). STRIDE: Tampering (data is modified by encryption) and Denial of service (the data cannot be used). In ATT&CK this is T1486 Data Encrypted for Impact.
- Air conditioning failure. No person intended or caused it directly; equipment failed → NIST Structural (SP 800-30 lists temperature/humidity controls as structural equipment) / ISO technical failure (equipment failure), with a non-human origin. If the cause were natural, such as a heatwave or flood, it would be Environmental (E). No STRIDE threat (no attacker). Controls: environmental monitoring, RAID, backup.
Answer: 1 Accidental, no STRIDE; 2 Adversarial/Deliberate, S + T + R; 3 Adversarial/Deliberate, T + D; 4 Structural/technical failure (non-human), no STRIDE.
Exercise 2
A wrong lab result is found in the EHR. A manager says: “We were hacked. Buy a better firewall.” Using the threat-source frameworks, explain why this may be the wrong decision.
Show solution ↓Hide solution ↑
Solution
- The same symptom (a wrong value) can come from four sources: adversarial, accidental (typing 50 for 5.0), structural (a faulty unit conversion after an update) or environmental (power cut during save).
- Most sources of wrong data are not attacks.
- Each source needs different controls. A firewall only addresses some adversarial threats. It does nothing about a typo (needs input validation, reconciliation), a bad update (needs change management, testing, rollback) or a power cut (needs backup, RAID).
The manager must first identify the real source by investigating (audit trail, change records); if the source is wrong, the hospital invests in the wrong controls and the problem continues.
Exercise 3
An attacker inside the hospital network intercepts results travelling from the lab analyzer to the EHR and changes the values before they arrive. Give the MITRE ATT&CK tactic and the most specific technique ID. Why is there no “Integrity” column to look in?
Show solution ↓Hide solution ↑
Solution
- The attacker’s goal is to damage the hospital by corrupting data → tactic Impact (TA0040).
- The technique is Data Manipulation (T1565).
- The data is changed while in transit between systems → sub-technique .002 Transmitted Data Manipulation. (Stored data in the database would be .001; data changed inside a running program would be .003.)
ATT&CK columns are tactics = the attacker’s goals, not CIA properties, so integrity attacks are spread across columns; you read each technique to see which property it attacks.
Answer: Impact (TA0040), T1565.002 Transmitted Data Manipulation.
Exercise 4
MediCare Plus’s EHR vendor pushes automatic updates that the hospital installs without any check. Which OWASP Top 10:2025 category is this, and which real case shows the risk?
Show solution ↓Hide solution ↑
Solution
- The hospital trusts software updates without checking their integrity (for example, without verifying a code signature).
- That is exactly the definition of A08 Software or Data Integrity Failures (the “unchecked updates” form).
- SolarWinds shows the risk: attackers hid malicious code in a trusted vendor update, and customers installed it because they trusted the source.
Answer: A08 Software or Data Integrity Failures; SolarWinds. Fix: verify code signatures before installing, and protect the build/update pipeline.
Exercise 5
An AI triage tool at MediCare Plus starts giving low priority to some serious cases. An investigator checks the EHR and finds no record has been changed. Can this still be an integrity problem? Name the threat and the frameworks that describe it.
Show solution ↓Hide solution ↑
Solution
- Integrity means data is trustworthy. For an AI system, the “data” includes the training data the model learned from.
- If bad data was added to the training set, the model learns wrong patterns. Its decisions are wrong even though no stored record was edited.
- This is Data and Model Poisoning (OWASP Top 10 for LLM); NIST AI 100-2 lists poisoning as a main type of attack on AI systems.
Yes: it is an integrity failure of the model through training-data poisoning, so checking only the EHR records is not enough.