Как стать автором
Обновить

Комментарии 47

Похож на ЖЖ или Дайри, но более современный и молодежный, полузакрытый, уютный.

With blackjack and hookers

With canvas and cookies же!

Сколько же еще вам предстоит пройти на этом пути...
Занимался подобными задачами в масштабах на три порядке больших, и в более агрессивной среде, где по ту сторону команды инженеров и коробочный софт вроде Linken Sphere и Vector T13, а по мою было несколько команд разработки и алгоритмы, от которых иногда приходилось отказываться по причине того, что они эффективно не отрабатывали по памяти на сервере с 1.5ТБ RAM.

По сути, вы идете +- путем коммерчески доступного B2B типа Threatmetrix, iovation, который, к слову, может стоить неадекватных денег, но при этом абсолютно игнорирует специфику бизнеса клиента. Да, можно дальше развивать тему - начать анализировать поведение браузера на более низком уровне (в частности, тот же процесс хендшейка), докручивать математику, чтобы подавлять false positive от тех же айфонов и мобильных вышек, пытаться искать аномалии, чтобы вычислить тех, кто, условно, собрал эксель табличку вида прокси-useragent-логин, и подставляет их, купить базы IP адресов для детекта проксей...
Но, к примеру, человека с двумя смартфонами, один из которых работает от мобильной сети, оно не вычислит никак.

Вопрос в том, решает ли это реальную проблему? Врядли тролли просто троллят от балды и абсолютно рандомно?
Скорее всего, поведение троллей вписывается в 5-10 паттернов. Условно, есть паттерн, как работают спамеры и сеошники, есть паттерн, как работают те, кто хотят залайкать себя, и так далее. Интересно, почему не пытаетесь копать в эту сторону? Сила методов, основанных на анализе логов поведения в том, что их гораздо сложнее обойти, продолжая эффективно достигать свою абузерскую цель. Условно, если ваша цель пресечь самолайк, то почему не копать в эту сторону? Да, ip, фингерпринты, куки имеют место быть, но стоит ли им быть первичным, а не подтверждающим фактором?

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

Далее, чекаем по словарю опечаток и грамматических ошибок, они будут одинаковыми скорее всего.

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

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

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

Хорошо помогает проверка активности подозрительных аккаунтов примерно в одно время

Больше вручную, но можно и автоматизировать

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

Я пока плохо представляю, какие паттерны поведения отслеживать. Самолайки могут быть не на каждый пост, а время от времени. С дополнительных аккаунтов могут лайкать и других людей. Чтобы иметь возможность лайкать, надо написать несколько постов и получить приглашение, то есть это не совсем пустые аккаунты. Но у нас много и обычных малоактивных аккаунтов. И для разных профилей люди могут придумывать разные личности со своими историями и вести дневники об этом. Могут заходить редко и в разное время.
Если говорить про троллинг, то дополнительные аккаунты для этого могут совсем не использоваться. Но начнут, как только мы забаним основной. И хочется это предупредить.

Буду благодарен, если поделитесь полезными статьями по теме.

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

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

Давно уже всё сделали. Oauth2.0 Войти через Гугл, войти через Яндекс и все такое.

Но ведь все хотят лично себе пользователей набирать, боятся что Гугл забанит их или еще чего сделает.

Гуглоаккаунтов тоже можно назаводить в любых количествах

Иметь возможность завести 5-6 виртуальных личностей это важно.

Это создает достаточный барьер от сотен и тысяч личностей и хорошо.

У нас подтверждение аккаунта через почту. Человек со скриншота в статье создает себе адреса на Яндексе для регистрации у нас. Так что это немного усложит ему работу, но не остановит. К тому же, не все люди пользуются Яндексом и Гуглом, и мы так себе ограничим аудиторию.

Усложнение это достаточно на практике.

Ну и перестать беспокоиться про отдельные клики заодно. Массовое обслуживание. Один плюс не имеет значения.

Знаете ли вы о ten minute mail? Можно и в яндексе аккаунты не создавать. Притом, в некоторых сервисах стараются бороться с ними (хз как, по маскам доменов, наверное), но не очень успешно.

Да, мы тоже при регистрации проверяем почтовый домен по базе disposable email через открытый API. В большинстве случаев срабатывает, но не всегда. А раньше тролли ими активно пользовались.

Не, учеток через Гугл, Яндекс и прочих, можно сделать много. А вот с учеткой госуслуг это сильно сложнее.

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

Госуслуги аплодируют стоя (а вместе с ними — тащи майоры в правой части зала и всевозможные скамеры в левой).

Многим сервисам это не подойдёт. Например, тем, у кого хотя бы часть пользователей никак не связана с РФ.

Ага, уже шутили с другими админами, что единственный гарантированный способ — регистрация по паспорту.

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

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

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

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

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

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

Проблема — у большинства людей динамический адрес

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

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

Да по-моему все так делают) Описанные методы - это самые простые и элементарные.

P.S.
Твинков для накручивания рейтинга можно выявлять не только по cookie/ip/параметрам браузера, но и по поведенческим действиям. Можно же построить карту лайков на сайте, и выявить те аккаунты, которые лайкают только одного пользователя. Или наоборот, аккаунт, у которого большинство лайков только с нескольких аккаунтов.

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

P.P.S.
Ну и конечно же нужно доработать удаление аккаунтов-твинков - чтобы все сделанные им лайки откатывались обратно. Чтобы человек понимал, что он может сколько угодно дней тратить на накрутку рейтингов - админ нажмет пару кнопок, и все труды обнулятся.

Есть способ отслеживания пользователя через специально закэшированные файлы.

Слышал, надо будет изучить. Спасибо.

Получить информацию о версии браузера/OC не сложно

Это уже и так есть в User-Agent.

Да, но динамический он в определенных границах.

Не всегда. Но да, есть мысль добавить сравнение первых двух октетов от адреса.

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

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

чтобы все сделанные им лайки откатывались обратно

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

А что за сайт-то? Я не разработчик сайтов, а вот тема личных дневников мне близка. Хотя бы название сервиса скажи)

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

так провели бы как раз тестирование в реальных условиях для выявление узких мест

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

Что же, что же это за уютный полузакрытый сайт?! ...

Скину в ЛС.

Спасибо :)

Можно и мне? Спасибо! У меня есть знакомые, которые решают проблемы твинков и рейтинга не техническим, а социальным способом. Они как раз ищут относительно небольшой социальный проект, с которым можно было бы обсудить партнерство. Я бы передал им ваш контакт, если интересно.

Хабраэффекта уже не должно быть, так что могу выложить открыто. Только ссылки на свои проекты ведь по правилам нельзя? Лучше просто название?
Партнерство, возможно, будет интересно. Но только некоммерческое, естественно.

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

NSFW?
РЕСУРС ЗАБЛОКИРОВАН В СООТВЕТСТВИИ С ПОЛИТИКАМИ КИБЕРБЕЗОПАСНОСТИ

Можно мне тоже пожалуйста ☺️

Чуть выше

Хм. А что плохого в тролинге? Хоть каменты интересные будут иногда попадаться ;)

У нас люди пишут о своих личных переживаниях. И мы стараемся, чтобы им было комфортно, чтобы их никто не осуждал, не смеялся, не оскорблял.

Осталось взять chatgpt и научить его писать приятные комментарии. Лайки можно ставить автоматически. Да и приятные днявки пусть лучше робот пишет.

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

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


Что прекрасно видно в той самой аналогии с Хабром.

Одним устройством, могут пользоваться разные люди

Да, я про это писал. Поэтому все равно нужна ручная проверка.

Лучше продумайте систему рейтингов, репутации … например по аналогии с хабром.

У нас есть системы приглашений и рейтингов, похожие на Хабр. Но этого недостаточно. Люди хорошо умеют притворяться, либо у них по другим причинам радикально меняется поведение. И само по себе это не помогает от накруток лайков.

Работаю одним из администраторов на крупнейшем российском сайте по технике HVAC.

Одновременно на сайте находятся более 10 тысяч человек. IP каждого сообщения записывается . Видно когда кто логинится с какого адреса.

И только модераторы знают, что это парень-тролль.

С 1909 года ничего не изменилось!

Когда поэт, описывая даму,
Начнет: «Я шла по улице. В бока впился корсет»,‑
Здесь «я» не понимай, конечно, прямо —
Что, мол, под дамою скрывается поэт.
Я истину тебе по‑дружески открою:
Поэт — мужчина. Даже с бородою.

Интересная статья. Та самая ситуация, когда существует множество фреймворков и библиотек, но они не подходят по разным причинам (например, из-за огромного лишнего функционала, который излишне нагружает систему), поэтому важно знать как работают все эти фреймворки, так сказать "что у них под капотом". Недавно как раз читал статью о написании rest api на чистом Java. Очень много людей в комментариях не понимают зачем уметь писать это, если давно есть фреймворк. Эх, тут мы возвращаемся к извечному вопросу: "А нужно ли писать бинарный поиск?"

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории