Телефонный фрод, 4-я стадия.

Posted: 2016-09-19 in IT
Метки:

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

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

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

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

Клиент N; не может дозвониться в Латвию на номера 3712726xxxx и 37167xxxxxx; номера разные; воспроизводимость 100%

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

Такое было впервые. Обычно падало направление у одного, ну может двух аплинков, но чтобы у всех сразу — это было очень странно.

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

Звонки на Латвию заблокированы на неопределённое время по коммерческим причинам до выяснения обстоятельств.

Осторожными распросами удалось выяснить, что префикс Латвии (ВЕСЬ!!!)
заблочили к хуям собачьим сразу несколько аплинков из-за совсем уж неприличных фродовых манипуляций с ценами. Похоже, кто-то из крупных операторов влетел по фроду на зело крупную сумму, и терпение таки кончилось. Латвию заблочили целиком и конкретно, причём сразу несколько операторов =) Охренев от такого кульбита, наша компания решила тем более не рисковать, на сайте повесили объяву, а клиента уведомили, что префексы Латвии массово поблочены за фрод и идёт разбирательство. Пишите письма, юзайте резервные способы связи. Клиент взгрустнул, но ситуацию понял, мы со своей стороны инициировали дальнейшее разбирательство.

Через какое-то время ситуацию утрясли, основной префикс разбанили, но некоторые упоротые мобильные операторы Латвии остались в ч0рном списке.

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

Для этого я решил наваять мини-отчет, анализирующий таблицы тарифов.
Структура таблицы тарифов такова:

id int(11) Auto Increment
id_tariff int(11)
prefix char(20)
description char(100)
voice_rate decimal(8,4)

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

Выгружаем список стран с базовым префиксом и данными о суб-префиксах:

SELECT 
  t2.id_tariff, t2.prefix AS basic_prefix, t2.description,
  SUBSTR(t1.description, 1, 5) AS prefix_sub_name,
  t2.voice_rate AS basic_voice_rate,
  LENGTH(t2.prefix) AS basic_prefix_length,
  MAX(LENGTH(t1.prefix)) AS max_subprefix_length,
  MAX(t1.voice_rate) AS max_subprefix_price,
  COUNT(t1.prefix) as num_subprefixes,
  ROUND((MAX(t1.voice_rate) / t2.voice_rate ), 2) AS frod_local_ratio  
 FROM tariffs t1
  LEFT JOIN tariffs t2 ON t1.id_tariff = t2.id_tariff
   AND t1.prefix != t2.prefix
   AND SUBSTR(t1.description, 1, 4) = SUBSTR(t2.description, 1, 4)
   AND t1.voice_rate > 0 AND t2.voice_rate > 0 
   AND t1.prefix LIKE CONCAT(t2.prefix,'%')
  WHERE t1.id_tariff = 18
    AND t2.prefix IS NOT NULL 
    AND t2.prefix != '7'
  GROUP BY prefix_sub_name
  HAVING frod_local_ratio > 3
     AND max_subprefix_price > 12
  ORDER BY t2.description, t2.prefix
  LIMIT 150

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

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

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

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

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

$cancer_percent += 10 ^ (длина_базовго_перфикса — длина_субпрефикса);

Пример:
У Андорры базовый префикс 376 (1.6 руб) и ещё 4 субпрефикса 376(3-6) по 13 руб. Поскольку разброс цен — восьмикратный, и цена самого дорогого субпрефикса превысила 12 рублей, то граничная цена для Андорры = 1,6 * 3 = 4.8 руб (в три раза выше базы) , и все субпрефиксы считаем фродовыми. Отличия в длине всего на одну цифру, каждый занимает 10% номерной ёмкости. Таким образом, 40% номерной емкости Андорры можно считать занятой мошенниками.

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

frod_stat_2016-09-19

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

Также многие европейские страны тоже оказались весьма сильно поражены мошенническими метастазами. Потому что нет и быть не может никаких реальных причин, из-за которых минута вызова в некоторые суб-префиксы Норвегии вдруг стоит 61 руб/минуту при разбросе цен более чем в 70 раз по отношению к цене базового префикса!

Лихтенштейн, площадь которого меньше иных захолустных городков, смотрится особенно контрастно с пиковой ценой 70 рублей/минута, 9-и кратным разбросом цен в префиксах и 31% поражённоё номерной емкости. Треть номерной ёмкости Лихтентейна можно смело банить к херам собачьим — вероятность наличия там телефонных мошенников приближается к 100%.

Есть ли у меня сомнения в этих данных ? Да, есть.

* Для Австралии огромный разброс цен обусловлен наличием своего спутникового оператора — там цены космические по понятным причинам. Префиксы спутника занимают пятую часть номерной ёмкости — это немало, но это случай индивидуальный.
* В случае Франции под подозрение попала куча их местных мобильных — их цена оказалась более чем трехкратно выше базовой цены в 60 копеек, что для такой страны может свидетельствовать о наличии монопольного сговора по ценам. Впрочем, не. Разброс цен в 57 (sic!!) раз и наличие 389 субпрефиксов (на секундочку, у Китая префикс всего ОДИН) — яркое свидетельство пышно цветущего фрода.
* В отчёт не попали те страны, которые содержат изначально аннонсированные дорогие базовые префиксы, но без троекратного разброса по ценам. Это Кирибати (свыше 100 руб/минута, но в оном префиксе), Чад, КНДР и им подобные. Я не стал их включать в отчёт, поскольку в этом случае можно было бы предположить, что мошенники составляют 100% клиентской базы такой страны %)

Вот такая вот телефония. Будьте внимательны со своими АТС-ками.

Реклама
- комментарии
  1. Да, забавно