как узнать кто тебя спамит

Как узнать кто тебя спамит

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

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

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

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

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

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

Источник

Подозрительно: массовые смс с кодами активации от разных сервисов

С десятка номеров пришли однотипные смс, одно за другим — «Ваш код подтверждения…»:

Некоторые сообщения продублировались утром и вечером. Что это может быть?

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

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

Обычная шутка

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

Как защититься. Если не планируете пользоваться сервисами, от которых пришли сообщения, просто заблокируйте имена отправителей.

Самозащита от мошенников

Создание баз номеров

Другая возможная цель такого скрипта — сбор информации. Скрипт пытается восстановить пароль на разных сервисах. Если процесс запустился, аккаунт с таким телефонным номером существует. Его вносят в базу номеров.

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

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

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

Попытка регистрации с подбором кода

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

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

Чем длиннее код, тем сложнее это сделать. Например, если код состоит из четырех цифр, существует 10 тысяч разных вариантов, а если из шести — вариантов уже миллион.

Скрипт можно научить проверять все эти варианты и автоматически вводить коды проверки один за другим — от 000000 до 999999. Здесь все зависит от защиты сайта: ограничивает ли он количество попыток, если ограничивает, то сколько их. И можно ли повторить процедуру с тем же номером через какое-то время.

Чем больше попыток дает сайт, тем выше вероятность, что скрипт успеет подобрать код и подтвердить «вашу» учетную запись без доступа к телефону и тексту смс. Например, в 2017 году на «Хабре» писали про угон аккаунтов одного каршеринга.

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

Я не стал перезапускать скрипт. Но даже за одну попытку вероятность подбора — 100 к 1 000 000, то есть 0,01%. Если перебрать 10 тысяч номеров, один из них удастся подтвердить. А если длина кода всего четыре символа, то при тех же условиях хватит ста номеров, чтобы подобрать код к одному из них и получить доступ к подтвержденному аккаунту. После этого можно рассылать с него спам от чужого имени.

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

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

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

Утечка паролей

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

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

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

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

Маскировка важного смс

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

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

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

Источник

Вычисляем по IP: как бороться со спамом в социальной сети

Спам в социальных сетях и мессенджерах — это боль. Боль и для честных пользователей, и для разработчиков. Как с ней борются в Badoo, рассказал Михаил Овчинников на Highload++, далее текстовая версия этого доклада.

О спикере: Михаил Овчинников работает в Badoo и последние пять лет занимается антиспамом.

В Badoo зарегистрировано 390 миллионов пользователей (данные на октябрь 2017). Если сравнивать размер аудитории сервиса с населением России, то можно сказать, что в нашей стране по статистике каждых 100 млн человек охраняет 500 тысяч полицейских, а в Badoo каждые 100 млн пользователей защищает от спама всего один сотрудник Антиспама. Но даже такое небольшое количество программистов способно защитить пользователей от разных неприятностей в интернете.

У нас большая аудитория, и в ней могут быть разные пользователи:

С кем приходится сражаться

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

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

Это, конечно, шутка. В статье не будет информации, которая упростит жизнь спамерам.

как узнать кто тебя спамит. kr3c7vtm241m6npyzo7ej4bcams. как узнать кто тебя спамит фото. как узнать кто тебя спамит-kr3c7vtm241m6npyzo7ej4bcams. картинка как узнать кто тебя спамит. картинка kr3c7vtm241m6npyzo7ej4bcams.

Итак, с кем нам приходится сражаться? Это спамеры и мошенники.

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

Более сложный вариант — когда люди не шлют ничего откровенного, не посылают никаких ссылок, ничего не рекламируют, но выманивают пользователя в более удобное для них место, например в мессенджеры: Skype, Viber, WhatsApp. Там они смогут без нашего контроля что угодно продавать пользователю, продвигать и т.д.

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

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

Как боролись со спамом в Мезозойскую эру

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

Простейшие способы борьбы со спамом

Ручная модерация

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

как узнать кто тебя спамит. . как узнать кто тебя спамит фото. как узнать кто тебя спамит-. картинка как узнать кто тебя спамит. картинка .

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

Нужно сделать так, чтобы модераторы не получали доступа к персональным данным. Это важно, потому что модераторы теоретически могут тоже попытаться навредить. То есть нужен антиспам для антиспама, чтобы модераторы были под жестким контролем.

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

Сбор статистики

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

как узнать кто тебя спамит. n2yqckqwqt8ttzvjtmtc3vgnbza. как узнать кто тебя спамит фото. как узнать кто тебя спамит-n2yqckqwqt8ttzvjtmtc3vgnbza. картинка как узнать кто тебя спамит. картинка n2yqckqwqt8ttzvjtmtc3vgnbza.

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

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

как узнать кто тебя спамит. . как узнать кто тебя спамит фото. как узнать кто тебя спамит-. картинка как узнать кто тебя спамит. картинка .

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

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

Обладая такой статистикой по каждому из атрибутов, мы можем примерно определить, кто спамер, кто нет.

как узнать кто тебя спамит. ogtjtkfpogqabof2yd reen33ts. как узнать кто тебя спамит фото. как узнать кто тебя спамит-ogtjtkfpogqabof2yd reen33ts. картинка как узнать кто тебя спамит. картинка ogtjtkfpogqabof2yd reen33ts.

Допустим, у нас есть два IP-адреса — на одном 80% спамеров, на втором 1%. Очевидно, что первый гораздо более заспамленный, с ним надо что-то делать и применять какие-то санкции.

Самое простое — это написать эвристические правила. Например, если заблокированных пользователей больше 80%, а тех, кто признан нормальным — меньше 5%, то этот IP-адрес считается плохим. Дальше мы баним или что-то еще делаем со всеми пользователями с таким IP-адресом.

Сбор статистики из текстов

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

как узнать кто тебя спамит. . как узнать кто тебя спамит фото. как узнать кто тебя спамит-. картинка как узнать кто тебя спамит. картинка .

Например, если какое-то доменное имя было отправлено в сообщениях 100 пользователями, из них 50 было заблокировано, значит, это доменное имя плохое. Его можно вносить в черные списки.

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

Стоп-слова

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

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

На сайтах знакомств по статистике спамеры чаще, чем обычные люди, употребляют фразу: «Я ищу серьезные отношения». Вряд ли обычный человек так напишет на сайте знакомств — с вероятностью 70% это спамер, который пытается кого-то завлечь.

Поиск похожих аккаунтов

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

Например, пользователь Гарольд заходит, регистрируется на сайте и предоставляет свои достаточно уникальные атрибуты: IP-адрес, фотографию, стоп-слово, которое он употребил. Может быть, он даже зарегистрировался с фейкового аккаунта Facebook.

как узнать кто тебя спамит. qrheg lipc e6qakgidkfcz7lu. как узнать кто тебя спамит фото. как узнать кто тебя спамит-qrheg lipc e6qakgidkfcz7lu. картинка как узнать кто тебя спамит. картинка qrheg lipc e6qakgidkfcz7lu.

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

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

В нашей компании за первые полгода работы отдел Антиспама победил 50% спама. Остальные 50%, как известно, даются гораздо сложнее.

Как усложнить жизнь спамерам

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

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

К сожалению, нас на такие конференции не приглашают.

Но мы можем усложнить спамерам жизнь. Например, вместо того чтобы напрямую показывать пользователю окошко «Вы заблокированы», можно применить так называемый Stealth banning — это когда мы пользователю не говорим о том, что он забанен. Он даже не должен об этом подозревать.

как узнать кто тебя спамит. pt3bxmfuyowj 0nkhjxnh3 yn14. как узнать кто тебя спамит фото. как узнать кто тебя спамит-pt3bxmfuyowj 0nkhjxnh3 yn14. картинка как узнать кто тебя спамит. картинка pt3bxmfuyowj 0nkhjxnh3 yn14.

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

У нас был случай, когда один спамер долго спамил, продвигал свои нехорошие товары и услуги, а через полгода решил воспользоваться сервисом по назначению. Он зарегистрировал свой настоящий аккаунт: реальные фотографии, имя и т.д. Естественно, наша система поиска похожих аккаунтов быстро его вычислила и поместила в Stealth ban. После этого он еще в течение полугода писал в пустоту о том, что ему очень одиноко, никто не отвечает. В общем, изливал всю свою душу туману Silent Hill, но не получал никакого ответа.

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

как узнать кто тебя спамит. . как узнать кто тебя спамит фото. как узнать кто тебя спамит-. картинка как узнать кто тебя спамит. картинка .

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

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

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

как узнать кто тебя спамит. qmh ypmte7ptgnoyjjjmdudpheg. как узнать кто тебя спамит фото. как узнать кто тебя спамит-qmh ypmte7ptgnoyjjjmdudpheg. картинка как узнать кто тебя спамит. картинка qmh ypmte7ptgnoyjjjmdudpheg.

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

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

как узнать кто тебя спамит. . как узнать кто тебя спамит фото. как узнать кто тебя спамит-. картинка как узнать кто тебя спамит. картинка .

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

Они не знают, что каждую фотографию потом еще перепроверяют вручную модераторы.

Нет времени!

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

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

Кластеризация пользователей

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

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

По кластерам можно собирать статистику — если 50% кластера заблокировано, то остальные 50% можно отправить на верификацию, или отдельно все кластеры модерировать вручную, просматривать те атрибуты, по которым они совпадают, и принимать решение. На основе таких данных, аналитики могут выделять паттерны.

Паттерны

Паттерны — это наборы простейших атрибутов пользователей, которые нам сразу известны. Некоторые из паттернов на самом деле очень эффективно работают против определенных типов спамеров.

Например, рассмотрим сочетание трех абсолютно независимых, достаточно общих атрибутов:

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

Кластеризация текстов

Помимо кластеризации пользователей по атрибутам, можно находить пользователей, которые пишут одинаковые тексты. Конечно, это уже не так просто. Дело в том, что наш сервис работает на очень многих языках. Более того, пользователи часто пишут с сокращениями, на сленге, иногда с ошибками. Ну а сами сообщения обычно очень короткие, буквально 3–4 слова (примерно 25 символов).

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

Можно поступить чуть более просто — применить алгоритм n-gram. Каждое сообщение, которое появляется, разбивается на n-граммы. Если n=2, то это биграммы (пары букв). Постепенно все сообщение разделяется на пары букв и собирается статистика, сколько раз каждая биграмма встречается в тексте.

как узнать кто тебя спамит. . как узнать кто тебя спамит фото. как узнать кто тебя спамит-. картинка как узнать кто тебя спамит. картинка .

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

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

С этим вектором очень удобно работать и его кластеризовать, потому что:

Поэтому нужно добавить фильтрацию. Так как кластеры уже есть, они достаточно маленькие, мы легко можем внутри кластера сделать фильтрацию применив Stemming или Bag of Words. Внутри маленького кластера можно буквально все сообщения со всеми сравнить, и получить тот кластер, в котором гарантированно находятся одинаковые сообщения, которые совпадают не только по статистике, но и на самом деле.

Итак, мы сделали кластеризацию — и, тем не менее, для нас (и для кластеризации) очень важно знать правду о пользователе. Если он пытается от нас скрыть правду, то нам нужно предпринять какие-то действия.

Сокрытие информации

Типичный вид сокрытия информации — это VPN, TOR, Proxy, Анонимайзеры. Пользователь использует их, пытаясь сделать вид, что он из Америки, хотя на самом деле он из Нигерии.

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

как узнать кто тебя спамит. 4fmmczwlvswrgpf2lwenmap ojg. как узнать кто тебя спамит фото. как узнать кто тебя спамит-4fmmczwlvswrgpf2lwenmap ojg. картинка как узнать кто тебя спамит. картинка 4fmmczwlvswrgpf2lwenmap ojg.

С помощью этого учебника мы написали классификатор VPN — то есть такой классификатор, который получает на вход IP-адрес и на выходе говорит, является ли этот IP-адрес VPN, Proxy или нет.

Для реализации классификатора нам понадобится несколько ингредиентов:

как узнать кто тебя спамит. xn3. как узнать кто тебя спамит фото. как узнать кто тебя спамит-xn3. картинка как узнать кто тебя спамит. картинка xn3.

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

Конечно, эти данные очень общие. Как бы мы хорошо не обучали классификатор, как бы мы не старались применять advanced-техники, он все равно не будет работать со 100% точностью. Поэтому здесь ключевым фактором являются дополнительные сетевые проверки.

Как только мы получили информацию о том, что IP-адрес якобы принадлежит VPN, мы можем на самом деле проверить, что же этот IP-адрес из себя представляет. Можно попытаться к нему подключиться, посмотреть, какие на нем открыты порты. Если там SOCKS-proxy, можно попробовать открыть соединение и точно определить является данный IP-адрес анонимайзером или нет.

Кроме того, есть еще замечательная технология, внедрение которой у нас пока в планах, которая называется p0f. Это утилита, которая на сетевом уровне делает fingerprinting трафика и позволяет сразу определить, что находится на той стороне соединения: обычный пользовательский клиент, VPN-клиент, Proxy и т.д. Утилита содержит большой набор паттернов, которые все это определяют.

Наиболее подозрительное действие

После того, как мы написали различные системы, кластеризаторы, классификаторы, собрали статистику, мы задумались: что самого подозрительного пользователь может совершить на нашем сервисе? Зарегистрироваться — это уже подозрительно! Если пользователь зарегистрировался, то мы сразу начинаем на него смотреть с очень хитрым прищуром и всячески его анализировать, пытаясь понять, что же он имел ввиду.

У нас часто возникает внутреннее желание — а не забанить ли нам сразу всех после регистрации? Это бы значительно облегчило работу отдела Антиспама. Мы сразу сможем пить чай в 2 раза дольше, и никаких проблем у нас не будет.

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

как узнать кто тебя спамит. . как узнать кто тебя спамит фото. как узнать кто тебя спамит-. картинка как узнать кто тебя спамит. картинка .

Как можно себя ограничить, чтобы не банить хороших пользователей, не ошибиться и не запутаться?

«User Decency»

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

Пример характеристик «хорошего» поведения:

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

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

как узнать кто тебя спамит. . как узнать кто тебя спамит фото. как узнать кто тебя спамит-. картинка как узнать кто тебя спамит. картинка .

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

False positive

Второе, что можно сделать — искать различные ложноположительные срабатывания. Бывает, что пользователи случайно заходят с одного IP-адреса. Например, двое сидят в интернет-кафе, даже компьютер может быть у них один и тот же. Браузер, fingerprint, который мы считаем по компьютеру, по браузеру, по устройству — все будет абсолютно совпадать, и мы можем посчитать, что оба пользователя являются спамерами, хотя не факт, что они как-то связаны.

Другой пример: хороший пользователь в диалоге со спамером может переспросить в ответ на рекламу: «Эй, я не понял — что такое Pornhub — зачем ты мне его рекламируешь?» В такой момент система видит, что пользователь написал стоп-слово и может посчитать, что этот пользователь является спамером и его нужно как можно скорее забанить.

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

Для примера возьмем стоп-слово «Pornhub». По каждому стоп-слову у нас есть статистика всех пользователей, которые когда-либо его употребляли.

как узнать кто тебя спамит. hc bsrvrndwftksm6hpepc jyhi. как узнать кто тебя спамит фото. как узнать кто тебя спамит-hc bsrvrndwftksm6hpepc jyhi. картинка как узнать кто тебя спамит. картинка hc bsrvrndwftksm6hpepc jyhi.

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

Здесь нужно проверить, отличается ли новый пользователь Патрик от всех старых, уже известных спамеров. Можно сравнить его типовые атрибуты: пол, возраст, провайдер, приложение, страна и т.д. Здесь нам важно понять, насколько велико «расстояние» в этом пространстве атрибутов между пользователем и основной группой. Если оно очень большое, то Патрик, скорее всего, попал туда случайно. Он ничего плохого не имел в виду, его не стоит сразу банить, а лучше отправить на ручную проверку.

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

Универсальный мега-классификатор

Вы можете спросить — а почему бы не сделать сразу большую классную систему с MachineLearning, нейросетями и деревьями решений, которая будет получать на вход всю информацию о пользователях и выдавать просто 0 или 1 — человек спамер или нет.
как узнать кто тебя спамит. bgoatbaeeo 0zxpxfafc. как узнать кто тебя спамит фото. как узнать кто тебя спамит-bgoatbaeeo 0zxpxfafc. картинка как узнать кто тебя спамит. картинка bgoatbaeeo 0zxpxfafc.

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

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

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

Приходите на HighLoad++ 2018, в этом году будет много докладов по машинному обучению и искусственному интеллекту, например:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *