Відновлення SQL Server після вірусів - це просто!

Епідемія вірусів, які шифрують файли користувачів і потім вимагають гроші у користувачів, стала вже всесвітньої. Одним з перших був вірус WannaCry в 2017 році. Далі з'являлися його клони і модифікації. Що робити якщо ваші файли постраждали від цієї чуми? Реально розшифрувати файли, навіть після сплати викупу, навряд чи вийде. Залишається йти обхідними шляхами:

  • відновлювати дані з резервних копій
  • витягувати файли з поштового листування шукати контакти та інформацію в різних месенджерах

Чи є варіанти вирішення проблеми у компаній розробників програмного забезпечення? Наприклад, що може запропонувати Microsoft? Відповідь: НІЧОГО.

Найвірніше в цій ситуації це відновлювати базу даних SQL Server з останньої резервної копії. Але що робити якщо відновити сервер з резервної копії не вдалося? Що робити якщо резервна копія також зашифрована вірусом здирником?

Баг у вірусу вимагача

Віруси розповсюджуються завдяки різним Багам в програмах, операційних системах і допомогою соціального інжинірингу. Але і самі віруси - це програми і у них є баги і приховані уразливості. Яка вразливість або уразливості є у вірусів вимагачів? Вірусу треба швидко зашифрувати максимальну кількість файлів. З невеликими файлами, такими як файли даних Excel, Word, PowerPoint, Project, AutoCAD, CorelDRAW та інші, процедура шифрування виконується дуже поспішав. Відразу після зараження сотні і тисячі файлів шифруються. А що буде якщо вірус зустрів великий файл, наприклад бази даних FoxPro або Microsoft Access? У таких випадках вірус зазвичай шифрує початок файлу і переходить до наступного файлу, який знаходить в папці або поруч на диску.

Цей нюанс дає користувачам невелику надію. Microsoft SQL Server зберігає дані в файлах з розширеннями MDF і NDF. Розміри цих файлів зазвичай вражають: гігабайти і терабайти. Спеціально для їх збереження використовуються великі дискові сховища, зазвичай на основі RAID контролерів. На початку кожного такого файлу знаходиться невеликий заголовок, потім слідують великі обсяги службової інформації для швидкої роботи з даними, службова інформація для опису призначених для користувача даних та інше.

У більшості випадків вірус шифрує основний обсяг службових даних в файлах MDF і NDF. А власне сторінки з даними в файлі залишаються зашифрованими.

Непряме відновлення даних SQL Server

Якщо дані є, то як їх прочитати? Як зібрати воєдино всі сторінки і блоки даних, якщо службова інформація більш недоступна через вірус? Потрібні хитрі інструменти для вирішення не тривіальним завдання.

Тому наступний крок, це пошук інструменту (утиліти, сервісу чи іншого засобу), який вміє аналізувати дані в MDF і NDF файлах. Це вміють робити утиліти відновлення пошкоджених баз даних Microsoft SQL Server. Вони вирішують схожі завдання при таких же початкових умовах, коли частина файлу бази даних відсутній або викривлена.

Найдоступніша і проста утиліта для цих цілей це Recovery Toolbox for SQL Server (https://sql.recoverytoolbox.com/ru/). Recovery Toolbox for SQL Server розроблена понад 10 років тому і відновлює дані з найперших версій Microsoft SQL Server (6.5, 7.0, 2000) до найостанніших (2017, 2019).

Як відновити базу даних SQL Server після вірусу вимагача

Оскільки Recovery Toolbox for SQL Server розроблявся тільки для однієї мети (відновлення пошкоджених баз даних Microsoft SQL Server), то і налаштувань в ньому самий мінімум. Утиліта зроблена у вигляді покрокового помічника і на кожному етапі користувач робить прості дії:

  1. Вибрати зашифрований MDF файл
  2. Вибрати спосіб і місце збереження відновлених даних
  3. Вибрати дані для збереження
  4. Запустити відновлення і збереження даних

На початковому етапі утиліта довго читає і аналізує зашифровану базу даних SQL Server. Це найбільш важливий етап в роботі програми. Чим більше розмір вихідного файлу і чим складніше дані в ньому, тим довше працює програма на цьому етапі. На файлах розміром 1-5Тб за умови наявності потужного сервера програма може працювати до 1-го дня.

Все що вдалося відновити, зібрати по частинах зі сторінок з даними зашифрованого MDF файлу буде надано користувачеві у вигляді зручних таблиць і списків всередині Recovery Toolbox for SQL Server. Користувач може погортати сторінки з даними, таблицями, призначеними для користувача функціями і процедурами.

Якщо зашифрований MDF файл вийшло вдало проаналізувати, то списки і таблиці на 2-й сторінці програми будуть не пустими. В іншому випадку переглядати буде нічого, і платити в цьому випадку не треба, так як ДЕМО версія програми Recovery Toolbox for SQL Server абсолютно безкоштовна.

Якщо аналіз зашифрованого файлу був успішний, то слід вибрати як зберегти дані:

  • у вигляді SQL scripts в безлічі окремих файлів
  • експортувати дані в нову базу Microsoft SQL Server

Увага: при відновленні бази даних SQL Server після вірусу вимагача є ймовірність втрати частини даних, відповідно цілісність даних може бути порушена. І як наслідок Primary keys і Foreign keys швидше за все працювати не будуть. Це виявиться на етапі виконання SQL scripts з Primary keys і / або Foreign keys після того, як дані вже імпортовані в базу. Скрипти з Primary keys і / або Foreign keys не будуть виконані або будуть виконані з помилками.

Послідовність виконання SQL scripts при експорті даних в нову базу даних:

Дана послідовність скриптів представлена ​​в файлі Install.bat, який програма Recovery Toolbox for SQL Server зберігає в папці з усіма іншими SQL скриптами. Просто запустіть цей файл на виконання із зазначенням потрібних параметрів (Server name, Database name, Username і Password) в командному рядку. Можливо, Вам доведеться виконати цей скрипт кілька разів, щоб дані імпортувалися в базу даних найбільш повно.

Як відновити базу даних Microsoft SQL Server після ransomware

Якщо ваша база даних SQL Server була зашифрована вірусом здирником, то можна спробувати відновити дані без оплати. Для цього необхідно:

  1. Відновити дані з резервної копії
  2. Витягти дані з .MDF / .NDF файлів за допомогою Recovery Toolbox for SQL Server у вигляді SQL скриптів
  3. Імпортувати дані з SQL скриптів в нову базу SQL Server

Відмінного Вам дня!