СПОСОБ И СИСТЕМА ДЛЯ ОБНАРУЖЕНИЯ ДЕЙСТВИЙ, ПОТЕНЦИАЛЬНО СВЯЗАННЫХ С РАССЫЛКОЙ СПАМА, ПРИ РЕГИСТРАЦИИ УЧЕТНОЙ ЗАПИСИ
METHOD AND SYSTEM FOR DETECTING ACTIONS POTENTIALLY ASSOCIATED WITH SPAMMING IN ACCOUNT REGISTRATION

Область техники, к которой относится изобретение
[1] Настоящая технология относится к способам и системам для создания новых учетных записей электронной почты в службе электронной почты и, в частности, к способам и системам обнаружения и предотвращения регистрации учетной записи с целью рассылки спама.
Уровень техники
[2] Сообщения электронной почты (email или e-mail) превратились в очень распространенное средство связи. Благодаря расширению доступа к сети Интернет пользователь имеет возможность настраивать учетные записи электронной почты в службе электронной почты и впоследствии иметь к ним доступ посредством пользовательского электронного устройства с тем, чтобы отправлять и принимать сообщения электронной почты, таким образом, заменяя более предпочтительным средством связи традиционные письма, телефонные переговоры и факсимильные сообщения.
[3] Относительная простота получения учетной записи электронной почты (часто бесплатно для пользователя) также обусловила увеличение количества спам-сообщений, отправляемых злоумышленниками и злонамеренными организациями. Спам-сообщения представляют собой незапрашиваемые нежелательные сообщения, беспорядочно и навязчиво рассылаемые по электронной почте.
[4] Многие спам-сообщения носят рекламный характер, но они могут также содержать ссылки на веб-ресурсы, которые, по меньшей мере, на первый взгляд, могут выглядеть подобно известным пользователю веб-ресурсам (таким как страница интернет-банкинга и т.п.), а фактически ведут на фишинговые веб-ресурсы или на веб-ресурсы, где размещено вредоносное программное обеспечение.
[5] Спам-сообщения не только раздражают получателя и представляют опасность для его электронного устройства, но и создают значительную нагрузку для поставщиков услуг электронной почты (таких как YandexTM Mail, Yahoo!TM Mail и т.п.) и для сети связи. Фактически, спам-сообщения составляют основную часть ежедневного трафика электронной почты и поставщики услуг электронной почты вынуждены постоянно предпринимать усилия по фильтрации спама, чтобы обеспечивать удовлетворенность пользователей, а также целостность и работоспособность сети.
[6] Существует несколько основанных на применении компьютерной техники подходов к уменьшению количества спам-сообщений, принимаемых определенным получателем в системе/службе распределения электронной почты. Например, простой подход, применяемый поставщиками услуг электронной почты, представляет собой фильтрацию спам-сообщений посредством поиска определенных ключевых слов (таких как «бесплатные лекарства», «CialisTM» и т.п.). Тем не менее, такую фильтрацию отправитель спам-сообщений может легко обойти путем замены букв используемого для фильтрации ключевого слова на буквы, выглядящие аналогично, но отличающиеся в вычислительном отношении (например, путем замены латинской буквы «K» на букву кириллицы «К»).
[7] Другой подход к уменьшению количества спам-сообщений состоит в том, что запрос на создание новой учетной записи отвергается поставщиками услуг электронной почты на шаге регистрации при определении высокой вероятности того, что новая учетная запись будет использоваться для рассылки спама.
[8] В патентной заявке США №2010/0076922 описано, по меньшей мере, три процесса определения вероятности злоумышленного использования учетной записи для обмена сообщениями с целью отправки другим пользователям большого количества незапрашиваемых сообщений, в частности, спама. Например, информация, предоставляемая при регистрации новой учетной записи для обмена сообщениями, может обрабатываться с целью определения вероятности злонамеренного использования этой учетной записи. С целью определения злонамеренного использования учетной записи отправителя также могут обрабатываться входящие сообщения. Кроме того, с целью определения злонамеренного использования учетной записи, с которой выполняется попытка отправить сообщение, могут обрабатываться и исходящие сообщения. Эти три процесса могут выполняться по отдельности или в любом сочетании для дополнительного повышения вероятности быстрого и точного определения злонамеренного использования учетной записи для обмена сообщениями.
[9] В патенте США №8601547 В1 описан реализуемый компьютером способ обнаружения и предотвращения формирования учетной записи с целью рассылки спама. При получении от клиента запроса на создание учетной записи сервер анализирует запрос и связывает с ним спам-оценку, основываясь, по меньшей мере, частично, на количестве запросов новых учетных записей, связанных с куки-файлом, принятым в течение заранее заданного периода времени, а затем сравнивает спам-оценку с некоторыми заранее заданными пороговыми значениями. Если спам-оценка превышает первое пороговое значение, сервер может отвергнуть запрос на создание учетной записи. Если спам-оценка находится в определенном диапазоне, сервер может ограничить доступ к учетной записи, связанной с таким запросом на создание учетной записи. Если спам-оценка меньше второго порогового значения, сервер может не ограничивать доступ к учетной записи (т.е. разрешить обычное ее использование).
[10] В статье Kater С., Jaschke R. «You Shall Not Pass: Detecting Malicious Users at Registration Time» описан способ определения рассылающих спам-сообщения пользователей путем оценки информации, предоставляемой в процессе регистрации.
Раскрытие изобретения
[11] Целью настоящего изобретения является создание усовершенствованных способа и системы для уменьшения количества отправляемых через сеть связи спам-сообщений путем предотвращения регистрации учетных записей абонентов электронной почты, которые, вероятно, будут использоваться для таких целей. Специалисту в данной области техники очевидно, что цель настоящей технологии заключается в повышении «качества» сетевого трафика (путем уменьшения количества спам-сообщений, отправляемых через сеть) и, следовательно, в снижении затрат вычислительных ресурсов на серверах, связанных со службами электронной почты.
[12] Разработчики предложили варианты осуществления настоящей технологии, исходя из понимания, по меньшей мере, одной проблемы, связанной с известными решениями. Например, несмотря на то, что известные решения обладают определенными достоинствами и помогают уменьшить количество учетных записей электронной почты, создаваемых для отправки спам-сообщений, они все же имеют определенные недостатки. Например, вследствие ограниченного количества информации, передаваемой браузерным приложением вместе с запросом на регистрацию, сложно точно определить, создается ли определенная учетная запись электронной почты с законной целью или для рассылки спам-сообщений.
[13] При разработке настоящей технологии разработчики обратили внимание, что все больше веб-ресурсов, доступных посредством браузерного приложения, обслуживаются сервисами веб-аналитики (такими как Google AnalyticsTM, Yandex MetricaTM и т.п.). Коротко говоря, эти сервисы веб-аналитики предназначены для сбора и хранения данных, связанных с браузерным приложением.
[14] Без отношения к какой-либо конкретной теории, варианты осуществления настоящей технологии разработаны на основе предположения, что оценка журнала просмотра/навигации браузерного приложения, сформировавшего запрос на создание учетной записи электронной почты, позволяет более достоверно или уверенно определить, что эта учетная запись будет использоваться для рассылки спама.
[15] Один аспект настоящей технологии заключается в реализуемом компьютером способе. Способ реализуется на сервере электронной почты, соединенном через сеть связи с клиентским устройством, связанным с пользователем. Клиентское устройство содержит энергонезависимое запоминающее устройство (ЗУ), браузерное приложение, ранее осуществлявшее доступ через сеть связи к, по меньшей мере, одному веб-ресурсу, и уникальный идентификатор браузера, связанный с браузерным приложением и хранящийся в энергонезависимом ЗУ. Способ включает в себя: прием от браузерного приложения сервером электронной почты запроса на создание учетной записи электронной почты с целью, по меньшей мере, одного из отправки и приема электронного сообщения через сеть связи, причем запрос включает в себя, по меньшей мере, уникальный идентификатор браузера; прием связанных с уникальным идентификатором браузера данных журнала просмотра, указывающих на историю просмотра браузерного приложения, относящуюся к, по меньшей мере, одному веб-ресурсу; анализ данных журнала просмотра для определения оценки пользователя в связи с этим запросом, указывающей на вероятность того, что пользователем является человек или что пользователем является компьютерная программа-робот; выполнение ограничивающего действия в отношении запроса, если определенно, что оценка пользователя указывает на более высокую вероятность того, что пользователем является программа-робот.
[16] В некоторых вариантах осуществления способа прием данных журнала просмотра включает в себя прием данных журнала просмотра из приложения веб-аналитики, обслуживающего, по меньшей мере, один веб-ресурс.
[17] В некоторых вариантах осуществления способа данные журнала просмотра содержат: время доступа посредством браузерного приложения к каждому из, по меньшей мере, одного веб-ресурса; один или несколько универсальных указателей ресурсов (URL-адресов), отсортированных в хронологическом порядке на основе соответствующих значений времени доступа, причем каждый из одного или нескольких URL-адресов соответствует одному из, по меньшей мере, одного веб-ресурса.
[18] В некоторых вариантах осуществления способа определение оценки пользователя включает в себя обработку отсортированных в хронологическом порядке одного или нескольких URL-адресов с отнесением их к одному или нескольким сеансам навигации, включающим в себя, по меньшей мере, один из одного или нескольких URL-адресов, доступ к которым осуществлялся посредством браузерного приложения в течение периода времени между подключением браузерного приложения к сети связи и отключением браузерного приложения от сети связи.
[19] В некоторых вариантах осуществления способа сервер электронной почты дополнительно выполнен с возможностью выполнять алгоритм машинного обучения (MLA), предварительно обученный на выборке, помеченной как паттерн человекоподобной навигации, а также выполнен с возможностью определять, указывает набор заранее заданных признаков данного сеанса навигации на низкую вероятность того, что пользователем является программа-робот, или на высокую вероятность того, что пользователем является программа-робот, причем определение оценки пользователя дополнительно включает в себя: прием набора заранее заданных признаков для каждого из одного или нескольких сеансов навигации, причем набор заранее заданных признаков включает в себя, по меньшей мере, один из следующих признаков: продолжительность данного сеанса навигации; количество возвратов к URL-адресам с одинаковым именем хоста в данном сеансе навигации; присутствие URL-адреса, связанного с поисковой системой, в данном сеансе навигации; количество URL-адресов в данном сеансе навигации; присвоение каждому из одного или нескольких сеансов навигации (i) значения оценки для логичного паттерна, соответствующего низкой вероятности того, что пользователем является программа-робот, или (ii) значения оценки для нелогичного паттерна, соответствующего высокой вероятности того, что пользователем является программа-робот; причем присвоение значения оценки для логичного паттерна включает в себя: ввод принятого набора признаков в MLA; присвоение значения оценки для логичного паттерна, если определено, что принятый набор признаков указывает на низкую вероятность того, что пользователем является программа-робот; а присвоение значения оценки для нелогичного паттерна включает в себя: ввод принятого набора признаков в MLA; присвоение значения оценки для нелогичного паттерна, если определено, что принятый набор признаков указывает на высокую вероятность того, что пользователем является программа-робот; получение оценки пользователя путем объединения значений оценки для логичного паттерна и значений оценки для нелогичного паттерна для одного или нескольких сеансов навигации с последующим делением на общее количество сеансов навигации в данных журнала просмотра.
[20] В некоторых вариантах осуществления способа определение того, что оценка пользователя указывает на более высокую вероятность того, что пользователем является программа-робот, включает в себя определение того, что полученная оценка пользователя превышает эмпирически определенный порог достоверности, указывая на достоверность того, что пользователем является программа-робот.
[21] В некоторых вариантах осуществления способа в случае определения того, что оценка пользователя ниже порога достоверности, способ дополнительно включает в себя: определение значения оценки потенциального спамера-человека, указывающего на вероятность того, что пользователь является потенциальным спамером или на вероятность того, что пользователь не является потенциальным спамером; выполнение в отношении запроса ограничивающего действия, если определено, что значение оценки потенциального спамера-человека указывает на более высокую вероятность того, что пользователь является потенциальным спамером.
[22] В некоторых вариантах осуществления способа определение значения оценки потенциального спамера-человека включает в себя: определение отношения (i) количества URL-адресов в данных журнала просмотра, которые включены в список URL-адресов одного или нескольких веб-ресурсов и для которых эмпирически определено, что они связаны с действиями по рассылке спама, к (ii) общему количеству URL-адресов в данных журнала просмотра; присвоение значения оценки потенциального спамера-человека на основе этого отношения, причем большее отношение указывает на более высокую вероятность того, что пользователь является потенциальным спамером.
[23] В некоторых вариантах осуществления способа определение значения оценки потенциального спамера-человека включает в себя: определение количества URL-адресов, содержащихся в данных журнала просмотра; назначение оценки потенциального спамера-человека на основе количества URL-адресов, содержащихся в данных журнала просмотра; причем большее количество URL-адресов, превышающее первое заранее заданное значение, указывает на более высокую вероятность того, что пользователь является потенциальным спамером; причем меньшее количество URL-адресов, превышающеевторое заранее заданное значение, указывает на более высокую вероятность того, что пользователь является потенциальным спамером.
[24] В некоторых вариантах осуществления способа список URL-адресов поддерживается сервером электронной почты.
[25] В некоторых вариантах осуществления способа ограничивающее действие включает в себя отклонение запроса на создание учетной записи электронной почты.
[26] В соответствии с другим аспектом настоящей технологии реализован сервер. Сервер электронной почты соединен через сеть связи с клиентским устройством, связанным с пользователем, содержащим энергонезависимое запоминающее устройство (ЗУ), браузерное приложение, ранее осуществлявшее доступ через сеть связи к, по меньшей мере, одному веб-ресурсу, и уникальный идентификатор браузера, связанный с браузерным приложением и хранящийся в энергонезависимом ЗУ. Сервер содержит сетевой интерфейс для соединения с сетью связи с возможностью обеспечения связи; процессор, соединенный с сетевым интерфейсом и обеспечивающий выполнение следующих действий: прием сервером от браузерного приложения запроса на создание учетной записи электронной почты с целью, по меньшей мере, одного из отправки и приема электронного сообщения через сеть связи, причем запрос включает в себя, по меньшей мере, уникальный идентификатор браузера; прием связанных с уникальным идентификатором браузера данных журнала просмотра, указывающих на историю просмотра браузерного приложения, относящуюся к, по меньшей мере, одному веб-ресурсу; анализ данных журнала просмотра для определения оценки пользователя в связи с этим запросом, указывающей на вероятность того, что пользователем является человек или что пользователем является компьютерная программа-робот; выполнение в отношении запроса ограничивающего действия, если определенно, что оценка пользователя указывает на более высокую вероятность того, что пользователем является программа-робот.
[27] В некоторых вариантах осуществления сервера, чтобы принять данные журнала просмотра, процессор выполнен с возможностью принимать данные журнала просмотра от приложения веб-аналитики, обслуживающего, по меньшей мере, один веб-ресурс.
[28] В некоторых вариантах осуществления сервера данные журнала просмотра содержат: время доступа посредством браузерного приложения к каждому из, по меньшей мере, одного веб-ресурса; один или несколько универсальных указателей ресурсов (URL-адресов), отсортированных в хронологическом порядке на основе соответствующих значений времени доступа, причем каждый из одного или нескольких URL-адресов соответствует одному из, по меньшей мере, одного веб-ресурса.
[29] В некоторых вариантах осуществления сервера для определения оценки пользователя процессор выполнен с возможностью обрабатывать один или несколько URL-адресов, отсортированных в хронологическом порядке, с отнесением их к одному или нескольким сеансам навигации, включающим в себя, по меньшей мере, один из одного или нескольких URL-адресов, доступ к которым осуществлялся посредством браузерного приложения в течение периода времени между подключением браузерного приложения к сети связи и отключением браузерного приложения от сети связи.
[30] В некоторых вариантах осуществления сервера процессор дополнительно выполнен с возможностью выполнять алгоритм машинного обучения (MLA), предварительно обученный на выборке, помеченной как человекоподобный паттерн навигации, а также выполнен с возможностью определять, указывает набор заранее заданных признаков данного сеанса навигации на низкую вероятность того, что пользователем является программа-робот, или на высокую вероятность того, что пользователем является программа-робот; причем для определения оценки пользователя процессор выполнен с возможностью выполнять следующие действия: прием набора заранее заданных признаков для каждого из одного или нескольких сеансов навигации, причем набор заранее заданных признаков включает в себя, по меньшей мере, один из следующих признаков: продолжительность данного сеанса навигации; количество возвратов к URL-адресам с одинаковым именем хоста в данном сеансе навигации; присутствие URL-адреса, связанного с поисковой системой, в данном сеансе навигации; количество URL-адресов в данном сеансе навигации; присвоение каждому из одного или нескольких сеансов навигации (i) значения оценки логичного паттерна, соответствующего низкой вероятности того, что пользователем является программа-робот, или (ii) значения оценки для нелогичного паттерна, соответствующее высокой вероятности того, что пользователем является программа-робот; причем присвоение значения оценки для логичного паттерна включает в себя ввод принятого набора признаков в MLA и присвоение значения оценки для логичного паттерна, если определено, что принятый набор признаков указывает на низкую вероятность того, что пользователем является программа-робот; причем присвоение значения оценки для нелогичного паттерна включает в себя ввод принятого набора признаков в MLA и присвоение значения оценки для нелогичного паттерна, если определено, что принятый набор признаков указывает на высокую вероятность того, что пользователем является программа-робот; получение оценки пользователя путем объединения значений оценки для логичного паттерна и значений оценки для нелогичного паттерна для одного или нескольких сеансов навигации с последующим делением на общее количество сеансов навигации в данных журнала просмотра.
[31] В некоторых вариантах осуществления сервера для определения того, что оценка пользователя указывает на более высокую вероятность того, что пользователем является программа-робот, процессор выполнен с возможностью определять, что полученная оценка пользователя превышает эмпирически определенный порог достоверности, указывая на достоверность того, что пользователем является программа-робот.
[32] В некоторых вариантах осуществления сервера в случае определения того, что оценка пользователя ниже порога достоверности, процессор дополнительно выполнен с возможностью выполнять следующие действия: определение значения оценки потенциального спамера-человека, указывающего на вероятность того, что пользователь является потенциальным спамером или вероятность того, что пользователь не является потенциальным спамером; выполнение в отношении запроса ограничивающего действия, если определено, что значение оценки потенциального спамера-человека указывает на более высокую вероятность того, что пользователь является потенциальным спамером.
[33] В некоторых вариантах осуществления сервера для определения значения оценки потенциального спамера-человека процессор выполнен с возможностью выполнять следующие действия: определение отношения (i) количества URL-адресов в данных журнала просмотра, включенных в список URL-адресов одного или нескольких веб-ресурсов, для которых эмпирически определено, что они связаны с действиями по рассылке спама, к (ii) общему количеству URL-адресов в данных журнала просмотра; присвоение значения оценки потенциального спамера-человека на основе этого отношения, причем большее отношение указывает на более высокую вероятность того, что пользователь является потенциальным спамером.
[34] В некоторых вариантах осуществления сервера для определения значения оценки потенциального спамера-человека процессор выполнен с возможностью выполнять следующие действия: определение количества URL-адресов, содержащихся в данных журнала просмотра; назначение оценки потенциального спамера-человека на основе количества URL-адресов, содержащихся в данных журнала просмотра; причем большее количество URL-адресов, превышающее первое заранее заданное значение, указывает на более высокую вероятность того, что пользователь является потенциальным спамером; причем меньшее количество URL-адресов, превышающее второе заранее заданное значение, указывает на более высокую вероятность того, что пользователь является потенциальным спамером.
[35] В некоторых вариантах осуществления сервера список URL-адресов поддерживается сервером.
[36] В некоторых вариантах осуществления сервера ограничивающее действие включает в себя отклонение процессором запроса на создание учетной записи электронной почты.
[37] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от электронных устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут представлять собой один физический компьютер или одну компьютерную систему и это не существенно для данной технологии. В настоящем контексте выражение «по меньшей мере один сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая определенная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами); это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов; все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».
[38] В контексте настоящего описания, если специально не указано иное, прилагательные «первый», «второй», «третий» и т.д. используются только для указания различия между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также их использование (само по себе) не подразумевает обязательного наличия «второго сервера» в любой ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента могут быть одним и тем же реальным элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное и/или аппаратное средство, а в других случаях - различные программные и/или аппаратные средства.
[39] В контексте настоящего описания, если специально не указано иное, термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, ПО для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, что и процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.
Краткое описание чертежей
[40] Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других ее аспектов и их признаков, и должно использоваться совместно с приложенными чертежами.
[41] На фиг. 1 представлена схема системы 100, реализованной согласно вариантам осуществления настоящей технологии, не имеющим ограничительного характера.
[42] На фиг. 2 представлена блок-схема наполнения базы данных отслеживания системы 100.
[43] На фиг. 3 представлена структура данных журнала просмотра, хранящихся в базе данных отслеживания системы 100.
[44] На фиг. 4 представлен пример процесса приема данных журнала просмотра, хранящихся в базе данных отслеживания, приложением для регистрации учетной записи системы 100.
[45] На фиг. 5 представлена структура данных журнала просмотра, обработанных приложением для регистрации учетной записи системы 100.
[46] На фиг. 6 представлена блок-схема способа обнаружения и предотвращения регистрации учетной записи с целью рассылки спама, реализуемого на сервере электронной почты системы 100 согласно вариантам осуществления настоящей технологии, не имеющим ограничительного характера.
Осуществление изобретения
[47] На фиг. 1 представлена схема системы 100, пригодной для реализации вариантов осуществления настоящей технологии, не имеющих ограничительного характера. Очевидно, что система 100 приведена лишь в качестве иллюстративного варианта реализации настоящей технологии. Таким образом, дальнейшее описание системы представляет собой описание примеров, иллюстрирующих настоящую технологию. Это описание не предназначено для определения объема или задания границ настоящей технологии. В некоторых случаях также приводятся полезные примеры модификаций системы 100. Они способствуют пониманию, но также не определяют объем и не задают границы настоящей технологии. Эти модификации не составляют исчерпывающего списка. Специалисту в данной области очевидно, что возможны и другие модификации. Кроме того, если в некоторых случаях модификации или примеры не описаны, это не означает, что они невозможны и/или описание содержит единственный вариант реализации того или иного элемента настоящей технологии. Специалисту в данной области очевидно, что это не так. Кроме того, следует понимать, что система 100 в некоторых случаях может представлять собой упрощенную реализацию настоящей технологии, и что такие варианты ее реализации представлены, чтобы способствовать лучшему ее пониманию. Специалистам в данной области очевидно, что различные варианты реализации настоящей технологии могут быть значительно сложнее.
[48] Представленные в данном описании примеры и условный язык предназначены для обеспечения лучшего понимания читателем принципов настоящей технологии, а не для ограничения ее объема до таких явно указанных примеров и условий. Очевидно, что специалисты в данной области техники могут разработать различные способы и устройства, которые здесь явно не описаны и не показаны, но осуществляют принципы настоящей технологии и поэтому находятся в пределах ее существа и объема. Кроме того, чтобы способствовать лучшему пониманию, дальнейшее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области очевидно, что различные варианты реализации настоящей технологии могут быть значительно сложнее.
[49] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники очевидно, что любые описанные структурные схемы соответствуют концептуальным иллюстративным схемам, воплощающим принципы настоящей технологии. Также очевидно, что любые схемы и диаграммы процессов, диаграммы изменений состояния, псевдокод и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом носителе и могут выполняться посредством компьютера или процессора, независимо от того, показан явно такой компьютер или процессор или нет.
[50] Функции различных элементов, показанных на фигурах, включая любой функциональный блок, обозначенный как «процессор», могут осуществляться с использованием специализированных аппаратных средств, а также аппаратных средств, способных выполнять ПО, в сочетании с соответствующим ПО. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, при этом некоторые из них могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, такой как центральный процессор (CPU), или специализированный процессор, такой как графический процессор (GPU). Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять ПО, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую логическую интегральную схему (FPGA), ПЗУ для хранения ПО, ОЗУ и энергонезависимое ЗУ. Также могут подразумеваться и другие аппаратные средства, стандартные и/или заказные.
[51] Учитывая вышеизложенные принципы, далее рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.
[52] Система 100 содержит электронное устройство 102. Электронное устройство 102 обычно связано с пользователем (не показан) и иногда может называться «клиентским устройством». Следует отметить, что связь электронного устройства 102 с пользователем не обязательно указывает или предполагает какой-либо режим работы, например, необходимость входа в систему, необходимость регистрации и т.п.
[53] В контексте настоящего описания, если специально не указано иное, термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения данной задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер для других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких электронных устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов, либо шагов любого описанного здесь способа.
[54] Электронное устройство 102 содержит энергонезависимое ЗУ 104. Энергонезависимое ЗУ 104 может содержать один или несколько носителей информации и, в общем случае, обеспечивает место для хранения выполняемых компьютером команд, выполняемых процессором 106. Например, энергонезависимое ЗУ 104 может быть реализовано как машиночитаемый носитель, включая ПЗУ (ROM), жесткие диски (HDD), твердотельные накопители (SSD) и карты флэш-памяти.
[55] Электронное устройство 102 содержит известные в данной области техники аппаратные средства и/или ПО, и/или встроенное ПО (либо их сочетание) для выполнения браузерного приложения 108. Браузерное приложение 108 обеспечивает пользователю (не показан) доступ к одному или нескольким веб-ресурсам. Способ реализации браузерного приложения 108 известен в данной области техники и поэтому здесь не описан. Достаточно сказать, что в качестве браузерного приложения 108 может использоваться приложение GoogleTM ChromeTM, Yandex.BrowserTM или другой коммерчески доступный или проприетарный браузер.
[56] Независимо от способа реализации, браузерное приложение 108 обычно имеет командный интерфейс 110 и интерфейс 112 просмотра. Пользователь (не показан) может осуществлять доступ к веб-ресурсу через сеть связи двумя основными способами. Этот пользователь может осуществлять доступ к определенному веб-ресурсу непосредственно, вводя адрес веб-ресурса, обычно URL-адрес (универсальный указатель ресурса), такой как www.example.com, в командном интерфейсе 110 либо перейдя по ссылке в сообщении электронной почты или на другом веб-ресурсе (это действие эквивалентно копированию и вставке в командный интерфейс 110 URL-адреса, связанного со ссылкой).
[57] В альтернативном варианте этот пользователь в соответствии со своей целью может выполнять поиск интересующего ресурса с использованием поисковой системы (не показана). Последний вариант особенно удобен, когда пользователю известна интересующая его тема, но не известен URL-адрес веб-ресурса. Поисковая система обычно формирует страницу результатов поисковой системы (SERP), которая содержит ссылки на один или несколько веб-ресурсов, соответствующих запросу пользователя. После перехода по одной или нескольким ссылкам на странице SERP пользователь может открыть требуемый веб-ресурс.
[58] Электронное устройство 102 содержит интерфейс связи (не показан) для двухсторонней связи с сетью 114 связи по линии 116 связи. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии в качестве сети 114 связи может использоваться сеть Интернет. В других вариантах осуществления настоящей технологии сеть 114 связи может быть реализована иначе, например, в виде произвольной глобальной сети связи, локальной сети связи, личной сети связи и т.д.
[59] На реализацию линии 116 связи не накладывается каких-либо особых ограничений, она зависит от реализации электронного устройства 102. В качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где электронное устройство 102 реализуется как беспроводное устройство связи (такое как смартфон), линия 116 связи может быть реализована как беспроводная линия связи (такая как канал сети связи 3G, канал сети связи 4G, Wireless Fidelity или сокращенно WiFi, Bluetooth и т.п.) или как проводная линия связи (такая как соединение на основе сети Ethernet).
[60] Очевидно, что варианты реализации электронного устройства 102, линии 116 связи и сети 114 связи приводятся только в качестве иллюстрации. Специалисту в данной области понятны прочие конкретные подробности реализации электронного устройства 102, лини 116 связи и сети 114 связи. Представленные выше примеры никак не ограничивают объем настоящей технологии.
[61] Система 100 также содержит сервер 118 электронной почты, соединенный с сетью 114 связи. Сервер 118 электронной почты может быть реализован как традиционный компьютерный сервер. В примере осуществления настоящей технологии сервер 118 электронной почты может быть реализован как сервер DellTM PowerEdgeTM, работающий под управлением операционной системы MicrosoftTM Windows ServerTM. Очевидно, что сервер 118 электронной почты может быть реализован с использованием любых других подходящих аппаратных средств и/или ПО, и/или встроенного ПО, либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 118 электронной почты представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 118 электронной почты могут быть распределены между несколькими серверами.
[62] Реализация сервера 118 электронной почты хорошо известна. Коротко говоря, сервер 118 электронной почты содержит интерфейс связи (не показан), структура и конфигурация которого позволяет осуществлять связь с различными элементами (такими как электронное устройство 102 и другие устройства, которые могут быть связаны с сетью 114 связи) через сеть 114 связи. Подобно электронному устройству 102, сервер 118 электронной почты содержит память 120 сервера электронной почты, содержащую один или несколько носителей информации, и, в общем случае, обеспечивает место для хранения выполняемых компьютером команд, которые выполняются процессором 146 сервера электронной почты. Например, память 120 сервера электронной почты может быть реализована как физический машиночитаемый носитель, включая ПЗУ и/или ОЗУ. Память 120 сервера электронной почты также может включать в себя одно или несколько устройств постоянного хранения, таких как жесткие диски (HDD), твердотельные накопители (SSD) и карты флэш-памяти.
[63] В некоторых вариантах осуществления сервер 118 электронной почты может управляться организацией, поставляющей описанное выше браузерное приложение 108. Например, если браузерное приложение 108 представляет собой приложение Yandex.BrowserTM, то сервер 118 электронной почты может управляться компанией Yandex LLC (ул. Льва Толстого, 16, Москва, Россия, 119021). В других вариантах осуществления сервер 118 электронной почты может управляться организацией, отличной от той, что поставляет описанное выше браузерное приложение 108.
[64] В соответствии с настоящей технологией, сервер 118 электронной почты обеспечивает сервис электронной почты (не показан), доступ к которому с использованием электронного устройства 102 выполняется путем ввода URL-адреса веб-портала или веб-страницы сервиса электронной почты (например, mail.yandex.ru и т.п.) в командном интерфейсе 110 браузерного приложения 108 (или путем перехода по соответствующей гиперссылке).
[65] Система 100 также содержит веб-сервер 122, соединенный с сетью 114 связи. Достаточно сказать, что веб-сервер 122 может быть (но не обязательно) реализован аналогично серверу 118 электронной почты. В представленных вариантах осуществления настоящей технологии веб-сервер 122 представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции веб-сервера 122 могут быть распределены между несколькими серверами.
[66] В некоторых вариантах осуществления настоящей технологии веб-сервер 122 выполняет функции репозитория для первого веб-ресурса 124 и второго веб-ресурса 126. В контексте настоящего описания термин «веб-ресурс» означает любой связанный с определенным веб-адресом (таким как URL-адрес) сетевой ресурс (такой как веб-страница, веб-сайт), содержимое которого может быть представлено пользователю в визуальной форме посредством электронного устройства 102 с использованием браузерного приложения 108.
[67] Доступ к каждому веб-ресурсу, такому как первый веб-ресурс 124 и второй веб-ресурс 126, обеспечивается посредством электронного устройства 102 через сеть 114 связи, например, путем выполняемого пользователем ввода URL-адреса в браузерном приложении 108 или путем веб-поиска с использованием поисковой системы (не показана). Несмотря на то, что в представленном не имеющем ограничительного характера варианте осуществления настоящей технологии на веб-сервере 122 размещается только первый веб-ресурс 124 и второй веб-ресурс 126, количество веб-ресурсов может больше или меньше двух.
[68] Система также содержит сервер 128 отслеживания, соединенный с сетью 114 связи. Достаточно сказать, что сервер 128 отслеживания может быть (но не обязательно) реализован аналогично серверу 118 электронной почты. В представленных вариантах осуществления настоящей технологии сервер 128 отслеживания представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 128 отслеживания могут быть распределены между несколькими серверами.
[69] В некоторых вариантах осуществления настоящей технологии на сервере 128 отслеживания размещено приложение 130 веб-аналитики, такое как Yandex.MetricaTM или Google AnalyticsTM. Способ реализации приложения 130 веб-аналитики известен и поэтому здесь подробно не описан. Достаточно сказать, что приложение 130 веб-аналитики предназначено для отслеживания и хранения данных журнала просмотра (описаны ниже) для данного браузерного приложения. Приложение 130 веб-аналитики связано с базой 132 данных отслеживания (описано ниже).
[70] В некоторых вариантах осуществления приложение 130 веб-аналитики может управляться той же организацией, что управляет описанным выше сервером 118 электронной почты. Приложение 130 веб-аналитики (и/или база 132 данных отслеживания) не обязательно должно быть реализовано на сервере 128 отслеживания, а может быть реализовано на сервере 118 электронной почты.
Наполнение базы 132 данных отслеживания
[71] На фиг. 2 представлена логическая блок-схема не имеющего ограничительного характера варианта осуществления процесса наполнения базы 132 данных отслеживания. Очевидно, что база 132 данных отслеживания может наполняться другими способами, известными специалистам в данной области и, например, описанными на веб-сайте www.metrica.yandex.com, вся совокупность которых включена в данный документ посредством ссылки.
[72] Для иллюстрации способ наполнения базы 132 данных отслеживания объясняется далее на примере первого веб-ресурса 124. Очевидно, что это описание приведено только в качестве примера, а не для ограничения объема изобретения. Иными словами, тот же подход может применяться и в отношении второго веб-ресурса 126.
[74] Начиная с шага 202, браузерное приложение 108 выполняет доступ к первому веб-ресурсу 124, как описано выше. Доступ к первому веб-ресурсу 124 включает в себя передачу браузерным приложением 108 запроса по протоколу HTTP (протокол передачи гипертекста) на веб-сервер 122. Например, когда браузерное приложение 108 выполняет доступ к первому веб-ресурсу 124 с URL-адресом www.example.org, HTTP-запрос выглядит следующим образом:
[75] На шаге 204, после приема HTTP-запроса от браузерного приложения 108, вебсервер 122 определяет, присвоен ли браузерному приложению 108 уникальный идентификатор 134 браузера (показанный на фиг. 1 пример применим для тех случаев, когда уникальный идентификатор 134 браузера уже присвоен).
[76] В контексте настоящей технологии термин «уникальный идентификатор браузера» относится к особому куки-файлу приложения 130 веб-аналитики, который хранится в энергонезависимом ЗУ 104 электронного устройства 102 (как показано на фиг. 1). В отличие от куки-файлов HTTP, уникальный идентификатор 134 браузера не имеет срока окончания действия и не удаляется по истечении срока действия сеанса. Как подробно объясняется ниже, с использованием уникального идентификатора 134 браузера приложение 130 веб-аналитики может определить, выполнены ли две различные попытки доступа к первому веб-ресурсу 124 одним и тем же браузерным приложением 108.
[77] Если определено, что браузерное приложение 108 не имеет уникального идентификатора браузера, процесс переходит к шагу 206, где уникальный идентификатор браузера назначается для браузерного приложения 108 посредством исходного кода 144. Точнее, исходный код 144 способен создавать и назначать уникальный идентификатор браузера на основе хэш-функции, обеспечивающей уникальность создаваемых и назначаемых идентификаторов браузеров. Затем веб-сервер 122 отправляет браузерному приложению 108 следующие команды, чтобы сохранить уникальный идентификатор 134 браузера в энергонезависимом ЗУ 104 электронного устройства 102 (уникальный идентификатор 134 браузера называется «yandexuid»):
[78] В альтернативном варианте, если определено, что браузерному приложению 108 уже назначен уникальный идентификатор 134 браузера, процесс переходит к шагу 208, где инициируется сеанс просмотра веб-ресурса 124 посредством браузерного приложения 108 и, в результате, исполняется код счетчика. При исполнении кода счетчика исходный код 144 способен собирать информацию о сеансе просмотра, такую как заголовок страницы HTML, URL-адрес первого веб-ресурса 124, время сеанса просмотра и т.д. В некоторых вариантах осуществления исходный код 144 контролирует события во время взаимодействия пользователя (не показан) браузерного приложения 108 с первым веб-ресурсом 124. Сюда относится поведение пользователя, например, заполнение и отправка форм, переход по ссылкам, прокрутка и т.д.
[79] После завершения сеанса просмотра первого веб-ресурса 124 посредством браузерного приложения 108 процесс переходит к шагу 210, где исходный код 144 инициирует передачу веб-сервером 122 следующей информации приложению 130 веб-аналитики:
- уникальный идентификатор 134 браузера;
- URL-адрес веб-ресурса, к которому осуществлялся доступ (такого как первый веб-ресурс 124);
- время доступа к веб-ресурсу посредством браузерного приложения 108;
- сведения о поведении контролируемого пользователя.
[80] Приложение 130 веб-аналитики способно выполнять реорганизацию принятой информации для формирования данных 302 журнала просмотра. Говоря упрощенно, данные журнала просмотра представляют собой логически организованный набор информации, принятой от веб-сервера 122 (как более подробно объясняется ниже со ссылкой на фиг. 3).
[81] На фиг. 3 представлен не имеющий ограничительного характера пример данных 302 журнала просмотра браузерного приложения 108 в форме индексированного списка, хранящегося в базе 132 данных отслеживания. Данные 302 журнала просмотра состоят из (i) времени 306 доступа для каждого из, по меньшей мере, одного веб-ресурса, обслуживаемого приложением веб-аналитики 130, и (ii) набора URL-адресов 304 для каждого из, по меньшей мере, одного веб-ресурса, отсортированных в хронологическом порядке на основе соответствующего времени 306 доступа. Несмотря на то, что данные 302 журнала просмотра показаны, как содержащие только время 306 доступа и набор URL-адресов 304, они могут также содержать другую информацию, принятую приложением 130 веб-аналитики с веб-сервера 122, такую как сведения о поведении контролируемого пользователя, связанные с браузерным приложением 108.
[82] Как видно, браузерное приложение 108 (связанное с уникальным идентификатором 134 браузера) осуществляло доступ к, по меньшей мере, 14 веб-ресурсам, обслуживаемым приложением 130 веб-аналитики, перед тем, как осуществить доступ к URL-адресу, связанному с сервисом электронной почты (www.mail.yandex.ru).
Формирование учетной записи электронной почты
[83] Здесь вновь следует обратиться к фиг. 1. Как описано выше, сервер 118 электронной почты обеспечивает сервис электронной почты (не показан), доступ к которому обеспечивается посредством браузерного приложения 108. Для доступа к сервису электронной почты пользователь (не показан) браузерного приложения 108 должен зарегистрировать учетную запись электронной почты путем отправки запроса на создание учетной записи в форме пакета 140 данных (описан ниже).
[84] Пакет 140 данных принимается приложением 142 регистрации учетной записи на сервере 118 электронной почты. Пакет 140 данных содержит введенную пользователем информацию, например, часть или все из следующего: имя пользователя, адрес, дата рождения, пол, принадлежность, рекомендация, регистрационное имя, пароль и т.д. В некоторых вариантах осуществления пакет 140 данных дополнительно содержит уникальный идентификатор 134 браузера. В качестве альтернативы, приложение 142 регистрации учетной записи может запрашивать уникальный идентификатор 134 браузера после приема пакета 140 данных. Очевидно, пакет 140 данных может содержать данные других типов без выхода за пределы настоящей технологии.
[85] Приложение 142 регистрации учетной записи хранится в памяти 120 сервера электронной почты и включает в себя выполняемые компьютером команды, которые выполняются процессором 146 сервера электронной почты для обнаружения и предотвращения регистрации учетной записи с целью рассылки спама. Точнее, приложение 142 регистрации учетной записи способно определять, соответствует ли браузерное приложение 108, по меньшей мере, одному первому условию, определенному оператором (не показан) сервера 118 электронной почты. В некоторых вариантах осуществления настоящей технологии определение соответствия браузерного приложения 108, по меньшей мере, одному первому условию включает в себя определение оценки пользователя в связи с таким запросом.
[86] В контексте настоящей технологии термин «оценка пользователя» определяется как оценка, указывающая на вероятность того, что пользователем браузерного приложения 108 является человек или того, что пользователем является компьютерная программа (например, спам-бот).
Определение оценки пользователя
[87] Разработчики предложили варианты осуществления настоящей технологии, исходя из понимания того, что существующие способы использования информации, содержащейся в запросе на регистрацию, не обеспечивают достаточных данных для определения того, является запрашивающая сторона (т.е. пользователь, сформировавший запрос на регистрацию учетной записи) человеком или программой-роботом. Разработчики обратили внимание, что в результате анализа данных 302 журнала просмотра браузерного приложения 108 во время регистрации можно получить более ценную информацию для квалификации запрашивающей стороны как программы-робота.
[88] Далее следует обратиться к фиг. 4, где представлен не имеющий ограничительного характера вариант осуществления процесса определения оценки пользователя.
[89] Сначала пакет 140 данных, содержащий уникальный идентификатор 134 браузера и отправленный из браузерного приложения 108, принимается приложением 142 регистрации учетной записи. После приема уникального идентификатора 134 браузера приложение 142 регистрации учетной записи способно передать пакет 402 данных приложению 130 веб-аналитики через сеть 114 связи. В некоторых вариантах осуществления пакет 402 данных содержит запрос данных 302 журнала просмотра, связанных с уникальным идентификатором 134 браузера, и по этой причине включает в себя уникальный идентификатор 134 браузера.
[90] После приема пакета 402 данных приложение 130 веб-аналитики получает уникальный идентификатор 134 браузера и принимает данные 302 журнала просмотра, связанные с уникальным идентификатором 134 браузера, из базы 132 данных отслеживания. Затем приложение 130 веб-аналитики передает пакет 404 данных, содержащий данные 302 журнала просмотра, связанные с уникальным идентификатором 134 браузера (см. фиг. 3).
[91] Приложение 142 регистрации учетной записи способно после приема данных 302 журнала просмотра обработать URL-адреса, из которых состоит набор URL-адресов 304, сопоставив их с одним или несколькими сеансами навигации. В некоторых вариантах осуществления приложение 142 регистрации учетной записи способно исключать последний URL-адрес из набора URL-адресов 304, связанный с сервисом электронной почты (предполагается, что сервис электронной почты обслуживается приложением 130 веб-аналитики). В контексте настоящей технологии термин «сеанс навигации» относится к периоду времени между выполняемым посредством браузерного приложения 108 подключением к сети 114 связи с целью навигации по сети Интернет и отключением от сети 114 связи. Обработка набора URL-адресов может выполняться любым способом без каких-либо ограничений, например, путем объединения в группы URL-адресов с близкими значениями времени 306 доступа.
[92] На фиг. 5 представлен набор сеансов навигации (первый сеанс 502 навигации, второй сеанс 512 навигации, третий сеанс 514 навигации, четвертый сеанс 516 навигации и пятый сеанс 518 навигации). Первый сеанс 502 навигации включает в себя подмножество URL-адресов из набора URL-адресов 304, для которых в результате обработки определено, что они относятся к одному сеансу навигации. То есть первый сеанс 520 навигации включает в себя первый URL-адрес 504, второй URL-адрес 506, третий URL-адрес 508 и четвертый URL-адрес 510.
[93] Приложение 142 регистрации учетной записи способно сначала принять набор признаков первого сеанса 502 навигации, взятого в качестве примера. В некоторых вариантах осуществления настоящей технологии набор признаков может содержать, по меньшей мере, один из следующих признаков, но не ограничиваясь ими:
- продолжительность сеанса навигации;
- количество возвратов к URL-адресам с одинаковым именем хоста в сеансе навигации;
- присутствие URL-адреса, связанного с поисковой системой, в сеансе навигации;
- количество URL-адресов в сеансе навигации.
[94] Далее подробно рассматривается каждый из вышеупомянутых признаков.
[95] (I) продолжительность первого сеанса 502 навигации
[96] Для сеанса 502 навигации, взятого в качестве примера, приложение 142 регистрации учетной записи может определить, что запрашивающая сторона затратила приблизительно 7 минут на навигацию между первым URL-адресом 504 и четвертым URL-адресом 510.
[97] (II) количество возвратов к URL-адресам с одинаковым именем хоста в сеансе навигации
[98] Предположим, что сеанс 502 навигации, взятый в качестве примера, содержит следующие URL-адреса:
[99] Приложение 142 регистрации учетной записи способно определить, что второй URL-адрес 506, третий URL-адрес 508 и четвертый URL-адрес 510 содержат одно и то же имя хоста (т.е. домен первого уровня). В некоторых вариантах осуществления приложение 142 регистрации учетной записи дополнительно способно определить, что запрашивающая сторона выполнила «линейную» навигацию, путем определения того, что переходы между URL-адресами выполнялись в иерархическом порядке (последовательность между вторым URL-адресом 506 и четвертым URL-адресом 510). Это определение может выполняться с применением семантического анализа URL-адресов, эвристического подхода или с использованием алгоритма машинного обучения (MLA), обученного для анализа переходов между URL-адресами.
[100] (III) присутствие URL-адреса, связанного с поисковой системой, в сеансе навигации
[101] В случае примера из таблицы 1 приложение 142 регистрации учетной записи способно определить, что первый URL-адрес 504 соответствует поисковой системе (т.е. Yandex™).
[102] (IV) количество URL-адресов в сеансе навигации
[103] В случае первого сеанса 502 навигации, взятого в качестве примера, приложение 142 регистрации учетной записи способно определить, что этот сеанс содержит четыре URL-адреса.
[104] Очевидно, что представленный выше набор признаков не ограничивает объем изобретения и, как понятно специалисту в данной области, возможно использование признаков других типов или их модификаций.
[105] В некоторых вариантах осуществления приложение 142 регистрации учетной записи содержит процедуру прогнозирования (не показана), которой передается вышеупомянутый набор признаков. В контексте настоящей технологии термин «процедура» подразумевает подмножество считываемых компьютером кодов приложения 142 регистрации учетной записи, выполняемых процессором 146 сервера электронной почты для выполнения описанных ниже функций. В некоторых вариантах осуществления настоящей технологии процедура прогнозирования представляет собой первый алгоритм машинного обучения, способный на основе вышеупомянутого набора признаков определять, указывает данный сеанс навигации на высокую вероятность того, что пользователем является человек или того, что пользователем является программа-робот.
[106] Точнее, процедура прогнозирования позволяет присваивать каждому из одного или нескольких сеансов навигации (i) значение оценки для логичного паттерна, соответствующее низкой вероятности того, что запрашивающей стороной является программа-робот, или (ii) значение оценки для нелогичного паттерна, соответствующее высокой вероятности того, что запрашивающей стороной является программа-робот. В некоторых вариантах осуществления в качестве значения оценки для логичного паттерна может использоваться двоичное значение 0, а в качестве значения оценки для нелогичного паттерна может использоваться двоичное значение 1. Очевидно, что значение оценки для логичного паттерна и значение оценки для нелогичного паттерна могут быть представлены в различных форматах.
[107] Обучение процедуры прогнозирования может выполняться любым способом без каких-либо ограничений, например, на основе эмпирического подхода (путем накопления фактической выборки, помеченной как паттерн человекоподобной навигации в сети) или эвристического подхода (путем указания того, какой может быть навигация человека в сети).
[108] Например, процедура прогнозирования может обучаться (на основе обучающих данных), чтобы присваивать более высокую вероятность того, что пользователем является программа-робот, если определен чрезмерно продолжительный сеанс навигации (например, 6 часов) по сравнению с продолжительностью для среднего пользователя-человека (например, 30 минут).
[109] В другом примере процедура прогнозирования может обучаться (на основе обучающих данных), чтобы присваивать более высокую вероятность того, что пользователем является программа-робот, если определена недостаточная повторяемость имени хоста и/или если последовательность URL-адресов постоянно или преимущественно нелинейная.
[110] В еще одном примере процедура прогнозирования может обучаться (на основе обучающих данных), чтобы присваивать более высокую вероятность того, что пользователем является программа-робот, если определено, что в данном сеансе навигации отсутствует URL-адрес, связанный с поисковой системой. То есть процедура прогнозирования может иметь доступ к списку URL-адресов, связанных с одной или несколькими поисковыми системами (такими как Google™, Yandex™ и т.д.). Этот анализ основывается на понимании разработчиками того факта, что пользователи-люди склонны использовать поисковые системы во время навигации в сети Интернет.
[111] В еще одном примере, процедура прогнозирования может обучаться (на основе обучающих данных), чтобы присваивать более высокую вероятность того, что пользователем является программа-робот, если определено чрезмерно большое количество URL-адресов в данном сеансе навигации (например, 100 URL-адресов) по сравнению с количеством для среднего пользователя-человека (например, 10 URL-адресов).
[112] В еще одном примере процедура прогнозирования может обучаться (на основе обучающих данных), чтобы присваивать более высокую вероятность того, что пользователем является программа-робот, если определено, что браузерное приложение 108 осуществляло доступ к чрезмерно большому количеству URL-адресов в течение заранее заданного времени (например, 1000 URL-адресов в минуту) по сравнению со значением для среднего пользователя-человека (например, 4 URL-адреса в минуту).
[113] Очевидно, что эти примеры приведены только для иллюстрации, а не для ограничения объема изобретения.
[114] Для первого сеанса 502 навигации процедура прогнозирования может быть способна определять, что паттерн навигации соответствует более высокой вероятности того, что запрашивающей стороной является человек. То есть приложение 142 регистрации учетной записи способно назначать значение оценки для логичного паттерна (т.е. 0) первому сеансу 502 навигации.
[115] В некоторых вариантах осуществления процедура прогнозирования позволяет назначать значение оценки для логичного паттерна или значение оценки для нелогичного паттерна каждому сеансу навигации в составе данных 302 журнала просмотра. После завершения анализа всех сеансов навигации приложение 142 регистрации учетной записи объединяет значения оценки для логичного паттерна и/или значения оценки для нелогичного паттерна и делит полученный результат на общее количество сеансов навигации, входящих в состав данных 302 журнала просмотра, чтобы получить оценку пользователя.
[116] Например, может быть определено, что всем сеансам навигации, за исключением четвертого сеанса 516 навигации, назначено значение оценки для логичного паттерна (т.е. 0). Это дает оценку пользователя 0,2 или 20% (поскольку из пяти сеансов навигации только четвертому сеансу 516 навигации назначено значение оценки 1 для нелогичного паттерна).
[117] Очевидно, что возможны другие способы получения оценки пользователя. Например, процедура прогнозирования может быть способна назначать оценку пользователя на основе общего количества сеансов навигации, которым назначено значение оценки для нелогичного паттерна (например, оценка пользователя 30% для каждого сеанса навигации, которому назначено значение оценки для нелогичного паттерна). То есть, если определено, что имеется два сеанса навигации, которым назначено значение оценки для нелогичного паттерна, то соответствующая оценка пользователя (независимо от общего количества сеансов навигации) будет равна 60%.
[118] В некоторых вариантах осуществления приложение 142 регистрации учетной записи способно определять, указывает ли полученная оценка пользователя на более высокую вероятность того, что запрашивающей стороной является программа-робот. Такое определение может выполняться любым способом без каких-либо ограничений, например, может определяться, превышает ли оценка пользователя порог достоверности, указывая на то, что пользователем является программа-робот.
[119] Определение порога достоверности может выполняться любым способом без каких-либо ограничений, например, порог достоверности может определяться эмпирически. Например, предварительно может быть эмпирически определено, что если более чем 80% сеансам навигации назначено значение оценки для нелогичного паттерна, то запрашивающей стороной с более высокой вероятностью является программа-робот. Очевидно, что возможны другие подходы и представленный выше способ не ограничивает объем изобретения.
[120] В случае данных 302 журнала просмотра, взятых в качестве примера, для которых оценка пользователя составляет 20%, приложение 142 регистрации учетной записи не квалифицирует составителя запроса как программу-робот. В результате процесс регистрации учетной записи может быть продолжен.
[121] С другой стороны, если оценка пользователя на основе данных 302 журнала просмотра превышает порог достоверности, приложение 142 регистрации учетной записи может быть способно выполнять ограничивающее действие. В контексте настоящей технологии термин «ограничивающее действие» может означать, по меньшей мере, одно из следующего: (i) отклонение запроса на создание учетной записи электронной почты; (ii) выполнение аутентификации «вопрос-ответ», чтобы определить, является ли запрашивающая сторона человеком (например, тест САРТСНА); (iii) создание учетной записи электронной почты с одним или несколькими ограничениями, такими как (а) ограничение времени доступа к учетной записи; (b) ограничение использования учетной записи, например количества исходящих сообщений электронной почты; (с) назначение низкой оценки репутации учетной записи и т.д.
[122] Очевидно, что возможна реализация нескольких порогов достоверности и выполнение различных ограничивающих действий для каждого порога достоверности. Например, если оценка пользователя превышает первый порог достоверности (например, 80%), запрос на создание учетной записи электронной почты отвергается, а если оценка пользователя ниже первого порога достоверности, но выше второго порога достоверности (например, 60%), запрос на создание учетной записи электронной почты обрабатывается после успешного завершения аутентификации «вопрос-ответ».
[123] В других вариантах осуществления, если определено, что оценка пользователя ниже порога достоверности (т.е. определяется, что запрашивающей стороной является человек), то приложение 142 регистрации учетной записи дополнительно способно определять, соответствует ли браузерное приложение 108, по меньшей мере, одному второму условию, определенному оператором (не показан) сервера 118 электронной почты. В некоторых вариантах осуществления настоящей технологии определение соответствия браузерного приложения 108, по меньшей мере, одному второму условию включает в себя определение значения оценки потенциального спамера-человека (описывается ниже).
Определение значения оценки потенциального спамера-человека
[124] Разработчики разработали некоторые варианты осуществления настоящей технологии на основе понимания того, рассылать спам-сообщения могут не только программы-роботы. Поэтому, даже если приложение 142 регистрации учетной записи может ограничить создание учетных записей электронной почты программами-роботами посредством реализации описанной выше технологии, все же может быть желательной дополнительная фильтрация запросов на создание учетной записи электронной почты.
[125] Иными словами, что даже если определено, что запрашивающей стороной является человек, по-прежнему остается риск того, что запрашивающая сторона после создания учетной записи будет принимать участие в рассылке спама. При разработке настоящей технологии разработчики обратили внимание на то, что в результате анализа данных 302 журнала просмотра браузерного приложения 108 во время регистрации также можно предсказать вероятность того, что человек, являющийся запрашивающей стороной, может участвовать в рассылке спама.
[126] В контексте настоящей технологии термин «значение оценки потенциального спамера-человека» относится к указанию на вероятность того, является ли запрашивающая сторона потенциальным спамером-человеком или нет. Значение оценки потенциального спамера-человека может иметь различные форматы. Например, оно может выражаться в процентах, причем значение сто процентов может соответствовать самой большой вероятности (т.е. достоверности) того, что человек, являющийся запрашивающей стороной, может участвовать в рассылке спама.
[127] В некоторых вариантах осуществления настоящей технологии способ определения значения оценки потенциального спамера-человека включает в себя, по меньшей мере, одно из следующих действий или их сочетание: (i) определение того, осуществляло ли браузерное приложение 108 доступ к одному или нескольким веб-ресурсам из черного списка (описано ниже), и (ii) определение того, использовалось ли браузерное приложение 108 неопределенным количеством пользователей-людей. Далее подробно рассматриваются вышеупомянутые способы.
Доступ к веб-ресурсам из черного списка
[128] В некоторых вариантах осуществления настоящей технологии, согласно фиг. 1, для определения значения оценки потенциального спамера-человека сервер 118 электронной почты выполнен с возможностью поддерживать индексированный список 136, содержащий обозначения веб-ресурсов из черного списка (не показаны). В контексте настоящей технологии термин «веб-ресурсы из черного списка» относится к списку веб-ресурсов, эмпирически определенных оператором (не показан) сервера 118 электронной почты, как связанные с рассылкой спама. Например, в списке может быть веб-ресурс, предназначенный для найма отправителей спама, веб-ресурс, содержащий руководство по отправке спам-сообщений или по обходу антиспам-фильтров и т.д.
[129] Как показано на фиг. 4, приложение 142 регистрации учетной записи способно после приема пакета 404 данных выполнять доступ к индексированному списку 136 и определять значение оценки потенциального спамера-человека. Определение значения оценки потенциального спамера-человека может выполняться любым способом без каких-либо ограничений, например, на основе отношения количества URL-адресов, содержащихся в данных 302 журнала просмотра из индексированного списка 136, к общему количеству URL-адресов в составе набора URL-адресов 304. Например, каждому отношению соответствует значение оценки потенциального спамера-человека, которое предварительно определено посредством второго алгоритма машинного обучения, обученного на выборках, помеченных как соответствующие людям-спамерам. Иллюстративный пример таких отношений и соответствующих им значений оценки потенциального спамера-человека представлен ниже в таблице 2. Эти примеры значений оценки потенциального спамера-человека приведены только для иллюстрации, а не для ограничения объема изобретения.
[130] В некоторых вариантах осуществления полученное таким образом значение оценки потенциального спамера-человека сравнивается с первым порогом достоверности для спамера-человека, который соответствует достоверности того, что человек, являющийся запрашивающей стороной, представляет собой потенциального спамера. Определение первого порога достоверности для потенциального спамера-человека может осуществляться любым способом без каких-либо ограничений, например, эмпирически. Если определено, что значение оценки потенциального спамера-человека указывает на более высокую вероятность того, что человек, являющийся запрашивающей стороной, представляет собой потенциального спамера (т.е. значение превышает первый порог достоверности для потенциального спамера-человека), приложение 142 регистрации учетной записи способно выполнить одно из описанных выше ограничивающих действий.
Неопределенное количество пользователей
[131] Данный вариант осуществления технологии основывается на понимании разработчиками того, что запрос на создание учетной записи электронной почты из браузерного приложения, имеющего большой объем журнала просмотра, имеет более высокую вероятность быть связанным с возможными действиями по рассылке спама, поскольку обычно это указывает на то, что браузерное приложение используется неопределенно большим количеством пользователей (например, в интернет-кафе). С другой стороны, также можно сказать, что запрос на создание учетной записи электронной почты из браузерного приложения с недостаточным объемом журнала просмотра также имеет высокую вероятность быть связанным с возможными действиями по рассылке спама.
[132] Поэтому приложение 142 регистрации учетной записи способно на основании количества URL-адресов, содержащихся в наборе URL-адресов 304, определять значение оценки потенциального спамера-человека. Например, приложение 142 регистрации учетной записи способно подсчитывать количество URL-адресов, содержащихся в наборе URL-адресов 304, и назначать значения вероятности, предварительно определенные посредством третьего алгоритма машинного обучения, обученного на выборках, помеченных как соответствующие людям-спамерам. Пример значений количества URL-адресов, содержащихся в наборе URL-адресов 304, и соответствующих им значений оценки потенциального спамера-человека представлен ниже в таблице 3. Эти примеры значений оценки потенциального спамера-человека приведены только для иллюстрации, а не для ограничения объема изобретения.
[133] В некоторых вариантах осуществления полученное таким образом значение оценки потенциального спамера-человека сравнивается со вторым порогом достоверности для потенциального спамера-человека, указывающим на достоверность того, что человек, являющийся запрашивающей стороной, представляет собой потенциального спамера. Определение второго порога достоверности для потенциального спамера-человека может осуществляться любым способом без каких-либо ограничений, например, эмпирически. Если определено, что значение оценки потенциального спамера-человека указывает на более высокую вероятность того, что запрашивающая сторона является потенциальным спамером (т.е. значение превышает второй порог достоверности для потенциального спамера-человека), приложение 142 регистрации учетной записи способно выполнить одно из описанных выше ограничивающих действий.
[134] Описание настоящей технологии как последовательно включающей в себя определение значения оценки пользователя и определение значения оценки потенциального спамера-человека (если оценка пользователя ниже порога достоверности), не имеет ограничительного характера. Очевидно, что определение оценки пользователя может выполняться одновременно с определением оценки потенциального спамера-человека.
[135] Описанные выше архитектура и примеры позволяют выполнять реализуемый компьютером способ обнаружения и предотвращения регистрации учетной записи с целью рассылки спама. На фиг. 6 представлена блок-схема способа 600, который реализуется согласно вариантам осуществления настоящей технологии, не имеющим ограничительного характера. Способ 600 может выполняться сервером 118 электронной почты.
[136] Шаг 602: прием от браузерного приложения сервером электронной почты запроса на создание учетной записи электронной почты с целью, по меньшей мере, одного из отправки и приема электронного сообщения, при этом запрос включает в себя, по меньшей мере, уникальный идентификатор браузера.
[137] Способ 600 начинается на шаге 602, где запрос на регистрацию учетной записи электронной почты в форме пакета 140 данных принимается приложением 142 регистрации учетной записи на сервере 118 электронной почты.
[138] Пакет 140 данных содержит уникальный идентификатор 134 браузера.
[139] Шаг 604: прием данных журнала просмотра, связанных с уникальным идентификатором браузера и указывающих на историю просмотра браузерного приложения, относящуюся к, по меньшей мере, одному веб-ресурсу.
[140] На шаге 604 приложение 142 регистрации учетной записи способно передавать пакет 402 данных приложению 130 веб-аналитики. Пакет 402 данных содержит запрос данных 302 журнала просмотра, связанных с уникальным идентификатором 134 браузера.
[141] В некоторых вариантах осуществления приложение 130 веб-аналитики размещается на сервере 118 электронной почты.
[142] После приема пакета 402 данных приложение 130 веб-аналитики передает пакет 404 данных, который принимается приложением 142 регистрации учетной записи. Пакет 404 данных содержит данные 302 журнала просмотра, связанные с уникальным идентификатором 134 браузера.
[143] Шаг 606: анализ данных журнала просмотра для определения оценки пользователя в связи с запросом, указывающей на вероятность того, что пользователем является человек или что пользователем является компьютерная программа-робот.
[144] На шаге 606 приложение 142 регистрации учетной записи способно определять оценку пользователя, связанную с браузерным приложением 108.
[145] Оценка пользователя определяется путем обработки одного или нескольких URL-адресов, содержащихся в наборе URL-адресов 304 и отсортированных в хронологическом порядке, с отнесением их к одному или нескольким сеансам навигации. Затем анализируется каждый из одного или нескольких сеансов навигации, чтобы назначить ему значение оценки для логичного паттерна или значение оценки для нелогичного паттерна. Затем значения оценки для логичного паттерна и значения оценки для нелогичного паттерна для одного или нескольких сеансов навигации объединяются, полученный результат делится на общее количество сеансов навигации в составе данных 302 журнала просмотра для получения оценки пользователя.
[146] Шаг 608: выполнение ограничивающего действия в отношении запроса, если определенно, что оценка пользователя указывает на более высокую вероятность того, что пользователем является программа-робот.
[147] На шаге 608 приложение 142 регистрации учетной записи способно определять, превышает ли оценка пользователя порог достоверности. Если оценка пользователя превышает порог достоверности, приложение 142 регистрации учетной записи определяет, что оценка пользователя указывает на более высокую вероятность того, что пользователем является программа-робот, и способно выполнить одно из описанных выше ограничивающих действий.
[148] Специалистам в данной области техники должно быть очевидно, что, по меньшей мере, некоторые варианты осуществления настоящей технологии преследуют цель расширения спектра технических решений определенной технической проблемы: снижения затрат вычислительных ресурсов на серверах электронной почты путем уменьшения количества отправляемых через сеть связи спам-сообщений, что предположительно способствует оптимизации сетевого трафика и уменьшению нагрузки на сетевые серверы. Очевидно, что не все упомянутые в данном описании технические эффекты должны присутствовать в каждом варианте осуществления настоящей технологии. Например, возможны варианты осуществления настоящей технологии, когда пользователь не получает некоторые из этих технических эффектов, или другие варианты осуществления, когда пользователь получает другие технические эффекты либо технический эффект отсутствует.
[149] Изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии очевидны для специалиста в данной области. Предшествующее описание приведено в качестве примера, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.
[150] Несмотря на то, что описанные выше варианты осуществления приведены со ссылкой на конкретные шаги, выполняемые в определенном порядке, должно быть понятно, что эти шаги могут быть объединены, разделены или их порядок может быть изменен без отклонения от настоящей технологии. Соответственно, порядок и группировка шагов не носят ограничительного характера для настоящей технологии.