Independent thinking. Informed defence.

CISO Times

Intelligence for the people behind the defence.

The CISO Decision Brief

How do we…

How do we know our backups will actually restore?

8 decision pointsThe pack behind this answer: Backup & Restore Assurance

Add to board 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
StartYou want proof that your backups restoreStepConfirm the data set is listed with its owner, class and kindDecisionDoes a provider hold the data, with no copy of ours?OutcomeUse the provider's own recovery test and get its resultsStepPick the test type the data set's kind needsStepChoose the copy, alternating online and immutable or offlineStepPrepare an isolated place to restore intoDecisionDoes the copy pass its integrity check before it is restored?StepRecord the failure and raise a findingStepRestore, timing from the decision to restoreDecisionDid the restore complete, and does the data match its source?OutcomeRaise a finding: the restore or the data check failedDecisionChecked by someone else, and confirmed usable by the data owner?OutcomeNot passed yet: book the checker and the data ownerStepRecord the evidence and issue the reportDecisionWas it a timed test: system, service end to end or rebuild?OutcomePassed for the copy only: plan the timed test its kind needsDecisionWere the time and the data lost within the service's targets?OutcomeRaise a finding and an objective gap, then fix and retestDecisionHas a rebuild test measured the cyber recovery time?OutcomePlan a rebuild test and show both times side by sideOutcomeReport counts with every gap named, and book the next restoreDecisionIs there another copy of this data set to try?OutcomeNo usable copy: tell the data owner and raise a finding

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.
  1. 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

  2. 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

  3. 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.

    In the pack

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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.

    In the pack

  9. 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

  10. 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

  11. 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.

    In the pack

  12. 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

  13. 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.

    In the pack

  14. 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

  15. 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

  16. 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.

    In the pack

  17. 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

  18. 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.

    In the pack

  19. 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

  20. 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.

    In the pack

  21. 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

  22. 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

  23. 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.

    In the pack

  24. 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

Practical checklist

  1. Confirm the data set is listed with its owner, class and kind, and pick the test types its kind needs.
  2. Choose the copy, alternating online and immutable or offline, and have someone other than the usual administrator recover the key.
  3. Check the copy's integrity, then restore it into an isolated place with no route to production.
  4. Time the restore from the decision to restore to the data owner's confirmation, using system logs.
  5. Compare the restored data with its source, run the application's consistency check, and have a checker and the data owner confirm it.
  6. Compare the time and the data lost with the service's targets, and raise a finding for every missed criterion.
  7. 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