MiTM for GPRS

    У каждого есть свои секреты… у кого то это секретная переписка с близким человеком, у кого то это многомиллионные банковские операции, у кого то это Privat’ые фотки на мобильном :)

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


    Intro


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

    Мы не будем говорить, что оператор может на время тестов отключить шифрование интерфейса, либо оператор может использовать более слабый протокол шифрования [GEA — GPRS Encryption Algorithm], которые позволят использовать изъяны шифрования радиоинтерфейса и перехватить и анализировать передачу данных. В этой статье мы поговорим об одной на первый взгляд маловероятной, но в полне реалистичной угрозе — инсайдерскому вторжению.

    Итак, что мы имеем…

    Scheme


    Упрощенная схема подключения для пакетной архитектуры GPRS/EDGE представлена на схеме ниже:

    image

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

    Допустим также. что наш инсайдер имеет доступ к Gn интерфейсу. Gn интерфейс представляет собой прямой линк от SGSN'а на GGSN, пропускная способность выбирается исходя из существующей нагрузки, обычно это два (для обеспечения дублирования) 1000-fullduplex Ethernet линка.

    Для большей конкретики зададим дополнительные начальные условия:
    1. Оператор использует шифрование радиоинтерфейса от абонента до SGSN’а – алгоритмы GEA-1,2,3.
      В принципе в данной ситуации, абсолютно не важно будет ли применен алгоритм шифрования до SGSN’а, т.к. наш инсайдер будет пытаться «выловить» информацию на Gn интерфейсе, который в большинстве случаев не шифруется.

    2. Абонент осуществляет передачу данных без шифрования потока, т.е. подключается НЕ через VPN [L2TP, PPTP, IPSec].
      Вот этот момент довольно важен нашему инсайдеру, т.к. если абонент будет шифровать поток данных программными средствами, то на Gn интерфейсе инсайдер «увидит» зашифрованный поток. Эта мера, конечно не дает 100% гарантии безопасности передачи данных, но методы, которыми воспользуется наш инсайдер будут намного сложнее и в конечном счете, будут основываться на ценности возможной информации. Рассмотрение данных методов выходит за рамки этой статьи.

    3. Инсайдер имеет прямой доступ к SGSN’у, либо GGSN’у.
      Одним из условий, необходимых для нашего инсайдера, является доступ к одному из сетевых элементов внутри PS Core Network (пакетной сети) – SGSN или GGSN. Что это предоставит инсайдеру? Самое просто, что приходит на ум: установить дублирование потока данных по Gn интерфейсу [port SPANing] на Ethernet интерфейс, к которому можно подключиться с помощью ноутбука, т.к. за «рубежом» SGSN'а находиться уже «чистая» IP Backbone оператора. Более изощренным методом, является настройка фильтров на самом сетевом элементе по определенному абоненту. Идентификация абонента может быть осуществлена по IMSI, TMSI, P-TMSI, IMEI, MSISDN, либо по IP/X.25 адресам, назначаемых абоненту в мобильной сети оператора.


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

    Сбор конфиденциальной информации из online потока


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

    image

    Допустим, что наш инсайдер воспользуется консольной утилитой от Wireshak’a – tshark.

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

    tshark.exe -i 6 -B 16 -n -R "(http.host == "login.vk.com") && (http.request.method == "POST")" -V -l -T text -w d:\dump -a filesize:16000 -b filesize:16000 -b files:2 -S >> d:\vpass_db.txt

    Описывать параметры утилиты tshark.exe думаю, нет смысла, кому интересно можно ознакомиться здесь. Немного «почистим» файл:

    type vps.txt | findstr /I /L "email %40 pass" | findstr /V "Referer" | sort >> passdb.txt

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

    Outro


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

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

    Небольшой помощник:

    BSC — Base Station Controller
    BTS — Base Transceiver Station
    EDGE — Enhanced Data rates for GSM Evolution
    GGSN — Gateway GPRS Support Node
    GPRS — General Packet Radio Service
    IMEI — International Mobile Equipment Identity
    IMSI — International Mobile Subscriber Identity
    ISDN — Integrated Services Digital Network
    L2TP — Layer 2 Tunneling Protocol
    MS — Mobile Station
    MSISDN — Mobile Station ISDN Number
    PPTP — Point-to-Point Tunneling Protocol
    PS — Packet Switched
    P-TMSI — Packet TMSI
    SGSN — Serving GPRS Support Node
    TMSI — Temporary Mobile Subscriber Identity
    VPN — Virtual private network

    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 14

      +2
      Познавательно.
      Но покажите мне хотя бы один сервис, связанный с баблосами, которые не использует ssl?
        0
        Дело не в том какие сервисы используют или не используют ssl, а том что «вклинившись» между сервером и клиентом, можно вытащить довольно много полезной информации…
          +2
          ну дык, это применимо вообще к любому оператору связи, сотовому, кабельному, спутниковому и т.п. В общем, всю суть статьи можно уложить в одно короткое предложение: «бойся, %username%, твой не https-трафик может подсмотреть техник оператора связи», а уж какие там каналы — не имеет ровно никакого значения.
            0
            Многие принципы перехвата трафика можно адаптировать к различным системам, как кабельным так и беспроводным… а суть статьи была не в запугивании, а в ознакомлении читателей с еще одним способом реализации MiTM.
              +1
              Man-in-the-middle — вообще криптографический термин и не применим к plain-протоколам вроде http. И в статье — не MitM, а банальный сниффинг, лицом, превышающим служебные полномочия.
                0
                То, что MiTM — это криптографический термин я с Вами согласен, но уровень протоколов, на котором он реализуется в принципе не важен, т.к. сам метод определяет методику и не оговаривает уровень протоколов, а сниффинг как раз является сопутствующим «инструментом» в реализации MiTM.

                И, кстати, порой только превышая полномочия можно узнать что-то новое и рассказать об этом окружающим.
          +3
          в целом не надо даже зеркалировать портов. Я могу прямо сейчас снять дамп по трафику одного ОПСОСа простым tcpdump, т.к. он (трафик) идет через линуксовую машину. Более того, если есть доступ на Gn\Gi, и это какой-то модерновый девайс, он (GGSN) будет работать на *nix системе и tcpdump там тоже будет.

          З.Ы. по работе периодически приходится анализировать дампы абонентского трафика, ну и конечно бывает внутри и pop3, и аська и т.д.

          Так что, юзайте https, включайте md5 + slogin.oscar.aol.com:443 для аськи, SSL\TLS для жабера и ни в коем случае не пользуйтесь простыми POP3, SMTP :)
            0
            Да ты прав… обычно GGSN'ы представляют собой *nix машины, на которых прекрасно работает tcpdump.
              +1
              Ведь ты же POP3, аськи и еже с ними при анализе в глубь их не смотришь, да? (:
              Люди могут спать спокойно?)
                0
                Что Вы! Конечно же никто таким не занимается… :)
                  +1
                  Нет, некогда мне внутрь смотреть, даже мысли не было :)
                    0
                    Да дело, не в том, что может «подсмотреть» технический специалист в потоке на интерфейсах пакетной сети, а как правильно написал товарищ AddRemover, что по ходу рабочих ситуаций приходиться анализировать абонентский трафик, в котором мельком замечаешь как многие пользователи пренебрегают (либо просто не знают) мерами защиты своей информации при передаче ее каналами пакетной передачи в мобильных сетях.
                0
                По моему уже было на Хабре.
                  0
                  Точно не было, статью писал сам…

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

                Самое читаемое