Система и способ модифицирования ограниченной среды исполнения для запуска, исполнения и проверки приложения на наличие вредоносного кода

Изобретение относится к области информационной безопасности, а более конкретно к системам и способам модифицирования сред исполнения приложений. Изобретение предназначено для формирования или модификации ограниченных сред исполнения приложений. Технический результат заключается в обеспечении выполнения проверки приложения, работающего в модифицированной ограниченной среде исполнения, на наличие вредоносного кода. Технический результат достигается путем формирования и модификации среды исполнения в соответствии с ограничениями. 2 н. и 16 з.п. ф-лы, 3 ил.

 

Область техники

Изобретение относится к области информационной безопасности, а более конкретно к системе и способам модифицирования сред исполнения приложений.

Уровень техники

Бурное развитие компьютерных технологий в последнее десятилетие и широкое распространение компьютерных систем (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для выполнения огромного количества задач (от интернет-серфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества компьютерных систем и программного обеспечения быстрыми темпами растет и количество вредоносных программ.

В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы и т.д.). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet), которые используют для организации атак на стороннюю компьютерную систему, целью которых является доведение до отказа в обслуживании (англ. DDoS − Distributed Denial of Service) или перебор паролей методом грубой силы (англ. brute force). Третьи предлагают пользователям платный контент через навязчивую рекламу, отправку SMS-сообщений на платные номера и т.д.

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

Песочница (англ. sandbox) – специально выделенная среда для безопасного исполнения компьютерных программ (эмуляции). Обычно она представляет собой жестко контролируемый набор ресурсов для исполнения анализируемого приложения, например, место на диске или в памяти. Доступ к сети, возможность взаимодействовать с главной операционной системой или считывать информацию с устройств ввода обычно либо частично эмулируют, либо сильно ограничивают. Возникает проблема, связанная с подбором среды эмуляции, поскольку не все выделенные среды для исполнения компьютерных программ позволяют запускать то или иное приложение. Помимо этого, возникают трудности эмулировать именно те ресурсы, которые необходимы для полного и безопасного анализа приложения.

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

Раскрытие изобретения

Изобретение относится к области информационной безопасности, а более конкретно к системам и способам модифицирования сред исполнения приложений.

Изобретение предназначено для формирования или модификации ограниченных сред исполнения приложений.

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

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

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

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

В другом варианте реализации системы средство подготовки выполняет формирование ограниченной среды исполнения для запуска выявленного приложения путем выявления условий для запуска приложения.

Еще в одном варианте реализации системы средство подготовки выполняет формирование ограниченной среды исполнения для запуска выявленного приложения путем формирования набора ограничений на основании выявленных условий для запуска приложений с использованием правил формирования ограничений.

В другом варианте реализации системы средство подготовки выполняет формирование ограниченной среды исполнения для запуска выявленного приложения путем формирования ограниченной среды исполнения на основании сформированного набора ограничений.

Еще в одном варианте реализации системы средство модификации выполняет модификацию сформированной ограниченной среды исполнения при выявлении некорректного исполнения приложения путем выявления условий корректного исполнения выявленного приложения.

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

Еще в одном варианте реализации системы средство модификации выполняет модификацию сформированной ограниченной среды исполнения при выявлении некорректного исполнения приложения путем модифицирования ограниченной среды исполнения на основании модифицированного набора ограничений.

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

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

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

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

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

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

Еще в одном варианте реализации способа модифицируют сформированную ограниченную среду исполнения при выявлении некорректного исполнения приложения путем выявления условий корректного исполнения выявленного приложения.

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

Еще в одном варианте реализации способа модифицируют сформированную ограниченную среду исполнения при выявлении некорректного исполнения приложения путем формирования ограниченной среды исполнения на основании модифицированного набора ограничений.

Краткое описание чертежей

Фиг. 1 иллюстрирует структуру системы модифицирования ограниченной среды исполнения для запуска, исполнения и проверки приложения на наличие вредоносного кода.

Фиг. 2 иллюстрирует способ модифицирования ограниченной среды исполнения для запуска, исполнения и проверки приложения на наличие вредоносного кода.

Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.

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

Описание вариантов осуществления изобретения

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

Эмуляция – (англ. emulation) точное выполнение вычислительной машиной программы или ее части, записанной в системе команд другой ЭВМ. При этом на обоих вычислительных машинах при одинаковых входных данных результаты должны быть одинаковыми. Эмуляция осуществляется с помощью эмуляторов – специальных программ или микросхем, выполняющих каждую команду исходной программы посредством одной или нескольких команд машины, на которой происходит эмуляция. (Дорот В. Л., Новиков Ф. А. Толковый словарь современной компьютерной лексики. -3-е изд., перераб. и доп. -СПб.: БХВ-Петербург, 2004. - 608 с.)

Эмуляторы обеспечивают некоторый уровень совместимости для трансляции системных вызовов эмулируемой системы в вызовы работающей системы. Обычно эмулятор состоит из нескольких модулей, отвечающих за различные подсистемы эмулируемого компьютера. Чаще всего эмулятор состоит из:

– эмулятора или симулятора центрального процессора;

– модуля подсистемы памяти, эмулирующего ОЗУ и ПЗУ;

– модуля или модулей эмуляции различных устройств ввода/вывода.

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

Виртуализа́ция – (англ. virtualization) предоставление набора вычислительных ресурсов или их логического объединения, абстрагированное от аппаратной реализации и обеспечивающее при этом логическую изоляцию вычислительных процессов, выполняемых на одном физическом ресурсе. Виртуализация – это метод сокрытия физических характеристик компьютерных ресурсов от тех приемов, которыми другие системы, приложения или пользователи используют эти ресурсы. Существуют две основные версии этого метода, одна предполагает разделение какого-то единого физического ресурса (сервер, операционная система, приложение или система хранения данных) на множество логических, вторая обратная – множество физических ресурсов интегрируется в один логический. В общем случае виртуализация означает процесс, в котором один компьютер представлен пользователю виртуализированной операционной системы другим компьютером или же, когда один компьютер представляется как несколько компьютеров со своей ОС на каждом (http://shgpi.edu.ru/files/nauka/vestnik/2015/2015-1-25.pdf (дата обращения: 06.06.2021)).

Ограниченная среда исполнения (песочница) – (англ. isolated execution environment (sandbox)) специально выделенная среда для безопасного исполнения компьютерных программ, которая представляет собой жестко контролируемый набор ресурсов для исполнения, например место на диске или в памяти, доступ к сети, возможность взаимодействовать с главной операционной системой или считывать информацию с устройств ввода и т.д. (https://engineering.pnzgu.ru/files/engineering.pnzgu.ru/iit_2019_vol_4_1_12(3).pdf (дата обращения: 06.06.2021)). Создание и реализацию ограниченной среды исполнения осуществляют с использованием методов эмуляции и виртуализации.

Обфускация - запутанной (англ. obfuscated) называется программа, которая на всех допустимых для исходной программы входных данных выдаёт тот же самый результат, что и оригинальная программа, но более трудна для анализа, понимания и модификации. Запутанная программа получается в результате применения к исходной незапутанной программе запутывающих преобразований (англ. obfuscating transformations) (А.В. Чернов. Интегрированная среда для исследования "обфускации" программ. Доклад на конференции, посвящённой 90-летию со дня рождения А.А. Ляпунова. Россия, Новосибирск, 8-11 октября 2001 года).

Одним из методов анализа приложений на наличие вредоносного кода является метод использования специально подготовленной ограниченной среды исполнения при запуске и выполнении анализируемого приложения. Упомянутая среда содержит инструменты и интерфейсы для отслеживания и анализа обращений приложения к ресурсам среды. По результатам анализа без нанесения реального ущерба пользовательским данным и ресурсам компьютерной системы определяют, является ли выполняемое приложение вредоносным. Процесс анализа обращений приложения к ресурсам среды разделяют на два этапа. Первый этап подразумевает обеспечение запуска приложения. На этом этапе извлекают и анализируют информацию, которая описывает условия, при выполнении которых анализируемое приложение способно запускаться. Второй этап подразумевает обеспечение корректного исполнения приложения. На этом этапе извлекают и анализируют информацию, которая описывает условия, при выполнении которых анализируемое приложение способно стабильно выполняться вплоть до его закрытия пользователем. Своевременное изменение параметров ограниченной среды исполнения позволяет обеспечить запуск и исполнение приложения при выполнении проверки на наличие вредоносного кода в ограниченной среде исполнения. Для этого используют систему модифицирования ограниченной среды исполнения для запуска, исполнения и проверки приложения на наличие вредоносного кода.

Фиг 1. иллюстрирует структуру системы модифицирования ограниченной среды исполнения для безопасного запуска приложения, которая включает в себя средство подготовки 120, средство модификации 130, средство проверки 140, базу данных правил 150.

Средство подготовки 120 предназначено для выявления приложения, для анализа которого необходимо использовать изолированную среду исполнения.

Существует множество приложений 110, проверка которых стандартными средствами антивирусной программы может быть пропущена, упрощена или невозможна в текущих условиях. Среди этого множества приложений средство подготовки 120 выбирает те приложения, для анализа которых необходимо использовать изолированную среду исполнения.

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

В другом варианте реализации средство подготовки 120 определяет степень обфускации приложения. Приложения, которые не имеют признаков обфукскации, в общем случае не нуждаются в проверке с использованием какой-либо среды исполнения. Приложения, которые имеют признаки обфускации, могут быть поделены на две группы: значительно обфусцированные (например, более 80 процентов) и незначительно обфусцированные (например, менее 20 процентов). Значительно обфусцированными чаще всего являются вредоносные приложения, которые созданы по похожему шаблону, но обфусцированы различными методами. Незначительно обфусцированными чаще всего являются вредоносные приложения, замаскированные под доверенные. Упомянутые приложения считают приложениями, для анализа которых необходимо использовать изолированную среду исполнения. Отмеченная необходимость связана с важностью запуска незначительно обфусцированного приложения с целью анализа, какой именно дополнительный функционал содержит обфусцированная часть.

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

Помимо этого, средство подготовки 120 предназначено для формирования ограниченной среды исполнения для запуска выявленного приложения при помощи правил формирования ограничений.

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

• Наличие функции из подключаемой библиотеки 1 в таблицах импорта.

• Наличие параметра командной строки 1. Каждое запускаемое приложение может получить список строк, которые формирует пользователь или запускающее приложение (путь_к_файлу_приложения: парамерт1 параметр2 и т.д.)

• Наличие значения времени или временного пояса. Если время находится в нужном диапазоне, то приложение исполняется. Возможна проверка локализации системы, приложение может быть запущено только в определенных странах.

• Наличие файла 1. Запускаемое приложение может проверять наличие файла 1 в каталоге приложения или любом каталоге системы.

• Наличие объема памяти ОЗУ 1. Запускаемое приложение проверяет наличие определенного объема оперативной памяти в операционной системе.

• Наличие объема памяти 1 ПЗУ. Запускаемое приложение проверяет наличие определенного объема памяти на жестком диске путем записи или создания файла большого размера.

• Наличие драйвера устройства 1 (наименование, серийный номер). Запускаемое приложение проверяет наличие установленного устройства, например видеопроцессора для добычи криптовалюты и т.д.

Далее средство подготовки 120 выполняет формирование набора ограничений для среды исполнения, достаточного для запуска приложения на основании выявленных условий с использованием правил формирования ограничений из базы данных правил 150. Набор ограничений содержит настройки среды исполнения, наличие которых достаточно для запуска приложения.

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

В соответствии с правилом формирования ограничений условие для запуска выявленного приложения - «наличие подключаемой библиотеки 1 в таблицах импорта», будет реализовано в виде ограничения - «наличие библиотеки 1 и связанной с ней библиотек 2, 3, но не более, при этом доступ к библиотеке 1 будет предоставлен через промежуточный агент или средство». Соответственно в ограниченной среде исполнения будет внедрено это ограничение. Средство подготовки 120 с использованием правил формирования ограничений обрабатывает каждое условие для запуска и формирует набор ограничений. С использованием сформированного набора ограничений средство подготовки 120 формирует ограниченную среду исполнения.

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

Еще в одном варианте реализации средство подготовки 120 выполняет формирование ограниченной среды исполнения путем поиска наиболее подходящих сред исполнения и доработки их ограничений в соответствии со сформированным набором ограничений. Например, когда в наиболее подходящей среде исполнения внедрено два из трех ограничений.

Помимо этого, средство подготовки 120 предназначено для передачи данных о выявленном приложении и сформированной ограниченной среде исполнения средству модификации 130. Средство модификации 130 предназначено для выполнения запуска приложения в сформированной ограниченной среде исполнения c целью дальнейшей модификации указанной среды.

После того, как приложение корректно запущено в ограниченной среде исполнения, оно переходит в состояние исполнения. В упомянутом состоянии приложение может запросить дополнительные ресурсы, данные, файлы, сервисы или устройства. Нередко возникают случаи, когда реализации выявленных на предыдущих этапах условий для запуска приложения недостаточно для корректного исполнения выявленного приложения. В этом случае приложение может завершить работу с ошибкой, перестать отвечать системе, начать самопроизвольно перезапускаться и т.д. Средство модификации 130 выявляет условия корректного исполнения приложения после запуска путем анализа активности приложения, его параметров и используемых ресурсов в текущей ограниченной среде исполнения, например при помощи метода обратной разработки (англ. reverse engineering). Под условиями корректного исполнения понимают такие ресурсы или параметры приложения, необходимость в которых возникла после запуска приложения в предоставленной среде исполнения. Примером упомянутых условий являются следующие данные:

• Наличие параметра или строки реестра операционной системы 1. Запущенное приложение может проверять наличие строк в реестре в операционной системе или иной источник в виде лога, содержащий список настроек. Проверяется наличие и содержимое заранее определенных файлов и ключей реестра. Если их содержимое не устраивает приложение, то исполнение прекращается.

• Наличие доступа к сетевому ресурсу 1. Запущенное приложение может проверять наличие доступа к сетевому ресурсу. Если его содержимое или полученный ответ на запрос не устраивает приложение, то исполнение прекращается.

• Наличие дополнительного периода времени для исполнения 1. Запущенное приложение может не проявлять признаков активности вплоть до истечения определенного периода времени.

• Наличие выполненного пользовательского действия 1. Запущенное приложение может не проявлять признаков активности вплоть выполнения пользователем действия или последовательности действий.

Далее, средство модификации 130 предназначено для модификации сформированной ограниченной среды исполнения при выявлении некорректного исполнения приложения. Средство модификации 130 модифицирует набор ограничений путем обработки каждого условия корректного исполнения приложения при помощи правил формирования ограничений из базы данных правил 150. Например, в соответствии с правилом формирования ограничений условие корректного исполнения приложений - «наличие доступа к сетевому ресурсу 1», будет реализовано в виде ограничения - «наличие сетевой карты 1 и установленного драйвера, наличие сервиса ОС, который может обеспечить возможность обращения к сетевым ресурсам, наличие удаленного сервера, имитирующего сетевой ресурс 1, но не более, при этом доступ к сетевому ресурсу 1 будет предоставлен через промежуточный агент или средство». Соответственно в ограниченной среде исполнения будет внедрено это ограничение.

После этого средство модификации 130 выполняет модификацию ограниченной среды исполнения на основании модифицированного набора ограничений и запускает приложение, но уже в модифицированной ограниченной среде исполнения.

Помимо этого, средство модификации 130 предназначено для передачи данных о выявленном приложении и модифицированной ограниченной среде исполнения средству проверки 140.

Средство проверки 140 предназначено для выполнения проверки приложения, которое исполняется в модифицированной ограниченной среде исполнения, на наличие вредоносного кода. Для упомянутой проверки может быть использована антивирусная программа или отдельные ее модули.

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

База данных правил 150 предназначена для хранения правил формирования ограничений. Для хранения и обработки данных могут быть использованы различные виды баз данных, а именно: иерархические (IMS, TDMS, System 2000), сетевые (Cerebrum, Сronospro, DBVist), реляционные (DB2, Informix, Microsoft SQL Server), объектно-ориентированные (Jasmine, Versant, POET), объектно-реляционные (Oracle Database, PostgreSQL, FirstSQL/J, функциональные и т.д. Правила могут быть созданы при помощи алгоритмов машинного обучения и автоматизированной обработки больших массивов данных.

Фиг. 2 иллюстрирует способ изменения правила обнаружения вредоносного кода.

На этапе 211 средство подготовки 120 выполняет выявление приложения, для анализа которого необходимо использовать изолированную среду исполнения.

На этапе 212 средство подготовки 120 выполняет формирование ограниченной среды исполнения для запуска выявленного приложения при помощи правил формирования ограничений из базы данных правил 150 и передает данные о выявленном приложении и сформированной ограниченной среде средству модификации 130.

На этапе 213 средство модификации 130 выполняет запуск приложения в сформированной ограниченной среде исполнения. На этапе 214 средство модификации 130 осуществляет проверку того, корректно ли происходит исполнение приложения после запуска в сформированной ограниченной среде исполнения.

При обнаружении некорректного исполнения приложения на этапе 215 средство модификации 130 останавливает исполнение приложения и модифицирует ограниченную среду исполнения при помощи правил формирования ограничений из базы данных правил 150, после чего возвращается к этапу 213.

При корректном исполнении приложения средство модификации 130 передает данные о приложении и модифицированной ограниченной среде исполнения средству проверки 140. На этапе 216 средство проверки 140 осуществляет проверку приложения, которое исполняется в модифицированной ограниченной среде исполнения, на наличие вредоносного кода. После этого система завершает работу.

Фиг. 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. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.

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

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

средство подготовки, предназначенное для:

выявления приложения, для анализа которого необходимо использовать изолированную среду исполнения,

формирования ограниченной среды исполнения для запуска выявленного приложения при помощи правил формирования ограничений,

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

средство модификации, предназначенное для:

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

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

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

средство проверки, предназначенное для выполнения проверки приложения, которое исполняется в модифицированной ограниченной среде исполнения, на наличие вредоносного кода;

базу данных правил, предназначенную для хранения правил формирования ограничений.

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

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

4. Система по п. 1, в которой средство подготовки выполняет формирование ограниченной среды исполнения для запуска выявленного приложения путем выявления условий для запуска приложения.

5. Система по п. 4, в которой средство подготовки выполняет формирование ограниченной среды исполнения для запуска выявленного приложения путем формирования набора ограничений на основании выявленных условий для запуска приложений с использованием правил формирования ограничений.

6. Система по п. 5, в которой средство подготовки выполняет формирование ограниченной среды исполнения для запуска выявленного приложения путем формирования ограниченной среды исполнения на основании сформированного набора ограничений.

7. Система по п. 1, в которой средство модификации выполняет модификацию сформированной ограниченной среды исполнения при выявлении некорректного исполнения приложения путем выявления условий корректного исполнения выявленного приложения.

8. Система по п. 7, в которой средство модификации выполняет модификацию сформированной ограниченной среды исполнения при выявлении некорректного исполнения приложения путем модификации сформированного набора ограничений на основании выявленных условий корректного исполнения выявленного приложения и правил формирования ограничений.

9. Система по п. 8, в которой средство модификации выполняет модификацию сформированной ограниченной среды исполнения при выявлении некорректного исполнения приложения путем модифицирования ограниченной среды исполнения на основании модифицированного набора ограничений.

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

выявляют приложение, для анализа которого необходимо использовать изолированную среду исполнения;

формируют ограниченную среду исполнения для запуска выявленного приложения при помощи правил формирования ограничений из базы данных правил;

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

при выявлении некорректного исполнения приложения модифицируют сформированную ограниченную среду исполнения при помощи правил формирования ограничений из базы данных правил;

выполняют проверку приложения, которое исполняется в модифицированной ограниченной среде исполнения, на наличие вредоносного кода.

11. Способ по п. 10, в котором приложением, для анализа которого необходимо использовать изолированную среду, является приложение, часть которого зашифрована и над которым выполнена проверка наличия вредоносного кода.

12. Способ по п. 10, в котором приложением, для анализа которого необходимо использовать изолированную среду, является приложение, часть которого обфусцирована и над которым выполнена проверка наличия вредоносного кода.

13. Способ по п. 10, в котором формируют ограниченную среду исполнения для запуска выявленного приложения путем выявления условий для запуска приложения.

14. Способ по п. 13, в котором формируют ограниченную среду исполнения для запуска выявленного приложения путем формирования набора ограничений на основании выявленных условий для запуска приложений с использованием правил формирования ограничений.

15. Способ по п. 14, в котором формируют ограниченную среду исполнения для запуска выявленного приложения путем формирования ограниченной среды исполнения на основании сформированного набора ограничений.

16. Способ по п. 10, в котором модифицируют сформированную ограниченную среду исполнения при выявлении некорректного исполнения приложения путем выявления условий корректного исполнения выявленного приложения.

17. Способ по п. 16, в котором модифицируют сформированную ограниченную среду исполнения при выявлении некорректного исполнения приложения путем модификации сформированного набора ограничений на основании выявленных условий корректного исполнения выявленного приложения и правил формирования ограничений.

18. Способ по п. 17, в котором модифицируют сформированную ограниченную среду исполнения при выявлении некорректного исполнения приложения путем формирования ограниченной среды исполнения на основании модифицированного набора ограничений.



 

Похожие патенты:

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

Настоящее техническое решение относится к области вычислительной техники. Технический результат заключается в повышении устойчивости аппаратной неисправности в распределенной базе данных (БД).

Изобретение относится к способу получения доступа к медицинским документам пациента, находящимся в облачном хранилище. Технический результат заключается в обеспечении безопасного доступа к медицинским документам пациента.

Изобретение относится к области вычислительной техники. Техническим результатом является повышение уровня безопасности объекта управления.

Изобретение относится к системам и способам управления оповещениями об изменении объектов из базы данных. Технический результат заключается в обеспечении эффективности управления оповещениями, а также скорости отправки оповещений системе.

Изобретение относится к области вычислительной техники. Техническим результатом является обеспечение автоматизированной проверки архитектуры программно-аппаратного решения.

Изобретение относится к системе учета и выдачи брелока ключа от транспортного средства. Технический результат заключается в обеспечении возможности учета и выдачи брелока ключа от транспортного средства с одновременной возможностью идентификации пользователя посредством верификации его биометрических данных и/или магнитной карты пользователя для последующей выдачи брелока ключа.

Изобретение относится к управлению базами данных. Технический результат заключается в обеспечении возможности синхронизации баз данных между двумя пунктами с использованием транспортного протокола.

Изобретение относится к системам помощи при вождении. Технический результат заключается в автоматизации помощи при вождении по круговой проезжей части.

Изобретение относится к вычислительной технике и, более конкретно, к системам и способам реализации обмена информацией между двумя или более мобильными вычислительными устройствами и/или другими вычислительными системами. Технический результат – повышение эффективности оперативного обмена финансовой информацией между устройствами.
Наверх