Система и способ определения уровня доверия файла Российский патент 2021 года по МПК G06F21/57 G06F21/51 G06F21/56 

Описание патента на изобретение RU2750628C2

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

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

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

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

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

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

По этим причинам широкое распространение получили средства защиты компьютерных систем, использующие облачные репутационные сервисы, например Kaspersky Security Network (KSN), которые превосходят традиционные подходы по скорости реакции и уровню обнаружения нового вредоносного ПО. Обычно используется несколько репутационных сервисов, которые находятся на одном и более удаленных серверах антивирусной компании (далее для ясности удаленный сервер будет упоминаться как облачная инфраструктура). Такие сервисы основаны на автоматическом сборе и обработке поступающей от пользователей информации обо всех попытках заражения, а также о неизвестных подозрительных файлах, которые загружаются и исполняются на компьютерах пользователей. Использование облачных репутационных сервисов позволяет антивирусной компании быстро реагировать на новые угрозы, уменьшать количество ложных срабатываний. После получения собранная от пользователей информация агрегируется и анализируется в репутационном сервисе антивирусной компании. Решение о том, является ПО безопасным или вредоносным, выносится на основе множества факторов, как это описано, например, в патенте US 7640589. Такими факторами могут быть: наличие электронной цифровой подписи (ЭЦП); время создания и время первого обнаружения приложения; уровень доверия (репутация) приложения и его источника, основанный на количестве пользователей репутационного сервиса, которые его используют; география использования. Приложение может быть дополнительно исследовано традиционными методами обнаружения, используя мощности антивирусной компании, а также может быть предоставлено для анализа вирусным аналитикам. В результате упомянутых исследований приложению выносится вердикт - то есть наиболее вероятная категория вредоносного или нежелательного ПО. Полученный вердикт в дальнейшем предоставляется всем пользователям репутационного сервиса, которые запускают это приложение на своих компьютерах или загружают его из сети.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На Фиг. 1 представлена система определения уровня доверия файла.

На Фиг. 2 представлены варианты способа определения уровня доверия файла.

На Фиг. 3 приведен возможный пример модулей средства защиты вычислительного устройства.

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

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

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

В настоящее время для проверки целостности файлов, разработчики программного обеспечения (ПО) используют криптосистему с открытым ключом. Файл подписывается электронно-цифровой подписью (ЭЦП) разработчика ПО. Вместе с файлом сохраняется ЭЦП и сертификат открытого ключа, подтверждающий принадлежность открытого ключа разработчику ПО. Зная открытый ключ доверенного удостоверяющего центра (УЦ), подлинность ЭЦП файла может быть легко проверена.

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

Согласно криптографическому стандарту Х.509, сертификат включает в частности следующие поля:

серийный номер, используемый для идентификации сертификата;

субъект, представляющий сторону, которой был выдан сертификат;

алгоритм электронной-цифровой подписи;

электронно-цифровая подпись сертификата;

удостоверяющий центр сертификата;

срок действия сертификата;

открытый ключ электронно-цифровой подписи;

хэш-сумма открытого ключа;

алгоритм хэширования открытого ключа.

Поле «субъект» обычно определяет разработчика файла. Разработчик может иметь несколько разных ЭЦП для подписи разных файлов.

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

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

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

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

Неклассифицированное приложение - приложение, не относящееся ни к одной из перечисленных выше категорий.

Вредоносный файл - файл, являющийся компонентом вредоносного приложения и содержащий программный код (исполняемый или интерпретируемый код).

Недоверенный файл - файл, являющийся компонентом недоверенного приложения и содержащий программный код (исполняемый или интерпретируемый код).

Доверенный файл - файл, являющийся компонентом доверенного приложения.

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

Неклассифицированный файл - файл, являющийся компонентом неклассифицированного приложения.

Приложения обычно состоят из множества файлов, расположенных в одном или нескольких каталогах компьютерного устройства, определенная информация о приложениях хранится также в реестре. На разных компьютерных устройствах, файлы приложения с одинаковыми именами (например, такие как «Chrome.exe») могут отличаться, например, хэш-суммой. Это связано с тем, что на разных компьютерных устройствах могут быть установлены различные версии приложения, могут содержаться различные библиотеки, а также могут отличаться настройки пользователя. Однако, большинство файлов приложения сгруппированы по одному пути вне зависимости от ПК. В то же время, злоумышленники для сокрытия вредоносного ПО, часто добавляют вредоносные файлы в каталоги доверенного ПО. Существующие репутационные сервисы не сразу позволяют обнаружить новое вредоносное ПО. Такие сервисы основаны на автоматическом сборе и обработке поступающей от пользователей информации обо всех попытках заражения, а также о неизвестных подозрительных файлах, которые загружаются и исполняются на компьютерах пользователей. Поэтому возникает необходимость в технологии, которая позволит классифицировать как доверенное ПО новые версии известных доверенных приложений, таким образом, устранив ложные срабатывания на новые версии доверенного ПО.

На Фиг. 1 представлена система определения уровня доверия файла. Система содержит средства защиты 101, установленные по меньшей мере на двух устройствах пользователей 100 (например, компьютер, планшет, ноутбук, смартфон и др.), а также облачную инфраструктуру 110 разработчика средства защиты 101. Средство защиты 101 (например, антивирусное приложение) связано с расположенными на устройстве пользователя 100 локальной базой уровней доверия 102, локальной базой файлов 103.

Облачная инфраструктура 110 связана с устройствами пользователя 100, например, посредством локальной сети или сети Интернет и представляет собой один или несколько удаленных серверов, на которых расположено средство формирования группы файлов (далее - группы) 111. Кроме того, в облачной инфраструктуре 110 содержится база уровней доверия 114, база файлов 115. Со средством формирования группы 111 связано средство определения доминирующего разработчика 112, с которым в свою очередь связано средство определения уровня доверия 113.

Локальная база файлов 103 содержит сведения о файловой системе устройства пользователя 100, о содержащихся файлах и приложениях (имена, хэш-суммы, пути расположения каталогов с файлами на диске, размеры файлов, атрибуты и метаданные, ЭЦП файлов, сертификаты открытых ключей ЭЦП файлов, список и дерево каталогов и пр.). Сведения о файловой системе могут быть получены, например, путем прочтения записей в MFT (англ. Master File Table - «Главная файловая таблица»). Кроме того, локальная база файлов 103 содержит вердикты сторонних сервисов - в частности, вердикты средства защиты 101 и облачной инфраструктуры 110 по проверяемым файлам, ранее вынесенные средством защиты 101 и отдельными его модулями и соответственно вынесенные облачной инфраструктурой 110 и отдельными ее модулями, а также статистика запусков файлов на устройстве пользователя 100 (количество, частота и время запусков). В частном варианте реализации вердикты сторонних сервисов и статистика запуска файлов могут содержаться в отдельной базе (например, вирусная база 116 в облачной инфраструктуре 110 и соответственно локальная вирусная база 104 на устройствах пользователей 100). Данные локальной базы файлов 103 со всех устройств пользователя 100 передают средством защиты 101 в облачную инфраструктуру 110 и сохраняют (агрегируют) в базу файлов 115. Стоит отметить, что на разных устройствах пользователей 100 средство защиты 101 может собирать разные данные в зависимости от настроек конфиденциальности пользователя устройства и настроек средства защиты 101 на конкретном устройстве. А на некоторых устройствах 100 данные могут не собирать вовсе, если пользователь отказался от сбора данных. Так, например, в локальной базе файлов 103 содержатся сведения только о файлах, обладающих определенными характеристиками, например, только о файлах, являющихся исполняемыми. В еще одном частном примере реализации в локальной базе файлов 103 содержатся сведения только о файлах, расположенных по определенным путям (например, %Program Files%, %AppData%). В еще одном частном примере реализации в локальной базе файлов 103 содержатся сведения о файлах с заранее определенными расширениями, например: '.dll', '.exe', 'vbs' или другими. Информация, которая содержится в локальной базе файлов 103 может обновляться по команде со стороны облачной инфраструктуры 110 - например, если изначально в локальной базе файлов 103 содержались только сведения о недоверенных файлах, затем, после дополнительного анализа (например, экспертами или дополнительными модулями облачной инфраструктуры) на стороне облачной инфраструктуры 110, список файлов может быть расширен другими типами файлов или другими каталогами. После увеличения объема информации, собирающейся с устройства пользователя 100 для хранения в локальной базе файлов 103 может быть снижено количество ложных срабатываний и улучшено качество классификации доверенного программного обеспечения. При этом, очевидно, необходимо соблюдать баланс в количестве и типе собираемых данных о файловой системе, чтобы не снизить производительность устройства пользователя 100 и не создать нагрузку на облачную инфраструктуру 110 обработкой большого объема данных.

Средство формирования группы 111 служит для выбора имен файлов, расположенных по заданным путям у заданной доли устройств пользователей (далее - стабильное имя файла). Стоит отметить, что в частном примере реализации рассматриваются все пути (по которым расположены все каталоги) файловой системы диска на устройстве пользователя. В другом частном примере реализации исследуются только пути, заданные в соответствии с настройками пользователя устройства 100 или средства защиты 101. Файл может идентифицироваться путем расположения файла (в файловой системе) по меньшей мере у одного пользователя, именем файла и хэш-суммой файла. При этом, в одном примере реализации имя файла включает полное имя файла (путь расположения файла вместе с именем файла), а в другом примере реализации - только именем файла. Также стоит отметить, что путь расположения файла может задаваться регулярным выражением или шаблоном, например, в ОС Windows, уникальным системно-независимым идентификатором, указывающим на расположение каталогов, часто используемых приложениями - CSIDL ("C:\Windows", "C:\Winnt" и др.). Таким образом, если у пользователей каталог Program files расположены по разным абсолютным путям (например, C:\Program files и D:\Program files), в настоящем изобретении указанным абсолютным путем будет соответствовать один путь %Program files%.

Так, например, файл «Chrome.exe», являющийся исполняемым файлом приложения Google Chrome, может иметь разные хэш-суммы в зависимости от версии приложения. В частном примере реализации определяют имя файла стабильным, если среди всех пользователей, у которых на устройстве присутствует указанный ранее путь, встречаемость среди всех пользователей упомянутого имени файла находится в заданной окрестности наиболее встречаемого среди всех пользователей имени файла, расположенного по указанному пути. В одном примере реализации встречаемость имени файла обозначает долю пользователей, у которых указанное имя файла присутствует среди всех пользователей, у которых присутствует указанная группа. Например, у 90% пользователей в каталоге «C:\Program Files (x86)\Google\Chrome\Application» имеется файл «Chrome.exe», вместе с другими файлами приложения Chrome, такими как, «chrome.dll», «debug.log» и др. При этом только у 10% пользователей в упомянутом каталоге не встречается файл «Chrome.exe» (например, был случайно удален). Упомянутые файлы являются стабильными и обладают одинаковой встречаемостью. Поэтому упомянутые файлы могут быть сформированы в единую группу. В другом примере реализации встречаемость имени файла обозначает число запусков файла с указанным именем в указанной группе. При этом, стоит отметить, что в общем случае, под одним именем файла могут быть разные файлы, то есть имеющие разные хэш-суммы (например, разные версии одного приложения). Они также будут учитываться при определении встречаемости имени файла.

Кроме того, средство формирования группы 111 служит для формирования по меньшей мере одной группы файлов (далее - группа) по меньшей мере из двух файлов со стабильными именами и являющимися компонентами одного приложения. Сформированные группы сохраняют в базу файлов 115. Средство определения доминирующего разработчика 112 служит для определения доминирующего разработчика для каждой группы. Доминирующим разработчиком группы является разработчик, с использованием закрытого ключа (или нескольких закрытых ключей) которого подписан по меньшей мере один файл упомянутой группы. В одном частном примере реализации, доминирующим разработчиком группы является по меньшей мере один разработчик, с использованием закрытого ключа которого подписаны файлы группы, для которых частота запуска у пользователей превышает заданный порог (например, упомянутые файлы запускаются у 80% пользователей группы). Таким образом, группа является совокупностью файлов, которые относятся к одному приложению. Доминирующий разработчик определяется наиболее часто запускаемыми файлами группы, которые подписаны закрытым ключом упомянутого разработчика, среди всех файлов группы.

Например, у разработчика Microsoft может быть несколько пар открытого и закрытого ключей для подписи файлов. Каждому открытому ключу соответствует сертификат открытого ключа разработчика. Для разных пар открытого-закрытого ключей, сертификаты могут иметь отличающиеся значения поля данных «субъект» - Microsoft Corporation, Microsoft Windows и др. Однако, все указанные сертификаты принадлежат одному разработчику Microsoft. Принадлежность сертификата к одному разработчику может быть определена, например, на основании поля данных сертификата - «субъект» или с использованием заранее сформированного списка сертификатов разработчиков, хранящегося в облачной инфраструктуре 110 (на фигуре не указан).

В частном примере реализации средство формирования группы 111 служит для формирования группы из файлов, встречаемость пути и имени которых совпадает с заданной точностью (например, с точностью 30%). В еще одном частном примере реализации при формировании группы учитывают встречаемость пути и имен файлов за окно времени (например, за 1 день). При этом, файлы могут находиться как в одном каталоге, так и в разных.

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

В частном примере реализации сторонним сервисом является средство защиты 101, в частности, модули средства защиты 101. В другом частном примере реализации сторонним сервисом является облачная инфраструктура 110 и, в частности, модули облачной инфраструктуры. Вердикты файлов могут содержаться на устройстве пользователя 100 в локальной вирусной базе 104, а в облачной инфраструктуре - в вирусной базе 116.

Определенные уровни доверия файлов средство определения уровней доверия 113 сохраняет в базу уровней доверия 114. Данные базы уровней доверия 114 периодически или по мере обновления дублируются в локальной базе уровней доверия 102. Кроме того, в локальную базу уровней доверия 102 могут сохранять не все данные базы уровней доверия 114, а лишь необходимые для конкретного устройства пользователя 100. Например, уровни доверия лишь тех файлов, которые расположены на устройстве пользователя 100. Уровень доверия также, как и вердикт средства защиты 101, является индикатором для средства защиты 101, определяющим действия по отношению к файлу. В одном из частных вариантов реализации уровень доверия файла, а также вердикт файла, принимает по меньшей мере одно из следующих значений (но не ограничивается ими), в порядке ухудшения:

доверенный, при котором разрешают запуск файла на компьютере пользователя;

неклассифицированный, при котором выполняют запуск файла на устройстве пользователя в зависимости от настроек для неклассифицированных файлов;

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

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

Средство защиты 101 предотвратит запуск недоверенного файла, после чего удалит файл или поместит его в карантин (защищенное хранилище, из которого запрещен запуск файлов). Если же файл обладает промежуточным уровнем доверия, средство защиты 101 может запросить подтверждение у пользователя для запуска файла в зависимости от настроек средства защиты 101. Файл, являющийся доверенным, будет запущен без необходимости подтверждения пользователя. Запуск неклассифицированных файлов также осуществляется в соответствии с настройками средства защиты 101. Например, если в настройках средствах защиты 101 установлен режим запрета по умолчанию (англ. default deny), запуск будет разрешен только для доверенных файлов (из белых списков). Если же установлен режим разрешения по умолчанию (англ. default allow), запуск будет разрешен для всех файлов, кроме недоверенных файлов (недоверенные файлы могут содержаться в черных списках). Также допускаются другие варианты настроек средств защиты 101. Например, в настройках средства защиты 101 может присутствовать опция запрета запуска промежуточных файлов - в этом случае запуск промежуточных файлов будет запрещен, в то время, как запуск неклассифицированных файлов будет разрешен. В еще одном примере, запуск промежуточных файлов может быть осуществлен в т.н. «ограниченном режиме», когда средство защиты 101 контролирует выполнение промежуточного файла, и, в случае выполнения запрещенных действий (например, подозрительная сетевая активность, сохранение файлов на диск, изменение реестра и др.), средство защиты 101 запросит подтверждение у пользователя устройства.

Стоит отметить, что во время антивирусной проверки файла, средство защиты 101 вначале обращается к локальной базе уровней доверия 102 или в облачную инфраструктуру 110 к базе уровней доверия 114, в которой определяет уровень доверия файла по его хэш-сумме. В зависимости от уровня доверия файла, средство защиты 101 выполняет обработку упомянутого файла (разрешает или запускает запуск, удаляет или помещает в карантин и др.). Если же уровень доверия для файла не был определен, средство защиты 101 выполняет антивирусную проверку модулями средства защиты 101 и с использованием локальной вирусной базы 104. Стоит также отметить, что определенный с использованием настоящего изобретения уровень доверия файла затем может быть использован модулями облачной инфраструктуры 110 для изменения вердикта соответствующих модулей облачной инфраструктуры 110.

Белые списки, упомянутые ранее, содержат информацию об известных доверенных файлах. Черные списки содержат информацию об известных недоверенных файлах. В одном частном примере реализации белые и черные списки могут содержаться в вирусной базе 116 и/или локальной вирусной базе 104. В другом частном примере реализации белые списки и черные списки могут содержаться в отдельных базах (на фигуре не указаны).

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

В частном примере реализации вердикты сторонних сервисов присвоены по меньшей мере одному из:

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

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

в) файлам со стабильными именами в указанной группе;

г) файлам с указанным стабильным именем по указанному пути;

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

е) упомянутому файлу;

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

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

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

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

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

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

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

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

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

Стоит отметить также, что злоумышленник может заменить доверенный файл вредоносным (то есть недоверенным) файлом у части пользователей. Но тогда у части пользователей по указанному пути и с указанным именем будет расположен доверенный файл, а у остальных пользователей - недоверенный. Таким образом, в одном из вариантов реализации, итоговый уровень доверия файла будет доверенным, если частота запуска у пользователей файла превышает заданный порог (например, 90%), в противном случае - промежуточный, или, если частота запуска ниже заданного порога (например, 80%), недоверенный.

В одном частном примере реализации для определения принадлежности файлов к одному приложению используют по меньшей мере одно из: реестр, структуру файловой системы, временные метки упомянутых файлов (что свидетельствует о том, что файлы были созданы одновременно и, скорее всего, относятся к одному приложению) и встречаемость путей к файлам - доля пользователей, у которых присутствует упомянутый путь. То есть, если файлы относятся к разным путям с близкой встречаемостью (например, более 60%) и близкими временными метками создания (например, созданы с разницей в 10 секунд), то эти файлы будут отнесены к одному приложению.

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

На Фиг. 2 представлены варианты способа определения уровня доверия файла. На шаге 201 выбирают имена файлов, являющиеся стабильными. Далее на шаге 202 формируют по меньшей мере одну группу файлов (далее - группу) по меньшей мере из двух файлов со стабильными именами и являющимися компонентом одного приложения. Затем, на шаге 203 определяют наличие разработчика, с использованием по меньшей мере одного закрытого ключа которого подписан по меньшей мере один файл упомянутой группы (далее - доминирующий разработчик).

Если доминирующий разработчик был определен (шаг 204), на шаге 205 определяют уровень доверия для всех файлов группы на основании вердиктов сторонних сервисов, присвоенных файлам упомянутой группы, а также на основании вердиктов сторонних сервисов, присвоенных по меньшей мере одному файлу на устройствах пользователей, не принадлежащему упомянутой группе и подписанному закрытым ключом доминирующего разработчика или на основании вердиктов сторонних сервисов, присвоенных файлам другой группы упомянутого доминирующего разработчика, частота запуска которых у пользователей превышает заданный порог

Если же доминирующий разработчик не был определен на шаге 204, то на шаге 206 определяют уровень доверия файлов группы на основании вердикта сторонних сервисов, присвоенных файлам упомянутой группы. Стоит отметить, что шаги 203-204 реализуются в одном из вариантов реализации. В другом варианте реализации, после формирования группы на шаге 202 определяют уровень доверия файлов группы без использования доминирующего разработчика группы на шаге 206.

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

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

На Фиг. 3 приведен возможный пример модулей средства защиты 101. Средство защиты 101 может содержать модули, предназначенные для обеспечения информационной безопасности устройства пользователя 100: сканер по доступу, сканер по требованию, почтовый антивирус, веб-антивирус, поведенческий анализатор (модуль проактивной защиты), модуль HIPS (англ. Host Intrusion Prevention System - система предотвращения вторжений), DLP-модуль (англ. data loss prevention - предотвращение утечки данных), сканер уязвимостей, эмулятор, сетевой экран и др. В частном примере реализации указанные модули могут быть составной частью средства защиты 101. В еще одном примере реализации данные модули могут быть реализованы в виде отдельных программных компонент.

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

Почтовый антивирус необходим для контроля входящей и исходящей электронной почты на предмет содержания вредоносных файлов. Веб-антивирус служит для предотвращения выполнения вредоносного кода, который может содержаться на веб-сайтах, посещаемых пользователем, а также для блокирования открытия веб-сайтов. Модуль HIPS служит для обнаружения нежелательной и вредоносной активности программ и блокирования ее в момент выполнения. DLP-модуль служит для обнаружения и предотвращения утечки конфиденциальных данных за пределы компьютера или сети. Сканер уязвимостей необходим для обнаружения уязвимостей на устройстве пользователя 100 (например, отключены некоторые компоненты средства защиты 101, устаревшие вирусные базы, закрыт сетевой порт и пр.). Сетевой экран осуществляет контроль и фильтрацию сетевого трафика в соответствии с заданными правилами. Работа эмулятора заключается в имитации гостевой системы во время выполнения кода в эмуляторе. Поведенческий анализатор использует поведенческие правила для обнаружения поведения выполняемых файлов и их классификации по уровню доверия - в процессе выполнения файла поведенческий анализатор осуществляет поиск в журнале вызовов зарегистрированных по меньшей мере записей о вызовах API-функций, которые соответствуют поведенческим правилам из базы данных угроз. В частном варианте реализации журнал вызовов и база данных угроз расположены на устройстве пользователя 100.

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

Поведенческому правилу также соответствует вердикт, который выдается при срабатывании этого правила - то есть наиболее вероятная категория вредоносного или нежелательного ПО, которой соответствует упомянутое правило. Вердикт может быть, например, следующим: компьютерный вирус, сетевой червь, троянская программа или условно нежелательное ПО.

Приведенные модули при обнаружении вредоносного программного обеспечения (подозрительного поведения, спама и др. признаков компьютерной угрозы), создают соответствующее уведомление (которое далее может быть преобразовано в вердикт средства защиты 102), указывающее средству защиты об обнаруженной угрозе и необходимости выполнить действия по устранению угрозы (например, удаление или изменение файла, запрет выполнения и пр.). В частном примере реализации, сам модуль, обнаруживший вредоносное ПО, может выполнить действия по устранению угрозы. В еще одном примере вердикт может быть неточным или тестовым (т.к. данный вердикт может давать ложные срабатывания) - в этом случае, средство защиты не будет выполнять действий по устранению угрозы, но передаст уведомление далее, в облачную инфраструктуру 110. В частном варианте реализации вредоносное программное обеспечение включает категории как и у уровней доверия (вердикт соответствует категории) - недоверенное, доверенное, промежуточное, неклассифицированное. В еще одном частном примере реализации, категории могут быть следующими: вредоносное ПО и условно нежелательное ПО. Вредоносное ПО может иметь подкатегории - вирусы, черви, троянские программы, упаковщики, вредоносные утилиты. Условно нежелательное ПО - рекламное ПО (англ. adware), ПО связанное с порнографическим содержимым (англ. pornware), легальное ПО, использование которого может причинить вред компьютеру (англ. riskware) и др.

Фиг. 4 представляет пример компьютерной системы общего назначения, с помощью которой может быть реализовано настоящее изобретение. В одном частном примере реализации с использованием компьютерной системы может быть реализовано устройство пользователя 100, облачная инфраструктура 110 и содержащиеся в них средства. В другом частном примере реализации упомянутые средства могут быть реализованы также с использованием специализированных интегральных схем (в т.ч. центрального процессора и/или графического процессора). Возвращаясь к компьютерной системе общего назначения, представленной на Фиг. 4, персональный компьютер или сервер 20, содержит центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.

Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.

Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.

Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь (оператор) имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.

Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 4. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях (также - информационных системах), внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.

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

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

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

название год авторы номер документа
СИСТЕМА И СПОСОБ ЗАЩИТЫ ОТ НЕЛЕГАЛЬНОГО ИСПОЛЬЗОВАНИЯ ОБЛАЧНЫХ ИНФРАСТРУКТУР 2012
  • Кононов Эльдар Михайлович
  • Лапушкин Антон Сергеевич
  • Ефремов Андрей Анатольевич
RU2536663C2
Способ ускорения полной антивирусной проверки файлов на мобильном устройстве 2019
  • Чебышев Виктор Владимирович
  • Главатских Дмитрий Николаевич
  • Филатов Константин Михайлович
  • Кусков Владимир Анатольевич
RU2726878C1
Способ выборочного повторного антивирусного сканирования файлов на мобильном устройстве 2019
  • Чебышев Виктор Владимирович
  • Главатских Дмитрий Николаевич
  • Филатов Константин Михайлович
  • Кусков Владимир Анатольевич
RU2726877C1
Система и способ категоризации приложения на вычислительном устройстве 2019
  • Кусков Владимир Анатольевич
  • Бучка Никита Александрович
  • Кивва Антон Андреевич
  • Волков Олег Павлович
  • Лукасевич Дмитрий Юрьевич
  • Рогинский Евгений Андреевич
  • Филатов Константин Михайлович
  • Латохин Дмитрий Владимирович
RU2747514C2
СИСТЕМА И СПОСОБ ДЛЯ СНИЖЕНИЯ НАГРУЗКИ НА ОПЕРАЦИОННУЮ СИСТЕМУ ПРИ РАБОТЕ АНТИВИРУСНОГО ПРИЛОЖЕНИЯ 2013
  • Собко Андрей Владимирович
  • Юдин Максим Витальевич
  • Межуев Павел Николаевич
  • Годунов Илья Борисович
  • Широкий Максим Александрович
RU2571723C2
Система и способ блокировки выполнения сценариев 2015
  • Давыдов Василий Александрович
  • Иванов Антон Михайлович
  • Гаврильченко Роман Юрьевич
  • Виноградов Дмитрий Валерьевич
RU2606564C1
Система и способ снижения нагрузки на сервис обнаружения вредоносных приложений 2019
  • Кусков Владимир Анатольевич
  • Бучка Никита Александрович
  • Кивва Антон Андреевич
  • Волков Олег Павлович
  • Лукасевич Дмитрий Юрьевич
  • Рогинский Евгений Андреевич
  • Филатов Константин Михайлович
  • Латохин Дмитрий Владимирович
RU2739833C1
Способ корректировки параметров модели машинного обучения для определения ложных срабатываний и инцидентов информационной безопасности 2020
  • Филонов Павел Владимирович
  • Солдатов Сергей Владимирович
  • Удимов Даниил Алексеевич
RU2763115C1
Способ обработки событий информационной безопасности перед передачей на анализ 2020
  • Филонов Павел Владимирович
  • Солдатов Сергей Владимирович
  • Удимов Даниил Алексеевич
RU2762528C1
Система и способ обнаружения фишинговых сценариев 2015
  • Давыдов Василий Александрович
  • Иванов Антон Михайлович
  • Гаврильченко Роман Юрьевич
  • Виноградов Дмитрий Валерьевич
RU2622626C2

Иллюстрации к изобретению RU 2 750 628 C2

Реферат патента 2021 года Система и способ определения уровня доверия файла

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

Формула изобретения RU 2 750 628 C2

1. Способ определения уровня доверия файлов, в котором:

а) выбирают имена файлов, расположенных по заданным путям у заданной доли различных устройств пользователей (далее — стабильное имя файла), из базы файлов, которая содержит данные со всех устройств пользователей;

б) формируют группу файлов (далее — группу) по меньшей мере из двух файлов со стабильными именами, при этом файлы являются компонентами одного приложения и были выбраны с различных устройств пользователей;

в) для группы определяют разработчика, с использованием закрытого ключа которого подписан по меньшей мере один файл из упомянутой группы (далее — доминирующий разработчик);

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

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

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

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

- доверенный, при котором разрешают запуск файла на компьютере пользователя;

- неклассифицированный, при котором выполняют запуск файла на устройстве пользователя в зависимости от настроек для неклассифицированных файлов;

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

- недоверенный, при котором запрещают запуск файла на компьютере пользователя.

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

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

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

в) файлу со стабильным именем в указанной группе;

г) файлу с указанным стабильным именем по указанному пути;

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

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

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

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

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

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

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

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

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

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

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

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

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

15. Система определения уровня доверия файлов, содержащая:

а) средство формирования группы, предназначенное для:

- выбора имен файлов, расположенных по заданным путям у заданной доли различных устройств пользователей (далее — стабильное имя файла), из базы файлов, которая содержит данные со всех устройств пользователей;

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

б) средство определения доминирующего разработчика, предназначенное для определения для группы разработчика, с использованием закрытого ключа которого подписан по меньшей мере один файл упомянутой группы (далее — доминирующий разработчик);

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

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

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

16. Способ определения уровня доверия файлов, в котором:

а) выбирают имена файлов, расположенных по заданным путям у заданной доли различных устройств пользователей (далее — стабильное имя файла), из базы файлов, которая содержит данные со всех устройств пользователей;

б) формируют группу файлов (далее — группу) по меньшей мере из двух файлов со стабильными именами, при этом файлы являются компонентами одного приложения и были выбраны с различных устройств пользователей;

в) определяют уровень доверия файлов группы на основании вердикта от сторонних сервисов, присвоенных файлам упомянутой группы.

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

- доверенный, при котором разрешают запуск файла на компьютере пользователя;

- неклассифицированный, при котором выполняют запуск файла на устройстве пользователя в зависимости от настроек для неклассифицированных файлов;

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

- недоверенный, при котором запрещают запуск файла на компьютере пользователя.

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

а) файлу со стабильным именем в указанной группе;

б) файлу с указанным стабильным именем по указанному пути;

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

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

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

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

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

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

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

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

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

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

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

28. Способ по п. 16, в котором формируют группу с учетом встречаемости путей и имен файлов за окно времени.

29. Система определения уровня доверия файлов, содержащая:

а) средство формирования группы, предназначенное для:

- выбора имен файлов, расположенных по заданным путям у заданной доли различных устройств пользователей (далее — стабильное имя файла), из базы файлов, которая содержит данные со всех устройств пользователей;

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

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

Документы, цитированные в отчете о поиске Патент 2021 года RU2750628C2

Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
Пломбировальные щипцы 1923
  • Громов И.С.
SU2006A1
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз 1924
  • Подольский Л.П.
SU2014A1
Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
СИСТЕМА И СПОСОБ ПРОВЕРКИ ФАЙЛОВ НА ДОВЕРЕННОСТЬ 2012
  • Павлющик Михаил Александрович
RU2491623C1

RU 2 750 628 C2

Авторы

Загорский Сергей Геннадьевич

Швецов Дмитрий Владимирович

Даты

2021-06-30Публикация

2019-06-28Подача