Трио исследователей, разделившихся между Италией и Великобританией, недавно опубликовал статью о криптографической небезопасности, которую они обнаружили в широко известной умной лампочке.
Похоже, что исследователи выбрали целевое устройство TP-Link Tapo L530E на том основании, что оно «В настоящее время бестселлер на Amazon в Италии», поэтому мы не знаем, как обстоят дела у других умных лампочек, но их отчет в любом случае может многому нас научить.
Исследователи говорят, что:
Мы оперативно связались с TP-Link через их программу исследования уязвимостей (VRP), сообщив обо всех четырех обнаруженных нами уязвимостях.
Они признали их все и сообщили нам, что они начали работать над исправлениями как на уровне приложения, так и на уровне прошивки лампы, планируя выпустить их в свое время.
К лучшему или к худшему (авторы статьи не говорят, были ли согласованы какие-либо даты раскрытия информации с TP-Link, поэтому мы не знаем, как долго компания работала над своими патчами), теперь исследователи выяснили, как их атаки работают, хотя и не предоставляют какого-либо кода атаки, который можно копировать и вставлять, чтобы потенциальные домашние хакеры могли использовать их по своему желанию.
Поэтому мы подумали, что статья заслуживает внимания.
Настройка беспроводной сети
Как и многие так называемые «умные» устройства, Tapo L530E спроектирован таким образом, чтобы его можно было быстро и легко настроить через Wi-Fi.
Хотя беспроводная конфигурация распространена даже для устройств с батарейным питанием, которые можно заряжать и настраивать через встроенные порты USB, таких как камеры и аксессуары для велосипедов, лампочки обычно не имеют портов USB, не в последнюю очередь из соображений пространства и безопасности. причинам, учитывая, что они предназначены для включения и оставления в розетке электропитания.
Включив и выключив лампочку Tapo L530E несколько раз с помощью настенного выключателя на одну секунду, вы можете перевести ее в режим настройки (очевидно, лампочка автоматически мигнет три раза, чтобы сообщить вам, когда она готова к настройке).
Как и большинство автоматически настраиваемых устройств, интеллектуальная лампочка превращается в точку доступа Wi-Fi с легко узнаваемым сетевым именем вида Tapo Bulb XXXX
, где X образуют строку цифр.
Затем вы подключаетесь к этой временной точке доступа, которая не защищена паролем, из приложения на вашем смартфоне.
Затем вы указываете лампочке, как в будущем подключиться как к вашей защищенной паролем домашней сети Wi-Fi, так и к вашей облачной учетной записи TP-Link, после чего прошивка лампочки может перезагрузиться и подключиться к Интернету, что позволит вам управлять ею. из приложения на вашем телефоне.
Лампа может подключаться к домашней сети, а это означает, что вы можете связаться с ней напрямую через собственный Wi-Fi, когда находитесь дома, даже если ваш интернет-провайдер в это время отключен от сети.
Лампа может подключаться через Интернет к вашей облачной учетной записи, поэтому вы также можете отправлять ей команды косвенно через свою облачную учетную запись, пока вы в дороге, например, чтобы включать и выключать свет, если вы опаздываете. чтобы создать впечатление, что дома кто-то есть.
Остерегайтесь самозванцев
Вы, наверное, догадываетесь, куда это идет.
Если приложение на вашем телефоне не имеет криптографически надежного способа определить, что оно действительно подключено к настоящей лампочке, когда вы проходите процесс установки…
…затем нападавший поблизости, который случайно запускает фейк Tapo Bulb XXXX
Точка доступа в нужный момент может побудить вас отправить эти важные секреты настройки на их «лампочку-самозванец», а не на реальную вещь, таким образом перехватив как ваш пароль Wi-Fi, так и данные вашей учетной записи TP-Link.
Хорошей новостью является то, что исследователи заметили, что и приложение Tapo, и прошивка L530E включают базовую проверку безопасности, которая помогает приложению и вашим лампочкам надежно находить друг друга, тем самым снижая риск того, что приложение выболтает ваши пароли, когда это необходимо. 'т.
Но плохая новость в том, что для этого используется протокол. ты правда лампочка? Обмен явно был разработан для того, чтобы избежать ошибок, а не для предотвращения атак.
Проще говоря, приложение находит любые лампочки в своей сети, передавая специальные UDP-пакеты на порт 20002 и проверяя, какие устройства отвечают, если таковые имеются.
Чтобы помочь слушающим лампочкам решить, что ты там? запрос поступил от приложения Tapo, а не от какого-то другого неизвестного продукта или сервиса, который также использует порт 20002, запрос включает в себя то, что на жаргоне называется ключевой хэш.
Ассоциация Я здесь! Ответ от лампочки включает в себя такую же контрольную сумму с ключом, которая помогает приложению отфильтровывать неожиданные и нежелательные ответы UDP.
Проще говоря, хэш с ключом — это контрольная сумма, основанная не только на данных в UDP-пакете, но и на некоторых дополнительных ключевых байтах, которые также включаются в контрольную сумму.
К сожалению, протокол Tapo использует фиксированные ключевые байты для контрольной суммы, при этом один и тот же «ключ» жестко встроен в приложение и в прошивку каждой лампочки Tapo.
Другими словами, как только кто-то декомпилировал либо приложение, либо прошивку лампочки, либо и то, и другое, и восстановил этот «ключ», вы должны предполагать, что все и каждый будут знать, что это такое, что делает еготы там? / я здесь! сообщения тривиально подделать.
Хуже того, исследователи обнаружили, что им не нужно ничего декомпилировать, потому что этот не такой уж и секретный «ключ» имеет длину всего 32 бита, а это означает, что, установив собственную лампочку Tapo в режим настройки, а затем подав ее ты там? сообщения с использованием всех 232 возможных ключей контрольной суммы, вы в конечном итоге нажмете на нужную клавишу с помощью так называемого грубая сила.
Это криптографический эквивалент вращения циферблата, чтобы проверить каждую комбинацию на велосипедном замке, скажем, от 000
в 999
, пока вам не повезет и замок не откроется. (В среднем вы откроете замок, попробовав половину возможных комбинаций, но вам никогда не понадобится больше 1000 попыток.)
На самом деле им не нужно было отправлять 232 сообщения из приложения на лампочку, чтобы взломать ключ.
Перехватив только одно заведомо подлинное сообщение с действительным хешем, они могли затем протестировать все возможные ключи в автономном режиме, пока не создадут сообщение с тем же хешем, что и сохраненное.
Это означает, что атака грубой силы может происходить на скорости процессора, а не только на скорости пакетов сети Wi-Fi, и исследователи утверждают, что «В нашей установке грубая атака всегда завершалась успехом в среднем за 140 минут».
(Мы предполагаем, что они пробовали это неоднократно, просто чтобы проверить, что их код взлома работает правильно, хотя с проводным ключом, общим для всех лампочек Tapo, было бы достаточно даже первого взлома.)
Пока вы будете говорить безопасно, мне все равно, кто вы
Следующая криптографическая проблема возникла на следующем этапе процесса установки лампочки и представляла собой ошибку аналогичного типа.
После принятия лампочки как подлинной на основе хэш-ключа, у которого на самом деле нет ключа, приложение согласовывает сеансовый ключ для шифрования своего трафика с помощью «подлинной» лампочки…
…но в очередной раз не имеет возможности проверить, заключалась ли договоренность о ключах с настоящей лампочкой или с самозванцем.
Согласование сеансового ключа важно, поскольку оно гарантирует, что никто в сети не сможет перехватить пароли Wi-Fi и Tapo, когда они впоследствии будут отправлены из приложения Tapo на то, что оно считает лампочкой Tapo.
Но отсутствие процесса проверки самого соглашения о ключах немного похоже на подключение к веб-сайту через HTTPS, а затем не выполнение даже самой базовой проверки веб-сертификата, который он отправляет обратно: ваш трафик будет защищен при передаче, но тем не менее, может попасть прямо в руки мошенника.
Приложение Tapo идентифицирует себя для лампочки (или того, что оно считает лампочкой), отправляя ему открытый ключ RSA, который другой конец использует для шифрования случайно сгенерированного ключа AES для защиты данных, которыми обмениваются во время сеанса.
Но устройство с лампочкой не обеспечивает никакой идентификации, даже контрольную сумму с проводным 32-битным ключом обратно в приложение Tapo.
Таким образом, у приложения нет другого выбора, кроме как принять сеансовый ключ, не зная, исходил ли он от настоящей лампочки или самозваного устройства.
Совместным результатом этих двух недостатков является то, что злоумышленник в вашей сети может сначала убедить вас, что его несанкционированная точка доступа представляет собой настоящую лампочку, ожидающую настройки, и, таким образом, заманить вас не в то место, а затем убедить вас отправить ее. зашифрованная копия ваших собственных паролей Wi-Fi и Tapo.
По иронии судьбы, эти утекшие пароли действительно будут защищены от всех… кроме самозванца с поддельной точкой доступа.
Номер-использован-один раз, который используется снова и снова
К сожалению, это еще не все.
Когда мы сказали выше, что «Эти утекшие пароли действительно будут в безопасности», это было не совсем правильно.
Ключ сеанса, установленный во время процесса согласования ключей, который мы описали ранее, обрабатывается неправильно, потому что программисты допустили грубую ошибку при использовании AES.
Когда приложение шифрует каждый запрос, который оно отправляет лампочке, оно использует режим шифрования под названием AES-128-CBC.
Мы не будем объяснять CBC (цепочка шифровальных блоков) здесь, но мы просто упомянем, что режим CBC спроектирован таким образом, что если вы шифруете один и тот же фрагмент данных более одного раза (например, повторяющиеся запросы к включить свет и выключи свет, где необработанные данные в запросе каждый раз одни и те же), вы не каждый раз получаете один и тот же результат.
Если каждый включить свет и выключить свет запрос вышел идентичным, но однажды злоумышленник догадался, что за выключи пакет, они могли не только распознавать эти пакеты в будущем, не расшифровывая их, но и воспроизводить те же самые пакеты, вообще не зная, как их зашифровать.
Как это происходит, шифрование на основе CBC эффективно основано на «заполнении» процесса шифрования для каждого фрагмента данных путем первого смешивания уникального, случайно выбранного блока данных с процессом шифрования, создавая таким образом уникальную последовательность зашифрованных данных в остальных куска.
Эти «исходные» данные известны на жаргоне IV, сокращенно от вектор инициализации, и хотя оно не должно быть секретным, оно каждый раз должно быть непредсказуемо разным.
Проще говоря: тот же ключ + уникальный IV = уникальный вывод зашифрованного текста, но тот же ключ + тот же IV = предсказуемое шифрование.
К сожалению, программисты TP-Link генерировали IV одновременно с созданием сеансового ключа AES, а затем использовали один и тот же IV снова и снова для каждого последующего пакета данных, даже если предыдущие данные точно повторялись.
Это криптографическое нет-нет.
Я отправил шесть пакетов или только пять?
Последняя криптографическая проблема, которую обнаружили исследователи, все равно может нанести вред безопасности, даже если проблема вектора инициализации будет решена, а именно: старые сообщения, независимо от того, знает злоумышленник, что они означают, или нет, могут быть воспроизведены позже, как если бы они были новыми.
Обычно этот тип переиграть атаку обрабатывается в криптографических протоколах с помощью какого-то порядкового номера или метки времени, или того и другого, которые включаются в каждый пакет данных, чтобы ограничить его достоверность.
Например, дата на билете на поезд, которая выдаст вас, если вы попытаетесь использовать его два дня подряд, даже если сам билет никогда не будет аннулирован билетным автоматом или пробит контролером по билетам, порядковые номера и временные метки в пакетах данных. служат двум важным целям.
Во-первых, злоумышленники не могут записать трафик сегодня и легко воспроизвести его позже, что может привести к хаосу.
Во-вторых, код с ошибками, который по ошибке повторно отправляет запросы, например, из-за пропущенных ответов или отсутствия сетевых подтверждений, можно надежно обнаружить и контролировать.
Что делать?
Если вы пользуетесь лампочками Tapo, Следите за обновлениями прошивки от TP-Link, которые устраняют эти проблемы.
Если вы программист, отвечающий за безопасность сетевого трафика и настройку сетевых продуктов, прочитать исследовательскую работу, чтобы убедиться, что вы не допустили подобных ошибок.
Запомните следующие правила:
- Криптография – это не только секретность. Шифрование — это лишь одна часть криптологической «святой троицы» конфиденциальность (зашифровать), подлинность (проверьте, кто на другом конце), и целостность (убедитесь, что никто не повредил его по пути).
- Убедитесь, что все одноразовые ключи или IV действительно уникальны. Общий жаргонный термин нунций, используемый для такого рода данных, является сокращением от номер, использованный один раз, слово, которое ясно напоминает вам, что капельницы никогда нельзя использовать повторно.
- Защита от атак повторного воспроизведения. Это особый аспект обеспечения подлинность и целостность мы упомянули выше. Злоумышленник не должен иметь возможности перехватить запрос, который вы делаете сейчас, и слепо воспроизвести его позже, не будучи замеченным. Помните, что злоумышленнику не обязательно понимать сообщение, если он может воспроизвести его и потенциально создать хаос.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Автомобили / электромобили, Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- ЧартПрайм. Улучшите свою торговую игру с ChartPrime. Доступ здесь.
- Смещения блоков. Модернизация права собственности на экологические компенсации. Доступ здесь.
- Источник: https://nakedsecurity.sophos.com/2023/08/22/smart-light-bulbs-could-give-away-your-password-secrets/
- :имеет
- :является
- :нет
- :куда
- $UP
- 1
- 125
- 15%
- 25
- 32
- 700
- a
- в состоянии
- О нас
- выше
- Absolute
- Принять
- принимающий
- доступ
- Аксессуары
- Учетная запись
- признанный
- дополнительный
- адрес
- AES
- После
- снова
- против
- решено
- ДОГОВОР
- Все
- Позволяющий
- вдоль
- причислены
- Несмотря на то, что
- всегда
- am
- Amazon
- an
- и
- любой
- все
- приложение
- МЫ
- AS
- внешний вид
- предполагать
- At
- атаковать
- нападки
- автор
- Авторы
- автоматический
- автоматически
- в среднем
- избежать
- прочь
- назад
- Фоновое изображение
- Плохой
- основанный
- основной
- основа
- BE
- , так как:
- было
- ЛУЧШЕЕ
- Лучшая
- между
- Немного
- слепо
- Заблокировать
- граница
- изоферменты печени
- Дно
- Трансляция
- грубая сила
- встроенный
- но
- by
- под названием
- пришел
- камеры
- CAN
- захватить
- Захват
- заботится
- Причины
- Центр
- сертификат
- заряженный
- проверка
- контроль
- выбор
- выбранный
- явно
- облако
- код
- цвет
- сочетание
- комбинации
- сочетании
- Общий
- Компания
- Конфигурация
- настроить
- Свяжитесь
- подключенный
- Соединительный
- обращайтесь
- контроль
- убеждать
- исправить
- может
- "Курс"
- чехол для варгана
- трещина
- Создайте
- создали
- Создающий
- криптографический
- данным
- Время
- Финики
- Дней
- решать
- описано
- предназначенный
- подробнее
- обнаруженный
- устройство
- Устройства
- различный
- цифры
- непосредственно
- раскрытие
- Дисплей
- do
- приносит
- не
- Dont
- упал
- два
- в течение
- каждый
- Ранее
- легко
- фактически
- или
- еще
- зашифрованный
- шифрование
- конец
- достаточно
- обеспечивать
- обеспечивает
- обеспечение
- полностью
- Эквивалент
- установленный
- Даже
- со временем
- Каждая
- точно,
- пример
- Кроме
- обмена
- обмен
- Объяснять
- Эксплуатировать
- Глаза
- факт
- не настоящие
- кормление
- фильтр
- Найдите
- Во-первых,
- фиксированной
- недостатки
- после
- Что касается
- Форс-мажор
- ковать
- форма
- найденный
- 4
- от
- будущее
- в общем
- генерируется
- подлинный
- получить
- получающий
- Дайте
- данный
- Go
- идет
- будет
- хорошо
- догадывался
- было
- Половина
- Руки
- происходит
- вред
- хэш
- Есть
- имеющий
- высота
- помощь
- здесь
- Удар
- Главная
- зависать
- Как
- How To
- HTTPS
- i
- Идентификация
- идентифицирует
- if
- важную
- in
- включены
- включает в себя
- косвенно
- сообщил
- вместо
- Интернет
- в
- Поставщик интернет-услуг
- вопросы
- IT
- Италии
- ЕГО
- саму трезвость
- жаргон
- присоединиться
- всего
- только один
- Сохранить
- Основные
- ключи
- Знать
- знание
- известный
- Фамилия
- Поздно
- новее
- наименее
- оставил
- уровни
- легкий
- лампочки
- такое как
- ОГРАНИЧЕНИЯ
- Listening
- Длинное
- смотрел
- искать
- машина
- сделанный
- сделать
- Создание
- управлять
- многих
- Маржа
- макс-ширина
- значить
- означает
- означает,
- упомянутый
- просто
- сообщение
- Сообщения
- Минут
- отсутствующий
- ошибка
- ошибки
- Смешивание
- режим
- момент
- БОЛЕЕ
- самых
- должен
- имя
- а именно
- Необходимость
- нуждающихся
- сеть
- Имя сети
- сетевой трафик
- сетевой
- никогда
- Тем не менее
- Новые
- Новости
- следующий
- нет
- Ничто
- "обычные"
- сейчас
- номер
- номера
- of
- от
- оффлайн
- Старый
- on
- консолидировать
- ONE
- только
- открытый
- or
- заказ
- Другое
- наши
- внешний
- Результат
- выходной
- за
- собственный
- пакеты
- бумага & картон
- часть
- Пароль
- пароли
- Патчи
- Пол
- Выполнять
- Телефон
- Часть
- планирование
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- Играть
- играл
- Много
- Сменная
- Точка
- попсовый
- должность
- возможное
- Блог
- потенциально
- предсказуемый
- предотвращать
- предыдущий
- вероятно
- Проблема
- продолжить
- процесс
- Произведенный
- Продукт
- FitPartner™
- Программист
- Программисты
- защищенный
- протокол
- протоколы
- обеспечивать
- обеспечение
- что такое варган?
- публичный ключ
- целей
- положил
- быстро
- случайно сгенерированный
- скорее
- Сырье
- готовый
- реальные
- на самом деле
- причины
- недавно
- признать
- запись
- снижение
- относительный
- освободить
- помнить
- повторный
- НЕОДНОКРАТНО
- Ответить
- отчету
- Reporting
- запросить
- Запросы
- исследованиям
- исследователи
- ответственный
- ОТДЫХ
- Показали
- правую
- Снижение
- Дорога
- РЯД
- RSA
- условиями,
- Сохранность
- Сказал
- то же
- сообщили
- Во-вторых
- Secret
- безопасный
- безопасно
- обеспечение
- безопасность
- видя
- казаться
- Отправить
- отправка
- посылает
- послать
- Последовательность
- служить
- обслуживание
- Сессия
- набор
- установка
- установка
- общие
- Короткое
- должен
- аналогичный
- ШЕСТЬ
- умный
- смартфон
- Шпионить
- So
- твердый
- некоторые
- Кто-то
- Space
- говорить
- особый
- скорость
- раскол
- стек
- Этап
- Начало
- и политические лидеры
- Область
- По-прежнему
- прямой
- строка
- сильный
- последующее
- впоследствии
- такие
- Убедитесь
- SVG
- Коммутатор
- взять
- цель
- сказать
- временный
- срок
- тестXNUMX
- чем
- который
- Ассоциация
- Великобритании
- их
- Их
- тогда
- Там.
- следовательно
- Эти
- они
- задача
- Думает
- этой
- те
- мысль
- три
- Через
- Таким образом
- билет
- время
- раз
- отметка времени
- в
- сегодня
- приняли
- топ
- трафик
- Train
- транзит
- переход
- прозрачный
- пыталась
- трио
- по-настоящему
- стараться
- ОЧЕРЕДЬ
- Оказалось
- Поворот
- два
- напишите
- Uk
- понимать
- Неожиданный
- К сожалению
- созданного
- неизвестный
- до
- Updates
- URL
- us
- USB
- использование
- используемый
- Информация о пользователе
- использования
- через
- проверка
- проверить
- с помощью
- Уязвимости
- уязвимость
- Ожидание
- стена
- законопроект
- Путь..
- we
- Web
- Вебсайт
- ЧТО Ж
- были
- Что
- когда
- будь то
- который
- в то время как
- КТО
- Wi-Fi
- ширина
- будете
- без
- Word
- слова
- Работа
- работает
- хуже
- стоимость
- бы
- Неправильно
- Х
- Ты
- ВАШЕ
- зефирнет