The claim you are testing. A system is recoverable only if you have restored it to a working state, inside its recovery time, using only what would survive the incident. Anything short of that is an assumption.
Backup success is not recovery success
Backup tooling reports on the write. It tells you the job finished and the catalog was updated. It tells you very little about whether the data is consistent, whether the application will start on it, whether the keys and credentials needed to read it will exist during an incident, or how long the restore takes when dozens of systems are queued behind one network link. Those are recovery properties, and they only appear when someone actually restores.
Define “recoverable” before you test
Two terms anchor the test. The recovery time objective (RTO) is how long the business can tolerate a service being down. The recovery point objective (RPO) is how much data loss, measured in time, it can tolerate. Regulation has started to make this explicit: DORA Article 12 expects financial entities to set both for each function and to test backup and restoration procedures periodically. A restore only counts if it meets four conditions.
| Condition | Question | Typical evidence |
|---|---|---|
| Intact | Is the data complete and uncorrupted? | Checksums, restore logs, application-level consistency check |
| Usable | Does the service run on the restored data? | Application starts; scripted functional test passes |
| Timely | Did recovery finish within the RTO? | Measured elapsed time from start to validated service |
| Independent | Did it work without the compromised environment? | Restore performed with break-glass access into an isolated target |
The test ladder
Each level proves something the one below cannot. Record the highest level evidenced for each system and report that, not the level you intended to reach.
| Level | Test | What it proves | What it does not prove |
|---|---|---|---|
| 1 | Catalog and integrity check | The copy exists and can be read | That anything restores or runs |
| 2 | Sample restore of files, objects or tables to a scratch location | Data can be read back | That the whole system works |
| 3 | Full system restore into an isolated network, then boot | The image or dataset is restorable | That the service works with its dependencies |
| 4 | Service restore with dependencies in order (identity, DNS, database, application), functional checks, timed | RTO and RPO are achievable for this service | Behavior at scale or under attack conditions |
| 5 | Scenario restore: assume production identity, hypervisor and backup console are lost; restore with break-glass access into a clean environment | Recovery does not depend on anything the attacker controls | Behavior when many services restore at once |
| 6 | Concurrent restore of a group of related services | Bandwidth, storage and staffing hold under load | Recovery from every scenario |
What to record every time
| Field | Why it matters |
|---|---|
| System, service and criticality tier | Ties the result to a business priority |
| Backup set tested, including its age | Shows the recovery point actually achieved |
| Restore path and credentials used | Shows whether recovery was independent of production |
| Start time and validated-service time | Provides RTO evidence |
| Data volume and throughput | Feeds capacity planning for concurrent recovery |
| Manual steps missing from the runbook | Identifies documentation gaps |
| Validation checks run and results | Separates “it booted” from “it works” |
| Failures, owner and retest date | Moves the finding into remediation |
Where recovery tests usually fail
These are common failure modes worth testing for directly.
-
The restore depends on something the incident removes. A domain-joined backup server, admin credentials held in a vault that is itself down, or encryption keys stored in a key service inside the affected environment. Test by restoring with those unavailable.
-
The backup is application-inconsistent. A crash-consistent copy of a busy database may need log replay, or may not start. Test the database, not just the volume.
-
Dependency order is unwritten. The application comes back before identity or DNS, and nothing authenticates.
-
Retention is shorter than detection time. If an intrusion went unnoticed longer than your oldest clean backup, every available copy may be compromised. CISA’s ransomware guide tells responders to look for precursor dropper malware before rebuilding from backups, because ransomware is often used to hide an earlier compromise.
-
Immutability is mistaken for cleanliness. Write-once storage preserves whatever was written, including a compromised state. CISA also notes that misconfigured immutable cloud storage can be costly.
-
SaaS and cloud-native data is assumed covered. Check what the provider restores and what remains your responsibility, and test the part that is yours.
-
The build is missing, not just the data. Infrastructure-as-code templates, images, licenses and configurations need protected copies too, which CISA’s guide also recommends keeping offline.
-
Hardware and bandwidth were never sized for a full restore. Throughput measured in a single-system test rarely survives a many-system recovery.
Reporting a rating that means something
| Status | Evidence required |
|---|---|
| Unverified | Backup job reports only |
| Readable | Level 1 or 2 evidence |
| Restorable | Level 3 evidence, with a validated boot |
| Service-recoverable | Level 4 evidence, timed against RTO and RPO |
| Scenario-proven | Level 5 or 6 evidence, restored independently of production |
Cadence and triggers
Frequency should follow criticality, not the calendar alone. Tier-one services justify scenario-level tests; lower tiers can stay at sample or full-system restores. Retest after anything that can change the answer: a new backup platform or architecture, a major application upgrade, an identity or network redesign, and any fix made after a failed test. A failed restore is a successful test. Log it, assign an owner and set a retest date.
Checklist before you call a system recoverable
-
Restored from a stored backup set, not a snapshot taken for the test
-
Restored without production admin credentials or the production identity platform
-
Application-level validation passed
-
Elapsed time recorded against the RTO
-
Recovery point recorded against the RPO
-
Dependencies restored in a documented order
-
Runbook updated with every manual step discovered
-
Failures logged with owner and retest date
Sources
#StopRansomware Guide — CISA
Article 12: Backup policies and procedures, restoration and recovery procedures and methods (DORA) — Advisera
Data Integrity: Recovering from Ransomware and Other Destructive Events (SP 1800-11) — NIST National Cybersecurity Center of Excellence
How we label evidence
Facts carry a source. Analysis and recommendations are marked as ours. Examples that are hypothetical are labeled as hypothetical.
Part of the solutionDetect, Respond & RecoverSpot attacks early and get back to business fast.See how we work →Related service
Recovery & Restoration
Use this to strengthen secure recovery and restoration.