Главная » Хабрахабр » [Перевод] Конференция DEFCON 18. Практический шпионаж с помощью мобильного телефона. Часть1

[Перевод] Конференция DEFCON 18. Практический шпионаж с помощью мобильного телефона. Часть1

Добро пожаловать на презентацию «Практический шпионаж с помощью сотового телефона». Прежде чем мы начнем, сделаю пару замечаний по поводу конфиденциальности. В-первых, звонок по сотовому телефону может быть записан прямо во время разговора. Сюрприз! Так что если вы не хотите, чтобы ваш звонок был записан, выключите свой телефон. Если вы пользуетесь услугами сотовых операторов Sprint или Verizon, вы не находитесь в сетях GSM, и моя система вообще не сможет говорить с вашими телефонами, так что вам не о чем беспокоиться.

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

В конце презентации я разрежу эту флешку пополам с помощью мультитула Leatherman, потому что собираюсь записать на неё очень конфиденциальную информацию, все настройки вашего телефона, лог телефонных звонков и прочее. Итак, это компьютерная презентация, вы видите сбоку моего ноутбука большую щель, где должен быть HDD, но я использую загрузочную USB-флешку, потому что базовую приёмно-передающую станцию сотовой связи BTS для GSM-сети можно загрузить с переносного носителя без использования жесткого диска. Всё это будет уничтожено в конце презентации, так что можете об этом не беспокоиться.

В настоящее время я подключен к сети Verizon, так что мой «веризондроид» обеспечивает меня подключением к VoIP связи. Позвольте мне подключить обратно шнур питания и вернуться к теме.

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

IMSI, или международный идентификатор мобильного абонента – это уникальный 15-значный номер, используемый для аутентификации абонента, перемещающегося от сети к другой сети. Итак, прежде чем мы поговорим о перехватчике IMSI, я расскажу, что это такое. Он состоит из двух частей, которые находятся на вашей SIM-карте и осуществляют вашу аутентификацию. Вы можете считать его чем-то вроде имени пользователя сети GSM.

Небольшая защита осуществляется так: при подключении к сети IMSI заменяется временным TMSI. Ваш MSI — это имя пользователя и секретный ключ аутентификации в сети, расположенный в read-only части SIM-карты. В процессе презентации я покажу вам, сколько этих TMSI возникает, чтобы дать возможность увидеть, сколько людей связаны с базовой станцией.

Эти два идентификатора тесно связаны. Так что IMSI — это своего рода секрет, а ICCID, длинная строка цифр, напечатанная на SIM-карте, является уникальным идентификатором самой карты, чем-то вроде её серийного номера. В других странах сделали немного лучше, там ICCID никак не связан с другим идентификатором и представляет собой просто случайный набор цифр. Во многих сотовых сетях США и некоторых других странах вы можете определить IMSI по ICCID и наоборот, и это не секрет.

Итак, что собой представляет «ловец» IMSI?
Основная идея заключается в том, что это поддельная вышка GSM, поддельная базовая станция. На самом деле это не имеет особого значения, но я часто упоминаю об этом, потому что, по крайней мере, в США вы можете узнать из него IMSI. Если вблизи находится антенна с самым высоким коэффициентом усиления, направленная прямо на вас, то я буду этой вышкой! По идее, когда телефон ищет сигнал, он выбирает ту вышку, которая предоставляет самый мощный сигнал, и подсоединяется в вышке с лучшим сигналом. Поэтому я надеюсь, что ваши телефоны выберут именно мой сигнал и вы подсоединитесь к моей сети. Я продуцирую очень слабый сигнал, всего 25 милливатт, но я нахожусь близко и использую направленные антенны.

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

Но если бы я захотел, то мог бы проделать с ними множество вещей, например, обновить SIM-карту и вообще получить от этого кучу удовольствия.
Итак, если у меня имеется возможность генерировать действительно мощный сигнал, то отменив шифрование А5, я без труда смогу захватить контроль над вашим телефоном, и вы ничего не сможете сделать и даже не узнаете об этом. Поверьте мне на слово, я не делаю ничего вредоносного, мой тест влияет только на функциональность и не вызовет никаких постоянных изменений в характеристиках ваших телефонов, если они подключатся к моей сети. Я никогда не встречал ссылки на подобные патенты в США, но в любом случае патенты в Европе являются достоянием общественности, так что эта уязвимость хорошо известна. Идея перехватчика IMSI возникла одновременно со стандартом GSM, и технология перехватчика была запатентована Роде и Шварцем в Европе в 1993 году. Смысл патента в том, что если вы обратитесь в компанию R&S и скажете, что хотите купить «ловца» IMSI, они сдерут с вас пару миллионов долларов.

Таким образом, используя это оборудование, вы можете делать то же самое, что делает коммерческое оборудование стоимостью в 1000 раз дороже. Из оборудования, которое находится на столе, самым дорогим является мой ноутбук, затем следует трансивер USRP, примерно за $1500, и следующим по стоимости является устройство мгновенного обмена сообщениями за $20.

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

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

Идея заключается в том, что если вы едете в такую страну, как Индия, где не поддерживается шифрование сотовой связи, так как там это незаконно, но вы хотите пользоваться своим телефоном, он должен поддерживать функцию незашифрованных звонков A5/0. Это осознанный выбор операторов. Если вы начнёте получать предупреждение каждый раз, как подсоединяетесь к новой вышке GSM, то подумаете, что, черт возьми, происходит, начнёте проклинать AT&T или кого-то ещё и так далее.

Один из вопросов, который был поднят прессой, касался проблемы, при которой операторы используют разные частоты. Давайте обратим внимание на спектр используемого диапазона частот. Частоты 850 и 1900 используются преимущественно в США, а 900 и 1800 — в Европе.
Если вы посмотрите на размер полосы этих частот, то увидите, что между европейской частотой 900 и американской 850 существует перекрытие. Поэтому во всём мире было принято решение использовать всего 4 стандарта GSM: 850, 900, 1800 и 1900. Фактически стандарт GSM 900 работает в диапазоне от 880 до 914 Мгц, а американский стандарт US ISM – от 902 до 928 Мгц, таким образом, частоты этих стандартов будут перекрываться в диапазоне от 902 до 912 Мгц.

При этом вашему телефону будет абсолютно всё равно, его не волнуют географические особенности связи, он просто поймает самый сильный сигнал и скажет: «прекрасно, вот моя вышка»! Итак, я запущу свой трансмиттер в абсолютно законном диапазоне частот, сдвинувшись в сторону европейского стандарта связи.

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

Он расшифровывается как Industrial, Scientific, Medical, то есть создан для промышленных, научных и медицинских сетей сотовой связи. Что же представляет собой американский стандарт ISM? Идея стандарта состоит в том, что он предназначен для маломощных устройств, которые очень быстро меняют частоту, и конструкция которых предусматривает минимальное вмешательство пользователя в работу телефона.

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

Можно зайти на сайт kb0mga.net/exams и начать отвечать на экзаменационные вопросы. Что нам нужно в первую очередь – это лицензия на использование любительских частот, и получить её необычайно легко. Вы можете потратить на это несколько часов, и когда, наконец, правильно ответите на все вопросы, то сдадите экзамен. Вы можете проделывать это снова и снова, пока не случайно не наткнётесь на правильный ответ, потому что если вы отвечаете неправильно, вам будут продолжать задавать вопросы. Следующее требование к любительской радиостанции – её мощность не должна превышать 1500 Вт, что для наших целей более чем достаточно. Я бы посоветовал всё-таки изучить материал, если вы надумаете стать радиолюбителем, потому что я определенно многому научился, отвечая на экзаменационные вопросы. У меня есть еще один усилитель, который я используя для RFID, его мощность составляет 600 Вт, и это ужасающее количество энергии, его мощность слишком велика, так что 1500 Вт хватит для каких угодно целей.

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

Так что по закону я, запуская свою базовую станцию, просто обязан отключить шифрование! Вам также не позволено использовать шифрование, то есть ваши сообщения не должны быть зашифрованы никоим образом. Что я и делаю.

FCC публикует нормы, какой коэффициент поглощения радиоизлучения является безопасным для людей. Для радиолюбителей нет никаких ограничений в размере антенны, единственное, что ограничено – это радиочастотное воздействие. Если ваш телефон работает в высшем диапазоне частот GSM 1800/1900, то он изучает около 1 Вт, то есть в 40 раз больше, а в низшем GSM 800/900 – около 2 Вт, то есть в 80 раз больше. Моё оборудование далеко от этих лимитов, поскольку излучает всего 25 милливатт. Так что телефон в вашем кармане излучает намного больше, чем моя «большая и страшная» антенна.

Позывной радиостанции — это прямая несущая волна, азбука Морзе, сигнал, который периодически отправляется в эфир. Единственное важное требование – это то, что станция должна идентифицировать себя каждые 10 минут. Она немного мощнее и заменяет сигнал базовой станции GSM, совершая на неё DoS атаку в течение 1 секунды, чтобы передать позывной. Интегрировать подобное в GSM довольно трудно, поэтому оптимальное решение – это вторая передающая станция, работающая на частоте основной базовой станции. Так что всё, что нам нужно – это легко управляемый 900-мегагерцовый трансмиттер. Я просто интегрировал эту функцию в трансмиттер USRP, это совсем не сложно.

Её принёс мне Тревис Гудспид. Далее у меня имеется эта маленькая розовая коробочка для мгновенного обмена сообщениями Instant messaging device, она называется ID-ME, или «идентифицируй меня». У этого устройства нет никакой безопасно прошивки, его можно «прошить» с помощью утилиты Тревиса под названием GoodFET. Она имеет выходную мощность +10 дБм, широкий охват частотного диапазона и программируется на языке С. К сожалению, она не совместима с интерфейсом JTAG и радиочастотными разъемами, но их достаточно легко добавить.
Итак, мы можем написать прошивку для этого устройства, мы знаем соответствующие частоты, поэтому можем привести частоту и мощность в соответствие с USRP, объединить и усилить сигналы основной станции и дополнительного трансмиттера.

Итак, у меня есть IMEI для радиолюбителя, это то, что нужно для GSM, и теперь мне нужно универсальное программное радио USRP. Теперь рассмотрим установку базовой приемо-передающей станции сотовой связи BTS. Вся периферия для него доступна онлайн, там она стоит примерно 1500 долларов за две дочерние платы RFX900.

Оно специально разработано для совместного использования с USRP. Кроме того, необходимо устройство под названием ClockTamer — code.google.com/p/clock-tamer, которое позволяет создать очень точный тактовый генератор для синхронизации с GPS.

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

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

Это устройство обладает просто сумасшедшей точностью и оно гибко программируется. «Прямо из коробки» ClockTamer чрезвычайно точно настраивает частоту с шагом ±100 Гц в диапазоне до 1,9ГГц, по сравнению с этой точностью GPS модуль – просто отстой.

OpenBTS обеспечивает всё, что связано с GSM, Asterix принимает звонки от OpenBTS и отправляет их через VoIP. Программное обеспечение моей станции сотовой связи обеспечивает ноутбук с Debian, OpenBTS и Asterix. Я использовал базовую версию BTS, она передаёт голос и SMS, но не передаёт данные.

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

Я подключаю к ноутбуку USRP, всё остальное уже включено, так что давайте запустим базовую станцию. Итак, давайте приступим к первому демо и запустим BTS в тестовом режиме. Единственное, что я хочу показать, это запуск команды TMSI – она показывает мне список всех временных MSI, которые были выделены базовой станцией, другими словами, сколько людей в настоящее время связаны с ней. Не знаю, насколько вы сможете разглядеть изображение на экране моего ноутбука, сейчас я подвину его поближе к камере. Внизу экрана вы можете увидеть, что в таблице 0, то есть в данный момент к моей сети никто не подключился.

Cell ID – это идентификатор соты, который показывает, что мобильный код страны, который я использую в данный момент, равен 001, 00 это код страны по спецификации GSM, 1 означает тест. Сейчас я наберу ещё несколько команд. Ниже показано название сотовой сети, которую я представляю, это DEFCON18. Затем я использую код мобильной сети MNC, он равен 01, единица здесь тоже означает тест, так что это тестовая сеть в тестовой стране, это не Европа и не Америка. Некоторые телефоны его отобразят, некоторые нет.

Просто доставайте их из карманов раз в несколько минут и пробуйте позвонить. Хочу обратить ваше внимание, что в настоящее время это не «враждебная» конфигурация, это тестовый режим, это не реклама какой-либо известной сети и он не работает на частоте сотовой связи США, так что пока я не запущу эту штуку, никто не сможет подсоединиться к моей сети.
Если вы захотите просканировать доступные сети сотовой связи, то можете это сделать, но я рекомендую вам просто оставить свои телефоны в покое. Буквально через минуту я покажу вам, насколько легко это работает.

Мобильные телефоны идентифицируют сеть по двум значениям, которые я упоминал – это мобильный код страны MCC, состоящий из двух цифр, и MNC – код мобильной сети оператора. Итак, как я подменяю конкретную сеть, чтобы использовать перехватчик IMSI не просто в случайной сети? В Википедии приведён список этих кодов для каждой страны мира. Для США MCC равен 310. Это действительно очень легко. Код MNC обычно состоит из 2-3 цифр, его также можно найти в Википедии, так что подменить эти значения не так уж сложно, через секунду я покажу вам, как это сделать с помощью OpenBTS. Итак, я установил нужный MNC и MCC, изменил имя сети, и оно отобразиться на экране ваших телефонов во время подключения к моей сети, потому что я хочу, чтобы вы его увидели.

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

Прежде чем я это сделаю, я ещё раз запущу TMSIS. Итак, приступим к демо №2, где я покажу, как подменить коды MNC/ MCC и название сети. У нас в сети уже 15 человек, в данный момент к моей вышке подключены 15 «трубок», и это без всякого спуфинга сотовой связи. Ничего себе! Она работает в тестовом режиме, не излучает частоты, но вы всё равно смогли к ней подсоединиться! То есть моей сетью перехвачены звонки 15 человек в этом зале, при этом моя сеть не представляет собой ни одну из известных в мире сеть сотовой связи.

(аплодисменты зала)

Если вы не подняли руку, то вероятно, не смогли подсоединиться к моей сети. Проведу быстрый опрос: поднимите руки, если у вас есть iPhone. Поэтому я стараюсь держать эти чёртовы «Айфоны» подальше от себя. Опыт показывает, что легче всего к моей сети подсоединяются «Айфоны».

Сейчас я объясню, почему все эти люди присоединились к сети. Ничего себе, теперь в нашей таблице TMSIS уже 30 абонентов! Я упомянул команду Сell ID, которая показывает код зоны расположения MCC/MNC и идентификатор соты. Итак, давайте посмотрим, как подделать MNC/ MCC. Поднимите руки, кто хочет, чтобы я подделал оператора сети T-mobile. Я очень быстро могу подделать идентификатор соты. Ага, я просто должен был это увидеть! А теперь поднимите руки, кто желает, чтобы я подделал AT&T.

Мы находимся в Штатах, так что наш MCC 310, затем я ввожу код оператора AT&T. Итак, я просто набираю этот ID и код страны. Вот и все, теперь я сфальсифицировал сеть AT&T. У него несколько кодов, но чаще всего используется 410, и в конце набираю код области местоположения вышки и идентификатор соты 6610. Ниже неё расположена команда, задающая конфигурацию короткого имени GSM, так что для ваших мобильных телефонов моя сеть неотличима от подлинной сети AT&T. Я мог бы быть с этим более осторожным и сделать такую конфигурацию — вы видите на экране ноутбука команду Cell ID 31041066610, которая устанавливает мобильный код страны и код моей мобильной сети.

Честно говоря, с момента, как только я запустил перехватчик IMSI, в течение следующих 20 минут или получаса каждый телефон, принадлежащий оператору AT&T, будет прописываться в моей сети. Поступил вопрос, сколько времени длится передача. На практике требуется около часа, чтобы перехватчик обнаружил и подсоединил к фальшивой сети все телефоны, находящиеся в зоне передачи сигнала. Единственный вопрос, который при этом возникает – как можно ускорить процесс захвата телефонов фальшивой сетью.

26:15 мин

Практический шпионаж с помощью мобильного телефона. Конференция DEFCON 18. Часть 2

Вам нравятся наши статьи? Спасибо, что остаётесь с нами. Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? Хотите видеть больше интересных материалов? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps до января бесплатно при оплате на срок от полугода, заказать можно тут.

класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки? Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США! Читайте о том Как построить инфраструктуру корп.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Из песочницы] Haiku β1 — сделаем /b/ OS великой снова

Совсем недавно (почти 4 месяца назад) вышла новая Haiku (далее — просто BeOS, ибо проект гораздо удачнее ReactOS — настолько, что разница между Haiku и BeOS уже пренебрежимо мала). Да и недавно прочитанный киберпанк-роман Александра Чубарьяна давал понять, что BeOS ...

Минкомсвязи одобрило законопроект об изоляции рунета

Министерство цифрового развития, связи и массовых коммуникаций РФ поддержало законопроект №608767-7 об автономной работе рунета, внесённый в Госдуму 14 декабря 2018 года. Об этом сегодня сообщил замглавы Минкомсвязи Олег Иванов в ходе расширенного заседания комитета Госдумы по информационной политике, информационным технологиям ...