# Veritasium: «Насколько легко взломать гаражные ворота?»

Источник: https://www.youtube.com/watch?v=CNodxp9Jy4A
Канал: Veritasium
Опубликовано: 19.09.2018

---

## Взлом гаражных ворот: от простых кодов до уязвимостей протоколов
[[JUMP:00:00]]

Безопасность систем дистанционного управления гаражными воротами часто переоценивается, однако методы их защиты значительно различаются. В видео автор канала Veritasium вместе с исследователем по имени Сэмми (Sammy) демонстрируют, насколько уязвимыми могут быть устройства, использующие фиксированные коды, и объясняют принципы работы более сложных систем с «плавающими» кодами.

### 🔓 Уязвимость фиксированных кодов
[[JUMP:02:00]]

Большинство простых пультов управления работают в диапазоне ISM (Industrial, Scientific, Medical), который не требует лицензирования и обычно находится в пределах 300–433 МГц. При нажатии кнопки пульт передает сигнал, модулированный методом амплитудной манипуляции (ASK — Amplitude Shift Keying), где каждый бит данных (0 или 1) кодируется временем состояния сигнала.

Основные проблемы безопасности таких систем:

* **Ограниченное количество комбинаций:** В 8-битных системах количество возможных кодов составляет $2^8$, то есть всего 256 вариантов.
* **Скорость перебора:** Поскольку отправка одного кода занимает около 32 миллисекунд, полный перебор всех 256 комбинаций занимает менее 10 секунд.
* **Алгоритм сдвигового регистра:** Приемники часто используют сдвиговые регистры, которые не отбрасывают неправильную последовательность целиком, а «сдвигают» данные, анализируя новые биты вместе с остатками старых.

### 📉 Последовательность де Брёйна
[[JUMP:05:50]]

Благодаря особенностям работы сдвиговых регистров, атакующим не нужно отправлять каждый код отдельно с паузами. Вместо этого можно использовать последовательность де Брёйна (de Bruijn sequence). Это математический метод, позволяющий сжать все возможные комбинации в одну непрерывную строку битов, где каждый новый код перекрывается с предыдущим.

Преимущества использования этой последовательности для взлома:

* Для 8-битного кода: количество бит сокращается с 2048 до 263, что ускоряет перебор почти в 9 раз.
* Для 12-битного кода (4096 комбинаций): время подбора сокращается с 4,5 минут до примерно 10 секунд.

Для реализации таких атак хакеры часто используют устройство IM-Me от компании Mattel. Несмотря на то, что это детская игрушка, внутри установлен чип CC1110, поддерживающий широкий диапазон частот (от 200 до 950 МГц) и позволяющий перепрограммировать себя для отправки кастомных сигналов.

### 🛡️ Проблема «плавающих» (rolling) кодов
[[JUMP:08:26]]

Более современные ворота используют «плавающие» (rolling) коды. В этой системе и пульт, и приемник содержат алгоритм и секретный «зерновой» ключ (seed). При каждом нажатии генерируется новое псевдослучайное число.

По словам Сэмми, такая система устойчива к простому перехвату, так как перехваченный код становится недействительным сразу после первого использования. Однако существует метод атаки, основанный на подавлении сигнала (jamming):

1.  Устройство атакующего глушит сигнал пульта в момент нажатия, из-за чего приемник не получает команду, а злоумышленник перехватывает «будущий» код.
2.  Владелец, видя, что ворота не открылись, нажимает кнопку второй раз.
3.  Злоумышленник снова глушит сигнал и перехватывает следующий «будущий» код.
4.  Затем атакующий воспроизводит первый перехваченный код, ворота открываются, а у злоумышленника в запасе остается валидный код, который он может использовать в будущем.

### 🚧 Сложность реальных взломов
[[JUMP:11:11]]

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

* Частоту несущего сигнала.
* Скорость передачи данных (baud rate).
* Тайминги битов.

Даже при наличии необходимого оборудования (как IM-Me), попытка взлома конкретных ворот может закончиться неудачей из-за отсутствия точных параметров сигнала, которые уникальны для каждого производителя и модели.