Məzmuna keç
Tez Base

Тяжёлые базы и диагностика

Восстановление базы 1С после шифровальщика, когда ключа нет и чистой копии тоже

Шифровальщики часто портят только начало файла, а остальное оставляют целым. Тогда базу 1С можно собрать заново из уцелевших страниц бэкапа или файла данных SQL Server: без ключа, без выкупа и без расшифровки. Сначала бесплатно смотрим ваши файлы и говорим, подходит ли случай.

WhatsApp-da yazın Pulsuz ekspress-audit əldə edin

6 часов сборка бухгалтерской базы 23 ГБ из бэкапа с зашифрованным началом

от 450 000 ₸ qiymət · сборка одной базы на SQL Server с отчётом о потерях, без налогов итог зависит от объёма, числа баз и того, нашлась ли старая копия, называем его после бесплатной проверки файлов

база из целых страниц

Tanış problemlərdir?

Утром базы не открылись

Рядом с каждым файлом записка с требованием выкупа, расширение файлов сменилось, SQL Server не поднимает базы и не восстанавливает бэкапы.

Бэкапы зашифрованы вместе с базами

Копии лежали в сети и попали под шифрование в ту же ночь. Чистой копии нет или она отстаёт на дни и месяцы.

Платить нельзя или нечем

Ключ обещают только за выкуп, гарантий никаких. Подобрать ключ невозможно: у современных шифровальщиков нормальная криптография и отдельный ключ на каждый файл.

Старая копия есть, но она старая

Откат на копию недельной или годовой давности означает ручной ввод всего, что было после. Для учёта товара и денег это недели работы.

Когда базу 1С можно собрать без ключа

Расшифровать файл без ключа нельзя. Но многим шифровальщикам и не нужно шифровать файл целиком: чтобы испортить бэкап на сотни гигабайт, хватает первых мегабайт. В нашем случае было зашифровано ровно 10 МиБ в начале каждого файла, дальше лежали нетронутые данные и служебный хвост шифровальщика.

SQL Server такой бэкап штатно не восстановит: без начала он не понимает, что перед ним. Зато сами страницы базы, по 8 КБ каждая, лежат в уцелевшей части целыми. Их можно вынуть, проверить и собрать из них новую базу. Это не расшифровка: исходный файл не возвращается, база собирается заново.

Подходит, если:

  • базы 1С работали на MS SQL Server, а зашифрованы бэкапы (.bak, сжатые или нет) или файлы данных (.mdf, .ndf);
  • зашифрована часть файла, а не весь. Это видно по самому файлу, и мы проверяем это бесплатно;
  • файл больше зашифрованной области. Мелкие журналы транзакций и системные базы обычно зашифрованы целиком.

Файловые базы 1С и PostgreSQL устроены иначе, по ним смотрим отдельно и обещаний заранее не даём.

Что теряется и почему это не страшно

Сжатый бэкап с 10 МиБ шифротекста в начале - это примерно первые 70-100 МБ файла данных, около 9 тысяч страниц. В базе на 23 ГБ это около 0,3 % страниц. Беда в том, что именно в начале файла лежит описание таблиц и колонок, служебные страницы распределения и самые старые данные.

Поэтому основная работа идёт над структурой, а не над данными. Здесь выручает сама 1С: полное описание своих таблиц платформа хранит в базе, и в нашем случае оно уцелело. Что всё-таки пропало, видно точно: на потерянные страницы ссылаются уцелевшие соседи, а потерянные строки находятся по уцелевшим индексам. Отсюда отчёт о потерях и список документов, которые достаточно перепровести.

Старая копия: ищем её первой

Это самое дешёвое и самое полезное действие. Копия годовой и даже двухлетней давности не возвращает свежие данные, но она:

  • служит донором конфигурации. У нас копия двухлетней давности закрыла 1 006 из 1 023 потерянных файлов конфигурации;
  • показывает, какие таблицы, колонки и индексы ждёт платформа;
  • даёт независимую проверку: старые проводки и закрытые периоды в собранной базе должны совпасть с копией. У нас по регистрам совпало 99,6-99,8 %.

Не помогают другие зашифрованные бэкапы той же базы за другие дни: у всех испорчено одно и то же начало. И не помогают базы другой редакции той же типовой: версии объектов не совпадают.

Что сделать до нашего подключения

  • Не трогайте оригиналы. Не запускайте на них “расшифровщики” из интернета и утилиты восстановления. Это улики, и не исключено, что ключ когда-нибудь опубликуют.
  • Скопируйте зашифрованные файлы на отдельный диск только на чтение. Работаем мы с копией.
  • Найдите место. Распакованные страницы, промежуточные файлы и итоговая база занимают каждый примерно в 7 раз больше сжатого бэкапа.
  • Отключите заражённые машины от сети и пускайте к нам только тестовый сервер, на котором будет идти сборка.

Расследование атаки, лечение инфраструктуры и переговоры со злоумышленниками мы не ведём. Наша часть - данные 1С.

Как устроена сборка

  1. Находим первый целый блок сразу за зашифрованным началом и идём по цепочке до конца файла.
  2. Каждую страницу проверяем по контрольной сумме. Чужие и устаревшие отсекаем по номеру последнего изменения: в бэкап попадают остатки старого содержимого диска, и многие из них стоят на “правильных” номерах.
  3. Восстанавливаем каталог: имена таблиц, колонки, типы, индексы. Для 1С сверяем его с описанием структуры, которое хранит платформа.
  4. Собираем конфигурацию по списку версий, а не по найденным строкам. Иначе 1С не откроет базу.
  5. Создаём новую базу в исходной сортировке, грузим данные, строим индексы, сверяем число строк.
  6. Проверяем целостность и снимаем итоговый бэкап с контрольной суммой.

Перед работой с вашей базой вся цепочка прогоняется на синтетической базе со всеми трудными случаями: кириллица, большие значения, даты на границах, удалённые строки. Норма - ноль расхождений. У нас самотест поймал перепутанные даты: таблица загрузилась без единой ошибки, а даты в ней были неверные.

Подробно наш случай, от утра атаки до того, что закрыли после, разобран в статье шифровальщик зашифровал базы 1С вместе с бэкапами.

Что делаем вместе с вами

Две вещи не видит ни одна проверка в SQL. Первая: открывается ли база в тонком клиенте и не взяли ли мы по ошибке не ту копию. Вторая: бухгалтер, который знает свои документы в лицо. Поэтому приёмка идёт в 1С и с вашими людьми: тестирование и исправление, перепроведение по списку, ключевые отчёты за последний месяц.

Сроки и цена

От 450 000 ₸ без налогов за сборку одной базы с отчётом о потерях. Бухгалтерская база 23 ГБ у нас собиралась 6 часов, но это время сборки, когда инструменты уже готовы и проверены. На новом случае добавляется проверка файлов, поиск копий и самотест под вашу версию SQL Server.

Итог зависит от объёма, числа баз и того, нашлась ли старая копия. Называем его после бесплатной проверки файлов и дальше не меняем. Если файл зашифрован целиком и собирать нечего, говорим это на первом шаге.

Чтобы следующая атака стоила дешевле, после восстановления помогаем поставить обслуживание баз с офлайн-копиями, до которых из сети не дотянуться.

Nə əldə edirsiniz

  • Новая база SQL Server, собранная из уцелевших страниц: таблицы, колонки, индексы, строки
  • База открывается в 1С: прошла тестирование и исправление, конфигурация собрана по списку версий
  • Отчёт о потерях по каждой таблице с оценкой числа строк
  • Список документов для перепроведения, полученный из движений регистров
  • Сверка со старой копией, если она нашлась: структура, индексы и неизменные данные
  • Проверенный бэкап итоговой базы: CHECKDB без ошибок, контрольная сумма, RESTORE VERIFYONLY

Necə işləyirik

  1. 01

    Проверка файлов

    По одному зашифрованному бэкапу или файлу данных смотрим, сколько зашифровано и что уцелело. Если зашифрован весь файл, говорим это сразу и денег не берём.

  2. 02

    Поиск копий

    Вместе с вашими админами ищем незашифрованное: офлайн-диски, тестовые базы, выгрузки dt, файлы cf у разработчиков. Даже копия двухлетней давности сильно упрощает работу.

  3. 03

    Извлечение и отсев страниц

    Вынимаем страницы из уцелевшей части, проверяем каждую по контрольной сумме, отсекаем чужие и устаревшие. Без этого в базу возвращаются удалённые строки и страницы других баз.

  4. 04

    Структура и сборка

    Восстанавливаем потерянное описание таблиц, в том числе по метаданным, которые 1С хранит в самой базе. Собираем новую базу, грузим данные, строим индексы.

  5. 05

    Приёмка в 1С

    Тестирование и исправление, перепроведение по списку, проверка ключевых отчётов вашим бухгалтером. Пользователи заходят только после этого.

Как это было у нас

  • Одна ночь, больше десятка баз 1С и все сетевые бэкапы зашифрованы, ключа нет
  • Шифровальщик испортил первые 10 МиБ каждого файла, остальное уцелело
  • Бухгалтерская база 23 ГБ собрана за 6 часов, не собрались полтора десятка документов
  • Service Desk вернулся почти целиком, потеряны почтовый архив и вложения

1C sisteminiz üçün pulsuz ekspress-audit

1-2 gün ərzində bazanıza baxıb, məhsuldarlığın harada itdiyini tapacağıq və nə etmək lazım olduğunu deyəcəyik. Öhdəliksiz.

Pulsuz ekspress-audit əldə edin

Tez-tez verilən suallar

Можно ли расшифровать базу 1С без ключа?

Нет. У современных шифровальщиков нормальная криптография и отдельный ключ на каждый файл, подобрать его нельзя. Мы не расшифровываем: если зашифровано только начало файла, собираем новую базу из уцелевших страниц. Исходный файл при этом остаётся зашифрованным.

Как понять, что зашифровано только начало файла?

По самому файлу. Шифротекст статистически отличается от сжатых данных SQL Server, граница видна при разборе файла по блокам. В конце файла шифровальщики обычно дописывают служебный хвост, в котором записан размер зашифрованной области. Такую проверку одного файла мы делаем бесплатно.

Сколько данных теряется?

Зависит от размера зашифрованной области и файла. В нашем случае 10 МиБ шифротекста в сжатом бэкапе испортили около 0,3 % страниц базы на 23 ГБ. Бухгалтерская база вернулась без полутора десятков документов, Service Desk почти целиком. Точный список потерь идёт в отчёт: по уцелевшим индексам видно, каких строк и документов не хватает.

У нас нет ни одной незашифрованной копии. Это приговор?

Нет, просто работа дольше. Структуру таблиц 1С берём из описания, которое платформа хранит в самой базе. Старая копия нужна как донор конфигурации и для проверки результата, без неё конфигурацию собираем из того, что уцелело, и сверяем её по списку версий.

Работаете с файловыми базами и PostgreSQL?

Методика проверена на MS SQL Server: на двух реальных базах после одной атаки. Файловая база 1С и PostgreSQL хранят данные иначе, по ним смотрим ваш файл и только потом говорим, есть ли шанс.

Нужно ли пускать вас в рабочую сеть?

Нет. Нам нужен отдельный тестовый сервер с копией зашифрованных файлов и местом на диске примерно в 20 раз больше сжатого бэкапа. Оригиналы не трогаем, заражённые машины в работе не участвуют.

Tapşırığı müzakirə edək

Ən sürətlisi WhatsApp: tapşırıq barədə bir-iki sətir yazın, iş günü ərzində cavab verəcəyik.

[email protected]

Müraciəti forma ilə qoymaq daha rahatdır

Oxşar xidmətlər