×
09.02.2020
220.018.012f

СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ЭМУЛИРУЕМОЙ МОБИЛЬНОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ

Вид РИД

Изобретение

Юридическая информация Свернуть Развернуть
№ охранного документа
0002713760
Дата охранного документа
07.02.2020
Краткое описание РИД Свернуть Развернуть
Аннотация: Группа изобретений относится к области вычислительной техники. Технический результат - повышение качества анализа транзакций, выполненных в банковских приложениях, запущенных в эмулируемой операционной системе. Указанный результат достигается благодаря способу выявления эмулируемой мобильной операционной системы с использованием методов машинного обучения, в котором осуществляют сбор данных на мобильном приложении, которое установлено на мобильное устройство связи пользователя; направляют полученные на предыдущем шаге данные из мобильного устройства связи пользователя на сервер; осуществляет выделение полученных данных посредством синтаксического анализатора, содержащих собранные признаки, в соответствии с наименованием полей; направляют выделенные признаки в обученную статистическую модель данных, расположенную на сервере, содержащую группы признаков, которые включают группу статистических признаков, динамических признаков, пользовательских метрик, файловых метрик и модифицированных метрик; принимают решение посредством обученной статистической модели данных установлено мобильное приложение на реальном устройстве или эмулируемой мобильной операционной системе. 2 н. и 9 з.п. ф-лы, 9 ил.
Реферат Свернуть Развернуть

ОБЛАСТЬ ТЕХНИКИ

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

УРОВЕНЬ ТЕХНИКИ

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

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

[004] Как раскрыто в статьях [1, 2], существуют способы определения эмулятора, основанные на данных, получаемых от датчиков оборудования, таких как акселерометр, гироскоп, GPS, датчик света, силы тяжести. Выходные значения этих датчиков основаны на информации, собранной из окружающей среды, и, следовательно, реалистичная их эмуляция является сложной задачей. Присутствие такого рода датчиков - основное различие между смартфонами и настольными компьютерами. Увеличивающееся число датчиков на смартфонах дает новые возможности для идентификации мобильных устройств.

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

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

СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯ

[007] Технической проблемой или технической задачей, решаемой в данном техническом решении, является выявление эмулируемой мобильной операционной системы с использованием методов машинного обучения.

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

[009] Дополнительно проявляющимся техническим результатом является предотвращение возможности многократно выполнять «первый» заказ в мобильных приложениях. Многие приложения предоставляют скидки/бонусы/баллы за начало использование их сервиса на первый заказ услуги/продукта. Эмулируемая операционная система позволяет многократно выполнять «первый» заказ одним человеком.

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

[0011] В некоторых вариантах реализации технического решения сбор данных на мобильном приложении осуществляются в JSON-файл и/или XML, и/или YML, и/или ТХТ.

[0012] В некоторых вариантах реализации технического решения сервер располагается в облачном хранилище данных или локально.

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

[0014] В некоторых вариантах реализации технического решения для определения эффективности статистической модели используется кросс-валидация.

[0015] В некоторых вариантах реализации технического решения синтаксический анализатор осуществляет разбор элементов, содержащих собранные признаки, в соответствии с наименованием их полей.

[0016] В некоторых вариантах реализации технического решения синтаксический анализатор после разбора файла осуществляет маппинг признаков в поля таблицы в базу данных.

[0017] В некоторых вариантах реализации технического решения маппинг данных в поля таблицы в базу данных происходит путем выполнения INSERT-запроса.

[0018] В некоторых вариантах реализации технического решения при выделении посредством синтаксического анализатора признаков, делят их на статические и динамические.

[0019] В некоторых вариантах реализации технического решения к динамическим данным относятся показания акселерометра и/или гироскопа, и/или датчика освещенности, и/или датчика магнитного поля, и/или датчика движения, и/или датчика расстояния, и/или датчика вращения.

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

[0021] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящей технологии станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы технологии.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0022] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания и прилагаемых чертежей, на которых:

[0023] На Фиг. 1 показан вариант реализации архитектуры системы выявления эмулируемой мобильной операционной системы с использованием методов машинного обучения.

[0024] На Фиг. 2 показана структура приложения для сбора данных с устройства.

[0025] На Фиг. 3 показан пример коэффициентов для модели логистической регрессии.

[0026] На Фиг. 4 показан пример значимости коэффициентов для статистической модели случайного леса.

[0027] На Фиг. 5 показан объем потребляемого заряда батареи в зависимости от используемых функций устройства.

[0028] На Фиг. 6 показан вариант реализации разбиения набора данных и построение модели на одной части данных.

[0029] На Фиг. 7 показан вариант реализации дерева решений.

[0030] На Фиг. 8 показан вариант реализации системы выявления эмулируемой мобильной операционной системы с использованием методов машинного обучения.

[0031] На Фиг. 9 показан вариант реализации системы выявления эмулируемой мобильной операционной системы с использованием методов машинного обучения в виде блок-схемы.

ПОДРОБНОЕ ОПИСАНИЕ

[0032] Данное техническое решение может быть реализовано на компьютере, в виде автоматизированной информационной системы (АИС) или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.

[0033] Техническое решение может быть реализовано в виде распределенной компьютерной системы, которая может быть установлена на централизованном сервере (наборе серверов). В некоторых вариантах реализации модель так же может функционировать локально на телефоне в рамках мобильного приложения. Доступ пользователей к системе возможен как из сети Интернет, так и из внутренней сети предприятия/организации посредством мобильного устройства связи, на котором установлено программное обеспечение с соответствующим графическим интерфейсом пользователя, или персонального компьютера с доступом к веб-версии системы с соответствующим графическим интерфейсом пользователя.

[0034] Ниже будут описаны термины и понятия, необходимые для реализации настоящего технического решения.

[0035] В данном решении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность вычислительных операций (действий, инструкций).

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

[0037] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.

[0038] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.

[0039] В контексте настоящего описания, если четко не указано иное, «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте настоящей технологии использование выражения «сервер» не означает, что каждая задача (например, полученные инструкции или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может являться одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».

[0040] В контексте настоящего описания, если четко не указано иное, «клиентское устройство» или «мобильное устройство связи пользователя» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами клиентских устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного метода.

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

[0042] В контексте настоящего описания, если четко не указано иное, термин «информация» включает в себя любую информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.

[0043] В контексте настоящего описания, если четко не указано иное, термин «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной (-ых) указанной (-ых) функции(й).

[0044] В контексте настоящего описания, если четко не указано иное, термин «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.

[0045] В контексте настоящего описания, если четко не указано иное, слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной связи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий «второй сервер» обязательно должен существовать в той или иной ситуации.

[0046] Перечень ключевых компонент системы выявления эмулируемой мобильной операционной системы с использованием методов машинного обучения, представленной на Фиг. 8, включает в себя нижеуказанные элементы.

[0047] Сборщиком данных является мобильное приложение, которое устанавливается на устройство под управлением ОС Android и выполняет сбор данных, как показано на Фиг. 2, которые представляют собой различные метрики устройства, подробно описанные ниже. В некоторых вариантах реализации, получаемые данные делятся на группы признаков, которые позволяют в дальнейшем более точно классифицировать принадлежность признака к той или иной группе

[0048] Группа статистических признаков может включать наличие Bluetooth модуля и наличие Vibracall модуля в мобильном устройстве связи пользователя.

[0049] Группа динамических признаков может включать показания акселерометра, гироскопа, датчика освещения, датчика линейного ускорения, уровень заряда батареи, показания датчика магнитного поля, показания датчика движения, показания датчика расстояния, показания датчика вращения.

[0050] Группа пользовательских метрик может включать такие признаки как количество SMS/MMS, количество контактов, количество выполненных звонков, количество фотографий (пользовательских файлов), история в браузере и т.д.

[0051] Группа файловых метрик может включать, например, наличие файла наличие токена «network_thoughput» в файле /proc/mosc, наличие токена «0ff\0:» в файле /proc/ioports, наличие файла /proc/uid_stat, наличие токена «MINOR=5» в файле /sys/device/virtual/misc/cpu_dma_latency/uevent. Группа модифицированных метрик, включающая набор различных токенов в параметрах, например, токен «userdebug» в параметре Build.DISPLAY, токены «userdebug», «vbox86» или «remix» в параметре Build.FINGERPRINT и т.д.

[0052] Парсер текста или синтаксический анализатор находится на серверной части системы, осуществляет разбор строки данных и маппинг в базу данных полей из JSON файла, в котором могут находиться признаки, в поля БД. В качестве парсера JSON может быть использован любой Open Source продукт, решающий эту задачу, или парсер собственной разработки. Передача данных средствами JSON-файла не является единственным возможным и ограничивающим вариантом реализации. Так же для передачи данных могут использоваться прямые запросы (команда Insert) в БД, либо осуществляться передача данных путем формирования и передачи XML, YML, ТХТ и других форматов текстовых файлов, не ограничиваясь.

[0053] База данных находится на серверной части, осуществляет долгосрочное хранение данных. База данных используется в процессе исследования механизмов ОС (например, Android) для сбора и хранения списка всех метрик, потенциально свидетельствующих о наличии эмулируемой среды. База данных хранит итоговый список метрик.

[0054] Статистической моделью, которая находятся на серверной части, может быть логистическая регрессия, или дерево решений, или случайный лес, или наивный байесовский классификатор, или метод опорных векторов и другие алгоритмы машинного обучения. Данная статистическая модель осуществляет обработку и анализ данных с последующим формированием выходного результата (является ли устройство эмулятором, либо реальным устройством). Предварительно происходит формирование обучающей выборки и ее разметка. В некоторых вариантах реализации дополнительно с обучающей выборкой используют тестовую выборку для контролирования качества обучения. Для обучения статистической модели данные собираются из множества реальных устройств и множества доступных в настоящий момент эмуляторов. Затем происходит процесс обучения модели. Например, для дерева решений процесс обучения заключается в построении оптимального дерева, путем поиска признаков, наилучшим образом разделяющих всю выборку на два класса - эмуляторы и реальные устройства. В конкретном варианте реализации данного технического решения необходимо ответить от одного до трех вопросов, как показано на Фиг. 7, чтобы однозначно сказать, используется эмулятор или реальное устройство.

[0055] В качестве примерного варианта реализации могут использоваться следующие вопросы:

• есть ли файл uid_stat в директории /proc/?

• есть ли файл switch в директории /sys/device/virtual/?

• изменились ли значения датчика гироскопа с момента последнего сбора данных?

[0056] На следующем шаге проверяется эффективность полученной модели на различных наборах данных. В некоторых вариантах реализации для этого используется кросс-валидация, согласно которой происходит разбивка набора данных и построение статистической модели на одной части данных (называемой тренировочным набором или обучающей выборкой), затем происходит валидация результатов работы модели на другой части (называемой тестовым набором или тестовой выборкой). Таким образом, в примерном варианте реализации было выполнено 20 циклов кросс-валидации. Чтобы уменьшить разброс результатов, разные циклы кросс-валидации проводились на разных разбиениях, как показано на Фиг. 6. Результаты по каждому циклу кросс-валидации представлены ниже.

[0057] В качестве примера реализации ниже описан алгоритм работы одной из статистических моделей, которая может использоваться для выявления эмулируемой среды. Метод дерево решений (англ. «DecisionTree») является одним из наиболее популярных способов решения задач классификации и прогнозирования в области машинного обучения. Итак, в конкретном варианте реализации, как показано на Фиг. 7, основными элементами дерева решений являются:

[0058] Корнем дерева решений является признак «f3» - наличие файла /proc/uid_stat. Внутренним узлом дерева или узлом проверки является признак «f6» - наличие файла /sys/device/virtual/switch. Листом (конечным узлом дерева) является узел решения или вершина «эмулятор», «реальное устройство». Ветвью дерева (случаи ответа) может быть «Да» или «Нет».

[0059] Для формирования обучающей выборки осуществляют подготовку инфраструктуры, включающую работу сборщика данных, синтаксического анализатора JSON-файла и БД. Сборщик данных реализован в виде мобильного приложения, которое устанавливается на множество реальных устройств или в эмулируемую операционную систему и с заданным интервалом времени (например, один раз в 5 секунд) собирает данные по исследуемым метрикам. Синтаксический анализатор JSON-файла и БД устанавливаются на отдельный сервер, который может располагаться, как в облачном хранилище данных (в конкретном примере реализации в MS Azure), так и локально.

[0060] Синтаксический анализатор осуществляет разбор элементов JSON-файла, содержащих собранные признаки, в соответствии с наименованием их полей. Затем происходит маппинг в одноименные с JSON-файлом поля в БД. Нижеприведенный пример показывает возможное содержимое JSON-файла, для случая использования метода деревьев решений, описывающего эмулируемую операционную систему:

[0061] Алгоритм синтаксического разбора такого JSON-файла включает следующие шаги:

1. чтение JSON-файла;

2. поиск первого токена - f3 и запись данных в переменную А;

3. поиск второго токена - f6 и запись данных в переменную В;

4. поиск третьего токена - gyroscope_value_m и запись данных в переменную С.

[0062] Затем осуществляется маппинг значений переменных А, В и С в поля таблицы в БД для долгосрочного хранения и передача значений переменных в модель для анализа и принятия решения. Маппинг данных в поля таблицы в БД происходит путем выполнения INSERT-запроса.

[0063] В данном техническом решении для осуществления изобретения был собран набор данных, включивший в себя данные по 125 признакам, собранным с 631 устройства (246 - эмуляторов, 385 - реальных телефонов). После очистки и обработки данных были выбраны наиболее значимые признаки, которые использовались для обучения финальной статистической модели. Значимость признака определяется на основании эффективности разделения набора данных, т.е. каждый из 125 признаков последовательно проверяется на способность достоверно разделить сформированный набор данных на множество данных с реальных устройств и множество данных с эмуляторов.

[0064] Для сбора данных были использованы различные конфигурации следующих эмуляторов, приведенных в качестве примера, а не ограничения: Andy OS, BlueStacks, Genymotion, КО Player, LeapDroid, MEmu и т.д.

[0065] А также были использованы следующие модели реальных мобильных устройств связи, не ограничиваясь: Samsung Galaxy S4, Samsung Galaxy A5, Motorola XT1541, Lenovo A600 Plus.

[0066] После проведения анализа собранных данных и отбора наиболее значимых параметров, были выделены следующие метрики, не требующие дополнительных модификаций: наличие и доступность модуля Bluetooth, наличие функции виброзвонка, наличие токена «network_thoughput» в файле /proc/mosc, наличие токена «0ff\0:» в файле /proc/ioports, наличие файла /proc/uid_stat, наличие токена «MINOR=5» в файле /sys/device/virtual/misc/cpu_dma_latency/uevent, наличие файла /sys/device/virtual/ррр, наличие файла /sys/device/virtual/switch, наличие файла /sys/module/alarm/parameters, наличие файла /sys/device/system/cpu/cpuO/cpufreq, наличие файла /sys/device/virtual/misc/android_adb, наличие файла /proc/sys/net/ipv4/tcp_syncookies и т.д., не ограничиваясь.

[0067] Отбор значимых признаков происходит после формирования набора данных. Отбор значимых признаков происходит путем анализа собранных данных и выбора признаков, позволяющих максимально эффективно разделить множество устройств на реальные устройства и эмуляторы. Анализ заключается в подсчете показателя эффективности разделения множества устройств на эмуляторы и реальные устройства по каждому из 125 признаков последовательно. Затем происходит оценка возможности модификации признака и проводится повторный анализ аналогичным образом. Оценка возможности модификации признака носит аналитический характер и осуществляется на основе данных, характерных для конкретного признака. Например, данными возвращаемыми функцией telephonyManager.getAIICelllnfo(), является список идентификаторов GSM, LTE и WCDMA вышек. В исходном виде эти данные не являются эффективным признаком для разделения всего набора данных на две группы: 1 -данные с эмуляторов, 2 - данные с реальных устройств. Но после анализа этих данных, а именно подсчета количества каждого типа вышек в данных с эмуляторов и в данных с реальных устройств удается эффективно разделить весь набор данных по следующему критерию: наличие вышек типов LTE и WCDMA с высокой вероятностью свидетельствует о том, что данные получены с реального устройства. На основе этой аналитики были сформированы два модифицированных признака: n_cells_lte - количество вышек LTE, n_cells_wcdma - количество вышек WCDMA в выводе функции telephonyManager.getAIICelllnfo().

[0068] В отдельную группу вошли показания различных датчиков. Из-за невысокой точности получаемых с них показаний в подавляющем большинстве случаев значения, взятые с интервалом хотя бы в 5 секунд, различаются, даже если сами устройства находятся в неподвижном состоянии. Эти различия, как правило, невелики, но их может быть достаточно, чтобы отличить реальное устройство от эмулятора, где данные статичны, пока не будут изменены вручную. Для проверки корректности данного предположения были добавлены модифицированные признаки, сформированные на основе показаний с датчиков. Значение признака по конкретному датчику принимало значение 1, если показания датчика изменились с последнего измерения, и 0, если значение не изменилось.

[0069] Затем по этим признакам был выполнен повторный анализ на эффективность разделения всего набора данных на две группы - данные с эмуляторов и данные с реальных устройств. Некоторые признаки успешно разделили набор данных и были использованы в моделях. Например, в вышеописанной модели «дерево решений» успешно используется признак gyroscope_val ue_m.

[0070] К динамическим данным относятся показания со следующих датчиков: акселерометр, гироскоп, датчик освещенности, датчик магнитного поля, датчик движения, датчик расстояния, датчик вращения и другие.

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

[0072] При анализе статических показателей в набор данных вошли 25 признаков, перечисленных выше. Ниже приведены данные по 20 итерациям кросс-валидации на основе StratifiedKFold и метрики roc_auc (метрика, оценивающая качество работы классификатора, вычисляющего вероятность принадлежности объекта к положительному классу).

[0073] В таблице представлены показатели эффективности результатов работы моделей без использования данных с датчиков.

[0074] StratifiedKFold - класс библиотеки scikit-learn, позволяющий выполнить разделение набора данных таким образом, чтобы в полученных наборах соотношение количеств объектов, относящихся к разным классам (эмуляторы и реальные устройства), соответствовало этому соотношению для исходного набора данных.

[0075] При добавлении к набору данных динамических метрик общее число рассматриваемых признаков увеличилось до 35. Оценка моделей проводилась аналогичным описанному выше способом.

[0076] Как видно из приведенных данных, отобранные признаки позволили построить статистические модели, демонстрирующие близкие к идеальным результатам. По результатам проведенных тестов наилучшие показатели демонстрируют случай лес, метод опорных векторов и логистическая регрессия, достигая на имеющихся данных вероятности выявления эмулируемой среды близкой к 1. На Фиг. 3-4 показаны примеры коэффициентов для этих моделей.

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

• сбор данных;

• отправка данных в статистическую модель для анализа;

• формирование результата моделью;

• ответ мобильному приложению.

[0078] После сбора данных и работы синтаксического анализатора, соответствующие поля передаются в статистическую модель, где подвергаются анализу. Пример процесса анализа описан выше на примере метода деревьев решений. Результатом работы такой модели является вердикт, однозначно определяющий на реальном устройстве или в эмулируемой операционной системе запущено мобильное приложение. Результат работы статистической модели может передаваться в дальнейшем в систему фрод-мониторинга для последующей обработки, либо мобильному приложению для ограничения функционала или возможности запуска. Процесс передачи результата в приложение может осуществляться посредством одного из известных в уровне техники программных интерфейсов для обеспечения обмена данными между процессами, например, Socket, и/или WebSocket, и/или WCF, и/или REST и т.д.

[0079] Например, приложение может выполнять проверку операционной системы на предмет эмулируемой среды в момент запуска, либо при наступлении определенных событий - регистрация нового пользователя, смена пароля и другие.

[0080] Архитектура всей системы выявления эмулируемой мобильной операционной системы с использованием методов машинного обучения показана на Фиг. 8.

[0081] На Фиг. 9 представлен пример вычислительного устройства 800, которое может применяться для выполнения функций по логической обработке необходимых данных для реализации заявленного способа выявления эмулируемой мобильной операционной системы с использованием методов машинного обучения. Необходимо отметить, что указанные в материалах настоящей заявки компьютерное устройство пользователя и сервер, могут представлять собой один из вариантов воплощения вычислительного устройства 800.

[0082] В общем случае, вычислительное устройство 800 содержит объединенные общей шиной 810 один или несколько процессоров 801, средства памяти, такие как ОЗУ 802 и ПЗУ 803, интерфейсы ввода/вывода 804, средства ввода/вывода 805, и средство для сетевого взаимодействия 806.

[0083] Процессор 801 (или несколько процессоров, многоядерный процессор) может выбираться из ассортимента устройств, широко применяемых в текущее время, например, компаний Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п.

[0084] ОЗУ 802 представляет собой оперативную память и предназначено для хранения исполняемых процессором 801 машиночитаемых инструкций, для выполнения необходимых операций по логической обработке данных. ОЗУ 802, как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.).

[0085] ПЗУ 803 представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.

[0086] Для организации работы компонентов устройства 800 и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В 804. Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.

[0087] Для обеспечения взаимодействия пользователя с вычислительным устройством 800 применяются различные средства 805 В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.

[0088] Средство сетевого взаимодействия 806 обеспечивает передачу данных устройством 800 посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств 806 может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.

[0089] Дополнительно могут применяться также средства спутниковой навигации, например, как GPS, ГЛОНАСС, BeiDou, Galileo и т.д.

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

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

ИСПОЛЬЗУЕМЫЕ ИСТОЧНИКИ ИНФОРМАЦИИ

[0092] 1. Petsas Т. et al. Rage against the virtual machine: hindering dynamic analysis of android malware // Proceedings of the Seventh European Workshop on System Security. ACM, 2014. P. 5.

[0093] 2. Jing Y. et al. Morpheus: automatically generating heuristics to detect Android emulators // Proceedings of the 30th Annual Computer Security Applications Conference. ACM, 2014. P. 216-225.


СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ЭМУЛИРУЕМОЙ МОБИЛЬНОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ
СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ЭМУЛИРУЕМОЙ МОБИЛЬНОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ
СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ЭМУЛИРУЕМОЙ МОБИЛЬНОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ
СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ЭМУЛИРУЕМОЙ МОБИЛЬНОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ
СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ЭМУЛИРУЕМОЙ МОБИЛЬНОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ
СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ЭМУЛИРУЕМОЙ МОБИЛЬНОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ
СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ЭМУЛИРУЕМОЙ МОБИЛЬНОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ
СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ЭМУЛИРУЕМОЙ МОБИЛЬНОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ
СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ЭМУЛИРУЕМОЙ МОБИЛЬНОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ
СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ЭМУЛИРУЕМОЙ МОБИЛЬНОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ
Источник поступления информации: Роспатент

Показаны записи 1-10 из 46.
23.11.2018
№218.016.a020

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

Изобретение относится к системам и способам выявления причин возникновения претензий и инцидентов в сети устройств самообслуживания. Техническими результатами являются повышение качества анализа клиентских обращений, повышение точности и скорости анализа претензий пользователей устройства...
Тип: Изобретение
Номер охранного документа: 0002673001
Дата охранного документа: 21.11.2018
01.03.2019
№219.016.c8ca

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

Изобретение относится к области вычислительной техники. Техническим результатом является повышение качества создаваемых моделей кредитного скоринга. Раскрыт компьютеризированный способ разработки и управления моделями скоринга, включающий следующие шаги: получают данные за заданный период...
Тип: Изобретение
Номер охранного документа: 0002680760
Дата охранного документа: 26.02.2019
21.03.2019
№219.016.eb69

Способ и система передачи информации о р2р-переводе

Изобретение относится к области передачи информации о р2р-переводе. Техническим результатом является обеспечение надежности передачи данных между автоматизированными информационными системами. Раскрыт способ передачи информации о р2р-переводе, включающий следующие шаги: записывают посредством...
Тип: Изобретение
Номер охранного документа: 0002682426
Дата охранного документа: 19.03.2019
01.04.2019
№219.016.fa42

Система управления сетью pos-терминалов

Изобретение относится к области вычислительной техники, а в частности к системам управления сетью POS-терминалов. Технический результат заключается в осуществлении технического решения для конфигурации POS-терминалов, обеспечивающего реализацию механизма удаленной загрузки конфигурационных...
Тип: Изобретение
Номер охранного документа: 0002683613
Дата охранного документа: 29.03.2019
03.04.2019
№219.016.fada

Способ и система автоматической генерации программного кода для корпоративного хранилища данных

Изобретение относится к способу и системе автоматической генерации программного кода для корпоративного хранилища данных. Технический результат заключается в управлении обновлением хранилища данных. В способе получают метаданные, описывающие настройку механизмов трансформации данных для их...
Тип: Изобретение
Номер охранного документа: 0002683690
Дата охранного документа: 01.04.2019
12.04.2019
№219.017.0bfa

Система мониторинга технического состояния сети pos-терминалов

Изобретение относится к средствам мониторинга технического состояния POS-терминалов. Система мониторинга технического состояния сети POS-терминалов, содержащая множество POS-терминалов, объединенных сетью передачи данных с системой обработки транзакций, клиентских вычислительных устройств и...
Тип: Изобретение
Номер охранного документа: 0002684494
Дата охранного документа: 09.04.2019
27.04.2019
№219.017.3c18

Способ и система предиктивного избегания столкновения манипулятора с человеком

Изобретение относится к области вычислительной технике. Технический результат заключается в повышении уровня безопасности работы персонала вблизи промышленного манипулятора. Технический результат достигается за счет формирования виртуального графа проходимости промышленного манипулятора;...
Тип: Изобретение
Номер охранного документа: 0002685996
Дата охранного документа: 23.04.2019
24.05.2019
№219.017.5e1c

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

Изобретение относится к вычислительной технике. Технический результат – увеличение скорости обслуживания пользователя. Способ для выстраивания диалога с пользователем в канале передачи данных включает: получение данных пользовательского ввода; предобработку пользовательского ввода посредством...
Тип: Изобретение
Номер охранного документа: 0002688758
Дата охранного документа: 22.05.2019
29.05.2019
№219.017.6336

Система мониторинга сети устройств самообслуживания

Изобретение относится к системам мониторинга сети устройств самообслуживания (УС). Технический результат заключается в автоматизации устранения технических нарушений в работе УС. Система содержит УС, связанное с сервером, причем УС содержит вычислительное устройство, запоминающее устройство и...
Тип: Изобретение
Номер охранного документа: 0002688254
Дата охранного документа: 21.05.2019
31.05.2019
№219.017.70c4

Способ интерпретации искусственных нейронных сетей

Изобретение относится к области вычислительной техники и может быть использовано для интерпретации работы моделей искусственных нейронных сетей. Техническим результатом является повышение качества и точности интерпретации работы искусственной нейронной сети. Способ содержит этапы, на которых...
Тип: Изобретение
Номер охранного документа: 0002689818
Дата охранного документа: 29.05.2019
Показаны записи 1-3 из 3.
31.01.2020
№220.017.fb54

Способ и система распознавания лиц и построения маршрута с помощью средства дополненной реальности

Данное техническое решение, в общем, относится к области вычислительной техники. Техническим результатом является снижение времени поиска людей в местах массового скопления людей или больших многоэтажных зданий, в которых данные люди не должны находиться, и повышение точности идентификации лиц....
Тип: Изобретение
Номер охранного документа: 0002712417
Дата охранного документа: 28.01.2020
12.02.2020
№220.018.018b

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

Изобретение относится к области анализа видеоизображений для выявления тревожных событий при взаимодействии с устройствами самообслуживания (далее - УС). Технический результат заключается в повышении точности выявления тревожных событий. Такой результат достигается за счет получения данных с по...
Тип: Изобретение
Номер охранного документа: 0002713876
Дата охранного документа: 07.02.2020
29.07.2020
№220.018.38b3

Способ и система выявления вредоносных файлов с помощью генерирования объявлений на торговых онлайн платформах

Изобретение относится к области компьютерных технологий для выявления вредоносного ПО. Технический результат направлен на расширение арсенала средств того же назначения. Способ выявления вредоносных файлов с помощью генерирования объявлений на торговых онлайн платформах (ТОП), выполняемый с...
Тип: Изобретение
Номер охранного документа: 0002727932
Дата охранного документа: 27.07.2020
+ добавить свой РИД