RU2541895C2 - Система и способ повышения защищенности данных организации путем создания изолированной среды - Google Patents

Система и способ повышения защищенности данных организации путем создания изолированной среды Download PDF

Info

Publication number
RU2541895C2
RU2541895C2 RU2012156432/08A RU2012156432A RU2541895C2 RU 2541895 C2 RU2541895 C2 RU 2541895C2 RU 2012156432/08 A RU2012156432/08 A RU 2012156432/08A RU 2012156432 A RU2012156432 A RU 2012156432A RU 2541895 C2 RU2541895 C2 RU 2541895C2
Authority
RU
Russia
Prior art keywords
data
application
functions
rules
modified
Prior art date
Application number
RU2012156432/08A
Other languages
English (en)
Other versions
RU2012156432A (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 RU2012156432/08A priority Critical patent/RU2541895C2/ru
Priority to US14/039,674 priority patent/US9147069B2/en
Priority to EP13190990.5A priority patent/EP2750068B1/en
Publication of RU2012156432A publication Critical patent/RU2012156432A/ru
Application granted granted Critical
Publication of RU2541895C2 publication Critical patent/RU2541895C2/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/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/2107File encryption
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephone Function (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Изобретение относится к области защиты информации от несанкционированного доступа, изменения содержания при хранении и передачи данных. Техническим результатом является повышение защищенности данных организации за счет обнаружения нарушений правил работы с данными путем модификации приложений, работающих с этими данными. Способ обнаружения нарушений правил работы с данными включает в себя: а) модификацию кода приложения путем замены вызова функций, работающих с данными, вызовом функций-обработчиков; б) сбор информации об обращениях модифицированного приложения к функциям, работающим с данными, через вызов соответствующих функций-обработчиков; в) анализ информации, собранной на этапе б), на предмет несоответствия правилам работы с данными, установленными политикой безопасности; г) обнаружение нарушения правил работы с данным на основании анализа. 2 н. и 4 з.п. ф-лы, 8 ил.

Description

Область техники
Изобретение относится к способам и системам защиты информации от несанкционированного доступа, изменения содержания при хранении и передачи данных.
Уровень техники
В настоящее время число мобильных устройств растет, они проникли во все сферы жизни человека. Наиболее популярными из них являются телефоны, смартфоны, ноутбуки, коммуникаторы, системы навигации. Мобильные устройства используются в качестве средств коммуникации, связи, для развлечений. Параллельно с развитием этих устройств развиваются и беспроводные средства связи, которые неотделимы от них. Передача данных от одного устройства к другому, обмен информацией - задачи, которые не вызывают затруднений даже у неопытного пользователя данных устройств.
Но развитие технологий несет с собой не только благо, но и создает ряд проблем. С одной стороны, развитие мобильных устройств и беспроводных средств связи упрощает общение людей, облегчает обмен информацией, стирает границы городов, государств, континентов. С другой стороны, такая свобода ставит перед специалистами в области информационной безопасности все новые и новые задачи, т.к. зачастую информация, которой обмениваются пользователи мобильных устройств, конфиденциальна и является государственной или коммерческой тайной. При такой простоте копирования, передачи и обмена вероятность утечки информации за пределы организации, умышленной или нет, велика, поэтому от подразделений, отвечающих за обеспечение информационной безопасности, все активнее требуется построение системы отслеживания и блокирования несанкционированных утечек информации. Также рост популярности мобильных платформ, на которых работают мобильные устройства, привлекает к ним внимание злоумышленников, которые преследуют различные цели - от желания пошутить или проявить себя до кражи конфиденциальной информации с целью вымогательства и шантажа. Следствием этого является появление угроз (в том числе вредоносного программного обеспечения любого рода) для мобильных платформ, которые были характерны раньше исключительно для стационарных вычислительных машин. Также появляются и новые угрозы исключительно для мобильных устройств, например троянские программы, которые после установки на устройство отправляют CMC на платные номера или, используя службы геолокации, следят за передвижением пользователя.
Исходя из написанного выше становится ясно, что необходимо предпринимать меры, способные снизить риск утечки информации и защитить пользователей мобильных устройств и организации от действий злоумышленников. Меры защиты как отдельных пользователей, так и организаций перекочевали со стационарных вычислительных машин на мобильные устройства, и они, как правило, носят узконаправленный локальный характер и исходят из возможных сценариев, приводящих к выведению информации за пределы информационной среды организации. Можно выделить три основных сценария, приводящих к выведению информации за пределы информационной среды организации: сетевой, локальный и в связи с утратой носителя. Для решения этих задач используются различные способы.
Например, разграничиваются права доступа к информации, предназначенной для выполнения служебных обязанностей. Патентная заявка US 20100175104 описывает систему защиты данных на основе контроля групповых политик. После того как система осуществляет установку перехватчиков вызовов на системные вызовы API-функций, осуществляется контроль и проверка выполняемых приложением действий в соответствии с правилами политики.
Также перекрываются порты ввода-вывода информации путем установки фильтра, так, патент US8051480 описывает способ обеспечения безопасности для мобильных устройств путем анализа данных, посылаемых через сеть. Способ применим для различных сетевых интерфейсов мобильных устройств: Bluetooth, Wi-Fi, USB и т.д.
Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения предшествующих технологий ввиду их узкой локальной направленности и отсутствия у них общей технической концепции реализации.
Раскрытие изобретения
Изобретение является реализацией системы и способа создания защищенной среды для корпоративных данных или данных пользователя. Изобретение обеспечивает прозрачное шифрование, а также обеспечивает безопасное хранение данных организации.
Технический результат заключается в повышении защищенности данных организации за счет обнаружения нарушений правил работы с данными путем модификации приложений, работающих с этими данными.
Способ обнаружения нарушений правил работы с данными, в котором: модифицируют код приложения путем замены вызова функций, работающих с данными, вызовом функций-обработчиков; собирают информацию об обращениях модифицированного приложения к функциям, работающим с данными, через вызов соответствующих функций-обработчиков; анализируют информацию, собранную через функции-обработчики, на предмет несоответствия правилам работы с данными установленными политикой безопасности; обнаруживают нарушения правил работы с данным на основании анализа.
В частном случае приложение, код которого модифицируют, является .dex файл приложения.
Система обнаружения нарушений правил работы с данными содержит приложение, которое предназначено для модификации приложения, работающего с данными; библиотеку функций-обработчиков, предназначенную для сбора информации об обращениях модифицированного приложения к функциям, работающим с данными, через вызов соответствующих функций-обработчиков; модуль безопасности, связанный с библиотекой функций-обработчиков и предназначенный для анализа информации об обращениях, полученной от библиотеки функций-обработчиков, к функциям, работающим с данными, на предмет их несоответствия правилам работы с данными, установленными политикой безопасности, и обнаружения нарушений правил работы с данными на основании анализа.
В частном случае реализации системы библиотека функций-обработчиков выполняет функции модуля безопасности.
В другом частном случае реализации системы приложение модифицируют удаленно и устанавливают на устройство пользователя уже модифицированным.
Еще в одном частном случае модуль безопасности расположен на удаленном устройстве.
Краткое описание чертежей
Сопровождающие чертежи включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов изобретения.
Заявленное изобретение поясняется следующими чертежами.
Фиг.1 показывает взаимодействие приложения с операционной системой и оборудованием.
Фиг.2 показывает структуру мобильной операционной системы.
Фиг.3 показывает модифицированный вариант структуры мобильной операционной системы.
Фиг.4 показывает архитектуру мобильной операционной системы Android OS.
Фиг.5 показывает схему обмена данными устройства с хранилищами данных.
Фиг.6 показывает схему взаимодействия компонентов обеспечения безопасности.
Фиг.7 показывает пример компьютерной системы общего назначения.
Описание изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.
Современные решения в области защиты данных организации в целом справляются с возложенной на них задачей, но предлагаемые системы многокомпонентные, состоят из разных модулей, тяжелы в настройке и плохо взаимосвязаны между собой. Настоящее изобретение позволяет создать единую систему, которая позволит обеспечить безопасную передачу данных внутри организации в рамках единой концепции безопасности, т.е решить все задачи, стоящие перед специалистами в области информационной безопасности, применив один подход, и не решать каждую задачу узконаправленно и отдельно. В частности, изобретение позволит осуществлять передачу информации между мобильными устройствами, не опасаясь утечки информации, раскрытия коммерческой или государственной тайны. Также изобретение позволит осуществить защиту от угроз, которые исходят от вредоносного программного обеспечения.
Для обеспечения безопасности сети передачи данных организации необходимо осуществлять контроль над всеми данными, передающимися внутри организации, отслеживать устройства, попадающие в сеть организации извне, отслеживать события на устройствах и данные, с которыми эти устройства работают. Любое мобильное устройство, как правило, находится под управлением мобильной операционной системы (далее ОС), самыми популярными мобильными ОС являются: Google Android, Apple iOS, Symbian, BlackBerryOS, WindowsPhone и т.д. Приложения, устанавливаемые на устройства, осуществляют доступ к ресурсам мобильного устройства и к коммуникационным портам через интерфейсы, предоставляемые операционной системой. Поэтому необходимо осуществлять контроль над установленными приложениями или частью приложений, критических к требованиям политики безопасности. Под это определение попадают все приложения, работающие с критическими данными организации, где критические данные - данные, требующие защиты в связи с возможной их утерей или повреждением в случае, если произойдет умышленное или неумышленное их раскрытие, изменение, утрата. Также это данные, утрата которых может отрицательно сказаться на функционировании организации. Под политикой безопасности понимают совокупность руководящих принципов, правил, процедур и практических приемов в области безопасности, которые регулируют управление, защиту и распределение ценной информации. Ниже приведен возможный пример такой политики:
- запрет на copy/past из приложения;
- запрет отправки данных из приложения по внешним интерфейсам (почта, bluetooth, …);
- пароль на вход в приложение, его стойкость, частота запроса;
- принудительное закрытие приложения в случае, если пользователь им не пользуется и сворачивает;
- удаление локальных копий всех файлов;
- обращение приложения в сеть только по шифрованному каналу (перенаправление трафика через специальный канал);
- хранение данных приложения в облаке на серверах компании вместо локальной копии;
- принудительная аутентификация пользователя по логину, паролю через сервер компании для входа в приложение и доступ к данным;
- ограничение доступа к данным в зависимости от локации устройства, времени суток, окружающих девайсов (например, разрешать только в офисе в пределах видимости определенной Wi-Fi сети и только по ней);
- принудительное удаление всех корпоративных данных и закрытие доступа к ресурсам компании в случае обнаружения вируса или получения несанкционированного доступа к системе устройства;
- принудительное удаление всех корпоративных данных в контейнерах в случае потери устройства или ухода человека из компании.
К ресурсам мобильного устройства относят такие средства вычислительной системы устройства, которые могут быть выделены процессу обработки данных на определенный квант времени. Основными ресурсами вычислительной системы являются процессоры, области оперативной памяти, наборы данных, периферийные устройства. Интерфейс, предоставляемый операционной системой для взаимодействия с ресурсами устройства, реализован в виде 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.getRunningServices()
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 и произведена проверка на соответствие совершаемого действия политике безопасности, если критическое действие не нарушает установленных политикой правил, будет вызван оригинальный метод. Тут в качестве примера можно привести способ перехвата коротких текстовых сообщений, посылаемых с мобильного устройства. В данном случае критическими будут следующие методы:
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.androidjelephony 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 (!PolicyManager.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 (!PolicyManager.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 (!PolicyManager.get(«sms»).allow(String.valueOf(arg1),String.valueOf(arg4))) {return;}
((android.telephony.SmsManager)impl).sendDataMessage(arg1, arg2, arg3, arg4, arg5, arg6);
}
}
Приведенный пример кода содержит описание трех методов, на которые заменяются оригинальные критические методы. Каждый из методов проверяет допустимость используемых параметров. В случае исполнения требований политики безопасности выполняется вызов оригинальных методов. Если аргументы не прошли проверку, то в данном примере отправка текстового сообщения останавливается. Также возможно не только приостановить отправку, а послать пустое сообщение, предупредить пользователя, закрыть приложение и т.д.
Частным случаем применения описанной системы является обеспечение безопасной передачи информации внутри организации. Существует ограниченное число приложений, с которыми работают сотрудники организации, но сотрудник на своем мобильном устройстве может использовать и другие приложения для личных нужд, поэтому необходимо разделить приложения, по меньшей мере, на две группы и определить для каждой группы свои политики безопасности. На приложения, которые даже частично работают с конфиденциальными данными, данными, представляющими государственную или коммерческую тайну, устанавливается политика безопасности (например, запрет на передачу данных в открытом виде, запрет копирования на сменные носители и т.д.), в то время как на остальные же приложения не налагаются подобные ограничения. Примерами защищаемых приложений могут выступать следующие приложения:
- почтовые программы;
- программы для работы с документами;
- программы для управления задачами;
- программы для участия в online-митингах;
- программы для обмена сообщениями, контактами, информацией между сотрудниками компании;
- программы для телефонных коммуникаций между сотрудниками с использованием корпоративной телефонной инфраструктуры;
- программы для доступа к корпоративным ресурсам;
- программы для оперативного мониторинга;
- тонкие клиенты для доступа к корпоративным сервисам;
- утилиты для мониторинга и управления бизнес-процессами компании (финансовая система, управление закупками, активами и т.п.).
Чтобы обеспечить выполнение политики безопасности на мобильных устройствах, будет применено настоящее изобретение. Все критические приложения 101 помещаются в контейнеры 301 (Фиг.5), которые будут обеспечивать исполнение политики безопасности для работающих приложений, это необходимое условие работы с защищенными данными. Приложения 101а помещаются в контейнер 301 на сервере организации, и пользователь получает пакет обернутых приложений 101б непосредственно с него. Возможный алгоритм следующий: пользователь со своего устройства, которое он хочет использовать для работы в сети организации, посылает запрос на доступ в сеть организации (например, заявка системным администраторам, специально сформированный запрос к серверу безопасности и т.д.); на основании запроса определяется уровень прав и набор приложений, необходимый пользователю для работы, и формируется контейнер, содержащий все необходимые приложения и настроенный в соответствии с политикой безопасности (политика безопасности индивидуальна и настраивается под каждого конкретного пользователя и может быть динамически обновляемой); контейнер копируется на устройство пользователя. Внутри контейнера все данные защищены (зашифрованы), каналы взаимодействия изолированной среды с внешним миром тоже защищены, доступ к контейнеру осуществляется путем авторизации. Схема обмена данными изображена на Фиг.5, все критические данные, передающиеся по сети, хранящиеся на сетевых хранилищах 501, переносных носителях 503, локальных носителях 502, находятся в зашифрованном состоянии для обеспечения безопасности. При необходимости доступа к защищенным данным приложение 101б через контейнер 301 обращается к хранилищам данных, находящимся, например, в сети 501. Контейнер 301 получает данные в зашифрованном виде, расшифровывает их и передает в расшифрованном виде приложению 101б, и приложение 101б работает с данными. В частном варианте, используемой политики безопасности в соответствии с политикой критические данные могут храниться на сетевых хранилищах 501. Пользователю с устройства доступно лишь редактирование документов, копирование и сохранение на локальном носителе 502 запрещено, при этом лишь возможно сохранение внутри контейнера временных файлов 504, которые при выходе из приложения удаляются.
Контейнер 301 отслеживает все действия приложения 101б с критическими данными (доступ к диску, обращение к сети, передачу данных по беспроводным каналам, доступ к буферу обмена и т.д.), все подобные операции проверяются на соответствие правилам, установленным политикой безопасности. При этом приложения пользователя 101а, не помещенные в контейнер, имеют доступ в сеть, к переносным и локальным носителям, портам для беспроводной передачи данных.
В частном случае пользователь может получать защищенные приложения не из сети, а помещать в контейнер необходимые для работы приложения непосредственно на устройстве, для этого ему необходимо получить из сети специально настроенный инструментарий, который по выбору пользователя поместит выбранные приложения в контейнер и настроит необходимые политики безопасности.
Методы классов для проверки соответствия передаваемых приложением данных политике безопасности могут быть описаны в библиотеке 104 либо реализованы в виде отдельного компонента - модуля безопасности 601 (Фиг.6) для удобства обновления. Сами правила безопасности могут содержаться в модуле безопасности 601 или находиться в отдельном конфигурационном файле 602 (например, в XML формате), который может быть обновлен с сервера безопасности 603. Также правила могут храниться в удаленной базе данных 605.
Фиг.7 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг.7. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.

Claims (6)

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

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2012156432/08A RU2541895C2 (ru) 2012-12-25 2012-12-25 Система и способ повышения защищенности данных организации путем создания изолированной среды
US14/039,674 US9147069B2 (en) 2012-12-25 2013-09-27 System and method for protecting computer resources from unauthorized access using isolated environment
EP13190990.5A EP2750068B1 (en) 2012-12-25 2013-10-31 System and method for protecting computer resources from unauthorized access using isolated environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012156432/08A RU2541895C2 (ru) 2012-12-25 2012-12-25 Система и способ повышения защищенности данных организации путем создания изолированной среды

Publications (2)

Publication Number Publication Date
RU2012156432A RU2012156432A (ru) 2014-06-27
RU2541895C2 true RU2541895C2 (ru) 2015-02-20

Family

ID=50976345

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012156432/08A RU2541895C2 (ru) 2012-12-25 2012-12-25 Система и способ повышения защищенности данных организации путем создания изолированной среды

Country Status (2)

Country Link
US (1) US9147069B2 (ru)
RU (1) RU2541895C2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2723668C1 (ru) * 2016-12-19 2020-06-17 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД Фильтрация событий для приложений безопасности виртуальных машин

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361163B2 (en) * 2013-11-28 2016-06-07 Good Technology Corporation Managing containerized applications on a mobile device while bypassing operating system implemented inter process communication
US10762204B2 (en) 2013-11-28 2020-09-01 Blackberry Limited Managing containerized applications
US9213830B2 (en) 2013-12-12 2015-12-15 Microsoft Technology Licensing, Llc Managing applications in non-cooperative environments
US9661024B2 (en) 2013-12-12 2017-05-23 Microsoft Technology Licensing, Llc Configuring applications and policies in non-cooperative environments
US9619222B2 (en) * 2014-01-16 2017-04-11 International Business Machines Corporation System, method and apparatus for automatic device registration and secure application activation
US20150278512A1 (en) * 2014-03-28 2015-10-01 Intel Corporation Virtualization based intra-block workload isolation
US10050935B2 (en) 2014-07-09 2018-08-14 Shape Security, Inc. Using individualized APIs to block automated attacks on native apps and/or purposely exposed APIs with forced user interaction
US10225263B2 (en) * 2014-12-15 2019-03-05 Citrix Systems, Inc. Controlling incoming data processing requests
US10447720B1 (en) * 2015-03-12 2019-10-15 Symantec Corporation Systems and methods for performing application container introspection
US9740856B2 (en) * 2015-05-13 2017-08-22 SEWORKS, Inc. Apparatus and method for managing gaming engine file in a mobile platform
US10193696B2 (en) 2015-06-02 2019-01-29 ALTR Solutions, Inc. Using a tree structure to segment and distribute records across one or more decentralized, acylic graphs of cryptographic hash pointers
US9881176B2 (en) 2015-06-02 2018-01-30 ALTR Solutions, Inc. Fragmenting data for the purposes of persistent storage across multiple immutable data structures
US10095878B2 (en) * 2015-06-02 2018-10-09 ALTR Solutions, Inc. Internal controls engine and reporting of events generated by a network or associated applications
US20170142156A1 (en) * 2015-11-12 2017-05-18 Toyota Infotechnology Center Usa, Inc. Application Assurance for Open Platform In-Vehicle Infotainment System
WO2017138944A1 (en) * 2016-02-11 2017-08-17 Hewlett Packard Enterprise Development Lp Cloud access rule translation for hybrid cloud computing environments
US11227045B2 (en) * 2016-06-27 2022-01-18 International Business Machines Corporation System, method and apparatus for extracting usage-based fine grained permissions
US10333985B2 (en) * 2017-01-09 2019-06-25 Microsoft Technology Licensing, Llc Distribution and management of services in virtual environments
CN107643940A (zh) * 2017-09-26 2018-01-30 华为技术有限公司 容器创建方法、相关设备及计算机存储介质
US20190294780A1 (en) * 2018-03-26 2019-09-26 International Business Machines Corporation System and method for executing operating system level virtualization software objects
US11461461B2 (en) 2018-07-17 2022-10-04 Mergebase Software Inc. Systems and methods for managing and securing computer systems
CN109241742B (zh) * 2018-10-23 2021-03-30 北斗智谷(北京)安全技术有限公司 一种恶意程序的识别方法及电子设备
US20220129542A1 (en) * 2019-03-05 2022-04-28 Intel Corporation Deterministic trusted execution container through managed runtime language metadata
RU2716735C1 (ru) * 2019-03-29 2020-03-16 Акционерное общество "Лаборатория Касперского" Система и способ отложенной авторизации пользователя на вычислительном устройстве
US11616787B1 (en) * 2019-06-28 2023-03-28 Amazon Technologies, Inc. Mechanism to manage group of resources using virtual resource containers
US11150935B2 (en) * 2019-07-05 2021-10-19 International Business Machines Corporation Container-based applications
US11308204B2 (en) * 2019-08-23 2022-04-19 Mcafee, Llc Agentless security
US20230297721A1 (en) * 2022-03-07 2023-09-21 Recolabs Ltd. Systems and methods for creating rules based on security policies

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2427890C2 (ru) * 2009-10-01 2011-08-27 ЗАО "Лаборатория Касперского" Система и способ сравнения файлов на основе шаблонов функциональности

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6973577B1 (en) 2000-05-26 2005-12-06 Mcafee, Inc. System and method for dynamically detecting computer viruses through associative behavioral analysis of runtime state
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
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
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
US7117506B2 (en) * 2002-02-07 2006-10-03 Mobitv, Inc. Plug-in API for modular network transaction processing
US7246360B2 (en) * 2002-02-07 2007-07-17 Mobitv, Inc. Plug-in API for protocol and payload transformation
US8332464B2 (en) * 2002-12-13 2012-12-11 Anxebusiness Corp. System and method for remote network access
CN1973480A (zh) * 2004-04-21 2007-05-30 松下电器产业株式会社 内容提供系统、信息处理设备以及存储卡
US7590980B1 (en) * 2004-06-14 2009-09-15 Convergys Cmg Utah, Inc. System and method for a functional extensibility framework
US20110047618A1 (en) 2006-10-18 2011-02-24 University Of Virginia Patent Foundation Method, System, and Computer Program Product for Malware Detection, Analysis, and Response
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
JP5077186B2 (ja) * 2008-10-17 2012-11-21 富士通株式会社 通信装置、通信方法及び通信プログラム
US8051480B2 (en) 2008-10-21 2011-11-01 Lookout, Inc. System and method for monitoring and analyzing multiple interfaces and multiple protocols
US8458798B2 (en) 2010-03-19 2013-06-04 Aspect Security Inc. Detection of vulnerabilities in computer systems
US8099596B1 (en) 2011-06-30 2012-01-17 Kaspersky Lab Zao System and method for malware protection using virtualization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2427890C2 (ru) * 2009-10-01 2011-08-27 ЗАО "Лаборатория Касперского" Система и способ сравнения файлов на основе шаблонов функциональности

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2723668C1 (ru) * 2016-12-19 2020-06-17 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД Фильтрация событий для приложений безопасности виртуальных машин

Also Published As

Publication number Publication date
RU2012156432A (ru) 2014-06-27
US20140181896A1 (en) 2014-06-26
US9147069B2 (en) 2015-09-29

Similar Documents

Publication Publication Date Title
RU2541895C2 (ru) Система и способ повышения защищенности данных организации путем создания изолированной среды
RU2535175C2 (ru) Система и способ обнаружения вредоносного программного обеспечения путем создания изолированной среды
Datta et al. Valve: Securing function workflows on serverless computing platforms
US9787681B2 (en) Systems and methods for enforcing access control policies on privileged accesses for mobile devices
US9537869B2 (en) Geographical restrictions for application usage on a mobile device
Bugiel et al. Practical and lightweight domain isolation on android
US9609020B2 (en) Systems and methods to enforce security policies on the loading, linking, and execution of native code by mobile applications running inside of virtual machines
US9712530B2 (en) Systems and methods for enforcing security in mobile computing
US9773107B2 (en) Systems and methods for enforcing security in mobile computing
US8769305B2 (en) Secure execution of unsecured apps on a device
US9380456B1 (en) System, method and computer program product for dynamically switching operating systems in a virtual mobile device platform
US20130312058A1 (en) Systems and methods for enhancing mobile security via aspect oriented programming
US20140157355A1 (en) Systems and methods for enhancing mobile device security with a processor trusted zone
EP3140770A1 (en) Attestation of a host containing a trusted execution environment
KR20140016897A (ko) 디바이스 상의 앱들의 보안화 및 관리
EP2750069A1 (en) Method and system for detecting malware using isolated environment
EP3884405B1 (en) Secure count in cloud computing networks
Armando et al. Security considerations related to the use of mobile devices in the operation of critical infrastructures
CA2954984A1 (en) Systems and methods for enhancing mobile security via aspect oriented programming
Huber et al. A secure architecture for operating system-level virtualization on mobile devices
Oluwatimi et al. An application restriction system for bring-your-own-device scenarios
Merlo et al. Android vs. SEAndroid: An empirical assessment
Turhan et al. The Trust Model For Multi-tenant 5G Telecom Systems Running Virtualized Multi-component Services
Hashizume A reference architecture for cloud computing and its security applications
El-Serngawy et al. Securing business data on android smartphones