Система и способ восстановления модифицированных данных
SYSTEM AND METHOD OF MODIFIED DATA RECOVERY

Область техники
Изобретение относится к антивирусным технологиям, а более конкретно к системам и способам восстановления данных, модифицированных вредоносными программами.
Уровень техники
Бурное развитие компьютерных технологий в последние годы, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования этих устройств в разнообразных сферах деятельности и для огромного количества задач (от обработки и хранения личных фотографий до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и программного обеспечения (ПО), работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ.
В настоящий момент существует огромное количество разновидностей вредоносных приложений, и подавляющее их большинство предназначено для принесения прибыли своим создателям. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы и т.д.). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для атак (таких как DDOS или brute-force) на другие компьютеры или компьютерные сети. Третьи предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку CMC на платные номера и т.д.
Еще одной разновидностью вредоносных программ являются программы-вымогатели (англ. ransoms). После проникновения на устройства пользователей они нарушают их работоспособность (например, блокируя устройства ввода, повреждая данные, ограничивая доступ к элементам интерфейса и т.д.), после чего требуют оплаты за возможность устранения негативных последствий своей работы. Наиболее опасными из программ-вымогателей являются программы-шифровальщики (англ. cryptors). Их вредоносная деятельность заключается в повреждении данных, представляющих ценность для пользователей (например, баз данных, документов Microsoft Office, фотографий, видеороликов и т.п.). Повреждение данных происходит посредством их шифрования, переименования или сокрытия файлов.
Поскольку не только конфиденциальность данных, но и их целостность зачастую представляют большую ценность, защита данных является важной задачей. В качестве способов борьбы с описанной выше угрозой можно выделить своевременное выявление вредоносного приложения на устройстве пользователя с его последующей деактивацией, что позволяет защитить данные от несанкционированной модификации, а также регулярное создание резервных копий данных, что позволяет даже в случае несанкционированной модификации данных произвести их восстановление.
Например, в публикации US 20050267916 A1 описано резервное копирование и восстановление данных при достижении заранее установленных состояний операционной системы или данных, хранящихся в ней. Т.е. описана технология слежения за состоянием операционной системы, вынесения решения о необходимости резервного копирования или восстановления данных и способы осуществления восстановления зарезервированных ранее данных. Недостаток данной технологии заключается в том, что осуществляется резервирование всех данных, без их сортировки на модифицируемые и нет, а также без какой-либо оценки угрозы для модифицированных данных, что в свою очередь приводит к большому расходованию ресурсов компьютерной системы, таких как свободное место на жестких дисках, компьютерное время, требуемое для резервного копирования всего набора данных или загрузка процессора при выполнении операций резервного копирования и восстановления, что может привести к тому, что некоторые данные не смогут быть вовремя сохранены и будут модифицированы и потеряны (например, в случае когда для резервного копирования не осталось места из-за его чрезмерного расходования).
В другой публикации US 7716743 B2 описана работа антивирусного приложения с вредоносными файлами, а именно отслеживание, блокировка и перемещение вредоносных файлов в карантин, в случае, когда невозможно принять решение об их корректном удалении из системы. В данном случае идет обработка именно вредоносных файлов, а не файлов, которые вредоносными файлами были модифицированы, таким образом происходит защита компьютерной системы, но не данных, которые в этой компьютерной системе находятся и могли быть модифицированы заблокированным вредоносным приложением.
Хотя описанные выше способы работы хорошо справляются с задачами отслеживания файловой активности, резервного хранения данных пользователя и блокировки работы вредоносного ПО, они не помогают защитить легальные данные пользователя от модификации вредоносным ПО, поскольку не способны эффективно (т.е. вовремя, до того, как началась модификация данных) принять решение об их резервном копировании, или же, в случае успешного резервного копирования модифицируемых данных, не способны оценить уровень угрозы этим данным от модифицирующего их процесса, что в свою очередь ведет к значительной нагрузке на компьютерные ресурсы, такие как свободное место на жестком диске, процессорное время и т.д.
Настоящее изобретение позволяет решать задачу восстановления модифицированных вредоносными программами данных.
Раскрытие изобретения
Изобретение предназначено для защиты данных от несанкционированной модификации.
Технический результат настоящего изобретения заключается в повышении безопасности хранения данных за счет резервного копирования модифицируемых данных и последующего восстановления ранее модифицированных данных.
Данный результат достигается с помощью использования системы восстановления модифицированных данных, которая содержит средство отслеживания активности, предназначенное для перехвата запросов от процесса на модификацию данных, определения параметров процесса, запрос которого был перехвачен, определения параметров перехваченных запросов, передачи определенных параметров процесса средству обнаружения и параметров перехваченных запросов средству анализа; средство анализа, предназначенное для формирования и передачи средству резервирования запроса на резервное копирование в базу данных резервирования модифицируемых процессом данных на основании результатов анализа параметров перехваченных запросов при помощи правил; средство обнаружения, предназначенное для анализа полученных от средства отслеживания активности параметров процесса для определения уровня угрозы процесса целостности модифицируемых им данных, формирования и передачи средству резервирования запроса на восстановление из базы данных резервирования модифицированных процессом данных на основании результатов проведенного анализа, блокировки работы процесса на основании результатов проведенного анализа; средство резервирования, предназначенное для резервного копирования данных в базу данных резервирования по запросу средства анализа, восстановления из базы данных резервирования скопированных ранее данных по запросу средства анализа; базу данных резервирования, предназначенную для хранения копируемых средством резервирования данных.
В другом частном случае реализации системы в качестве модифицируемых данных выступают, по меньшей мере файлы, области памяти.
Еще в одном частном случае реализации системы в качестве запроса на модификацию данных выступает по меньшей мере API-функция операционной системы.
В другом частном случае реализации системы в качестве параметров процесса выступают по меньшей мере путь к приложению, запустившему процесс, описатель процесса, журнал операций, выполняемых процессом.
Еще в одном частном случае реализации системы в качестве параметров перехваченных запросов выступают по меньшей мере уникальный идентификатор данных, способ работы с данными, тип операций с данными, параметры модификации данных.
В другом частном случае реализации системы уровень угрозы процесса целостности модифицируемых им данных вычисляется по меньшей мере через анализ возможности безвозвратной потери модифицируемых процессом данных.
Еще в одном частном случае реализации системы блокировка работы процесса осуществляется по меньшей мере через удаление процесса из памяти, остановку выполнения процесса.
Способ восстановления модифицированных данных, в котором перехватывают от процесса по меньшей мере один запрос на модификацию данных; определяют параметры перехваченного запроса; выполняют резервное копирование данных в базу данных резервирования на основании определенных параметров перехваченных запросов; определяют параметры процесса, запрос которого был перехвачен; анализируют параметры процесса с целью определения уровня угрозы процесса для целостности модифицируемых им данных; блокируют работу процесса на основании результатов анализа параметров процесса, определяющего уровень угрозы процесса для целостности модифицируемых им данных, выполняют описанные выше этапы по меньшей мере до тех пор, пока работа процесса не будет заблокирована; выполняют восстановление из базы данных резервирования скопированных ранее данных.
В другом частном случае реализации способа в качестве модифицируемых данных выступают, по меньшей мере файлы, области памяти.
Еще в одном частном случае реализации способа в качестве запроса на модификацию данных выступает по меньшей мере API-функция операционной системы.
В другом частном случае реализации способа в качестве параметров процесса выступают по меньшей мере путь к приложению, запустившему процесс, описатель процесса, журнал операций, выполняемых процессом.
Еще в одном частном случае реализации способа в качестве параметров перехваченных запросов выступают по меньшей мере уникальный идентификатор данных, способ работы с данными, тип операций с данными, параметры модификации данных.
В другом частном случае реализации способа уровень угрозы процесса целостности модифицируемых им данных вычисляется по меньшей мере через анализ возможности безвозвратной потери модифицируемых процессом данных.
Еще в одном частном случае реализации способа блокировка работы процесса осуществляется по меньшей мере через удаление процесса из памяти, остановку выполнения процесса.
Краткое описание чертежей
Фиг. 1 представляет структурную схему системы восстановления модифицированных данных.
Фиг. 2 представляет структурную схему способа восстановления модифицированных данных.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено в приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Фиг. 1 представляет структурную схему системы восстановления модифицированных данных.
Система восстановления модифицированных данных состоит из средства хранения данных 110, средства отслеживания активности 120, средства анализа 130, средства резервирования 140, базы данных резервирования 150 и средства обнаружения 160.
Средство хранения данных 110 предназначено для получения данных от процесса, сохранения их и последующего предоставления их по требованию процесса.
В качестве средства хранения данных 110 могут выступать:
- файловый менеджер для работы с файловой системой;
- менеджер памяти для работы с оперативной памятью.
В качестве данных, предоставляемых средством хранения данных 110, могут выступать:
- файлы;
- области памяти.
Средство отслеживания активности 120 предназначено для перехвата от процесса средству хранения данных 110 запросов, отвечающих за модификацию хранящихся там данных, определение параметров процесса и передачи их средству обнаружения 160, а также определения параметров перехваченных запросов и передачи их средству анализа 130.
Перехват запросов от процесса средству хранения данных 110 может осуществляться через перехват API-функций (методами подмены адреса настоящей функции, непосредственного изменения функций (например, через сплайсинг, перехват в режиме ядра с модификацией тела функции), непосредственной подмены всего компонента приложения/системы).
В качестве запросов процесса к средству хранения данных 110 могут выступать:
- API-функции операционной системы (например, функции WinAPI для Microsoft Windows);
- функции ядра операционной системы.
В качестве параметров перехваченных запросов могут выступать:
- уникальный идентификатор данных (например, описатель файла или путь к файлу, адрес модифицируемой памяти и т.д.);
- способ работы с данными (например, чтение, перезапись, удаление данных и т.д.);
- тип операций с данными (например, запись буфера в область памяти, занимаемую данными, чтение заголовка файла и т.д.);
- параметры модификации данных (например, размеры и содержимое записываемого в область памяти буфера, новые права доступа к модифицируемому файлу и т.д.).
В качестве параметров процесса могут выступать:
- путь к приложению, запустившему процесс;
- описатель процесса;
- журнал операций, выполняемых процессом.
Средство анализа 130 предназначено для формирования и передачи средству резервирования 140 запроса на резервное копирование в базу данных резервирования 150 модифицируемых процессом данных на основании результатов анализа параметров, перехваченных средством отслеживания активности 120 данных запросов при помощи правил.
В качестве правил, используемых для анализа параметров перехваченных запросов, могут выступать:
- правило, определяющее необходимость дальнейшего резервного копирования данных по типу данных, на работу с которыми был направлен запрос, (например, если целостность данных важна для работы операционной системы, как в случае исполнимых файлов *.ехе, *.dll и т.п.) или для пользователя (как в случае баз данных, документов Microsoft Office, файлов почты, изображений и т.п.);
- правило, определяющее, может ли работа привести к модификации данных по способу работы с данными (например, открытие файла с правами на запись);
- правило, определяющее, могут ли операции привести к модификации данных по типу операций над данными (например, запись буфера данных в файл);
- правило, определяющее, будет ли произведена модификация данных, или данные не будут затронуты по записываемым данным (например, дозапись в файл видеопотока).
Средство резервирования 140 предназначено для резервного копирования данных из средства хранения данных 110 в базу данных резервирования 150 по запросу средства анализа 130 и восстановления данных из базы данных резервирования 150 в средство хранения данных 110 по запросу средства обнаружения 160.
База данных резервирования 150 предназначена для хранения переданных средством резервирования 140 данных и предоставления их средству резервирования 140.
Средство обнаружения 160 предназначено для анализа полученных от средства отслеживания активности 120 параметров процесса для определения уровня угрозы процесса целостности модифицируемых им данных при помощи правил, формирования и передачи средству резервирования 140 запроса на восстановление из базы данных резервирования 150 в средство хранения данных 110 модифицированных процессом данных на основании результатов проведенного анализа, блокировки работы процесса на основании результатов проведенного анализа.
В качестве правил определения уровня угрозы процесса целостности модифицируемым данным может выступать возможность безвозвратной потери модифицируемых процессом данных, а именно:
- шифрование данных без возможности их расшифровки (например, из-за невозможности получить необходимый ключ расшифровки);
- перезаписи данных, т.е. записи новых данных на старые без возможности восстановления последних;
- удаление данных.
Блокировка работы процесса может осуществляться через:
- удаление процесса из памяти;
- остановку выполнения процесса;
- добавление файла, запустившего процесс, в карантин.
Рассмотрим работу системы восстановления модифицированных данных на примере восстановления документов Microsoft Office («*.docx», «*.xlsx» и т.д.) после того, как они были зашифрованы программой-шифровальщиком. Программа-шифровальщик представляет собой вредоносное ПО, шифрующее файлы пользователя, такие как базы данных, документы Microsoft Office, фотографии, видео и прочие, и предлагающее пользователю возможность их расшифровки с помощью специальной платной программы-дешифратора.
Программа-шифровальщик производит поиск на жестких дисках зараженного компьютера файлов Microsoft Office, после чего шифрует их и переименовывает (например, меняет расширения *.docx на *.docx_crypted для того, чтобы впоследствии находить и расшифровывать только зашифрованные ранее файлы). Когда программа-шифровальщик обращается к средству хранения данных 110, в качестве которого выступает файловый менеджер операционной системы, с запросом на получение доступа к файлу документа Microsoft Office с целью внесения изменений, осуществляется вызов WinAPI-функций «::CreateFile», «::WriteFile» и «::MoveFile». Средство отслеживания активности 120 перехватывает эти запросы и определяет их параметры, т.е. уникальный идентификатор файла, к которому происходит обращение, какие операции собираются выполняться над файлом и т.п. Полученную информацию средство отслеживания активности 120 передает средству анализа 130. Также средство отслеживания активности 120 перехватывает параметры процесса программы-шифровальщика, такие как идентификатор процесса, журнал операций, выполняемых процессом и т.д. и передает средству обнаружения 160.
Средство анализа 130 на основе полученных от средства отслеживания активности 120 параметров перехваченных запросов процесса к средству хранения данных 110 вычисляет следующие критерии:
- тип файла «*.docx» (один из файлов документа Microsoft Office), на работу с которым был направлен запрос;
- способ работы с файлом (запрос на открытие существующего файла через передачу флага «OPEN_EXISTING»);
- тип операций с файлом (запрос на возможность записи в файл через передачу флага «GENERIC_WRITE»);
- параметры модификации файла (перезапись всего файла новыми данными);
- новое имя файла (отличающееся от старого).
Далее средство анализа 130 проводит анализ вычисленных критериев на основании правил, определяющих необходимость выполнения резервного копирования данных:
- по типу файла, на работу с которым был направлен запрос, определяется необходимость его дальнейшей обработки, важна ли целостность файла для работы операционной системы (например, исполняемые файлы «*.ехе», «*.dll» и т.п.) или для пользователя (базы данных, документы Microsoft Office, файлы почты, фотографии и т.п.);
- по способу работы с файлом определяется, может ли работа с ним привести к его модификации (например, открытие существующего файла, но создание нового);
- по типу операций над файлом определяется, приведет ли работа с файлом к его модификации (например, открытие файла на запись, но открытие файла только на чтение);
- по записываемым данным определяется приведет ли это к модификации или данные будут не затронуты (например, при дозаписи к потоковому видеофайлу).
Если на вычисленных критериях сработало по меньшей мере одно из правил (например, по типу файла и по типу операции над этим файлом, т.е. в текущем примере, это означает, что программой-шифровальщиком будет произведена запись в документ Microsoft Office), то средство анализа 130 формирует и отправляет запрос средству резервирования 140 на резервное копирование документа Microsoft Office в базу данных резервирования 150.
Средство резервирования 140, получив запрос от средства анализа 130, осуществляет резервное копирование модифицируемого программой-шифровальщиком документа Microsoft Office из средства хранения данных 110 в базу данных резервирования 150.
Отслеживание файловой активности процесса программы-шифровальщика на этом не прекращается. По мере того как он обращается к новым документа Microsoft Office для внесения в них изменений средство отслеживания активности 120 передает новые параметры запросов процесса программы-шифровальщика средству анализа 130, а средство анализа 130 формирует и передает запросы средству резервирования 140 на резервное копирование модифицируемых документов Microsoft Office. Отслеживание файловой активности процесса программы-шифровальщика может продолжаться до тех пор, пока процесс программы-шифровальщика не будет заблокирован средством обнаружения 160.
Средство обнаружения 160 на основе полученных от средства отслеживания активности 120 параметров процесса программы-шифровальщика (такие как путь к приложению, запустившему процесс, описатель процесса, журнал операций, выполняемых процессом и т.д.), модифицирующего документ Microsoft Office, определяет уровень угрозы процесса целостности модифицируемого им документа. Уровень угрозы вычисляется через анализ возможности безвозвратной потери содержимого модифицируемого документа Microsoft Office. Например, файлы могут безвозвратно удаляться или переименовываться, у файлов могут меняться атрибуты и права, содержимое файлов может шифроваться без возможности расшифровки на компьютере пользователя из-за отсутствия соответствующего ключа и т.д. Поскольку процесс, не являясь доверенным с точки зрения средства обнаружения 160 (например, системным файлом, подписанным доверенной цифровой подписью и т.п.), выполняет операции записи в файл и переименования файла, то такие действия признаются средством обнаружения 160, представляющим угрозу данным документа Microsoft Office. Кроме того, результаты анализа полученного журнала операций, выполненных процессом (многочисленные запросы на запись и переименование документов Microsoft Office в разных папках, включая временные), указывают на то, что программа-шифровальщик, запустившая анализируемый процесс, является вредоносной и несет потенциальный урон файлам пользователя.
После того, как средство обнаружения 160 вынесло вердикт о возможности безвозвратной потери содержимого модифицируемого анализируемым процессом документа Microsoft Office, средство обнаружения 160 блокирует работу этого процесса (например, удаляет процесс из памяти, останавливает выполнение процесса, добавляет процесс в карантин и т.д.), формирует и отправляет запрос средству резервирования 140 на восстановление из базы данных резервирования 150 в средство хранения данных 110 документов Microsoft Office, модифицированных заблокированным процессом.
Средство резервирования 140, получив запрос от средства обнаружения 150, осуществляет восстановление модифицированного программой-шифровальщиком документа Microsoft Office из базы данных резервирования 150 в средство хранения данных 110.
Таким образом все измененные программой-шифровальщиком документы Microsoft Office не пострадали.
Еще один пример системы восстановления модифицированных данных - восстановления процесса Internet Explorer после того, как он был модифицирован программой-инжектором (injector). Программа-инжектор представляет собой вредоносное ПО, внедряющее свои данные (например, код для исполнения или ресурсы, такие как изображения, для замены исходных ресурсов) в области памяти работающих в системе процессов.
Программа-инжектор производит поиск процесса Internet Explorer, после чего внедряет свои данные, представляющие собой изображения рекламных баннеров, в память найденного процесса, заменяя ими исходные изображения, отображаемые в браузере Internet Explorer (например, элементы графического интерфейса, такие как иконки или изображения, содержащиеся в отображаемых страницах). Когда программа-инжектор обращается к средству хранения данных 110, в качестве которого выступает менеджер памяти операционной системы, с запросом на получение доступа к области памяти Internet Explorer с целью внесения изменений, осуществляется вызов WinAPI-функций «::VirtualAllocEx» и «::WriteProcessMemory». Средство отслеживания активности 120 перехватывает эти запросы и определяет их параметры, т.е. к какой области памяти происходит обращение, какие операции собираются выполняться над памятью и т.п. Определенные параметры средство отслеживания активности 120 передает средству анализа 130. Также средство отслеживания активности 120 перехватывает параметры процесса программы-инжектора, такие как идентификатор процесса, журнал операций, выполняемых процессом и т.д. и передает их средству обнаружения 160.
Средство анализа 130 на основе полученных от средства отслеживания активности 120 параметров перехваченных запросов процесса к средству хранения данных 110 вычисляет следующие критерии:
- кому принадлежит запрашиваемая область памяти (в текущем примере Internet Explorer), на работу с которой был направлен запрос;
- способ работы с памятью (запрос на возможность записи в память через передачу флагов «MEM_COMMIT», «MEM_RESERVE», «PAGE_EXECUTE_READWRITE»);
- параметры модификации памяти (адрес памяти, по которому будет произведена запись, адрес памяти, откуда будет произведена запись, размер данных, которые будут записаны и т.д.).
Далее средство анализа 130 проводит анализ вычисленных критериев на основании правил, определяющих необходимость выполнения резервного копирования данных:
- по типу процесса, на доступ к памяти которого был направлен запрос, определяется необходимость его дальнейшей обработки, важна ли целостность файла для работы операционной системы (например, приложение операционной системы и т.п.);
- по способу работы с памятью определяется, может ли работа привести к модификации данных;
- по типу операций с памятью определяется, приведет ли работа с памятью к ее модификации;
- по записываемым данным определяется, приведет ли это к модификации данных в памяти процесса, или данные будут не затронуты.
Если на вычисленных критериях сработало по меньшей мере одно из правил (например, по типу процесса и по типу операции над этим процессом, т.е. в текущем примере, это означает, что программой-инжектором будет произведена запись в память процесса Internet Explorer), то средство анализа 130 формирует и отправляет запрос средству резервирования 140 на резервное копирование выбранного участка памяти процесса Internet Explorer в базу данных резервирования 150.
Средство резервирования 140, получив запрос от средства анализа 130, осуществляет резервное копирование модифицируемой программой-инжектором области памяти процесса Internet Explorer из средства хранения данных 110 в базу данных резервирования 150.
Средство обнаружения 160 на основе полученных от средства отслеживания активности 120 параметров процесса программы-инжектора (такие как путь к приложению, запустившему процесс, описатель процесса, журнал операций, выполняемых процессом и т.д.), модифицирующего область памяти Internet Explorer, определяет уровень угрозы процесса целостности данным, расположенным в модифицируемой им области памяти. Уровень угрозы вычисляется через анализ возможности безвозвратной потери содержимого модифицируемой области памяти процесса Internet Explorer. Поскольку процесс выполняет операции записи в область памяти другого процесса, такие действия признаются средством обнаружения 160, представляющим угрозу данным процесса Internet Explorer. Кроме того, результаты анализа полученного журнала операций, выполненных процессом (многочисленные запросы на запись в чужие процессы), указывают на то, что программа-инжектор, запустившая анализируемый процесс, является вредоносной и несет потенциальный урон данным пользователя.
После того, как средство обнаружения 160 вынесло вердикт о возможности безвозвратной потери данных, расположенных в модифицируемой анализируемым процессом области, средство обнаружения 160 блокирует работу этого процесса (например, удаляет процесс из памяти, останавливает выполнение процесса, добавляет процесс в карантин и т.д.), формирует и отправляет запрос средству резервирования 140 на восстановление из базы данных резервирования 150 в средство хранения данных 110 данных процесса Internet Explorer, модифицированных заблокированным процессом.
Средство резервирования 140, получив запрос от средства обнаружения 150, осуществляет восстановление модифицируемых программой-инжектором данных из базы данных резервирования 150 в средство хранения данных 110.
Таким образом модифицированный программой-инжектором документы процесс Internet Explorer не пострадал.
Фиг.2 представляет пример структурной схемы способа восстановления модифицированных данных.
Способ восстановления модифицированных данных содержит этапы: перехват запросов на модификацию данных 210, определение параметров перехваченных запросов 220, выполнение резервного копирования данных 230, определение параметров процесса 240, анализ параметров процесса 250, блокировка работы процесса 260 и выполнение восстановления данных 270.
На этапе 210 осуществляется перехват от процесса по меньшей мере одного запроса на модификацию данных.
В качестве данных, на модификацию которых был перехвачен запрос, могут выступать:
- файлы;
- области памяти.
В качестве запросов процесса на модификацию данных могут выступать:
- API-функции операционной системы, в частности, функции WinAPI для Microsoft Windows;
- функции ядра операционной системы.
На этапе 220 осуществляется определение параметров перехваченных запросов.
В качестве параметров перехваченных запросов могут выступать:
- уникальный идентификатор данных;
- способ работы с данными;
- тип операцией с данными;
- параметры модификации данных.
На этапе 230 выполняется резервное копирование данных в базу данных резервирования 150 в результате анализа определенных параметров перехваченных запросов.
Анализ параметров перехваченных запросов осуществляется в определении возможности модификации данных (например, открытие файла с правами на запись, вызов функций, осуществляющих удаление файла и т.д.) и т.д.
На этапе 240 осуществляется определение параметров процесса, передавшего запрос на модификацию данных.
В качестве параметров процесса могут выступать:
- путь к приложению, запустившему процесс;
- описатель процесса;
- журнал операций, выполняемых процессом.
На этапе 250 выполняется анализ параметров процесса при помощи правил с целью определения уровня угрозы процесса для целостности модифицируемых им данных. Этапы 210-250 продолжают выполняться по меньшей мере до тех пор, пока работа процесса не будет заблокирована на этапе 260.
В качестве правил определения уровня угрозы процесса целостности модифицируемым данным может выступать возможность безвозвратной потери модифицируемых процессом данных, а именно:
- шифрование данных без возможности их расшифровки (например, из-за невозможности получить необходимый ключ расшифровки);
- перезаписи данных, т.е. записи новых данных на старые без возможности восстановления последних;
- удаление данных.
На этапе 260 осуществляется блокировка работы процесса на основании результатов проведенного на этапе 250 анализа.
Блокировка работы процесса может осуществляться через:
- удаление процесса из памяти;
- остановку выполнения процесса;
- добавление файла, запустившего процесс в карантин.
На этапе 270 осуществляется восстановление из базы данных резервирования 150 модифицированных процессом данных.
Рассмотрим работу способа восстановления модифицированных данных на примере восстановления файлов изображений («*.jpeg», «*.tiff» и т.д.) после того, как имена файлов были переименованы, а права на доступ к файлам были изменены программой-вымогателем. Программа-вымогатель представляет собой вредоносное ПО, ограничивающее доступ к файлам, таким как изображения, видео и прочим посредством их переименования, изменения расположения в файловой системе, смене прав доступа и т.д., и предлагающее пользователю возможность восстановления измененных файлов с помощью специальной платной программы.
Программа-вымогатель производит поиск на жестких дисках зараженного компьютера файлов изображений, после чего изменяет их расположение в файловой системе, а также изменяет права доступа, делая файлы недоступными для пользователей, не обладающих администраторскими правами. Когда программа-вымогатель посылает запрос на модификацию обрабатываемого файла изображения, состоящего из вызовов WinAPI-функций «::MoveFile» и «::SetNamedSecurityInfo», запрос перехватывается на этапе 210. После того, как запрос был перехвачен на этапе 220, осуществляется определение параметров запроса. В качестве параметров запроса, в данном случае, выступают старый и новый пути к файлу, тип файла (структура «SE_OBJECT_TYPE»), информация по безопасности (структура «SECURITY_INFORMATION») и т.д. Поскольку запросы направлены на изменения параметров файлов, то на этапе 230 принимается решение о резервном копировании изменяемых параметров в базу данных резервирования 150. На этапе 240 осуществляется определение параметров процесса, запущенного программой-вымогателем, таких как идентификатор процесса, журнал операций, выполняемых процессом и т.д. На этапе 250 выполняется анализ параметров процесса, запущенного программой-вымогателем. Поскольку процесс, не являясь доверенным с точки зрения средства обнаружения 160, осуществляющего этап 250 (например, системным файлом, подписанным доверенной цифровой подписью и т.п.), результаты анализа полученного журнала операций, выполненных процессом, таких как многочисленные запросы на изменения файлов изображений в разных папках, включая временные, указывают на то, что программа-вымогатель, запустившая анализируемый процесс, является вредоносной и несет потенциальный урон файлам пользователя (описанные выше действия характерны для вредоносных программ и не свойственны доверенным приложениям). После того, как программа-вымогатель была признана вредоносной, на этапе 260 осуществляется блокировка работы ее процесса. С этой целью процесс останавливается и удаляется из памяти, после чего файлы программы-вымогателя добавляются в карантин во избежание последующих повторных вызовов вредоносной программы. После чего на этапе 270 осуществляется восстановление измененных программой-вымогателем атрибутов файла и прав доступа.
Таким образом все измененные программой-вымогателем файлы изображений не пострадали.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш-карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.