Интеллектуальные помехи комплексам ПВО
Вновь приходится слышать утверждения, что невозможно “вывести из строя комплекс ПВО” при помощи передачи в адрес его РЛС особого сигнала помехопостановщиком. Мотивировка примерно такая: “РЛС служит только для измерения расстояния до цели, воздействовать на комплекс через неё невозможно; вычислительные машины комплекса не подключены к Интернету, их тоже не достать”. В реальности, к сожалению, всё не так просто. Я уже писал на эту тему ранее, в этот раз добавлю пару детальных примеров.
Для начала, случай из моей практики, не имеющей отношения к комплексам ПВО. Однажды мы разрабатывали систему автоматического анализа изображений, для некоторой коммерческой аппаратуры. В задачи системы входил разбор поступившей с видеокамеры картинки, распознавание и подсчёт неких объектов. Как вы понимаете, “видеокамера служила только для получения картинки”. На очередном этапе отладки неожиданно выяснилось, что при наблюдении видеокамерой некоторых сцен – программная часть, реализующая анализ изображения, “падает”, в результате критической ошибки. К счастью, ситуация довольно хорошо воспроизводилась, поэтому, при помощи отладчика, удалось выяснить, что данные изображения, в момент их разбора одной из процедур, приводили к порождению большого числа (миллионы) мелких объектов в памяти компьютера. Построение индекса объектов, конечно, было реализовано с мелкой и достаточно традиционной ошибкой – переполнялся буфер, что и приводило к сбою. При этом, в случае подавляющего большинства других изображений, ничего подобного не возникало, так как ситуация с порождением миллионов объектов, вообще-то, оказалась довольно редкой: подходящее изображение попалось чисто случайно.
Собственно, в этой истории нет ничего уникального: практически все программно-аппаратные системы, работающие с реальностью, сталкиваются с тем, что некое непрограммное воздействие извне – будь то подходящая “картинка”, громкий звук или неожиданное ускорение, – приводит к аварии. Комплекс ПВО – не исключение. Программы для комплексов разрабатывают такие же инженеры-программисты, как и те, которые работают с коммерческими системами реального времени. Думаю, миф о том, что комплекс – изолированная система, сложился в головах не чуждых программирования и информационных технологий людей, которые, при этом, никогда не имели дела с разработкой систем управления, а ограничивались “электронными таблицами” и базами данных.
Перейдём к комплексам ПВО. Понятно, что активная система РЭБ может сформировать такую помеху, такой сигнал, который временно выведет вычислительные системы РЛС из строя, использовав ту или иную ошибку в программном коде. Ошибка, при этом, может считаться и не ошибкой вовсе, а особенностью, поскольку в практике применения разработчикам с её проявлением сталкиваться не приходилось. Например, рассуждая сугубо теоретически, можно представить следующую ситуацию: для индикации и сопровождения целей программное обеспечение циклически вычисляет их координаты в некоторой собственной системе; РЛС при этом проводит подсвет разных целей, перемещая луч; задача активной помехи состоит в формировании ложной цели, которая, будучи поставленной на сопровождение, начнёт давать отметку, противоречащую текущему положению луча РЛС. Возникшая в программе, после преобразования координат, конфигурация переменных не была предусмотрена программистом – пожалуйста, получаем глобальный сбой, придётся перезапускать.
Современные комплексы ПВО, оставаясь системами реального времени, имеют достаточно сложные и, в какой-то мере, гибкие программы управления. Но если речь идёт о старых советских комплексах, например о тех же классических “Буках”, то они работают по жёсткой и весьма простой временной диаграмме, что сильно упрощает получение атакующей стороной данных о том, в каком состоянии находится комплекс, что он будет делать в следующую миллисекунду.
Почему сложные активные атаки РЭБ не случались раньше, а о них рассуждают только сейчас? Всё просто: двадцать лет назад, и ранее, во-первых, не было элементной базы, которая позволила бы реализовать подобный помехопостановщик. Речь, заметьте, не столько о центральных арифметических процессорах и памяти, сколько о приёмо-передающих элементах и специальных сигнальных процессорах. Во-вторых, на перенос теоретического математического аппарата в практическую электронику требуются время, а сам нужный прикладной математический аппарат мог появиться только после накопления опыта взаимодействия с системами ПВО. Ну и в-третьих, да, огромная вычислительная мощность оказалась доступной “в поле” только относительно недавно.
Дополнение: в комментариях верно заметили, что для эффективного анализа ошибок (или особенностей) в работе комплекса ПВО нужен сам комплекс, либо образцы программного обеспечения. Это так. Однако, в теории, можно выявить потенциальные дефекты и особенности внешним наблюдением, не имея прямого доступа к самой системе. Особенно это касается старых комплексов, которые устроены по хорошо известным принципам, выдают детали внутренней работы через побочные каналы и имеют небольшое пространство состояний (что упрощает моделирование). А вот и старая записка по этой теме.
(Кстати, записка по теме – активация аппаратных закладок.)
Адрес записки: https://dxdt.ru/2013/09/03/6138/
Похожие записки:
- Централизация обновлений и CrowdStrike
- Спутниковый радар Umbra
- Наземные терминалы Starlink как элементы радара
- Реплика: возможный доступ приложений "Яндекса" к OBD автомобиля
- Интернет-протокол "дымовой завесы"
- Новые атаки на SHA-256 (SHA-2): технические пояснения
- Полностью зашифрованные протоколы в Интернете
- ИИ для принятия решений
- Детерминированный вариант ECDSA
- Радиомодуль в смартфоне и недокументированные возможности
- Капитолийские ноутбуки
Комментарии читателей блога: 6
1 <t> // 3rd September 2013, 13:18 // Читатель Egor Petrov написал:
Да и с дальностью всё не так просто. Как давно появился термин “прожечь помеху”? Истребители вполне успешно до определённой дистанции ставят помехи затрудняющие определение этой самой дистанции и не позволяющие уверенно произвести пуск ракет.
2 <t> // 3rd September 2013, 13:34 // Читатель arcman написал:
Опять таки сам по себе удаленный вывод из строя не обязателен, вполне достаточно не дать ПВО выполнить свою задачу.
Забить все ресурсы ложными целями, помехой искажать реальные данные о дальности, вынудить израсходовать боекомплект на имитаторы.
3 <t> // 3rd September 2013, 17:45 // Читатель зашел в гости написал:
Не совсем понимаю. Автор в “личном примере” написал, что ошибка в ПО была обнаружена случайно. Т.е., вполне возможно, если бы ее не обнаружили при тестировании, то система работала бы годами без единого сбоя. В программах, с которыми я работаю такое сплошь и рядом: находим ошибки, которым по 20-30 лет. Причем, явные, грубые ошибки. И каким-то образом, программа работала, обслуживала транзакции, и все сходилось и в месячных отчетах, и в ежегодных аудитах.
То что в дизайне систем ПВО могут быть такие же ошибки – я не сомневаюсь. Проблема в том, как не зная устройство системы, целенаправленно сгенерировать такую помеху? Если у вас в руках есть образец “Бука”, то да, его можно разобрать, прозвонить, и сообразить, что он, скажем (утрировано), не может отслеживать более N целей. Имитируем отражение от N+1 целей, комплекс “падает”. А если о работе системы ПВО мы ничего не знаем? Допустим, о сирийской версии С-300. ПО там может быть урезанное, отличное от российского и того, что поставлялось другим зарубежным клиентам. Как генерировать “интеллектуальную” помеху? Задача-то стоит не в интеллектуальном упражнении, а в том, чтобы вывести из строя комплекс ПВО в нужное время, в нужном месте на нужное количество времени.
4 <t> // 3rd September 2013, 18:02 // Александр Венедюхин:
Да, для анализа ошибок – нужен образец комплекса. Что-то я про этот момент не написал прямо. Верно заметили, спасибо. Сейчас добавлю. Думаю, что образцы старых систем есть. В целом, атаку можно построить и не зная изначально деталей устройства комплекса, но это, понятно, сложнее.
5 <t> // 4th September 2013, 01:36 // Читатель jno написал:
Старые наши зрк наверняка есть у амеров. А количество новых невелико
6 <t> // 24th October 2013, 11:53 // Читатель MayBe I'm A Leo написал:
“РЛС при этом проводит подсвет разных целей, перемещая луч; задача активной помехи состоит в формировании ложной цели, которая, будучи поставленной на сопровождение, начнёт давать отметку, противоречащую текущему положению луча РЛС.” Абсурд… Так наколоть возможно в режиме обзора. Но при постановке на сопровождение уязвим только канал по дальности цели. Ведь сканируемый сектор пространства задаётся системой управления или оператором(пусть даже на основе ложных данных). И если излучатель постановщика не попадает в узкий луч ДН прёмной антенны, значит и помеху от него РЛС не примет. Да и графически не получится отобразить отметку на экране в том направлении, куда луч не направлен. В старых комплексах Отклоняющая система ИКО была физически связана с угломерными датчиками поворота антенного полотна. Положение луча ЭЛТ строго соответствовало направлению луча ДН. Отметка физически не могла быть сформирована в другом месте…
В современных системах весь массив входящих данных прореживается через т.н. окно ожиданий, алгоритмы отстройки от помех имеют очень гибкие адаптивные настройки.
В случае, когда несколько пространственно разнесенных СОЦ объединены в сеть, с взаимным анализом поступающих данных, воздействие на комплекс подобными видами помех практически исключено.