Уязвимость шифрования в различных реализациях Bluetooth

    Недостаток в протоколе Bluetooth оставался без внимания более десятилетия, но гром все-таки грянул. Проверьте свои устройства!

    Израильские ученые Эли Бихам Лиор и Ньюман обнаружили серьезную криптографическую уязвимость в спецификации стандарта Bluetooth. Брешь позволяет злоумышленнику осуществить атаку "человек посередине" для перехвата и подмены ключей шифрования во время установки соединения между двумя устройствами. Проблема связана с недостаточной проверкой параметров безопасности и затрагивает реализацию протокола в драйверах устройств вендоров таких как Apple, Qualcomm, Intel и Broadcom и многих других.

    Уязвимость под номером CVE-2018-5383, о которой объявила Bluetooth SIG, потенциально позволяет злоумышленникам вмешаться в процесс сопряжения двух устройств по Bluetooth.

    image
    Изображение digit.in

    Как спариваются Bluetooth-устройства


    В ходе процесса сопряжения устройства «договариваются» о создании общего закрытого ключа, который будет в дальнейшем использоваться для шифрования данных. Первоначальный обмен данными происходит по незащищенному радио-каналу в рамках протокола elliptic-curve Diffie-Hellman (ECDH).

    Во время сопряжения два устройства устанавливают отношения, создавая общий секрет, известный как ключ связи (link key). Если оба устройства хранят один и тот же ключ связи, они называются спаренными или сопряженными. Устройство, которое хочет связываться только с сопряженным устройством, может криптографически аутентифицировать идентификатор другого устройства, гарантируя, что оно является тем же самым устройством, с которым оно ранее сопрягалось. После того, как будет создан ключ связи, связь по коммуникационному протоколу Asynchronous Connection-Less (ACL) между устройствами может быть зашифрована для защиты обменных данных от подслушивания. Пользователь могжет по своему желанию удалять ключи связи с из устройства, которым он владеет, что разрывает сопряжение между устройствами. Поэтому второе устройство из бывшей «пары» устройства может все еще хранить ключ связи для устройства, с которым он больше не сопряжен.

    В чем суть уязвимости


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

    image
    Изображение arstechnica.com

    Эксплуатация уязвимости представляется достаточно сложной, но вполне реальной, особенно в сочетании с социальной инженерией и низким уровнем квалификации потенциальных жертв. Хакер должен располагаться в достаточно небольшой зоне (несколько метров) уверенного приема Bluetooth-сигнала обоих атакуемых устройств. Тем не менее, в случае успеха, хакер получает самые широкие возможности для вредоносной активности.

    Причиной возникновения уязвимости является наличие в спецификации Bluetooth лишь опциональных рекомендаций по проверке открытых ключей при сопряжении устройств в режимах Bluetooth LE Secure Connections и Bluetooth Secure Simple Pairing. В настоящее время группа Bluetooth SIG уже внесла исправления в спецификацию и привела процедуру проверки любых открытых ключей в разряд обязательных, и добавила в сертификационные тесты проверки соблюдения нового требования.

    Зона поражения


    Уязвимость присутствует в прошивках и драйверах от различных производителей, включая,
    но не ограничиваясь такими вендорами как Apple, Broadcom, QUALCOMM и Intel. К счастью для пользователей MacOS, Apple выпустила исправление для ошибки еще 23 июля.

    Компания Dell опубликовала новый драйвер для модулей на базе Qualcomm, который она использует, в то время как экстренное обновление от Lenovo предназначено для устройств с модулями от Intel.

    LG и Huawei упомянули уязвимость CVE-2018-5383 в своих бюллетенях июльских обновлениях для мобильных устройств.

    Пока неизвестно, затронуты ли уязвимостью Android, Google или ядро Linux глобальным образом. Об этом не упоминается в июльском бюллетене Google Android Security Bulletin или более ранних бюллетенях.

    Хотя Microsoft заявила, что система Windows не затронута напрямую, Intel опубликовала списки многочисленных беспроводных модулей, чье программное обеспечение для Windows 7, 8.1 и 10, а также для компьютеров на базе Chrome OS и Linux уязвимо.

    Предостережение


    Стоит помнить, что если ваше мобильное устройство старше двух-трех лет, оно тоже может оказаться подверженным этой и другим Bluetooth-уязвимостям, но остаться без патча безопасности от производителя. Рекомендуется не держать включенным Bluetooth постоянно без реальной необходимости (а лучше не включать вообще) и спаривать устройства, только находясь в безопасном окружении.

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

    А вы держите Bluetooth включенным?
    • 21.9%да, постоянно20
    • 19.7%да, постоянно, но в режиме «недоступно для обнаружения»18
    • 2.1%включаю эпизодически2
    • 32.9%включаю строго во время необходимости30
    • 21.9%нет, держу выключенным20
    • 1%у меня нет Bluetooth модулей в моих устроствах1
    • 0%я намеренно удалил Bluetooth из своих устройств0
    Поделиться публикацией
    Похожие публикации
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 17
      0

      Я правильно понимаю, если атакующий вклинился в соединение между устройствами, то он должен оставаться там постоянно, иначе устройства отвалятся друг от друга, и чтобы они снова заработали понадобится новое спаривание?

        +1

        Если "спаривание" было успешным, то устройства останутся связанными как минимум в рамках одной сессии, а скорее всего и дольше. Атакакующему нужно находится рядом столько, сколько требует его злонамеренный план.

          0
          Т.е. если атакующий присутствовал при спаривании устройств, то устройства продолжат работать и с уходом атакующего? И так же продолжат свободно соединяться без повторного спаривания в будущем?
          А может ли атакующий через какое-то время чнова влезть в соединение, если он когда-то присутствовал при спаривании?

          Я почему интересуюсь. В моём окружении самое частое использование блютуса — беспроводные гарнитуры, блютус колонки и автомобильные hadsfree. Соответственно, спаривание устройств происходит крайне редко, что даёт довольно низкие шансы атакующему оказаться в нужном месте в нужное время. Плюс, соединённые устройства крайне мобильны, т.е. атакующему становится крайне сложно организовать постоянное присутствие. Если это помножить на то, что чуствительные данные по этим каналам передаются не часто, т.к. люди не постоянно висят на телефонах, и не все разговоры по телефону являются крайне секретными, то становится непонятно, на сколько имеет смысл взлом блютуса.

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

            Как происходит процесс сопряжения
            «During pairing, the two devices establish a relationship by creating a shared secret known as a link key. If both devices store the same link key, they are said to be paired or bonded. A device that wants to communicate only with a bonded device can cryptographically authenticate the identity of the other device, ensuring it is the same device it previously paired with. Once a link key is generated, an authenticated Asynchronous Connection-Less (ACL) link between the devices may be encrypted to protect exchanged data against eavesdropping. Users can delete link keys from either device, which removes the bond between the devices—so it is possible for one device to have a stored link key for a device it is no longer paired with.»
              0

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

              0
              Например, вклиниться в сеть Bluetooth Mesh — интернет вещей, кто-то, может быть, применяет в сетях управления оборудованием.
          +1
          А почему «Рекомендуется не держать включенным Bluetooth постоянно»?
            +1

            А зачем давать лишний вектор атаки? Есть и другие уязвимости. Эта рекомендация для тех, кто не особо разбирается в этом стандарте.

              +1
              Я думал, что есть какие специфические причины. А так, тогда лучше вообще всё выключить и не включать вообще.
                0
                Это они и есть. Включенный блютус — сигнал злоумышленнику. Многие пользователи держат этот беспроводной интерфейс включенным, просто потому, что думали «что так надо» или «так все делают», но у них нет ни одной реальной причины это делать.
                  +2
                  Есть одна реальная причина, и очень весомая: отсутствие необходимости постоянно что-то включать и выключать.
                    +1
                    > реальной
                    Рекомендую попробовать купить действительно хорошие беспроводные наушники. Назад не захочется, реально
                    0
                    Драйверы ведь тоже люди пишут, в них могут быть ошибки переполнения буфера, и тогда атакующий сможет выполнить произвольный код на устройстве жертвы с максимальными правами доступа, прямо по воздуху.
              +1
              А я тут потихоньку децентрализованную сеть пишу на Bluetooth, ну и не только, конечно. Довольно интересная уязвимость, подумал сначала заволноваться, потом понял, что уязвимость применима лишь к процессу сопряжения, а сия операция совсем не user-friendly в таком приложении, шифрование тем более применимо только к одному протоколу.
              Ну а так — считаю, что игра не стоит свеч, для исполнения нужны «тепличные условия».

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

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