Способ выявления несогласованного использования ресурсов вычислительного устройства пользователя
METHOD FOR IDENTIFYING INCONSISTENT USE OF THE RESOURCES OF A USER COMPUTING APPARATUS

Область техники
Изобретение относится к решениям для выявления вредоносной активности на вычислительном устройстве пользователя, а более конкретно к системам и способам для выявления несогласованного использования ресурсов вычислительного устройства пользователя.
Уровень техники
В настоящее время растет количество вредоносного программного обеспечения (например, компьютерные вирусы, троянские программы, сетевые черви), направленного на причинение ущерба как данным пользователя, так и самому пользователю электронного вычислительного устройства (далее по тексту - вычислительного устройства), зараженного вредоносным программным обеспечением. Ущерб может быть причинен путем повреждения, модификации или удаления файлов пользователя, кражей конфиденциальных данных пользователя (переписки, медиа-данных, таких как изображения, аудиозаписи и т.д., логинов, паролей, данных банковских карт), использованием ресурсов вычислительного устройства пользователя для "добычи" (англ. mining) электронных денег, или, другими словами, криптовалют (англ. cryptocurrency), и прочими действиями.
Существуют решения, которые выявляют случаи вредоносной активности из браузеров. Например, в публикации US 9158605 B2 описаны система и способ, в которых анализируются POST-запросы от браузера, и в зависимости от того, что содержит запрос и куда он адресован, система принимает решение о безопасности запроса.
Однако существующие решения не выявляют скрытую добычу криптовалют. Настоящее изобретение позволяет эффективно решать задачи выявления скрытой добычи криптовалют посредством браузера на вычислительном устройстве пользователя.
Сущность изобретения
Настоящее изобретение предназначено для выявления скрытой добычи криптовалют посредством браузера на вычислительном устройстве пользователя.
Технический результат настоящего изобретения заключается в реализации заявленного назначения.
Согласно одному из вариантов реализации предоставляется способ выявления, содержащий этапы, на которых с помощью средства безопасности: анализируют работу процесса браузера и выявляют работу скрипта, исполняющегося в браузере; перехватывают сообщения, передаваемые от скрипта серверу и от сервера скрипту при взаимодействии скрипта с сервером; анализируют скрипт и перехватываемые сообщения на наличие признаков несогласованного использования ресурсов вычислительного устройства пользователя; выявляют несогласованное использование ресурсов вычислительного устройства пользователя в случае выявления по крайней мере одного указанного признака.
Согласно другому частному варианту реализации предоставляется способ, в котором несогласованным использованием ресурсов вычислительного устройства пользователя является использование ресурсов вычислительного устройства скриптом без согласия пользователя.
Согласно еще одному частному варианту реализации предоставляется способ, в котором несогласованным использованием ресурсов вычислительного устройства пользователя является добыча криптовалют.
Согласно еще одному частному варианту реализации предоставляется способ, в котором выявляют работу скрипта, исполняющегося в браузере, посредством плагина.
Согласно еще одному частному варианту реализации предоставляется способ, в котором перехватывают сообщения, передаваемые по протоколу связи поверх ТСР-соединения.
Согласно еще одному частному варианту реализации предоставляется способ, в котором признаком несогласованного использования ресурсов вычислительного устройства пользователя является наличие заранее заданной последовательности байтов в перехватываемых сообщениях.
Согласно еще одному частному варианту реализации предоставляется способ, в котором признаком несогласованного использования ресурсов вычислительного устройства пользователя является обфусцированный код, полученный скриптом.
Согласно еще одному частному варианту реализации предоставляется способ, в котором признаком несогласованного использования ресурсов вычислительного устройства пользователя является полученная от облачного сервиса безопасности категория сервера, с которого скриптом получен обфусцированный код.
Согласно еще одному частному варианту реализации предоставляется способ, в котором признаком несогласованного использования ресурсов вычислительного устройства пользователя является полученная от облачного сервиса безопасности категория сайта, открытие которого привело к исполнению скрипта.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых: Фиг. 1а отображает схему скрытой добычи криптовалют посредством браузера.
Фиг. 1б отображает структуру системы выявления скрытой добычи криптовалют посредством браузера.
Фиг. 2 отображает структуру способа выявления скрытой добычи криптовалют посредством браузера.
Фиг. 3 представляет пример компьютерной системы общего назначения, на которой может быть реализовано настоящее изобретение.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.
Под средствами системы в настоящем изобретении понимаются реальные устройства, системы, компоненты, группы компонентов, реализованные с использованием аппаратных средств, таких как интегральные микросхемы (англ. application-specific integrated circuit, ASIC) или программируемые вентильные матрицы (англ. field-programmable gate array, FPGA) или, например, в виде комбинации программных и аппаратных средств, таких как микропроцессорная система и набор программных инструкций, а также на нейроморфных чипах (англ. neurosynaptic chips) Функциональность указанных средств системы может быть реализована исключительно аппаратными средствами, а также в виде комбинации, где часть функциональности средств системы реализована программными средствами, а часть аппаратными. В некоторых вариантах реализации часть средств, или все средства, могут быть исполнены на процессоре компьютера общего назначения (например, который изображен на Фиг. 3). При этом компоненты (каждое из средств) системы могут быть реализованы в рамках как одного вычислительного устройства, так и разнесены между несколькими, связанными между собой вычислительными устройствами.
Фиг. 1а отображает схему скрытой добычи криптовалют посредством браузера.
Фиг. 1б отображает структуру системы выявления скрытой добычи криптовалют посредством браузера.
Система выявления скрытой добычи криптовалют посредством браузера состоит из средства безопасности 110 (например, антивирусного приложения) и облачного сервиса безопасности 120 (например, Kaspersky Security Network).
В общем случае средство безопасности 110 исполняется на вычислительном устройстве пользователя 190, при этом на вычислительном устройстве пользователя исполняется и браузер 150, в котором в свою очередь исполняется скрипт 160.
Для выявления несогласованного использования ресурсов устройства пользователя 190 (например, добычи криптовалют) средство безопасности 110 анализирует работу процесса браузера 150 (например, перехватывая действия процесса браузера 150 при помощи драйверов). Кроме того, средство безопасности 110 выявляет, что в браузере исполняется скрипт 160 (например, средство безопасности 110 устанавливает в браузер 150 свой плагин), определяет, что установлено соединение по протоколу связи поверх ТСР-соединения (например, по протоколу WebSocket). Для этого средство безопасности 110 выполняет перехват сообщений, передаваемых в любом направлении по упомянутому протоколу (на скрипт 160 или на сервер 170). Перехват сообщений может осуществляться средством безопасности 110 посредством упомянутого в примере выше плагина. В другом варианте реализации перехват сообщений может осуществляться средством безопасности 110 с помощью драйвера. В одном из вариантов реализации, если используется безопасный протокол связи поверх ТСР-соединения (например, по протоколу WebSocketSecure), средство безопасности 110 дополнительно расшифровывает каждое сообщение. В одном из вариантов реализации средство безопасности 110 осуществляет перехват сообщений, функционируя как прокси-сервер.
После перехвата и расшифровки сообщения средство безопасности 110 производит анализ перехваченного сообщения на наличие признаков, позволяющих отнести соединение по протоколу связи поверх ТСР-соединения к добыче криптовалют.
Признак в одном из вариантов реализации - это наличие некоторых последовательностей байтов (строк) в сообщениях, например:
В другом примере реализации признаком является код, полученный скриптом 160 в формате BASE64. Например, скрипт 160 при исполнении в браузере 150 дополнительно загружает некоторый код в формате BASE64 с внешнего сервера 180 для исполнения.
В еще одном примере реализации признаком является обфусцированный код, полученный скриптом 160. Пример такого кода представлен ниже:
В случае выявления признаков, характерных для добычи криптовалют, средство безопасности 110 блокирует передачу перехваченных сообщений или разрывает соединение и заносит адрес сервера 170 в черный список.
В общем случае средство безопасности 110 взаимодействует с базой данных 115 (например, с антивирусной базой), содержащей набор правил, описывающих признаки сообщений, используемых для добычи криптовалют. При анализе сообщения средство безопасности 110 применяет набор правил из базы данных 115. В случае выполнения условий правила выявляется признак, характерный для добычи криптовалют.
В одном из вариантов реализации средством безопасности 110 используется эвристический анализ, анализирующий использование центрального процессора, графического процессора и оперативной памяти браузером 150. В еще одним из вариантов реализации средство безопасности 110 дополнительно анализирует исходный код скриптов 160, которые исполняются в браузере 150 (например, для затруднения анализа код скрипта 160 может быть обфусцирован или дополнительно посылать данные/сообщения и выполнять действия, не связанные с добычей криптовалют). В еще одном из вариантов реализации средство безопасности 110 дополнительно анализирует последовательность передачи скрипта 160 от сервера 170 в браузер 150. Так, например, известны последовательности, когда скрипт 160 сначала получает зашифрованные дынные от сервера 170, затем расшифровывает их. При этом данные могут содержать как параметры работы скрипта 160, так и другие скрипты 160. Кроме того, известны примеры, когда скрипт 160 запускает исполнение другого скрипта 160 (например, полученного от сервера в зашифрованном виде и расшифрованного), а сам завершает исполнение, в результате чего может быть выявлена цепочка исполнения Скрипт#1->Скрипт#2->…->Скрипт#N. При этом вышеописанная последовательность не всегда является вредоносной, так как подобную последовательность используют, например, счетчики Google Metrics.
В еще одном из вариантов реализации средство безопасности 110 может анализировать сайт, открытие которого в браузере 150 привело к исполнению скрипта 160. При этом в одном из вариантов реализации средство безопасности 110 оценивает активность сайта (использование браузером 150 ресурсов вычислительного устройства пользователя после открытия сайта). Активность сайта в общем случае не должна быть постоянно высокая (как это будет при добыче криптовалют). Если активность сайта высокая - то она должна быть вызвана только определенными компонентами (например, кодеками,<video/> <embed/>). В другом варианте реализации средство безопасности 110 оценивает различия в активности сайта при различных посещениях сайта пользователем. В случае добычи криптовалют активность сайта будет отличатся из-за разных задач (например, если сайт ранее содержал новости, а затем стал проявлять высокую активность, при этом содержимое сайта не изменилось, то, вероятно, сайт был изменен злоумышленниками, и при открытии сайта происходит скрытая добыча криптовалют).
В результате анализа содержимое сайта может быть использовано средством безопасности 110 в качестве признаков для выявления скрытой добычи криптовалют (например, не дает сразу закрыть страницу, иметь специфическую рекламу, скрытые ресурсы). В еще одном из вариантов реализации средство безопасности 110 запрашивает в качестве признака у облачного сервиса безопасности 120 категорию сайта, открытие которого в браузере 150 привело к исполнению скрипта 160. В еще одном из вариантов реализации средство безопасности 110 запрашивает в качестве признака у облачного сервиса безопасности 120 категорию сервера 180, с которого скриптом 160 был получен код в формате BASE64.
Примеры правил представлены ниже.
«Правило 1».
Если в первых 10 сообщениях протокола WSS или WS обнаружены одновременно две следующие последовательности байт:
то это соединение установлено скриптом 160, добывающим криптавлюты.
«Правило 2».
Если в любом из сообщений протокола WSS или WS обнаружены одновременно три следующие последовательности байт:
А также IP-адрес сервера не является известным (категория сервера не определена),
то это соединение установлено скриптом 160, добывающим криптавлюты.
«Правило 3».
Если в любом из сообщений протокола WSS или WS обнаружены одновременно две следующие последовательности байт:
А также сайт, открытие которого в браузере 150 привело к исполнению скрипта 160, имеет категорию безопасного,
то это соединение установлено скриптом 160, добывающим криптовалюты, а сайт был заражен (изменен) злоумышленниками.
«Правило 4».
Если в любом из сообщений протокола WSS или WS обнаружены одновременно две следующие последовательности байт:
А также сайт, открытие которого в браузере 150 привело к исполнению скрипта 160, блокирует закрытие в браузере 150 страницы сайта пользователем,
то это соединение установлено скриптом 160, добывающим криптовалюты, а сайт был создан (изменен) злоумышленниками. «Правило 5».
Если в 10 сообщениях протокола WSS или WS обнаружены одновременно две следующие последовательности байт:
А код, полученный скриптом 160, имеет формат BASE64,
то это соединение установлено скриптом 160, добывающим криптовалюты.
В общем случае база данных 115 расположена на вычислительном устройстве пользователя 150 и пополняется средством безопасности 110 путем получения обновлений из облачного сервиса безопасности 120.
В одном из вариантов реализации в случае выявления добычи криптовалют средство безопасности 110 передает данные о перехваченном сообщении и сервере 170 в облачный сервис безопасности 120 для дальнейшей категоризации известными из уровня техники способами неизвестных ранее Интернет-ресурсов.
В случае, если добыча криптовалют не была выявлена средством безопасности 110, средство безопасности 110 дополнительно отправляет все перехваченные пакеты в облачный сервис безопасности 120. В свою очередь облачный сервис безопасности 120, используя модели машинного обучения и известные из уровня техники методы анализа данных (например, анализ больших данных, англ. Big Data Analysis), выявляет добычу криптовалют на устройстве пользователя 190.
Фиг. 2 отображает структуру способа выявления скрытой добычи криптовалют посредством браузера.
На этапе 210 с помощью средства безопасности 110 анализируют работу процесса браузера 150 и выявляют работу скрипта 160, исполняющегося в браузере 150 на вычислительном устройстве пользователя 190. В одном из вариантов реализации работу скрипта 160, исполняющегося в браузере 150, выявляют посредством плагина.
На этапе 220 с помощью с помощью средства безопасности 110 перехватывают сообщения, передаваемые от скрипта 160 серверу 170 и от сервера 170 скрипту 160 при взаимодействии скрипта 160 с сервером 170. В одном из вариантов реализации перехватывают сообщения, передаваемые по протоколу связи поверх ТСР-соединения.
На этапе 230 с помощью средства безопасности 110 анализируют скрипт 160 и перехватываемые сообщения на наличие признаков несогласованного использования ресурсов вычислительного устройства пользователя 190. В общем случае несогласованным использованием ресурсов вычислительного устройства пользователя 190 является использование ресурсов вычислительного устройства 190 скриптом 160 без согласия пользователя. В одном из вариантов реализации несогласованным использованием ресурсов вычислительного устройства пользователя 190 является добыча криптовалют скриптом 160. В одном из вариантов реализации признаком несогласованного использования ресурсов вычислительного устройства пользователя 190 является наличие заранее заданной последовательности байтов в перехватываемых сообщениях. В еще одном из вариантов реализации признаком несогласованного использования ресурсов вычислительного устройства пользователя 190 является обфусцированный код, полученный скриптом 160. В еще одном из вариантов реализации признаком несогласованного использования ресурсов вычислительного устройства пользователя 190 является полученная от облачного сервиса безопасности 120 категория сервера 180, с которого скриптом 160 получен обфусцированный код. В еще одном из вариантов реализации признаком несогласованного использования ресурсов вычислительного устройства пользователя 190 является полученная от облачного сервиса безопасности 120 категория сайта, открытие которого в браузере 150 привело к исполнению скрипта 160.
На этапе 230 с помощью средства безопасности 110 выявляют несогласованное использование ресурсов вычислительного устройства пользователя 190 в случае выявления по крайней мере одного указанного признака.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.