Попалась ситуация у клиента, где в результате действия вредоноса (проникновение и сбор информации с последующим шифрованием данных) оказались зашифрованными актуальные данные и бэкапы.
Клиент сначала попытался заплатить выкуп вымогателю, но закончилось всем тем, что оплату произвел, а декриптор не получил, а получил лишь предложение заплатить еще столько же. (речь шла вроде об 0,1 BTC).
Исследовав ситуацию удалось обнаружить, что автор вредоноса стремился сделать атаку максимально быстрой и потому большие файлы шифрованы частично. Немного от начала, если вкрапление в середине и в конце.
Удалось среди удаленных файлов обнаружить тело вредоносное и разобрать его алгоритм выборки данных для шифрования. т.е. доподлинно известно, что в файла шифровано, а что нет.
для VBK архивов порча начала - это как правило уничтожение header (который совсем не уникален), обеих копий shapshotslot(где Snapshot Desc., Banks Desc.)
Наиболее важна таблица Metabanks которая в таблице банков. Именно она определяет «маршрутизацию» по файлы архива, чтобы взять все важно для формирования деревьев для извлечения данных.
На текущий момент удалось решить задачи: 1.Поиск метабанков с отсевом мусорного 2.Поиск блоков данных без опоры на мету, с определением, где блок сжат, а где нет. 3.Проверка CRC32 объектов. Удалось установить что и где включено в расчет. Хотя остались некоторые вопросы по несжатым блокам.
Сейчас пока решение видится в виде создания новых Snapshot slot с внесением в них метабанков (с разложением по копиям и подсчетом CRC)
Но также интересна задача автономной распаковки данных по метабанкам. Интересует есть ли где опубликованная информация по устройству метабанков? В частности интересны записи по 32 байта в банках с флагом 1, где постранично записи блоков принадлежащих деревьям.
Возможно у кого-то есть что сказать по устройству самих метабанков, что могло бы помочь решить задачи восстановления несколько более комплексно, чем текущий вариант.
Кроме этого я сейчас пока рассмотрел реализацию для сильно поврежденных архивов в том числе частично перезаписанных другими данными после удаления. После распаковки позволяет добывать хоть какие-то фрагменты небольших данных (например офисные документы), методами сигнатурного анализа с последующей валидацией найденного.


