How do we…
How do we know our backups will actually restore?
Add to board memoOpen the memo
The short answer
- Recommendation
- Prove each critical data set restores by restoring a copy into an isolated place, checking it before and after, and timing it against the service's targets. Repeat by the pack's default every 3 months, alternating the online and the immutable or offline copy.
- Reasoning
- A finished backup job shows only that something was written. Only a restore shows that the copy is whole, that its keys work, that the data opens and how long recovery takes. A test passes only when every criterion holds, including a check by someone other than the tester and the data owner's confirmation that the data is usable. A restore in normal conditions does not show recovery after a destructive attack. Only a rebuild test measures that.
- Considerations
- A tabletop exercise or a drill restores nothing, so it never counts as a restore test.
- A file or tenant restore is not timed, so it claims nothing about recovery time. A system restore, a full service test and a rebuild are timed.
- A missed criterion is a finding: the test doing its job. Do not rerun the test until it passes, and do not change the criterion.
- The 3 months, the 10 working days for the report and the 3 years for records are the pack's defaults, which your own backup standard may change.
The decision, step by step
Select any step for the reasoning behind it and where the pack covers it.
- Start
- Step
- Decision
- Outcome
- Loop back
Keyboard: Tab to a step, arrow keys move along the flow, Enter pins its explanation, + and − zoom, 0 fits the diagram, Esc closes. The text version below has the same content.
Where a step quotes a number, it is the default in the CISO Times pack. Your own standard may set a different one.
Read as text
The same flow written out: each step, its reasoning and where the pack covers it. 24 steps.
Start
You want proof that your backups restore
A backup job that finished says only that it wrote something. It does not show that the data restores, how long that takes or that the keys still exist. Only a restore shows these, so every step below rests on a restore that was checked and timed. A tabletop exercise or a drill is never evidence here.
In the pack
- P23-A03 Backup Operations & Restore Test ProcedureWhy a finished backup job proves little
- P23-A02 Restore Testing MethodologyPurpose
Step
Confirm the data set is listed with its owner, class and kind
Start from the coverage matrix. Each critical data set needs an owner, a class, a location, a method, an interval and a supplier. A data set that is not listed is treated as not backed up, so list it before testing. Its kind decides the test: a system you run, a cloud or software-as-a-service tenant, the foundations, or data a provider holds.
In the pack
- P23-A02 Restore Testing MethodologyStep 1: List and classify the data (rule BR-01)
- P23-A04 Backup Coverage & Retention MatrixChecks (rule BC-01)
Decision
Does a provider hold the data, with no copy of ours?
Where a provider holds the data and you keep no backup of your own, there is nothing of yours to restore. If you cannot tell whether you hold an independent copy, answer yes, because an assumed copy is a common gap.
- Yes, or not known: Use the provider's own recovery test and get its results
- No: Pick the test type the data set's kind needs
In the pack
- P23-A02 Restore Testing MethodologyStep 2: Choose the restore test types (rule BR-12)
- P23-A03 Backup Operations & Restore Test ProcedureCloud, software-as-a-service and supplier backups (rules BR-19, BR-20)
Outcome
Use the provider's own recovery test and get its results
Test it through the provider's own recovery test, with its results shared and checked against the service's objectives. A contract that gives no restore time, or a longer one than the service's recovery time objective, is recorded as a failed check. Whether you should hold a copy of your own is a separate question.
In the pack
- P23-A02 Restore Testing MethodologyCloud services and suppliers (rule BR-20)
- P22-A02 Business Continuity & ICT Resilience PolicyTesting and review (rule RR-14)
Step
Pick the test type the data set's kind needs
A system you run needs a file or data set restore (TT-1) and a full system restore (TT-2). A cloud or software-as-a-service tenant needs TT-1 and a tenant restore (TT-5). The foundations need TT-1 and a rebuild in an isolated environment (TT-4). A test of a higher type counts for the lower types it includes, if it passed.
In the pack
- P23-A02 Restore Testing MethodologyStep 2: Choose the restore test types (rule BR-12)
- P23-A03 Backup Operations & Restore Test ProcedureRoutine 3: planning the restore tests (rule BR-12)
Step
Choose the copy, alternating online and immutable or offline
For a critical data set, alternate between the online copy and the immutable or offline copy from one test to the next, so both are shown to restore. Record the copy by identifier and the time it was taken, and record any connection of an offline copy. Have a named person who is not the usual backup administrator recover the key from your key register and decrypt the copy.
In the pack
- P23-A02 Restore Testing MethodologyStep 4: Run the test (rules RS-2, BR-03)
- P23-A03 Backup Operations & Restore Test ProcedureKeys and the way into the backup system (rule BR-09)
Step
Prepare an isolated place to restore into
Restore into a place with no route to production, and never onto the live system. For a rebuild test the isolated environment has no route to production at all, and the clean-room gates apply. For a tenant test, create a test tenant. Delete what you restored when the test ends.
In the pack
- P23-A02 Restore Testing MethodologyWhere to restore (rule BR-07)
- P23-A03 Backup Operations & Restore Test ProcedureRoutine 4: running a restore test (rules RS-3, RS-9)
Decision
Does the copy pass its integrity check before it is restored?
Run the backup system's own verification on the copy first. In an incident, P09 asks for the same check before any restore, so this practises it. P09 decides who checks and who decides what is restored (decision D3: the backup service provider checks and the incident manager decides), and nothing here changes that. If you do not know the result, answer no.
- Yes: Restore, timing from the decision to restore
- No, or not known: Record the failure and raise a finding
In the pack
- P23-A02 Restore Testing MethodologyStep 4: Run the test (rule BR-16)
- P23-A03 Backup Operations & Restore Test ProcedureWhat changes in an incident (rules P09 D3, IM-10)
- P09-A06 Ransomware Response PlaybookDecision tree (rules D3, IM-10)
Step
Record the failure and raise a finding
A copy that fails the check is a result: write it down, raise a finding for it and try the next copy. A restore whose integrity check failed does not start the clock for the next test. If no copy of a critical data set passes, it has no verified copy, and the pack rates a critical data set that cannot be restored as a High finding.
In the pack
- P23-A02 Restore Testing MethodologyStep 3: Set how often to test (rule BR-13)
- P23-A02 Restore Testing MethodologyStep 7: Fix, retest and report (rule BR-18)
Step
Restore, timing from the decision to restore
Start the clock at the decision to restore and stop it when the data owner confirms the data is usable. Take both times from system logs, not from memory. Work out the data lost: the hours between the copy used and the point at which the data was last known to be complete. A provider's failover that restores none of your backups is not a restore test.
In the pack
- P23-A02 Restore Testing MethodologyStep 4: Run the test (rules RS-5, RS-7)
- P23-A03 Backup Operations & Restore Test ProcedureRestore tests so far (rule RT-01)
Decision
Did the restore complete, and does the data match its source?
The second integrity check is on the restored data. Everything in scope must be restored. Compare the data with its source or a sample, run the application's own consistency check and have the data owner open records that matter. The first check finds a damaged copy. This one finds a restore that completed and produced the wrong thing. If you did not run it, answer no.
- Yes: Checked by someone else, and confirmed usable by the data owner?
- No, or not known: Raise a finding: the restore or the data check failed
In the pack
- P23-A02 Restore Testing MethodologyStep 4: Run the test (rules BR-16, TC-01, TC-02)
- P23-A03 Backup Operations & Restore Test ProcedureRoutine 4: running a restore test
Outcome
Raise a finding: the restore or the data check failed
Record the test, with the failed criterion, and raise a finding with an owner, a severity and a due date. The owner agrees the plan within 10 working days, by the pack's default. Do not rerun the test until it passes, and do not change the criterion. A finding closes only when a retest shows that the fix works.
In the pack
- P23-A03 Backup Operations & Restore Test ProcedureRoutine 6: what to do when a test fails (rule BR-18)
- P23-A02 Restore Testing MethodologyStep 7: Fix, retest and report (rule BR-18)
Decision
Checked by someone else, and confirmed usable by the data owner?
The person who runs the restore does not judge it alone. A restore checker who did not run it checks the result, and the data owner confirms the data is usable with records that matter to the service. This is the criterion most often skipped. If either is missing, answer no.
- Yes: Record the evidence and issue the report
- No, or not known: Not passed yet: book the checker and the data owner
In the pack
- P23-A02 Restore Testing MethodologyStep 5: Judge the result (rule TC-05)
- P23-A03 Backup Operations & Restore Test ProcedureRoutine 4: running a restore test (rule RS-8)
Outcome
Not passed yet: book the checker and the data owner
A restore the administrator judged alone has not been checked. Where one person runs the backups, ask someone else to check, and have the data owner confirm, with a deputy named for the day the restore is ready. Finish the check before you count the test.
In the pack
- P23-A02 Restore Testing MethodologyStep 5: Judge the result (rule TC-05)
- P23-A03 Backup Operations & Restore Test ProcedureRoutine 4: running a restore test
Step
Record the evidence and issue the report
Every test leaves a record of eight things: the data set and copy, the copy's integrity result, start and end times from logs, what was restored and compared, the consistency check and records opened, the data lost, who ran, checked and confirmed it, and every failed criterion with its finding. The report follows within 10 working days and records are kept 3 years, both the pack's defaults.
In the pack
- P23-A02 Restore Testing MethodologyStep 6: Record the evidence (rule BR-17)
- P23-A03 Backup Operations & Restore Test ProcedureRoutine 5: the evidence a test leaves (rule EV-1 to EV-8)
- P23-A08 Restore Test Evidence Report TemplateEvidence list
Decision
Was it a timed test: system, service end to end or rebuild?
A file or data set restore (TT-1) and a tenant restore (TT-5) are not timed, and a test that is not timed claims nothing about recovery time. A system restore (TT-2), a full service test (TT-3) and a rebuild (TT-4) are timed and are judged against the service's objectives. If you do not know, answer no.
- Yes: Were the time and the data lost within the service's targets?
- No, or not known: Passed for the copy only: plan the timed test its kind needs
In the pack
- P23-A02 Restore Testing MethodologyStep 5: Judge the result (rules TC-03, TC-04)
Outcome
Passed for the copy only: plan the timed test its kind needs
A passed file or tenant restore shows the copy is whole, the keys work and the data opens. It does not show how long recovery takes. For a system, plan the full system restore (TT-2); for the foundations, a rebuild (TT-4). The pack gives a tenant restore no timing. Where a supplier runs the backup, its contract should give a restore time no longer than the service's recovery time objective.
In the pack
- P23-A02 Restore Testing MethodologyStep 2: Choose the restore test types (rule BR-12)
- P23-A02 Restore Testing MethodologyStep 5: Judge the result (rule TC-03)
- P23-A02 Restore Testing MethodologyCloud services and suppliers (rule BR-20)
Decision
Were the time and the data lost within the service's targets?
Compare the time achieved with the service's recovery time objective and the data lost with its recovery point objective. Both belong to the service's business owner under your recovery policy, and the test never sets them. In the pack's example, online ordering took 96 hours against 24, so the time criterion was missed.
- Yes: Has a rebuild test measured the cyber recovery time?
- No, or not known: Raise a finding and an objective gap, then fix and retest
In the pack
- P23-A02 Restore Testing MethodologyStep 5: Judge the result (rules TC-03, TC-04)
- P23-A02 Restore Testing MethodologyTwo times, side by side (rule BR-15)
Outcome
Raise a finding and an objective gap, then fix and retest
A test that misses a criterion is a finding. It is the test doing its job. Where a critical service cannot meet its recovery time or recovery point, also raise an objective gap under P22 RR-15 and link the two; the finding keeps P22's date. Tell the risk owner for a High finding, and close it only when a retest passes.
In the pack
- P23-A03 Backup Operations & Restore Test ProcedureRoutine 6: what to do when a test fails (rule BR-18)
- P22-A02 Business Continuity & ICT Resilience PolicyTesting and review (rule RR-15)
Decision
Has a rebuild test measured the cyber recovery time?
A restore in normal conditions shows the restore time, onto systems you can trust. After a destructive attack the foundations are rebuilt first, so recovery takes longer. Only a rebuild test (TT-4) measures that, and its result replaces the estimate in the recovery matrix. If you do not know, answer no.
- Yes: Report counts with every gap named, and book the next restore
- No, or not known: Plan a rebuild test and show both times side by side
In the pack
- P23-A02 Restore Testing MethodologyTwo times, side by side (rule BR-15)
- P22-A05 Cyber Recovery Plan TemplateThe cyber recovery time (rule MX-05)
Outcome
Plan a rebuild test and show both times side by side
Plan the rebuild test with your resilience coordinator. Check P22's peak-season freeze before you fix a date, and where it is also a recovery test of a critical service, plan it once. Report the restore time and the cyber recovery time side by side against the objective. In the pack's example, ordering restored in 96 hours and its cyber recovery time is 108 hours, with 12 for the foundations.
In the pack
- P23-A02 Restore Testing MethodologyTwo times, side by side (rule BR-15)
- P22-A05 Cyber Recovery Plan TemplateThe cyber recovery time (rule MX-05)
Outcome
Report counts with every gap named, and book the next restore
Report to executive management each quarter and to the approver your governance names each year (the board or its committee, the management board, or executive management where there is no board), as counts with every gap named, for example 3 of 5 tests met every criterion, and the other 2 are named. Never report a score, a percentage or one colour for the programme. Book the next restore of this data set from the date of the last one that passed.
In the pack
- P23-A02 Restore Testing MethodologyStep 7: Fix, retest and report (rule BR-21)
- P23-A09 Backup Assurance DashboardDashboard (rules BAM-05, BAM-06)
Decision
Is there another copy of this data set to try?
A copy that fails its integrity check is a finding in its own right. Try the next copy, alternating the online and the immutable or offline one. When none is left that passes, the data set has no usable backup, whatever the job reports.
- Yes: Choose the copy, alternating online and immutable or offline (back to an earlier step)
- No: No usable copy: tell the data owner and raise a finding
In the pack
- P23-A02 Restore Testing MethodologyThe rules (rule BR-12)
Outcome
No usable copy: tell the data owner and raise a finding
Treat the data set as having no backup until a copy restores. Tell its owner the same day, raise a finding with an owner and a due date, and fix the cause before the next test. If the data set belongs to a critical service, the finding is High by the pack's meaning: it cannot be restored.
In the pack
- P23-A02 Restore Testing MethodologyThe rules (rule BR-18)
Practical checklist
- Confirm the data set is listed with its owner, class and kind, and pick the test types its kind needs.
- Choose the copy, alternating online and immutable or offline, and have someone other than the usual administrator recover the key.
- Check the copy's integrity, then restore it into an isolated place with no route to production.
- Time the restore from the decision to restore to the data owner's confirmation, using system logs.
- Compare the restored data with its source, run the application's consistency check, and have a checker and the data owner confirm it.
- Compare the time and the data lost with the service's targets, and raise a finding for every missed criterion.
- Record the evidence, issue the report and book the next restore from the last one that passed.
Evidence to have ready
- For each test: the data set, the copy used with when it was taken, and the copy's integrity result.
- Start and end times from system logs, and the data lost worked out from the copy's time.
- What was restored and compared, the consistency check result and the records the data owner opened.
- Who ran, checked and confirmed the restore, and every failed criterion with its finding.
- The restore time beside the cyber recovery time for each critical service.
Assumptions
- Each critical service has a business owner and recovery time and data-loss targets agreed under your recovery policy. The test measures against them and never sets them.
- Your critical data sets are listed with an owner, class and kind. A data set that is not listed is treated as not backed up.
- Someone other than the person who runs the restore can check it, and a data owner with a deputy can confirm the data is usable.
- The figures are the pack's defaults, which your own backup standard may change.
Not covered here
- Choosing which tests to run and how often for each system. That is “How do we choose which restore tests to run, and how often, for each system?”.
- What to do when a test misses the recovery time or loses too much data. That is “If a restore test misses the recovery time or loses too much data, then what do we do?”.
- Showing an auditor or an insurer that your backups restore. That is “How do we show an auditor or an insurer that our backups restore?”.
- Keeping backups out of an attacker's reach. That is “If backups can be reached with production administrator credentials, then what?”.
Related questions
- When do we test recovery, and how much testing is enough?
- How do we choose which backup to restore from after a cyberattack?
- How do we choose which restore tests to run, and how often, for each system?
- If a restore test misses the recovery time or loses too much data, then what do we do?
- How do we show an auditor or an insurer that our backups restore?