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

Начнем с того, откуда же приходят требования, если заказчика по факту как такового нет, и какие типы СОРМ существуют?

Типы СОРМ и приказы Минцифры

Изначально, все начинается с официально принятого приказа Министерством цифрового развития России о хранении данных. Все документы можно найти на официальном сайте Минкома в открытом доступе.

Каждый приказ можно грубо разделить на несколько частей:

  • много фраз о том как все это важно и нужно и почему, которые не несут никаких требований

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

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

  • приложение к приказу, именуемое “Методика тестирования” - официальный документ, по которому приложение должно проверятся, имеет в себе ряд тест кейсов с ожидаемым результатом.

Однако, несмотря на то, что каждый приказ несет в себе что-то новое, а типы соединений и интерфейсы отличаются, все же можно разделить СОРМ на два вида:

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

  • СОРМ, работающий с данными “on the fly”- выдача результата в реальном времени сразу на пульт без сохранения результата в бд.

В первом случае с клиента, именуемым “пульт управления” или просто “ПУ” приходит определенный запрос - “команда + фильтры + отрезок времени”, и СОРМ должен выдать всю информацию за указанный период по данному фильтру в определенном виде. Примером такого подхода может быть приказ 573 о хранении данных абонентов

Во-втором случае приходит сигнал о постановке на контроль абонента, и только после этого начинает отбор информации. Информация выдается на пульт сразу же, и идет она до того момента, пока с пульта не придет сигнал о снятии с контроля, но сами найденные данные на стороне СОРМ (сервера) не сохраняются.

Примерами таких приказов могут быть приказы №645 о контроле связи и №139 о контроле интернет данных.

Также, можно разбить СОРМ по типу съема: активный и пассивный.

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

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

Любой приказ СОРМ может быть реализован при помощи пассивного съема, метод активного съёма используется в случаях сложности анализа всего трафика и протокола, либо для СОРМ приказа формата “on the fly” №645, №139.

Постановка задач и сбор требований

Как и везде, все начинается с постановок задач для команды разработки, и в дело вступает ProductOwner. Так как процесс создания сторей и так широко известен, остановимся на трех основных проблемах, что встречаются на этом этапе в рамках СОРМ.

  • Первая проблема - въехать, что написано в приказе

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

    Почему же нельзя опустить описания и сразу перейти к интерфейсу, который как раз структурирован? Можно, и обычно так и делают, пока Оунер продолжает копаться с сочинениями в первой части. Проблема в том, что требования типа “должно храниться в течении трех месяцев с момента старта” или “должны выдаваться порциями по суткам в размере 1 ГБ” и т.д. находятся как раз в первой части. И именно по этой причине такие требования легко пропустить, подобные требования описаны мельком и не акцентированы, а проверять

  • Вторая проблема - взаимоисключающие требования или расплывчатые требования.

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

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

    Что это значит? Ключевое слово “всю”. То есть, если есть только СОРМ 573, то это данные платежей. А если, например, у оператора еще стоит 86ой (а он должен быть), то это еще данные звонков, а если 139ый, то и трафик.

    И фраза “Приказ 573 должен выдать все данные по абоненту” превращается в .“Приказ 573 должен выдать все данные по платежам абонентов, всем типам звонков и интернет трафику”. А, если посмотреть информацию этажом выше о типах СОРМ, то можно вспомнить, что, к примеру, трафик не хранится. И объемы данных к хранению никак не приспособлены. Но при этом 573 должен выдавать данные на месяца назад и по данным трафика в том числе.

    Здесь начинаются пляски Оунера с архитекторами, каким образом хранить те данные, которые хранить не надо и под которые ничего не приспособлено, и при этом не сжечь дата-центр и разработчиков. Это приводит к проблеме №3:

  • Хранение данных - и здесь, возможно, посыпятся комментарии про big data и “все хранят, и вы храните”. Но нужно понимать, о каких данных идет речь. Данные платежей и пользователей - не так уж много , даже для большого оператора, даже за год, и в целом проблем нет. Проблема возникла, когда Минком посчитал, что 573 должен включить выдачу по остальным приказам, которые хранение не предусмотрели. Точнее, там есть что-то в духе “должно храниться все за период”, и на этом все. Тип интерфейса выдачи 573 вообще ни разу не приспособлен к выдаче информации по звонкам и трафику. Поэтому, к примеру, если выдается информация по трафику, где данные - это не только заголовки заголовки, а абсолютно весь трафик, всех пользователей за период, то это все в режиме реального времени должно парситься, конвертироваться под 573 интерфейс и при этом ничего не вешать и куда-то складываться.

    Посчитаем на небольшом операторе:

    Как правило, небольшой интернет провайдер закупает пропускной канал у какого-то крупного межрегионального оператора для предоставления доступа в сеть своим абонентам, поэтому для расчета мы просто возьмем величину этого канала. Пусть наш провайдер арендует канал шириной 20Gb\s, понятно что нагрузка днем и ночью разная, усредним ее до 15Gb\s. Тогда, за один день наш небольшой оператор прокачивает: 15 * 60 * 60 * 24/8 = 162 TB

    А данные трафика необходимо хранить месяц: 162*30 = 4.8 PB

    Если использовать диски по 14TB, в режиме RAID5 (5+1), получим 417 дисков.

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

Разработка

Сам СОРМ можно разделить на 3 компонента:

  • работа с пультом управления

  • конвертация, парсинг и запись в БД

  • анализ трафика

Работа с пультом управления

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

Плюс:

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

Минус:

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

  • типы данных: например, на пульт ожидается Int, но по факту сами данные это String, и оператор туда вписывает вместе с номером телефона еще кучу всего.

  • логические косяки: например, ожидается 12 символов, но по факту в БД их 16, потому что номер карты банка всегда 16 символов. Или, например, поле фамилии только из букв, но при этом все мы знаем, что есть фамилии через дефис или с апострофом.

  • орфографические: например, везде поле называется “name”, а в одном месте “Name”, при этом это одно и тоже поле, создаваемое из одной таблицы в одну и туже структуру.

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

Примеры интерфейса asn для приказа 573:
Примеры интерфейса asn для приказа 573:
 Пример байтового интерфейса для приказа 86
Пример байтового интерфейса для приказа 86

Конвертация, парсинг и запись в БД

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

На этапе стыковки с БД оператора, оператор присылает Excel документ с примерами данных, которые у них хранятся, заменяя реальную инфу на что-то еще похожее. Данные у каждого оператора выглядят по-разному. Совсем. То есть для каждого оператора своя синхронизация.

Для каждого оператора нужно написать тулу, что распарсит их данные и закинет в нужном виде в новую БД. Данные хранятся настолько криво, что даже, если ты гуру регулярок, ты не сможешь все распарсить за раз. И даже за 5 раз. И это несмотря на то, что оператору отправляется детализировано описанный интерфейс, как должны выглядеть поставляемые данные. Здесь может показаться, что я жалуюсь, но в свое время мой переход с Мегафона на Билайн проходил 3 месяца с 12ю заявками, потому что у них каждый раз что-то не стыковалось в данных, а их не то, чтобы было много. Теперь хотя бы стало ясно, почему.

Ко всему прочему, это просто очень долго. Одно согласование на изменение формата с оператором может идти 2+ недель, даже если это их косяк, а если косяк со стороны команды, то и месяц.

Анализ трафика

Основной компонент СОРМа, работающего в реальном времени - компонент, собирающий информацию с трафика или звонков. Данные собираются с вышек и имеют 2 вида - сам трафик и логи станции. С трафиком обычно все понятно, а с логами не очень.

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

  • даты начала может не быть

  • даты конца может не быть

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

  • может даже продолжительности не быть

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

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

Тестирование

Отдельный вид боли — это тестирование СОРМ, и в отличии от разработки, здесь действительно не совсем обычный подход, особенно по части трафика.

Тест кейсы

За основу берется методика тестирования, что идет вместе с приказом, но есть очень много "но", и в первую очередь — методика кривая ( как неожиданно).

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

Пример кейсов из методики:

Часть методики приказа 139
Часть методики приказа 139
Часть методики приказа 139
Часть методики приказа 139
Часть методики приказа 139
Часть методики приказа 139
Часть методики приказа573:
Часть методики приказа573:

Количество кейсов

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

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

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

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

Доступ к ПУ

Если коротко — доступа к пульту нет и никогда не будет.

Пульт управления — это собственность правоохранительных органов, и доступа к нему нет. А значит, проверить интеграцию на реальном оборудовании нельзя. Тестировщики пользуются симуляторами, либо написанными все той же командой разработки, либо сторонней компанией. А любой симулятор — это ПО, а ПО имеет баги. Причем есть симуляторы пульта, которые также сертифицированы органами, то есть они официально подтверждены для тестирования. И даже они имеют баги, которые могут сильно путать. В связи с этим никогда нельзя провести интеграционные тесты и сказать, что приложение 100% работает с реальным пультом. Ко всему прочему, пульты также есть разные, и хоть они работают по четко описанному интерфейсу, все равно вылезают проблемы, которые можно оддебажить только на сертификации.

В качестве примера симулятора можно назвать «Импульс 374»

Импульс 374
Импульс 374
 Пример описания постановки на контроль из приказа 139
Пример описания постановки на контроль из приказа 139

Воспроизведение сценариев

Не все сценарии можно воспроизвести.

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

А потому есть 3 пути:

  • Нагенерить дампы трафика руками искусственно.

  • Нагенерить дампы трафика в офисе вживую.

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

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

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

Классический сценарий в таком случае: тестировщик едет в офис, где стоят две трубки. Он подключает приложение к нужным виртуальным интерфейсам, через которые пойдет трафик и вживую звонит по телефону, по WhatsUp и т.д и после проверяет, что все, что он наговорил записалось в БД.

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

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

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

  1. Транкинговая связь в метро. Для такого сценария у тестировщика должны быть 2 рации, работающие через нужный тип вышки и станция метро. Сгенерить программно это можно, но достаточно сложно и немного бесполезно. В итоге, либо ты не проверяешь сценарий вообще, либо ищешь где-то нужные рации с конкретной, нужной станцией, просишь одолжить и едешь в метро.

  2. Перехват трафика ICQ. Приказ 139 требует перехват всех типов мессенджеров, как новых версий так и старых. Можно поставить себе ICQ, но коннект будет через https, как и во всех мессенджерах сейчас. А по приказу надо уметь анализировать и старые до определенного года через http и снимать с них информацию. Скачать старый варианты физически почти негде, а даже, если повезет найти, начинаются проблемы с установкой, OS и т.д. Так что, в большинстве таких случаев, ты просто надеешься, что оно работает, а работает ли узнаешь только во время приема работ на сертификации, потому что у проверяющих есть такие дампы. Но дать они их разработке, понятное дело, не могут.

Проверки и сертификация

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

Сертификацию проводят сертифицированные испытательные лаборатории, можно почитать подробнее, например, на оф.сайте лаборатории СОТСБИ или лаборатории ЦНИИС

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

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

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

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

  • неожиданные требования. Иногда бывает, что нужно допилить какое-то поведение, которого по факту нет в приказе. То есть требование пользователей во время бета-тестирования, если это можно так назвать. Хотя, надо отметить, что такие случаи редки, и сами допилы все же адекватные и не сильно большие, например, добавить доп. инфу в какое-то поле.

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

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


  1. Neuromantix
    16.05.2023 14:54
    +40

    А Вам совесть не жмет? Просто любопытно.


    1. IvanPetrof
      16.05.2023 14:54
      +5

      А я волнуюсь за автора. Надеюсь он уже релоцировался.


      1. Soupbreak
        16.05.2023 14:54
        +11

        Надеюсь, что нет. Пожмет плоды своей работы


      1. garwall
        16.05.2023 14:54
        +4

        Глядя на это немного со стороны (учился в телекомовском вузе, где была куча дипломных проектов по СОРМ) - вряд ли. Предложили интересную тему по СОРМ - взял - получил усложняющий выезд доступ или категорию -увяз. ну и по наклонной и птичке пропасть.

        особенно если это было лет ..цать назад


      1. wslc
        16.05.2023 14:54
        -3

        Подскажете место, где нет аналога СОРМ, но туда имеет смысл релоцироваться?


        1. kris13
          16.05.2023 14:54

          Что значит имеет смысл? В центральной Африке не так и плохо...


        1. Mnemonik
          16.05.2023 14:54
          +4

          А подскажите, как меряется "аналоговость"? Вот у меня есть некоторые вопросики по этому поводу. Например почему когда презентуется какой-то максимально нелепый заштатный похожий на всё остальное проект с какой-то несущественной фишкой, которой может быть даже просто "полностью переведённый на русский язык", - то он постоянно маркируется как "не имеющий аналогов в мире". А когда речь заходит о людоедских механизмах типа всеобщей прослушки, или обысков без ордера, - это называется "аналогами <их> законов"? Хотя во втором случае разница кардинальная и в концепции и в применении и в последствиях и даже собственно в описании системы?

          Вот например какую бы вам страну не рекомендовали, я уверен в википедии сразу будет найденя какая-то система которая тут же будет сходу названа "аналогом" СОРМ. Хотя не будет не похожа на неё ни по размаху применения и охвату, ни по уровню доступа который предоставляет, ни по назначению, и общего у них будет только "принимает байты на вход и записывает байты на диск".

          Как это работает, объясните в кратце, ну чтобы можно было посоветовать страну и не начинать выяснять достаточно там СОРМ уже СОРМ или ещё нет?..


          1. Tolik-5
            16.05.2023 14:54

            Достаточно одной статьи в википедии.

            "Almost all countries have lawful interception capability requirements and have implemented them using global LI requirements and standards"

            https://en.wikipedia.org/wiki/Lawful_interception


            1. Mnemonik
              16.05.2023 14:54
              +3

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


    1. oleg_rico
      16.05.2023 14:54
      +3

      Интересно описанная работа по решению неоднозначной и сложной задачи.


  1. AL_o
    16.05.2023 14:54
    +11

    О, вот и нашёлся один из "этих". Стоп, в смысле не переходить на личности и не оскорблять?!


    1. DikSoft
      16.05.2023 14:54
      +9

      Так это не первый выход "этих" на сцену. Начиналось с рассказов, как "мы классно сделали WiFi сеть для молодёжного лагеря на Селигере"..


    1. MiraclePtr
      16.05.2023 14:54
      +13

      На одном из известных телеграм-каналов телеком-тематики "этих" ласково называли "конструкторами газенвагенов"... (нет, не переход на личности, просто цитата).


      1. DikSoft
        16.05.2023 14:54

        Ну кикнутые комментарии так "этих" и назвали. Но автора локнули до 23-го мая моментально.


        1. MiraclePtr
          16.05.2023 14:54

          А, ну видимо мне теперь тоже недолго осталось. Жаль последнюю статью не успел запостить


          1. DikSoft
            16.05.2023 14:54
            +2

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


    1. DarthPadla
      16.05.2023 14:54
      +3

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


      1. MiraclePtr
        16.05.2023 14:54
        +2

        разработайте другое законодательство, изберитесь в Госдуму и соберите большинство голосов

        Великолепная шутка, просто искрометная.


  1. Mnemonik
    16.05.2023 14:54
    +15

    не умеете пользоваться англицизмами, пожалуйста не пользуйтесь. «на лету» - on the fly. “on a fly” воспринимается как «на мухе»

    PS надеюсь разрабатываете этот софт вы так же как пишете - с претензией, но дилетантски.


    1. Hu3yP7
      16.05.2023 14:54
      +3

      В данном контексте “on a fly” проходит даже очень :^)


    1. Wesha
      16.05.2023 14:54
      +2

      "И вот так у них всё" (c)


    1. dartraiden
      16.05.2023 14:54
      +2

      Мне живо вспомнилось минцифровское "pocket loss". Хотели сказать про потерю пакетов, а получилась "потеря карманов".


      В ту же копилку роскомнадзоровское "флапанье портов" и "устройство на палочке".


      1. CherryPah
        16.05.2023 14:54

        а как бы вы перевели флапанье?

        паникующий порт? циклично перезагружающийся маршрут? колеблющаяся сессия?


  1. Flowneee
    16.05.2023 14:54
    +13

    Звучит, возможно, на первый взгляд, странно или смешно - как официальный документ РФ может не быть продуманным

    Никогда такого не было и вот опять.


    1. SergeyDeryabin
      16.05.2023 14:54

      как официальный документ РФ может не быть продуманным

      Это на каком языке интересно? Официальный документ может быть продуманным, но этот таким может не являться... почему бы не сказать просто "как официальный документ РФ может быть не продуманным"?


  1. Wesha
    16.05.2023 14:54
    +2

    СОРМ, работающий с данными “on a fly”

    СОРМ, работающий на мухе? Оригинально!

    "В реальном времени" = on the fly


  1. odiemius
    16.05.2023 14:54
    +2

    Ну вот чего Вы прикопались к человеку? Да, галочку в журнале поставим, что совесть автору поста не жмёт. Но и нас ус мотать тоже надо. Информация по СОРМ весьма закрыта, даже несмотря на наличие RFC на СОРМ.

    Когда я здавал СОРМ то после выкатывания мне фирмачами ценника за настройку АТС и "испытания" на симуляторе пульта, я послал их всех по адресу русского военного корабля (как позже выяснилось), и я сел настраивать СОРМ сам. С третьей попытки я таки здал! и получил заветную бомашку. Но документация по СОРМ отсутствует совсем. Ни примеров толком нет, ни описания откуда там ноги-руки растут и что с чем и как связано.

    Так что статья полезная, отчасти.


    1. victor_1212
      16.05.2023 14:54
      +5

      > RFC на СОРМ

      Какой именно RFC?

      Что-то не вижу на ietf.org.


    1. Oll123
      16.05.2023 14:54
      +3

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

      "звонит по телефону, по WhatsUp и т.д и после проверяет, что все, что он наговорил записалось в БД."
      Раз пишется, то я предполагаю что есть польза, в том плане - что можно прослушать звонок сделанный в вацапе (это не точно, но написанно в таком стиле, что вроде как бы да)

      С дополнением в виде "сохранять надо все виды месенджеров", можно предположить что:
      а - их идентифицируют (вроде бы известная истина, но опять же подтверждение так же полезно)
      б - возможно и дампы складывают отдельно по разделам типа "телеграм, вконтактик, вацапчик". Можно ли оттуда вытащить информацию ? (Официально неизвестно, но догадки есть, есть..)

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

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

      Ну а детали про приемки и прочие гос. заморочки типа "вы там сделайте что бы это парсить, но примеров че парсить мы не дадим ибо тайна", для тех кто с госами никогда не работал - такая практика будет с ЛЮБЫМ. А то мало ли, кто-то может случайно думает мол пойду в гос. конторе поработаю, поучусь (я прост видел такие комменты на хабре, давно правда =) Научитесь именно тому что тут описано - рисовать горбатого коня по звездам, а вас потом отдерут за то что icq по http не отпарсили, ибо в документе сказано "должно". И весь этот кайф за 15т.р. с возможной премией в 5т.р.


      1. MiraclePtr
        16.05.2023 14:54
        +2

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

        Не факт. Если голосовой трафик шифруется (и ватсап не сливает ключи отечественному майору), то есть вероятность что пишутся просто метаданные о том, что в такое-то время от такого-то абонента был звонок такой-то длительностью. Осталось найти другого абонента, у которого в точно то же время был звонок с точно такой же длительностью - и после пары таких совпадений можно вполне уверенно утверждать, что созванивались именно они. То есть тут вероятно не сколько прозрачная прослушка, а установление факта звонка между А и Б.


        1. Oll123
          16.05.2023 14:54
          +4

          Возможно вы правы, у меня есть твердое убеждение что это все "ну оооочень секретна" - и точно не всплывет на хабре в деталях, ну разве что человек уже успешно уехал :D Но ваше предположение тоже дает пищу для ума - потенциальная возможность точно соотнести с кем у тебя был звонок в мессенджере даже без возможности прослушивания самого разговора - это тоже полезно знать :)


    1. DikSoft
      16.05.2023 14:54
      +5

      Ну вот чего Вы прикопались к человеку?

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

      Мне общая тенденция с тематикой статей не нравится. То гордость от импортозамещения, то СОРМ..
      Следующим большим постом ждём рассказ "как мы программировали траектории ракет С-300 для наземных целей"? Не, ну а чо? Интересно же. И будем обсуждать, например, нюансы реализации быстрых вычислений на ограниченных ресурсах?
      Есть техническое любопытство, есть просто полезная информация, но подача её, как интересный опыт, за который автору ни разу не стыдно, выходит за рамки элементарной этики.
      Почти нейтральная позиция коментаторов по отношению к предмету статьи и к работавшему над этим автору это ещё один маленький шаг к тотальному конформизму. И это грустно.


      1. Mnemonik
        16.05.2023 14:54

        Антонина Макарова тоже искренне считала что делала свою работу хорошо и не очень понимала откуда весь этот хейт...


  1. Gorthauer87
    16.05.2023 14:54
    +7

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


    1. Keeper9
      16.05.2023 14:54

      Видимо, в нормальное место не взяли.


  1. Tolik-5
    16.05.2023 14:54
    +1

    Это что за бред про "совесть не жмёт"? А вы по телефону хотите разговаривать? Так поймите уже: нет СОРМа - нет телефона! И скажите спасибо тем, кто вас этой связью обеспечивает.

    Продставьте себе, операторам связи нужно периодически деплоить что-то новое (например, MSC или IMS). И если кто-то не прикрутит СОРМ, ничто не будет принято в эксплуатацию.


    1. doctorw
      16.05.2023 14:54

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


    1. vis_inet
      16.05.2023 14:54
      -2

      Поясните поподробнее, что означает "нет СОРМа - нет телефона" ?


      1. Tolik-5
        16.05.2023 14:54
        +1

        Я уже написал: не запустят телефонную станцию (и любую легальную систему связи) без сорма. Ни в России, ни в Америке.


    1. Neuromantix
      16.05.2023 14:54
      +4

      Телефон без СОРМа вполне может существовать. Вы выдаете чьи-то хотелки тоталитаризма за некий незыблемый закон природы, что очевидно чушь.


      1. Tolik-5
        16.05.2023 14:54
        +1

        Может. Только не существует нигде в мире.


  1. Mox
    16.05.2023 14:54
    +2

    Я только не понял - самое интересное то - как вы трафик расшифровываете - и не написано. А то может это все работает только на компах где поставили корневой сертификат отечественнй (который правда много где уже стоит).


    1. onyxmaster
      16.05.2023 14:54
      +2

      Приказ ФСБ N432 от 19.07.2016. Там мало конкретики конечно, но расшифровывают вот так.



  1. Protos
    16.05.2023 14:54

    Во-втором случае приходит сигнал о постановке на контроль абонента

    Абонент это конечное физическое лицо или любое мобильное устройство в сети сотового оператора?

    Я не сильно въехал в терминологию, чтобы не было разночтения.


    1. Lesash13 Автор
      16.05.2023 14:54

      согласно приказу используется идентификатор абонента - номер телефона\IMSI\IMEI, за которым в конечном счете стоит какое-то физическое или юридическое лицо


  1. stackjava
    16.05.2023 14:54
    +2

    Опыт,конечно, необычный, сложный проект.

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

    Про совесть комменты забавны. Обычный человек, такой же как вы.


    1. vis_inet
      16.05.2023 14:54
      +1

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