Реверс инжиниринг протокола активации Яндекс.Станции



    «Яндекс.Станция» — умная колонка с голосовым помощником Алиса. Чтобы её активировать, нужно поднести телефон и проиграть звук из приложения «Яндекс». Под катом я расскажу, как устроен этот сигнал, про пароль от WiFi в открытом виде и попробую развить идею передачи данных через звук.

    Преамбула


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

    Процесс активации


    Когда включаешь новую колонку, каким-то образом нужно передать на неё информацию для подключения к WiFi сети и авторизации в сервисах Яндекса. В Станции это сделано через звук и выглядит, как на видео ниже (7:34).



    "… передача информации происходит, ну не по звуку, конечно ..." — говорит Валентин. Знал бы он, что в этот момент его пароль от WiFi попал в видео практически в открытом виде! Но об этом позже.

    А пока рассмотрим, что происходит. Телефон берет данные о WiFi сети (ssid из системы, пароль вводит пользователь) и данные для авторизации в Яндексе. Они каким-то образом кодируются, модулируются и излучаются динамиком телефона. Станция демодулирует сигнал с микрофонов, декодирует данные и использует их для подключения к сети и авторизации.

    В этом процессе нас интересует, как кодируются и модулируются данные.

    Визуальная демодуляция


    Для получения образца сигнала не нужна сама Станция. Необходимо только, чтобы телефон был подключен к WiFi с интернетом. Я решил создавать точки доступа с разными ssid и паролями, чтобы посмотреть, как меняется сигнал. Для удобства стал записывать звук в файлы и работать с ними.

    Для начала я создал точку доступа со случайным паролем «012345678» и подключил к ней телефон. Нажал «Проиграть звук» и записал получившийся сигнал. Давайте посмотрим на его спектр во времени (waterfall). Здесь по вертикальной оси отложена частота, по горизонтальной — время, а цвет определяется амплитудой.


    Так, тут видно, что применяется частотная модуляция, а данные передаются символами по 40мс. Также можно выделить возрастающую подпоследовательность:



    Стоп! Кажется, у нас был возрастающий пароль. «012345678». Как эти цифры выглядят в кодировках ascii или utf-8? "30 31 32 33 34 35 36 37 38". Ого! Даже менять пароль не пришлось! Вот он где лежит:



    Я попробовал менять пароль и убедился, что правильно определил его положение в сигнале.

    Получается, данные кодируются символами по 4 бита. По сути кодируется hex строка, где каждому значению 0 — F соответствует своя частота от 1 кГц до 4,6 кГц с шагом в 240 Гц. При этом в начале и в конце передачи есть излучение на частотах выше 5 кГц — метки начала и конца отделены от основной части на физическом уровне.

    Декодирование


    Чтобы каждый раз не переписывать на листочек символы, глядя на спектр, я набросал простой приёмник на питоне, который достаточно стабильно конвертирует аудиофайл в исходную hex-строку. Я стал менять ssid точки доступа и анализировать, на какие байты это влияет. В итоге выяснилось, что информация о ssid хранится в двух байтах перед паролем. При этом длина этого блока не зависит от длины ssid. Как так?

    Вероятно, на Станцию передаётся только хеш от ssid. При этом, скорее всего, Станция после включения вычисляет хеши названий всех доступных сетей. После чего выбирает сеть, сравнивая полученные значения с принятыми. Скорее всего, это сделано для уменьшения длины посылки. (Но как тогда происходит подключение к скрытым сетям?)

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



    Данные для авторизации в Яндексе мне не удалось выделить. Однако, длина пакета достаточно маленькая, поэтому точно можно сказать, что в посылке нет какого-нибудь OAuth токена. Я предполагаю, что приложение «Яндекс» получает временную ссылку, часть которой передаёт на Станцию. А она, в свою очередь, получает по этой ссылке полноценные данные для аутентификации. Думаю, сделано это также для уменьшения длины посылки.

    Написал в Яндекс?


    Да, 8 мая 2019. Получил автоматический ответ:



    Прошло 4 месяца — так и не связались. По правилам Яндекса, теперь можно разглашать информацию, чем я, собственно, и занимаюсь.

    Это вообще проблема?


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

    Кроме того, алгоритм активации уже зашит в произведенные Станции, поэтому избавиться от этой уязвимости в текущей версии вряд ли удастся.

    Однако, я считаю, это не повод игнорировать сообщения в bugbounty. По крайней мере, не вежливо обещать ответить и не делать этого. Ладно, будем считать, что моё обращение где-то затерялось. Если что, номер тикета: 19050804473488035.

    Лично я считаю, что уязвимость какая-никакая есть. Поэтому, несмотря на то, что я обладаю стабильным приёмником этого сигнала, дать его вам не могу.


    А также, хочу напомнить Wylsacom, Rozetked, и другим блогерам о необходимости регулярной смены пароля. По крайней мере я знаю, какой у вас был на момент обзора Яндекс.Станции)

    Что в итоге?


    Разработчики из Яндекса сделали крутую штуку. Они разукрасили процесс активации Станции, сделали его необычным. Единственная проблема, на мой взгляд — открытый пароль.

    А ведь тот же процесс можно было сделать безопаснее с использованием Bluetooth. Это навело меня на мысли, что в данном случае не так важна безопасность или скорость. Важно шоу. Активация через звуки, напоминающие R2-D2 из «Звездных войн», впечатляет и выглядит необычно.

    Такая позиция вдохновила меня развить идею разработчиков Яндекса и сделать протокол, ориентированный на впечатление. Что, если для модуляции hex символов использовать частоты нот? Почему бы не передать данные в До-мажоре? Получилось очень интересно, но об этом — уже в следующей статье.

    Спасибо, что дочитали, успехов!

    UPD: Ответ Яндекса
    Из службы информационной безопасности ответили в комментариях, а также прислали письмо:

    Support the author
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 84

      0
      yandex ну почему даже от багбаунти у разработчика остаётся такое впечатление? Edited: Ой, это оказывается не тот Яндекс, ну да ладно, путь так и останется.
        0
        Данные для авторизации в Яндексе мне не удалось выделить. Однако, длина пакета достаточно маленькая, поэтому точно можно сказать, что в посылке нет какого-нибудь OAuth токена

        Просто на правах фантазии, возможно авторизация идет с телефона, яндекс возвращает телефону одноразовый пароль с малым временем жизни, а уже он передается на колонку…
          –4
          Ну а какой еще есть способ передать колонке пароль от WiFi, если не в открытом виде? Колонка же должна самостоятельно подключиться.
            +8
            Я не специалист в области информационной безопасности, но предположу, что можно зашивать на колонку при производстве ключ шифрования. Тогда можно будет с телефона слать данные защищенным образом. Тут есть проблема, что при компроментации ключа одной станции (например, получив физический доступ к внетренней памяти), будут скомпроментированы и все остальные.

            Можно, конечно, раздавать каждой станции свой ключ, но тогда придется просить пользователя дополнительно вводить вручную или сканировать какой-нибудь QR-код с идентификатором колонки. Иначе телефон не будет знать, какой ключ использовать.
              +13

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

                +10
                Вопрос в том, сколько пользователю держать руку над колонкой пока она наболтается с телефоном.

                для этого давно придумали qr коды.

                Но имхо это настолько забавный процесс, что я бы и пострадал немного созерцая за голосовым общением двух девайсов ))

                пи-пу-куррр-кир-курр-кир пии-кр-пиии-кр-пииюю-ПТУПТУТУ-шшшшпшшшкшшшшшшшпшшшш…
                  +1
                  пи-пу-куррр-кир-курр-кир пии-кр-пиии-кр-пииюю-ПТУПТУТУ-шшшшпшшшкшшшшшшшпшшш

                  теперь все знают твой пароль )
                  0
                  Но имхо это настолько забавный процесс, что я бы и пострадал немного созерцая за голосовым общением двух девайсов ))
                  Вы наверное диал-ап не застали?
                    +3

                    Именно потому что застал я это и пишу

                      +1
                      И не только dial-up, но еще и запись на магнитофон игр ZX Spectrum
                        0
                        не, там длиииииииинный синхробайт был, а не пульсирующий
                    +3
                    Колонка может вначале прошипеть свой уникальный открытый ключь и услышать закодированый ответ.
                      0

                      Тут возникает вопрос о качестве микрофона на смартфоне, а это независимый параметр от Яндекса

                        +1
                        Микрофон достаточен для записи человеческой речи, в таком качестве что и человек и алиса эту речь распознают.
                        Значит, если сделать специальную кодировку, лучше оптимизированную под передачу данных чем речь, и еще добавить в нее коррекцию ошибок то все получится.
                    +5
                    Если доступна двухсторонняя передача данных, то варианты есть. По алгоритму Diffie-Hellmann, например, можно сгенерировать секретный симметричный ключ для защиты канала, и уже им шифровать пароль.
                      +2
                      А если двухсторонняя передача не доступна, то зашить в камеру закрытый ключ, а открытый разместить снаружи в виде QR-кода. Телефоном считать открытый ключ, зашифровать пароль и передать колонке.
                        0
                        Дополнительное действие для пользователя. Скорее всего тут делается упор на локальность процесса, чтобы записать этот звук с паолем даже с 2-х метров уже надо быть хорошо подготовленным, использовать какие-нить хорошие направленные микрофоны, заранее их установить, это ж не радиосигнал, который через стенку ловится.
                          0
                          Ну или просто выдрать звуковую дорожку с ютуба, инстаграмма и т.д., куда там еще юзеры выкладывать свои видео распаковки.
                        +1
                        Скорее всего для Diffie-Hellmann-а не хватает пропускной способности аудиоканала. Одно дело пароль 8 символов только на станцию, другое дело килобайты информации туда-обратно
                          +1

                          ну пусть минуту друг другу песенки напевают. это было бы забавно.

                            +1
                            Давайте посмотрим википедию. Предположим, нам достаточно 128-битного ключа. Тогда обе стороны должны послать друг другу по 128 бит. Т.е. по 16 байт.
                              0
                              А потом пролистаем дальше и прочитаем что более-менее стойкий ключ 1024 бит. Но все равно не килобайты, да, согласеен.
                                0
                                Давайте посмотрим википедию. Предположим, нам достаточно 128-битного ключа. Тогда обе стороны должны послать друг другу по 128 бит.

                                А потом пролистаем дальше и прочитаем что более-менее стойкий ключ 1024 бит.

                                Вы сейчас явно про разные види ключей и про разные алгоритмы говорите.
                                128 — AES, симметричный шифр.
                                1024 — RSA, с открытым ключом.

                                В Diffie-Hellmann нужена пара ключей: открытый и секретный. В результате получим ключ (созданный двумя устройствами вместе) для симметричного шифрования типа AES чтобы потом с помощью него общаться.

                                *1024 бита на RSA уже маловато по нынешним меркам.
                                  0

                                  Существует, например, тот же ECDSA, стойкий ключ для которого всего 256бит

                                0

                                8 это минимум, у меня пароль 32 символа. Открытый ключ в HEX можно уместить в 20 байт, наверное.


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

                                  –2
                                  Есть ещё NFC, скорее всего во всех телефонах уже. Видимо все равно это более геморно использовать именно для пользователя.
                                    +1
                                    Кроме самой станции есть еще и другие устройства с Алисой, в которых может не быть bluetooth или NFC. Поэтому используется универсальный способ для всех устройств с микрофоном. Но хотя бы поксорить можно было…
                              +1
                              Для подключения по wifi достаточно информации из линуксового wpa_supplicant.conf. Так вот, там внутри SSID и хеш (SSID; passphrase). Пароля в открытом виде нет.
                                0
                                И каким образом подключаться к сети с этим хэшем? По логике работы вайфая, хранить приходится открытый пароль и все так делают. В документации на wpa_supplicant.conf тоже ни про какие хэши информации не видно.
                                  0

                                  "все так делают"


                                  Не все.


                                  "В документации на wpa_supplicant.conf тоже ни про какие хэши информации не видно."


                                  Видно. man wpa_passphrase

                                    0
                                    Генерация PSK заранее конечно интересно, но, к сожалению, на практике я не видел, чтобы так кто-то делал. Даже тут это руками требуется делать явно из-за проблем с совместимостью с чем-то иным, кроме WPA-PSK.
                              +2
                              Такой способ передачи ключа первым использовал не Яндекс.
                              Он же используется в некоторых «китайских» IP-камерах (например камеры Digoo).
                                +6
                                … и в оригинальном Amazon Dash Button.
                                +5
                                Такая позиция вдохновила меня развить идею разработчиков Яндекса и сделать протокол, ориентированный на впечатление. Что, если для модуляции hex символов использовать частоты нот? Почему бы не передать данные в До-мажоре?


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

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

                                – Понимаете, любая мелодия передается как последовательность или комбинация цифр, – вдохновенно продолжал объяснять Ричард. – Цифры же отображают высоту звука, его длину, сочетания…

                                – То есть мотив, – подсказал профессор. Морковь все еще оставалась нетронутой.

                                Ричард усмехнулся:

                                – Мотив – весьма точное слово. Надо запомнить.

                                – Так будет проще выразить мысль. – Не попробовав морковь, профессор вернул ее на тарелку и спросил: – Значит, программа ваша имела успех?

                                – Не в этой стране. Оказалось, что годовые отчеты британских компаний в основном звучат как «Похоронный марш» из генделевского «Саула». Зато японцам она весьма приглянулась. У них вышло множество веселых корпоративных гимнов, которые начинаются очень задорно, но, если уж начистоту, к концу становятся чересчур шумными и скрипучими. Что самое главное, программа отлично показала себя в Штатах и имела коммерческий успех. Впрочем, теперь меня больше всего интересует другое: что будет, если убрать из нее счета? Превратить в музыку цифры, представляющие взмахи крыльев ласточки? Что мы тогда услышим? Точно не жужжание кассовых аппаратов, как того хочется Гордону.


                                Дуглас Адамс
                                  +4
                                  Если бы Существо не щелкнуло тумблером, я бы никогда его не нашел. Оно
                                  могло подождать, пока не подойду на расстояние вытянутой руки. Стоило мне
                                  чуть ослабить внимание, оно могло бы обезоружить меня, выбить карабин из
                                  рук. Но оно не сделало этого. Просто включило магнитофон и спокойно
                                  встретило смерть…
                                  Он кинулся к пульту. Где тумблер? Он шарил руками по приборной панели.
                                  «Тюлилихум ааухум».
                                  — Что ты делаешь, Мартин? — кричал полковник Яролимек, такой близкий и
                                  такой бесконечно далекий.- Сейчас мы тебя вытащим, успокойся!
                                  Мартин метался от одной секции к другой. «Тюлилихум ааухум»…
                                  Есть!
                                  Он коснулся плавно вращавшихся дисков. Накипевшая ярость нашла выход.
                                  Он вырвал пленку, бросил на пол, топтал ногами. Потом рассмеялся. К чему все
                                  это? Придут люди и сотрут последние следы какого-то «тюлилихум ааухум».
                                  Он вдруг почувствовал, что должен укрыться.
                                  — Куда ты, Мартин? — звал полковник Яролимек.
                                  Он не мог ответить и сам не знал почему. Неуверенными шагами направился
                                  к двери склада, где Дана Мразкова приняла свой последний бой. Они не должны
                                  меня видеть. Но почему, почему?
                                  Пошатываясь, ввалился он в помещение, привалился к стене и медленно
                                  сполз на прохладный пол. Специфическая удушливая вонь ударила в ноздри.
                                  «Тюлилихум ааухум».
                                  — Почему я все время думаю об этой мерзости? — спросил он себя вслух.
                                  И тут что-то произошло.
                                  Мартин Данеш впервые в жизни увидел свет.
                                  Он закричал от ужаса и неведомой прежде радости. Вечная тьма озарилась.
                                  Красочные очертания выступили из темноты, закружились в сознании. Странные
                                  переплетения, пульсирующие разноцветные прожилки… Это не просто свет,
                                  подумал Мартин. Это глаз Существа.
                                  Я скоро превращусь в Существо, я успел заразиться. Но я еще
                                  сопротивляюсь, через слух это идет не так быстро. Медленнее, чем вам
                                  хотелось бы, не правда ли? Кто вас сюда послал? Кто-то тщательно выбритый,
                                  умытый и плотно позавтракавший?

                                  Онджей Нефф, Белая трость калибра 7.62
                                    –4
                                    А зачем гадать, когда можно взять со станции модуль, отвечающий за авторизацию, и отреверсить его?
                                      +7
                                      Krupnikas Но ведь пароли от wifi не всегда состоят из 8 цифр или букв, тоесть поддерживается кастомная длинна ключа. Что если попробовать сломать буфер внутри. Разобраться в остальных данных, передаваемых через протокол, написать кастомный фазер…
                                        +12
                                        Вот это правильный вектор развития, переполнение уже тянет на серьезную уязвимость.
                                          0
                                          8 символьный пароль ломается за 4/8 часов на старой видеокарте (не каждый кончено, но многие).
                                          Вообще WiFi там много всего, а вот что он звуком передается, это прикольно. И услышать его гораздо сложнее чем ловить хэндшейки. Так что да, уязвимость не особо опасна, блогерам просто не очень приятно будет, если у них пароли везде одинаковые.

                                          А безопасно его передавать можно по разному, как предложили выше используя ДиффиХелмана, или комбинацию подстановки/замены (Цезарь и другие) (не безопасно, но звук уже не поможет, тут мобилку придется крутить, хотя бы один раз).
                                            0
                                            Добавлю, что звук с расстоянием очень сильно угасает, и чтобы его корректно перехватить надо стоять с микрофоном рядом с устройством в момент активации, что будет несколько подозрительно. Лично у меня первая колонка только 3 его раза смогла правильно распознать пароль и активироваться. У родителей со второго раза заработала.
                                            Ну, а если у вас вообще имеется свободный доступ в помещение с колонкой (наверное это будет дом вашего друга), то вряд-ли вам нужно будет взламывать его вайфай, разве что для понта.
                                          –7
                                          Да, лентяев везде хватает, поленились даже элементарно шифрануть…
                                            +1
                                            Они разукрасили процесс активации Станции, сделали его необычным.

                                            Китайская WIFI камера Q7 точно также первый раз настраивается — телефон свистит, пока не подключится камера.
                                              +1

                                              А холодильники LG насвистывают результаты самодиагностики.

                                                +3
                                                И стиральные машины тоже…
                                                  +1

                                                  Кондеи ещё.

                                                  +2

                                                  Холодильник "Донбасс" или "Днепр" у нас на даче в 80-х годах тоже Уже умел насвистывать самодиагностику.
                                                  Сосед Коля пришёл, послушал, продиагностировал "Всьо, йому… пришла" (заглушено свистом холодильника)

                                                    +1
                                                    Механик Петр так автомоторы диагностирует :)
                                                +8
                                                Здравствуйте, Сергей.
                                                Меня зовут Эльдар, я работаю в команде безопасности Яндекса.

                                                Прошу прощения за то, что не ответили на письмо в «Охоту за ошибками». Мы его разобрали, но на этапе ответа на обращение случился организационный баг — письмо не было отправлено. Проведём работу над ошибкой.

                                                Как вы верно подметили в посте, эту особенность сложно назвать уязвимостью. Мы думали, как сделать настройку более безопасной и не менее удобной для пользователя — самым приемлемым вариантом (в первую очередь, из-за длины ключей и размера шифротекста) показалось использование для обмена сессионными ключами алгоритма ECDH, однако взвесив риски и возможные неудобства, остановились на текущем алгоритме.

                                                Спасибо.
                                                  +3
                                                  Здравствуйте, Эльдар.

                                                  Понимаю, баги бывают везде :)
                                                  Благодарю за ответ. В этот раз письмо пришло. Прикрепил его скриншот к посту.

                                                  Спасибо.
                                                    +7

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

                                                      0
                                                      Даже если вы расшифруете эти пароли с видео, что они вам дадут?

                                                      Гораздо успешнее можно поискать ключи от AWS, например, на StackOverflow или GitHub. Кторые должны храниться в надежном месте и не быть доступными никому.
                                                        +8

                                                        А где эта грань в которой пароли "что-то дадут" и "что-то не дадут"? Почему вообще вопрос ставится вот так? Есть возможно подсмотреть пароль в открытом виде и это не круто. С каких пор ставится вопрос о том допустимо это или нет?

                                                          +2
                                                          С тех пор, как существует сфера информационной безопасности. Риски оценивают не в вакууме. Если открытый пароль используется в условиях, когда риски его утечки минимальны, то это не проблема. Вы вот руками вводите пароль для вайфая на клавиатуре — стоящий за спиной все увидит. Равно, пароль доступен в открытом виде. Допустимый это риск? Да, в подавляющем большинстве случаев допустимый. Так же и здесь. Колонка настраивается в доверенной изолированной среде — личной комнате человека.
                                                            +2
                                                            Когда человек вводит пароль руками, он понимает, что видеозапись этого на Youtube лучше не публиковать. Вся проблема, как это часто случается, в неожидаемом поведении вещей, а производителю лень поставить лишнюю сноску в инструкции.
                                                              +1
                                                              С тех пор, как существует сфера информационной безопасности. Риски оценивают не в вакууме.

                                                              Ну расскажите мне как риски в этом случае оценивались и что это за термин такой "доверенная среда" за пределы которой Алису выносить нельзя. Это вообще нормально употреблять самовыдуманные термины которых фактически не существует?


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

                                                              Это лично ваши умозаключения? С такими умозаключения можно, например, прийти к тому, что пароли хранить в базах в открытом виде тоже нормально. Ведь риски минимальны.


                                                              Вы вот руками вводите пароль для вайфая на клавиатуре — стоящий за спиной все увидит.

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


                                                              Колонка настраивается в доверенной изолированной среде — личной комнате человека.

                                                              Это ваши фантазии. Ничто не ограничивает человека активировать колонку там где ему хочется. И мало того, что ничто не ограничивает, так еще его никто и не предупреждает.

                                                                –2
                                                                Какую-то демагогию развели на пустом месте. trusted environment это общеизвестный термин. Читайте и разбирайтесь. Со стороны яндекса в данном случае единственная претензия это отсутствие предупреждения, что при настройке что-то передается по воздуху и на людях это лучше не делать.
                                                                  +2
                                                                  trusted environment это общеизвестный термин. Читайте и разбирайтесь.

                                                                  Нет такого общеизвестного термина. Есть термин trusted execution environment, но это совсем не про то. Читайте и разбирайтесь прежде чем писать.


                                                                  … единственная претензия это отсутствие предупреждения...

                                                                  Все равно это очень странная ерунда

                                                        +4
                                                        Мы думали, как сделать настройку более безопасной и не менее удобной для пользователя


                                                        КМК, поднять на колонке внутренний WiFi чисто для настройки не стоило бы совершенно ничего в смысле программирования, и позволило бы обойтись без передачи пароля plain text'ом.
                                                          +1
                                                          Тогда мы получаем уязвимость «другое устройство создаёт такой wifi или подключается к wifi колонки и подслушивает пароль».
                                                            +1

                                                            Вряд ли. Если ssid и пароль наклеены на стикере в инструкцию — за те 10 мин, пока длится подключение, даже АНБ не успеет подобрать пароль. Денег это стоит… чуть дороже стикера. Если защиту WPA не использовать совсем, но хотя бы использовать https (это тоже бесплатно!) — даже если кто-то запишет траффик, пароль вынимать оттуда будет ооочень долго. Случай, когда злой дядька постоянно сидит рядом и готов построить mitm атаку, это как-то слишком параноидально. Случай с поддельной точкой доступа обходится очень просто — после успешного подключения к колонке нажать на аппаратную кнопку, помигать лампочкой… Получить обратную связь по другому каналу.
                                                            Случайно записанный свист расшифровывается очень просто и быстро.

                                                            +2
                                                            И такая процедура настройки всегда убогая, медленная и геморная даже для айтишника, который знакомы со всеми этими вашими вайфаями, сколько я не настраивал подобные девайсы. Обычно вайфай этот запускается открытый, т.е. пароли опять летят в открытом виде, только здесь еще хуже, т.к. wifi пакеты таки поймать в разы проще, и летят они дальше. Шифрованная с фиксированным паролем — спуфится без проблем. Делать шифрованную точку с уникальным паролем для каждого устройства — гемор и пользователю, и производителю. Все это не стоит того мизерного бонуса к безопасности, который это все дает.
                                                              0
                                                              У меня возникло ощущение, что когда-то и где-то я читал этот комментарий…
                                                          +4
                                                          Меня раздражало первое время когда на ютубе и везде было очень много рекламы с криками «Алиса, ....», от чего моя колонка активировалась и отвечала «звукам из телика».
                                                            +3
                                                            И продолжает это делать.
                                                              +2
                                                              Дома как огня боюсь упоминать в разговоре всяческих знакомых Алис :)
                                                              +2

                                                              Фильмы по Киру Булычеву не смотрите… Мало ли… Миелофон еще закажет.

                                                                +2
                                                                Установил на ноутбук дочери Алису, чтобы дочь могла нормально найти нужные ей мультики (дочери 3 года, зовут Алиса). Каждый раз, когда зову дочь погромче из другой комнаты — ноутбук отвечает.
                                                                  0
                                                                  У меня возле телевизора колонка активировалась при просмотре фильма «В гостях у Элис»
                                                                    0
                                                                    Да у меня Алекса от Амазон периодически ушки навостряет… Хотя казалось бы с чего ибо дома говорим в основном по русски.
                                                                  +1
                                                                  Если что, домашние Wi-Fi камеры Dahua (лидер рынка наравне с Hikvision) под брендом Imou получают пароль от Wi-Fi сети таким же насвистыванием или ку-ку-каньем.
                                                                    +2
                                                                    Настройка умных колонок от U.S. Robotics — раздирающие душу сигналы Dial-Up
                                                                      +8

                                                                      Ха-ха. Доверенная среда. Играешь такой в онлайн игру, а тебе из колонок по тимспику "Алиса, запри двери, выключи свет и включи газ". Это будет покруче Xbox shutdown троллинга https://www.google.com/url?sa=t&source=web&rct=j&url=https://m.youtube.com/watch%3Fv%3DanslUJ5SCIs&ved=0ahUKEwjK_6Hr8_jkAhXttYsKHSkkCFwQo7QBCCcwBA&usg=AOvVaw2VOSbvnLcdaBxlwANA1dK8

                                                                        0
                                                                        Отдельная благодарность за это видео, я давно так не смеялся. Спасибо.
                                                                        0
                                                                        Что, если для модуляции hex символов использовать частоты нот? Почему бы не передать данные в До-мажоре?

                                                                        Даёшь передачу данных в жанре Heavy Metal! Хотя бы соляками
                                                                          +4

                                                                          Я правильно понимаю, что достаточно подарить жертве умную колонку от Яндекса и каким-то образом перехватить звук активации? Конечно, достаточно странный вектор атаки, но он имеет место быть… И пользователи узнают об этом не из инструкции, а на хабре.

                                                                            +3
                                                                            Ну как вариант добавить внутрь корпуса Алисы соответствующее аппаратное обеспечение. Тогда всё будет ограничено фантазией и техническими возможностями атакующего. Собственно, это же стандартная техника шпионажа — дарить что-то с видео/звукозаписывающей аппаратурой.
                                                                            +4
                                                                            Навеяло...
                                                                              +1

                                                                              Ну зачем они изобрели такие костыли? Почему нельзя это было сделать через Bluetooth или стандартным подключением к Wi-Fi колонки?


                                                                              Собственно самый простой метод настройки уже придуман: у Apple и Samsung с их наушниками и другой техникой (HomePod/AppleTV) почему нельзя было использовать такой же метод?

                                                                                +3
                                                                                image

                                                                                Ну, Я, экономы: вместо чтобы просто выдать награду каждому, кто о проблеме или баге в безопасности сообщит, они стали устраивать конкурс среди всем приславших репорты, чтобы потратить на всех один приз. Ок, может, «призовых мест» там в конкурсе не одно, а три (и приза тоже три — т.е. экономия раза в 2.5 меньшая), но и конкурс, как бы помягче сказать, впору проводить скорее не среди исследователей, а среди разработчиков Я — кто больше скосячил.

                                                                                Думаю, кстати, что приз автора ушел как раз разрабу, который такую авторизацию придумал.

                                                                                P.S. Не то чтобы на баунти-выплаты кто-то планирует прожить, но интерес такой подход подогревает, плюс дает положительную обратную связь исследователям и сообществу (сабмитишь в компанию баг, а тебя не то что в полицию сдают, а еще и награждают, т.е. стимулируют поиски потенциальных дыр, а, значит, конкретной компании не пофиг). А с таким подходом, как в приведенном автоответе так и хочется задать «вопрос на засыпку»: какова вероятность, что следующие баги будут отправляться в Я, а не просто сразу на Хабре разбираться (в лучшем случае)?
                                                                                Такое впечатление, что Я специально свои поделия детища сначала громко выпускает, а потом тихо топит, забивая в мелочах.
                                                                                  +2
                                                                                  Имхо, среди российских Bug Bounty Яндекс — вполне уверенный среднячок: на голову превосходит ВК с их «Ого, как исправить эту проблему? *Молчание месяц* А мы знаем об этой проблеме из внутренних источников, что же ты на чёрный рынок не пошёл, лошок?))))», но уступает нескольким хорошим программам.

                                                                                  Но есть тот момент, который меня стабильно раздражает: Яндекс берет сервис, размещает на своём домене, клеит свои логотипы, а потом, когда там обнаруживается критическая дыра, заявляет «А это сервис партнёров)))))», денег нет, но проблема исправлена. Весьма сомнительные ощущения.
                                                                                  +1
                                                                                  Вот это поворот) Красава!
                                                                                    0
                                                                                    Это вы еще про Wi-Fi Smart Config не слышали, там, конечно, есть опциональное AES шифрование, большинство разработчиков «забывают» его включить.
                                                                                    Без шифрования пароль открытым текстом передается по Wi-Fi
                                                                                      +1
                                                                                      Ответ Яндекса в стиле: «Часы не варить!»
                                                                                        0
                                                                                        Напомнило игрушку Furby

                                                                                        Only users with full accounts can post comments. Log in, please.