Спам-звонки, фишинговые ссылки, рекламный трафик и утечки данных — все это не просто источники раздражения, а реальная угроза для мобильных абонентов. Большинство решений защищает на уровне смартфона, нагружая устройство. В МТС пошли другим путем: объединили телеком и IT-функции в тарифе, где можно настроить безопасность на уровне сети оператора. Пользователи могут управлять защитой через мобильное приложение и блокировать вредоносный трафик до его попадания на телефон.

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

Что дает перенос защиты на уровень сети

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

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

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

Для сравнения: на iPhone блокировка звонков просто убирает сигнал вызова, оставляя номер в списке пропущенных. В Membrana они вообще не отображаются. При желании можно настроить доступ только для определенных контактов или групп — все остальные входящие примет и обработает автоответчик. А если звонок действительно важный, переключит его на вас.

Для сервиса мы разработали модули и интегрировали их с инфраструктурой МТС — например, с системами мониторинга утечек и логирования. Информация о вредоносных источниках обновляется ежедневно из проверенных открытых данных.

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

Как мы объединили голосовые и сетевые функции

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

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

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

  • асинхронно запускать или останавливать услуги (например, активацию безопасной сети или включение блокировки звонков);

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

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

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

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

Ключевые требования архитектуры — распределение и надежность

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

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

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

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

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

Подготовка к переходу на следующий уровень защиты

Текущая система блокировки угроз работает по принципу proxy-сервера: из каждого https-запроса извлекается информация о целевом домене, и уже на этом этапе модуль фильтрации принимает решение о блокировке, опираясь на заданные входные правила.

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

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

  • игнорировать второстепенные баннеры, не мешающие безопасности, но влияющие на UX;

  • приоритизировать критические угрозы и блокировать их в первую очередь;

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

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

Комментарии (0)