RU2535175C2 - Система и способ обнаружения вредоносного программного обеспечения путем создания изолированной среды - Google Patents

Система и способ обнаружения вредоносного программного обеспечения путем создания изолированной среды Download PDF

Info

Publication number
RU2535175C2
RU2535175C2 RU2012156433/08A RU2012156433A RU2535175C2 RU 2535175 C2 RU2535175 C2 RU 2535175C2 RU 2012156433/08 A RU2012156433/08 A RU 2012156433/08A RU 2012156433 A RU2012156433 A RU 2012156433A RU 2535175 C2 RU2535175 C2 RU 2535175C2
Authority
RU
Russia
Prior art keywords
application
functions
modified
library
critical
Prior art date
Application number
RU2012156433/08A
Other languages
English (en)
Other versions
RU2012156433A (ru
Inventor
Виктор Владимирович Яблоков
Евгений Юрьевич Елисеев
Original Assignee
Закрытое акционерное общество "Лаборатория Касперского"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Закрытое акционерное общество "Лаборатория Касперского" filed Critical Закрытое акционерное общество "Лаборатория Касперского"
Priority to RU2012156433/08A priority Critical patent/RU2535175C2/ru
Priority to US14/039,476 priority patent/US9098697B2/en
Priority to EP13192835.0A priority patent/EP2750069B1/en
Publication of RU2012156433A publication Critical patent/RU2012156433A/ru
Application granted granted Critical
Publication of RU2535175C2 publication Critical patent/RU2535175C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Telephone Function (AREA)

Abstract

Изобретение относится к средствам обнаружения вредоносного программного обеспечения Технический результат заключается в повышении безопасности мобильных устройств. Модифицируют код исследуемого приложения путем замены вызова критических функций вызовом функций-обработчиков. Собирают информацию о вызываемых исследуемым модифицированным приложением критических функциях через функции-обработчики. Анализируют информацию на наличие поведения, характерного для вредоносного программного обеспечения. Обнаруживают вредоносное программное обеспечение на основании анализа. 2 н. и 5 з.п. ф-лы, 7 ил.

Description

Изобретение относится к системам и способам обнаружения вредоносного программного обеспечения путем помещения приложений в изолированную среду.
Уровень техники
В настоящее время число мобильных устройств растет, они проникли во все сферы жизни человека. Наиболее популярными из них являются: телефоны, смартфоны, ноутбуки, коммуникаторы, системы навигации. Мобильные устройства используются в качестве средств коммуникации, связи, для развлечений. Параллельно с развитием этих устройств развиваются и беспроводные средства связи, которые неотделимы от них. Передача данных от одного устройства к другому, обмен информацией - задачи, которые не вызывают затруднений даже у неопытного пользователя данных устройств.
Но развитие технологий несет с собой не только благо, но и создает ряд проблем. С одной стороны, развитие мобильных устройств и беспроводных средств связи упрощает общение людей, облегчает обмен информацией, стирает границы городов, государств, континентов. С другой стороны, такая свобода ставит перед специалистами в области информационной безопасности все новые и новые задачи, т.к. зачастую информация, которой обмениваются пользователи мобильных устройств, конфиденциальна и является государственной или коммерческой тайной. При простоте копирования, передачи и обмена вероятность утечки информации за пределы организации (умышленной или нет) велика, поэтому от подразделений, отвечающих за обеспечение информационной безопасности, все активнее требуется построение системы отслеживания и блокирования несанкционированных утечек информации. Также рост популярности мобильных платформ, на которых работают мобильные устройства, привлекает к ним внимание злоумышленников, которые преследуют различные цели - от желания пошутить или проявить себя до кражи конфиденциальной информации с целью последующего вымогательства и шантажа. Следствием этого является появление угроз (в том числе вредоносного программного обеспечения любого рода) для мобильных платформ, которые были характерны раньше исключительно для стационарных вычислительных машин. Также появляются новые угрозы исключительно для мобильных устройств, например, троянские программы, которые после установки на устройство скрытно отправляют CMC на платные номера или, используя службы геолокации, следят за передвижением пользователя.
Необходимо предпринимать меры, способные защитить пользователей мобильных устройств и организации от действий злоумышленников и своевременно обнаружить вредоносное программное обеспечение. И эти меры обнаружения перенесены со стационарных вычислительных машин на мобильные устройства. Самыми распространенными решениями для обнаружения вредоносного ПО на мобильных устройствах являются: обнаружение с использованием эвристических правил; обнаружение с использованием сигнатурного анализа (анализа на идентичность анализируемого кода образцам кода известных компьютерных угроз); обнаружение по хеш-сумме файла. Применение сигнатур хорошо подходит для обнаружения уже известных вредоносных программ, как и обнаружение по хеш-сумме файла, но в случае, если атакующий код будет модифицирован, данные решения окажутся бесполезными. Указанного недостатка лишен эвристический метод, но и он неэффективен при более глубокой модификации кода (например, путем обфускации), изменении алгоритма работы вредоносного кода, применении методов, препятствующих автоматическому анализу кода. Также возможно активно противодействовать вредоносному ПО (например, разграничивать права доступа приложений к ресурсам операционной системы). Так патентная заявка US 20100175104 описывает систему защиты на основе контроля групповых политик. После того как система осуществляет установку перехватчиков вызовов на системные вызовы API-функций, осуществляется контроль и проверка выполняемых приложением действий в соответствии с правилами политики.
Таким образом, используемые в настоящее время способы обнаружения вредоносного программного обеспечения на мобильных устройствах либо имеют ограниченную область применения, либо имеют недостатки, которые создают угрозу безопасности и в целом не обеспечивают надлежащей защиты.
Раскрытие изобретения
Изобретение относится к системам и способам обнаружения вредоносного программного обеспечения путем помещения приложений в изолированную среду (контейнеры).
Технический результат заключается в повышении безопасности мобильных устройств за счет обнаружении вредоносного программного обеспечения на устройствах путем анализа поведения кода приложений.
Способ обнаружения вредоносного программного обеспечения путем создания изолированной среды, в котором: модифицируют код приложения путем замены вызова критических функций вызовом функций-обработчиков; собирают информацию о вызываемых модифицированным приложением критических функциях через функции-обработчики; анализируют информацию, собранную через функции-обработчики на наличие поведения, характерного для вредоносного программного обеспечения; обнаруживают вредоносное программное обеспечение на основании анализа.
В частном случае к критическим функциям, вызываемым приложениями, относятся функции, вызов которых позволяет выявить поведение, характерное для вредоносного ПО.
В другом частном случае приложение, код которого модифицируют, является .dex файл приложения.
Система обнаружения вредоносного программного обеспечения путем создания изолированной среды содержит: приложение, которое предназначено для модификации исследуемого приложения; исследуемое приложение; библиотеку функций-обработчиков, предназначенную для сбора информации о вызываемых модифицированным приложением критических функциях; модуль анализа, предназначенный для анализа информации о вызываемых критических функциях, собранной библиотекой функций-обработчиков и обнаружения вредоносного ПО на основании анализа;
В частном случае реализации системы библиотека функций-обработчиков может выполнять функции модуля анализа.
В другом частном случае модуль анализа располагают на удаленном устройстве.
Краткое описание чертежей
Сопровождающие чертежи включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов изобретения.
Заявленное изобретение поясняется следующими чертежами, на которых:
Фиг.1 показывает взаимодействие приложения с операционной системой и оборудованием.
Фиг.2 показывает структуру мобильной операционной системы.
Фиг.3 показывает модифицированный вариант структуры мобильной операционной системы.
Фиг.4 показывает архитектуру мобильной операционной системы Android OS.
Фиг.5 показывает пример реализации частного случая системы обнаружения вредоносного программного обеспечения в коде приложений.
Фиг.6 показывает пример компьютерной системы общего назначения.
Описание изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.
Для обеспечения безопасности устройства необходимо осуществлять контроль над всеми данными, передающимися с устройства, отслеживать данные, попадающие на устройство, отслеживать события на устройствах и данные, с которыми эти устройства работают. Любое мобильное устройство, как правило, находится под управлением мобильной операционной системой (далее ОС), самыми популярными мобильными ОС являются: Google Android, Apple iOS, Symbian, BlackBerryOS, WindowsPhone и т.д. Приложения, устанавливаемые на устройства, осуществляют доступ к ресурсам мобильного устройства и к коммуникационным портам через интерфейсы, предоставляемые операционной системой. К ресурсам мобильного устройства относят такие средства вычислительной системы устройства, которые могут быть выделены процессу обработки данных на определенный квант времени. Основными ресурсами вычислительной системы являются процессоры, области оперативной памяти, наборы данных, периферийные устройства. Интерфейс, предоставляемый операционной системой для взаимодействия с ресурсами устройства, реализован в виде API (application programming interface) функций. С их помощью приложение может взаимодействовать с сетью, выполнять операции с файлами, с памятью и т.д. Один из способов, позволяющий контролировать и управлять доступом приложений к критическим ресурсам мобильного устройства, заключается в модификации кода приложения, вызывающего критические API-функции. Здесь и далее под понятие «критические» попадают функции, характерные для вредоносного кода (доступ к файловой системе, работа с сетью и т.д.). На Фиг.1а изображена схема, отражающая взаимодействие приложения с ОС и оборудованием. Пользовательское приложение 101а посредством API-функций обращается к операционной системе 102, а та осуществляет непосредственный доступ к оборудованию 103. На Фиг.1б изображен модифицированный вариант, в котором вызов оригинальных API-функций в приложении 101а заменяется вызовом API-функций модифицированных, при этом модифицированные API-функции экспортируются библиотекой функций-обработчиков 104, а библиотека 104 уже вызывает оригинальные API-функции, экспортируемые ОС.
В общем случае функция-обработчик - это любая функция, которая включает в себя функциональность другой функции. Данное понятие также применимо к методам и классам.
На Фиг.2 изображена упрощенная схема, отражающая типичную структуру мобильной ОС. Она включает в себя: пользовательские приложения 101а, работающие в окружении, где под окружением понимаются программные компоненты операционной системы, предназначенные для поддержки исполнения приложений, примером окружения является виртуальная машина Java; окружение 201, через которое осуществляется взаимодействие приложений 101а с ресурсами операционной системы 202; операционную систему 102, которая предоставляет интерфейс для взаимодействия с физическими компонентами мобильного устройства.
Описанный способ, позволяющий контролировать доступ к ресурсам мобильного устройства, встраивается в систему, изображенную на Фиг.2. Один из способов модифицировать данную систему и получить контроль над исполняемым приложением - встроиться между приложениями 101а и окружением 201. Для этого модифицируется приложение 101а и добавляется еще один уровень абстракции в систему, изображенную на Фиг.2, это контейнер 301, включающий в себя библиотеку функций-обработчиков 104 для приложения 101б и само модифицированное приложение 101б. На Фиг.3 изображена система с модифицированным приложением 101б. Данная система содержит все те же элементы, что и система на Фиг.2, отличие заключается в том, что добавлены новые элементы - контейнеры 301. Приложение 101б модифицировано и лишено возможности взаимодействовать с операционной системой 102 через окружение 201. С окружением 201 теперь взаимодействует контейнер 301, который является окружением для приложения 101б. Таким образом, все приложения 101б, помещенные в контейнер 301, контролируются. Для выполнения каких-либо действий приложение 101б обращается к библиотеке функций-обработчиков 104, библиотека 104 в соответствии с установленными для нее настройкой контролирует доступ приложения 101б к ресурсам операционной системы 202. Таким образом, возможно контролировать как входящий, так и исходящий сетевой трафик, доступ к файловой системе, взаимодействие защищенного приложения 101б с другими приложениями в системе, как помещенными в контейнер, так и нет.
В частном случае в один контейнер 301 может помещаться группа приложений. Такими приложениями могут быть приложения с похожей функциональностью, которые должны работать под одной политикой безопасности.
Частным случаем применения изобретения является его использование на одной из самых распространенных мобильных платформ Android OS, архитектура данной операционной системы представлена на Фиг.4. Архитектура Android построена на основе ядра Linux 401. Ядро 401 отвечает за такие системные службы, как управление безопасностью, памятью, процессами, включает сетевой стек и модель драйверов. Следующий уровень в иерархической структуре - библиотеки 402, написанные на C/C++, используемые различными компонентами ОС. Важнейшей частью архитектуры является Android Runtime (среда исполнения приложения) 403. Среда исполнения состоит из виртуальной Java-машины Dalvik и набора базовых библиотек. Dalvik выполняет файлы в специальном формате .dex, оптимизированном для устройств с малым количеством памяти. Базовые библиотеки написаны на языке Java и включают большой набор классов, которые поддерживают широкий диапазон функциональных возможностей. Следующий уровень - Application Framework (каркас приложений) 404. Этот уровень представляет собой инструментарий, которым пользуются все приложения. На вершине иерархии - Applications (уровень приложений) 401.
Android не делает разницы между основными приложениями телефона и сторонним программным обеспечением. Таким образом, ключевые компоненты, такие как набор номера, рабочий стол, почтовый клиент GMail и т.д. можно заменить альтернативными аналогами или модифицировать их, что позволяет использовать описываемое изобретение на данной платформе. Но платформа имеет особенность, которая заключается в том, что приложения выполняются в песочнице (жестко контролируемый набор ресурсов для исполнения гостевой программы) и не имеют прав для модификации компонентов, находящихся на одном уровне и на уровнях ниже. Для контроля над приложениями в Android OS приложение помещается в контейнер 301, где модифицируется .dex файл приложения 101 а путем замены критических классов на имена классов, которые описаны в библиотеке 104. Примерами критических классов могут являться приведенные ниже классы и методы:
java.io.*
java.lang.Runtime.loadLibrary()
java.lang.Runtime.exec()
android.app.ActivityManager.getRunmngServices()
javax.crypto.Cipher
java.lang.System.loadLibrary()
java.lang.ClassLoader.getResourceAsStream()
android.webkit.WebView
android.telephony.SmsMessage
android.content.BroadcastReceiver.abortBroadcast()
android.app.Activity.startActivity()
android.content.Context.getClassLoader()
android.content.Context.startActivity()
android.content.Context.getSystemService()
java.net.*
java.lang.Class.getClassLoader()
java.lang.Class.getClasses()
java.lang.Class.getResourceAsStream()
android.telephony.SmsManager.*
Модификация дает контроль над критической активностью приложения. Модификация может осуществляться на этапе загрузки приложения, может модифицироваться копия уже установленного приложения. При попытке совершить критическое действие приложение 101б этого не сможет сделать, так как оригинальный класс заменен на класс, описанный в библиотеке 104. Поэтому сначала будет вызван соответствующий метод из библиотеки 104 и произведена проверка на соответствие совершаемого действия политике безопасности, если критическое действие не нарушает установленных политикой правил, будет вызван оригинальный метод.
Частным случаем применения описанной системы является обнаружение вредоносного программного обеспечения на устройстве пользователя. На Фиг.5 изображена возможная реализация системы обнаружения вредоносного ПО на мобильном устройстве. Для обнаружения вредоносного программного обеспечения, по меньшей мере, одно приложение 101а помещается в контейнер 301. Приложения 101а могут быть помещены в контейнер пользователем либо автоматически на этапе загрузки, заранее установленным инструментарием. Например, в качестве такого инструментария может выступать антивирусное приложение, которое будет помещать в контейнер недоверенные и подозрительные приложения. Таким инструментарием также может быть инсталлятор 506, помещающий в контейнер все приложения, загружаемые из сети. В приложениях 101а модифицируются критические функции (отправка CMC, доступ в сеть, работа с файловой системой и т.д.), которые могут использоваться во вредоносных приложениях. Критические функции заменяются функциями-обработчиками, которые описаны в библиотеке функций-обработчиков 104. Система также включает в себя модуль анализа 501, предназначенный для обнаружения вредоносного программного обеспечения, локальную базу шаблонов 502, содержащую информацию о поведении, характерном для вредоносного программного обеспечения. База шаблонов может содержать, к примеру, определенную последовательность вызовов критических функций с недопустимыми параметрами (отправка CMC на короткие номера, загрузка файла с не доверенного сетевого ресурса). Данная система осуществляет контроль над исполнением пользовательских приложений 101б, помещенных в контейнер 301. Система отслеживает активность приложений 101б. Приложение 101б не может осуществить вызов критических функций напрямую, осуществляется вызов функций из библиотеки функций-обработчиков 104. Библиотека 104 передает модулю анализа 501 информацию о вызываемых функциях (например, имена функций и параметры вызова), модуль анализа 501 сравнивает информацию, полученную от библиотеки 104 с правилами из локальной базы 502. Если на основании анализа модулем анализа 501 обнаружено поведение, характерное для вредоносного программного обеспечения, в соответствии с настройкой системой будут предприняты адекватные действия. Например, библиотекой функций-обработчиков 104 будет заблокирован вызов критической функции (библиотека не вызовет оригинальную функцию), приложение будет остановлено или завершено, пользователь получит предупреждение и т.д. Модуль анализа 501, библиотека 104, локальная база 502 обновляются с сервера безопасности 503, это позволяет оперативно реагировать на новые угрозы (расширять список критических функций, добавлять новые правила в локальную базу 502).
В частном случае модуль анализа 501 может использовать не локальную базу 502, а обращаться к удаленной базе данных 505. Также и сам модуль анализа 501 может быть размещен удаленно на сервере безопасности 503. В данном случае на локальном устройстве библиотекой 104 будет собираться информация о работе анализируемого приложения и пересылаться на удаленный сервер безопасности, где будет осуществляться анализ полученной информации.
Модуль безопасности 501, локальная база 502 могут быть интегрированы с библиотекой функций-обработчиков 104.
Применением описанной системы в частном случае может быть обнаружение вредоносных программ, которые отправляют короткие текстовые сообщения CMC на платные номера или используют CMC для похищения данных с устройства пользователя. В данном случае критическими будут следующие методы:
android.telephony.gsm.SmsManager.sendTextMessage()
android.telephony.gsm.SmsManager.sendMultipartTextMessage()
android.telephony.gsm SmsManager.sendDataMessage()
android.telephony.SmsManager.sendTextMessage()
android.telephony.SmsManager.sendMultipartTextMessage()
android.telephony.SmsManager.sendDataMessage()
java.lang.reflect.Method invoke()
В контролируемых приложениях модифицируются вызовы именно этих методы. После помещения приложения в контейнер критические методы в нем заменяются, например, метод
android.telephony.SmsManager.getDefault().sendTextMessage("<phone_number>", null, "<message_text>", null, null);
будет заменен на
com.kaspersky.container.hooks.android_telephony_SmsManager.sendTextMessage (android.telephony.SmsManager.getDefault(), "<phone_number>", null, "<message_text>", null, null);
Описание данных методов находится в библиотеке 104, которая извлекает параметры вызываемого метода и передает их для анализа, пример кода библиотеки для ряда критических методов может выглядеть так:
package com.kaspersky.container.hooks;
public class android_telephony_SmsManager {
public static void sendTextMessage(Object impl, java.lang.String arg1, java.lang.String arg2, java.lang.String arg3, android.app Pendinglntent arg4, android.app.Pendinglntent arg5) {
if (!SecurityManager.get("sms").allow(String.valueOf(arg1),String.valueOf(arg3))) {return;}
((android.telephony.SmsManager)impl).sendTextMessage(arg1, arg2, arg3, arg4, arg5),
}
public static void sendMultipartTextMessage(Object impl, java.lang.String arg1, java.lang.String arg2, java.util.ArrayList arg3, java util.ArrayList arg4, java.util.ArrayList arg5) {
if (!SecurityManager.get("sms").allow(String valueOf(arg1),String.valueOf(arg3))) {return;}
((android.telephony.SmsManager)impl).sendMultipartTextMessage(arg1, arg2, arg3, arg4, arg5),
}
public static void sendDataMessage(Object impl, java.lang.String arg1, java.lang.String arg2, short arg3, byte[] arg4, android.app.Pendinglntent arg5, android.app.Pendinglntent arg6) {
if (!SecurityManager.get("sms").allow(String.valueOf(arg1),String.valueOf(arg4))) {return;}
((android.telephony.SmsManager)impl).sendDataMessage(arg1, arg2, arg3, arg4, arg5, arg6),
}
}
Приведенный пример кода содержит описание трех методов, на которые заменяются оригинальные критические методы. Библиотека 104 пересылает модулю анализа 501 параметры вызываемых методов, который на основе шаблонов, содержащихся в базе 502, проверяет параметры на наличие угрозы. В случае если угроза не обнаружена, выполняется вызов оригинальных методов. Если аргументы не прошли проверку, то в данном примере отправка текстового сообщения останавливается. Также возможно не только приостановить отправку, а предупредить пользователя, закрыть приложение и т.д.
Фиг.6 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг.6. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.

Claims (7)

1. Способ обнаружения вредоносного программного обеспечения путем создания изолированной среды, в котором:
а) модифицируют код исследуемого приложения путем замены вызова критических функций вызовом функций-обработчиков;
б) собирают информацию о вызываемых исследуемым модифицированным приложением критических функциях через функции-обработчики;
в) анализируют информацию, собранную на этапе б), на наличие поведения, характерного для вредоносного программного обеспечения;
г) обнаруживают вредоносное программное обеспечение на основании анализа.
2. Способ по п.1, в котором к критическим функциям, вызываемым приложениями, относятся функции, вызов которых позволяет выявить поведение, характерное для вредоносного программного обеспечения.
3. Способ по п.1, в котором приложение, код которого модифицируют на этапе а), является .dex файл приложения.
4. Система обнаружения вредоносного программного обеспечения путем создания изолированной среды содержит:
а) приложение, которое предназначено для модификации исследуемого приложения;
б) библиотеку функций-обработчиков, предназначенную для сбора информации о вызываемых исследуемым модифицированным приложением критических функциях;
в) модуль анализа, связанный с библиотекой функций-обработчиков и предназначенный для:
- анализа информации о вызываемых критических функциях, собранной библиотекой функций-обработчиков;
- обнаружения вредоносного ПО на основании анализа.
5. Система по п.4, в которой библиотека функций-обработчиков может выполнять функции модуля анализа.
6. Система по п.4, в которой приложение, код которого модифицируется в пункте а), модифицируют удаленно и устанавливают на устройство пользователя уже модифицированным.
7. Система по п.4, в которой модуль анализа располагают на удаленном устройстве.
RU2012156433/08A 2012-12-25 2012-12-25 Система и способ обнаружения вредоносного программного обеспечения путем создания изолированной среды RU2535175C2 (ru)

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2012156433/08A RU2535175C2 (ru) 2012-12-25 2012-12-25 Система и способ обнаружения вредоносного программного обеспечения путем создания изолированной среды
US14/039,476 US9098697B2 (en) 2012-12-25 2013-09-27 System and method for detecting malware using isolated environment
EP13192835.0A EP2750069B1 (en) 2012-12-25 2013-11-14 Method and system for detecting malware using isolated environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012156433/08A RU2535175C2 (ru) 2012-12-25 2012-12-25 Система и способ обнаружения вредоносного программного обеспечения путем создания изолированной среды

Publications (2)

Publication Number Publication Date
RU2012156433A RU2012156433A (ru) 2014-06-27
RU2535175C2 true RU2535175C2 (ru) 2014-12-10

Family

ID=50976386

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012156433/08A RU2535175C2 (ru) 2012-12-25 2012-12-25 Система и способ обнаружения вредоносного программного обеспечения путем создания изолированной среды

Country Status (2)

Country Link
US (1) US9098697B2 (ru)
RU (1) RU2535175C2 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2606877C1 (ru) * 2015-09-28 2017-01-10 Общество С Ограниченной Ответственностью "Яндекс" Система и способ обработки данных в исполняемой на компьютере системе
RU2614557C2 (ru) * 2015-06-30 2017-03-28 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных файлов на мобильных устройствах

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9336384B2 (en) * 2013-04-24 2016-05-10 Symantec Corporation Systems and methods for replacing application methods at runtime
US9262635B2 (en) * 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
US20150278512A1 (en) * 2014-03-28 2015-10-01 Intel Corporation Virtualization based intra-block workload isolation
US9824136B2 (en) * 2014-09-19 2017-11-21 Microsoft Technology Licensing, Llc Dynamic application containers
CN104268473B (zh) * 2014-09-23 2017-05-24 龙芯中科技术有限公司 应用程序检测方法和装置
CN105512552B (zh) * 2014-09-26 2019-06-07 腾讯科技(深圳)有限公司 参数检测方法及装置
US9971611B2 (en) * 2014-10-31 2018-05-15 Cisco Technology, Inc. Monitoring a mobile device application
US9575740B2 (en) * 2015-01-21 2017-02-21 Samsung Electronics Co., Ltd. Apparatus and method for running multiple instances of a same application in mobile devices
US10447720B1 (en) * 2015-03-12 2019-10-15 Symantec Corporation Systems and methods for performing application container introspection
CN105046116B (zh) * 2015-06-25 2018-07-31 上海斐讯数据通信技术有限公司 Android系统中保护dex文件不被反编译的方法
CN105184160B (zh) * 2015-07-24 2018-05-18 哈尔滨工程大学 一种基于API对象调用关系图的Android手机平台应用程序恶意行为检测的方法
CN105578387A (zh) * 2015-12-11 2016-05-11 北京奇虎科技有限公司 iOS系统中骚扰消息的检测方法、装置及系统
US10243963B1 (en) * 2015-12-18 2019-03-26 Symantec Corporation Systems and methods for generating device-specific security policies for applications
CN107346284B (zh) * 2016-05-05 2020-10-27 腾讯科技(深圳)有限公司 一种应用程序的检测方法及检测装置
CN106127032B (zh) * 2016-06-25 2019-05-03 珠海豹趣科技有限公司 一种拦截应用程序行为的方法及终端
US9977898B1 (en) 2016-10-31 2018-05-22 International Business Machines Corporation Identification and recovery of vulnerable containers
CN106874763B (zh) * 2017-01-16 2020-09-25 西安电子科技大学 模拟用户行为的安卓软件恶意行为触发系统及方法
US10419377B2 (en) * 2017-05-31 2019-09-17 Apple Inc. Method and system for categorizing instant messages
KR101997061B1 (ko) * 2017-09-29 2019-07-05 숭실대학교산학협력단 리눅스 기반 안드로이드 컨테이너 플랫폼, 이를 탑재한 장치 및 리눅스 기반 안드로이드 컨테이너 환경에서의 보안 시스템 구축 방법
US10951651B1 (en) * 2017-10-30 2021-03-16 EMC IP Holding Company LLC Container life cycle management with retention rate adjustment based on detected anomalies
US11134098B1 (en) 2017-10-30 2021-09-28 EMC IP Holding Company LLC Container life cycle management with session dilution time
US10791144B1 (en) 2017-10-30 2020-09-29 EMC IP Holding Company LLC Container life cycle management with honeypot service
CN108037928A (zh) * 2017-12-13 2018-05-15 北京小米移动软件有限公司 软件开发包工具sdk检测方法及装置
LU100844B1 (en) * 2018-06-25 2019-12-30 Univ Luxembourg Method for preventing ransomware attacks on computing systems
EP3687120A1 (en) * 2019-01-25 2020-07-29 Usecrypt S.A. Mobile communication device and method of determining security status thereof
US11228910B2 (en) 2019-01-25 2022-01-18 V440 Spó£Ka Akcyjna Mobile communication device and method of determining security status thereof
CN115242436B (zh) * 2022-06-14 2023-12-01 徐州恒佳电子科技有限公司 一种基于命令行特征的恶意流量检测方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191441B2 (en) * 2001-08-06 2007-03-13 International Business Machines Corporation Method and apparatus for suspending a software virtual machine
RU2313126C2 (ru) * 2002-06-07 2007-12-20 Интел Корпорейшн Система и способ для защиты от недоверенного кода режима управления с системой с помощью переадресации прерывания режима управления системой и создания контейнера виртуальной машины
US8239939B2 (en) * 2005-07-15 2012-08-07 Microsoft Corporation Browser protection module
CN102750475A (zh) * 2012-06-07 2012-10-24 中国电子科技集团公司第三十研究所 基于虚拟机内外视图交叉比对恶意代码行为检测方法及系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658571B1 (en) 1999-02-09 2003-12-02 Secure Computing Corporation Security framework for dynamically wrapping software applications executing in a computing system
IL132916A (en) * 1999-11-14 2004-02-08 Mcafee Inc Method and system for intercepting an application program interface
US6775780B1 (en) 2000-03-16 2004-08-10 Networks Associates Technology, Inc. Detecting malicious software by analyzing patterns of system calls generated during emulation
US6799316B1 (en) 2000-03-23 2004-09-28 International Business Machines Corporation Virtualizing hardware with system management interrupts
US6940912B2 (en) * 2000-04-21 2005-09-06 Microsoft Corporation Dynamically adaptive multimedia application program interface and related methods
GB0011020D0 (en) * 2000-05-09 2000-06-28 Ibm Intercepting system API calls
US20020065776A1 (en) 2000-11-29 2002-05-30 Brad Calder Method and process for virtualizing file system interfaces
US7035279B2 (en) * 2001-01-09 2006-04-25 Corrigent Systems Ltd. Flow allocation in a ring topology
US20030033443A1 (en) * 2001-03-01 2003-02-13 Nikolay Igotti Virtual machine integration application program interface
US20030037237A1 (en) 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US20020180790A1 (en) * 2001-05-31 2002-12-05 International Business Machines Corporation System and method for encapsulating software components in an application program interface using a proxy object
US6957391B2 (en) * 2001-05-31 2005-10-18 International Business Machines Corporation Application program interface that can maintain similar look and feel of a displayed image regardless of whether the interface is platform dependent or platform independent
US7246360B2 (en) * 2002-02-07 2007-07-17 Mobitv, Inc. Plug-in API for protocol and payload transformation
US7117506B2 (en) * 2002-02-07 2006-10-03 Mobitv, Inc. Plug-in API for modular network transaction processing
US8332464B2 (en) * 2002-12-13 2012-12-11 Anxebusiness Corp. System and method for remote network access
WO2005104431A1 (ja) * 2004-04-21 2005-11-03 Matsushita Electric Industrial Co., Ltd. コンテンツ提供システム、情報処理装置及びメモリカード
US7590980B1 (en) * 2004-06-14 2009-09-15 Convergys Cmg Utah, Inc. System and method for a functional extensibility framework
US10019570B2 (en) * 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US8510743B2 (en) * 2007-10-31 2013-08-13 Google Inc. Terminating computer applications
US20100175104A1 (en) * 2008-03-03 2010-07-08 Khalid Atm Shafiqul Safe and secure program execution framework with guest application space
US8065714B2 (en) 2008-09-12 2011-11-22 Hytrust, Inc. Methods and systems for securely managing virtualization platform
JP5077186B2 (ja) * 2008-10-17 2012-11-21 富士通株式会社 通信装置、通信方法及び通信プログラム
US8108933B2 (en) 2008-10-21 2012-01-31 Lookout, Inc. System and method for attack and malware prevention
US8099596B1 (en) 2011-06-30 2012-01-17 Kaspersky Lab Zao System and method for malware protection using virtualization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191441B2 (en) * 2001-08-06 2007-03-13 International Business Machines Corporation Method and apparatus for suspending a software virtual machine
RU2313126C2 (ru) * 2002-06-07 2007-12-20 Интел Корпорейшн Система и способ для защиты от недоверенного кода режима управления с системой с помощью переадресации прерывания режима управления системой и создания контейнера виртуальной машины
US8239939B2 (en) * 2005-07-15 2012-08-07 Microsoft Corporation Browser protection module
CN102750475A (zh) * 2012-06-07 2012-10-24 中国电子科技集团公司第三十研究所 基于虚拟机内外视图交叉比对恶意代码行为检测方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2614557C2 (ru) * 2015-06-30 2017-03-28 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных файлов на мобильных устройствах
RU2606877C1 (ru) * 2015-09-28 2017-01-10 Общество С Ограниченной Ответственностью "Яндекс" Система и способ обработки данных в исполняемой на компьютере системе
US9996702B2 (en) 2015-09-28 2018-06-12 Yandex Europe Ag System for and method of data processing in a computer-implemented system

Also Published As

Publication number Publication date
RU2012156433A (ru) 2014-06-27
US20140181974A1 (en) 2014-06-26
US9098697B2 (en) 2015-08-04

Similar Documents

Publication Publication Date Title
RU2535175C2 (ru) Система и способ обнаружения вредоносного программного обеспечения путем создания изолированной среды
RU2541895C2 (ru) Система и способ повышения защищенности данных организации путем создания изолированной среды
He et al. Dynamic privacy leakage analysis of Android third-party libraries
RU2653985C2 (ru) Способ и система обнаружения вредоносного программного обеспечения путем контроля исполнения программного обеспечения запущенного по сценарию
KR102255767B1 (ko) 가상 머신 감사를 위한 시스템 및 방법들
Marforio et al. Application collusion attack on the permission-based security model and its implications for modern smartphone systems
Bugiel et al. Practical and lightweight domain isolation on android
EP2750069B1 (en) Method and system for detecting malware using isolated environment
US20150332043A1 (en) Application analysis system for electronic devices
Backes et al. Appguard-real-time policy enforcement for third-party applications
JP2015508540A (ja) モバイルコンピューティングにおけるセキュリティを強化するためのシステムおよび方法
Bing Analysis and research of system security based on android
US11157618B2 (en) Context-based analysis of applications
Zhang et al. Rethinking permission enforcement mechanism on mobile systems
Armando et al. Security considerations related to the use of mobile devices in the operation of critical infrastructures
Huang et al. A11y and Privacy don't have to be mutually exclusive: Constraining Accessibility Service Misuse on Android
Kandukuru et al. Android malicious application detection using permission vector and network traffic analysis
Zhang et al. Finedroid: Enforcing permissions with system-wide application execution context
Agematsu et al. A proposal to realize the provision of secure android applications--adms: An application development and management system
Merlo et al. Android vs. SEAndroid: An empirical assessment
Oliveira et al. Honeypotlabsac: a virtual honeypot framework for android
Fledel et al. Google android: an updated security review
Aldoseri et al. A Tale of Four Gates: Privilege Escalation and Permission Bypasses on Android Through App Components
Nazar et al. Rooting Android–Extending the ADB by an auto-connecting WiFi-accessible service
Litty et al. Computer Meteorology: Monitoring Compute Clouds.

Legal Events

Date Code Title Description
HE9A Changing address for correspondence with an applicant