Система и способ защиты от вредоносного программного обеспечения, связывающаяся с сервером

Настоящее описание относится к системе и способу предотвращения влияния вредоносных, шпионских программ, а также других нежелательных приложений на мобильные устройства связи. Технический результат состоит в предоставлении возможности удаленного анализа объекта данных, находящегося на мобильном устройстве связи, для обеспечения защиты мобильного устройства и достигается за счет использования связи с сервером для получения помощи в выявлении и удалении нежелательных приложений. При сканировании приложений устройство передает информацию о приложении на сервер для анализа. Сервер получает информацию, дает оценку приложения и передает оценку на устройство. Благодаря проведению анализа на сервере, изобретение позволяет мобильному устройству связи сократить расход аккумулятора и затраты на выполнение операций по защите от нежелательных приложений. Серверы передают уведомления устройствам, на которых ранее были установлены приложения, являющиеся нежелательными. Сервер получает данные о приложениях от множества устройств, используя объединенные данные для того, чтобы свести к минимуму ложные срабатывания, и обеспечивает комплексную защиту от известных и неизвестных угроз. 3 н. и 35 з.п. ф-лы, 12 ил.

 

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

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

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

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

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

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

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

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

[7] Настоящее описание поясняется более подробно на примерах со ссылками на прилагаемые чертежи, на которых:

[8] Фиг.1 является блок-схемой, иллюстрирующей вариант осуществления изобретения.

[9] Фиг.2 является блок-схемой, иллюстрирующей этапы осуществления изобретения.

[10] Фиг.3 является блок-схемой, иллюстрирующей этапы осуществления изобретения.

[11] Фиг.4 является блок-схемой, иллюстрирующей этапы осуществления изобретения.

[12] Фиг.5 является блок-схемой, иллюстрирующей этапы осуществления изобретения.

[13] Фиг.6 является блок-схемой, иллюстрирующей этапы осуществления изобретения.

[14] Фиг.7 является блок-схемой, иллюстрирующей этапы осуществления изобретения.

[15] Фиг.8 является блок-схемой, иллюстрирующей этапы осуществления изобретения.

[16] Фиг.9 является блок-схемой, иллюстрирующей этапы осуществления изобретения.

[17] Фиг.10 является блок-схемой, иллюстрирующей этапы осуществления изобретения.

[18] Фиг.11 является блок-схемой, иллюстрирующей этапы осуществления изобретения.

[19] Фиг.12 является блок-схемой, иллюстрирующей этапы осуществления изобретения.

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

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

[21] Следует учесть, что заявляемое изобретение может быть осуществлено несколькими способами, включая процесс, оборудование, систему, устройство, способ, машиночитаемый носитель, такой как машиночитаемый носитель данных, содержащий машиночитаемые инструкции или компьютерную программу, или такой как программный продукт, содержащий используемый компьютером носитель с машиночитаемым программным кодом на нем. Следует учитывать, что мобильные устройства связи, описанные в настоящем документе, могут включать любое компьютерное или вычислительное устройство, работающее на операционной системе, предназначенной для использования на ручных или мобильных устройствах, таких как смартфоны, КПК, планшеты, мобильные телефоны и подобные устройства. Например, мобильные устройства связи могут включать такие устройства как Apple iPhone®, Apple iPad®, Palm Pre™, или любые другие устройства, работающие на Apple iOS™, Android™ OS, Google Chrome OS, Symbian OS®, Windows Mobile® OS, Palm OS® или Palm Web OS™. В настоящем документе мобильные устройства связи могут также обозначаться как мобильное устройство, мобильный клиент или просто устройство или клиент.

[22] В контексте данного документа под используемым компьютером носителем или машиночитаемым носителем понимается любой носитель, который содержит или хранит программу, предназначенную для использования системой, оборудованием или устройством исполнения инструкций или в сочетании с ними. Например, машиночитаемый носителем данных или используемым компьютером носителем могут являться, но приведенным не ограничиваются, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ) или постоянное хранилища, такие как запоминающие устройства большой емкости, жесткие диски, CD-ROM, DVD-ROM, магнитная лента, стираемая программируемая постоянная память (EPROM или флеш-память), или любая магнитная, электромагнитная, инфракрасная, оптическая или электрическая система, оборудование или устройство для хранения информации. Альтернативный или дополнительный вариант предусматривает, что машиночитаемый носитель данных или используемый компьютером носитель может быть комбинацией этих устройств или даже листом бумаги или другим подходящим средством, на котором напечатан программный код, так как программный код может быть введен электронно через например, оптическое сканирование бумаги или другого носителя, затем собран, интерпретирован или иначе обработан подходящим способом, если необходимо, и затем сохранен в памяти компьютера.

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

[24] Как уже отмечалось выше, сервисы безопасности могут быть предоставлены одному или нескольким мобильным устройствам связи сервером или группой совместно работающих серверов. В рамках данного описания существует множество возможных вариантов, как несколько серверов могут выполнять операции вместе для предоставления сервисов безопасности. Заявляемая система иллюстрируется на Фиг.1, на котором один или несколько серверов 151 связываются с одним или несколькими мобильными устройствами связи посредством мобильного Интернета, беспроводного Интернета или другой сети 121. Как уже отмечалось выше, мобильное устройство связи 101 может также именоваться «мобильное клиентское устройство», «клиентское устройство», «устройство» или «клиент» в единственном или множественном числе. Один или несколько серверов 151 могут иметь доступ к хранилищу данных 111, которое содержит информацию о безопасности для одного или нескольких мобильный устройств связи 101. Данные, информация об оценке, информация о мобильных устройствах связи 101, или другие объекты, предназначенные для хранения, могут храниться на серверах 151 или в хранилище данных 111. Сервера 151 или хранилище данных 111 могут быть в единственном или во множественном числе, физическими или виртуальными. Хранилище данных 111 может быть в виде базы данных, таблицы данных, структуры данных, файловой системы или другого запоминающего устройства. Хранилище данных 111 может быть размещено на любом сервере (на одном или на нескольких), или может быть внешним и существовать отдельно от одного или нескольких серверов 151, при условии, что один или несколько серверов 151 имеют доступ к хранилищу данных 111. В заявляемом изобретении, хранилище данных 111 - это внешний сервис, предоставляемый третьей стороной, например. Simple Storage Service (S3) или другими продуктами компании Amazon Web Services, LLC. Следует учесть, что конфигурация системы, изображенная на Фиг.1, не является ограничивающей, а представляет собой вариант осуществления изобретения, а в рамках данного описания возможны также и другие конфигурации.

[25] Следует учитывать, что при взаимодействии между мобильными устройствами связи 101 и сервером 151 могут использоваться разнообразными сетевые протоколы и меры безопасности. В заявляемом изобретении сервер 151 использует HTTP сервер, а устройство 101 выступает в качестве HTTP-клиента. Чтобы обеспечить безопасность передаваемых данных, мобильное устройство связи 101 и сервер 151 могут использовать протокол Transaction Layer Security ("TLS"). Кроме того, чтобы гарантировать, что мобильное устройство связи 101 имеет право доступа к серверу 151 и проверить подлинность мобильного устройства связи 101, устройство 101 может посылать серверу 151 один или несколько идентификаторов и регистрационные данные, подтверждающие его подлинность. Например, такие данные могут включать имя пользователя и пароль, специфические для устройства регистрационные данные или любые другие данные, которые позволяют серверу 151 идентифицировать мобильное устройство связи 101. Процесс аутентификации позволяет серверу 151 сохранять информацию, касающуюся мобильного устройства связи 101 в учетной записи, относящейся к конкретному мобильному устройству связи 101, обеспечивая тем самым индивидуализированный сервис устройству 101 и поддерживая постоянное наблюдение за статусом безопасности мобильного устройства связи 101.

[26] Специалистам в данной области будет ясно, что, для того, чтобы предоставлять сервисы безопасности для мобильных устройств связи, эти устройства должны будут передавать определенные данные на сервер 151. Ниже будет описано более подробно, как сервер 151 будет анализировать эти данные и оценивать их с точки зрения безопасности, формировать ответ и/или производить иное действие. Ниже описываются тип(ы) данных, передаваемые с мобильного устройства связи 101 на сервер 151, анализ, производимый сервером 151, и действия, предпринимаемые вместе с или только мобильным устройством связи 101.

[27] Следует принять во внимание, что заявляемое изобретение может существовать независимо на мобильных устройствах связи 101, или может быть встроено в имеющуюся на устройстве систему безопасности, такую как, например, описанная в патентной заявке США №12/255,614 «Система и способ для анализа нескольких интерфейсов и нескольких протоколов», зарегистрированная 21 октября 2008 и включенная здесь в полном объеме. Специалистам в данной области будет ясно, что для того, чтобы внедрить заявляемое изобретение на разные платформы мобильных устройств связи, может потребоваться кроссплатформенная система такая как, например, описанная в патентной заявке США №12/255,626 «Система и способ для системы мобильного кроссплатформенного программного обеспечения», зарегистрированной 21 октября 2008 и включенной здесь в полном объеме. Кроме того, как ниже будет сказано, ряд аспектов этого изобретения могут быть использованы для того, чтобы определить состояние безопасности для мобильного устройства связи 101, что описано в патентной заявке США №12/255,632 «Система безопасной мобильной платформы», зарегистрированной 21 октября 2008 и включенной здесь в полном объеме.

[28] Специалистам в данной области техники также следует принять во внимание, что мобильные устройства связи подвергаются воздействию разных типов данных. Эти данные включают данные сети, файлы, исполняемые и неисполняемые приложения, электронные письма и другие типы объектов, которые могут быть переданы, получены или установлены на мобильном устройстве связи. Мобильные устройства связи кроме того, как правило, передают и получают данные через один или несколько интерфейсов, включая Bluetooth, WiFi, инфракрасный интерфейс, радио ресиверы и т.п. Аналогично этому, данные могут быть инкапсулированы в уровневый протокол обмена данными или совокупность протоколов, таких как TCP/IP, HTTP, Bluetooth и др. Возможности существующих моделей безопасности «клиент-сервер», таких как, например, модели, доступные для настольных компьютеров или ноутбуков, не могут быть расширены для того, чтобы обеспечить адекватную оценку и безопасность для множества мобильных устройств связи.

[29] Это изобретение предполагает как минимум два типа данных, которые могут быть использованы для оценки и защиты мобильных устройств связи. Первый тип данных включает данные о мобильном устройстве связи или «данные об устройстве». Данные об устройстве относятся к его состоянию, возможностям, операционной системе, встроенным программам, объему памяти, доступным портам связи, характеристикам аккумулятора, характеристикам аппаратного обеспечения и другой основной информации, которая является общей для всех подобных устройств без настроек конкретного пользователя. Данные об устройстве могут включать настройки по умолчанию после получения устройства от производителя, сервис-провайдера, или ИТ-службы. Данные об устройстве могут включать информацию о состоянии, общую для подобных устройств после того, как они были усовершенствованы в каком-либо варианте. Как будет сказано ниже, данные об устройстве могут быть использованы для того, чтобы оценить, существуют ли уязвимости из-за незащищенных портов связи, операционной системы, а также по причине атак, направленных на конкретный тип устройства и др.

[30] Второй тип данных, который может быть использован для оценки мобильных устройств связи, это данные, относящиеся к определенному приложению, файлу или объекту, который может быть установлен или запущен на мобильном устройстве. В настоящем документе этот тип данных обозначается как «данные приложения». Данные приложения включают как объекты данных и информацию о них, так и данные о данных и их поведении. Объекты данных включают пакеты приложений, которые могут иметься на конкретных мобильных устройствах. Например, устройства с установленной на них iPhone OS обычно используют IPA-файлы или APP-пакеты, в случае с Android OS устройства обычно используют APK-файлы, устройства с Windows Mobile, как правило, используют CAB, EXE или DLL-файлы, а устройства Symbian OS обычно используют SIS-файлы. Устройства также могут поддерживать формат кроссплатформенных приложений такие как SWF-формат, лежащий в основе программы Adobe Flash, или JAR-файлы, которые могут запускаться на виртуальных машинах Java.

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

[32] Данные приложения включают метаданные об объектах данных. Например, метаданные - это информация о конкретном объекте данных, нежели объект данных сам по себе. Метаданные включают местонахождение в файловой системе мобильного устройства связи (где хранится объект данных), хеш объекта данных, имя объекта данных, уникальный идентификатор существующий в или ассоциирующийся с объектом данных такой как GUID или UUID, информацию о безопасности, относящуюся к объекту данных такую как информация о криптографическом подписчике или уровне доступа, и характеристику того, как объект данных устанавливается и интегрируется в операционную систему мобильного устройства. Метаданные об объекте данных могут также включать информацию, откуда пришел объект данных (например URL-адрес, откуда он был загружен, магазин приложений, откуда он был загружен, или запоминающее устройство, с которого он был установлен и сохранен). Метаданные могут также быть получены из магазина приложений. Такие метаданные, обозначаемые «метаданные из магазина приложений», включают информацию об объекте данных, например, количество загрузок, комментарии пользователей об объекте данных, описание объекта данных, разрешения, запрашиваемые объектом данных, требования к аппаратному и программному обеспечению для объекта данных, информацию о создателе объекта данных, его цену, язык или языки, поддерживаемые объектом данных и другую информацию, которую магазин приложений может предоставить.

[33] В изобретении, данные приложения также включают данные о поведении. Данные о поведении включают информацию о том, как приложение взаимодействует с или использует ресурсы мобильного устройства связи, такие как память, заряд аккумулятора, сеть, хранилище данных, ЦПУ, API, ошибки и отказ системы, подключенные услуги сети (например, удаленный адрес хоста и порт), связывается с библиотекой исполняющей системы. Данные о поведении также включают информацию о том, как приложение, файл или объект данных, когда он работает, использует функциональные возможности операционной системы мобильного устройства, такие как уведомления и сообщение между процессами и установленными приложениями.

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

A. Сбор данных об устройстве

[35] Настоящий пункт будет посвящен тому, как данные об устройстве и данные приложений собираются и хранятся согласно заявляемому изобретению. В целом, следующее далее описание посвящено взаимодействию сервера 151 и мобильного устройства связи 101 через сеть. Любые данные, передаваемые или получаемые посредством этих коммуникаций, могут храниться на сервере 151 или в хранилище данных 111. В заявляемом изобретении данные, сохраняемые в хранилище данных 111 или на сервере 151, ассоциируются с определенной учетной записью или устройством, знакомым системе. Ассоциация между данными и устройством или учетной записью будет позволять серверу 151 обеспечивать индивидуально настроенный набор функциональных возможностей для учетной записи или устройства, основываясь на ранее полученных данных. В заявляемом изобретении, некоторые или все данные хранятся на сервере 151 или в хранилище 111, используя анонимную ассоциацию с определенной учетной записью или устройством. Например, данные могут храниться с анонимной ассоциацией для целей соблюдения сохранности личных данных так, чтобы анализ данных на сервере 151 или хранилище данных 111 не могли связать анонимно-ассоциированные данные с конкретной учетной записью или устройством; при этом, тем не менее, устройство могло бы загружать и обновлять эти анонимно-ассоциированные данные. Анонимные ассоциации описываются далее более подробно. В изобретении, сервер 151 затребует информацию от мобильного устройства связи 101, которое в ответе предоставит запрашиваемую информацию. В заявляемом изобретении, мобильное устройство связи 101 передаст данные о себе и/или данные приложения серверу 151 для анализа и оценки. Например, пользователь мобильного устройства связи 101 может захотеть загрузить файл на свое устройство, но перед тем как установить этот файл, может захотеть послать его или идентифицирующие файл данные на сервер 151 для того, чтобы проверить, является этот файл вредоносным или нежелательным по какой-либо другой причине. Сервер 151 в таком случае проанализирует полученную информацию для того, чтобы произвести оценку безопасности, доступную любому мобильному устройству связи 101. В другом варианте, может быть полезно узнать, как оцененный объект данных будет влиять на работу и поведение мобильного устройства связи и получить оценку, содержащую такую информацию как средний расход батареи или среднее использование сети объектом данных. В заявляемом изобретении, сервер 151 хранит оценки объектов данных после анализа и может обеспечить доступ к этим оценкам несколькими способами. Анализ, проводимый сервером 151, будет описан ниже. Процесс, с помощью которого сервер 151 обеспечивает доступ к информации, касающейся оценок, будет также раскрыт далее.

[36] Чтобы предотвратить перегрузку сети 121 и сервера 151 сетевым графиком, могут быть использованы различные способы, чтобы уменьшить количество данных, запрашиваемых и передаваемых серверу 151. Например, в место того, чтобы передавать полностью объекты данных для анализа, такие как файлы приложений или пакеты приложений, к данным могут применяться хеш-функции и алгоритмы хеширования, а результат хеширования может быть передан сервер 151. Сервер 151 может использовать этот хеш для того, что уникально идентифицировать объект данных. Если сервер ранее уже выполнял анализ объекта данных, идентифицированных хешем, то сервер 151 может передать предыдущую оценку при условии, что она до сих пор верна. Если сервер 151 еще не производил оценку объекта данных, то сервер 151 может передать ответ, указывающий, что оценка неизвестна и/или запросить дополнительные данные с мобильного устройства связи 101. Специалистам будет ясно, что алгоритм хеширования трансформирует произвольное количество данных в идентификатор фиксированной длины. Например, алгоритм хеширования SHA-1 может генерировать из произвольного количества входящих данных 160-битное хеш-значение. В другом случае, вместо самого объекта данных кроме хеш-данных могут быть посланы метаданные, например, метаданные приложения могут быть переданы вместо всего приложения. Во многих случаях, метаданных, таких как имя пакета, имя приложения, имя файла, объем файла, запрашиваемые разрешения, криптографический подписчик, источник загрузки, уникальный идентификатор, например UUID и других, может оказаться достаточно для идентификации объекта данных; таким образом, если сервер 151 получает подходящую идентифицирующую информацию, он может определить, желателен ли объект данных или нет. Специалисту следует учесть, что существует множество способов, с помощью которых объект данных может быть идентифицирован так, чтобы это позволило серверу 151 определить, является ли устанавливаемый устройством 101 объект данных вредоносным, при этом без необходимости передавать объект данных серверу полностью.

[37] В заявляемом изобретении, сервер 151 может запрашивать части объекта данных, а не объект данных полностью. Весь объект данных может передаваться постепенно, шаг за шагом так, чтобы сеть 121 не была перегружена сетевым графиком. Альтернативный или дополнительный вариант предусматривает, что сервер 151 может запрашивать информацию о конкретном приложении, но может запрашивать ее у группы мобильных устройств связи, на каждом из которых установлено это приложение. При таком способе, сервер может получать часть или «кусочек» дынных с одного мобильного устройства и другую часть данных со второго мобильного устройства данных и так далее, если необходимо. Сервер 151 может затем объединять эту информацию по мере получения, таким образом собирая данные с нескольких мобильных устройств, на которых имеются данные приложения/файла без перегрузки какого-либо из устройств. Пример этого способа будет разбираться ниже более подробно.

[38] Фиг.2 представляет собой общее описание передачи разных типов данных между мобильным устройством связи 101 и сервером 151. На Фиг.2, в элементе схемы 201 мобильное устройство 101 посылает данные приложения на сервер 151, который получает эти данные (элемент схемы 203). В изобретении, мобильное устройство связи посылает идентифицирующую или подтверждающую подлинность информацию сервер 151 так, чтобы сервер 151 мог соотнести ранее сохраненную идентифицирующую или подтверждающую подлинность информацию о мобильном устройстве 101, сохранить и вернуть данные, ассоциируемые с мобильным устройством 101, и был способен идентифицировать и проверить подлинность мобильного устройства связи 101 среди других мобильных устройств связи.

[39] В изобретении, сервер 151 посылает уведомление мобильному устройству 101 (элемент схемы 205). Это уведомление может быть предупреждением, сообщением, инструкцией или другой информацией, относящейся к данным приложения или данным об устройстве на конкретном мобильном устройстве связи. В изобретении, уведомление должно приходить как результат, того, что устройство перед этим послало данные приложения, соответствующие объекту данных, который не был первоначально оценен сервером 151 как нежелательный, но впоследствии был определен сервером 151 как нежелательный. В элементе схемы 207, мобильное устройство связи 101 получает уведомление, и в элементе схемы 209, устройство предпринимает действия в соответствии с уведомлением. Как ниже будет указано, такие действия могут включать деактивацию одной или нескольких компонентов или приложений на мобильном устройстве связи 101.

[40] Специалистам будет ясно, что взаимодействие между мобильным устройством связи 101 и сервером 151 может включать коммуникации с мобильного устройства на сервер, также как и с сервера на мобильное устройство. Например, в изобретении, сервер 151 может получать данные приложения от мобильного устройства 101, но при этом сервер 151 может потребовать дополнительную информацию, перед тем как провести оценки и передать уведомление. В элементе схемы 211 сервер 151 может запросить дополнительную информацию с мобильного устройства 101. Мобильное устройство получает запрос (элемент схемы 213), собирает дополнительную информацию в соответствии с запросом сервера 151 (элемент схемы 215), и затем, в элементе схемы 217, передает дополнительную информацию серверу 151. В элементе схемы 219, сервер 151 получает запрошенную дополнительную информацию. Следует учесть, что этот процесс может повторяться такое количество раз, какое необходимо.

[41] Фиг.3-7 иллюстрируют передачу и сбор данных приложения и данных об устройстве более подробно. Фиг.3 иллюстрирует вариант осуществления изобретения, когда сервер 151 оценивает изменение в объекте данных, сохраненном на мобильном устройстве связи 101. На Фиг.3, мобильное устройство связи 101 обнаруживает изменение в конкретном объекте данных (элемент схемы 301). Специалистам будет ясно, что обнаружение изменений в объекте данных может включать такие механизмы как перехват системных вызовов или операций файловой системы, изменение слушателя файловой системы или другого объекта данных, получение события из системы управления пакетами (например, PACKAGE_UPDATED или PACKAGE_REPLACED в операционной системе Android™), а также опрос объектов данных в файловой системе или другой системе, способной подсчитывать объекты данных. Для обнаружения могут быть использованы также и другие техники. Альтернативный или дополнительный вариант предусматривает, что следующие способы могут иметь место в случае, если обнаруживается изменение объекта данных: по запросу пользователя мобильного устройства связи или по заранее настроенному расписанию для анализа и оценки объектов данных на мобильном устройстве связи.

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

[43] В изобретении, мобильное устройство 101 хранит информацию о том, что оно передало, а сервер 151 успешно получил данные приложения для одного или нескольких объектов данных, находящихся на устройстве. Для того чтобы идентифицировать, о каких объектах данных соответствующие данные приложения были переданы серверу 151, мобильное устройство 101 может хранить базу данных, содержащую идентификационную информацию для объектов данных, информация о которых была успешно передана серверу 151, чтобы мобильное устройство могло определить, нужно ли ему передавать данные приложения для этих объектов данных. Например, объект данных - это файл в файловой системе, и может быть идентифицирован хешем своего содержания. Когда объект данных впервые устанавливается на мобильное устройство 101, база данных не будет содержать данных для объекта данных. Поскольку для этого объекта данных нет никакой идентифицирующей информации, мобильное устройство 101 признает его новым и передаст данные приложения для объекта данных на сервер 151, указывая, что объект новый. После передачи данных приложения для объекта данных серверу 151 и получения подтверждения, что сервер успешно получил данные для объекта данных, устройство сохраняет в базе данных хеш-содержания файла и его местонахождение в файловой системе. Если объект данных должен быть удален, мобильное устройство 101 может отследить, что, что файла нет в ранее закрепленном за ним месте в файловой системе и сообщить об удалении объекта данных серверу 15 с помощью передачи сведений о местонахождении в файловой системе и/или идентифицирующей хеш-информации для объекта данных. Если файл должен быть изменен, так, как например в случае обновления приложения, мобильное устройство связи может отследить, что файл находится на прежнем месте в файловой системе, но хеш-содержание файла не совпадает с ранее сохраненным хеш-содеражанием. В этом случае мобильное устройство связи 101 передаст сведения о том, что объект данных, идентифицированный по местонахождению и/или предыдущему хеш-содержанию, был обновлен, и передаст новое хеш-содержание файла.

[44] В одном из вариантов, система безопасности, установленная на мобильном устройстве связи, может направлять данные приложения для объекта данных серверу с целью получить оценку объекта данных. Если мобильное устройство связи загружает новое приложение, которое является вредоносным, важно, чтобы система безопасности обнаружила новый элемент как можно скорее. Сервер может проанализировать новое приложение и предоставить оценку безопасности, на основании которой будут предприняты действия. В другом варианте, первая версия приложения может быть безопасной, однако вторая - вредоносной. Важно, чтобы система безопасности признала обновление другой формой первой версии приложения так, чтобы можно было произвести новую оценку второй версии, а не просто передать первую оценку. Сервер 151 сможет проанализировать обновленное приложение и предоставить оценку безопасности, на основании которой смогут быть предприняты действия.

[45] В элементе схемы 303 на Фиг.3, мобильное устройство связи 101 передает идентификационную информацию для мобильного устройства серверу 151. В изобретении, идентификационная информация - это информация, подтверждающая подлинность. В изобретении, идентификационная информация является неавторитарным идентификатором для устройства, таким как, например, идентификатор устройства (device ID), который не считается тайной. В изобретении, идентификационная информация включает информацию об устройстве для мобильного устройства связи (например, производитель, модель, характеристики аппаратного обеспечения). Кроме того, мобильное устройство связи 101 передает информацию для измененного объекта данных. Такая информация может включать идентифицирующую информацию для объекта данных, такие как метаданные (например, хеш, имя пакета, имя файла, путь к файлу, криптографический подписчик, уникальный идентификатор, такой как UUID) и т.п. В элементе схемы 305, сервер 151 получает идентификатор для мобильного устройства связи 101 и информацию для измененного объекта данных. Полученные данные сохраняются сервером 151 на сервере или в хранилище данных 111 (элемент схемы 307). В изобретении, только некоторые из данных, полученных сервером, сохраняются. В элементе схемы 309, сервер 151 обеспечивает оценку для измененного объекта данных, используя любые техники, раскрытые в настоящем документе или из патентной заявки США №12/255,621, которая включена здесь в полном объеме. Оценка может включать инструкции и/или категоризирующую маркировку измененных данных как безопасных, вредоносных или неизвестных. В изобретении, некоторые или все из полученных данных хранятся на сервере 151 или в хранилище данных 111 и ассоциируются с устройством, которое прислало данные. Например, это может позже позволить серверу 151 определить, с какими приложениями сталкивалось устройство. В другом варианте, некоторые и все из полученных данных хранятся на сервере 151 или в хранилище данных 111 способом, благодаря которому сервер не может прямо связать информацию с конкретным устройством. Например, сервер 151 может хранить полученные данные без какой-либо привязки к конкретному устройству или учетной записи. В другом варианте, данные могут быть анонимно ассоциированы с устройством сервером, ассоциирующим данные с идентификатором при сохранении. Чтобы гарантировать, что сервер 151 не может ассоциировать хранимые данные с конкретным устройством, идентификатор известен только устройству, передающему данные, и предоставляется серверу в случаях, когда устройство передает данные. Сервер не хранит этот идентификатор так, что этот идентификатор никогда прямо не связан с конкретным устройством или учетной записью на сервере 151 или в хранилище данных 111. В изобретении, сервер 151 хранит результаты оценки на сервере или в хранилище данных. В случае, если требуется оценка объекта данных 309, и предыдущая оценка для объекта данных существует и считается действующей, сервер 151 возвращает предыдущую оценку из хранилища данных 111 вместо того, чтобы подготавливать новую оценку. Оценки считаются сделанными для того же объекта данных, если метаданные, относящиеся к объекту, подходят по различным вариантам, включая случаи, когда оценки относятся к объектам данных с тем же хешем, тем же именем пакета, тем же криптографическим подписчиком, тем же путем к файлу. В элементе схемы 311, оценка передается мобильному устройству связи 101, которое получает эту оценку от сервера 151 (элемент схемы 313), затем обрабатывает оценку и предпринимает соответствующее действие (элемент схемы 315).

[46] Специалисты в данной области поймут, что взаимодействие между мобильным устройством связи 101 и сервером 151 динамично в том отношении, что сервер 151 может упреждающе передавать уведомления и инструкции, чтобы устранять дефекты тех объектов данных, чья оценка изменилась, требуя, таким образом, действий со стороны мобильного устройства связи 101. Фиг.4 иллюстрирует такой вариант. В элементе схемы 401 на Фиг.4, мобильное устройство 101 обнаруживает изменение в конкретном объекте данных. В элементе схемы 403, мобильное устройство связи 101 посылает идентификационную информацию для устройства и информацию об измененном объекте данных серверу 151. Сервер 151 получает идентификационную информацию для мобильного устройства связи 101 и информацию об измененном объекте данных (элемент схемы 405). В элементе схемы 407, сервер 151 сохраняет измененную информацию о данных на сервере или в хранилище данных 111. В элементе схемы 409, сервер 151 может анализировать и оценивать измененный объект данных, и может предоставлять сведения об оценке мобильному устройству связи 101 (элемент схемы 411). Как ранее уже отмечалось, если оценка уже была произведена для объекта данных, эта оценка может быть взята и использована вместо повторения процесса оценки. Если сервер 151 предоставляет оценку, мобильной устройство связи 101 получает оценку или другое уведомление в элементе схемы 413 и обрабатывает ее (элемент схемы 415).

[47] В изобретении, оценка для объекта данных может изменяться. Например, объект данных ранее оцененный как безопасный или неизвестный может быть позже идентифицирован как вредоносный, приводящий к ранее неизвестной уязвимости или приводящий к нежелательному поведению, такому как чрезмерное использование сети и разрядка аккумулятора. В элементе схемы 417, если сервер 151 обнаруживает изменение в оценке для ранее проанализированного объекта данных, то затем в элементе схемы 419, сервер 151 может передать уведомление, инструкции по исправлению или что-то подобное мобильному устройству связи 101. Мобильное устройство связи получает уведомление от сервера 151 (элемент схемы 421), затем выполняет рекомендуемые действия или инструкции по исправлению (элемент схемы 423). В элементе схемы 425, мобильное устройство связи 101 передает подтверждение, что оно выполнило требуемые действия, которое получает сервер 151 (элемент схемы 427). В изобретении, уведомление посылается мобильному устройству связи сервером 151 только в случае, если определено, что объект данных присутствует на мобильном устройстве связи. В изобретении, сервер 151 хранит информацию на сервере 151 или в хранилище данных 111, что позволяет серверу 151 определять, есть ли на мобильном устройстве связи 101 этот объект данных и запрашивало ли устройство оценку этого объекта данных.

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

[49] В изобретении, сервер 151 может запросить дополнительную информацию о конкретном объекте данных у мобильного устройства связи 101. Например, мобильное устройство связи 101 может послать информацию об измененном объекте данных серверу 151; однако посланная информация может быть недостаточной для сервера 151, чтобы выполнить окончательный анализ. Фиг.5 иллюстрирует этот вариант осуществления изобретения. В элементе схемы 501 Фиг.5 мобильное устройство связи 101 обнаруживает, что объект данных изменился и передает идентификационную информацию для мобильного устройства 101 с информацией для измененного объекта данных серверу 151 (элемент схемы 503). Сервер 151 получает идентификационную информацию для мобильного устройства связи и информацию для измененного объекта данных (элемент схемы 505) и сохраняет информацию для измененного объекта данных на сервере или в хранилище данных 111 (элемент схемы 507). В элементе схемы 509 сервер 151 определяет, требуется ли дополнительная информация об измененном объекте данных. Например, сервер 151 может попытаться оценить, является ли измененный объект данных вредоносным или безопасным, но неспособен предоставить окончательную оценку (например, он предоставляет оценку «неизвестно»). Определение того, что необходимо больше информации, может быть произведено перед тем, как сервер 151 оценит объект, если недостаточно данных даже для того, чтобы начать оценку, или после того, как оценка не приводит к определенным результатам из-за того, что полностью или частично отсутствуют данные. Если необходима дополнительная информация, сервер 151 может запросить ее у мобильного устройства связи 101 (элемент схемы 511).

[50] В элементе схемы 513 Фиг.5, мобильное устройство связи 101 получает запрос на дополнительную информацию, собирает запрашиваемую информацию (элемент схемы 515), затем передает ее серверу 151 (элемент схемы 517). В изобретении, дополнительная информация включает данные о поведении для объекта данных и данные приложения для объекта данных, такие как содержание объекта данных. В элементе схемы 519, сервер 151 получает дополнительную информацию от мобильного устройства связи 101 и сохраняет ее (элемент схемы 521). Сервер 151 может затем проанализировать информацию об измененном объекте данных вместе с дополнительной информацией, чтобы предоставить оценку (элемент схемы 523), которая может быть послана мобильному устройству связи 101 (элемент схемы 525). В элементе схемы 527, мобильное устройство связи 101 получает оценку измененного объекта данных от сервера 151 и затем обрабатывает оценку (элемент схемы 529).

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

[52] В элементе схемы 601 Фиг.6 мобильное устройство связи 101 обнаруживает изменение в объекте данных, затем, в элементе схемы 603, мобильное устройство связи 101 посылает свою идентификационную информацию и информацию об измененном объекте данных серверу 151. В элементе схемы 605, сервер 151 получает идентификационную информацию для мобильного устройства связи 101 и информацию для измененного объекта данных. Эта информация сохраняется сервером 151 на сервере или в хранилище данных 111 (элемент схемы 607), затем анализируется сервером 151, чтобы дать оценку (элемент схемы 609). В элементе схемы 611, сервер 151 передает оценку или соответствующее уведомление мобильному устройству связи 101. Мобильное устройство связи 101 получает оценку от сервера 151 (элемент схемы 613 Фиг.6). В элементе схемы 615, мобильное устройство связи 101 определяет, посылать ли дополнительную информацию об объекте данных. Например, сервер 151 может быть неспособен произвести оценку объекта данных на основе тех данных, которые у него есть, и поэтому нуждается в дополнительной информации, чтобы быть способным дать оценку объекту данных. В элементе схемы 617, если мобильное устройство связи 101 определило, что ему следует послать дополнительную информацию об объекте данных, оно собирает эту информацию. В элементе схемы 619, мобильное устройство связи 101 передает дополнительную информацию серверу 151, который получает эту информацию (элемент схемы 621) и сохраняет полученную дополнительную информацию (элемент схемы 623). Следует учесть, что сервер 151 будет знать, что полученная дополнительная информация относится к информации, ранее полученной сервером 151 (элемент схемы 605), так как мобильное устройство связи 101 передаст идентификационную информацию вместе с дополнительной информацией.

[53] В элементе схемы 625 Фиг.6, сервер 151 анализирует дополнительную информацию, полученную от мобильного устройства связи 101. В изобретении дополнительная информация может быть проанализирована совместно с ранее полученной информацией (элемент схемы 605). В элементе схемы 627, сервер 151 передает оценку мобильному устройству связи 101, которое обрабатывает оценку (элемент схемы 629). Если мобильное устройство связи 101 и к этому моменту считает необходимым послать дополнительную информацию, оно может повторить описанный процесс столько раз, сколько необходимо.

[54] Как ранее уже отмечалось, сервер 151 может иметь доступ к множеству мобильных устройств связи, некоторые из которых могут использовать или хранить одни и те же прикладные программы или объекты данных. Запрос информации об объекте данных с отдельных устройств может привести к росту сетевого графика, влияя, таким образом, не только на отдельное мобильное устройство связи, но и на другие устройства в сети. В изобретении, если сервер 151 требует информацию об объекте данных, который хранится на более чем одном мобильном устройстве связи, сервер 151 может собирать требуемую информацию по частям от каждого мобильного устройства связи, вместо того, чтобы полагаться только на одно устройство. Фиг.7 иллюстрирует вариант с использованием первого и второго мобильных устройств связи, тем самым оптимизируя сбор данных от двух или более мобильных устройств связи.

[55] В элементе схемы 701 Фиг.7, первое мобильное устройство связи обнаруживает изменение в объекте данных. Объект данных также обнаруживается на втором мобильном устройстве связи, которое может быть осведомленным или нет о том же изменении. Первое мобильное устройство связи передает свою идентификационную информацию и информацию для измененного объекта данных серверу 151 (элемент схемы 703). В элементе схемы 705 сервер 151 получает идентификационную информацию для первого мобильного устройства связи месте с информацией для измененного объекта данных. Эта информация сохраняется сервером 151 (элемент схемы 709). В элементе схемы 711 сервер 151 определяет, что ему необходима дополнительная информация об объекте данных. В элементе схемы 713 сервер 151 идентифицирует второе мобильное устройство связи, которое, как известно серверу 151, также хранит этот объект данных, также как и дополнительную информацию для объекта данных.

[56] В элементе схемы 715 Фиг.7 сервер 151 запрашивает дополнительную информацию для объекта данных у второго мобильного устройства связи. Второе мобильное устройство связи получает этот запрос (элемент схемы 717). В ответ, второе мобильное устройство связи соберет дополнительную информацию (элемент схемы 719), и затем передаст дополнительную информацию серверу 151 (элемент схемы 721). Сервер 151 получит (элемент схемы 723) и сохранит дополнительную информацию об объекте данных от второго мобильного устройства связи на сервере 151 или в хранилище данных 111 (элемент схемы 725), затем проанализирует эту дополнительную информацию вместе с ранее полученной информацией от первого мобильно устройства связи для того, чтобы предоставить оценку (элемент схемы 727). Эта оценка будет передана первому мобильному устройству связи (элемент 729), которое получит оценку (элемент схемы 731) и обработает эту оценку, (элемент схемы 733). Следует учесть, что если будет уместно, сервер 151 может также передать оценку второму мобильному устройству связи.

[57] В изобретении, сервер 151 может собрать дополнительную информацию с нескольких устройств. В изобретении, сервер 151 выбирает, у каких устройств запросить дополнительную информацию, анализируя информацию об устройствах и данные приложений, ранее сохраненные на сервере. Например, чтобы дать характеристику использованию приложением SMS-сообщений, чтобы определить, злоупотребляет ли приложение SMS-сообщениями для рассылки спама, сервер 151 может запросить подсчет SMS-сообщений, посланных приложением, от нескольких мобильных устройств связи, которые ранее предоставили сведения о том, что они установили это приложение. В изобретении, сервер попытается проанализировать объект данных, чтобы дать оценку, не дожидаясь сначала получения информации об объекте данных от устройства. Вместо этого сервер может получить данные из других источником и упреждающе запросить информацию от одного или нескольких устройств, чтобы оценить объект данных.

[58] В изобретении, данные приложения для объекта данных, которые собираются и передаются мобильным устройством связи 101 серверу 151, могут также включать данные о поведении объекта данных. Использование таких данных сервером 151, как например во время анализа, будет описана ниже более подробно. Данные о поведении могут включать информацию о сетевых соединениях, инициированных объектом данных (например, имена серверов, адреса и порты источника и пункта назначения, длительность соединения, протоколы соединения, количество переданных и полученных данных, итоговое количество соединений, частота соединений и информация о сетевом интерфейсе для соединения, сделанные DNS-запросы), поведение объекта данных при работе (например, системные вызовы, API-вызовы, используемые библиотеки, вызовы при передаче данных между процессами, количество переданных SMS-сообщений, количество посланных сообщений по электронной почте, отображаемая информация о пользовательских интерфейсах, адреса URL, к которым был получен доступ), чрезмерная нагрузка, вызванная объектом данных (например, используемый заряд аккумулятора, используемое время ЦПУ, переданные сетевые данные, используемый объем хранилища и памяти). Другие данные о поведении включают контекст, в котором имеет место быть конкретное поведение (например, если экран телефона был выключен, когда объект данных посылал SMS-сообщение, или если пользователь использовал объект данных, когда он подсоединялся к удаленному серверу и др.).

[59] Поскольку каждый раз, когда объекты данных используются, они создают большое количество данных о поведении, для мобильного устройства связи важно не собирать и передавать все возможные данные о поведении; в противном случае, сбор и передача данных о поведении может привести к чрезмерной эксплуатации ресурсов устройства 101, сервера 151 и сети 121. В изобретении, мобильное устройство связи 101 ограничивает, какой тип данных о поведении для объекта данных оно собирает и передает и как часто необходимо собирать и передавать данные о поведении в зависимости от количества времени, которое прошло с момента последнего изменения объекта данных. Например, когда объект данных впервые устанавливается на мобильное устройство связи, устройство может собирать и передавать полное количество информации о поведении, доступное на каждый день. После одной недели спустя установки объекта данных, устройство может посылать только ограниченный ряд параметров данных о поведении с недельными интервалами. Спустя месяц после установки, устройство может посылать только минимальное количество данных о поведении с интервалами равными месяц. В изобретении, если объект данных подлежал регулярным обновлениям (например, обновление приложения до других версий), устройство может передавать полный объем данных о поведении ежедневно, но уменьшить объем и частоту собираемых и передаваемых данных после одной недели и/или месяца. В изобретении, сервер 151 посылает настройку мобильному устройству связи 101, требуя, чтобы устройство передавало определенные типы данных о поведении с определенной частотой. Устройство сохраняет эту настройку так, чтобы устройство могло определить, необходимо ли собирать и/или передавать данные о поведении для объектов данных. В изобретении информация о настройке зависит от конкретного объекта данных. В изобретении, информация о настройке для всех объектов данных учитывается устройством. В изобретении, сервер 151 запрашивает данные о поведении для конкретного объекта данных у устройства так, чтобы сервер мог минимизировать ненужный сбор и передачу информации.

[60] В изобретении сервер 151 может влиять на сбор и передачу данных о поведении от устройства 101 сервере 151. Например, сервер 151 может передавать инструкции мобильному устройству связи 101, запрашивая данные о поведении для объекта данных, только если сервер обладает информацией, указывающей на то, что устройство в настоящий момент имеет этот объект данных, и если серверу необходимо больше данных о поведении, чтобы лучше оценить объект данных. В изобретении, сервер 151 определяет, что ему нужно больше данных о поведении для объекта данных, основываясь на количестве устройств, которые уже предоставили данные о поведении. Например, сервер может запросить у как минимум одной сотни (100) устройств данные о поведении для каждого объекта данных для того, чтобы получить надежную оценку. В изобретении, разница между данными о поведении, предоставленными разными устройствами, используется для того, чтобы определить, сколько данных о поведении необходимо для того, чтобы получить надежную оценку. Например, если все тридцать (30) устройств сообщили об использовании заряда аккумулятора объектом данных с небольшими отклонениями, сервер может больше и не запрашивать данных о поведении для этого объекта; однако, если среди этих тридцати (30) устройств отклонение в использовании заряда аккумулятора было велико, то сервер может обратиться за данными о поведении к еще двум сотням (200) устройств.

[61] В изобретении, мобильное устройство связи может передавать данные о поведении только в случае, если данные выходят за нормальные пределы. В изобретении, пределы универсальны для всех объектов данных. Например, предел для использовании сети может быть установлен так, чтобы мобильное устройство связи передавало данные о поведении для сетевых соединений объекта данных, только если объект данных поддерживает как минимум одно открытое соединение более чем в течении 50% всего времени, в течении которого он используется, или если объект данных передает более чем один мегабайт данных в течении суток. В изобретении, сервер 151 может обновлять пределы на мобильном устройстве 101, передавая обновленную информацию о пределах устройству. В изобретении, пределы могут конкретизироваться для одного или нескольких объектов данных. Например, устройство может иметь совокупность пределов, настроенных по умолчанию, исходя из которых оно посылает данные о поведении, но сервер может передать пределы для конкретного объекта данных, идентифицируя объект данных через идентифицирующую информацию, такую как хеш, криптографический подписчик, имя пакета или местоположение в файловой системе. Обновленные пределы могут давать инструкции устройству посылать больше или меньше данных о поведении, чем указано в наборе пределов, настроенных по умолчанию. Например, по умолчанию мобильное устройство связи может никогда не посылать данные о поведении. Когда устанавливается новый объект данных на устройство, оно сообщает об установке серверу, а также пересылает метаданные, ассоциируемые с объектом данных серверу. Если сервер уже имеет характеристику на объект данных благодаря собранным с других устройств данным о поведении, он может послать устройству пределы, описывающие обычное поведение объекта данных на других устройствах (например, использует менее чем 100 килобайт данных в день, никогда не посылает SMS-сообщения, никогда не посылает письма по электронной почте), и, если объект данных отклонится от этих пределов, мобильное устройство пошлет данные об отклоняющемся поведении серверу. Такие отклонения могут быть полезны в случае законопослушного приложения, которое начинают использовать и оно начинает вести себя необычно, или в случае программы с таймером действия, которая становится вредоносной только после определенного времени.

[62] В изобретении, данные, передаваемые мобильным устройством 101 серверу 151, могут быть настроены так, чтобы защитить личные данные пользователя; предотвратить чрезмерное использование устройства, сети или ресурсов сервера или руководствуясь другими причинами. В качестве вариантов таких настроек можно привести выбор того, какие данные приложений посылаются с устройства 101 на сервер 151, как часто они посылаются и как должны данные приложения передаваться заново, если первая передача данных не прошла успешно. Варианты настроек могут, кроме того, включать передачу только идентификационной информации (например, никаких дополнительных метаданных или данных о поведении), или никогда не передавать никаких данных приложения, никогда не передавать никаких данных о содержании объекта, передавать данные приложения для объектов данных, основываясь только на источнике объекта данных, передавать только определенный тип данных о поведении, передавать только определенное количество данных приложения в день, передавать содержание только одного объекта данных в день, передавать только данные о поведении максимум один раз в день на один объект данных и т.п. Специалистам будет ясно, что дополнительные настройки возможны без отклонений от данного описания. В изобретении, настройка может устанавливаться мобильным устройством 101 и/или сервером 151 при том что устройство 101 делает только определенные передачи и/или сервер 151 формирует только определенные запросы для устройства. В изобретении, настройка контролируется одной или несколькими сторонами. Например, настройка может быть автоматически установлена сервером 151 или программным обеспечением, присутствующим на мобильном устройстве или контролироваться администратором через сервер 151, и/или контролироваться пользователем посредством мобильного устройства 101. В изобретении, части настройки контролируются разными сторонами. Например, пользователь может иметь возможность контролировать, предоставляются ли сведения об объектах данных серверу 151, в то время как администратор на сервере 151 может контролировать частоту предоставления данных о поведение для всех устройств, чтобы оптимизировать использование системой безопасности заряда аккумулятора.

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

[64] Поскольку отдельные приложения могут использовать множество объектов данных, как для мобильного устройства связи 101, так и/или для сервера 151 может быть целесообразно сгруппировать множество объектов данных так, чтобы приложение могло быть проанализировано как единое целое. В изобретении, мобильное устройство связи 101 или сервер 151 могут выполнить группировку, сравнивая данные приложения у разных объектов данных. Например, данные приложения, которые могут быть использованы для группировки объектов данных включают то, как объекты данных были установлены (например, могут быть сгруппированы объекты данных, установленные одной и той же установочной программой, связаны ли объекты данных временем выполнения программ или динамически, находятся ли объекты данных в одной и той же директории файловой системы и имеют ли объекты данных общего криптографического подписчика. Например, установочная программа приложения может извлечь исполняемые и совместно используемые библиотеки в файловую систему на мобильном устройстве связи. Мобильное устройство связи 101 сможет использовать общую установочную программу, чтобы считать объекты данных сгруппированными и может хранить информацию о группировке для того, чтобы использовать ее при сборе данных о поведении (описывается ниже). Для того чтобы сервер 151 мог распознать группу, каждые данные приложения объекта данных могут включать идентификационную информацию об общей установочной программе. Сервер 151 может прямо хранить сгруппированные отношения на сервере 151 или в хранилище данных 111 для того, чтобы эффективно оценивать информацию о группировке во время анализа.

[65] Так как данные о поведении не всегда могут быть отнесены к отдельному объекту данных, в особенности, когда множество объектов работают одновременно, как, например, в контексте отдельного процесса, если операционная система не поддерживает функцию выборочных данных о поведении или отсутствуют другие механизмы для этого, мобильному устройству 101 может быть целесообразно сгруппировать разнообразные объекты данных и предоставлять данные о поведении для группы объектов. В изобретении, мобильное устройство связи 101 передает информацию, указывающую, что сгруппированные объекты данных ассоциированы, и передает данные приложения для сгруппированных объектов данных серверу 151 все вместе. Например, если процесс на мобильном устройстве связи загружает множество компонентов от разных поставщиков и сетевые данные могут быть собраны только на уровне процессов, и/или если обнаруживается, что процесс соединяется с неизвестным вредоносным сервером, то будет целесообразно, если все компоненты, вовлеченные в процесс, будут поддаваться опознаванию сервером, так как это позволит серверу определить компонент-нарушитель. Когда мобильное устройство связи 101 собирает данные о поведении (такие как IP-адреса, к которым подсоединялся процесс) для процесса, устройство предоставляет идентификационную информацию для всех объектов данных, связанных с процессом на сервере. Когда сервер получает данные о поведении для группы объектов данных, он может проанализировать данные о поведении от множества устройств и определить, что только группы, в составе которых есть конкретный объект данных, будут соединяться с вредоносным сервером. Таким образом, только объект данных, который приводит к соединению с вредоносным сервером, будет считаться вредоносным. В изобретении, если мобильное устройство не предоставляет выборочную информацию о поведении конкретных объектов данных, данные о поведении для всего устройства целиком могут быть переданы серверу как группа всех объектов данных, установленных на устройстве. Например, если операционная система не предоставляет информацию о расходе заряда аккумулятора на каждый процесс, устройства, работающие на этой операционной системе, могут передавать список приложений установленных на них и итоговую длительность работы аккумулятора на каждом устройстве серверу 151. Сервер может затем выполнить анализ этих данных, чтобы определить, какие приложения связаны с меньшей или большей длительностью работы аккумулятора, и оценить вклад каждого приложения в использование заряда аккумулятора. В варианте осуществления изобретения, когда многочисленные объекты данных в группе имеют разные конфигурации сбора данных о поведении, мобильное устройство связи соединит разные конфигурации вместе. Например, если мобильное устройство связи 101 настроено предоставлять большое количество данных о поведении для одного объекта данных каждый день, но при этом же, настроено предоставлять отличающиеся от этой нормы количество данных о поведении для другого объекта данных; если эти объекты данных сгруппированы, устройство может соединить две конфигурации и предоставлять большое количество данных о поведении для этой группы. Альтернативный вариант предусматривает, что если второй объект данных настроен никогда не передавать данные о поведении из соображений защиты личной информации, чтобы удовлетворить этому ограничению никакие данные о поведении для всей группы не будут предоставляться.

[66] Специалистам следует учесть, что данные, передаваемые сервером 151 или мобильным устройством связи 101, такие как метаданные, данные о поведении, информация о конфигурациях, пределы данных о поведении, данные о группировке, запросы на дополнительную информацию, уведомления и другие формы данных могут быть форматированы, используя бинарные форматы и небинарные форматы. Например, форматирование данных может быть осуществлено с помощью XML, JSON или как часть URI. Эти данные могут быть переданы с использованием разных протоколов, включая TCP, UDP, DNS и HTTP. Другие форматы и/или протоколы также могут использоваться, не являясь отклонением от данного описания.

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

Б. Система сбора данных

[68] Специалисту в этой области будет ясно, что сервер 151 может получать данные от иных источников, а не только от мобильных устройств связи для применения в анализе объекта данных и предоставлении оценки. Фиг.10 иллюстрирует вариант, в котором сервер 151 может получить данные от разнообразных источников и передать информацию об оценке множеству пользователей. Один или несколько серверов 151 обозначены как «облако», чтобы подчеркнуть, что множество серверов могут работать совместно, чтобы обеспечить функциональность, описываемую в настоящем документе, Один или несколько мобильных устройств связи 101 обозначаются как группа, чтобы подчеркнуть, что множество устройств 101 могут передавать и получать информацию от сервера 151. Как было сказано выше, одно или несколько мобильных устройств связи 101 могут передавать данные приложения для объектов данных серверу 151, и устройства 101 могут получать данные об оценке, запросы на дополнительную информацию, уведомления и т.п. от сервера 151.

[69] Кроме сбора информации с мобильных устройств сервер может получать информацию об объектах данных из разнообразных систем сбора данных. Такие системы могут функционировать отдельно от сервера 151, а могут быть его частью. В изобретении, система сбора данных прямо обновляет базу данных или другое хранилище на сервере 151 или в хранилище данных 111, предоставляя информацию для одного или нескольких объектов данных. В изобретении система сбора данных связывается с сервером 151, чтобы предоставить ему информацию. Существует множество типов систем, которые могут быть использованы для обеспечения притока данных на сервер 151. В качестве примера можно привести поисковых роботов 1003, системы сбора данных магазинов приложений 1005, системы-ловушки для хакеров и другие системы, которые могут обеспечивать приток информации, относящейся к приложениям для мобильных устройств, на сервер 151.

[70] В изобретении, поисковый робот 1003 загружает объекты данных, которые могут использоваться на мобильных устройствах связи, и извлекает информацию об объектах данных, загружая и объекты данных, и информацию о них на сервер 151. Например, поисковый робот 1003 может использовать поисковую машину, чтобы искать веб-сайты, на которых выложены приложения для мобильных устройств. Как только поисковый робот 1003 идентифицирует сайты, с которых могут быть загружены мобильные приложения, поисковый робот может извлечь веб-страницы на этих сайтах, анализируя содержание каждой страницы, чтобы определить дополнительные страницы, подлежащие извлечению. Например, страница на сайте загрузок мобильных приложений может содержать ссылки на другие страницы, также как и ссылки на загрузку самих объектов данных. Для систем сбора данных может быть целесообразно передавать серверу 151 только информацию, которая относится к мобильным устройствам, так как в Интернете существует много информации, которая не влияет на мобильные устройства связи (например, касающаяся программного обеспечения настольных компьютеров). В изобретении, поисковый робот 1003 может выяснить, способен ли объект данных, доступный для загрузки или уже загруженный, работать на мобильном устройстве связи. Например, поисковый робот 1003 может проанализировать URL загрузки для определенной строки, указывающей, что URL соответствует пакету мобильного приложения (например, SIS, APK, CAB, IPA). В другом варианте, поисковый робот 1003 может проанализировать объект данных после того, как он был загружен, чтобы определить, влияет ли он на мобильное устройство связи, и если да, то влияет ли он на конкретную мобильную платформу. В этом случае, поисковый робот 1003 может проанализировать загруженный объект данных по характеристикам таким как, имя объекта данных, а также содержит ли объект данных исполняемый код, совместимый с какими-либо мобильными платформами или содержит ли он данные, которые характерны для конкретной платформы мобильного устройства. В изобретении, поисковый робот 1003 собирает метаданные из магазина приложений об элементах данных и передает метаданные магазина приложений серверу 151. Среди примеров метаданных магазинов приложений можно назвать информацию о том, с чьего сайта объект данных доступен для загрузки, рейтинги пользователей и их комментарии к объекту данных, цену объекта данных, если он предлагается для покупки, количество загрузок объекта данных, информацию об авторе объекта данных и другую информацию об объекте данных, доступную на веб-сайте. Как ниже будет сказано, место доступа к определенному объекту данных может быть использовано для того, чтобы определить, насколько доверенным объект данных является. Например, объект данных, доступный на веб-сайте компании с хорошей репутацией, можно считать заслуживающим доверия больше, чем объект данных на форуме о мобильных устройствах, загруженный одним из пользователей этого форума.

[71] Поскольку большое количество мобильных приложений доступны только через магазины приложений, для сервера 151 может быть важно получать информацию об объектах данных, предлагаемых в магазинах приложений. В изобретении, система сбора данных с магазинов приложений 1005 извлекает информацию об объекте данных, такую как содержание объекта данных и метаданные магазина об объекте данных из магазинов мобильных приложений и сообщает эти сведения серверу 151. В изобретении, система сбора данных с магазинов приложений 1005 является частью сервера 151. В альтернативном варианте, система сбора данных с магазинов приложений существует отдельно от сервера 151. Магазины приложений часто организовываются производителями мобильных платформ (например, Android Marketplace, Blackberry App World, Apple App Store, Nokia Ovi Store) или третьими сторонами (например, GetJar, Handango) и могут использовать собственный API. В изобретении, системы сбора данных с магазинов приложений 1005 настраивается связываться с серверами магазинов приложений посредством их собственного протокола. Для того чтобы передать данные, полученные с сервера магазина приложений, на сервер 151 в таком виде, чтобы они могли быть использованы сервером 151, система сбора данных с магазинов приложений 1005 может трансформировать данные приложения для объекта данных из собственного формата в формат, который используется сервером 151 для анализа. Например, магазин приложений может предоставить API для доступа к комментариям пользователей и рейтингам приложений; однако данные, возвращаемые этим API, могут отличаться от комментариев в других магазинах приложений. В другом варианте, магазин приложений может упреждающе посылать данные системе сбора данных с магазинов приложений 1005 так, чтобы системе не приходилось самой запрашивать магазин. Для того чтобы сервер 151 был способен анализировать комментарии, собранные с разных магазинов приложений, система сбора данных 1005 может трансформировать разные форматы данных в стандартный формат для передачи серверу 151. В изобретении, система сбора данных с магазинов приложений 1005 может быть нацелена на поиск определенных терминов в обзорах пользователей, таких как «саморазряд аккумулятора», «отказ системы», «параметры настройки личной информации», «не работает», «телефонный номер», «контакты» и т.п., которые могут быть использованы для характеристики приложения как «признанного плохим» или для того, чтобы установить, что приложение заслуживает доверия, используя системные компоненты, описанные в настоящем документе. В альтернативном варианте, система сбора данных с магазинов приложений 1005 может собирать все комментарии, а их анализ может выполняться сервером 151. Схожим образом, сервер 151 или система сбора данных с магазинов приложений 1005 могут быть способны распознавать положительные обзоры или оценки для объекта данных, таким образом улучшая оценку и/или повышая степень доверия к объекту данных.

[72] В дополнение к автоматизированному сбору информации об объектах данных серверу 151 может быть важно получать информацию от человека 1007. Информация такого рода может включать субъективный уровень доверия производителю мобильного приложения, специфичные ключевые слова или другие характеристики, такие как, например, эвристические данные, которые могут классифицировать мобильное приложение как подозрительное. Специалист признает, что другие типы информации, относящейся к анализу объектов данных для мобильных устройств, могут быть предоставлены человеком, и при этом, это не является отклонением от данного описания. В изобретении, сервер 151 предоставляет пользовательский интерфейс, с помощью которого кто-либо может направить информацию серверу 151 о конкретном объекте данных, группе объектов данных (например, объектах данных от конкретного разработчика, всех объектов данных на конкретной платформе) или для анализа систему полностью (например, обновленный эвристический анализ). В изобретении сервер, существующий отдельно от сервера 151, предоставляет пользовательский интерфейс, с помощью которого кто-либо может передать информацию о конкретном объекте данных, группе объектов данных или для анализа систему полностью. Этот отдельный сервер может передавать информацию от пользователей серверу 151 туда, где сервер 151 хранит ее на сервере 151 или в хранилище данных 111. В изобретении отдельный сервер обновляет хранилище данных 111 с помощью информации, полученной от пользователей.

[73] Фиг.10 иллюстрирует процесс того, как сервер 151 может предоставлять информацию об объектах данных внешним системам. В изобретении, информация, предоставляемая сервером 151, может быть передана через API; в виде списка, потока данных, отчета, форматированных данных, таких как брандмауэр или антивирусная база или в других формах. В изобретении, сервер 151 предоставляет информацию об объектах данных магазину приложений 1009. Например, сервер 151 может направлять магазину приложений 1009 список вредоносных объектов данных, которые есть в магазине 1009. В другом варианте, сервер 151 может предоставить API? С помощью которого магазин приложений 1009 может передавать идентификационную информацию (например, хеш содержания объекта данных) серверу 151, чтобы определить, считается ли объект данных вредоносным или нежелательным по иным причинам. В изобретении, сервер 151 предоставляет данные инфраструктуре сетевой безопасности 1011 так, чтобы она могла защищать от вредоносных или нежелательных приложений на сетевом уровне. Например, если осуществляется защита на сетевом уровне, даже мобильные устройства связи, на которых не установлено программное обеспечение системы безопасности, могут получить значительные преимущества от такой защиты. В изобретении, сервер 151 передает демаскирующие сигналы угрозы инфраструктуре сетевой безопасности 1011. Такие сигналы могут принимать разнообразные формы, например, быть в виде хеша нежелательных приложений, бинарных последовательностей для нежелательных приложений, имен пакетов нежелательных приложений, правил брандмауэров для блокировки вредоносных серверов или взломщиков, и правил для инфраструктуры сетевой безопасности, таких как Snort. В изобретении, сервер 151 предоставляет данных в форме потоков данных 1013. Потоки данных 1013 могут содержать разнообразные данные, доступные серверу 151 или хранилищу 111 благодаря системе сбора данных сервера или благодаря дальнейшему анализу (описывается далее), например, потоки данных могут включать список любых объектов данных, которые используют больше сетевого графика, чем установлено границей для идентификации ненадлежащее ведущих себя или злонамеренных приложений, список наиболее распространенных вредоносных объектов данных и список приложений, которые соответствуют критериям, таким как набор эвристик для идентификации потенциально вредоносных приложений.

В. Системы анализа со стороны сервера

[74] Для того чтобы дать оценку объектам данных или произвести другие формы полезной выходной информации, сервер может использовать разнообразные способы для анализа. В изобретении, поскольку сервер имеет доступ к информации, собранной об объектах данных из одного или большего количества источников, сервер может обрабатывать информацию, чтобы дать оценку для объекта данных. Фиг.11 иллюстрирует вариант осуществления изобретения, в котором сервер 151 собирает вместе данные приложений для объекта данных, сохраняет информацию, генерирует характеристики и категоризации для объекта данных, оценивает объект данных, чтобы произвести информацию об оценке и передает информацию об оценке. В элементе схемы 1101 Фиг.11, данные приложения (например, содержание объекта данных, метаданные, данные о поведении, метаданные из магазина приложений) собираются для объекта данных. Некоторые из возможных способов для сбора данных и типы собранных данных были описаны выше. Такие способы могут включать сбор данных с устройств, веб-сайтов, магазинов приложений, получение данных от людей или из других источников. В элементе схемы 1103, данные приложения для объекта данных сохраняется на сервере 151 или в хранилище данных 111 так, чтобы данные могли быть использованы во время, отличающееся от того, когда они были собраны.

[75] В элементе схемы 1105 данные об устройстве собираются и сохраняются (элемент схемы 1107) на сервере 151 или в хранилище 111. Для данных об устройстве может быть целесообразно быть связанными с данными приложения для устройства, которое их передало, так, чтобы процессы оценки, категоризации и характеристики могли учитывать источник данных. Например, если приложение работает неисправно только на конкретном типе устройств, для сервера 151 важно иметь возможность анализировать данные приложения, предоставленные устройствами в контексте того, какой конкретный тип устройств передал данные. В изобретении, когда данные приложения сохраняются 1103, они ассоциируются с данными об устройстве, которое их передало. Например, когда устройство 101 передает данные приложения серверу 151, устройство может передать удостоверяющую подлинность информацию, которая позволит серверу 151 извлечь ранее сохраненные данные для устройства 101. Если устройство 101 уже передавало данные об устройстве серверу 151, ранее сохраненные данные об устройстве могут быть ассоциированы с новыми данными приложения. В такой системе сбора данных, может быть важно защитить личную информацию и минимизировать индивидуально идентифицируемую информацию, сохраняемую на сервере 151 или в хранилище данных 111. В изобретении, данные приложений для множества устройств, имеющих одни и те же данные об устройстве, собираются воедино так, чтобы сохраненные данные были связаны не с конкретным устройством, а с совокупностью данных об устройстве, характеризующих одно или несколько устройств. При конструировании такой системы, может быть важно принимать во внимание баланс между степенью детализации данных об устройстве и уровнем отнесения агрегированных данных на счет конкретного устройства.

[76] В качестве составной части процесса анализа объекта данных, для сервера 151 может быть целесообразно характеризовать объект данных и/или категоризировать его (элемент схемы 1109). В изобретении, сервер 151 сохраняет данные о характеристике и категоризации данных для объектов данных (элемент схемы 1111). Данные о характеристике и категоризации может быть целесообразно обновлять каждый раз, когда поступает больше данных или анализ данных изменяется. В изобретении, сервер 151 выполняет дополнительный анализ (элемент схемы 1109) и обновляет сохраненные данные о категоризации и характеристике (элемент схемы 1111) для объекта данных, когда новые или обновленные данные для объекта данных, используемые системами анализа, становятся доступными.

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

[78] Функциональные возможности являются формой данных о характеристике, которые может вырабатывать сервер 151. В изобретении, сервер 151 извлекает информацию о функциональных возможностях из объекта данных. В определенных мобильных операционных системах или окружениях прикладных программ приложения могут запрашивать выборочные разрешения для доступа к привилегированной функциональности на устройстве, такой как, например, отправка и получение сетевых данных, доступ к местоположению телефона, чтение или написание записей контактов и отправка SMS-сообщений. В изобретении, сервер 151 использует данные о разрешениях, запрошенных объектом данных, чтобы определить функциональные возможности объекта данных. Сервер может определить данные о разрешениях с помощью разных средств, включая метаданные и данные о поведении, передаваемые устройствами, данные, полученные из магазина приложений, статический анализ объектов данных и динамический анализ объектов данных. Например, приложения на операционной системе Android обязаны заявлять разрешения во время установки, так, что сервер 151 может анализировать эти заявленные разрешении в пакете приложения прямо через метаданные о пакете приложений, предоставленные одним или большим количеством устройств или через данные из магазина приложений, чтобы определить данные о разрешениях.

[79] В изобретении, сервер 151 выполняет анализ содержания объекта данных, чтобы определить какие API на устройстве использует объект данных. В изобретении, анализ API может включать поиск объекта данных для последовательностей данных, указывающих API-вызовы; анализ конкретной библиотеки, функции, класса или других важных структур данных в объекте данных; анализ вызовов динамического редактора связей; анализ вызовов локальных и удаленных серверов; статический анализ объекта данных; динамический анализ объекта данных и анализ данных о поведении, предоставленных одним или несколькими устройствами. В изобретении сервер 151 использует извлеченную информацию об API-вызовах, чтобы определить, имеет ли приложение конкретную функциональную возможность. Например, если приложение вызывает API, чтобы взаимодействовать с GPS-радио на устройстве, то сервер 151 определяет, что приложение обладает функциональной возможностью устанавливать местоположение устройства. Несмотря на то, что такой анализ может обнаружить значительное большинство API, используемых объектом данных, возможно также, что самомодифицирующийся код продвинутого уровня может помешать тщательному анализу объекта данных. В изобретении, сервер 151 выявляет, является ли код или вероятно может оказаться самомодифицирующимся. Способность объекта данным модифицировать себя может говорить о том, что объект данных несет большие риски, чем объекты данных, которые ведут себя более прямолинейно. В то время как многие работающие программы вредоносного программного обеспечения на ПК используют самомодифицирующийся код, чтобы скрыться от систем защиты от вредоносного программного обеспечения, системы защиты от копирования часто зашифровывают код, чтобы предотвратить неавторизированный доступ; таим образом, самомодификация сама по себе не является достаточной для того, чтобы классифицировать объект данных как вредоносный, она может использоваться системой анализа в дополнение к другим характеристикам, таким как данные о поведении, чтобы выработать оценку для объекта данных.

[80] В изобретении, сервер 151 анализирует данные о поведении, чтобы определить функциональные возможности для объекта данных. Например, сервер 151 может искать объект данных, делающий телефонные звонки, посылающий SMS-сообщения, соединяющийся с Интернетом или выполняющий другие действия, которые указывают на ту или иную функциональную возможность приложения. В некоторых случаях, важно не только понять, какие отдельные функции используются объектом данных, но также понять, осуществляет ли приложение обмен данными между API. Например, приложение, которое использует Интернет и может читать список контактов устройства, может обладать множеством функциональных возможностей, которые могут вести к существенно отличающимся рискам. Например, приложение для адресной книги, которое использует Интернет, просто чтобы проверить наличие обновлений, имеет меньший уровень риска нарушения конфиденциальности, чем приложение для адресной книги, которое читает контакты и посылает эти контакты в сеть Интернет. В изобретении, сервер 151 анализирует объект данных, чтобы определить, есть ли в нем ветви кода, с помощью которого данные, возвращенные или произведенные одним из API или сервисов, посылаются другому API или сервису. Например, сервер 151 может выполнить отслеживание по цепочке между двумя API, чтобы определить передает ли приложение данные между двумя API. Например, сервер может определить, есть ли ветвь кода в объекте данных, с помощью которой данные, возвращаемые любым вызовом контакту API на мобильном устройстве, могут быть предоставлены любому сетевому API на устройстве. Если такая ветвь кода существует, сервер 151 определяет, что объект данных имеет функциональную способность отправки контактов в Интернет. Наличие такой функциональной возможности может быть более цепным для дальнейшего анализа сервером 151 или пользователем, чем просто знание того, что приложение имеет доступ к контактам и что оно соединяется с сетью Интернет. Множество приложений могут использовать оба разрешения; однако, меньшее их количество могут в действительности посылать данные о контактах в Интернет. Пользователь или автоматизированная система анализа будут способны использовать знание о том, что есть ветвь кода между двумя API, в качестве более сильного показателя функциональных возможностей, чем другие менее детализированные измерения функциональных возможностей.

[81] В изобретении сервер 151 запускает объект данных в виртуальном (например, смоделированном или имитированном) или физическом устройстве и анализирует поведение объекта данных во время работы. В изобретении, виртуальное или физическое устройство оснащено инструментами так, что оно сообщает данные о поведении для объекта данных. В изобретении, сетевой трафик виртуального или физического устройства, его вызовы и SMS-сообщения анализируются сервером 151. Например, виртуальное устройство может быть настроено всегда сообщать конкретное местонахождение через свой API местонахождения, что маловероятно может иметь место в реальных условиях. С помощью анализа сетевого графика устройства на разные кодировки этого местонахождения, таких как бинарное двойное кодирование, кодирование base 64, текстовое кодирование, сервер 151 сможет определить, делает ли объект данных попытки сообщить местонахождение устройства серверу. В изобретении, сервер 151 изучает разницу в состоянии виртуального или физического устройства перед запуском объекта данных и после работы объекта данных на устройстве. Например, объект данных может использовать фрагмент программного кода на устройстве, на котором он установлен, для того, чтобы установить руткиты-невидимки. В этом случае, виртуальное устройство может показать существенное различие в определенных отделах памяти, таких как таблица диспетчеризации системных вызовов, которая не должна изменяться при обычных обстоятельствах. В изобретении, физическое или виртуальное устройство имеет настраиваемый корневой центр сертификации в своем списке доверенных сертификатов, и сервер 151 перехватывает весь TLS трафик, используя сертификат сервера, подписанный настраиваемым центром сертификации, и перенаправляет трафик к его первоначальному пункту назначения. Поскольку устройство имеет настраиваемый центр сертификации, объект данных способен установить корректное TLS-соединение через сервер 151, и весь зашифрованный трафик может быть проанализирован сервером 151.

[82] Кроме функциональных возможностей объекта данных, для сервера 151 может быть важно собрать метрики, относящиеся к влиянию, которое оказывает функционирование объекта данных или использование объектом данных функциональных возможностей на устройство. Например, чрезмерное использование сетевых данных, электронной почты или SMS- сообщений может считаться злоупотреблением и указывать на вредоносное или используемое в чьих-то целях приложение. В изобретении, сервер 151 анализирует данные приложения от множества мобильных устройств связи, такие как метаданные и данные о поведении, данные об устройстве и другие данные, доступные для него, чтобы он мог выработать метрические данные, которые характеризуют объект данных. Например, сервер 151 может определить, какое количество заряда аккумулятора требуется для приложения в среднем для всех устройств или для конкретного типа устройств, какое количество данных объект данных посылает через любой сетевой интерфейс или через интерфейсы мобильной связи и Wi-Fi, сколько писем по электронной почте или SMS-сообщений посылает объект данных, сколько телефонных звонков он делает и другие метрики.

[83] Сервер 151 может генерировать другую информацию о характеристике из данных, описанных выше, которая может помочь серверу 151 в дальнейшем анализе для выработки оценки или может быть просто предоставлена сервером 151. В изобретении, сервер 151 анализирует информацию о сетевом графике, ассоциированную с объектом данных, чтобы произвести данные о характеристике сети, такие как список серверов, с которыми соединялся объект данных, порты и протоколы на серверах, с которыми связывался объект данных, количество данных, переданных и полученных от каждого сервера. В изобретении, информация о характеристике сети включает сведения о том, какая часть устройств, на которых функционирует конкретный объект данных, связывается с каждым сервером. Например, приложение, которое связывается с IM-сервером или с известным вредоносным сервером, управляющим и контролирующим программы-роботы (боты), может связываться только с одним или небольшим количеством серверов на всех устройствах, на которых оно установлено; при этом, веб-браузер или приложение, которое позволяет осуществлять специфичные для каждого пользователя соединения, может связываться с очень большим количеством разных серверов на разных устройствах. В изобретении, если объект данных связывается со многими разными серверами, сервер 151 информирует одно или большее количество устройств не собирать сетевые данные о поведении для этого объекта данных, чтобы свести к минимуму предоставление лишних сведений. В изобретении, информация о сетевом графике собирается как данные о поведении с мобильных устройств связи или собирается сервером 151, запускающим объект данных на виртуальном или физическом устройстве.

[84] В изобретении, сервер 151 определяет, заставляет ли объект данных мобильное устройство связи 101 соединяться с вредоносными Интернет или другими вредоносными публичными или частными сетями. Например, объект данных, который заставляет мобильное устройство связи соединяться с вредоносным веб-сайтом может подвергнуть устройство риску злонамеренного использования. Заявляемое изобретение предусматривает возможность выполнения переданных адресов сети Интернет и Интранет (например, URL), чтобы определить, направит ли адрес мобильное устройство связи на безопасный веб-сайт или на злонамеренный сайт или фишинговую ловушку. Такая информация может быть сохранена, так как она относится к конкретному объекту данных.

[85] Для того чтобы пользователь мог применять определенную политику в отношении приложений без необходимости принимать отдельные решения для каждого отдельного приложения, может быть полезно категоризировать приложения так, чтобы пользователь мог просто решить, каким категориям приложения дать разрешение, а какие отклонить. В изобретении, сервер 151 категоризирует объект данных, используя доступные данные, такие как данные приложения, данные об устройстве, данные из магазинов приложений и данные о характеристике. Например, если объект данных характеризуется как вызывающий API местонахождения на мобильных устройствах связи, тогда сервер 151 может категоризировать объект данных как картографическое приложение или другое приложение, использующее местоположение. В изобретении, категории могут иметь прямое отношение к функциональным возможностям, таким как приложения, которые читают Ваш список контактов или приложения, которые могут послать Ваше местоположение в Интернет. Другие категории включают, например, передает ли объект данных какую-либо информацию со списка контактов мобильного устройства связи, побуждает ли объект данных другие данные, такие как телефонный номер устройства быть переданными мобильным устройством связи, а также иные варианты поведений, которые могут повлиять на безопасность личной информации мобильного устройства связи. В изобретении, сервер 151 использует метрически данные для объекта данных, чтобы категоризировать его. Например, сервер может иметь категорию потребляющих много заряда аккумулятора, среди которых объекты данных, которые обычно используют больше чем 10% заряда аккумулятора устройства. Поскольку категоризация может варьироваться в зависимости от данных об устройстве в дополнение к данным о характеристике, категория расточительно использующих заряд батареи может зависеть от того, для какого типа устройств выполняется оценка. Например, объект данных, который использует более чем 10% заряда аккумулятора на одном устройстве, может использовать только 5% заряда аккумулятора на другом.

[86] В изобретении, если объект данных прямо не предоставляет информацию о категоризации, сервер 151 может логически вывести такую информацию. Например, если объект данных связывается с известным сервером, обеспечивающим мгновенный обмен сообщениями, сервер 151 может определить, что объект данных является IM-приложением. Например, приложения, которые соединяются с серверами, относящимися к популярным социальным сетям, могут быть классифицированы во время анализа как приложения социальных сетей, приложения, которые соединяются с известным вредоносным IRC-сервером, могут быть классифицированы как вредоносная программа-робот, и приложения, которые разряжают аккумулятор одного или большего количества устройств могут быть помечены как истощающие аккумулятор.

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

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

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

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

[91] В изобретении, доверие объекту данных предоставляется через проводимый вручную процесс анализа приложения. Например, если сервер 151 считает приложение опасным, основываясь только на функциональных возможностях приложения (например, оно имеет доступ к личным данным и/или использует требующий защиты API), пользователь, просматривающий оценку, может решить не устанавливать это приложение, даже если приложение имеет хорошую репутацию. Для того чтобы разрешить эту проблему, приложению может быть присвоен рейтинг доверия через анализ в ручном режиме. Если анализ дает основания полагать, что приложение достойно доверия, то в оценке сообщается, что приложение неопасно; однако, если согласно анализу приложение определяется как подозрительное, в предоставляемой оценке может продолжать сообщаться, что приложение несет риск. Поскольку пользующееся хорошей репутацией приложение может состоять из множества объектов данных, обновляться новыми объектами данных или иметь разные версии для разных платформ, может быть важно позволить рейтингу доверия охватывать множество объектов данных, приложений или даже платформ для того, чтобы не приходилось осуществлять ручной анализ для каждой версии или файла, который является частью приложения. Аналогичным образом, поскольку много имеющих хорошую репутацию разработчиков программного обеспечения могут производить множество приложений, которые будут считаться заслуживающими доверия, вероятно, будет целесообразно автоматически присваивать высокий уровень доверия объектам данных, произведенным такими разработчиками. В изобретении сервер 151 присваивает объекту данных высокий уровень доверия, если объект данных может быть отнесен на счет доверенного разработчика или доверенного приложения на основе данных, доступных серверу 151, таким как криптографический подписчик объекта данных, имя пакета или метаданные из магазина приложений.

[92] В изобретении сервер 151 использует данные распределения и данные приложения, чтобы установить уровень доверия для приложения. Например, если популярное приложение, такое как Google® Maps, устанавливается на миллионы мобильных устройств связи, и существует множество предыдущих версий приложения, все из которых имеют одного и того же криптографического подписчика и сходные характеристики распределения, последующие версии этого приложения с тем же самым криптографическим подписчиком будут рассматриваться как имеющие высокий уровень доверия. Если сервер 151 сталкивается с другим приложением, которое имеет то же самое имя, что и популярное приложение, такое Google® Maps, установлено только на нескольких устройствах и использует другого криптографического подписчика, сервер 151 может присвоить малораспространенному приложению низкий уровень доверия. Система защиты от вредоносного программного обеспечения может использовать эти данные, указывающие на низкий уровень доверия объекту данных, для того, чтобы автоматически оценить объект данных как нежелательный или отметить его как требующий анализа в ручном режиме. В изобретении, данные о доверии для приложения могут принимать во внимание ассоциированные приложения, такие как приложения, которые были идентифицированы как произведенные тем же самым разработчиком на той же платформе или на разных платформах. Например, если компания производит приложения для одной мобильной платформы, которая имеет большое количество пользователей и хороший рейтинг, и компания выпускает новое приложение для другой платформы, ее новому приложению может быть присвоен высокий рейтинг доверия на основе ассоциации с первым приложением.

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

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

[95] В изобретении, сервер предоставляет данные о доверии третьим сторонам через API. Например, может считаться, что доверенные приложения сертифицированы наблюдательным пунктом. В изобретении уровень доверия, предоставляемый API, является бинарным (например, доверенное, недоверенное), нечетким (например, доверенное на 86%, доверенное на 11%) или выраженным категориями (например, полностью доверенное, вредоносное, подозрительное, полудоверенное). Магазины мобильных приложений могут захотеть отображать показатель этой сертификации на пользовательском интерфейсе загрузки приложения в качестве знака хорошей репутации приложения. В этом случае, сервер 151 может предоставить API, с помощью которого третья сторона может предоставлять объект данных или идентификационную информацию для объекта данных, такую как хеш-идентификатор, имя пакета или криптографический подписчик. После получения объекта данных или достаточного количества информации для его идентификации, сервер 151 отвечает информацией о том, считается ли объект данным сертифицированным или нет. В изобретении, ответ является графическим объектом, указывающим, считает ли сервер 151 объект данных сертифицированным или нет. В изобретении ответ содержит гиперссылку на сервер 151, благодаря чему пользователь может удостовериться, что сертификация приложения является подлинной. В изобретении, веб-страница, на которую сделана гиперссылка, показывает дополнительную информацию о приложении, такую как, почему ему был присвоен статус доверенного или недоверенного (например, через анализ в ручном режиме, комментарии, согласно данным распределения), какие разрешения запрашиваются приложением, характеристики и функциональные возможности приложения, а также комментарии к приложению, сделанные во время анализа в ручном режиме.

[96] Используя данные, собранные сервером 151 или из системы анализа, описанной в настоящем документе, сервер может выработать оценку (элемент схемы 1113 Фиг.11). После выработки оценки, сервер 151 может сохранить оценку для объекта данных так, что она может быть извлечена позже (элемент схемы 1115). Сервер может затем передать оценку для объекта данных (элемент схемы 1117). Например, сервер может опубликовать оценку на веб-сайте провайдера приложения, предоставить оценку в форме отчетов, которые могут быть найдены через поиск, передать уведомление мобильному устройству связи, передать вирусные сигнатуры, содержащие оценку о том, что данные объект данных заведомо плохой или хороший, и передать ответ на вызов API, запрашивающий оценку объекта данных. Такая информация может быть в форме читаемого текста, машиночитаемого формата или может включать «баллы», значок, иконку или другой символический рейтинг. Специалисту будет ясно, что другие ситуации, в которых сервер 151 передает оценку для объекта данных, также возможны, и не будут отклонением от данного описания.

[97] В изобретении, данные об оценке включают выходную информацию из системы анализа, такие как данные о характеристике, данные о категоризации, данные о доверии и данные распределения. Например, оценка объекта данных может включать (исключительно или в добавление к другой информации) обнаруженные функциональные возможности объекта данных, средний расход аккумулятора, среднее количество SMS-сообщений или писем по электронной почте, посланных объектом данных, сервера, с которыми чаще всего связывается объект данных, среднее количество сетевых данных для объекта данных, а также рейтинг доверия для объекта данных. Следует учесть, что вышеперечисленные данные об оценке могут быть предоставлены как входная информация для сервера 151. Например, сетевой оператор или предприятие может управлять сервером, который производит данные об объекте и направляет свои данные назад к главному серверу. В другом варианте, пользователи могут определить данные об оценке и предоставить их серверу 151 через интерфейс, такой как, например, веб-приложение. В этом случае, пользователи могут предоставить субъективные данные о доверии, рейтинги риска, категоризацию или другие данные, которые могут быть использованы сервером. В изобретении, сервер 151 совмещает данные об оценке, полученные от множества источников, что выработать совокупную оценку. Например, если автор вредоносного программного обеспечения попытается передать оценку серверу 151, указывающую, что вредоносное приложение безопасно, в надежде заставить сервер произвести неправильную оценку, сервер может использовать некоторое количество уникальных источников, предоставляющих оценки и степень доверия к этим источникам, чтобы выработать совокупную оценку. Если сто оценок были получены от разных надежных источников, таких как сетевые операторы и предприятия, в которых указывается, что приложение является вредоносным, но при этом десять тысяч оценок от отдельного неверифицированного источника говорят о том, что приложение безопасно, сервер произведет совокупную оценку о том, что приложения является вредоносным.

[98] В изобретении, данные об оценке, произведенные сервером 151, включают один или большее количество рейтингов для объекта данных. Например, оценка для объекта данных может включать рейтинг конфиденциальности объекта данных, устанавливаемый сервером 151, который оценивает, есть ли у приложения функциональная возможность посылать данные о местонахождении, данные о контактах, SMS-сообщения или файлы с устройства на сервер. В другом варианте, оценка для объекта данных может включать рейтинг безопасности объекта данных, устанавливаемый сервером 151, который оценивает, существуют ли заведомо известные уязвимости у приложения, пытается ли оно «прислушиваться» к сетевым соединениям на любых портах, отвечает ли оно требованиям защитного кодирования, каков уровень доверия приложению и есть ли какие-либо аномалии в приложении (например, стелс-коды, дешифрованные коды, структурные аномалии). В другом варианте, оценка объекта данных может включать рейтинг влияния объекта данных на заряд аккумулятора, такой как, например, приблизительное количество минут сокращения времени работы аккумулятора, которое рассчитывается сервером 151 исходя из данных об использовании заряда аккумулятора, полученных от устройств. В другом варианте, оценка для объекта данных может включать рейтинг успешной работы объекта данных, который вырабатывается сервером 151, на основе информации о среднем уровне использования ЦПУ приложением и количеством случаев, когда приложение не отвечает на запросы пользователя. В другом варианте, оценка для объекта данных включает рейтинг качества, который вырабатывается сервером, исходя из частоты сбоев в приложении, комментариев пользователей, рейтингов пользователей и среднего времени существования приложения на устройствах. В изобретении, сервер 151 предоставляет множество рейтингов в качестве составляющей одной оценки для того, чтобы предоставить информацию об объекте данных в разных измерениях. В изобретении, оценки могут быть бинарными (например, хорошее, плохое) или нечеткими (например, 100%, 90%, 10%). В изобретении разные рейтинги объединяются в итоговый рейтинг.

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

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

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

[102] В изобретении оценка показывает, позволено ли объекту данных работать на данном устройстве с учетом политики, установленной администратором. Если множество разных типов политики настроены на сервере 151, и хранилище данных 111 сохраняет, какая политика должна быть применена на устройстве 101, то тогда конкретный объект данных может иметь множество оценок, которые зависят от политики на устройстве, запрашивающем оценку. Например, если устройство со строгой политикой конфиденциальности запрашивает оценку для приложения, которое может делиться информацией о местонахождении пользователя, сервер 151 передает оценку, в которой указывается, что приложение недопущено к работе на устройстве. Если устройство с мягкой политикой в отношении конфиденциальности запрашивает оценку того же самого приложения, сервер 151 передает оценку, указывающую, что приложение допущено. В изобретении, данные об оценке не хранятся, и только информация, используемая для выработки оценки, такая как данные приложения, данные об устройстве, информация о распределении, информация о характеристике, информация о доверии и информация о категоризации сохраняются, а оценка выполняется по запросу с применением определенной политики к хранящейся информации.

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

[104] Поскольку для оценок объектов данных может быть целесообразно отражать самую последнюю доступную информацию, в изобретении сервер 151 сначала производит оценку и затем обновляет ее, если появляются доступные дополнительные данные приложения или данные об устройстве, или если сама система анализа обновилась. В изобретении, если объект данных оценивается вновь (например, потому что появились новые данные приложения, данные об устройстве, или обновилась система анализа), сервер 151 сохраняет новую оценку 1111 и передает ее 1113. Например, после сбора данных об устройстве и данных приложения для объекта данных с десяти устройств, сервер 151 может сгенерировать новую оценку для объекта данных. Затем, если сервер 151 получает данные об устройстве и данные приложения еще от одной тысячи устройств, он может проанализировать объект данных вновь в свете новых данных, при этом произведя новую оценку для объекта данных. Если обновленная оценка существенно отличается от первоначальной, то сервер 151 может предпринять некоторые действия, например, по уведомлению устройств или пользователей.

В. Система защиты от вредоносного программного обеспечения

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

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

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

[108] В другом варианте, мобильные устройства связи 101 может извлекать характеристики из объекта данных, чтобы помочь серверу 151 произвести оценку. В изобретении мобильное устройство 101 выполняет статический анализ на объекте данных, чтобы извлечь данные приложения для передачи серверу 151. Например, на платформе Android устройство может анализировать исполняемые файлы пакетов приложений, обычно называемые «classes.dex». Устройство может извлечь список внутрипроцессных коммуникационных вызовов, прямо или косвенно выполненных исполняемым файлом, которые используют механизм «связывания», и передать информацию о вызовах серверу 151 для использования в анализе пакета приложений.

[109] В изобретении, сервер 151 может анализировать объект данных сразу или же ему может понадобиться собрать дополнительную информацию, используя один из процессов, описанных в настоящем документе. После выработки оценки для объекта данных сервер передает оценку мобильному устройству связи 101. В изобретении, оценка содержат указание на то, считается ли объект данных нежелательным или нет. Например, сервер 151 может передать одну из трех оценок: заведомо хороший, заведомо плохой и неизвестен. Если сервер определяет, что объект данных известен как хороший (например, потому что у объекта данных высокий уровень доверия), сервер вернет оценку, в которой будет указано, что объект данных является заведомо хорошим. Если сервер определит, что объект данных известен как плохой (например, потому что было определено, что он является частью вредоносного программного обеспечения), сервер вернет оценку, в которой будет указано, что объект является заведомо плохим. Если у сервера недостаточно информации, чтобы определиться, он вернет оценку, в которой будет указано, что объект данных неизвестен. В изобретении, оценка содержит уровень риска для объекта данных или уровень доверия оценке «заведомо хороший « и «заведомо плохой», чтобы мобильное устройство связи или его пользователь могли использовать уровень риска или уровень доверия для того, чтобы определить, как классифицировать объект данных.

[110] В изобретении, оценка, переданная сервером 151 мобильному устройству связи 101, содержит информацию о том, почему сервер 151 определил, что объект данных является нежелательным. Например, сервер 151 может передать имя семейства вредоносного программного обеспечения, к которому, как определил сервер, принадлежит объект данных, или сервер может передать HTTP URL со ссылкой на сервер 151, который мобильное устройство связи может использовать, чтобы отобразить дополнительную информацию об объекте данных, при этом URL содержит идентификатор, который дешифруется сервером 151, чтобы позволить ему извлечь сохраненную информацию об объекте данных. Веб-страница может отображать дополнительную информацию, такую как входящие данные из разных систем анализа, которые были использованы для выработки оценки. Например, веб-страница может отображать информацию о распределении для объекта данных, информацию о серверах, с которыми обычно связывается объект данных, информацию, полученную благодаря анализу объекта данных человеком, данные о доверии, ассоциированные с объектом данных, информацию о географическом распространении объекта данных, информацию об аналогичных объектах данных и информацию об авторе объекта данных.

[111] Может быть целесообразно свети к минимуму количество запросов, которые устройство 101 должно посылать серверу 151 для оценки объекта данных, чтобы устройство могло минимизировать объем данных, которые оно передает и получает, сократило время, требуемое для оценки объекта данных, оптимизировало потребление заряда аккумулятора и минимизировало нагрузку на сервер 151. В изобретении, мобильное устройство 101 поддерживает локальную кэш-память для информации об оценке, полученной от сервера 151. Локальная кэш-память может храниться с использованием облегченной базы данных, такой как SQLite, или в собственном формате бинарного файла, который оптимизирован для хранения оценок. Например, кэш-память может содержать указание относительно того, был ли объект данных нежелательным или нет, относительно уровня риска, ассоциированного с объектом данных и информацию определения, такую как идентифицирующую информацию об объекте данных. Когда устройство сканирует объект данных, оно может посмотреть идентифицирующую информацию об объекте данных в локальной кэш-памяти. Если оценка для объекта данных помещается в кэш-память, то эта оценка используется. Если оценка не помещается в кэш, то устройство считывает оценку с сервера 151. В изобретении, когда мобильное устройство связи помещает в свой кэш оценку для объекта данных, обнаруженном на устройстве, оно генерирует информацию определения для объекта данных. Например, устройство может использовать хеш содержания объекта данных, чтобы гарантировать, что оно помещает в кэш результаты оценки от сервера. В изобретении, сервер 151 передает информацию определения с оценкой для того, чтобы мобильное устройство связи могло применять оценку к соответствующему набору приложений. Например, в некоторых случаях сервер 151 может указать, что оценка относится только к конкретному объекту данных, идентифицированному по хешу его содержания, при этом, в других случаях сервер может указать, что оценка относится ко всем объектам данных, подписанных одним и тем же криптографическим ключом.

[112] В изобретении, мобильное устройство связи 101 сохраняет локальный кэш определений для заведомо хороших объектов данных и заведомо плохих объектов данных для использования компонентом распознавания (описание приводится ниже), работающим на мобильном устройстве связи. Используя компонент распознавания, мобильное устройство связи может определить оценку для подозрительного объекта данных, если локальная кэш-память содержит определение и соответствующую оценку, которая соответствует подозрительному объекту данных. Например, определения могут использовать критерии, такие как хеш-идентификаторы, имена пакетов и криптографических подписчиков, чтобы найти соответствие с конкретным объектом данных. Каждое определение может иметь соответствующую оценку (например, «плохой», «хороший»). Если определение подходит подозрительному объекту данных, оценка определения используется для подозрительного объекта данных. Если ни одно из определений не находит соответствия с объектом данных, то есть данные не признаются безопасными или небезопасными, то в таком случае мобильное устройство связи 101 может передать данные приложения для подозрительного объекта данных, чтобы сервер 151 мог провести более глубокий анализ.

[113] В изобретении, кэш-память используется как первичное хранилище определений антивредоносного программного обеспечения, которые определяют, опознает ли программное обеспечение, предназначенное для защиты от вредоносных программ и установленное на мобильном устройстве связи 101, объект данных как вредоносный или нет, без необходимости консультироваться с сервером 151. В изобретении кэш-память хранит информацию определения, используемую компонентом распознавания на устройстве. Например, кэш-память может содержать информацию определения, такую как имена пакетов, криптографические подписчики, последовательность байтов, модели или логику, которая используется для того, чтобы найти соответствие между объектами данных на устройстве с сохраненными в кэше оценками. Если кэш-память содержит запись, связывающую конкретную последовательность байтов с оценкой, которая указывает на приложение как на вредоносное, и объект данных на устройстве содержит эту последовательность байтов, то тогда устройство определит, что объект данных является вредоносным, не связываясь с сервером 151. В изобретении, кэш-память содержит только информацию определения, все определения, соответствующие единственной оценке объекта данных, являющегося вредоносным. В изобретении, кэш-память может содержать информацию об оценке, при этом, информация об оценке, вероятно, может содержать идентификатор, как было сказано ранее, который может быть передан серверу 151, чтобы устройство смогло извлечь информацию, для того, чтобы показать ее пользователю. Такой идентификатор, использующийся для извлечения данных из сервера 151, позволяет кэш-памяти минимизировать количество информации, которое она хранит, касающейся потенциально вредоносного программного обеспечения. В изобретении, кэш-память устройства служит в качестве как белого, так и черного списка. Кэш-память содержит информацию определения для заведомо хороших и заведомо плохих объектов данных для того, чтобы если объект данных определяется как заведомо хороший или заведомо плохой, устройству не приходилось запрашивать оценку от сервера 151. В изобретении, кэш-память, которая служит в качестве как черного, так и белого списка, используется компонентом распознавания на мобильном устройстве связи, чтобы определить, являются ли объекты данных распознаваемо плохими или распознаваемо хорошими. Если объект данных, с которым столкнулось устройство, не является ни распознаваемо хорошим, ни распознаваемо плохим исходя из данных определения, хранящихся в кэш-памяти, тогда устройство может передать данные приложения для объекта данных серверу 151, чтобы устройство смогло получить оценку для объекта данных от сервера. В изобретении, программное обеспечение для защиты от вредоносного программного обеспечения на мобильном устройстве связи установлено с кэш-памятью с предварительно загруженными определениями, которые в свою очередь модифицируются устройством по мере получения им новых оценок или по мере того, как ранее сохраненные оценки признаются недействительными.

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

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

[116] Поскольку извлечение помещенных в кэш-память оценок происходит быстрее, чем извлечение оценок с сервера 151 (таким образом минимизируется время задержки и нагрузка на ресурсы при определении, является ли объект данных вредоносным или нет), может быть целесообразно максимизировать количество оценок, которые могут быть определены на локальном уровне, используя помещенные в кэш-память данные. В изобретении, сервер передает оценки мобильному устройству связи без предварительных запросов мобильного устройства связи, а устройство сохраняет эти оценки в кэш-памяти. Поскольку все оценки, доступные серверу 151 могут требовать большего объема для хранения, чем целесообразно иметь мобильному устройству связи 101, сервер может передавать только сокращенный набор доступных ему оценок. В изобретении, сервер 151 определяет, какие оценки передать мобильному устройству связи 101, анализируя данные об устройстве и данные приложения. Например, хранящаяся на сервере 151 операционная система, с которой совместим объект данных, ассоциирована с оценками для объектов данных таким образом, что сервер может запросить все оценки, относящиеся к данной операционной системе. Сервер 151 может в таком случае передать мобильному устройству связи только оценки для объектов данных, которые совместимы с операционной системой устройства. Другие оценки не будут переданы устройству, потому что объекты данных, на которые ссылаются другие оценки, не могут работать на операционной системе данного устройства. В другом варианте, сервер может использовать страну, язык или код территории, чтобы определить, какие оценки передать устройству. Маловероятно, что пользователи в США будет загружать приложения на русском языке, точно также как и пользователи в России вряд ли будут загружать приложения на испанском языке.

[117] В изобретении, сервер 151 сохраняет информацию о том, какие оценки он уже передал устройству и какие оценки были успешно получены устройством, для того, чтобы оценки без необходимости не передавались повторно. Если устройство не получало оценки, которые были необходимы, сервер передаст оценки в следующий раз, когда устройство выйдет с ним на связь. Для того чтобы эффективно отслеживать, какие оценки уже были получены устройством, сервер 151 может группировать оценки, в результате чего конкретное устройство получает все оценки в одной или большем количестве групп. Например, конкретная группа оценок может изменяться (например, были оценены новые объекты данных, изменения в существующие оценки) множество раз в день; однако устройство может быть настроено получать обновленные оценки только один раз в день. Чтобы определить, какие оценки передать устройству, сервер может регистрировать время, когда устройство в последний раз получало обновленный оценки для какой-либо группы, и анализировать изменения в группе только с того момента, как устройство в последний раз получало оценки. Например, если устройство получило все оценки для конкретной группы в понедельник, а две новые оценки были добавлены в группу во вторник, то в таком случае, если устройство связывается с сервером в среду, серверу нужно запросить только те оценки, которые изменились в группе с понедельника, и сервер определит, что ему нужно передать только две добавленные оценки. В изобретении сервер использует сервис доставки, такой как описанный в настоящем документе, чтобы уведомить устройство о существовании дополнительных оценок, которые сервер готов передать устройству. При использовании сервиса доставки, когда сервер обновляет оценки, являющиеся частью группы, все устройства, которые получают оценки из этой группы, могут обновиться и получить самые последние оценки практически мгновенно.

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

[119] Поскольку оптимальное количество данных об оценках для сохранения в кэш-памяти устройства может отличаться в зависимости от аппаратного обеспечения устройства, поведения пользователя или предпочтений пользователя, может быть целесообразно, чтобы этот объем данных можно было настраивать. В изобретении, объем данных об оценках, подлежащий сохранению в кэш-памяти на мобильном устройстве связи 101, определяется сервером 151. Например, сервер 151 может проанализировать объем ЗУ, доступного на устройстве, частоту, с которой пользователь загружает приложения и вероятность того, что дополнительные сохраненные в кэше данные об оценках помогут сократить количество запросов на оценку, переданных устройством. Если устройство имеет большой объем доступного ЗУ и пользователь загружает много приложений, то сервер может определить, что в кэш можно помещать большое количество данных об оценках; однако, если у устройства небольшое ЗУ и его пользователь редко загружает приложения, то сервер может принять решение сохранять в кэше только небольшое количество данных или вообще не сохранять ничего. Сервер также может проанализировать предыдущие запросы на оценку, сделанные устройством, чтобы определить, можно было ли избежать тех запросов, если устройство сохранило бы в кэше дополнительную информацию об оценке. Например, если устройство в настоящий момент получает оценки, принадлежащие к конкретной группе приложений, и сервер оценивает, должно ли устройство получать оценки для дополнительной группы приложений, сервер проанализирует предыдущие запросы на оценку, чтобы определить, какое количество тех оценок есть во второй группе. Если сервер 151 определяет, что можно было бы избежать достаточного количества запросов на оценку, то он начнет передавать оценки из обеих групп устройству. В изобретении, пользователь может контролировать объем ЗУ на мобильном устройстве связи 101, который выделяется для сохранения в кэш-памяти оценок.

[120] Вместо того, чтобы всегда производить абсолютные оценки (например, «заведомо хороший» или «заведомо плохой»), для сервера 151 может быть целесообразно сообщать, что у него еще нет оценки. В изобретении сервер 151 передает оценку для объекта данных, с указанием на то, что степень нежелательности объекта неизвестна. Когда мобильное устройство связи 101 сталкивается с объектом данных, передает запрос серверу 151 для оценки и получает оценку «неизвестно», устройство временно относится к объекту данных как доверенному и делает повторную попытку запроса на оценку позже. Для того чтобы избежать ненужных запросов, устройство увеличивает временной период между повторными попытками, если оно продолжает получать оценку «неизвестно». В течение этого периода временного доверия, устройство не повторяет передачу запроса на оценку каждый раз, когда объект данных сканируется. Например, в системе защиты от вредоносного программного обеспечения на мобильном устройств, сконструированном так, что оно сканирует файлы в файловой системе, когда к ним обращаются, первое обращение к объекту данных может привести к тому, что устройство передаст запрос на оценку серверу 151. Если сервер вернет оценку «неизвестно», устройство сохранит временную запись в своей базе данных оценок, с указанием идентифицирующей информации для объекта данных, временную оценку с указанием, что объект данных разрешен, и период времени, в течении которого оценка действительна.

[121] В изобретении, сервер 151 передает информацию об объекте данных в оценке «неизвестно», и мобильное устройство связи 101 использует данные оценки от сервера 151 в качестве входящей информации для локальной системы анализа. Например, мобильное устройство связи 101 может иметь эвристическую систему, которая анализирует содержание объекта данных, что определить является ли он вредоносным. В случае результатов «заведомо хороший» и «заведомо плохой», полученных от сервера 151, устройство либо не запускает эвристическую систему, либо не принимает во внимание результата от эвристической системы. Если сервер возвращает результат «неизвестно», включающий уровень доверия объекту данных, устройство 101 совмещает результат от эвристической системы с уровнем доверия, предоставленным сервером, чтобы определить, относится ли к объекту данных как к нежелательному или нет. Например, мобильное устройство связи 101 может масштабировать результат, полученный при локальном анализе, основываясь на уровне доверия, предоставленным сервером 151. Если эвристическая система на устройстве определила, что объект данных на 66% опасен, и оценка «неизвестно» от сервера 151 указывает, что объект данных обладает подозрительным уровнем доверия, равным 1%, устройство определит, что объект данных нежелателен; однако, если оценка «неизвестно» от сервера 151 указывает, что объект данных имеет уровень доверия 70%, то тогда устройство 101 определит, что объект данных желателен.

[122] Для того чтобы реагировать на нежелательные приложения, такие как вредоносное и шпионское программное обеспечение, как только они были таковыми идентифицированы, для сервера 151 может быть целесообразно передавать мобильному устройству связи 101 уведомления относительно объектах данных, которые были определены как нежелательные, при том что ранее классифицировались как заведомо хорошие или неизвестные. В изобретении, сервер 151 сохраняет информацию об объектах данных, с которыми сталкивалось устройство 101, для того, чтобы в ситуации с объектом данных, с которым столкнулось устройство и который был ранее оценен как хороший или неизвестный, но впоследствии определен как нежелательный, сервер 151 мог определить все устройства, столкнувшиеся с этим объектом данных, и передать уведомление о том, что объект данных является нежелательным. В изобретении, сервер 151 передает уведомление устройству 101 только в случае, если объект данных, который является предметом для уведомления, может работать на операционной системе устройства. Например, если устройство работает на операционной системе Blackberry и столкнулось с шпионским приложением для Android, сервер 151 не передаст уведомление устройству; однако, если устройство столкнулось с шпионским приложением для Blackberry, сервер 151 передаст уведомление. Как было сказано в настоящем документе, определение того, может ли объект данных работать на конкретном устройстве может быть произведено с помощью анализа данных об устройстве для устройства и данных приложения для объекта данных.

[123] В изобретении, уведомление, переданное от сервера 151 устройству 101, создано для потребления устройством и включает как идентификационную информацию для объекта данных, так и информацию по исправлению. Например, уведомление может использовать сервис доставки, предоставленный разработчиком платформы, и включать имя пакета и хеш содержания для объекта данных. Уведомление может также указывать действия по исправлению для объекта данных, такие как «ликвидация» любых процессов, содержащих объект данных, запрос пользователю удалить объект данных и удаление объекта данных без вмешательства пользователя. В изобретении, уведомление включает информацию об объекте данных для отображения пользователю, например, инструкции по исправлению, объяснение причин, почему объект данных считается нежелательным, или запрос на конкретное действие. В изобретении, уведомление представляется в форме человекочитаемого сообщения, например, текстового сообщения, электронного письма или телефонного звонка. Для сервера может быть целесообразно произвести как человекочитаемое, так и машиночитаемое уведомление, что гарантировать, что пользователь отреагирует на опасный объект данных. Например, сервер может послать электронное письмо пользователю и передать уведомление для устройства удалить объект данных без вмешательства пользователя.

[124] В изобретении, мобильное устройство связи 101 содержит базу данных всех объектов данных, которые присутствуют на устройстве, и сервер передает обновленные отличительные признаки объекта (сигнатуры) устройству, когда объект данных, с которым столкнулось устройство, определяется как нежелательный. Когда устройство получает обновленные отличительные признаки объекта, оно сравнивает их с объектами данных, находящимися на устройстве. Если какие-либо объекты данных, присутствующие на устройстве, согласно обновленным отличительным признакам объектов считаются нежелательными, то устройство немедленно инициирует действия по исправлению, не дожидаясь следующего раза, когда объект будет просканирован.

[125] Если система защиты от вредоносного программного обеспечения выполняет оценку для объекта данных, может быть целесообразно доверять объекту данных до тех пор, пока он не изменился, чтобы избежать необходимости повторной оценки объекта данных. В изобретении, мобильное устройство 101 ведет список объектов данных, о которых известно, что они были проанализированы и считаются желательными. В ситуации, когда объект данных желательно было бы просканировать, устройство может сначала проверить этот список, чтобы посмотреть, есть ли в нем объект данных. Если объект данных там присутствует, устройство повторно не сканирует объект. После сканирования файла и определения того, что он желателен, устройство помещает идентификатор для объекта данных в этот список. Такими идентификаторами могут быть имя файла, идентификатор узла связи файловой системы или специальный дескриптор объекта данных в операционной системе. В изобретении, мобильное устройство связи сохраняет список объектов данных в энергонезависимом ЗУ, чтобы список мог быть сохранен даже если устройство перезагрузили или кончился заряд аккумулятора. При сохранении оценок и последующего обращения к ним, важно, чтобы любые сохраненные оценки действовали только для конкретного набора содержания объекта данных. Если содержание объекта данных изменяется, то может потребоваться другая оценка, так как модификация объекта данных могла быть произведена для включения в него вредоносного кода, который не присутствовал в оригинальном варианте объекта данных. В изобретении, список содержит криптографический хеш содержания объекта данных. Когда устройство определяет, считается ли объект внесенным в список, оно сравнивает хеш объекта данных, сохраненный на устройстве, с хешем объекта данных в списке. Если они совпадают, то объект данных считается внесенным в список. В изобретении, программное обеспечение для защиты от вредоносного программного обеспечения может определить, когда файлы открыты и закрыты. Если файл в списке открыт с доступом по записи, то тогда он удаляется из списка. До тех пор, пока открыта запись в файл, файл не может быть добавлен в список.

[126] Следует учесть, что осуществление настоящего изобретения предполагает другие способы, направленные на уменьшение сетевого трафика при предоставлении достаточного количества возможных способов для обеспечения безопасности мобильных устройств связи. Например, мобильное устройство связи может запросить анализ всех данных, присутствующих на устройстве («сканирование»), когда мобильное устройство связи впервые запускается или к нему подключают питание, или когда приложение, отвечающее за мониторинг мобильной связи, запускается впервые. Это обеспечивает исходный анализ безопасности мобильного устройства связи. Последующие сканирования могут быть выполнены при обращении устройства к новым приложениям или в интервал времени перед установкой, или по запросу пользователя. Сканирования могут быть отрегулированы в зависимости от доступа к сети 121. Если проблема в возможностях подключения и взаимодействия, то тогда обеспечивается доступ только к обновленным данным или подозрительным данным. Сканированиям может присваиваться очередность выполнения и они будут выполняться, когда качество подключения и взаимодействия улучшится.

[127] В изобретении, система защиты от вредоносного программного обеспечения на мобильном устройстве связи 101 обладает функциональной способностью выполнять сканирования всех объектов данных на устройстве как по графику, так и по запросу. Если система защиты от вредоносного программного обеспечения использует сервер для выработки оценок для объектов данных, может быть целесообразно оптимизировать время, требуемое для выполнения сканирования. Поскольку задержка в сети ведет к увеличению временного разрыва между временем отправки запроса на оценку от устройства и временем получения устройством ответа от сервера 151, может быть целесообразно конвейерно обрабатывать запросы в такой последовательности, что устройство просто не будет бездействовать, ожидая ответа. В изобретении, мобильное устройство связи передает запрос серверу 151, чтобы обеспечить оценки для множества объектов данных, и сервер 151 передает оценки для этого множества объектов данных на устройстве. Например, в течение сканирования по требованию устройство может быть настроено сначала точно пересчитать все объекты данных на устройстве, а затем послать серверу 151 запрос на оценку всех пересчитанных объектов данных. В другом варианте, устройство может пересчитать только десять объектов за один раз, затем послать запрос серверу и получить ответ относительно этих десяти объектов данных перед сканированием дополнительных объектов данных. В другом варианте, устройство может пересчитать объекты данных и передать запрос на оценку, продолжая процесс пересчета, не дожидаясь оценок от сервера. Устройство будет ждать ответ от сервера, только когда пересчет будет завершен.

[128] В системе защиты от вредоносного программного обеспечения, блокирующей загрузку и исполнение объекта данных до того момента, пока система не пришла к решению, может быть целесообразно получить доступ к объекту данных перед тем, как он нужен будет для загрузки или исполнения. В изобретении, мобильное устройство связи 101 предварительно сканирует объекты данных и сохраняет результаты, чтобы, когда объект данных будет загружен, устройство могло получить ссылку на результат предыдущего сканирования. Например, когда устройство загружает программу, зависимую от множества других файлов (например, исполняемого файла, который связан с совместно используемыми библиотеками), система защиты от вредоносного программного обеспечения на устройстве может проанализировать программу, чтобы определить все библиотеки, от которых она зависит, послать запрос серверу 151 для оценки программы и ее зависимых библиотек, и затем разрешить выполнение программы как только устройство получит положительный результат оценки. Когда операционная система устройства загружает библиотеки, от которых приложение зависит, никакого запроса серверу 151 не требуется, потому что система уже имеет самые новые оценки для библиотек. Если библиотеки не были предварительно проанализированы, итоговое время загрузки для программы может быть больше, так как устройству, возможно, придется ждать из-за множества запросов серверу 151, выполняемых порционно. В изобретении, программное обеспечение на мобильном устройстве связи анализирует объекты данных после того, как они были загружены, но до того, как они начали исполняться. Например, программное обеспечение для защиты от вредоносного программного обеспечения на устройстве может наблюдать за директорией загрузки с точки зрения новых файлов или может просто ждать создания новых файлов, записи в них, а затем их закрытия. После того, как загрузка завершена, программное обеспечение может инициировать сканирование новых файлов, чтобы, как только новый файл открыли, он уже был оценен системой, и последняя могла просто обратиться к предыдущей оценке.

[129] Если программное обеспечение для защиты от вредоносного программного обеспечения блокирует операции, выполняющиеся по запросу пользователя, или системные операции, во время оценки объекта данных, может быть целесообразно дать знать пользователю о том, что осуществляется процесс оценки, особенно если оценка зависит от сетевого соединения, которое может существенно замедляться. В изобретении, система защиты от вредоносного программного обеспечения на мобильном устройстве связи 101 отображает в пользовательском интерфейсе информацию о том, что объект данных находится в процессе сканирования, когда система сканирует объект данных и блокирует запрашиваемые пользователем операции. Например, если система защиты от вредоносного программного обеспечения препятствует исполнению приложений до тех пор, пока приложение и все его зависимые библиотеки не будут оценены, вмешиваясь в процесс запуска приложения, может иметь место существенное запаздывание, ощутимое для пользователя. Неудобства, причиненные задержкой, можно уменьшить, информируя пользователя о том, что происходит, вместо того, чтобы оставлять устройство выглядеть ни на что не реагирующим. Когда пользователь запускает приложение, устройство отображает пользовательский интерфейс, в котором видно, что система защиты от вредоносного программного обеспечения в данный момент оценивает приложение, которое запустил пользователь. В изобретении, пользовательский интерфейс позволяет пользователю устройства пропустить ожидание окончания сканирования. Например, если при сканировании устройством объекта данных необходимо связаться с сервером 151, и пользователь не хочет ждать, пользователь может продолжить, не дожидаясь возврата оценки. Если в пришедшей впоследствии оценке будет указано, что объект данных является вредоносным, устройство может инициировать действия по исправлению, такие как ликвидация любых процессов, содержащих объект данных и удаление объекта данных, даже если объекту данных было разрешено функционировать.

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

[131] В изобретении, система защиты от вредоносного программного обеспечения на устройстве 101 определяет, следует ли ему ждать ответа от сервера 151 перед тем, как сделать заключение, основываясь на контексте сканирования Например, сканирования, которые происходят во время запуска системы или когда нет активного сетевого соединения, не должны блокироваться в ожидании ответа от сервера. Для того чтобы определить, есть ли сетевое соединение, система защиты от вредоносного программного обеспечения может использовать разнообразные способы, такие как запрос информации о состоянии сетевого интерфейса, осуществляемый операционной системой, и анализ того, истекло ли время запроса серверу 151. Если система защиты от вредоносного программного обеспечения перехватывает системные вызовы, сканирования, которые осуществляются в результате попыток системы исполнять объект данных, должны блокироваться на время ожидания ответа от сервера 151, при этом сканирования, которые ведутся из-за того, что приложение пытается получить информацию об объекте данных (например, программа управления файлов пытается извлечь иконку для объекта данных) не должны блокироваться на время ожидания ответа. В изобретении, если запрос на оценку объекта данных невозможно выполнить, попытка повторить его осуществляется позже.

[132] В изобретении, система защиты от вредоносного программного обеспечения пропускает некоторые этапы локального анализа или анализа сервером, если можно произвести точную оценку без дополнительного анализа. Например, если локальный анализ определяет, что объект данных не опасен, то тогда устройство может не запрашивать оценку от сервера 151 - устройство может запрашивать оценку у сервера 151, только если сканируемый объект данных имеет минимальную степень риска, определенный компонентом локального анализа на устройстве. Как вариант, определение того, пропускать ожидание дополнительных результатов или нет, производится с помощью обоих результатов и того, какая система вернула какой результат. Отрицательного результата локального анализа до получения результата от сервера 151 может быть достаточно, чтобы относится к объекту данных как вредоносному; однако положительный результат локального анализа потребует от системы дождаться оценки от сервера 151, чтобы подтвердить, что объект данных неопасен, перед тем, как окончательное заключение будет сформировано.

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

[134] В изобретении, сервер 151 хранит список вредоносного программного обеспечения и других нежелательных приложений, которые были обнаружены на устройстве и которые до сих пор активны на устройстве. Для того чтобы пополнять этот список, мобильное устройство 101 посылает информацию о событиях серверу 151 во всех случаях, когда оно сталкивается с нежелательным приложением, во всех случаях, когда нежелательное приложение удаляется, и во всех случаях, когда нежелательное приложение игнорируется. Информация о событиях включает идентифицирующую информацию для объектов данных, чтобы сервер 151 мог соотнести эти события с известными ему объектами данных. Например, поскольку пользователь может выбрать игнорировать вредоносное программное обеспечение, для пользователя важно видеть его/ее список игнорированных вредоносных программ, чтобы избежать ситуации, в которой пользователь вредоносных программ устанавливает вредоносное программное обеспечение на чей-то еще телефон и настраивает программное обеспечение для защиты от вредоносного программного обеспечения на телефоне игнорировать вредоносное программное обеспечение, мешая системе автоматически удалить его. В такой ситуации, легитимный пользователь телефона может сказать, что на его/ее устройстве есть активная вредоносная программа, но она игнорируется. В изобретении, поскольку сервер 151 обладает данными о том, есть ли на данный момент на устройстве 101 вредоносное программное обеспечение или нет, сетевой доступ устройству может быть разрешен или запрещен, в зависимости от состояния устройства в отношении вредоносных программ, которое запрашивается системой контроля сетевого доступа у сервера 151 для конкретного устройства.

[135] При осуществлении настоящего изобретения, анализ со стороны сервера или «облачный» анализ может быть выполнен с использованием версии трехкомпонентной системы, описанной в патентной заявке США №12/255,621, которая включена здесь в полном объеме. Пример трехкомпонентной системы представлен на Фиг.9 и включает первый компонент 903, который может быть использован для того, чтобы распознавать данные, которые безопасны или являются «заведомо хорошими» (в настоящем документе также обозначаются как составляющая часть «белого списка» или подлежащие включению в «белый список»). Второй компонент 905 может быть использован, чтобы распознать данные, которые являются вредоносными, нерационально используют ресурсы устройства или являются «заведомо плохими» (в настоящем документе также обозначаются как составляющая часть «черного списка» или подлежащие включению в «черный список»), Третий компонент 907 - это компонент принятия решения, который может быть использован для оценки данных, которые не являются ни «заведомо хорошими», ни «заведомо плохими», другими словами «неизвестны». В изобретении, компонент 903 «заведомо хорошие» и компонент 905 «заведомо плохие» могут располагаться на мобильном устройстве связи 101, а компонент принятия решения 907 может находиться на сервере 151. В изобретении, компонент 903 «заведомо хорошие», компонент 905 «заведомо плохие» и компонент принятия решения 907 могут также располагаться сервере 151. В изобретении, части компонента 903 «заведомо хорошие», компонента 905 «заведомо плохие» и/или компонента принятия решения 907 могут находиться на мобильном устройстве связи 101, и части компонента 903 «заведомо хорошие», компонента 905 «заведомо плохие» и/или компонента принятия решения 907 могут находиться на сервере 151. В изобретении, компонент 903 «заведомо хорошие» и компонент 905 «заведомо плохие» могут располагаться на сервере 151, а компонент принятия решения 907 может находиться на мобильном устройстве связи 101.

[136] Например, хранилище данных 111 может содержать определения вредоносного программного обеспечения, которые постоянно обновляются и доступны серверу 151. Мобильное устройство связи 101 может быть настроено посылать данные приложения, такие как хеш-идентификатор, для подозрительных объектов данных серверу 151 для анализа. Сервер 151 может содержать компонент 903 «заведомо хорошие», компонент 905 «заведомо плохие» и компонент принятия решения 907, или компоненты могут быть распределены между двумя или большим количеством серверов. Один или большее количество серверов могут, таким образом, использовать данные приложения, чтобы определить, является ли подозрительный объект данных распознано безопасным объектом данных.Если подозрительный объект данных является распознано безопасным, тогда один или несколько серверов могут уведомить мобильное устройство связи или дать инструкции устройству о том, что оно может принять и обрабатывать объект данных. Один или большее количество серверов могут в таком случае использовать данные приложения, чтобы определить, является ли подозрительный объект данных распознано вредоносным. Если подозрительный объект данных является распознано вредоносным, то в таком случае один или большее количество серверов могут уведомить мобильное устройство связи или проинструктировать устройство отклонить объект данных и не обрабатывать его дальше. Компонент «заведомо хорошие» и компонент «заведомо плохие» могут обладать разнообразными способами для распознавания заведомо хороших или заведомо плохих объектов данных. Данные, логика и любая другая информация, используемая компонентом «заведомо хорошие» и/или компонентом «заведомо плохие» для идентификации распознаваемо хороших или распознаваемо плохих объектов данных соответственно, могут называться «сигнатуры» или «определения» (поясняется в тексте далее).

[137] Если компоненты «заведомо хорошие» и «заведомо плохие» не позволяют сделать окончательный вывод, один или большее количество серверов могут выполнить дополнительный анализ, что прийти к решению относительно заключения о характере объекта данных. В изобретении, сервер 151 содержит компонент принятия решений, который использует один или большее количество система анализа, чтобы анализировать данные приложения для объекта данных и определить, считать ли объект данных нежелательным или нет. В изобретении, если информации для выполнения дополнительного анализа недостаточно, то один или большее количество серверов могут потребовать, чтобы мобильное устройство связи послало дополнительные данные приложения серверу для анализа. Например, устройство может изначально послать хеш-идентификатор, имя пакета и информацию о криптографическом подписчике для объекта данных серверу для анализа. Если компоненты «заведомо хорошие» и «заведомо плохие» не могут идентифицировать объект данных как заведомо хороший или заведомо плохой, сервер может потребовать от устройства послать объект данных полностью, что сервер мог проанализировать сам объект данных. С момента получения дополнительных данных приложения, дальнейший анализ для получения заключения о том, следует ли устройству принять или отклонить объект данных, может быть выполнен компонентом принятия решений 907 или в ручном режиме. В изобретении, сервер сохраняет информацию о том, нужен ли конкретному объекту данных анализ в ручном режиме, что команде аналитиков было легче определить, какие объекты данных необходимо проанализировать.

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

[139] Следующее более подробно описывает каждый компонент из указанных выше. Специалисту будет ясно, что, поскольку итоговое количество заведомо хороших приложений для мобильных устройств связи может быть определено, использование компонента 903 «заведомо хорошие» совместно с базой данных, логикой или массивом данных, содержащим определения для заведомо хороших объектов данных (например, данные приложения, такие как хеш-идентификаторы), может существенно сократить ошибки в обнаружении нежелательных приложений и снизить необходимость выполнения вычислительно затратного анализа или необходимость связываться с сервером для анализа. Также ясно, что использование компонента 903 «заведомо хорошие» может быть особенно эффективно для данных, содержащих исполняемый программный код. Исполняемый программный код для конкретного приложения редко отличается между разными мобильными устройствами связи, поэтому создание базы данных заведомо хороших данных приложений или логики для оценки данных приложения может быть эффективным способом распознавания безопасных или заслуживающих доверия данных. Эта база данных может отличаться по размеру в зависимости от доступных ресурсов на мобильном устройстве связи. В альтернативном варианте, некоторые аспекты настоящего описания, такие как компонент «заведомо плохие» и компонент «заведомо хорошие», могут иметь доступ к удаленному серверу с большей библиотекой данных приложения для заведомо хороших или заведомо плохих объектов данных, например, к серверу 151 совместно с хранилищем данных 111 на Фиг.1.

[140] В осуществлении настоящего изобретения компонент 905 «заведомо плохие» может иметь доступ к базе данных, логике и другим данным, содержащим определения для заведомо плохих объектов данных, которые могут храниться на мобильном устройстве данных, не занимая большое количество памяти. Например, определения вирусов или определения другого вредоносного или шпионского программного обеспечения могут включать данные приложения, такие как хеш-идентификаторы, имена пакетов, криптографические подписчики, последовательности байтов и модели байтов, сохраненные в базе данных или другом сверхоперативном ЗУ. Другими словами, может существовать база данных заведомо плохих приложений, которая дополнит базу данных заведомо хороших, сохраненную на мобильном устройстве связи 101. В альтернативном или дополнительном варианте, компонент 905 «заведомо плохие» может быть способен идентифицировать вредоносное программное обеспечение, используя характеристики, которые являются общими для других вредоносных программных кодов. При применении компонента 905 «заведомо плохие» к сетевым данным или файлам данных он может обращаться к базе данных, содержащей модели или другие характеристики блока протокольных данных или формата файла, угрожающих безопасности. Компонент 905 «заведомо плохие» может также определять данные, которые оказывают нежелательное влияние на мобильное устройство связи, например, показывают уязвимости, истощают заряд аккумулятора, передают личную или неразрешенную к передаче информацию третьим сторонам или нерационально расходуют ресурсы устройства. Аналогично компоненту 903 «заведомо хорошие» и базе данных, любые данные, идентифицированные как «плохие» могут быть удалены, помещены в карантин или отклонены для дальнейшей обработки мобильным устройством связи. Если обнаруживается заведомо известный плохой объект данных, настоящее изобретение может отобразить уведомление или другое сообщение аналогично описанному в одновременно рассматриваемой патентной заявке США №12/255,635 «Статус безопасности и система отображения информации», зарегистрированной 21 октября 2008 и включенной здесь в полном объеме.

[141] Компонент принятия решений 907 может быть использован для оценки данных, которые не могут быть охарактеризованы как заведомо плохие или заведомо хорошие. Поскольку большинство данных, полученных мобильным устройством связи 101, могут не попадать в эту категорию, компонент может находиться на сервере 151. Этот компонент может использовать разнообразные способы произвести оценку для объекта данных, включая использование любых систем анализа, описанных в настоящем документе. Например, компонент принятия решений 907 может применять статический анализ, динамический анализ, анализ распределения и другие способы анализа, чтобы определить, можно ли пропустить полученные данные к планируемому пункту назначения или необходимо их отклонить для предотвращения вреда, который может быть нанесен устройству. Примеры такого анализа описываются ниже.

[142] Нижеследующие примеры иллюстрируют, как можно использовать один или большее количество серверов для того, чтобы заменить или повысить эффективность способов, описанных в патентной заявке США №12/255,621.

[143] Возможны разные варианты систем, содержащих компонент «заведомо хорошие», компонент «заведомо плохие» и компонент принятия решений. В зависимости от конкретных типов данных, подвергаемых анализу, и типов угроз безопасности, которые предотвращаются, разный порядок выполнения и разная логика могут применяться к выходной информации каждого компонента. В изобретении, если данные не определены как хорошие компонентом 903 «заведомо хорошие» (элемент схемы 805), он будет отклонен от обработки 813. Данные, которые компонент 903 «заведомо хорошие» определяет как хорошие (элемент схемы 805) дополнительно анализируются компонентом 905 «заведомо плохие» (элемент схемы 807). Если компонент 905 определяет данные как плохие (элемент схемы 807), то они отклоняются от обработки 813, в противном случае данные могут быть проанализированы компонентом принятия решений 907 (элемент схемы 809). В изобретении, если данные не определены как заведомо хорошие компонентом 903, их анализирует компонент 905. Если компонент 903 определяет данные как хорошие, им разрешается доступ. Если компонент 905 определяет данные как плохие, они будут отклонены от обработки 813. Если компонент 905 не определяет данные как плохие, данные могут быть проанализированы компонентом принятия решений 907 для того, чтобы дать оценку данным.

[144] Пример анализа сетевых данных или массива данных, находящихся на мобильном устройстве связи показан на Фиг.8. Как видно из Фиг.8, элемент схемы 801 может включать сбор данных, посылаемых мобильному устройству или получаемых от него. Данные могут быть проанализированы, чтобы определить протокол и данные отслеживания (элемент схемы 803). В элементе схемы 80 компонент 903 «заведомо хорошие», находящийся на мобильном устройстве связи, может оценить собранные данные относительно заведомо хороших характеристик. Заведомо хорошие характеристики могут включать характеристики, ранее описанные в патентной заявке США №12/255,621. Если данные содержат достаточное количество заведомо хороших характеристик, им может быть разрешен доступ к их запланированному пункту назначения (элемент схемы 811) для обработки, выполнения или другой операции. В альтернативном варианте, данные могут быть подвергнуты дальнейшему анализу компонентом 905 «заведомо плохие», находящимся на мобильном устройстве связи, чтобы подтвердить, что данные действительно безопасны (элемент схемы 807). Если компонент 905 определяет, что данные действительно безопасны, то в таком случае данным может быть разрешено проследовать к запланированному пункту назначения (элемент схемы 811). Компонент принятия решений 907 может также использоваться, чтобы провести окончательную проверку (элемент схемы 809) перед тем, как данным будет разрешено следовать дальше (элемент схемы 811).

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

[146] На любой стадии анализа, если один из компонентов (компонент 903 «заведомо хорошие», компонент 905 «заведомо плохие», компонент принятия решений 907, описанные далее) определит, что данные не являются хорошими или подтвердят, что они содержат угрозы безопасности, противоречивые данные и т.п., то в таком случае в элементе схемы 813 данные будут заблокированы, отклонены, удалены или помещены в карантин. В заявляемом изобретении, системный журнал с информацией о событии сигнала или событии системы защиты может быть обновлен, чтобы зарегистрировать встречу с инфицированными данными.

[147] Фиг.9 показывает, как может проходить анализ исполняемых данных, таких как приложения, программы и/или библиотеки на мобильном устройстве связи. В элементе схемы 901, определяется, что исполняемый файл требует классификации в качестве плохого или хорошего, так как была осуществлена попытка обратиться к исполняемому файлу, устанавливая его или загружая его или иным образом передавая его на мобильное устройство. Исполняемый файл может быть или не быть предварительно обработан, чтобы извлечь дополнительные данных приложения, такие как хеш-идентификатор, криптографический подписчик, имя пакета или другие характеристики, перед оценкой компонентом 903 «заведомо хорошие», находящимся на мобильном устройстве связи (элемент схемы 903). Эта оценка может включать сравнение хеш-идентификатора или других характеристик исполняемого файла с базой данных заведомо хороших характеристик, определение того, имеет ли исполняемый файл достаточное количество заведомо хороших характеристик или отвечает ли любым критериям, изложенным выше или описанным в патентной заявке США №12/255,621.

[148] Если исполняемый файл опознается как заведомо хороший, то тогда в элементе схемы 911, ему может быть разрешено исполнять свой код или следовать к планируемому пункту назначения или разрешена другая операция. Если компонент 903 «заведомо хорошие» не дает разрешения исполняемому файлу, то в таком случае компонент 905 «заведомо плохие», находящийся на мобильном устройстве связи, может выполнить свой анализ (элемент схемы 905). Если компонент 905 «заведомо плохие» подтверждает, что исполняемый файл является вредоносным, то тогда исполняемый файл может быть помещен в карантин, отклонен или удален, а это событие может быть зарегистрировано (элемент схемы 909). Если компонент 905 «заведомо плохие» неспособен охарактеризовать исполняемый файл, то в таком случае, компонент принятия решений 907 может выполнить свой анализ как описано ниже (элемент схемы 907). Если компонент принятия решений 907 окончательно определяет, что исполняемый файл не безопасен или остается неуверен, то тогда исполняемый файл может быть помещен в карантин (элемент схемы 909). Следует учесть, что так как исполняемые файлы могут содержать код, который может нанести существенный вред мобильному устройству связи, для него требуется более строгий анализ перед тем, как исполняемому файлу разрешать продолжить.

[149] Ясно, что поддерживать относительно небольшой объем занимаемой компонентом 903 «заведомо хорошие» и компонентом 905 «заведомо плохие» памяти на мобильном устройстве связи, можно за счет сохранения информации определения только для тех приложений, к которым вероятнее всего может обратиться мобильное устройство связи. Как было сказано выше, такая информация может быть определена, например, исходя из данных об устройстве, информации о ранее установленных на мобильном устройстве приложениях и того, как используется устройство (например, соотношение работы и развлечений, соотношение использования публичных и частных сетей и т.п.). Ясно также, что каждое мобильное устройство связи может хранить разную информацию определения и что настоящее изобретение учитывает подобную неравномерность.

[150] Как отмечалось на протяжении всего документа, заявляемое изобретение направлено на анализ данных со стороны сервера в случае, если компонент 903 «заведомо хорошие» и компонент 905 «заведомо плохие» не способны определить, безопасны ли данные. В изобретении компонент принятия решений 907 находится на одном или большем количестве серверов 151 и связан с мобильными устройствами через сеть 121, другими слова, находится «в облаке». Компонент принятия решений может полагаться на одну или большее количество систем анализа, такие как системы анализа, описанные в настоящем документе. Поскольку компонент принятия решений 907 располагается на вычислительных ресурсах более мощных, чем мобильные устройства связи, он может обеспечить проведение более глубокого анализа для определения того, считать ли данные плохими или хорошими для устройства 101. Кроме того, анализ, который проводится на сервере 151, может воспользоваться данными, собранными сервером, чтобы произвести оценку, что было бы невозможно, если бы пришлось полагаться только на данные, доступные мобильному устройству связи 101. Например, компонент принятия решений 907 на сервере 151 определяет, что объект данные является вредоносным, если данные о поведении, предоставленные устройством, указывают на то, что объект данных посылает SMS-сообщения по более дорогому тарифу или набирает телефонные номера, за звонок на которые взимается дополнительная плата, на устройствах, на которых он установлен.

[151] В изобретении, компонент принятия решений 907 использует один или большее количество типов внутренних систем анализа, что охарактеризовать объект данный как плохой или хороший. Компонент принятия решений 907 создан так, чтобы обнаруживать угрозы безопасности без специальных определений для угроз, от которых осуществляется защита. Другими словами, компонент принятия решений 907 может работать как дополнительный компонент безопасности, что компенсировать возможные недостатки компонентов 903 и 905 и определить новые угрозы, которые ранее не были идентифицированы.

[152] Ясно, что существует ряд систем анализа, которые могут быть использованы компонентом принятия решений 907; они включают, но этим не ограничиваются, системы, которые используют эвристические алгоритмы, экспертные системы на базе правил, экспертные системы не на базе правил, системы нечеткой логики, нейронные сети или другие способы, с помощью которых системы могут классифицировать объект данных. Как было описано выше, такие системы могут использовать разнообразные данные, доступные компоненту принятия решений 907, включающие, но этим не ограничивающиеся, данные распределения, данные о характеристике, данные о категоризации, данные о доверии, данные приложения и т.п. Например, компонент принятия решений 907 может анализировать приложения, библиотеки и другие исполняемые файлы на мобильном устройстве связи. Например, компонент принятия решений 907 может содержать нейронную сеть, которая анализирует характеристики исполняемого файла и вырабатывает оценку безопасности, исходя из характеристик сетевых соединений. Такие характеристики могут быть определены, исходя из информации, содержащейся в формате исполняемого файла или полученной в результате обработки содержания исполняемого файла. В другом варианте, компонент принятия решений 907 может содержать экспертную систему, которая анализирует поведение исполняемого файла через обращения к функциям, системные вызовы или действия, которые предпринимает исполняемый файл в операционной системе. Если исполняемый файл обращается к чувствительным системным вызовам способом, который свидетельствует о вредоносном поведении, система может пометить этот исполняемый файл как потенциально вредоносное программное обеспечение, а также могут быть предприняты определенные действия.

[153] Если компонент принятии решений 907 располагается на мобильном устройстве 101, может быть целесообразно обновлять правила и параметры анализа независимо от обновления исполнительного кода, на основе которого функционирует компонент принятия решений. В изобретении, компонент принятия решений 907 содержит систему принятия решений, основанную на виртуальной вычислительной машине; эта система позволяет классифицировать исполняемый файл, используя набор правил, обновляемых независимо от самого компонента принятия решений. Такая система способна добавить новую логику для обнаружения определенных новых классов нежелательных приложений по ходу работы без необходимости обновлять компонент принятия решений целиком. Система может предварительно обрабатывать исполнительный файл так, чтобы логика виртуальной машины могла символически ссылаться на него, вместо того, чтобы быть вынужденной обрабатывать исполнительный файл сама.

[154] В качестве одного из вариантов, компонент принятия решений 07 может рассматривать информацию, полученную от третьей стороны, для того, чтобы оценить данные. Специалисту будет ясно, что мобильное устройство связи 101 способно обращаться к провайдеру приложения, например, к Apple's App Store, Android Market, или другим банкам программного обеспечения или платформам цифровой дистрибуции, для получения приложений для загрузки или установки на мобильное устройство связи. В изобретении, сервер 151 имеет доступ к таким провайдерам приложений и может собирать информацию о конкретных приложениях. Например, сервер 151 может искать и собирать созданные пользователем отзывы и рейтинги для приложений. Приложение, имеющее благоприятный рейтинг, может считаться безопасным, в то время как приложения с сильно негативными рейтингами могут квалифицироваться как нежелательные. Поскольку сервер 151 может также определить данные о доверии для объектов данных, в оценке для приложения с негативными отзывами может быть указано, что приложение нежелательно, только если у приложения низкий уровень доверия, в то время как приложение с высоким уровнем доверия и отрицательными отзывами может считаться системой защиты от вредоносного программного обеспечения желательным несмотря на отзывы.

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

[156] Ясно, что идентификация распознанно хороших объектов данных и распознанно плохих объектов данных, такая как, например, производимая мобильным устройством связи 101 или сервером 151, может быть выполнена единолично одним компонентом, без существования отдельно компонентов «заведомо хорошие» и «заведомо плохие». В изобретении отдельный компонент распознавания выполняет функции идентификации как распознаваемо хороших, так и распознаваемо плохих объектов данных.

[157] В изобретении, компонент распознавания использует определения, чтобы определить оценку для объекта данных. Сначала компонент распознавания анализирует данные приложения для объекта данных, чтобы определить, есть ли какие-нибудь определения, которые соответствуют объекту данных. Например, если компонент распознавания имеет доступ к определениям, которые представляют собой хеши объектов данных, определение, которое имеет точно такой же хеш содержания, как и у рассматриваемого объекта данных, идентифицируется как соответствующее объекту данных. В другом варианте, если компонент распознавания обращается к определениям, которые содержат сигнатуры последовательностей байтов, определение с последовательностью байтов, которая есть в содержании объекта данных, идентифицируется как соответствующее объекту данных. Каждое определение может быть ассоциировано с оценкой так, чтобы компонент распознавания мог проанализировать данные приложения для объекта данных и найти соответствующее определение, а затем идентифицировать соответствующую оценку для определения и таким образом произвести оценку, которая соответствует объекту данных. Например, данные приложения для объекта данных могут включать идентифицирующую информацию, такую как хеш объекта данных, имя пакета, уникальный идентификатор или другие данные приложения, как например, содержание объекта данных. В изобретении, определения, используемые компонентом распознавания, представляют собой заведомо известные объекты данных. В этом случае, когда компонент распознавания определяет, соответствует ли оценка для заведомо известного объекта данных объекту данных, подвергаемому анализу, анализируемый объект данных и заведомо известный объект данных не обязательно должны точно совпадать. Например, если посредством анализа первое приложение от конкретного разработчика было определено как нежелательное (например, через ручной или автоматический анализ), может быть создано определение для первого приложения, которое соответствует имени пакета первого приложения. Если разработчик создает модифицированную версию приложения, которая имеет то же самое имя пакета, что и у первого приложения, и компонент распознавания сталкивается с модифицированным приложением, ранее созданное определение считается как соответствующее модифицированному приложению, потому что имя пакета в определении соответствует имени пакета модифицированного приложения. Затем компонент распознавания определяет, что оценка «нежелательное», данная первой версии приложения, относится и к модифицированному приложению.

[158] Как вариант, компонент распознавания может обращаться к базе данных определений, при том что в каждом определении указывается хеш содержания объекта данных и есть указание на то, какой объект данных какому определению соответствует и считается ли объект данных плохим или хорошим. В изобретении определения, используемые одним или большим количеством компонентов распознавания, работающих на сервере 151, хранятся на сервере 151 и в хранилище данных 111. В изобретении, оба компонента - компонент 903 «заведомо хорошие» и компонент 90 «заведомо плохие» - реализуются на сервере 151 посредством использования компонента распознавания. Например, компонент «заведомо хорошие» может включать компонент распознавания в той части, что все определения, к которым обращался компонент распознавания, соответствуют оценке «хороший» какого-либо объекта данных. В изобретении, оба компонента - компонент «заведомо хорошие» и компонент «заведомо плохие» - реализуются в качестве компонентов распознавания, которые соотносят данные приложения для объекта данных с заведомо хорошими или заведомо плохими данными приложения. Например, компонент «заведомо хорошие» может иметь список заведомо хороших хеш-идентификаторов, имен пакетов и криптографических подписчиков, которых он пытается соотнести с анализируемыми объектами данных. В изобретении, если объект данных имеет любую характеристику и списка заведомо хороших, он считается безопасным. В изобретении, сервер может использовать аналогичную систему заведомо плохих характеристик, которая соотносит заведомо плохие данные приложения с данными приложения для анализируемого объекта данных. Иные системы анализа заведомо хороших и заведомо плохих характеристик возможны и не являются отклонением от данного описания. В изобретении компонент распознавания производит разнообразные оценки - не только просто «хороший» или «плохой». В изобретении, компонент распознавания использует единственную оценку вместо того, чтобы сохранять множество оценок, если все определения имеют только одну соответствующую оценку, как например, в случае, когда компонент распознавания идентифицирует, только является ли объект данных «заведомо плохим». Другие варианты также возможны и не являются отклонением от данного описания.

[159] Фиг.12 иллюстрирует, как заявляемое изобретение используется для оценки объектов данных на мобильном устройстве связи. Сначала мобильное устройство связи 101 может инициировать сканирование объекта данных, как например, в случае полного сканирования системы или когда объект данных исполняется или устанавливается 1201. Компонент распознавания оценивает данные приложения для объекта данных (например, имя пакета, хеш содержания объекта данных, уникальный идентификатор, содержание объекта данных), чтобы определить, соответствует ли доступное компоненту распознавания определение анализируемому объекту данных (элемент схемы 1202). Например, как было сказано выше, проверка соответствия может включать соотнесение идентифицирующей информации для объекта данных с данными, содержащимися в определении, или соотнесение содержания объекта данных с последовательностями, моделями или логикой, содержащимися в определении. Если определение соответствует объекту данных, то тогда компонент распознавания определит соответствующую оценку для объекта данных. В изобретении, компонент распознавания в элементе схемы 1202 использует хранилище данных определений и информацию об оценке. Например, как было сказано выше, определения, хранящиеся на мобильном устройстве, связи могут быть предварительно загружены или загружены, когда мобильное устройство связи получает определения и информацию об оценке от сервера 151. В изобретении, определения, хранящиеся на мобильном устройстве связи могут считаться кэшем, при том что кэш функционирует так, как описано выше. Если компонент распознавания на мобильном устройстве связи определит оценку для объекта данных (элемент схемы 1203), то эта оценка обрабатывается, чтобы установить, как относиться к объекту данных (элемент схемы 1204). Например, если в оценке содержится указание на то, что объект данных является вредоносным, то тогда мобильное устройство связи может не допустить исполнения файла или предложить пользователю устройства удалить объект данных. Если компонент распознавания на мобильном устройстве связи не определяет оценку для объекта данных (элемент схемы 1203), то в таком случае мобильное устройство связи 101 передает информацию об объекте данных, такую как, например, данные приложения (например, идентифицирующую информацию, содержание объекта данных) серверу 151 (элемент схемы 1205). Сервер получает информацию об объекте данных (элемент схемы 1206), а компонент распознавания на сервере оценивает информацию об объекте данных, чтобы определить, соответствует ли доступное компоненту распознавания определение анализируемому объекту данных (элемент схемы 1207). Если определение соответствует объекту данных (элемент схемы 1208), то тогда сервер 151 определяет оценку для объекта данных и передает ее мобильному устройству связи (элемент схемы 1209). Если компонент распознавания не находит соответствующего определения или оценки для объекта данных (элемент схемы 1208), то компонент принятия решений на сервере анализирует информацию об объекте данных (элемент схемы 1210). Если компонент принятия решений вырабатывает оценку, то затем сервер 151 передает оценку мобильному устройству связи (элемент схемы 1209). Если компонент принятия решений не вырабатывает никакой оценки, то тогда сервер передает мобильному устройству связи указание о том, что объект данных неизвестен (элемент схемы 1209). Мобильное устройство связи 101 получает оценку от сервера (элемент схемы 1211) и обрабатывает информацию об оценке, чтобы определить. Как относиться к объекту данных (элемент схемы 1204). В изобретении, мобильное устройство связи 101 добавляет информацию из оценки, полученной от сервера к локально сохраненным определениям, когда оно обрабатывает информацию об оценке (элемент схемы 1204). Например, устройство может хранить такую информацию, как заключение относительно объекта данных (например, «заведомо хороший», «заведомо плохой», «вредоносное программное обеспечение», «шпионское программное обеспечение»), идентификатор, переданный сервером 151 и информацию определения, сгенерированную устройством или переданную сервером 151 (например, хеш содержания объекта данных, имя пакета объекта данных).

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

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

Г. Система консультирования и оценки приложений

[162] Предыдущие части настоящего описания раскрывали содержание разнообразных систем и способов для сбора различных типов данных от одного или большего количества мобильных устройств связи и из других источников, а также анализ собранных данных для выработки оценки для объектов данных. Следующее далее представляет собой описание того, как сервер 151 может использовать оценки для отображения, представления через API и для множества других целей. Некоторые примеры оценок, описанные в настоящем документе, включают выходную информацию от одной или большего количества систем анализа (например, данные о характеристике, данные о категоризации, данные о доверии и данные распределения) и один или большее количество рейтингов для объекта данных (например, рейтинг безопасности, рейтинг конфиденциальности, рейтинг влияния на заряд аккумулятора, рейтинг успешной работы, рейтинг качества). Специалисту будет ясно, что информация об оценке имеет отношение к широкому кругу информации, которая может быть использована для того, чтобы понять, как повлияет установка конкретного объекта данных на мобильное устройство связи, а не ограничивается только типовой оценкой, предоставленной системой защиты от вредоносного программного обеспечения и указывающей на то, является ли объект данных вредоносным или нет. Кроме того, эта информация об оценке может быть использована, чтобы давать рекомендации относительно решений о загрузке и установке различных типов объектов данных. Такая информация может быть полезной индивидуальному пользователю, который принимает решение об установке конкретного приложения на свое мобильное устройство связи. Такая информация может быть также полезной ИТ-администратору, который решает, использовать ли конкретное приложение на множестве мобильных устройств связи. В изобретении, пользователь или ИТ-администратор могут использовать эту информацию об оценке для обеспечения соблюдения определенной политики в отношении приложений.

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

[164] Когда пользователи взаимодействуют с оценками, может быть целесообразно, чтобы оценки имели уместную степень детализации, чтобы пользователь не думал, что оценки являются слишком широкими или узкими по характеру. В изобретении, сервер 151 объединяет оценки для множества объектов данных в единую оценку и передает объединенную оценку. Например, если приложение содержит множество объектов данных (например, исполняемый файл ил множество библиотек), пользователь может захотеть увидеть оценку приложения в целом, а не множество оценок для составляющих его объекта данных. Аналогичным образом, если существует множество версий одного приложения (для одной платформы или множества платформ), которые проявляют похожие характеристики, администратор политики предприятия, принимающий решения, может захотеть просмотреть только единую оценку, которая включает все версии приложения.

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

[166] Поскольку для оценок может быть целесообразно обеспечивать наличие унифицированной информации для разных платформ, осуществление настоящего изобретения направлено на то, чтобы сервер 151 включал все или некоторые точно такие же поля в оценки для объектов данных, работающих на разных платформах. Например, даже если API местонахождения на разных операционных системах смартфонов сильно отличаются по своему функционированию, сервер 151 может выполнить анализ для конкретной операционной системы на объектах данных, чтобы произвести кроссплатформенную оценку того, получает ли объект данных доступ к местонахождению устройства. Если оценки будут сделаны в форме списка функциональных возможностей для объекта данных, то как для картографического приложения, работающего на BlackBerry, так и для приложения географически привязанной социальной сети на Android, будет отмечена функциональная возможность «получает доступ к местонахождению устройства». Аналогичным образом, использование заряда аккумулятора может быть посчитано по-разному для каждой платформы, но сервер 151 может произвести кроссплатформенную оценку примерного ежедневного потребления заряда аккумулятора, исчисленную в процентах к полной мощности аккумулятора. В изобретении, объединенные оценки для множества объектов данных включают информацию о ряде характеристик и категоризации для объектов данных. Например, оценка может показывать тенденцию в использовании заряда аккумулятора в разных версиях приложения. Приложение, которое использовало большое количество заряда аккумулятора в старой версии, но при этом недавно снизило его потребление, может быть приемлемым, в то время как приложение, которое имеет устойчиво большое потребление заряда аккумулятора, может быть неприемлемым.

[167] Заявляемое изобретение направлено на то, чтобы сервер 151 предоставлял доступ к оценкам для объектов данных через веб-интерфейс. Например, пользователи могут захотеть получить возможность больше узнать о характеристиках и функциональных возможностях приложений, которые есть у них на устройствах. Сервер 151 может предоставлять доступ в виде веб-интерфейса к указателю приложений, для которых доступны оценки, и оценки для каждого из этих приложений. Для того чтобы облегчить поиск приложений, сервер 151 может расположить приложения по разным принципам, например, по алфавиту, по их характеристикам, по категоризации и в соответствии с платформой. Кроме того, сервер 151 может позволить пользователю искать приложения, используя термины, соответствующие имени приложения, описанию или полям в оценке приложения (например, все приложения, которые работают на операционной системе Android OS и посылают данные о местонахождении в Интернет). Тем более, что публичные оценки могут способствовать прозрачности приложений.

[168] Например, разработчики приложений могут отправлять своих пользователей на страницы с оценками, сгенерированными сервером 151, выступающего в качестве независимого стороннего оценщика функциональных возможностей приложения, чтобы пользователи могли удостовериться в том, что делает приложение. В изобретении, сервер создает веб-интерфейс, который позволяет пользователю просматривать условную оценку приложения, сделанную на основе данных об устройстве (например, какое количество заряда аккумулятора использует это приложение на Motorola Droid, какой объем сетевых данных использует это приложение на AT&T Wireless), и сравнить разные условные оценки (например, использование заряда аккумулятора этим приложением на Motorola Droid по сравнению с HTC Него или какой объем сетевых данных использует это приложение на AT&T Wireless по сравнению с Verizon Wireless). Такие условные оценки могут быть полезными, чтобы идентифицировать аномальное поведение в конкретных обстоятельствах - например, на странице с оценкой может быть указано, что определенные типы устройств, версии операционных систем или другие приложения, установленные на мобильном устройстве ведут к более высокому уровню ошибок и аномальным изменениям в случае определенных оценочных характеристик для данного приложения. В изобретении сервер 151 идентифицирует объекты данных, которые имеют крайние значения для определенных параметров оценки. Например, сервер 151 может создать веб-страницу, на которой будет указано, какие приложения используют больше гигабайта сетевых данных в месяц или какие приложения используют больше 10% заряда аккумулятора устройства.

[169] Поскольку оценочные данные, генерируемые сервером 151, могут быть использованы, чтобы предоставить множество разных сервисов и продуктов, заявляемое изобретение направлено на то, чтобы сервер 151 представлял данные оценки через API. Все функциональные возможности, представленные через веб-интерфейс, описанный выше, могут быть также представлены через API так, чтобы можно было создать различные сервисы и продукты. Например, сервер 151 может предоставлять HTTP API, посланные с помощью которого имя пакета объекта данных или хеш его содержания на запрошенный URL, будут означать, что сервер вернул оценку для объекта данных, идентифицированных по имени пакета и хешу содержания. В другом варианте, сервер 151 может создать файл JavaScript, который может быть включен в удаленную веб-страницу и отображать интерактивный вид оценки для конкретного объекта данных.

[170] В изобретении, сервер 151 может заставить данные оценки, такие как рейтинг или заключение относительно того, желательно приложение или нет, появиться в магазине приложений. Ясно, что магазины приложений могут быть воплощены разными способами, такими как использование веб-сайта, приложения мобильного клиента, приложения клиента на ПК или посредством сервиса сообщений, такого как SMS-сообщения. В этом качестве заявляемое изобретение предоставит объективную информацию об оценке для приложения или объекта данных, в отличие от субъективной информации, получаемой из обзоров пользователей.

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

[172] В изобретении, сервер 151 передает информацию об оценке мобильному устройству связи 101 для отображения. Например, мобильное устройство имеет интерфейс, с помощью которого пользователь может изучать оценки для всех приложений, установленных на устройстве. Интерфейс может позволять пользователю просматривать информацию об оценке для конкретного приложения, также как и позволять пользователю увидеть, какие приложения соответствуют совокупности критериев оценки (например, все приложения, которые посылают информацию о местонахождении устройства в Интернет, топ-10 «пользователей» заряда аккумулятора, все приложения, которые использую больше чем 50 мегабайт сетевого графика в месяц). В изобретении, мобильное устройство связи 101 отображает интерфейс как часть магазина приложений, процесса загрузки приложения или процесса установки приложения на мобильное устройство связи для того, чтобы пользователь, просматривающий доступные для загрузки приложения и/или загружающий/устанавливающий приложения видел информацию об оценке для приложения. При просмотре, загрузке или установке приложения устройство передает идентификационную информацию серверу 151 и получает оценку для приложения, отображая часть или всю оценку полностью на пользовательском интерфейсе. Например, интерфейс может отображать функциональные возможности приложения или характеристики приложения. Интерфейс может быть также интерактивным, позволяя пользователю изучать некоторые аспекты оценки, запрашивая дополнительную информацию об оценке у сервера 151, если необходимо. В другом варианте, устройство может отображать индикатор доверия для приложения, определенные сервером 151 и переданный устройстве 101 как часть оценки. Индикатор доверия может отображаться разными способами, включая сертификационную печать (например, "Lookout™ certified") или рейтинг (например, "A+", "B-", "C+").

[173] В некоторых случаях, пользователи не будут читать длинные объяснения по безопасности, поэтому важно отображать информацию о безопасности приложения в легко воспринимаемом виде. В изобретении, мобильное устройство связи 101 отображает графический индикатор оценки для приложения. Например, важные аспекты оценок могут быть отражены как иноки или значки для приложения. Среди некоторых примеров значки для «эффективное использование заряда аккумулятора», «пожиратель заряда аккумулятора», «обращается к информации о местонахождении», «шпионские функциональные возможности», «социальная сеть» и «приложения для совместного использования файлов». Значок для каждой значимой оценки может включать иллюстрацию, которая облегчает восприятие значка, и окраску, указывающую, является ли оценка просто информацией или чем-то действительно важным. Например, приложение, которое эффективно использует заряд аккумулятора, может обозначаться зеленой иконкой, показывающей полный заряд аккумулятора, в то время как приложение, которое обычно использует большое количество заряда, может обозначаться красной иконкой в виде пустого аккумулятора.

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

[175] Кроме просмотра оценок на устройстве для объектов данных, установленных на устройстве, может быть также целесообразно просматривать оценки для объектов данных, установленных на устройстве, через веб-интерфейс. Например, пользователь может захотеть использовать свой ПК, чтобы изучать оценки для приложений, установленных на своем устройстве. Как было сказано, в изобретении мобильное устройство связи передает серверу 151 данные приложения для объектов данных, которые оно установило. Поскольку сервер 151 может сохранять информацию о том, какие приложения в данный момент установлены на устройстве 101, сервер может создать пользовательский интерфейс, отображающий оценки для этих приложений. Например, сервер 151 может сгенерировать и передать веб-интерфейс, позволяющий пользователю просматривать список всех приложений, установленных на устройстве, просматривать оценки для каждого установленного приложения и изучать, какие установленные приложения соответствуют конкретным параметрам оценки (например, все приложения, которые имею доступ к моему местонахождению). Чтобы предотвратить раскрытие личной информации, сервер 151 может потребовать ввести подтверждающие подлинность пользователя регистрационные данные, когда он/она просматривает оценки для приложения на своем устройстве. Кроме того, администратор предприятия может захотеть просматривать оценки для группы устройств с центральной консоли управления.

[176] В изобретении, сервер 151 генерирует веб-интерфейс, который позволяет пользователю просматривать оценки для приложений, установленных на множестве устройств. Например, веб-интерфейс может разрешить пользователю изучать все приложения, которые установлены на группе устройств, соответствующих определенному полю оценки (например, приложения для совместного использования файлами), просматривать оценки рейтингов уровня риска для группы устройств, просматривать все функциональные возможности приложений, установленных в системе, и определять, какие устройства и какие приложения ведут к определенным функциональным возможностям и рискам. Пользователь может начать с использования сервера 151 для создания полного списка рейтингов риска: безопасности, конфиденциальности и использования заряда аккумулятора - для группы устройств, затем щелкнуть на рейтинг, чтобы просмотреть список приложений, более всего отраженных в этом рейтинге. Затем пользователь может просмотреть, на каких устройствах присутствует данное приложение. В другом варианте, пользователь может начать с использования сервера 151 и запросить создать список всех функциональных возможностей для приложений, установленных на группе устройств, затем щелкнуть по конкретной функциональной возможности, чтобы просмотреть все приложения, уставленные на группе устройств, у которых есть такая функциональная возможность. Отсюда пользователь может дальше изучать устройства в группе, на которых установлено конкретное приложение. В изобретении, оценки для группы устройств предоставляются сервером 151 в форме API для использования внешними сервисами, например консолями управления. Например, сервер 151 может представлять рейтинги уровня риска для группы устройств централизованной системе отчета о состоянии защиты через HTTP API.

[177] На мобильных устройствах связи, заряд аккумулятора и объем сетевых данных часто ограничены таким образом, что приложения могут отрицательно влиять на время работы аккумулятора и приводить к взиманию дополнительной платы за чрезмерное использование сети. Заявляемое изобретение направлено на использование оценок с целью предоставления пользователям сведений об использовании приложениями заряда аккумулятора и сетевых ресурсов, а также предупреждения пользователей в случае злоупотребляющего ресурсами приложения. Программное обеспечение на устройстве получает от сервера 151 оценку для приложения, содержащую характеристику потребления заряда аккумулятора и использования сетевых ресурсов, и отображает оценку для пользователя. Как было сказано выше, устройство, запрашивающее информацию об оценке от сервера 151, может включить в запрос данные приложения для приложения. Оценка может быть сформирована в соответствии с потребностями конкретного устройства, которое использует пользователь, устройством, посылающим данные об устройстве, при извлечении оценки или посылая данные, подтверждающие его подлинность, которые ассоциирует запрос на оценку с ранее переданными данными об устройстве. Например, оценка может указывать, что приложение способствует сокращению времени работы аккумулятора модели телефона пользователя на 5% или 1 час; в то время как другая модель телефона, у которой характеристики времени работы аккумулятора отличаются, может получить оценку с информацией о том, что то же самое приложение сокращает время работы аккумулятора на 10% или 3 часа. Отображение оценки может выглядеть как часть магазина приложений на устройстве или как пользовательский интерфейс перед, в течение или после установки приложения.

[178] Кроме того, после того как пользователь установил множество приложений, для пользователя может быть целесообразно понять, какие приложения больше всего влияют на время работы батареи и участвуют в использовании сетевых ресурсов, основываясь на фактическом поведении приложений на устройстве. В изобретении, устройство собирает данные о поведении в отношении заряда аккумулятора и использования сети приложением, и позволяет пользователю просматривать данные о фактическом потреблении через интерфейс на устройстве. Например, интерфейс может позволять пользователю просматривать информацию об использовании сетевых ресурсов и заряда аккумулятора конкретным приложением, а также видеть список приложений, внесших наибольший вклад в потребление заряда аккумулятора и использование сети, чтобы определить те приложения, которые приводят к перерасходу сетевых ресурсов и короткому времени работы аккумулятора. В изобретении, мобильное устройство 101 предоставляет данные о поведении приложений, установленных на нем, серверу 151 и позволяет пользователю просматривать данные о фактическом поведении через веб-интерфейс, создаваемый сервером. Специалисту будет ясно, что другие характеристики мобильных приложений можно также отслеживать и отображать для пользователей.

[179] Поскольку одно единственное приложение может приводить к серьезным проблемам, связанным с длительностью работы аккумулятора, использованием сети или других ограниченных ресурсов, может быть целесообразно уведомлять пользователя о том, что приложение ведет себя нежелательным образом. В изобретении, мобильное устройство связи 101 отслеживает использование сетевых ресурсов и заряда аккумулятора приложениями, установленными на устройстве, и уведомляет пользователя устройства, когда приложение превышает рекомендованные пределы. Например, пользователь может установить границы для приложения по количеству передаваемых и получаемых данных, по превышении которых он или она будут уведомлены. В другом варианте, пользователь уведомляется, когда устройство определяет, что приложение будет отрицательно влиять на время работы аккумулятора и сумму счета за связь. Если пользователь обычно использует телефон в течение 20 часов, перед тем как зарядить его, и приложение на устройстве сокращает время работы аккумулятора до менее чем 20 часов, то, вероятнее всего, пользователю не хватит заряда аккумулятора. Может быть важно сигнализировать пользователю о том, что существует действие, благодаря которому он или она могут избежать недостатка заряда аккумулятора, а именно удаление или блокировка иным способом приложений, потребляющих много заряда аккумулятора.

[180] В изобретении, для того чтобы не допустить превышения приложениями плана, установленного пользователем, устройство 101 или сервер 151 прогнозирует использование данных устройством в будущем и собирает информацию о плане устройства по данным. Для того чтобы собрать информацию о плане устройства по данным, устройство 101 или сервер 151 связывается с серверами оператора сети, чтобы определить информацию о плане по данным, такую как предоставление данных в одном периоде выставления счетов, какова периодичность выставления счетов и какой объем данных был использован в текущем периоде выставления счета. Связи с серверами оператора сети могут осуществляться разными способами, например, через HTTP API или SMS-сообщения. Если программное обеспечение на устройстве использует SMS-сообщения, чтобы собирать информацию о плане пользователя по данным, программное обеспечение может автоматически использовать сообщение-ответ, посланное серверами оператора сети, чтобы предотвратить появление этого сообщения во входящей почте пользователя. Для того чтобы спрогнозировать использование данных в будущем, сервер 151 может анализировать обычное использование данных для приложений, установленных на устройстве, и фактическое использование данных на этом устройстве. Если приложение установлено недавно, то для анализа можно брать обычное использование данных для приложения, в то же время, если приложение установлено на устройстве уже много месяцев, могут использоваться фактические данные. Если приложение на устройстве 101 использует сетевые данные на уровне, превышающем план устройства по данным в части их предоставления к концу периода выставления счета, программное обеспечение отобразит предупреждение, указывающее на возможность превышения суммы счета за связь. В предупреждении могут также указываться приложения, наиболее всего повлиявшие на объем использования данных, и рекомендации пользователю удалить или перенастроить приложения. Устройство 101 может доводить предупреждение до сведения сервера 151, который может также послать уведомление (например, через электронную почту) о потенциальном превышении объема данных. Программное обеспечение на устройстве 101 или сервере 151 может отображать текущий прогноз по использованию данных, связанный с предоставлением данных устройству для того, чтобы пользователь мог отрегулировать свои модели использования приложений в соответствии с этим прогнозом. Например, если пользователя беспокоит превышение плана по данным, он или она может сверить текущий прогноз по использованию данных перед тем, как войти в видеочат.

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

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

[183] Например, если пользователь пытается установить приложение, которое обладает функциональной возможностью посылать сведения о его или ее местоположение в Интернет, но при этом согласно применяемой политике любые приложения, которые посылаю сведения о местонахождении пользователя в Интернет, не допускаются к работе на устройстве, поэтому в таком случае программное обеспечение на мобильном устройстве связи заблокирует установку. В другом варианте, пользователь может установить в политике определенные границы конфиденциальности, безопасности и длительности работы аккумулятора в индивидуальном порядке на относительной шкале (например, от 0 до 10). Когда пользователь устанавливает приложение, программное обеспечение на устройстве извлекает оценку для приложения и сравнивает рейтинги безопасности, конфиденциальности и длительности работы аккумулятора для приложения с границами, установленными в политике, и сигнализирует пользователю, если приложение превышает границы, установленные в политике. Блокировке установки нежелательного приложения пользователь может предпочесть просто предупреждение о нежелательности приложения.

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

[185] ИТ-администраторы, владельцы, операторы сети и другие люди, ответственные за множество мобильных устройств связи, могут захотеть установить определенную политику на множестве устройств связи в отсутствие физического доступа ко всем устройствам. В изобретении, сервер 151 дает возможность пользователю или администратору устанавливать политику для устройства или группы устройств. Когда устройство 101 предпринимает попытку установить приложение, устройство посылает запрос серверу 151 на оценку приложения. Исходя из политики, настроенной на сервере 151, оценка содержит информацию о том, разрешено приложение или нет, а также может содержать критерии политики для пояснения того, почему неразрешенное приложение было оценено таким образом. Например, политика на сервере 151 может настраиваться через веб-интерфейс.

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

[187] При настройке политики и использовании при этом таких абстрактных категорий как категоризация приложений и функциональные возможности приложений, для пользователя или администратора может быть целесообразно понять, каким приложениям доступ будет разрешен, а каким будет в нем отказано, или будет ли разрешен или нет доступ конкретному приложению, если будут изменены настройки. В изобретении, пользовательский интерфейс настройки политики на мобильном устройстве 101 или сервере 151 в качестве элемента изменений настройки включает интерфейс для просмотра приложений, которые будут заблокированы или разрешены. Если интерфейс изменений настройки отображается на мобильном устройстве 101, устройство может послать запросы для данных серверу 151, чтобы наполнить интерфейс информацией. Может быть целесообразно показывать все приложения, которые будут разрешены или заблокированы после того, как изменения настройки войдут в силу, или отображать только разницу между разрешенными/заблокированными приложениями в текущей и новой настройке. Поскольку количество приложений, на которые повлияет изменение настройки, может быть очень большим, интерфейс может отображать резюмирующую информацию и давать пользователю возможность поиска конкретного приложения, чтобы определить, повлияло ли изменение настройки на это приложение и привело ли изменение настройки к тому, это приложение будет разрешено или заблокировано. В изобретении, интерфейс, отображающий результат изменения настройки показывает, будут ли блокироваться какие-либо популярные приложения. Например, популярность приложения может быть определены исходя из суммарных данных распределения, выявленных сервером 151, или исходя из преобладания приложения в управляемой группе устройств. В изобретении, интерфейс результатов изменений отображает только изменения, которые влияют на приложения, установленные на данный момент как минимум на одном устройстве в управляемой группе.

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

[189] Поскольку в организации работы мобильного устройства уже может участвовать сервис или сервер управления устройствами, для сервера 151 может быть целесообразно предоставлять данные серверу управления устройствами, который фактически выполняет осуществление политики. В изобретении, сервер 151 взаимодействует с сервером управления устройствами, чтобы настроить политику в отношении приложений на сервере управления устройствами. Например, сервер управления устройствами может поддерживать настраиваемые черные и белые списки приложений. Если пользователь устанавливает на сервере 151 настройку, которая разрешает только приложения, входящие в белый список или соответствующие определенным критериям оценки, сервер 151 генерирует список приложений для белого списка и передает этот список приложений серверу управлению устройствами в формате и через протокол, которые поддерживает сервер управления устройствами. Аналогичным образом, если пользователь настраивает черный список на сервере 151, то сервер генерирует список приложений для черного списка и настраивает сервер управления устройствами обеспечивать соблюдение черного списка. В изобретении, сервер может настраивать множество серверов управления устройствами. Например, если организация поддерживает множество операционных систем мобильных устройств и использует разные сервера управления мобильными устройствами, администратор может настроить кроссплатформенню политику на сервере 151 (например, блокировать все приложения совестного использования файлов). Сервер 151 в таком случае может идентифицировать по всему множеству платформ все приложения, оценки для которых соответствуют параметрам заданной политики, и настроить соответствующие политики в отношении приложений на серверах управления устройствами. Поскольку каждый сервер управления устройствами может поддерживать только подмножество платформ мобильных устройств, которые поддерживает сервер 151, то сервер 151 передает серверу управления только ту информацию о политике, которая соответствует объектам данных, работающим на операционных системах, поддерживаемых сервером управления устройствами. Например, если сервер управления устройствами поддерживает только устройства Blackberry, то сервер 151 может настроить на сервере управления устройствами только черный и/или белый список с информацией только о приложениях для Blackberry.

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

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

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

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

[194] Когда обнаруживается, что устройство нарушает политику, возможны разнообразные действия по исправлению, например, процессы любых приложений-нарушителей могут быть прекращены, приложения-нарушители могут быть удалены или изолированы от доступа к определенным функциональностям системы (например, от Интернета, личных данных) или ограничены в доступе к определенным сетям (например, может быть разрешен доступ только к Wi-Fi, а не к мобильной сети). Также может быть полезно изолировать все устройство целиком от доступа к чувствительным ресурсам, таким как корпоративная электронная почта или VNP-сервер до тех пор, пока оно не будет в соответствии с политикой, чтобы предотвратить утечку информации. Другие действия по исправлению могут включать такие как изложенные в патентной заявке США №12/255,614, зарегистрированной 21 октября 2008 и включенной здесь в полном объеме.

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

[196] В изобретении, сервер предоставляет действие по исправлению в один щелчок, с помощью которого администратор может щелкнуть на одну кнопку для дистанционной инициации действий по исправлению на всех устройствах в группе, которой управляет администратор. Например, если администратор управлял бы 100 устройствами и 10 из них имели бы приложения, которые нарушали бы политику, администратор мог бы щелкнуть на кнопку действия по исправлению в один щелчок на веб-интерфейсе, чтобы заставить сервер послать указания каждому из 10 несоответствующих устройств удалить нежелательные приложения без необходимости вмешательства пользователя. Как только действия по исправлению будут завершены, каждое устройство 101 может послать серверу 151 информацию о том, было ли оно успешно или нет. В течение процесса по исправлению, сервер 151 может генерировать интерфейс, с помощью которого администратор сможет просматривать статус исправления. Другие способы, с помощью которых сервер может раскрывать статус соответствия, включают предоставление сервером 151 API (например, для использования консолью управления безопасностью) и создание сервером 151 отчетов, которые могут быть загружены.

[197] В некоторых случаях, для пользователя или администратора может быть полезно получать уведомления о том, что он или она устанавливает приложение, которое считается нежелательным, или если ранее установленное приложение с недавнего времени считается нежелательным, исходя из обновленной оценки. В изобретении, мобильное устройство связи 101 передает информацию об установке объекта данных серверу 151. Если сервер 151 определяет, что объект данных нежелателен, основываясь на универсальных характеристиках нежелательности или характеристиках для пользователя, сервер передает уведомление. Например, если пользователь установил приложение, которое оценено как желательное, но в какой-то момент в будущем приложение начинает проявлять признаки вредоносного или иным образом нежелательного поведения, например, истощает заряд батареи, сервер может изменить свою оценку, что показать, что приложение нежелательно. Уведомление может принимать разнообразные формы, такие как письмо по электронной почте, SMS-сообщение или диалог пользовательского интерфейса, отображаемый па веб-странице, на ПК или на мобильном устройстве связи.

[198] Для ИТ-администратора, управляющего множеством мобильных устройств связи, политики могут быть установлены для конкретного приложения, даже если приложение доступно на множестве платформ и имеет множество версий. Например, для ИТ-администратора несвойственно управлять совокупностью устройств, работающих на разных операционных системах. Совокупность мобильных устройств связи может включать модели iPhone, устройства BlackBerry и устройства Android. Однако если определенное приложение известно как нежелательное для всех трех операционных систем устройств, такое как, например, приложение социальной сети, которое раскрывает личную информацию, то в таком случае ИТ-администратор может заблокировать от установки все версии приложения вне зависимости от платформы. Однако если приложение может делиться чувствительной информацией на одной платформе, но не на других, то тогда ИТ-администратор может разрешить установку приложения только на тех платформах, которые делятся чувствительной информацией. Как было сказано выше, для ИТ-администратора может быть полезно принимать решения относительно политики о всех версиях приложения одновременно, вместо того, чтобы поддерживать политику, которая относится к множеству версий одного приложения как к отдельным решениям. Поскольку существует ряд приложений, которые обновляются очень часто, управление политикой в отношении приложений быстро станет очень сложной задачей, если администратор не будет относится ко всем версиям конкретного приложения как к одному решению о политике.

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

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

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

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

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

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

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

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

[207] После того, как сервер определили соответствующий сетевой трафик, подлежащий блокировке, сервер 151 генерирует систему межсетевой защиты или другие правила конфигурации сети, чтобы блокировать сетевой трафик нежелательного приложения. Например, если вредоносное приложение использует конкретный сервер для того, чтобы скрытно извлекать важные данные из телефонов людей, в данных о поведении для приложения может быть указан IP-адрес, порт и протокол, которые используются для передачи важных данных. Когда администратор хочет заблокировать функциональную способность вредоносного приложения красть данные, он или она могут увидеть список серверов, с которыми связывается приложение, а также информацию о том, какое количество других приложений, известных серверу 151, обычно связываются с этим сервером. Администратор затем может выбрать, какие сервера заблокировать. После выбора серверов, подлежащих блокировке, сервер 151 генерирует правила, которые блокируют сетевой трафик. В изобретении, сервер 151 подготавливает данные конфигурации, такие как правила системы обнаружения и предупреждения Snort®, доступные для загрузки через веб-интерфейс. В изобретении, сервер 151 настроен прямо связываться с системой управления сетевой инфраструктурой, чтобы применить данные конфигурации.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15. Способ по п.14, где уведомление является предупреждением.

16. Способ по п.14, где уведомление является инструкцией удалить объект данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

33. Способ по п.27, отличающийся тем, что:
сервером запрашиваются дополнительные данные, относящиеся к объекту данных, который находится на мобильном устройстве связи; и
производится анализ дополнительных данных, чтобы определить оценку, соответствующую объекту данных, находящемуся на мобильном устройстве связи.

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

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

36. Способ по п.27, где уведомление является предупреждением.

37. Способ по п.27, где уведомление является инструкцией удалить объект данных.

38. Способ по п.27, где уведомление является инструкцией предотвратить обращение мобильного устройства связи к объекту данных.



 

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

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

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

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

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

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

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

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

Изобретение относится к технологии радиосвязи, в частности к адаптации видеоданных и управлению качеством впечатления (QoE) для сервисов ведения разговора и потоковой передачи данных.

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

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

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

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

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

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

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

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

Изобретение относится к информационной безопасности. Технический результат заключается в повышении эффективности защиты от несанкционированного доступа (НСД) к аппаратным и программным компонентам и к информации, хранимой и обрабатываемой в ПК.

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

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

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

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