• Массивы bash
    0
    возможно, вы не знакомы с такой полезной особенностью bash как массивы
    Извините, но что у Вас с русским языком? Вот не удержался, глаза режет.

    Особенность — характерное, отличительное свойство кого-/чего-нибудь.
    С каких пор массивы — это «отличительная» черта Bash? Массивы есть во многих языках, и Bash тут совсем не исключение. Их наличие нисколько не делает Bash особенным.

    … you may not be familiar with bash's array feature.
    В данном контексте «bash's feature» — это, скорее, «часть языка Bash» [1].

    [1] dictionary.cambridge.org/ru/словарь/английский/feature
  • Главная причина, почему не Linux
    0
    Может, не стоит брать за основу проблемы конкретного дистрибутива и вешать их на все сообщество вокруг GNU/Linux в целом? На дистрибутиве, которым пользуюсь я (не хочу пропогандировать), переход на 3.8 прошел довольно гладко.
  • Краткий гайд по использованию GDB
  • Краткий гайд по использованию GDB
    0
    В статье есть неточности:

    Для того чтобы нам пройтись по такому файлу нам нужно скомпилировать его с помощью G++ с использованием флага -g (это действительно важно, без этого флага, программа не будет корректно работать в GDB).

    Программа будет работать корректно, просто в самом файле будет гораздо меньше отладочной информации. Я бы еще упомяннул про оптимизацию (-O0 или -Od) и флаг -fno-omit-frame-pointer.

    > Python-файл вы можете продебажить с помощью этой команды:

    Этим вы запускаете отладку интерпретатора Python, а не самого скрипта. Не пугайте путайте читателей. Для отладки скриптов есть pdb: docs.python.org/3/library/pdb.html.
  • О мобильных сетях и подводных камнях: опыт разработки и тестирования отечественного ядра Private LTE
    0
    Как и продукты для общедоступных операторов, ядро частной 4G мы разрабатывали на C++. С нашей точки зрения, это оптимальный выбор.

    Could you please tell more, why C++? Why not Erlang?
  • О мобильных сетях и подводных камнях: опыт разработки и тестирования отечественного ядра Private LTE
  • О мобильных сетях и подводных камнях: опыт разработки и тестирования отечественного ядра Private LTE
    0
  • Решение проблемы с переключением по alt+shift в Linux, в приложениях на Electron
    0
    У данного подхода есть интересная особенность. Я привык после переключения языка (Alt + Shift) держать Shift зажатым, если мне, например, нужно начать предложение с заглавной буквы. Так вот, после смены языка Shift хоть и остается заглявным, но не влияет на регистр символов. Приходится отпускать и зажимать снова. Кто-нибудь сталкивался с подобным?
  • Самый беззащитный — это Сапсан
    +3
    Не знаю, как в 3G/4G/5G, но в GSM спецификации требуют обеспечивать соединение с абонентом, движущимся до 500 км/ч.
  • WIBAttack. Так ли страшна новая уязвимость SIM-карт
    +1
    Ни S@T, ни WIB не являются субъектами спецификаций 3GPP и ETSI. Это сторонние технологии, первую из которых в свое время активно продвигал SIM Alliance (у них на сайте доступны все спецификации). Из известных игроков на рынке, Gemalto предлагает валидацию и интеграцию S@T Browser: www.gemalto.com/companyinfo/about/merger/commitments/sim-browsing. И да, не только по FTP — HTTP прекрасно работает.

    А вот что действительно сурово, так это спецификации ETSI на DVD дисках :D
    webstore.etsi.org/ecommerce/ListArticle.asp

    Полный набор спецификаций GSM (на целых 4 дисках) можно заказать за 6 000,00 €.
  • WIBAttack. Так ли страшна новая уязвимость SIM-карт
    +2
    Так ли страшна новая уязвимость SIM-карт

    Реальную оценку количества уязвимых устройств на данный момент дать сложно.
    Судя по комментариям, [...] у наших операторов может быть всё вполне хорошо [...]

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

    • Как много операторов сегодня продолжают пользоваться этой устаревшей технологией (S@T, WIB)? На сколько я знаю, в Африке она до сих пор активно используется, но как обстоят дела в других уголках света, включая нашу необъятную страну?
    • Как защититься? Можно ли удалить или заблокировать эти апплеты? Очевидно, можно. Скажу больше, большинство адекватных операторов в России блокирует отправку нестандартных SMS (например, OTA) между абонентами. Более того, неугодные апплеты можно удалить получив OTA от оператора (благо, есть Card Manager).
    • Меня уже взломали? Могу ли я проверить наличие уязвимых апплетов на SIM-карте? Да! В публичном доступе уже давно доступен фаззер для SIM-карт — SIMTester от SRLabs, а также бесплатное приложение SnoopSnitch, которое мониторит активность Baseband-процессора в реальном времени (через отладочный интерфейс Qualcomm).


    На самом деле, лаборатория упоминаемого Вами Karsten Nohl опубликовала небольшую статью, где все разложено по полочкам и есть ответы почти на все эти вопросы: New SIM attacks de-mystified, protection tools now available. Советую почитать.

    Небольная выдержка:

    На основании результатов анализов 800 SIM-карт, можно сказать следующее:
    S@T Browser установлен на 9.4% из всех протестированных,
    из которых 5.6% уязвимы к SimJacker (MSL=0, не требуют подписи OTA).
    WIB установлен на 10.7% из всех протестированных,
    из которых 3.5% уязвимы к аналогичным атакам (MSL=0).
    Суммарно 9.1% из 800 протестированных SIM-карт уязвимы.

    На основании анализа собранных данных на сайте gsmmap.org:
    как минимум 8 абонентов получили OTA SMS, адресованных S@T Browser,
    первый случай был зафиксирован еще в 2016 году,
    большинство абонентов были из Южной и Латинской Америки.


    Кроме того, на сайте SIM Alliance еще в августе (до официального объявления уязвимости) были опубликованы Security Guidelines for S@T Push для операторов.
  • Как собрать GSM телефон на базе SDR
    0
  • Знакомство с OsmocomBB: 0x02 Hardware
    0
    Если еще актуально, или просто интересно, то это протокол RVTMUX.
    bitbucket.org/falconian/freecalypso-tools/src/default/doc/RVTMUX
  • Не долго музыка играла… или как ОС Эльбрус так и не стала свободной
    0
    Мне кажется, данный дистрибутив — это просто Proof-of-Concept. Это вполне логично, ведь государству заказчику надо показать результат, а не какие-то там куски кода и патчи. Если у разработчиков хватит терпения (и финансирования), чтобы причесать код и довести все до апстрима, то будет Вам и Ubuntu на Эльбрусе. Правда… с ее неспешными циклами обновлений, я бы задумался о другом дистрибутиве.
  • Приватные методы без нижнего подчеркивания и интерфейсы в Python
    0
  • Что происходит, когда вы отправляете SMS
    +8
    Теперь SMS должно каким-то образом начать свой трудный путь от SIM-карты до ближайшей базовой станции. Для этого телефон жены должен преобразовать строку из 176 в 279 байт для сигнального протокола SS7, преобразовать эти цифровые байты в аналоговый радиосигнал, а затем отправить сигналы в эфир с частотой где-то между 800 и 2000 МГц. Это означает, что между пиками волн расстояние от 15 до 37 см.

    Между модуляцией сигнала и сетью SS7 огромная пропасть, заполненная целой кучей протоколов. Для наглядности:

    image

    Единственная аномалия, где телефон действительно имеет дело с протоколами SS7 (а именно TCAP и MAP) — это SS/USSD, т.е. всем знакомые *100# и т.д. В данном случае, телефон хоть и кодирует (либо декодирует) уже готовое сообщение протокола MAP, но, как ни крути, никак не взаимодействует с сетью SS7.
  • Что происходит, когда вы отправляете SMS
    +6
    Если SMSC не может найти мой телефон, то сообщение от жены будет просто прыгать в системе, пока мой телефон не подключится — и тогда SMS-центр немедленно отправит текст. Мне нравится представлять, как SMSC постоянно проверяет каждый телефон в сети, чтобы проверить, это мой телефон или нет: как щенок, ожидающий хозяина у двери принюхивается к каждому прохожему: это запах моего человека? Нет. Может, это запах моего человека? Нет. Это запах моего человека? ДАДАПРЫГАТЬУРА!!!

    WTF?!? «Прыгать по системе»?!? Ну жу нет, никто никуда не прыгает, извините.

    Начнем с того, что SMSC не проверяет, есть ли телефон в сети. Более того, зачем ему проверять «каждый» телефон, если он знает номер? Это не входит в его «обязанности». Первым делом, SMSC, после получения сообщения, находит HLR абонента, т.е. базу данных, в которой хранятся данные того абонента, которому отправляется сообщение.

    SMSC через SS7 посылает специальный запрос, для протокола MAP это sendRoutingInfoForSM (в LTE используется DIAMETER, с ним я не знаком). Если абонент в сети, то HLR пришлет IMSI абонента, и номер MSC, который его в данный момент обслуживает. Если абонент в сети не зарегистрирован, никто не будет «проверять запахи» и «прыгать по системе». Вместо этого, как только абонент появится в сети, HLR уведомит SMSC об этом, и процедура повторится.

    Получив номер MSC, SMSC через SS7 пересылает ему специальное сообщение (в случае MAP, используется MT-forwardSM), в котором содержится номер отправителя, номер данного SMSC, и IMSI (либо LMSI) абонента, которому нужно доставить сообщение. MSC в свою очередь «попросит» BSC установить соединение с абонентом, и, в случае успеха, передаст ему это SMS-сообщение. В противном случае, уже MSC может уведомить SMSC о том, что абонент доступен (могу ошибаться в деталях).
  • Что происходит, когда вы отправляете SMS
    +5
    В байте DCS есть ещё небольшой флаг, который говорит телефону, нужно ли самоуничтожать сообщение после отправки, как в фильме «Миссия невыполнима», так что это очень круто.

    Не берусь опровергать, но было бы здорово увидеть, где в спецификациях описан данный флаг? И почему он является частью именно Data Coding Scheme?
  • Что происходит, когда вы отправляете SMS
    +4
    Байт после PDU-type является ссылкой на сообщение (MR). Это число от 1 до 255, по сути, используется как краткосрочный ID, чтобы телефон и оператор распознавали сообщение. В сообщении от жены установлен номер 0, потому что в её телефоне собственная система идентификации сообщений, независимая от этого конкретного файла.

    Загляните, пожалуйста, в спецификации GSM, а именно 3GPP TS 04.11, раздел 8.2.3 «Message reference»:
    The message reference field contains a sequence number in the range 0 through 255, and is used to link an RP-ACK message or RP-ERROR message to the associated (preceding) RP-DATA or RP-SMMA message transfer attempt.

    и сравните с «используется как краткосрочный ID, чтобы телефон и оператор распознавали сообщение». На самом деле, SM-RP-MR используется для того, чтобы уведомить абонента либо об успешной, либо о неудачной отправке сообщения. Поскольку в момент времени может передаваться сразу несколько SMS-сообщений, этот идентификатор позволяет связать ACK или NACK с определенным сообщением. Так же, SM-RP-MR используется при отправке multi-part SMS, чтобы идентифицировать каждый кусочек на уровне RL.
  • Что происходит, когда вы отправляете SMS
    +6
    Инженер скажет, что когда телефон воспринимает изменение напряжения по координатам на экране, которые совпадают с координатами размещения графического элемента с кнопкой «Отправить», то он отправляет кодированное сообщение на SIM-карту, а в процессе передачи добавляет различные контекстные данные. Когда сообщение достигает SIM-карты моей жены, то там уже не 140, а 176 байт (текст + контекст).

    И снова бред. SIM-карте действительно можно отправить SMS-сообщение, но исключительно в служебных целях, например, когда оператору нужно обновить список операторов, к которым можно подключаться в роуминге. В обычных же случаях SMS передается радиомодулю телефона, который, в свою очередь, устанавливает соединение с сетью и передает сообщение.
  • Что происходит, когда вы отправляете SMS
    +5
    Сигнальная система SS7 представляет собой набор протоколов, используемых сотовыми телефонами, чтобы оставаться в постоянном контакте с базовой станцией; им нужно постоянное соединение, чтобы получать вызов и передавать своё местоположение, проверять голосовую почту и т. д.

    Бред полнейший. Сами телефоны никак не взаимодействуют с SS7.
  • Cпособ угона аккаунтов «оптом» через получение доступа к сервисам оператора сотовой связи
    0
    Я думаю, проблема в другом. Пока есть те, кого можно легко обмануть, будут и те, кто готов этим воспользоваться. Ужесточение наказания за сие деяние — не панацея, вряд ли это как-либо повлияет на текущую ситуацию. Социальная инженерия ведь не вчера появилась, людям пора уже заботиться о какой-то базовой самообразованности в этом плане.
  • Cпособ угона аккаунтов «оптом» через получение доступа к сервисам оператора сотовой связи
    +2
    Новый способ угона аккаунтов

    Извините, но что нового в этом способе? По-моему, абсолютно ничего.
    Обычная социальная инженерия.

    С таким же успехом Вас могут попросить прислать копию паспорта, или скан отпечатков пальцев в любой соц. сети. В случае успеха, открывается куча способов угона ваших SIM-карт, денежных средств, и т.д. Если об этом еще не писали на Хабре, это ведь не значит, что способ новый?
  • Как собрать GSM телефон на базе SDR
    0
    Ребята из Sysmocom (в основном Kevin Redon) сейчас как-раз активно работают над SIMtrace 2:
    osmocom.org/projects/simtrace2/wiki
    git.osmocom.org/simtrace2
  • HOWTO setup ubuntu 18.04 sendmail+DKIM+SPF+DMARC или о том как мне удалось пробиться в бастион Gmail
    +1
    В чем заключается полезная нагрузка данной статьи?

    «SPF и DKIM — это такие технологии защиты, но рассказывать о них я не буду».

    Существует довольно много гайдов, как правильно настроить отправку писем, причем с довольно подробным описанием этих «технологий защиты». Зачем дублировать?
  • Сборка и установка GNURadio из GIT под Ubuntu и Debian
    0
    Часть 3. Инсталлируем библиотеку LibRtlSdr

    Зачем устанавливать librtlsdr отдельно, если она идет в составе основного репозитория git.osmocom.org/rtl-sdr/tree/src/librtlsdr.c?
  • Практические примеры атак внутри GSM сети
    0
    Насчет «бинарных» СМС, их можно отправлять через интерфейс SMPP.
  • Добавляем GPRS в домашнюю GSM сеть
    0
    На данной схеме пропущен еще один компонент PCU — Packet Control Unit.

    Вот эта схема актуальнее.

    image
  • Запускаем GSM-сеть у себя дома
    0
    Ответ в самом низу первой части моих статей.
  • Запускаем GSM-сеть у себя дома
    0
    Все верно.
  • Запускаем GSM-сеть у себя дома
    0
    Так что один телефон у нас может работать в режиме CCCH+SDCCH4, другой в режиме TCH/H.
    Не совсем так. CCCH+SDCCH4 является Combined Configuration, при который до 4-ех абонентов
    могут использовать данный таймслот одновременно (в основном, для СМС). На второй доступный
    таймслот можно назначить SDCCH8 (Non-combined Configuration) и в результате получить еще
    восемь одновременных соединений. Голос по таким каналам не ходит.

    Когда на второй таймслот назначен TCH/H, два абонента могут одновременно использовать данный
    таймслот. Дело в том, что кроме таймслотов существуют сабслоты, и у TCH/H их два. Абоненту дается
    не целый таймслот, а один сабслот. Сам сабслот определяется номером (мульти)фрейма, на котором
    один абонент может принимать / передавать данные. Иными словами, на одном фрейме первый
    абонент использует данный таймслот, на другом фрейме второй абонент использует тот же таймслот.

    Что касается использования 3,4 и более телефонов, то в открытом доступе не встречал такого рода веток OsmocomBB. Может быть такое и есть, сам не пробовал модифицировать. Может быть товарищ axilirator смог что-то такое собрать. Я кажется встречал его обсуждение с Sylvain Munaut по этой теме на мейл-листе.
    Я пробовал менять slotmask, которая передается прошивке и определяет, когда CalypsoBTS может принимать данные, а когда передавать. Однако, все мои попытки приводили к ошибкам DSP.

    В качестве альтернативного решения, можно использовать еще одну пару телефонов как отдельную
    базовую станцию на другой частоте (ARFCN). Там можно будет назначить еще два TCH/H канала, в
    результате чего еще два абонента смогут одновременно разговаривать.

    А вообще, для запуска нормальной стабильной сети, лучше использовать что-нибудь более серьезное,
    например, USRP или UmTRX.
  • Запускаем GSM-сеть у себя дома
    0
    В этих условиях CalypsoBTS не заработает — Вам неоткуда будет взять стабильный Clock Source.
    Единственный выход в данной ситуации — использовать свой аппаратный генератор, либо изменить
    исходный код так, чтобы задействовать дополнительный телефон снаружи исключительно для приема
    GSM SCH, GPS или Iridium.
  • Запускаем GSM-сеть у себя дома
    0
    Читаем основы радиоэлектроники. В данном случае используется два полосовых
    фильтра, которые ослабляют сигналы вне рабочих диапазонов. Если подавать
    сигнал с антенны на усилитель напрямую, то на выходе будет много шума.
  • Запускаем GSM-сеть у себя дома
    +2
    > Настраиваем трансиверы на следование таймеру коммерческой BTS

    Постараюсь внести немного ясности. GSM использует две технологии
    разделения множественного доступа: FDMA и TDMA. Первая позволяет
    изолировать каналы базовых станций друг от друга по частоте,
    вторая — (частично) избежать интерференции между абонентами,
    разделяя поток данных на временные интервалы. В TDMA-системах
    требуется наличие опорного генератора, который имеет достаточную
    точность (в идеале, равную длительность фреймов).

    Сам по себе телефон не имеет столь точного оборудования, поэтому
    при его штатной работе синхронизация опорного генератора и
    коррекция счетчика фреймов выполняется по SCH-берстам BTS.

    В данном же случае, когда телефон сам используется в качестве
    BTS, возникает необходимость использования точного опорного
    генератора, чтобы абоненты не «плавали» по времени. Можно
    использовать специальные дорогие устройства, можно использовать
    сигналы GPS или Iridium, ну или, проще всего, синхронизировать
    CalypsoBTS с другой базовой станцией. А получаемыми отсчетами
    текущего номера фрейма делиться с планировщиком OsmoBTS.
  • Запускаем GSM-сеть у себя дома
    0
    Некоторые пакеты собирать не обязательно, например: fftw, libdbi,
    ortp можно без проблем найти в репозиториях Ubuntu / Arch Linux.
  • Запускаем GSM-сеть у себя дома
    0
    > Как и сказано в начале, я рекомендую использовать Ubuntu 14.04,
    > именно 32-битную ее версию.

    Что не так с 64-битной версией? Весь стек Osmocom прекрасно
    собирается как на Linux-based дистрибутивах, так и на BSD-based
    любой разрядности. Если что-то не получается на конкретном дистрибутиве,
    значит, скорее всего, Вы не умеете им пользоваться.
  • Запускаем GSM-сеть у себя дома
    0
    > В результате мы запустим экспериментальную 2G сотовую сеть в пределах
    > комнаты с поддержкой СМС и голосовых вызовов, без GPRS. Ее можно будет
    > использовать для изучения работы и взаимодействия устройств и компонентов
    > GSM сети, не вмешиваясь в коммерческие сотовые сети.

    Как ни крути, «не вмешиваться в коммерческие сотовые сети» получается
    не всегда. Частотные диапазоны сотовых сетей требуют наличия лицензии
    и, чаще всего, уже поделены между существующими операторами. Однако,
    найти свободный (например, Guard) диапазон можно.
  • Запускаем GSM-сеть у себя дома
    +1
    > Инструкции на официальном сайте устарели и мне пришлось потратить
    > довольно много времени на их адаптацию. К счастью все проблемы были
    > решены, и, если вы будете строго следовать советам ниже, то и у Вас
    > все получится.

    Большая просьба потратить еще немного времени и указать ссылку
    на эту самую инструкцию. А еще лучше — обновить Wiki проекта,
    поскольку со временем и Ваша инструкция может стать неактуальной.
  • Запускаем GSM-сеть у себя дома
    +1
    3. У такой сети отсутствует шифрование, т.е. используется A5/0.

    Шифрование реализуется на программном уровне, в планировщике OsmoBTS.
    Его можно без проблем активировать и в такой сети, на базе CalypsoBTS.
  • Software Defined Radio руками шестнадцатилетнего подростка
    +1
    Несколько поправок:

    Диапазон частот hackRF One: 1MHz — 6MHz
    1MHz — 6GHz.

    Диапазон частот RTL-SDR: 22MHz — 3.8GHz
    Чаще всего 24 – 1766 MHz для R820T2.

    появились инструкции о том, как перепрашивать такие тюнеры
    Никакой (пере)прошивки не трубуется.