Взлом гаражных ворот: от простых кодов до уязвимостей протоколов 0:00
Безопасность систем дистанционного управления гаражными воротами часто переоценивается, однако методы их защиты значительно различаются. В видео автор канала Veritasium вместе с исследователем по имени Сэмми (Sammy) демонстрируют, насколько уязвимыми могут быть устройства, использующие фиксированные коды, и объясняют принципы работы более сложных систем с «плавающими» кодами.
🔓 Уязвимость фиксированных кодов 2:00
Большинство простых пультов управления работают в диапазоне ISM (Industrial, Scientific, Medical), который не требует лицензирования и обычно находится в пределах 300–433 МГц. При нажатии кнопки пульт передает сигнал, модулированный методом амплитудной манипуляции (ASK — Amplitude Shift Keying), где каждый бит данных (0 или 1) кодируется временем состояния сигнала.
Основные проблемы безопасности таких систем:
- Ограниченное количество комбинаций: В 8-битных системах количество возможных кодов составляет $2^8$, то есть всего 256 вариантов.
- Скорость перебора: Поскольку отправка одного кода занимает около 32 миллисекунд, полный перебор всех 256 комбинаций занимает менее 10 секунд.
- Алгоритм сдвигового регистра: Приемники часто используют сдвиговые регистры, которые не отбрасывают неправильную последовательность целиком, а «сдвигают» данные, анализируя новые биты вместе с остатками старых.
📉 Последовательность де Брёйна 5:50
Благодаря особенностям работы сдвиговых регистров, атакующим не нужно отправлять каждый код отдельно с паузами. Вместо этого можно использовать последовательность де Брёйна (de Bruijn sequence). Это математический метод, позволяющий сжать все возможные комбинации в одну непрерывную строку битов, где каждый новый код перекрывается с предыдущим.
Преимущества использования этой последовательности для взлома:
- Для 8-битного кода: количество бит сокращается с 2048 до 263, что ускоряет перебор почти в 9 раз.
- Для 12-битного кода (4096 комбинаций): время подбора сокращается с 4,5 минут до примерно 10 секунд.
Для реализации таких атак хакеры часто используют устройство IM-Me от компании Mattel. Несмотря на то, что это детская игрушка, внутри установлен чип CC1110, поддерживающий широкий диапазон частот (от 200 до 950 МГц) и позволяющий перепрограммировать себя для отправки кастомных сигналов.
🛡️ Проблема «плавающих» (rolling) кодов 8:26
Более современные ворота используют «плавающие» (rolling) коды. В этой системе и пульт, и приемник содержат алгоритм и секретный «зерновой» ключ (seed). При каждом нажатии генерируется новое псевдослучайное число.
По словам Сэмми, такая система устойчива к простому перехвату, так как перехваченный код становится недействительным сразу после первого использования. Однако существует метод атаки, основанный на подавлении сигнала (jamming):
- Устройство атакующего глушит сигнал пульта в момент нажатия, из-за чего приемник не получает команду, а злоумышленник перехватывает «будущий» код.
- Владелец, видя, что ворота не открылись, нажимает кнопку второй раз.
- Злоумышленник снова глушит сигнал и перехватывает следующий «будущий» код.
- Затем атакующий воспроизводит первый перехваченный код, ворота открываются, а у злоумышленника в запасе остается валидный код, который он может использовать в будущем.
🚧 Сложность реальных взломов 11:11
Несмотря на теоретическую уязвимость, на практике взлом оказывается сложной задачей даже для простых систем. Сэмми отмечает, что для успешной атаки необходимо с идеальной точностью подобрать:
- Частоту несущего сигнала.
- Скорость передачи данных (baud rate).
- Тайминги битов.
Даже при наличии необходимого оборудования (как IM-Me), попытка взлома конкретных ворот может закончиться неудачей из-за отсутствия точных параметров сигнала, которые уникальны для каждого производителя и модели.