Пользователь
57,4
рейтинг
2 февраля 2014 в 17:49

Дизайн → Оона Ряйсянен определила GPS-координаты вертолёта по звуку с Youtube

Финский инженер и хакер Оона Ряйсянен (Oona Räisänen), которая увлекается обработкой звука, случайно обнаружила на Youtube видеозапись, сделанную с вертолёта во время преследования автомобиля. Оону не увлекли приключения полиции, но она очень заинтересовалась необычным звуком, который услышала из колонок, особенно с левого канала.



Оона сначала подумала, что это помехи от двигателя, но когда изолировала левый канал и усилила звук (selostus2.mp3), то сразу стало ясно, что это некий таинственный цифровой сигнал!

Любопытство заставило девушку взяться за решение головоломки. Судя по спектрограмме левого канала, аппарат использовал бинарную частотную модуляцию (BFSK), когда значениям 0 и 1 присваиваются звуки определённой частоты. В данном случае частота изменялась между 1200 и 2200 Гц. Оона осуществила демодуляцию сигнала по фильтру нижних и верхних частот в open-source программе для аудиобработки SoX (Sound eXchange). На выходе получился цифровой поток на 1200 бод.



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



Оона начала гадать, что бы это могло быть? Может быть, данные телеметрии? Или информация о направлении съёмки с видеокамеры? Какие-то метки времени по кадрам?

Проведя анализ трех групп данных, Ряйсянен пришла к мнению, что это именно телеметрия. Если отбросить первые четыре бита в каждом байте, то оставшиеся байты можно представить как пару трехзначных чисел в кодировке base-10. Если нанести их на оси координат x и y, то получится график, очень похожий на реальную схему передвижения вертолёта. На карте желтым показаны его примерные координаты, судя по картинке с видео, а слева вверху — график со значениями из таинственного потока данных (отображены первые несколько минут видеосъемки).



Если присмотреться ещё внимательнее, то можно заметить, что 100 координатных пар в точности соответствуют одной минуте видео.

Зная конечные координаты вертолёта (в конце он кружился над полицейским участком), можно привязать получившуюся траекторию к карте Google Earth.



Благодаря советам знающих товарищей из интернета Оона Ряйсянен поняла, что здесь используется 7-битная кодировка Bell 202 ASCII. После декодирования значения выглядят так:

#L N390386 W09434208YJ
#L N390386 W09434208YJ
#L N390384 W09434208YJ
#L N390384 W09434208YJ
#L N390381 W09434198YJ
#L N390381 W09434198YJ
#L N390379 W09434188YJ

Это полные пары долготы и широты с точностью до четвёртого знака (39,0386° N, 94,3420° W).

P.S. Кстати, год назад Оона Райсанен составила чёткую блок-схему с описанием всех звуков, которые издаёт диалап-модем при установке соединения.

P.P.S. О декодировании цифрового сигнала из открытых радиопередач Оона рассказала в рамках доклада на хакерской конференции Chaos Communication Congress в Гамбурге 30 декабря 2013 года (видео).
Анатолий Ализар @alizar
карма
751,5
рейтинг 57,4
Пользователь

Похожие публикации

Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Дизайн

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

  • +84
    После таких новостей я с новой силой поражаюсь способностям людей. И это вдохновляет. Как до этого можно додуматься?
    • +38
      написано же «год назад Уна Райсанен составила чёткую блок-схему с описанием всех звуков, которые издаёт диалап-модем „
      значит она, как и многие ученые особенный человек и работает на стыке наук / направлений / технологий
      мозг таких людей пытается ко всему применить текущий паттерн [- набора интересов ]
      в принципе такое у всех происходит, и чем необычнее твои интересы, тем сложнее структуры ты можешь осознать.
      • +2
        так кто ж спорит! :) Это ведь и поражает :)
        • +8
          Интересно, а так она может?
          • +2
            Да я смотрю там диалап пошустрее местного 3G работает. И вообще шипит неправильно.
          • +7
            слабое подобие оригинала
    • +7
      А я понимаю: самим на работе частенько приходиться додумываться о проблеме по побочным косякам )))

      Я вот другого не понял — откуда эта телеметрия вообще взялась в аудиодорожке? Т.е. если это с дрона, то наверняка же с ним канал какой-нибудь продуман с заданной структурой. Существует же план кадра — определенные типы данных лежат обычно на своих местах. Получили сигнал, прогнали через фильтр, демодулировали, декодировали, разобрали структуру по пакетам. Или там у них данные телеметрии что ли мультиплексированы с записью с микрофона, а в финале запись просто так дали без обработки? А, типа, чего париться — шум и шум )))
      • +3
        Именно шум. Телеметрия передавалась по другому каналу, но где-то внутри схема обработки звукового сигнала ловила передаваемый сигнал телеметрии. И потом кодировала его в аудио-поток и передавала «куда положено». А в результате в аудио-записи тренированый слух радистки различил «цифирь». Она взяла и отфильтровала звуковую частоту (оно ей, видать, не интересно — звуковая-то частота).
        Так что это шум был, но очень качественный. Усиленный, оцифрованный, переданный, принятый и записанный и услышанный.
        • +3
          Непонял — это специально сделано или «так получилось». Если для телеметриии есть свой канал — на кой этот еще нагружать?
          Если это не ТЗ разработки и я бы такое допустил на «боевом» приборе, то мне бы точно кое что повыдирали! )))
          • +3
            Предположим, что элементарно общая цепь питания или индукция дорожек. Да и чего в этом страшного-то? Просто интересный случай, а не угроза нацбезопасности))
            • 0
              Страшного в этом, действительно нет ничего. Но разработчик же испытывал поди свое изделие в работе. Должен быть какой-то макет, опытное изделие прежде чем в серию выпускать. И никого не смутил какой-то шум в аудиопотоке? Или сроки поджимали, время испытаний сократили… )))
              • 0
                Всё же проще — в тз ничего и близко о секьюрности не было, а изоляция цепей питания и экранированием дорожек с рассыпухой — дело нетривиально = деньги + время + ущерб ТТХ.
                Проблемы эти известны любому паяльнику, если бы это было чувствительное лабораторное оборудование, то тогда бы стали заморачиваться; а аудиодорожка с камеры коптера того не стоит…
                • 0
                  Ну это как сказать. Потом аппаратуру начинает подключивать — вот и гадай почему у тебя роутер перезагружается при включении холодильника (история реальна вроде).
        • +2
          Нет, это был не шум. В левом канале кроме сигнала ничего нет. В оригинальном посте в апдейте написано, что это некоторая модель радио видеопередатчика, используещегося новостными вертолётами, с функцией передачи координат в звуковом канале. Эти координаты используются в частности для автоматического наведения наземной антенны.
          • +1
            Вот, что я называю креативным подходом!
            Запихнуть поток данных в другой поток и не ставить отдельный передатчик. Вот это заплатка так заплатка. Прям уважуха. Серьезно.
            • +1
              Данные засунули в аудио- дорожку, чтобы не было рассинхронизации и геморроя при нарезке видео.
      • +1
        Данные засунули в аудио- дорожку, чтобы не было рассинхронизации и геморроя при нарезке видео.
    • +3
      А как удивились полицейские, они-то думали, что их телеметрия в левом канале звука — страшная, невозможная тайна!
    • 0
      Выходит, что шутка про «насвистеть в трубку данные для коннекта к ноде» не такая уж и шутка :)
      • 0
        Ну тащемта это и не шутка. При должном умении можно было насвистеть на 1200 бод.
  • +3
    Не Уна, а Она (дословно — «Оона»).
    • +4
      Уверен, что и с фамилией не всё так просто.
      • +7
        Вроде на этот раз правильно, сверился со списком НКВД, там много Ряйсяненов, и транскрипция совпадает (Räisänen).
      • +4
        С фамилией всё так.
        • +1
          OK, имя исправил, спс!
          • +1
            Здесь получается тоже надо исправить: habrahabr.ru/post/167927/
            • +1
              Согласен.
    • +5
      Интересно мнение минусующих, кстати. Девушка, вообще-то, с финским именем.
      • +4
        Видимо, минусуют фанаты Кими Ряйккёнена :-)

        «Значит, я начальник отдэлэния? Свинья вы, Шура, после этого!»
    • +3
      Все вы неправы. Слабо было у нее самой спросить? twitter.com/vladshikhov/status/430201601526349824
      • 0
        Что, собственно, я и утверждал.
        • 0
          Стало быть, кирилицей это «Она» с ударением на первую гласную.
          • 0
            Или Оона. Обычно передают длинные гласные всё же удвоенной буквой, как в оригинале.
    • 0
      Ударение бы тут ещё обозначить…
  • +18
    Интересно эти звуки случайно попали в левый канал или специально?
    • +15
      Наводки на цепь от микрофона от идущих рядом проводов/дорожек с сигналом, наверное.
      Как колонки которые включены в разъем на передней панели системного блока и пищат когда работает USB на той-же передней панели: провода идут рядом и не экранированы.
      • +2
        Я один не понимаю зачем беспилотнику микрофон?
        • +6
          Возможно, микрофона на самом беспилотнике и нет. Тому подтверждение — в аудио нет шума ветра. Скорее всего аппарат имеет с землей связь по аналоговому двустороннему радиоканалу(на землю — видео и телеметрия, с земли — команды управления). В видеосигнал вклеивает телеметрию, к примеру, именно на аудиоканале и отправляет все это добро на землю оператору, где все еще в аналоговом режиме к оригинальному сигналу подмешивается голос оператора, ну и дальше преобразование в цифру, запись на носитель на месте и одновременно передача в телецентр, например. Соответственно фон, который мы слышим кроме телеметрии, это не наводки с микрофона, а просто помехи в цепях питания — из-за этого этот фон по сути отражает ту же работу двигателей. Ну а т.к. частоты совпадающие и никто «сырец» не чистил(а зачем?), то при последующем выкладывании в тот же Ютуб в аудиоканале записи слышно все — и оператора, и помехи питания ака шум работы движков, и телеметрию…
        • +3
          P.S. кстати, не факт, что это беспилотник вообще. Там местами есть звуки крупного винта, как от большого вертолета.
          Так же смущает сверхстабильность картинки, как для небольшого дрона, ну и качество — на увеличении хорошо видно… Больше похоже на носовую управляемую камеру вертолета. Вряд ли они разведдроны военные туда запускают.
          • +4
            Обычный новостной вертолет. Там еще в конце просят kill the IFB please.
      • +3
        Я не согласен.

        В левом канале не слышно ничего, кроме этого сигнала.

        Я полагаю, что сигнал с координатами добавили в видео специально, чтобы легче было потом привязать видео к положению.
        • +1
          Послушал в наушниках — и правда.
    • 0
      Как правило более или менее профессиональные комплекты видеосъёмки формируются из разных «частей»: отдельно покупается камера, отдельно покупается накамерный / репортёрский микрофон, отдельно аудиомикшер на камеру, отдельно ещё что-то и т.д. Когда всё это нацепляют друг на друга (на башмаки) в один «комплект» — получается такая громоздкая байда с кучей проводов. Чтобы сократить число проводов, чтобы аудиоустройство не было жёстко привязано к камере проводом (например репортёрский микрофон), часто используют радиосистему, в том числе для записывающих звук частей. Радиосистема работает на своей частоте, у разных производителей радиосистем — разная частота. Вполне возможно произошло наложение частот и звук смешался.
      Аналогично и вы можете, видя оператора, который издалека снимает репортёра с радиомикрофоном, «вклиниться» в его частоту (если знаете её) и подслушать.
      • 0
        В исходном посте есть обновление об этом. Это штатная функция использованного радиопередатчика видео — передача координат в аудиоканале.
  • –9
    … сразу стало ясно, что это некий таинственный цифровой сигнал!

    Угадай автора заметки по манере изложения
    • 0
      Угадал
  • +1
    круто!
  • +1
    Поначалу мне показалось, что автоматика «ведёт» машину в кадре, используя алгоритмы CV. Уж очень хорошо отрабатываются повороты, смена скорости, объект как привязан к центру кадра.

    Однако, когда человек вышел из машины и камера стала отслеживать человека, а не машину, уже стало понятно, что работает оператор.
    • +1
      Так же на 1:28 из машины был высажен пассажир и/или избавились от улик.
  • 0
    Полицейские как бабки в конце, странно что не пристрелили чувака.
    • +4
      Действительно. По телевизору, вон, говорят, что они там за чих расстреливают на месте, а тут просто задержали. Не удивлюсь, если арестованному ещё и права зачитали.
      • +2
        Потому что он сам сдался, подъехав к полицейкому участку и не оказав сопротивления – выполз на землю с руками за головой. Права и есть права, у них там чёткая логика.
      • +1
        Видел как чувака задержали, но чувак оказался слишком толстым чтобы поместится в полицейский седан. И все стояли и ждали пока полицейские пригонят машину побольше. Но даже в Эскалейд он назад не залез, поэтому посадили вперед. Нанесут вред задержанному — он ещё с полицейскими судится будет, так что нафиг оно надо.
  • +53
    Блин, так «финский инженер» — это девушка?
    А я не знал.
    image
    • +32
      Интересно у мультиметра колесико сделано.
      • +21
        Тьфу.
        Человек у которого нет девушки-технаря, ставит плюсик комментарию. Человек, у которого есть девушка-технарь, обсуждает колесико мультиметра.
        • +7
          Хахаха :)
          • +11
            а ещё горизонт завален ©
            • +3
              Шаришь! :)
      • +1
        А че такого в колесике-то? У нас был такой на работе — мне не понравилось, что оно с боку как бы выпирает)
        • +2
          Ну его можно поворачивать держа левой рукой (хотя зачем?)
          • +4
            Правая рука тем временем удерживает щупы.
            • +1
              А толку? Самое, блин, главное — все равно переключение между режимами прозвонки и измерением диодов кнопкой, в результате чего нельзя переключиться на режим прозвонки поворотом колесика.
              • +1
                Это как бы не совсем обычный мультиметр. Часто используется монтажниками слаботочки или сетевиками. Колесо такое чтоб левый рукой в перчатке можно было крутить
                • 0
                  Угу, я не спорю. Но что им мешало сделать на режим больше? В итоге для довольно важного применения мультиметра — потыкать щупами и послушать писк нужно делать два действия, а не одно. Ну это же тупо.
                  Я когда покупал себе мультиметр в последний раз два магазина обошел, и потыкал все мультиметры, который в них были, от 1200рублей до 10к. Ни в одном не было выделенной функции для режима прозвонки! Кроме стрелочных, правда, но я их не люблю.
                  Везде, блин, объединенная функция для прозвонки, измерения диодов и зачастую измерения сопротивления. Иногда диоды выделяют в отдельную группу вместе с транзисторами. Но всегда для входа в режим прозвонки надо нажать кнопку!
                  Извините, накипело.
                  • 0
                    У меня элементарный Mastech MAS838 за 400 рублей — и в нем прозвонка сделана отдельным положением на колесике, без всяких кнопок. Или имелся в виду мультиметр с колесом как у девушки?
                    • 0
                      Он не TrueRMS и не умеет измерять емкость, к сожалению.
                  • 0
                    Сделано это для безопасности, чтобы прибор не спалить. Часто вы прозваниваете цепи и тут же без дополнительных манипуляций измеряете напряжение? Да сама прозвонка, выглядит в приборах как костыль — сделана поверх функции измерения сопротивления(режим измерения диодов это тот же режим измерения сопротивления только на повышенном токе в 0.1мА) и соответственно имеет неприятную задержку между фактическим замыканием и писком.
                    этим недостатком не обладает простая прозвонка выполненная из маркера и работающая на одной батарейке годами.
                    • 0
                      Довольно часто. Прозвонить дорожку и тут же в нее ткнуть — сколько вольт?
                      • 0
                        а как вы собираетесь прозванивать дорожку которая находится под напряжением, да еще верить результатам прозвонки? Так и прибор спалить недолго… а если там в дорожке 200 вольт? Как минимум между этими операциями идут манипуляции с устройством цепи которого прозваниваются.
                        • 0
                          Да легко. Что мне не верить-то — мультиметр же не связан гальванически со схемой, максимум что там будет — разница в милливольты из-за падения на сопротивлении дорожки. Но токи малые, поэтому это может быть критично для измерения сопротивления, но не для прозвонки.
                          • +1
                            Это очень большое заблуждение. Падение напряжения на дорожке запросто появляется даже при 15мА токе если она тонкая и длинная, для прибора этого может оказаться достаточно чтобы показать разрыв дорожки когда она на самом деле замкнута, или наоборот замыкание когда на самом деле дорожка разорвана. Кроме того можно вывести прибор из строя прозвонив по случайности цепь с высоким напряжением, ведь изначально прозванивая дорожки ты ищешь ту самую которая будет замкнута среди остальных, но плата может быть настолько коварна…
                            Вобщем, прозвонка цепей под напряжением бессмысленна поскольку результату прозвонки доверять нельзя. Сколько раз уже убедился в этом на практике…
                            Открой инструкцию пользователя на свой прибор, там тоже черным по белому написано что нельзя прозванивать цепи под напряжением.
                          • +1
                            Эмм, это если она действительно замкнута, то падение в милливольты. А если разорвана? Вы же именно это прозвонкой хотите определить.
                            • 0
                              я получил сотню миливольт не на самой тонкой дорожке при токе в 15мА, и очень долго искал проблему «почему не работает» пока не обратил внимание на то что напряжение в другой части платы на 100мВ меньше… а ток всего 15мА. Пришлось наращивать дорожку гибким проводом, увеличивая её сечение.
                              100 миливольт — это как раз тот порядок напряжений который использует тестер при прозвонке цепей, такое напряжение на участке цепи для прибора может быть сигналом «бесконечное сопротивление».
    • +1
      Так в статье все окончания на "-а" )))
  • +1
    удалено
  • +5
    Настолько хорошая запись, что после всех переконвертаций ни одной ошибки декодирования цифрового сигнала?
    • +5
      FM-сигнал достаточно устойчив к помехам.
      • +5
        Короче, недалек тот день, когда в музыке легитимной группы будут содержаться зашифрованные послания о восстании, точках сбора и изготовлении бомб.
  • +2
    А это точно беспилотник? Откуда там голоса?
  • –8
    *шутка про среднестатистического хакера из телесериалов*
  • –3
    прочитал как боевик посмотрел. невероятно О_о
  • +7
    Какая женщина!
  • +13
    Вообщето это запись с вертолета, а не беспилотника. Во вторых, я тут второй день статью переводил, что-бы красиво, а Ализар опередил.
    • +4
      Так выложите хотя бы в комментарии, интересно же.
      • +2
        Да там в принципе основное различие в том, что в моей заметке видео снято с вертолета, а не беспилотника. Вообще эта новость проскользнула три дня назад на news.ycombinator. У нее очень интересный блог, вот и зачитался и опоздал :)
  • 0
    Вот так неволей и задумываешься — вокруг нас сколько источников разного рода информации, что наследить можно где угодно, вот устройство телеметрии вертолета и наследило.
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    А ведь так и закладки в спец технику можно закладывать.
    *надевает шапочку из фольги*
  • 0
    Интересный факт — BFSK 1200 бод с модуляцией частотами 1200 и 2200 Гц используется в индустрии для коммуникации с некоторыми умными сенсорами (протокол HART). Было бы интересно узнать, где этот протокол используется кроме тех сенсоров.

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