Способ и сервер для классификации веб-ресурса



Способ и сервер для классификации веб-ресурса
Способ и сервер для классификации веб-ресурса
Способ и сервер для классификации веб-ресурса
Способ и сервер для классификации веб-ресурса
Способ и сервер для классификации веб-ресурса

Владельцы патента RU 2658878:

ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЯНДЕКС" (RU)

Изобретение относится к средствам классификации веб-ресурса. Технический результат заключается в обеспечении определения веб-ресурса как вредоносный. Получают данные, связанные с множеством журналов активности браузеров для браузерных приложений. Журналы активности браузеров содержат информацию о прошлых действиях просмотра: идентификатор веб-ресурса, связанного с попыткой доступа, указатель родительского процесса, инициировавшего эту попытку доступа, и параметр первого запуска. Если (i) параметр первого запуска указывает на то, что попытка доступа выполнялась при первом запуске браузерного приложения и (ii) родительский процесс не указан в белом списке родительских процессов, то выполняется анализ хранящегося на сервере поисковой системы журнала множества прошлых сеансов поиска для определения исторического параметра поиска, который связан с этим веб-ресурсом. На основе результатов анализа исторического параметра поиска этот веб-ресурс добавляется в черный список веб-ресурсов. 2 н. и 19 з.п. ф-лы, 4 ил.

 

Область техники, к которой относится изобретение

Изобретение относится к обработке веб-ресурсов в целом и, в частности, к способам и серверам для классификации веб-ресурсов.

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

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

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

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

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

В патентной заявке США №20120324568 раскрыто, что на мобильном устройстве связи после перехода по ссылке из приложения обмена сообщениями или браузера может выполняться нежелательное действие, например, переход на фишинговый веб-сайт или загрузка вредоносного программного обеспечения, которое приводит к нежелательным расходам, чрезмерному использованию ресурса аккумуляторной батареи или несанкционированному использованию устройства. Мобильное приложение перехватывает запрос с идентификатором, связанным с действием, которое должно выполняться на устройстве другим приложением, и оценивает идентификатор, чтобы определить, должен ли запрос быть разрешен, заблокирован или условно разрешен. Клиентское приложение может использовать локальные данные или выполнить запрос на сервер, чтобы оценить идентификатор. Чтобы сократить до минимума время ожидания, обмен данными с сервером оптимизируется посредством кэширования результатов оценки в устройстве, заблаговременной загрузки информации в кэш DNS устройства, оптимизации времени выполнения DNS-поиска и адаптации политики оценки на основе различных факторов, таких как источник запроса и активное в данный момент сетевое соединение.

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

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

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

Разработчики настоящей технологии обнаружили, по меньшей мере, одну техническую проблему, связанную с использованными ранее подходами к определению веб-ресурсов, являющихся источниками вредоносного ПО или иным способом инициирующих выполнение электронным устройством вредоносных действий. Безотносительно какой-либо конкретной теории, разработчики настоящей технологии разработали варианты реализации, основанные на предположении, что вредоносные вебсайты возможно определять посредством анализа (i) журналов активности браузеров в электронных пользовательских устройствах (чтобы определить попытки доступа к веб-ресурсам, которые связаны с так называемым «параметром первого запуска») и (ii) журналов истории поиска поисковой системы (чтобы определить общую популярность таких веб-ресурсов, связанных с большим количеством параметров первого запуска, т.е. веб-сайтов, которые часто автоматически запрашиваются родительским процессом, не указанным в белом списке родительских процессов).

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

Упомянутые способы и системы определяют некоторый веб-ресурс как вредоносный, если он: (i) имеет сравнительно высокую частоту попыток первого запуска и (ii) имеет общую низкую популярность в сеансах поиска согласно информации, сохраненной в журналах поисковой системы (например, не индексируется поисковой системой, занимает низкие позиции на странице выдачи результатов поисковой системы (SERP, Search Engine Results Page), редко выбирается пользователями, связан с частыми поисковыми запросами с «негативной коннотацией»).

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

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

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

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

Черный список нежелательных веб-сайтов может храниться в обрабатывающем сервере (который может использоваться в качестве прокси-сервера для запросов из электронных пользовательских устройств) или пересылаться в электронное пользовательское устройство и храниться в нем.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В некоторых вариантах реализации способа память представляет собой память сервера или память по меньшей мере одного из множества пользовательских устройств.

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

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

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

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

указатель родительского процесса, посредством браузерного приложения инициировавшего указанную попытку доступа к этому веб-ресурсу, и

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На фиг. 1 представлена система 100 согласно одному из вариантов реализации настоящей технологии. Очевидно, что система 100 представляет собой лишь один из возможных вариантов реализации настоящей технологии. Таким образом, дальнейшее описание системы представляет собой описание примеров, иллюстрирующих настоящую технологию. Это описание не предназначено для определения объема или границ настоящей технологии. В некоторых случаях также приводятся полезные примеры модификаций системы 100. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Эти модификации не составляют исчерпывающего списка. Специалисту в данной области очевидно, что возможны и другие модификации. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или описание содержит единственный вариант реализации того или иного элемента настоящей технологии. Специалисту в данной области очевидно, что это не так. Кроме того, следует понимать, что система 100 в некоторых случаях может представлять собой упрощенную реализацию настоящей технологии, и что такие варианты представлены, чтобы способствовать лучшему ее пониманию. Специалисту в данной области очевидно, что различные варианты реализации настоящей технологии могут быть значительно сложнее.

Система 100 содержит электронное устройство 102. Электронное устройство 102 обычно взаимодействует с пользователем (не показан) и иногда может называться «клиентским устройством». Следует отметить, что связь электронного устройства 102 с пользователем не означает необходимости указывать или предполагать какой-либо режим работы, например, вход в систему, регистрацию и т.п. Система 100 может содержать множество электронных устройств, подобных электронному устройству 102 или отличающихся от него.

На реализацию электронного устройства 102 не накладывается определенных ограничений. В качестве примера, электронное устройство 102 может быть реализовано как персональный компьютер (настольный, ноутбук, нетбук и т.д.) или как беспроводное электронное устройство (сотовый телефон, смартфон, планшет и т.д.). В представленном на фиг. 1 примере электронное устройство 102 реализовано как ноутбук, такой как 13-дюймовый MacBook Pro™ (содержит IPS-дисплей со светодиодной подсветкой, диагональю 13,3 дюйма, разрешением 2560×1600 пикселов при плотности 227 пикселов на дюйм; двухъядерный процессор шестого поколения Intel Core i5 с частотой 2,9 ГГц; видеоадаптер Intel™ Iris Graphics 550; ОЗУ 8 ГБ; твердотельный накопитель 256 ГБ; сенсорную панель) компании Apple, Inc., США (Apple Campus, 1 Infinite Loop, Cupertino, California, USA).

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

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

Электронное устройство 102 содержит аппаратные средства и/или ПО, и/или встроенное ПО (либо их сочетание) для выполнения в электронном устройстве 102 браузерного приложения 104. Браузерное приложение 104 обеспечивает пользователю доступ через сеть 106 связи к одному или нескольким сетевым ресурсам, таким как первый сетевой ресурс 108, второй сетевой ресурс 110 и множество дополнительных ресурсов, которые совместно обозначены как 112 на фиг. 1. Браузерное приложение 104 может быть реализовано как один из следующих браузеров: Mozilla Firefox™, Google Chrome™, Yandex™. Следует отметить, что в электронном устройстве 102 может быть установлено несколько версий браузерного приложения 104 от одного или нескольких поставщиков.

Каждый сетевой ресурс (первый сетевой ресурс 108, второй сетевой ресурс 110 и множество дополнительных ресурсов 112) может представлять собой веб-сайт (такой как интернет-магазин Amazon™, информационный ресурс Wikipedia™, веб-сайт, связанный с организацией Canadian Cancer Foundation и т.д.), веб-ресурс агрегатора и т.п. Некоторые или все сетевые ресурсы, такие как первый сетевой ресурс 108, второй сетевой ресурс 110 и множество дополнительных ресурсов 112, могут размещаться в одном или нескольких серверах сетевых ресурсов, совместно обозначенных как 114 на фиг. 1. Доступная в первом сетевом ресурсе 108, втором сетевом ресурсе 110 и множестве дополнительных ресурсов 112 информация может включать в себя разнообразные виды контента, такого как фотографии, видеоматериалы, аудиоматериалы и т.п., и может относиться к разнообразным темам, таким как новости, погода, дорожное движение, развлечения, финансы и т.д.

В общем случае, когда пользователю электронного устройства 102 требуется доступ к информации одного из сетевых ресурсов, таких как первый сетевой ресурс 108, второй сетевой ресурс 110 и множество дополнительных ресурсов 112, пользователь может обратиться к веб-ресурсу либо непосредственно, введя адрес ресурса (обычно URL, такой как www.webpage.com), либо перейдя по ссылке в сообщении электронной почты или на другом веб-ресурсе. Браузерное приложение 104 обычно обеспечивает также функцию поиска, посредством которой пользователь может выполнять поиск информации по интересующей его теме (как более подробно описано ниже).

Электронное устройство 102 дополнительно выполнено с возможностью выполнения программы-контролера 103 процессов устройства. Программа-контролер 103 может выполняться либо браузерным приложением 104, либо операционной системой (ОС) электронного устройства 102 (либо и тем, и другим). Программа-контролер 103 процессов устройства может выполняться другим подходящим процессом, который работает в электронном устройстве 102.

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

В зависимости от реализации электронного устройства 102, процесс получения идентификатора родительского процесса (Parent Process ID) может различаться. В качестве примера, не имеющего ограничительного характера, в некоторых системах UNIX (включая системы Linux/Mac) идентификатор родительского процесса (Parent_Process_ID) можно получить из командной строки посредством команды «ps-ef» с использованием программы ps_utility, которая выдает полную информацию о каждом процессе, выполняемом в системе. С использованием языка программирования С, идентификатор родительского процесса (Parent_Process_ID) в системах Linux можно получить с помощью команды «pid_t getppid (void)» посредством включения заголовочных файлов sys/types.h и unistd.h.

Идентификатор (Parent Process ID) можно получить с помощью WINDOWS™ PowerShell посредством команды «gwmi win32_process |select ProcessID,ParentProcessID,CommandLine,@{e={$_.GetOwner().User}}» с использованием утилиты gwmi или посредством команды «wmic process where (processid=PROCID_HERE) get parentprocessid» с использованием утилиты wmic. Идентификатор родительского процесса (Parent_Process_ID) также можно определить с использованием языка программирования С++ с помощью следующих функций Windows API: CreateToolhelp32Snapshot(), Process32First(), Process32Next(). В качестве другого примера, не имеющего ограничительного характера, в некоторых системах Windows идентификатор родительского процесса можно определить с использованием функций, определяемых из файлов Psaspi.dll и Kernel32.dll, путем последовательного перебора выполняемых в устройстве процессов, идентификации текущего процесса и использования этого текущего процесса для определения идентификатора родительского процесса (Parent_Process_ID).

В альтернативных вариантах реализации настоящей технологии, не имеющих ограничительного характера, в некоторых системах Windows идентификатор родительского процесса (Parent_Process_ID) можно получить посредством прикладного программного интерфейса (API), который называется (Nt)ZwQuerySystemInformation, или с использованием структуры EProcess. Как известно в данной области техники, структура EProcess является непрозрачной структурой, используемой в процессе в качестве объекта процесса.

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

В некоторых вариантах реализации настоящей технологии программа-контролер 103 процессов устройства также способна отслеживать, связана ли попытка доступа к некоторому сетевому ресурсу (т.е. первому сетевому ресурсу 108, второму сетевому ресурсу 110 и множеству дополнительных ресурсов 112) с параметром первого запуска в течение определенного сеанса пользователя. Как известно специалисту в данной области, сеанс пользователя может определяться как период активности между входом и выходом пользователя системы (многопользовательской). Например, сеанс работы в системе может продолжаться от включения пользователем электронного устройства 102 до его выключения. В качестве альтернативы, сеанс пользователя может продолжаться от входа пользователя в систему на электронном устройстве 102 до его выхода из системы.

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

В системах на базе Windows NT сеансы пользователя обеспечиваются ядром, а управление ими осуществляет служба Local Security Authority Subsystem Service (LSA). Компонент Winlogon реагирует на нажатие клавиши безопасности Secure Attention Key, выдает в службу LSA запрос на открытие сеанса пользователя при входе в систему, а при выходе из системы завершает все процессы, относящиеся к данному сеансу пользователя.

Некоторые или все серверы 114 сетевых ресурсов могут быть реализованы как традиционный компьютерный сервер. В примере реализации настоящей технологии серверы 114 сетевых ресурсов могут быть реализованы как Dell™ PowerEdge™ Server, работающий под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что серверы 114 сетевых ресурсов могут быть реализованы с использованием любых других подходящих аппаратных средств и/или ПО, и/или встроенного ПО, либо их сочетания. Также должно быть понятно, что некоторые или все серверы 114 сетевых ресурсов могут быть реализованы иначе, чем другие серверы 114 сетевых ресурсов.

С сетью 106 связи также соединен сервер 120 поисковой системы, на котором выполняется приложение 124 поисковой системы.

В одном варианте реализации настоящей технологии, не имеющем ограничительного характера, сервер 120 поисковой системы может быть реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™. Сервер 120 поисковой системы может быть реализован с использованием любых других подходящих аппаратных средств и/или ПО и/или встроенного ПО, либо их сочетания. Несмотря на то, что в изображенном варианте сервер 120 поисковой системы реализован как один сервер, в других вариантах реализации настоящей технологии функции сервера 120 поисковой системы могут быть распределены между несколькими серверами.

Приложение 124 поисковой системы способно принимать пользовательские запросы на поиск (например, передаваемые через браузерное приложение 104 электронного устройства 102) и отправлять в браузерное приложение 104 страницу выдачи результатов поисковой системы (SERP), содержащую ранжированный список результатов поиска, потенциально соответствующих пользовательскому запросу на поиск. Результаты поиска упорядочены в порядке убывания прогнозируемой релевантности. Реализация приложения 124 поисковой системы известна специалистам в данной области.

Следует упомянуть, что приложение 124 поисковой системы способно поддерживать поисковую базу 130 данных проиндексированных сетевых ресурсов. Как известно специалистам в данной области, для заполнения поисковой базы 130 данных приложение 124 поисковой системы выполнено с возможностью выполнения алгоритма обходчика (краулера), согласно которому приложение 124 поисковой системы выполняет обход сети Интернет. Иными словами, приложение 124 поисковой системы посещает некоторые или все сетевые ресурсы, такие как первый сетевой ресурс 108, второй сетевой ресурс 110 и множество дополнительных ресурсов 112, и индексирует посещенные вебсайты (первый сетевой ресурс 108, второй сетевой ресурс 110 и множество дополнительных ресурсов 112) в поисковой базе 130 данных. В некоторых вариантах реализации настоящей технологии поисковая база 130 данных реализована как инвертированный индекс, отображающий потенциальные поисковые запросы (или их части) на содержимое первого сетевого ресурса 108, второго сетевого ресурса ПО и множества дополнительных ресурсов 112, посещенных при обходе.

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

В частности, приложение 124 поисковой системы может обеспечивать выполнение операции веб-поиска и/или вертикального поиска. Функциональность приложения 124 поисковой системы общеизвестна и, в общих чертах, оно способно выполнять следующие функции: (i) получение поискового запроса из электронного устройства 102; (ii) обработку поискового запроса (нормализация поискового запроса и т.д.); (iii) поиск соответствующих поисковому запросу веб-ресурсов посредством доступа к поисковой базе 130 данных, содержащей индекс просмотренных веб-ресурсов (и/или отдельный индекс результатов вертикального поиска); (iv) отправку ранжированного списка результатов поиска электронному устройству 102 для браузерного приложения с целью демонстрации пользователю страницы SERP, содержащей ссылки на веб-ресурсы, соответствующие поисковому запросу.

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

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

С сетью 106 связи также соединен обрабатывающий сервер 122, на котором выполняется обрабатывающее приложение 126.

В одном варианте реализации настоящей технологии, не имеющем ограничительного характера, обрабатывающий сервер 122 может быть реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™. Обрабатывающий сервер 122 может быть реализован с использованием любых других подходящих аппаратных средствах и/или ПО и/или встроенного ПО, либо их сочетания. Несмотря на то, что в изображенном варианте обрабатывающий сервер 122 реализован как один сервер, в других вариантах реализации настоящей технологии функции обрабатывающего сервера 122 могут быть распределены между несколькими серверами.

Обрабатывающее приложение 126 способно поддерживать контрольный список 134 родительских процессов и контрольный список 136 сетевых ресурсов.

Контрольный список 134 родительских процессов содержит список родительских процессов, которым можно доверять инициирование попыток доступа посредством браузерного приложения 104. Контрольный список 134 родительских процессов может заполняться оператором обрабатывающего приложения 126. Контрольный список 134 родительских процессов может заполняться идентификаторами родительских процессов, которые часто и/или обоснованно инициируют попытки доступа посредством браузерного приложения 104. Это может быть реализовано на основе статистического или эмпирического анализа.

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

Предыдущий абзац содержит пример использования белого списка, хранящегося в контрольном списке 134 родительских процессов, в качестве фильтра для различения «органических» попыток доступа к веб-ресурсам (к первому сетевому ресурсу 108, второму сетевому ресурсу 110 и множеству дополнительных ресурсов 112), т.е. попыток доступа, которые исходят от пользователя электронного устройства 102, и попыток доступа, инициированных родительскими процессами, соответствующими «неорганическим» попыткам доступа, которые могут указывать на выполнение в электронном устройстве 102 вредоносных процессов.

Иными словами, варианты реализации настоящей технологии предполагают хранение контрольного списка 134 родительских процессов в качестве средства для различения «органических» попыток доступа (т.е. исходящих от пользователя, например, обусловленных переходами по ссылкам из сообщений электронной почты, переходами по ссылкам из других веб-ресурсов, отображаемых в другом экземпляре браузерного приложения 104, выбором пользователями результатов поиска, отображаемых на странице SERP в другом экземпляре браузерного приложения 104, и т.п.) и «неорганических» попыток доступа (которые не исходят непосредственно от пользователя и могут указывать на потенциально вредоносный родительский процесс, выполняющий попытку доступа). Следует отметить, что в некоторых вариантах реализации настоящей технологии попытки доступа при заполнении пользователем вручную адресной строки браузерного приложения 104 могут рассматриваться как «органический» трафик.

Контрольный список 134 родительских процессов может быть реализован как белый список (т.е. список разрешенных родительских процессов) или как черный список (т.е. список запрещенных родительских процессов), а также как сочетание белого и черного списков.

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

Ниже более подробно описана работа обрабатывающего приложения 126 при заполнении контрольного списка 136 сетевых ресурсов, как предполагается в некоторых вариантах реализации настоящей технологии, не имеющих ограничительного характера. Следует отметить, что дальнейшее описание представляет собой некоторые примеры реализации (i) процесса сбора информации о попытках доступа с электронных устройств (таких как электронное устройство 102); (ii) процесса дополнения информации, собранной с электронных устройств, информацией, собранной в базе 132 данных журналов истории поиска; (iii) анализа такой собранной информации для определения веб-ресурсов, которые являются потенциально вредоносными и должны быть добавлены в контрольный список 136 сетевых ресурсов.

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

Сбор с электронных устройств данных о доступе

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

В некоторых вариантах реализации настоящей технологии первый пакет 202 данных может формироваться браузерным приложением 104. В других вариантах реализации настоящей технологии первый пакет 202 данных может формироваться плагином, установленным в браузерном приложении 104. В некоторых вариантах реализации настоящей технологии первый пакет 202 данных может формироваться операционной системой электронного устройства 102.

На фиг. 3 схематически представлены данные, содержащиеся в первом пакете 202 данных. Первый пакет 202 данных содержит множество 302 записей, только три из которых показаны на фиг. 3. Каждая запись из множества 302 записей связана с прошлым действием просмотра пользователя с использованием браузерного приложения 104.

Например, первая запись 304, связанная с прошлым действием просмотра (т.е. с действием просмотра в прошлом - в момент времени до выполнения процедуры, представленной на фиг. 2), содержит: идентификатор 306 веб-ресурса, связанного с попыткой доступа во время прошлого действия просмотра; указатель 308 родительского процесса, посредством браузерного приложения 104 инициировавшего попытку доступа к такому веб-ресурсу во время прошлого действия просмотра; параметр 310 первого запуска, указывающий на то, выполнялась ли эта попытка доступа при первом запуске браузерного приложения 104.

Первая запись 304 может сдержать дополнительное информационное поле 312, которое может содержать дополнительную информацию об одном или всех элементах из следующих: электронное устройство 102, браузерное приложение 104, прошлое действие просмотра и т.п. Например, дополнительное информационное поле 312 может содержать дополнительную информацию о количестве и/или источнике плагинов, установленных в браузерном приложении 104 электронного устройства 102.

Идентификатор 306 такого веб-ресурса, связанного с попыткой доступа во время такого прошлого действия просмотра, может содержать универсальный указатель ресурсов (URL) веб-ресурса, к которому осуществлялся доступ (например, URL одного из сетевых ресурсов, таких как первый сетевой ресурс 108, второй сетевой ресурс 110 и множество дополнительных ресурсов 112). Указатель 308 родительского процесса, инициировавшего попытку доступа, может содержать описанный выше идентификатор Parent_Process_ID, который формируется (или получается иным способом) программой-контролером 103 процессов устройства.

Параметр 310 первого запуска может содержать идентификатор, указывающий на то, выполнялась ли попытка доступа при первом запуске браузерного приложения 104. В некоторых вариантах реализации настоящей технологии параметр 310 первого запуска содержит значение <1>, если попытка доступа выполнялась при первом запуске браузерного приложения 104, и значение <0>, если попытка доступа выполнялась не при первом запуске браузерного приложения 104. В других вариантах реализации настоящей технологии параметр 310 первого запуска содержит значение <YES>, если попытка доступа выполнялась при первом запуске браузерного приложения 104, и значение <NO>, если попытка доступа выполнялась не при первом запуске браузерного приложения 104.

В других вариантах реализации, если попытка доступа выполнялась при первом запуске браузерного приложения 104, параметр 310 первого запуска может присутствовать в первой записи 304 (и может включать в себя, например, значение <1>); а если попытка доступа выполнялась не при первом запуске браузерного приложения 104, параметр 310 первого запуска может отсутствовать в первой записи 304.

Остальные записи из множества 302 записей могут реализовываться по существу аналогично первой записи 304.

Анализ данных, собранных из электронных устройств

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

Затем обрабатывающее приложение 126 анализирует параметр первого запуска (т.е. информацию, принятую в параметре 310 первого запуска) и указатель родительского процесса (т.е. информацию, принятую в указателе 308 родительского процесса). Говоря упрощенно, обрабатывающее приложение 126 для каждой записи из множества 302 записей определяет записи, связанные (i) с параметром первого запуска, указывающим, что попытка доступа выполнялась при первом запуске браузерного приложения 104, и (ii) с родительским процессом, не указанным в белом списке родительских процессов (или не указанным в черном списке).

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

В некоторых вариантах реализации настоящей технологии обрабатывающее приложение 126 сначала нормализует данные, содержащиеся в идентификаторе 306 веб-ресурса. В некоторых вариантах реализации настоящей технологии обрабатывающее приложение 126 нормализует URL (или универсальный идентификатор ресурсов другого типа, который может хранится вместо URL и для целей этого описания относится к URL), содержащийся в идентификаторе 306 веб-ресурса, до домена заранее заданного уровня. В некоторых вариантах реализации настоящей технологии обрабатывающее приложение 126 нормализует URL до домена первого или второго уровня, например, до такого как www.first_level_domain.com (пример домена первого уровня) или www.first_level_domain.com/sports (пример домена второго уровня). Разумеется, что обрабатывающее приложение 126 может нормализовать URL до домена любого другого выбранного уровня.

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

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

Следует отметить, что обрабатывающее приложение 126 анализирует доступ к веб-ресурсу с учетом всех пользователей (или части пользователей), включая пользователя электронного устройства 102, а также пользователей других электронных устройств, которые могут присутствовать в системе 100. В процессе анализа обрабатывающее приложение 126 на основе анализа параметра 310 первого запуска определяет подмножество попыток доступа к веб-ресурсам, которые являются потенциально подозрительными. Подозрительными в контексте настоящего описания считаются веб-ресурсы, которые должны быть определены как вредоносные, поскольку они могут быть связаны с «неорганическим» пользовательским трафиком в отличие от «органического» пользовательского трафика.

Затем обрабатывающее приложение 126 анализирует информацию, содержащуюся в указателе 308 родительского процесса. В некоторых вариантах реализации настоящей технологии обрабатывающее приложение 126 анализирует информацию, содержащуюся в указателе 308 родительского процесса, только для подмножества попыток доступа к веб-ресурсам, которые на основе анализа параметра 310 первого запуска определены как потенциально подозрительные.

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

Обрабатывающее приложение 126 осуществляет доступ к контрольному списку 134 родительских процессов, который содержит белый список (и/или черный список) родительских процессов, чтобы определить, соответствует ли информация, содержащаяся в указателе 308 родительского процесса, информации, хранящейся в белом списке (и/или отсутствует в черном списке). Эта информация, получаемая из контрольного списка 134 родительских процессов, показана на фиг. 2 как второй пакет 204 данных.

Дополнение данных, собранных с электронных устройств, данными, собранными в поисковой системе

Затем обрабатывающее приложение 126 дополняет данные, собранные с электронных устройств, данными, собранными на сервере 120 поисковой системы. Точнее, обрабатывающее приложение 126 дополняет подмножество данных, собранных из электронных устройств. В частности, обрабатывающее приложение 126 дополняет записи из множества 302 записей, для которых определено, что они (i) относятся к подмножеству попыток доступа к веб-ресурсам, являющимся потенциально подозрительными, исходя из результатов анализа параметра 310 первого запуска, и (ii) относятся к подмножеству попыток, связанных с родительским процессом, отсутствующим в белом списке из контрольного списка 134 родительских процессов.

Обрабатывающее приложение 126 с помощью сервера 120 поисковой системы осуществляет доступ к журналу истории поиска, хранящемуся в базе 132 данных журналов истории поиска и содержащему сведения о множестве прошлых сеансов поиска, выполненных на сервере 120 поисковой системы. Этой операции соответствует третий пакет 206 данных на фиг. 2. Обрабатывающее приложение 126 анализирует множество прошлых сеансов поиска для определения исторического параметра поиска, связанного с анализируемым веб-ресурсом. Говоря упрощенно, исторический параметр поиска указывает на «объективную популярность» домена (первого уровня, второго уровня и т.д.) на основе журнала истории поиска, который используется в качестве источника такой информации. С использованием исторического параметра поиска в сочетании с информацией о первом запуске обрабатывающее приложение 126 может определить отношение количества попыток доступа при первом запуске («неорганический» доступ) к количеству попыток «органического» доступа.

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

Таким образом, обрабатывающее приложение 126 может анализировать информацию в журнале истории поиска, для определения следующих параметров:

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

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

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

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

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

В некоторых вариантах реализации настоящей технологии обрабатывающее приложение 126 может формировать вектор признаков на основе указанной выше информации, собранной из базы 132 данных журналов истории поиска. В некоторых вариантах реализации настоящей технологии обрабатывающее приложение 126 может использовать алгоритм машинного обучения (MLA, Machine Learning Algorithm) для формирования такого вектора признаков. Алгоритм ML А может использовать любой подходящий алгоритм для формирования n-мерного вектора численных признаков, представляющего собой информацию из журнала истории поиска применительно к определенному веб-ресурсу.

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

- анализ независимых компонент;

- изометрическое отображение (Isomap);

- анализ главных компонент на ядре (Kernel РСА);

- латентно-семантический анализ;

- метод частичных наименьших квадратов;

- анализ главных компонент (РСА);

- многофакторное понижение размерности;

- нелинейное понижение размерности;

- полилинейный анализ главных компонент (Multilinear РСА);

- полилинейное обучение подпространств (Multilinear Subspace Learning);

- полуопределенное вложение (Semidefinite Embedding);

- автокодировщик (Autoencoder);

- глубокий синтез признаков (Deep Feature Synthesis).

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

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

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

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

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

После завершения анализа обрабатывающее приложение 126 сохраняет результат в контрольном списке 136 сетевых ресурсов (на фиг. 2 это процесс показан блоком 210). Следует отметить, что несмотря на то, что контрольный список 136 сетевых ресурсов показан хранящимся в обрабатывающем сервере 122, в других вариантах реализации настоящей технологии контрольный список 136 сетевых ресурсов может быть распределенным и может быть направлен в электронное устройство 102.

Дополнительные усовершенствования

В некоторых вариантах реализации настоящей технологии обрабатывающее приложение 126 дополнительно способно хранить, как часть контрольного списка 136 сетевых ресурсов или как отдельный список (не показан), белый список часто посещаемых веб-ресурсов, который может отсутствовать в журнале истории поиска, хранящемся в базе 132 данных журналов истории поиска, связанной с сервером 120 поисковой системы (т.е. это может быть связано с отрицательным историческим параметром поиска, поскольку веб-ресурс может не отображаться на страницах SERP). Примеры таких веб-ресурсов включают в себя рекламные серверы, технические серверы или службы и т.п., но не ограничиваются ими.

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

Использование контрольного списка 136 сетевых ресурсов

Далее рассматривается использование контрольного списка 136 сетевых ресурсов, заполняемого с использованием вариантов реализации настоящей технологии. Описываются два сценария: серверная реализация контрольного списка 136 сетевых ресурсов и распределенная реализация (т.е. реализация на основе устройств) контрольного списка 136 сетевых ресурсов.

Реализация на основе сервера

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

Затем обрабатывающее приложение 126 сравнивает полученный URL с теми URL, которые хранятся в контрольном списке 136 сетевых ресурсов. Следует отметить, что если поддерживается белый список и адрес URL указан в белом списке, то запрос отправляется соответствующему сетевому ресурсу для предоставления запрашиваемого ресурса. Если URL содержится в черном списке, обрабатывающее приложение 126 может передать предупреждающее сообщение браузерному приложению 104 электронного устройства 102 для демонстрации пользователю предупреждающего сообщения о том, что на браузерное приложение 104 может воздействовать вредоносный код.

Реализация на основе устройств

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

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

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

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

На фиг. 4 представлена блок-схема способа 400, который реализуется согласно вариантам реализации настоящей технологии, не имеющим ограничительного характера. В некоторых вариантах реализации способ 400 может выполняться обрабатывающим приложением 126. Эти варианты реализации рассмотрены ниже. Следует вновь отметить, что способ 400 также может быть реализован локально в электронном устройстве 102 с соответствующими изменениями в способе 400.

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

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

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

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

- указатель родительского процесса, посредством браузера инициировавшего попытку доступа к этому веб-ресурсу; и

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

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

Шаг 402: анализ параметра первого запуска и указателя родительского процесса, содержащихся в каждой записи.

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

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

На шаге 404 обрабатывающее приложение 126 для каждой записи из множества журналов активности браузеров, с которой связано прошлое действие просмотра, в зависимости от (i) наличия параметра первого запуска, указывающего на то, что попытка доступа выполнялась при первом запуске браузерного приложения 104, и (ii) отсутствия родительского процесса в белом списке родительских процессов (хранящемся в контрольном списке 134 родительских процессов), выполняет обращение к журналу истории поиска (хранящемуся в базе 132 данных журналов истории поиска, связанной с сервером 120 поисковой системы), содержащему сведения о множестве прошлых сеансов поиска, выполненных на сервере поисковой системы.

Иными словами, обрабатывающее приложение 126 определяет веб-ресурсы, связанные с подмножеством, определенным на шаге 402.

Точнее, на шаге 404 обрабатывающее приложение 126 на основе анализа параметра 310 первого запуска и анализа указателя 308 родительского процесса определяет подмножество веб-ресурсов, попытки доступа к которым являются потенциально подозрительными.

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

Шаг 406: анализ множества прошлых сеансов поиска для определения исторического параметра поиска, связанного с веб-ресурсом.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Шаг 408: добавление веб-ресурса, для которого исторический параметр поиска меньше заранее заданного порога, в черный список веб-ресурсов.

На шаге 408 обрабатывающее приложение 126 добавляет веб-ресурс, для которого исторический параметр поиска меньше заранее заданного порога, в черный список веб-ресурсов (т.е. сохраняет его в контрольном списке 136 сетевых ресурсов). В некоторых вариантах реализации способа 400 в качестве памяти используется память сервера (т.е. память, связанная с обрабатывающим сервером 122, в котором хранится контрольный список 136 сетевых ресурсов) или память по меньшей мере одного из множества пользовательских устройств (т.е. память электронного устройства 102). В другом варианте реализации способ 400 дополнительно включает в себя передачу копии черного списка по меньшей мере одному из множества пользовательских устройств (таких как электронное устройство 102 и другие устройства, которые могут присутствовать в системе 100).

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

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

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

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

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

В некоторых вариантах реализации способа 400 он дополнительно включает в себя заполнение белого списка родительских процессов (содержится в контрольном списке 134 родительских процессов) на основе анализа множества возможных родительских процессов и назначение каждому процессу из множества возможных родительских процессов одной категории из множества заранее определенных категорий, причем белый список родительских процессов предварительно заполнен указателями родительских процессов одной категории из множества заранее определенных категорий. Например, одной из заранее определенных категорий может быть категория «допустимый родительский процесс».

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

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

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

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

- указатель родительского процесса, посредством браузерного приложения инициировавшего эту попытку доступа к веб-ресурсу; и

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10. Способ по п. 1, отличающийся тем, что дополнительно включает в себя:

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

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

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

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

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

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

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

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

17. Способ по п. 16, отличающийся тем, что нормализация URL включает в себя нормализацию этого URL до домена заранее определенного уровня.

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

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

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

21. Сервер содержащий:

процессор,

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

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

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

указатель родительского процесса, посредством браузерного приложения инициировавшего эту попытку доступа к веб-ресурсу, и

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

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

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

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

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

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



 

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

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

Изобретение относится к прокси-серверу для эффективной потоковой доставки контента по протоколу динамической адаптивной потоковой HTTP-передачи - группы экспертов по движущимся изображениям (DASH MPEG).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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