Clear Sky Science · ru

К пониманию применимости защиты с подвижной целью во время выполнения для Интернета вещей и киберфизических систем

· Назад к списку

Почему крошечным компьютерам нужны мощные защиты

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

Figure 1
Figure 1.

Подвижная мишень для злоумышленников

Традиционные средства защиты, такие как межсетевые экраны или антивирусы, в основном реагируют после начала атаки. Защита с подвижной целью использует другой подход: она постоянно меняет ключевые части системы, чтобы злоумышленники никогда не могли точно прицелиться. Конкретная техника, изученная здесь, — рандомизация расположения адресного пространства (ASLR), которая перемешивает, где в памяти размещаются программы и библиотеки при каждом запуске. Таким образом, даже если атакующий знает о слабом месте, ему трудно снова найти точный адрес. ASLR уже является стандартом в крупных операционных системах, но её поведение на небольших устройствах с ограниченными ресурсами — таких, какие обычно встречаются в IoT и CPS — было плохо изучено.

Тестирование трёх систем

Авторы сравнивают, насколько эффективно работает ASLR на трёх системах на базе Linux: 64‑битной системе Kali Linux на типичном процессоре Intel и двух 32‑битных ARM‑системах под управлением Raspberry Pi OS и OpenWRT, которые ближе к устройствам периферии, маршрутизаторам и шлюзам. Вместо того чтобы пытаться взломать системы вслепую, они действуют как учёные: многократно записывают, где общая системная библиотека (libc) оказывается в памяти, строя большие наборы реальных адресов. Затем они смотрят, насколько широко распределены эти адреса, как отдельные байты каждого адреса меняются от запуска к запуску и насколько непредсказуем общий паттерн с помощью меры, называемой энтропией. Это позволяет количественно оценить, насколько трудно атакующему угадать правильное расположение.

Насколько «достаточно случайно»?

Результаты показывают резкий контраст между большой 64‑битной системой и 32‑битными устройствами. На 64‑битном Kali Linux адреса распределены почти равномерно по широкому диапазону: большинство байтов адреса сильно меняются, очень мало повторяющихся позиций, и статистический тест подтверждает, что выбор выглядит близким к истинно случайному. Для атакующего это означает огромное пространство поиска и мало шансов быстро угадать нужное место. На 32‑битных системах, напротив, фактически появляется лишь небольшой набор из 256 различных адресов, даже при сборе 100 000 образцов. Несколько байтов практически не меняются, во многом из‑за архитектурных ограничений и требований выравнивания страниц памяти. На практике это значит, что атакующему может понадобиться всего несколько сотен попыток — не миллионы и не миллиарды — чтобы попасть в нужный адрес.

Figure 2
Figure 2.

Реальная атака и небольшие издержки

Чтобы проверить, имеют ли эти различия значение на практике, исследователи реализуют тип техники перехвата управления, известный как атака с программированием возвращений (ROP), на всех трёх системах. Когда отключена ключевая опция усиления безопасности — Position Independent Executable (PIE), — атака успешна: нормальный поток выполнения программы перенаправляется на скрытые функции, выбранные атакующим. Но как только PIE включают, в сочетании с ASLR, делающими даже расположение самой программы подвижным, атака надёжно приводит к падению программы вместо полного захвата — как на мощной 64‑битной машине, так и на скромных 32‑битных ARM‑устройствах. Измерения также показывают, что включение ASLR, защит стека и исполнения в недоступной области памяти добавляет лишь небольшие накладные расходы по памяти и времени выполнения — порядка одного процента.

Что это значит для повседневных устройств

Исследование приходит к выводу, что хотя ASLR на 32‑битных ARM‑системах математически слабее и менее случайна, чем на 64‑битных настольных и серверных системах, она всё ещё обеспечивает защиту, сопоставимую со старыми 32‑битными ПК, и может успешно блокировать простые атаки в сочетании с другими встроенными средствами защиты. Для самых маленьких датчиков IoT ASLR часто невозможна, поскольку в оборудовании отсутствуют необходимые возможности управления памятью; там лучше подходят другие методы, такие как защищённая загрузка (secure boot) и лёгкое шифрование. Но для периферийных устройств, таких как маршрутизаторы и платы класса Raspberry Pi, включение ASLR, PIE и сопутствующих защит — практично и оправданно. Переход этих платформ на 64‑битную архитектуру и сочетание ASLR с другими приёмами «подвижной цели» на сетевом и программном уровнях может существенно повысить барьер для злоумышленников, пытающихся превратить повседневные предметы в орудия.

Цитирование: Gurung, D., Pradhan, M.P. & Gurung, S. Towards understanding the applicability of runtime moving target defense for the internet of things and cyber physical systems. Sci Rep 16, 5907 (2026). https://doi.org/10.1038/s41598-026-36797-4

Ключевые слова: moving target defense, ASLR, Безопасность Интернета вещей, киберфизические системы, атаки с переполнением буфера