Как система управления инженерными данными спасает файлы от уничтожения криптовирусами

    Может ли Pilot-ICE спасти данные от вирусов-шифровальщиков? Чтобы ответить на этот вопрос, мы провели экспериментальное заражение нашумевшим вирусом Wana Decrypt0r 2.0 изолированной тестовой системы, на которой запущен сервер Pilot-Server и клиент Pilot-ICE. Другие криптовирусы действуют по схожему принципу, отличается только способ заражения. Рассматриваем самый экстремальный случай, когда резервной копии нет.



    Рассказывает Дмитрий Поскребышев — руководитель отдела разработки систем управления инженерными данными.

    Pilot-ICE – это корпоративная система, но лёгкость самостоятельного развертывания (займет не более 10 минут на сервер, модуль администрирования и клиент) плюс наличие бесплатного режима позволяют использовать её в том числе для организации персонального сетевого хранилища любых файлов. Устанавливаем Pilot-Server и подключаем базу данных, содержащую документы, которые являются потенциальной мишенью для большинства криптовымогателей: DWG, DOCX, PDF и др. Подключаем клиент Pilot-ICE к базе данных от пользовательской учётной записи. В Pilot-ICE работа с файлами выполняется на специальном виртуальном диске Pilot-Storage, который контролирует все операции с файловой системой. Для каждого файла, который появляется на диске, есть объект в базе данных. Он хранит информацию о файле, атрибуты, связи, права доступа. Данные диска кэшируются в профиле пользователя. Наличие кэша снижает нагрузку на сервер и обеспечивает автономную работу, при отсутствии соединения.



    Тела файлов хранятся по технологии NTFS Sparse Files (разреженных файлов). По мере чтения содержимого файла выполняется его потоковая загрузка с сервера, и нули Sparse Files постепенно заменяются данными с сервера. Это позволяет мгновенно открывать на Pilot-Storage огромные структуры проектов, с большими файлами, без их полной загрузки на клиентские системы. Таким образом экономится дисковое пространство пользователей и снижается нагрузка на сетевую инфраструктуру. Технология аналогична Smart Files OneDrive и DropBox Smart Sync.

    В базе данных могут быть тысячи проектов, но пользователь монтирует на Pilot-Storage только те, которые необходимы ему для текущей работы. Windows Explorer отобразит структуру смонтированных проектов, и вот тут файлы проектов становятся доступны криптовирусам.



    Заражаем вирусом Wana Decrypt0r серверную и клиентскую системы. Дожидаемся сообщения вируса о том, что шифрование завершено.



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



    Система Pilоt спроектирована так, что никакие данные не удаляются физически, а лишь получают состояние «Удалено», попадая таким образом в системную корзину Pilot, и вирус не может это обойти. На сервере для хранения тел файлов у каждой базы Pilot есть файловый архив, но в файловом архиве нет информации о типах файлов, поэтому криптовирусы их не шифруют, предполагая, что эти файлы могут быть частью ОС. А вывод из строя систем — не то, что нужно криптовымогателям.

    Вылечиваем серверную и клиентскую системы от вируса, при необходимости переносим базу данных Pilot с зараженной на чистую систему. Подключаем клиент Pilot-ICE к базе от учётной записи администратора. Заходим в корзину Pilot-Storage, администратор видит удалённые файлы всех пользователей системы. Восстанавливаем их командой «Восстановить в исходное расположение».



    Данные восстановлены.



    Осталось удалить тела вирусов из базы. Вызываем окно поиска по всем файлам базы и выполняем запросы вида WanaDecryptor, @Please_Read_Me@.txt и WNCRY. Удаляем найденные файлы, теперь они находятся в системной корзине Pilot.



    Заходим в корзину. Мы подключены от учётной записи администратора, поэтому имеем права на безвозвратное удаление следов вируса. Теперь база Pilot-ICE приведена в исходное состояние.
    Тем, кто захочет использовать Pilot для коллективной работы с файлами, рекомендую также обратить внимание на лёгкую редакцию клиента — 3D-Storage (можно найти в центре загрузок Pilot). Серверную часть можно установить и на Linux, сразу после установки будет доступно до 5 одновременных подключений.

    Дмитрий Поскребышев, руководитель отдела разработки PDM-систем.
    АСКОН 89,25
    Крупнейший российский разработчик инженерного ПО
    Поделиться публикацией
    Комментарии 74
    • +3
      Что мешает криптовирусу зашифровать сами файлы баз данных?
      • 0
        Файлы баз Pilot не известны для криптовирусов
        • 0
          Файлы вида «8352986c-a3e8-44bd-a8d0-0ab002553362» криптовирусы, скорее всего, шифровать не будут, т.к. это может повредить систему жертвы. Но даже если он поймет какой именно файл является базой, ему помешает еще один фактор. В системе Pilot сервер приложений и СУБД объединены в один процесс PilotServer.exe, а криптовирусы убивают процессы перебирая конечный список СУБД командами типа 'taskkill.exe /f /im sqlserver.exe'.
          • +1
            криптовирусы, скорее всего, шифровать не будут


            Т.е. вся эта защита по типу Неуловимого Джо?
            • 0
              Файл без расширения.
              1) Как он его найдёт, чтобы зашифровать?
              2) Как он определит, что это не файл, отвечающий за работу самой операционной системы? Выкуп никто не заплатит, если не увидит сообщение с требованием выкупа.
              • 0
                1) FindFirstFile, FindNextFile
                2) GetWindowsDirectory, GetSystemDirectory, SHGetSpecialFolderPath
                • +1
                  Это просто WinAPI методы. Как выглядит предполагаемый вами алгоритм их вызова в криптовирусах?
                  • +1
                    Найти и зашифровать все доступные на запись пользовательские папки и файлы, кроме папки с операционной системой и, может быть, папки Program Files. Или вы храните свои архивы в C:\Windows\System32?
                    • 0
                      Найти и зашифровать все доступные на запись пользовательские папки и файлы

                      Ладно допустим, а что он сделает, если сервер всё-таки на линуксе будет?
                      Серверную часть можно установить и на Linux
                      • +1
                        caduser,kompas_3d
                        Ребят, вы сперва договоритесь между собой, у вас серверная часть на Linux или криптовирус не может зашифровать файлы, потому что у них нет расширения :)

                        В своём изначальном комментарии я исходил из вот этого высказывания caduser.
                        • +1
                          у вас серверная часть на Linux или криптовирус не может зашифровать файлы, потому что у них нет расширения :)

                          Так одно другому не мешает, у нас эшелонированная оборона) Как только вирус научится шифровать файлы без расширений, ему придётся учится работать под линуксом)
                          • 0
                            По какому протоколу клиент общается с сервером?
                    • 0

                      Вы правы, теоретически так может сработать. Но почему криптовирусы так не делают?

                      • 0
                        Недоработка, исправим.
                        • 0
                          Я готов протестировать ваше исправление. Дайте знать когда исправите
        • +1

          Как решается с размером диска — а то получается увеличивается размер хранимых данных, а свободного места обычно меньше 20% от общего размера диска.

          • +1
            В клиенте есть команда для очистки кеша и его переноса на другие диски. Но в будущем хотелось бы добавить авто-очистку по квоте.
        • 0
          Интересно столько написано статей о WannaCry А как они получают информацию кто заплатил? Столько зараженных машин и надо контроль вести учета кого разблокировать. Скорее всего они каким то образом связываются с клиентом скажем так? Или в вирусе прописано с какого кошелька отправлено? Как происходит вся система оплаты?
          • 0
            Это не к нам вопрос наверно) Это лучше у представителей антивирусных компаний узнать.
            • 0
              Где-то в комментариях видел, что суммы выкупа якобы разные, видимо, по ним и определяют. Но не факт, что это правда.
              • +2
                В многочисленных статьях о WannaCry на хабре была информация о том, что данный зловред не дешифрует файлы после получения требуемой суммы. Думаю данная информация отвечает на ваш вопрос.
                • 0
                  Я где то читал что дешифрует? Хорошо Взять Vault они в принципе схожи чем то? Как понимают что отправил деньги именно тот пользователь?
                  • 0
                    Проблему в коде малвари заметили специалисты Symantec Security Response. По их словам, в код WannaCry закрался баг, который провоцирует состояние гонки (race condition) и не дает шифровальщику генерировать уникальный биткоин-адрес для каждой отдельной жертвы. Из-за этого вымогатель оперирует только тремя известными специалистам кошельками и не имеет возможности проследить платежи, поступившие от конкретных пользователей.

                    Скорее всего, именно этим объясняется тот факт, что пока никто не сообщал о пользователях, которые благополучно расшифровали бы свои файлы после выплаты выкупа. Эксперты полагают, операторы WannaCry попросту не могут восстановить файлы некоторых жертв.
                    источник
                    • 0
                      Простите дезинформировали меня На каком то сайте или комментарий не помню был! Спасибо интересная статья на источник. Парень рассказывает как он все проделывал в течении дня изучая WannaCry! Такой вопрос возможно не по теме но все таки Где скачать оригинал WannaCry для теста и изучения ????
                      • 0
                        https://geektimes.ru/post/289153/#comment_10065183

                        Но там сам Dropbox уже заблокировал доступ к файлу. Может, пользователь перезальёт.
                        • 0
                          Например здесь http://www.opennet.ru/openforum/vsluhforumID3/111229.html#14
                • +3
                  Статья не интересная.
                  О боже мой Система контроля версий защищена от порчи данных на стороне клиента! КТо бы мог подумать!
                  • +1
                    Скорее о том, как пользователям Pilot-ICE восстановить данные если заражение произошло на сервере и/или на клиенте.
                    • 0

                      Ая вот так и не понял, что делать при заражении сервера? Вирус просто возьмет и зашифрует весь образ виртуального диска не разбирая или весь файл базы данных

                      • +1
                        Так называемые «коммерческие криптовирусы», как правило, шифруют только определённые типы файлов, иначе операционная система станет неработоспособной и с пользователя не взять денег.
                        • 0
                          Сервер может на линуксе быть:
                          Серверную часть можно установить и на Linux
                      • 0
                        В данном случае статья о том, как PDM-система защищена от порчи данных на стороне клиента. Система контроля версий — это способ реализации этой защиты. Наши пользователи не всегда знают, что такое система контроля версий, но они заинтересованы в сохранении собственных данных. Эта статья может быть дополнительным аргументом для IT-специалистов предприятий, чтобы убедить руководство и инженеров установить PDM-систему.
                      • +2
                        Извините, но такое чувство что автор этого ПО пытается «сорвать покровы» — наличие резервной копии любых данных в удаленном хранилище сводит опасность криптера к минимуму (и это в современном ИТ мире является стандартной практикой, как говорится админы делятся на 2 типа — те, кто делает бэкапы, и те, кто уже делает бэкапы). Кроме того, достаточно сомнительно выставлять преимуществом низкую популярность ПО (целью криптера оно не было и его авторы едва ли знали о существовании вашей системы).
                        • 0
                          Пользователи Pilot хранят в системе весьма популярные для криптовымогателей типы файлов (PDF, DWG, DOCX и т.д. Но данные на сервере хранятся без признака типа. Это не было самоцелью при разработке, но такой побочный эффект при встрече с криптовирусами.
                          • 0
                            Для вирусов это файлы вида «8352986c-a3e8-44bd-a8d0-0ab002553362». Шифрование подобных файлов может приводить к неработоспособности ОС, поэтому они их не трогают.
                          • 0
                            наличие резервной копии любых данных в удаленном хранилище сводит опасность криптера к минимуму

                            В самом начале стать:
                            Рассматриваем самый экстремальный случай, когда резервной копии нет.
                            • +2
                              А разве файлы на вашем сервере — это не аналог резервной копии?
                              • 0
                                Аналогом можно конечно считать, но для пользователя это просто корзина. Для пользователя резервная копия — это когда всю базу куда-то целенаправленно сохраняют.
                              • 0
                                Ага, а потом автор берет и восстанавливает файлы с бэкапа (и не важно как он его называет, PDM/архив/копия/etc по сути это и есть бэкап, формат/местохранения которого просто не занесены в сигнатуры вируса из-за непопулярности данного ПО).
                                • 0
                                  «по сути это и есть бэкап, формат/местохранения которого просто не занесены в сигнатуры вируса»
                                  >
                                  Какую сигнатуру можно применить для файлов и папок вида
                                  de736101-7c5b-4a90-ace9-a23a7f4e10a9
                                  010d397a-cf8b-4c0a-87c1-604b1cd010a1
                                  7888f5ac-e357-4898-8ee6-93d760f1109f

                                  ?
                                  • 0
                                    Что мешает криптотрояну посмотреть в реестре, в какую директорию вы установились, и зарубить там всё не глядя?
                                    • 0

                                      Вы правы, криптовирус может посмотреть в реестре директорию установки (по умилению это C:\Program Files...). Там он найдет исполняемые файлы уничтожение которых приведёт к неработоспосбности Pilot-Server, но данных там нет. Данные хранятся отдельно, в директориях, известных только службе PilotServer.exe

                                      • 0
                                        Откуда известных? Не в астрале же Pilot-Server хранит расположение каталога с данными, а где-то куда он по умолчанию обращается — в реестре, конфигурационном файле, командной строке.

                                        Почему бы шифровальщику не заглянуть по указанному пути и не узнать каталог?
                                        • 0
                                          Расположение баз указывает администратор при её подключении, путь хранится где-то в XML. Конечно, можно пути к базам в зашифрованном виде хранить, хоть в реестре, хоть в XML, но это уже попытка защита от специфической, целенаправленной атаки. От таких атак совершенно другие мероприятия нужны.
                                    • 0
                                      А если криптовирусы всё-таки начнут определять тип содержимого не по расширению а по начальной сигнатуре, как делают даже простые просмотрщики картинок?
                                      • 0
                                        Так самый простой просмотрщик картинок весит в разы больше, чем самый сложный вирус. Такой вирус может и во вложение к письму не влезть)
                                        • 0
                                          1. Вирусы стараются зашифровать как можно больше важных файлов и за минимальное время. Именно поэтому они шифруют не все, а только определенный набор расширений.
                                            Чтобы не испортить систему достаточно исключить системные пути.


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

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

                                          • 0

                                            Согласен, это может произойти. Над быть к этому готовым.

                                          • 0
                                            Библиотека libmagic.so у меня в линуксе весит аж целых 146KB, причем она умеет определять огромное количество форматов. Уверен что для целевых файлов вируса такой libmagic будет занимать на порядок меньше.
                                            • 0
                                              Посмотрим применят ли разработчики вирусов предложенное вами решение. Если применят, то как вариант — опциональное шифрование тел файлов в файловом архиве сервера. Возможно, с небольшим ущербом скорости доступа.
                                              • 0
                                                А сколько всего библиотек нужно установить на линукс, чтобы WannaCry заработал?)
                                                • 0
                                                  Понятно, что WannaCry не работает под Linux, зато libmagic вполне себе кроссплатформенная штука. Я это всё к тому, что очевидно единственный способ надежно спасти файлы это держать бэкапы на удалённой системе, версионирование которой не даст вирусу возможности удалить файлы, даже если произойдет бэкап после шифрования. Спасение файлов на локальной системе это security by obscurity в любом случае.
                                                  • 0

                                                    Согласен, security by obscurity здесь присутствует. Ни в коем случае не пытаюсь представить описанный эксперимент как пример надежной защиты. Скорее побочный эффект от технического решения в конкретной системе и принципа работы известных на данный момент криптовирусов. Надеюсь кому-то пригодится с точки зрения понимания работы как первого так и второго, а кому-то и данные спасти.

                                  • +1
                                    Резервные копии хранятся на той же системе, но в файлах с расширением не знакомым для вируса?
                                    Странное решение, возьмут и добавят это расширение в код вируса. По сути это аналог других программ для бэкапа только с меньшими возможностями.
                                    • 0
                                      Это не бэкап. Это PDM-система.
                                      • +1
                                        «но в файлах с расширением не знакомым для вируса?»
                                        >
                                        В файлах без расширений. Для вирусов это файлы вида «8352986c-a3e8-44bd-a8d0-0ab002553362»
                                        • 0
                                          Функция бэкапа в данном случае не более чем приятная возможность. Основная функция программы — это согласование документов и их последующее хранение.
                                        • +1
                                          Передавайте привет Седову Вячеславу Ивановичу! (Честно говоря, это «замазывание» своей функции не выполняет)
                                          • 0
                                            Да просто всё лишнее слегка замазано)
                                          • 0
                                            А зачем на скринах такой странный блюр? Через него всё читается успешно даже глазами без особого напряга, это какие-то секретные данные?
                                            • +1
                                              Данные не секретные, в эксперименте заражалась тестовая база. Но при публикации скрины прошли стандартный процесс подготовки :)
                                            • 0

                                              В целом, можно характеризовать как "храните свои данные в облаке с "корзиной" для удаленных файлов",

                                              • +1
                                                В статье описаны результаты реального эксперимента, с заражением как клиентской системы, так и серверной. Это не облачный случай :)
                                                • 0

                                                  Чем описанное решение в статье отличается, от, например приватного облака с шифрованным разделом? (Например, seafile).

                                                  • 0
                                                    Это PDM-система. Её основная функция — это хранение и согласование документов. Задания можно выдавать, планы составлять и т.п.
                                                    • 0
                                                      Я не тестировал Seafile совместно с шифрованным разделом. На что нужно обратить внимание?
                                                • 0

                                                  Скажите пожалуйста, это у меня одного проблема с неподписанными драйверами подключаемого хранилища на вин 10? Тикет вроде давно заводил, но никаких исправлений не видно. А потестировать ваш пдм хотелось бы

                                                  • +1
                                                    Добрый день! Мы в курсе проблемы, ждем фикса от разработчика драйвера, использующегося в нашей системе. Обойти проблему на данный момент можно отключив опцию Secure Boot в BIOS.
                                                  • 0
                                                    Хотите расшифровать файлы читайте здесь: Расшифровать файлы после WannaCry
                                                    • 0
                                                      Вариант есть

                                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                      Самое читаемое