Аннотация. Спутники являются важным аспектом нашего современного общества и внесли значительный вклад в то, как мы живем сегодня, в первую очередь благодаря современным телекоммуникациям, глобальному позиционированию и наблюдению за Землей. В последние годы, и особенно в связи с наступлением Новой космической эры, число развертываний спутников резко возросло. Несмотря на его критическую важность, было проведено мало академических исследований по безопасности спутников и, в частности, по безопасности встроенного программного обеспечения. Этот недостаток, вероятно, связан с устаревшими до сих пор предположениями о достижении безопасности за счет неизвестности, что фактически препятствует значимым исследованиям спутникового программного обеспечения.
В этой статье мы впервые приводим классификацию угроз для спутниковых прошивок. Затем мы проводим экспериментальный анализ безопасности трех реальных образов прошивки спутников. Мы основываем наш анализ на наборе реальных моделей злоумышленников и обнаруживаем несколько критических с точки зрения безопасности уязвимостей во всех проанализированных образах встроенного ПО. Результаты нашей экспериментальной оценки безопасности показывают, что современные орбитальные спутники страдают от различных уязвимостей безопасности программного обеспечения и часто отсутствия надлежащих механизмов защиты доступа. Они также подчеркивают необходимость преодоления преобладающих, но устаревших предположений. Чтобы обосновать наши наблюдения, мы также провели опрос 19 профессиональных разработчиков спутников, чтобы получить всестороннюю картину ландшафта безопасности спутников.
1. Введение
Спутники — это сложные технические устройства, которые размещаются в космическом пространстве в исследовательских целях или для предоставления наземным приложениям услуг, использующих покрытие земной поверхности. В то время как первый спутник, Sputnik, датируется 1957 годом, мы находимся в разгаре возрождения космических полетов, называемого Новой космической эрой [1]. Особенно в последние годы мы наблюдаем огромный рост числа спутников на околоземной орбите. По данным Управления ООН по вопросам космического пространства (UNOOSA), их количество почти удвоилось с 4867 в 2019 г. до 9350 в 2022 г. [2]. Подавляющее большинство этих спутников образуют мегагруппировки, такие как Starlink, которая планирует запустить более 40 000 спутников в ближайшие годы [3].
Малые спутники [4] лежат в основе новой космической эры, поскольку их размер и широкое использование готовых коммерческих компонентов (COTS) делают их доступными даже для небольших организаций. Кроме того, они охватывают широкий спектр вариантов использования, начиная от коммерческих приложений (таких как наблюдение Земли, межмашинная связь и интернет-сервисы) и заканчивая исследовательскими приложениями, такими как тестирование технологий, прогнозирование погоды и землетрясений и даже межпланетные миссии. [5]–[8].
Хотя их применение широко варьируется, малые спутники обычно состоят из радиооборудования и плат микроконтроллеров. Следовательно — в самом широком смысле — это компьютерные системы, подключенные к наземной станции на Земле, а иногда и к другим спутникам. Поскольку они полагаются на беспроводные соединения для управления и контроля и используют микроконтроллеры, они потенциально так же уязвимы для атак, как и любая другая подключенная ИТ-платформа на Земле.
В прошлом этот вопрос не был очень актуален, поскольку доступ к наземным станциям был дорогим и ограничивался крупными операторами спутниковой связи. Однако в последние годы ситуация коренным образом изменилась. В настоящее время наземные станции доступны даже для частных лиц, а с появлением моделей «Наземная станция как услуга» (GSaaS), таких как предлагаемые Amazon Web Services [9] и Microsoft Azure [10], входной барьер становится еще ниже. Мы видели в области безопасности мобильных сетей, как предположение провайдеров о том, что радиооборудование, необходимое для атак, будет слишком дорогим и недоступным для злоумышленников, было в конечном итоге опровергнуто технологическими достижениями [11]. Аналогичным образом доступные по цене наземные станции создают новую поверхность для атаки, где злоумышленники могут связываться со спутниками и использовать уязвимости программного обеспечения. Если им удастся скомпрометировать прошивку спутника, они смогут получить доступ к спутнику и потенциально получить полный контроль над системой.
Несмотря на ранние предупреждения [12], мало что было сделано для решения этой проблемы по нескольким причинам, как указывает Фалько [13]. Хотя отсутствие стандартов безопасности для спутников и сложная цепочка поставок усложняют ситуацию, основной причиной является недоступность программного обеспечения спутников. Исторически сложилось так, что разработчики спутников полагались на безопасность через неизвестность. Разработчики сети Iridium даже упомянули, что их система будет слишком сложной для злоумышленников [13]. Тем не менее, Дриссен и соавт. показали, что злоумышленники могут успешно расшифровать передачу данных по сети [14]. В частности, недоступность спутников на орбите делает lfvg прошивки исследователями очень сложным (если не невозможным), препятствуя прогрессу в этой области. Следовательно, разработчики спутниковых прошивок выступают в роли привратников и не предоставляют исследователям объекты исследования. Примечательно, что Павур и Мартинович [15], а также Фалько [13] признают, что тема все еще недостаточно изучена, и делают вывод о необходимости сотрудничества между разработкой спутников и сферой безопасности. Кроме того, в последнее время все большее внимание привлекают такие хорошо известные темы, как безопасность спутниковой связи, безопасность спутниковых интернет-сервисов и сценарии угроз для спутников [16], [17]. Однако в дискуссиях об отдельных спутниках обычно не хватает технических деталей спутников и реальных основ из-за недоступности спутникового программного обеспечения.
В этой статье мы вносим три вклада в систематическое улучшение спутниковой безопасности. Во-первых, мы представляем обзор угроз бортового программного обеспеченич спутников. Такой систематический обзор поверхностей атак позволяет нам лучше представить сложную природу спутников и классифицировать выводы, относящиеся к безопасности, на протяжении всего документа.
Во-вторых, мы проводим экспериментальный и всесторонний анализ безопасности трех реальных спутников на орбите, чтобы лучше понять поверхность атаки и текущее состояние безопасности программного обеспечения в этой конкретной области. Мы фокусируемся на спутниках на низкой околоземной орбите (НОО), поскольку эта орбита является основным направлением Новой космической эры. Наиболее распространенным классом спутников являются наноспутники, а точнее, CubeSat, который представляет собой стандартный форм-фактор кубов размером 10 см (называемых Units или U). Эти спутники обычно весят менее 1,33 кг и используются во многих различных проектах. После долгих уговоров, доверительных отношений, обсуждений и заключения контрактов мы получили доступ к нескольким образам спутниковых прошивок, которые смогли проанализировать. В результате нашей оценки безопасности мы обнаружили шесть различных типов уязвимостей безопасности в недавно запущенных современных космических аппаратах, включая незащищенные интерфейсы телеуправления. Все уязвимости были повторно ответственно раскрыты поставщикам. Обратите внимание, что входной барьер для выявления этих уязвимостей был сложным, учитывая чувствительный характер этих систем. Насколько нам известно, наша работа — первая демонстрация эксплуатации уязвимостей прошивки спутника, позволяющая злоумышленникам получить постоянный контроль над спутником.
В-третьих, мы провели опрос 19 профессиональных инженеров и разработчиков спутников, чтобы расширить сферу нашего исследования. Всего в ответах содержится техническая информация о 17 спутниках, а всего участники работали со 132 спутниками. Наш опрос показывает, что неясность протокола так же распространена, как и шифрование для защиты доступа, и что небольшие группы разработчиков скорее склонны разрабатывать полностью настраиваемые протоколы, чем использовать существующие. Как отметил один из участников нашего опроса: «Мы сосредоточились на предоставлении функционирующей системы, а не безопасной».
Подводя итог, мы делаем следующие основные вклады:
- Таксономия угроз и сопутствующих моделей злоумышленников против встроенного программного обеспечения спутников, которая обеспечивает систематический обзор и позволяет нам создавать модели угроз для конкретных спутников.
- Систематический анализ безопасности трех реальных образов прошивок спутников, который выявил 13 уязвимостей и основан на модели злоумышленника с учетом последних технических разработок (например, GSaaS).
- Опрос спутникового сообщества, чтобы оспорить наши технические результаты и пролить свет на взгляды профессионалов космического сообщества на безопасность.
2. Спутниковый контекст
Искусственный спутник (обычно сокращенно спутник) — это объект, намеренно размещенный в космическом пространстве, который вращается вокруг другого тела, например Земли. Спутники предназначены для работы в суровых условиях космоса, включая экстремальные перепады температуры около 200 °C, происходящие более десяти раз в день, почти вакуум и космическое излучение. Однако развертывание в космосе часто необходимо для предоставления космических услуг на Землю с общими спутниковыми приложениями, включая связь, наблюдение за Землей и исследования. Хотя большинство спутников развернуто на НОО (250–2000 км), в зависимости от назначения спутника могут потребоваться другие орбиты, такие как геостационарная орбита (ГСО) (35 786 км).
2.1. Спутниковые операции
Спутниковые операции, как показано на рис. 1, развиваются вокруг трех основных компонентов: группового сегмента, который управляет спутниковой службой, космического сегмента, состоящего из всех космических средств, и пользовательского сегмента, который получает спутниковую службу, такую как Глобальная система позиционирования (GPS) или связь.
2.1.1. Наземный сегмент. Наземный сегмент является центром всех спутниковых операций на протяжении всего срока службы спутника. Группа операторов связывается со спутником, используя наземную станцию (GS), чтобы передать спутнику новые инструкции, называемые Telecommand (TC). В свою очередь, спутник отправляет телеметрию (TM) обратно в GS, предоставляя информацию о статусе спутника, ошибках и других показателях. TC использует космический протокол, который мы описываем в разделе 2.3. Далее мы называем комбинацию данных TC и TM трафиком TC/TM.
2.1.2. Космический сегмент. Космический сегмент включает в себя все космические аппараты, участвующие в операциях со спутниками, которые могут быть как отдельными спутниками, так и целой группировкой. Эти спутники первоначально выводятся на орбиту с помощью ракеты-носителя, а затем проходят этап орбитального развертывания для установления связи с наземным сегментом. Во время фазы номинальных операций, которая описывает регулярные операции службы, спутники могут связываться друг с другом через межспутниковую линию связи (ISL).
2.1.3. Пользовательский сегмент. Терминал, например, терминал с очень малой апертурой (VSAT) или приемник GPS в пользовательском сегменте, получает услугу, предоставляемую космическим сегментом. Обратите внимание, что некоторые спутники, такие как спутники наблюдения Земли, обмениваются данными исключительно со своим наземным сегментом и не включают пользовательский сегмент.
2.2. Спутниковая архитектура
На рис. 2 представлены компоненты, обычно встречающиеся в современном спутнике, которые разделены на полезную нагрузку спутника и спутниковую шину. Полезная нагрузка спутника состоит из специализированного оборудования, такого как камера высокого разрешения для наблюдения за Землей или мощное радиооборудование для телекоммуникаций. Спутниковая шина включает в себя все компоненты, необходимые для работы и обслуживания спутника. Он предназначен для работы независимо от полезной нагрузки, но, наоборот, полезная нагрузка зависит от шины. Мы называем это разделением как разделение шины и полезной нагрузки. Поэтому в нашем анализе безопасности мы сосредоточимся на спутниковой шине, потому что, в отличие от многих полезных нагрузок, она предоставляет злоумышленникам полный контроль над спутником.
2.2.1. Система управления и обработки данных (CDHS). Шина сосредоточена вокруг CDHS, которая управляет спутником и контролирует все функции космического корабля. CDHS использует бортовой контроллер (OBC), который использует вычислительную платформу, то есть микроконтроллер и память, аналогичную наземным встроенным устройствам. Программное обеспечение, выполняемое в этой системе, называется бортовым программным обеспечением (OBSW), которое является основным направлением нашей работы. Он реализует сервер удаленного управления, обычно основанный на операционной системе реального времени (RTOS), аналогичный наземным приложениям реального времени. Основной задачей OBSW является обработка трафика TC/TM, обеспечение хранения данных, планирование команд, выполнение автономных действий и обновление программного кода. Важно отметить, что OBSW, как и любое программное обеспечение, уязвимо для распространенных ошибок программного обеспечения, которые злоумышленники могут использовать для получения несанкционированного контроля над CDHS.
2.2.2. Коммуникационный модуль (COM). Связь с GS обеспечивается коммуникационным модулем (COM), который состоит из антенны, радиостанции и, иногда, вычислительной установки для обработки декодирования, реализации протоколов и проецирования доступа. Кроме того, COM обычно предназначен только для трафика TC/TM, тогда как трафик с высокой пропускной способностью, такой как нисходящий канал данных полезной нагрузки, часто обрабатывается более мощной радиоустановкой. Поскольку COM напрямую связан с CDHS для обработки трафика TC/TM, он также является основной точкой входа для злоумышленников, создавая значительную поверхность атаки. Кроме того, реализация протокола в COM может иметь отношение к безопасности, поскольку может быть первой линией защиты.
2.2.3. Система определения ориентации и управления (ADCS). Спутники используют ADCS для определения и корректировки своего положения, чтобы они могли направлять антенны на Землю, а солнечные панели — на Солнце. Кроме того, ADCS выполняет автономную раскрутку для прекращения углового вращения спутника после его выхода из ракеты-носителя, что необходимо для установления исходной связи. Кроме того, спутник может также использовать двигатель для создания системы управления ориентацией и орбитой (AOCS) для незначительных изменений орбиты, что особенно важно по соображениям безопасности. AOCS превращает спутники в киберфизические системы, поскольку они могут воздействовать на свое физическое окружение, врезаясь в другой объект, что может привести к разрушительной орбитальной цепной реакции (см. раздел 3.1.1).
2.2.4. Блок питания (EPS). Электроэнергетическая система (EPS) — это источник питания спутника, обычно вырабатываемый солнечными панелями и хранящийся в батареях для обеспечения питания в отсутствие света, например, при движении вокруг Земли. Кроме того, очень важно, чтобы батарея никогда полностью не разряжалась, так как в этом случае спутник не может перезапуститься. Следовательно, управление питанием имеет решающее значение для живучести, поскольку глубокий разряд батареи представляет интерес для злоумышленников, чтобы навсегда отключить спутник.
2.2.5. Полезная нагрузка. В то время как полезная нагрузка в основном развертывает оборудование для конкретной миссии, она часто также развертывает систему обработки данных полезной нагрузки (PDHS), которая действует аналогично CDHS. PDHS может либо получать управляющий трафик от модуля связи полезной нагрузки (PLCOM), которым может быть любой приемник полезной нагрузки, либо выполнять общие задачи обработки данных от оборудования полезной нагрузки. Из-за высокой степени настройки полезной нагрузки точные термины для PDHS и PLCOM могут отличаться в описаниях других спутников.
2.3. Протоколы спутниковой связи
Спутниковый трафик TC/TM передается через протокол спутниковой связи, который мы назвали космическим протоколом на рисунке 1. Основной организацией, публикующей такие космические протоколы, является Консультативный комитет по системам космических данных (CCSDS), консорциум многочисленные космические агентства, которые договариваются о стандартах. В конечном счете, CCSDS предоставляет множество стандартов протоколов для связи со всеми компонентами и сторонами, участвующими в работе космического корабля [18]. Эти стандарты охватывают все уровни модели OSI, и обычно на каждый уровень приходится несколько вариантов [19]. Протоколы, упомянутые в этой работе, — это Space Data Link Security (SDLS) для канального уровня, который также реализует расширение безопасности [20], и Space Packet Protocol (SPP) для сетевого уровня. Обратите внимание, что коллекция CCSDS больше похожа на коллекцию всех сетевых протоколов, обычно используемых в Интернете, чем на конкретный протокол. Далее мы будем называть набор протоколов CCSDS протоколом CCSDS.
3. Угрозы спутниковой прошивки
Теперь мы предлагаем таксономию угроз встроенного программного обеспечения для спутников в виде трехуровневого представления, показанного на рисунке 3. На рисунке обобщены наши представления об угрозах встроенного программного обеспечения для спутников, чтобы обеспечить компактный и функциональный обзор. В предыдущей работе Falco и Boschetti [21] была представлена широкая классификация общих угроз для спутников, включая экологические, физические и цифровые кибер-технические риски. Последние служат целями атакующего высокого уровня, поэтому наши работы хорошо интегрируются с их таксономией. Обратите внимание, что их работа представляет собой более абстрактную классификацию высокого уровня, в то время как наша фокусируется на подробных технических угрозах для спутниковой прошивки.
3.1. Таксономия угроз
Наша таксономия, представленная на рис. 3, включает в себя три слоя, которые мы описываем, используя подход «сверху вниз». На самом верхнем уровне, уровне управления, мы находим конечные цели атакующего. Для их достижения злоумышленник должен нацелиться на какой-либо компонент, который представляет собой функциональный вспомогательный компонент (см. раздел 2.2) на уровне компонентов. Чтобы связаться с компонентом, злоумышленник должен сначала получить доступ к одному из интерфейсов, которые находятся на интерфейсном уровне, и управлять взаимодействием между компонентами и внешними субъектами, такими как GS.
Сплошными линиями мы описываем иерархию элементов (т. е. шина является частью сателлита, а СГД — частью шины, см. рис. 3), а набором точечных стрелок — пути атак (т. е. злоумышленник должен получить доступ к COM перед выдачей телекоманды в CDHS). Мы используем цвета, соответствующие различным слоям рисунка 3.
3.1.1. Слой управления. Мы моделируем цели высокоуровневого злоумышленника против спутника на основе окончательных цифровых кибер-технических рисков, определенных Фалько и Боскетти [21]. Затем мы определяем промежуточные цели, которых злоумышленник должен достичь для достижения своей конечной цели, и различаем два целевых компонента: шину и полезную нагрузку. Напомним, что шина управляет полезной нагрузкой, что позволяет достигать цели по полезной нагрузке от шины, но не наоборот. Такое разделение шины и полезной нагрузки обычно встречается в спутниках из-за соображений безопасности, чтобы предотвратить распространение неисправностей оборудования полезной нагрузки. Далее мы подробно рассмотрим цели злоумышленника и то, как они касаются разделения шины и полезной нагрузки.
Отказ в обслуживании/контроле. Отказ в обслуживании (DoS) сегодня является наиболее распространенным вектором атаки на спутники [22] и угрожает доступности спутника. Это может быть достигнуто как на шине, так и на полезной нагрузке, которая развертывает оборудование для обслуживания спутника. Напротив, отказ в управлении может быть достигнут только через шину.
Вредоносное взаимодействие с данными. Злоумышленники могут захотеть извлечь или изменить спутниковые данные, нацеленные на шину или полезную нагрузку. Взаимодействие с управляющими данными касается критически важных данных и секретов защиты доступа к шине, что требует компрометации шины. С другой стороны, данные полезной нагрузки могут быть доступны из полезной нагрузки, например, данные с камер или другие эксперименты с полезной нагрузкой.
Захват контроля. Наконец, злоумышленники могут захотеть захватить полный контроль над спутником. Обычно TC, предлагаемые шиной, недостаточны для выполнения произвольных действий, а скорее обеспечивают набор предопределенных взаимодействий, вызывая необходимость найти уязвимость, обеспечивающую выполнение произвольного кода на шине.
Захват контроля не только проблематичен для владельцев спутника, но и может иметь разрушительные последствия для всей космической экосистемы. Если спутник развернет двигатели, злоумышленники могут попытаться вызвать синдром Кесслера, эффект, при котором обломки одного спутника сталкиваются с другими спутниками, разрушая их и испуская новые обломки, что приводит к цепной реакции. Эти обломки потенциально могут сделать космос недоступным на десятилетия, как показано в симуляциях [23], [24]. Эти потенциальные последствия единственного успешного взлома спутника в значительной степени игнорируются сообществом безопасности, даже несмотря на то, что они могут сильно повлиять на космические полеты, какими мы их знаем.
3.1.2. Слой компонентов. Уровень компонентов состоит из соответствующих общих спутниковых компонентов (см. раздел 2.2), канала связи «шина-полезная нагрузка» и системы обработки недоверенных данных (UDHS). На практике эти компоненты могут быть отдельными аппаратными компонентами или объединены в единый образ микропрограммы. Здесь мы разделяем их по функциям.
Далее мы обсудим каждый компонент, его задачи и угрозы для него. Мы классифицируем угрозы по трем общеизвестным столпам безопасности: честность (1), доступность (3) и конфиденциальность (4). Кроме того, мы рассматриваем Стабильность (2) как подкатегорию Целостности для описания угроз, которые изначально существуют в спутнике, но подвергают риску эксплуатационную целостность спутника, если они доступны злоумышленникам.
COM/PLCOM. COM получает входящие TC по удаленному каналу (например, по радио), в то время как PLCOM получает либо данные полезной нагрузки, либо TC, предназначенные для полезной нагрузки. Так как мы рассматриваем только атаки на прошивку спутников, мы резюмируем угрозы против (PL)COM как обход контроля доступа. Сюда входят общие радиочастотные угрозы, такие как атаки «человек посередине», и криптографические угрозы, такие как временные побочные каналы, которые подробно исследовались в предыдущих работах [25], [26]. Кроме того, сюда входят угрозы, нацеленные на микрокод, демодулирующий или декодирующий TC.
CDHS. CDHS обрабатывает входящие TC, выполняя соответствующую функцию в программно-аппаратном обеспечении спутника, которая выполняет прямое или запланированное действие на спутнике (см. раздел 2.2). Он должен соответствовать следующим требованиям:
(1) Целостность. Уязвимые TC могут позволить злоумышленнику получить доступ к личным данным, перехватить поток управления или утечку информации. Сюда также входят все уязвимости, связанные с повреждением памяти при обработке TC, например, переполнение буфера, уязвимости строки формата или уязвимости использования после освобождения [27].
(2) Стабильность: некоторые чрезмерно разрешительные опасные TC могут позволить злоумышленнику захватить управление доступом к спутнику, механизм обновления прошивки, поток управления или критические данные, просто выпустив соответствующий TC. Такие TC часто существуют для целей отладки. TC, которые предоставляют произвольные гаджеты для записи в память (например, для отладки) или произвольные изменения секретов управления доступом, не должны реализовываться, в то время как доступ к образу микропрограммы должен требовать дополнительного уровня проверки (например, подписанные образы), что обычно рекомендуется и называется глубокоэшелонированной защитой [28].
(3) Доступность: обработка TC должна быть доступна в любое время для срочных действий, таких как корректировка курса. Мы суммируем все угрозы доступности CDHS как угрозы подавления TC, поскольку они подавляют способность спутника обрабатывать TC.
(4) Конфиденциальность: TC могут позволить злоумышленнику выдать секреты, например, касающиеся управления доступом, и тем самым поставить под угрозу весь спутник, если эта утечка допускает повышенный доступ. Мы резюмируем утечки управляющих данных как угрозу конфиденциальности CDHS.
Связь между шиной и полезной нагрузкой. Канал Bus-Payload обеспечивает мост для взаимодействия полезной нагрузки с шиной. Это необходимо, поскольку полезной нагрузке может потребоваться доступ к возможностям мониторинга и управления шины для управления полезной нагрузкой. Эти функции различаются в зависимости от миссии и полезной нагрузки, но могут включать опции для переключения питания на компоненты полезной нагрузки. Следовательно, ссылка обеспечивает подобную API поверхность между различными уровнями доверия.
(1) Целостность: ссылка не развертывает собственные TC, а использует те, что из CDHS, через интерфейсы TC. Эти API-подобные интерфейсы могут быть уязвимы, как и уязвимые TC, которые мы классифицируем как уязвимые интерфейсы TC.
(2) Стабильность. Критические интерфейсы TC могут скомпрометировать шину, преднамеренно предлагая чрезмерно разрешающую функциональность команд для (потенциально скомпрометированной) полезной нагрузки. Критические TC включают неограниченное управление питанием или регулировку положения спутника, чтобы сделать радиосвязь невозможной. Команды, выдаваемые полезной нагрузкой, должны воздействовать только на оборудование полезной нагрузки и должны быть обратимыми в любой точке шины. Разница между критическими и опасными TC заключается в том, что критические TC предлагают функциональные возможности, которые должны быть эксклюзивными для шины, в то время как опасные TC должны либо вообще не существовать (даже на шине), либо должны требовать дополнительной аутентификации/проверки.
(3) Доступность: если существует более одного PDHS или UDHS, ни один из них не должен отказывать другим в доступности канала. Таким образом, мы определяем подавление ссылок как угрозу для связи между подключенными компонентами полезной нагрузки.
(4) Конфиденциальность: линк скомпрометирован, если компоненты полезной нагрузки могут извлекать информацию, предназначенную исключительно для других компонентов полезной нагрузки. Мы резюмируем их как утечки данных полезной нагрузки.
PDHS. PDHS представляет собой систему обработки данных полезной нагрузки и, в зависимости от задач, действует как система управления полезной нагрузкой с пакетами от PLCOM. Таким образом, система осуществляет непосредственный контроль над функциями полезной нагрузки или участвует в обработке ненадежных данных из пользовательского сегмента (см. раздел 2.1). В целом, поскольку PDHS может развертывать любую вычислительную задачу, особенно при обработке ненадежного пользовательского трафика полезной нагрузки, сценарий угроз смещается в сторону общих угроз безопасности системы, оставляя следующие категории намеренно расплывчатыми.
(1) Целостность: мы обобщаем все классические угрозы уязвимости программного обеспечения, подобные уязвимым TC, как уязвимую обработку данных.
(2) Стабильность. Это имеет значение только в том случае, если PDHS обрабатывает командный трафик аналогично CDHS для полезной нагрузки. В этом случае мы определяем категорию угроз опасной полезной нагрузки, аналогичную опасным TC.
(3) Доступность: Доступность PDHS находится под угрозой, если возможность обработки входящих пакетов запрещена, что приводит к отказу в обслуживании полезной нагрузки. Следовательно, мы называем это отказом в обслуживании полезной нагрузки.
(4) Конфиденциальность: мы определяем утечку информации общего характера как угрозу конфиденциальности PDHS.
UDHS. UDHS запускает ненадежный код пользователей полезной нагрузки непосредственно на спутнике. Поскольку код ненадежен, он должен быть изолирован от обычных операций с полезной нагрузкой в PDHS. Этот компонент не является частью общей спутниковой архитектуры (см. раздел 2.2), но с учетом тенденции к аренде спутниковых возможностей и соображений по созданию орбитальных сервисов облачных вычислений [29], [30] пришло время рассмотреть этот компонент. На практике мы обнаружили, что этот компонент развернут в наших тематических исследованиях в разделе 5.2.
PDHS и UDHS имеют особые отношения в нашей таксономии. Во-первых, UDHS может быть частью PDHS (т. е. PDHS работает под управлением операционной системы, где один изолированный процесс выполняет ненадежный код), где в той же среде также выполняется обработка данных полезной нагрузки. Во-вторых, PDHS может быть частью UDHS, т. е. UDHS развертывает (ненадежное) приложение, которое обрабатывает данные от принимающих компонентов. С точки зрения злоумышленника приложение для синтаксического анализа, развернутое UDHS, действует как PDHS. Мы называем этот PDHS в оболочке UDHS UDHS-PDHS. С точки зрения пути атаки UDHS-PDHS по-прежнему изолирован, что отличает его от основного PDHS, но при этом он сталкивается с теми же угрозами, что и PDHS. Мы выделяем пример этого механизма в разделе 5.2.
(1) Целостность + (2) Стабильность: целостность UDHS находится под угрозой, если изоляция среды подвергается атаке, которую мы называем угрозами Escape to PDHS.
(3) Доступность: Мы не рассматриваем угрозы доступности UDHS, поскольку только UDHS-PDHS имеет обязательства по доступности.
(4) Конфиденциальность: извлечение информации из изолированной хост-среды угрожает конфиденциальности UDHS, что мы резюмируем как атаки по сторонним каналам.
3.1.3. Интерфейсный слой. Интерфейсы образуют третий и нижний уровень нашей таксономии. Всякий раз, когда компонент взаимодействует с другим компонентом или внешним источником, между ними используется интерфейс. Мы различаем два типа интерфейсов: внешние интерфейсы, которые взаимодействуют между компонентом и внешним элементом. Каждый интерфейс имеет только одного родителя, например, родителем COM Rx является COM. Однако компонент может иметь несколько интерфейсов, например, CDHS может иметь два разных сборщика TC для COM и канала полезной нагрузки шины. На рис. 3 мы опускаем стрелки между интерфейсами и компонентами для простоты, но каждый интерфейс имеет линию иерархии, ведущую к родителю, и пунктирную стрелку пути атаки от интерфейса к компоненту.
Внешний приемник. Внешние интерфейсы получают данные из-за пределов спутника (например, радиоприемники или оптические приемники). Мы опускаем рассмотрение угроз, поскольку в нашей модели эти интерфейсы реализуют только чисто аппаратные операции без программного обеспечения и могут подвергаться только электромагнитным и радиочастотным угрозам. Если спутник использует прошивку, то есть в виде микрокодов для выполнения демодуляции сигнала, мы считаем это частью COM, поскольку эксплуатация потенциально может привести к обходу контроля доступа. Следовательно, мы рассматриваем этот интерфейс только для моделирования наших злоумышленников, как подробно описано в разделе 4. Кроме того, мы рассматриваем только получателей структурированных данных, которые анализирует какой-либо компонент. Например, научная аппаратура для измерения радиации или термометр не могут получать побитовые структурированные данные, что исключает их из нашего рассмотрения.
Сборщик данных. Внутренние интерфейсы управляют взаимодействием между двумя компонентами. Мы называем эти интерфейсы сборщиками данных, поскольку они внутренне извлекают данные из одного компонента и предоставляют их своему родителю. Поскольку они получают трафик только от компонентов и пересылают его своему родителю, они сталкиваются только с (1) угрозами целостности и (3) доступностью. Невозможно провести различие между стабильностью и целостностью, а для нарушения конфиденциальности требуется обратный канал.
(1) Целостность + (2) Стабильность: Злоумышленник может захотеть манипулировать существующими данными, вводя новые или изменяя существующие данные. Таким образом, внедрение и изменение данных представляют собой угрозу целостности сборщиков данных. Например, интерфейс TC Fetcher скомпрометирован, если злоумышленнику удается внедрить дополнительный TC, хотя был отправлен только один.
(3) Доступность: Злоумышленник может поставить под угрозу способность интерфейса передавать все входящие пакеты данных своему родителю. Поскольку память часто ограничена, эти интерфейсы обычно используют кольцевой буфер, который заменяет старые пакеты новыми. Путем переполнения буфера и непрерывной ротации еще не обработанных пакетов интерфейс скомпрометирован (угроза переполнения данными). Кроме того, способность сборщика данных к пересылке может быть каким-то образом заблокирована (кроме перегрузки), что мы называем угрозой подавления пересылки.
3.2. Получение информации о спутниках
Наша таксономия на рис. 3 выделяет не только угрозы, но и пути атак и все вычислительные компоненты, обнаруженные на спутнике. Следовательно, наша таксономия функциональна и позволяет нам получать модели для конкретных спутников, которые перечисляют все возможные деревья атак и полную поверхность атаки. Далее мы сначала опишем, как получить спутниковую модель, которую мы также используем для всех трех тематических исследований (см. Раздел 5). Затем мы объясним, как из этой модели можно извлечь все деревья атак и поверхности атакующих.
3.2.1. Получение спутниковой модели. Прежде чем модель для конкретного спутника (впоследствии сокращенно модель) может быть получена из нашей таксономии для конкретного спутника, мы
подчеркнем, что важнейшим предварительным условием является достаточное понимание внутреннего устройства спутника (либо с помощью документации, либо путем обратного проектирования). Затем модель может быть получена в два этапа: во-первых, мы сопоставляем компоненты с фактическими компонентами спутника. Во-вторых, мы сопоставляем интерфейсы между этими компонентами, чтобы смоделировать реальное взаимодействие компонентов спутника.
В частности, при сопоставлении компонентов каждый компонент в слое компонентов может быть продублирован или удален, чтобы соответствовать конкретным требованиям спутника. Например, если у спутника нет PDHS или UDHS, оба (а также канал Bus-Payload Link) можно удалить, оставив только COM и CDHS. Если спутник имеет несколько компонентов PLCOM, мы дублируем компонент PLCOM, сохраняя при этом линию иерархии и стрелку пути атаки для каждого отдельного COM. Примечательно, что нельзя создавать новые компоненты, можно дублировать только существующие компоненты таксономии.
Далее интерфейсы сопоставляются с компонентами. Каждый компонент изначально имеет собственный интерфейс (см. рис. 3). Однако, поскольку у каждого интерфейса может быть только один родитель, но несколько дочерних элементов, несколько интерфейсов могут совместно использоваться как принимающие интерфейсы для одного компонента. Например, CDHS может использовать один и тот же сборщик TC для нескольких COM, т. е. при наличии активных резервных COM.
3.2.2. Извлечение дерева атак и поверхности. После получения этой модели пунктирные стрелки пути атаки образуют ориентированный граф. В разделе 4 мы обсуждаем наших злоумышленников в соответствии с нашими интерфейсами, где каждый злоумышленник подключен к интерфейсу, создавая эти интерфейсы, подключенные к злоумышленнику. Комбинация всех интерфейсов, подключенных к злоумышленнику, образует поверхность атаки. Следуя всем возможным путям от интерфейса, подключенного к злоумышленнику, к элементу уровня управления, мы можем извлечь все возможные пути атаки, где каждый путь является подграфом нашего дерева атак.
В наших тематических исследованиях мы используем это представление дерева атак, поскольку оно обеспечивает более интуитивное представление аспектов безопасности для конкретного спутника.
В этой статье мы впервые приводим классификацию угроз для спутниковых прошивок. Затем мы проводим экспериментальный анализ безопасности трех реальных образов прошивки спутников. Мы основываем наш анализ на наборе реальных моделей злоумышленников и обнаруживаем несколько критических с точки зрения безопасности уязвимостей во всех проанализированных образах встроенного ПО. Результаты нашей экспериментальной оценки безопасности показывают, что современные орбитальные спутники страдают от различных уязвимостей безопасности программного обеспечения и часто отсутствия надлежащих механизмов защиты доступа. Они также подчеркивают необходимость преодоления преобладающих, но устаревших предположений. Чтобы обосновать наши наблюдения, мы также провели опрос 19 профессиональных разработчиков спутников, чтобы получить всестороннюю картину ландшафта безопасности спутников.
1. Введение
Спутники — это сложные технические устройства, которые размещаются в космическом пространстве в исследовательских целях или для предоставления наземным приложениям услуг, использующих покрытие земной поверхности. В то время как первый спутник, Sputnik, датируется 1957 годом, мы находимся в разгаре возрождения космических полетов, называемого Новой космической эрой [1]. Особенно в последние годы мы наблюдаем огромный рост числа спутников на околоземной орбите. По данным Управления ООН по вопросам космического пространства (UNOOSA), их количество почти удвоилось с 4867 в 2019 г. до 9350 в 2022 г. [2]. Подавляющее большинство этих спутников образуют мегагруппировки, такие как Starlink, которая планирует запустить более 40 000 спутников в ближайшие годы [3].
Малые спутники [4] лежат в основе новой космической эры, поскольку их размер и широкое использование готовых коммерческих компонентов (COTS) делают их доступными даже для небольших организаций. Кроме того, они охватывают широкий спектр вариантов использования, начиная от коммерческих приложений (таких как наблюдение Земли, межмашинная связь и интернет-сервисы) и заканчивая исследовательскими приложениями, такими как тестирование технологий, прогнозирование погоды и землетрясений и даже межпланетные миссии. [5]–[8].
Хотя их применение широко варьируется, малые спутники обычно состоят из радиооборудования и плат микроконтроллеров. Следовательно — в самом широком смысле — это компьютерные системы, подключенные к наземной станции на Земле, а иногда и к другим спутникам. Поскольку они полагаются на беспроводные соединения для управления и контроля и используют микроконтроллеры, они потенциально так же уязвимы для атак, как и любая другая подключенная ИТ-платформа на Земле.
В прошлом этот вопрос не был очень актуален, поскольку доступ к наземным станциям был дорогим и ограничивался крупными операторами спутниковой связи. Однако в последние годы ситуация коренным образом изменилась. В настоящее время наземные станции доступны даже для частных лиц, а с появлением моделей «Наземная станция как услуга» (GSaaS), таких как предлагаемые Amazon Web Services [9] и Microsoft Azure [10], входной барьер становится еще ниже. Мы видели в области безопасности мобильных сетей, как предположение провайдеров о том, что радиооборудование, необходимое для атак, будет слишком дорогим и недоступным для злоумышленников, было в конечном итоге опровергнуто технологическими достижениями [11]. Аналогичным образом доступные по цене наземные станции создают новую поверхность для атаки, где злоумышленники могут связываться со спутниками и использовать уязвимости программного обеспечения. Если им удастся скомпрометировать прошивку спутника, они смогут получить доступ к спутнику и потенциально получить полный контроль над системой.
Несмотря на ранние предупреждения [12], мало что было сделано для решения этой проблемы по нескольким причинам, как указывает Фалько [13]. Хотя отсутствие стандартов безопасности для спутников и сложная цепочка поставок усложняют ситуацию, основной причиной является недоступность программного обеспечения спутников. Исторически сложилось так, что разработчики спутников полагались на безопасность через неизвестность. Разработчики сети Iridium даже упомянули, что их система будет слишком сложной для злоумышленников [13]. Тем не менее, Дриссен и соавт. показали, что злоумышленники могут успешно расшифровать передачу данных по сети [14]. В частности, недоступность спутников на орбите делает lfvg прошивки исследователями очень сложным (если не невозможным), препятствуя прогрессу в этой области. Следовательно, разработчики спутниковых прошивок выступают в роли привратников и не предоставляют исследователям объекты исследования. Примечательно, что Павур и Мартинович [15], а также Фалько [13] признают, что тема все еще недостаточно изучена, и делают вывод о необходимости сотрудничества между разработкой спутников и сферой безопасности. Кроме того, в последнее время все большее внимание привлекают такие хорошо известные темы, как безопасность спутниковой связи, безопасность спутниковых интернет-сервисов и сценарии угроз для спутников [16], [17]. Однако в дискуссиях об отдельных спутниках обычно не хватает технических деталей спутников и реальных основ из-за недоступности спутникового программного обеспечения.
В этой статье мы вносим три вклада в систематическое улучшение спутниковой безопасности. Во-первых, мы представляем обзор угроз бортового программного обеспеченич спутников. Такой систематический обзор поверхностей атак позволяет нам лучше представить сложную природу спутников и классифицировать выводы, относящиеся к безопасности, на протяжении всего документа.
Во-вторых, мы проводим экспериментальный и всесторонний анализ безопасности трех реальных спутников на орбите, чтобы лучше понять поверхность атаки и текущее состояние безопасности программного обеспечения в этой конкретной области. Мы фокусируемся на спутниках на низкой околоземной орбите (НОО), поскольку эта орбита является основным направлением Новой космической эры. Наиболее распространенным классом спутников являются наноспутники, а точнее, CubeSat, который представляет собой стандартный форм-фактор кубов размером 10 см (называемых Units или U). Эти спутники обычно весят менее 1,33 кг и используются во многих различных проектах. После долгих уговоров, доверительных отношений, обсуждений и заключения контрактов мы получили доступ к нескольким образам спутниковых прошивок, которые смогли проанализировать. В результате нашей оценки безопасности мы обнаружили шесть различных типов уязвимостей безопасности в недавно запущенных современных космических аппаратах, включая незащищенные интерфейсы телеуправления. Все уязвимости были повторно ответственно раскрыты поставщикам. Обратите внимание, что входной барьер для выявления этих уязвимостей был сложным, учитывая чувствительный характер этих систем. Насколько нам известно, наша работа — первая демонстрация эксплуатации уязвимостей прошивки спутника, позволяющая злоумышленникам получить постоянный контроль над спутником.
В-третьих, мы провели опрос 19 профессиональных инженеров и разработчиков спутников, чтобы расширить сферу нашего исследования. Всего в ответах содержится техническая информация о 17 спутниках, а всего участники работали со 132 спутниками. Наш опрос показывает, что неясность протокола так же распространена, как и шифрование для защиты доступа, и что небольшие группы разработчиков скорее склонны разрабатывать полностью настраиваемые протоколы, чем использовать существующие. Как отметил один из участников нашего опроса: «Мы сосредоточились на предоставлении функционирующей системы, а не безопасной».
Подводя итог, мы делаем следующие основные вклады:
- Таксономия угроз и сопутствующих моделей злоумышленников против встроенного программного обеспечения спутников, которая обеспечивает систематический обзор и позволяет нам создавать модели угроз для конкретных спутников.
- Систематический анализ безопасности трех реальных образов прошивок спутников, который выявил 13 уязвимостей и основан на модели злоумышленника с учетом последних технических разработок (например, GSaaS).
- Опрос спутникового сообщества, чтобы оспорить наши технические результаты и пролить свет на взгляды профессионалов космического сообщества на безопасность.
2. Спутниковый контекст
Искусственный спутник (обычно сокращенно спутник) — это объект, намеренно размещенный в космическом пространстве, который вращается вокруг другого тела, например Земли. Спутники предназначены для работы в суровых условиях космоса, включая экстремальные перепады температуры около 200 °C, происходящие более десяти раз в день, почти вакуум и космическое излучение. Однако развертывание в космосе часто необходимо для предоставления космических услуг на Землю с общими спутниковыми приложениями, включая связь, наблюдение за Землей и исследования. Хотя большинство спутников развернуто на НОО (250–2000 км), в зависимости от назначения спутника могут потребоваться другие орбиты, такие как геостационарная орбита (ГСО) (35 786 км).
2.1. Спутниковые операции
Спутниковые операции, как показано на рис. 1, развиваются вокруг трех основных компонентов: группового сегмента, который управляет спутниковой службой, космического сегмента, состоящего из всех космических средств, и пользовательского сегмента, который получает спутниковую службу, такую как Глобальная система позиционирования (GPS) или связь.
2.1.1. Наземный сегмент. Наземный сегмент является центром всех спутниковых операций на протяжении всего срока службы спутника. Группа операторов связывается со спутником, используя наземную станцию (GS), чтобы передать спутнику новые инструкции, называемые Telecommand (TC). В свою очередь, спутник отправляет телеметрию (TM) обратно в GS, предоставляя информацию о статусе спутника, ошибках и других показателях. TC использует космический протокол, который мы описываем в разделе 2.3. Далее мы называем комбинацию данных TC и TM трафиком TC/TM.
2.1.2. Космический сегмент. Космический сегмент включает в себя все космические аппараты, участвующие в операциях со спутниками, которые могут быть как отдельными спутниками, так и целой группировкой. Эти спутники первоначально выводятся на орбиту с помощью ракеты-носителя, а затем проходят этап орбитального развертывания для установления связи с наземным сегментом. Во время фазы номинальных операций, которая описывает регулярные операции службы, спутники могут связываться друг с другом через межспутниковую линию связи (ISL).
2.1.3. Пользовательский сегмент. Терминал, например, терминал с очень малой апертурой (VSAT) или приемник GPS в пользовательском сегменте, получает услугу, предоставляемую космическим сегментом. Обратите внимание, что некоторые спутники, такие как спутники наблюдения Земли, обмениваются данными исключительно со своим наземным сегментом и не включают пользовательский сегмент.
2.2. Спутниковая архитектура
На рис. 2 представлены компоненты, обычно встречающиеся в современном спутнике, которые разделены на полезную нагрузку спутника и спутниковую шину. Полезная нагрузка спутника состоит из специализированного оборудования, такого как камера высокого разрешения для наблюдения за Землей или мощное радиооборудование для телекоммуникаций. Спутниковая шина включает в себя все компоненты, необходимые для работы и обслуживания спутника. Он предназначен для работы независимо от полезной нагрузки, но, наоборот, полезная нагрузка зависит от шины. Мы называем это разделением как разделение шины и полезной нагрузки. Поэтому в нашем анализе безопасности мы сосредоточимся на спутниковой шине, потому что, в отличие от многих полезных нагрузок, она предоставляет злоумышленникам полный контроль над спутником.
2.2.1. Система управления и обработки данных (CDHS). Шина сосредоточена вокруг CDHS, которая управляет спутником и контролирует все функции космического корабля. CDHS использует бортовой контроллер (OBC), который использует вычислительную платформу, то есть микроконтроллер и память, аналогичную наземным встроенным устройствам. Программное обеспечение, выполняемое в этой системе, называется бортовым программным обеспечением (OBSW), которое является основным направлением нашей работы. Он реализует сервер удаленного управления, обычно основанный на операционной системе реального времени (RTOS), аналогичный наземным приложениям реального времени. Основной задачей OBSW является обработка трафика TC/TM, обеспечение хранения данных, планирование команд, выполнение автономных действий и обновление программного кода. Важно отметить, что OBSW, как и любое программное обеспечение, уязвимо для распространенных ошибок программного обеспечения, которые злоумышленники могут использовать для получения несанкционированного контроля над CDHS.
2.2.2. Коммуникационный модуль (COM). Связь с GS обеспечивается коммуникационным модулем (COM), который состоит из антенны, радиостанции и, иногда, вычислительной установки для обработки декодирования, реализации протоколов и проецирования доступа. Кроме того, COM обычно предназначен только для трафика TC/TM, тогда как трафик с высокой пропускной способностью, такой как нисходящий канал данных полезной нагрузки, часто обрабатывается более мощной радиоустановкой. Поскольку COM напрямую связан с CDHS для обработки трафика TC/TM, он также является основной точкой входа для злоумышленников, создавая значительную поверхность атаки. Кроме того, реализация протокола в COM может иметь отношение к безопасности, поскольку может быть первой линией защиты.
2.2.3. Система определения ориентации и управления (ADCS). Спутники используют ADCS для определения и корректировки своего положения, чтобы они могли направлять антенны на Землю, а солнечные панели — на Солнце. Кроме того, ADCS выполняет автономную раскрутку для прекращения углового вращения спутника после его выхода из ракеты-носителя, что необходимо для установления исходной связи. Кроме того, спутник может также использовать двигатель для создания системы управления ориентацией и орбитой (AOCS) для незначительных изменений орбиты, что особенно важно по соображениям безопасности. AOCS превращает спутники в киберфизические системы, поскольку они могут воздействовать на свое физическое окружение, врезаясь в другой объект, что может привести к разрушительной орбитальной цепной реакции (см. раздел 3.1.1).
2.2.4. Блок питания (EPS). Электроэнергетическая система (EPS) — это источник питания спутника, обычно вырабатываемый солнечными панелями и хранящийся в батареях для обеспечения питания в отсутствие света, например, при движении вокруг Земли. Кроме того, очень важно, чтобы батарея никогда полностью не разряжалась, так как в этом случае спутник не может перезапуститься. Следовательно, управление питанием имеет решающее значение для живучести, поскольку глубокий разряд батареи представляет интерес для злоумышленников, чтобы навсегда отключить спутник.
2.2.5. Полезная нагрузка. В то время как полезная нагрузка в основном развертывает оборудование для конкретной миссии, она часто также развертывает систему обработки данных полезной нагрузки (PDHS), которая действует аналогично CDHS. PDHS может либо получать управляющий трафик от модуля связи полезной нагрузки (PLCOM), которым может быть любой приемник полезной нагрузки, либо выполнять общие задачи обработки данных от оборудования полезной нагрузки. Из-за высокой степени настройки полезной нагрузки точные термины для PDHS и PLCOM могут отличаться в описаниях других спутников.
2.3. Протоколы спутниковой связи
Спутниковый трафик TC/TM передается через протокол спутниковой связи, который мы назвали космическим протоколом на рисунке 1. Основной организацией, публикующей такие космические протоколы, является Консультативный комитет по системам космических данных (CCSDS), консорциум многочисленные космические агентства, которые договариваются о стандартах. В конечном счете, CCSDS предоставляет множество стандартов протоколов для связи со всеми компонентами и сторонами, участвующими в работе космического корабля [18]. Эти стандарты охватывают все уровни модели OSI, и обычно на каждый уровень приходится несколько вариантов [19]. Протоколы, упомянутые в этой работе, — это Space Data Link Security (SDLS) для канального уровня, который также реализует расширение безопасности [20], и Space Packet Protocol (SPP) для сетевого уровня. Обратите внимание, что коллекция CCSDS больше похожа на коллекцию всех сетевых протоколов, обычно используемых в Интернете, чем на конкретный протокол. Далее мы будем называть набор протоколов CCSDS протоколом CCSDS.
3. Угрозы спутниковой прошивки
Теперь мы предлагаем таксономию угроз встроенного программного обеспечения для спутников в виде трехуровневого представления, показанного на рисунке 3. На рисунке обобщены наши представления об угрозах встроенного программного обеспечения для спутников, чтобы обеспечить компактный и функциональный обзор. В предыдущей работе Falco и Boschetti [21] была представлена широкая классификация общих угроз для спутников, включая экологические, физические и цифровые кибер-технические риски. Последние служат целями атакующего высокого уровня, поэтому наши работы хорошо интегрируются с их таксономией. Обратите внимание, что их работа представляет собой более абстрактную классификацию высокого уровня, в то время как наша фокусируется на подробных технических угрозах для спутниковой прошивки.
3.1. Таксономия угроз
Наша таксономия, представленная на рис. 3, включает в себя три слоя, которые мы описываем, используя подход «сверху вниз». На самом верхнем уровне, уровне управления, мы находим конечные цели атакующего. Для их достижения злоумышленник должен нацелиться на какой-либо компонент, который представляет собой функциональный вспомогательный компонент (см. раздел 2.2) на уровне компонентов. Чтобы связаться с компонентом, злоумышленник должен сначала получить доступ к одному из интерфейсов, которые находятся на интерфейсном уровне, и управлять взаимодействием между компонентами и внешними субъектами, такими как GS.
Сплошными линиями мы описываем иерархию элементов (т. е. шина является частью сателлита, а СГД — частью шины, см. рис. 3), а набором точечных стрелок — пути атак (т. е. злоумышленник должен получить доступ к COM перед выдачей телекоманды в CDHS). Мы используем цвета, соответствующие различным слоям рисунка 3.
3.1.1. Слой управления. Мы моделируем цели высокоуровневого злоумышленника против спутника на основе окончательных цифровых кибер-технических рисков, определенных Фалько и Боскетти [21]. Затем мы определяем промежуточные цели, которых злоумышленник должен достичь для достижения своей конечной цели, и различаем два целевых компонента: шину и полезную нагрузку. Напомним, что шина управляет полезной нагрузкой, что позволяет достигать цели по полезной нагрузке от шины, но не наоборот. Такое разделение шины и полезной нагрузки обычно встречается в спутниках из-за соображений безопасности, чтобы предотвратить распространение неисправностей оборудования полезной нагрузки. Далее мы подробно рассмотрим цели злоумышленника и то, как они касаются разделения шины и полезной нагрузки.
Отказ в обслуживании/контроле. Отказ в обслуживании (DoS) сегодня является наиболее распространенным вектором атаки на спутники [22] и угрожает доступности спутника. Это может быть достигнуто как на шине, так и на полезной нагрузке, которая развертывает оборудование для обслуживания спутника. Напротив, отказ в управлении может быть достигнут только через шину.
Вредоносное взаимодействие с данными. Злоумышленники могут захотеть извлечь или изменить спутниковые данные, нацеленные на шину или полезную нагрузку. Взаимодействие с управляющими данными касается критически важных данных и секретов защиты доступа к шине, что требует компрометации шины. С другой стороны, данные полезной нагрузки могут быть доступны из полезной нагрузки, например, данные с камер или другие эксперименты с полезной нагрузкой.
Захват контроля. Наконец, злоумышленники могут захотеть захватить полный контроль над спутником. Обычно TC, предлагаемые шиной, недостаточны для выполнения произвольных действий, а скорее обеспечивают набор предопределенных взаимодействий, вызывая необходимость найти уязвимость, обеспечивающую выполнение произвольного кода на шине.
Захват контроля не только проблематичен для владельцев спутника, но и может иметь разрушительные последствия для всей космической экосистемы. Если спутник развернет двигатели, злоумышленники могут попытаться вызвать синдром Кесслера, эффект, при котором обломки одного спутника сталкиваются с другими спутниками, разрушая их и испуская новые обломки, что приводит к цепной реакции. Эти обломки потенциально могут сделать космос недоступным на десятилетия, как показано в симуляциях [23], [24]. Эти потенциальные последствия единственного успешного взлома спутника в значительной степени игнорируются сообществом безопасности, даже несмотря на то, что они могут сильно повлиять на космические полеты, какими мы их знаем.
3.1.2. Слой компонентов. Уровень компонентов состоит из соответствующих общих спутниковых компонентов (см. раздел 2.2), канала связи «шина-полезная нагрузка» и системы обработки недоверенных данных (UDHS). На практике эти компоненты могут быть отдельными аппаратными компонентами или объединены в единый образ микропрограммы. Здесь мы разделяем их по функциям.
Далее мы обсудим каждый компонент, его задачи и угрозы для него. Мы классифицируем угрозы по трем общеизвестным столпам безопасности: честность (1), доступность (3) и конфиденциальность (4). Кроме того, мы рассматриваем Стабильность (2) как подкатегорию Целостности для описания угроз, которые изначально существуют в спутнике, но подвергают риску эксплуатационную целостность спутника, если они доступны злоумышленникам.
COM/PLCOM. COM получает входящие TC по удаленному каналу (например, по радио), в то время как PLCOM получает либо данные полезной нагрузки, либо TC, предназначенные для полезной нагрузки. Так как мы рассматриваем только атаки на прошивку спутников, мы резюмируем угрозы против (PL)COM как обход контроля доступа. Сюда входят общие радиочастотные угрозы, такие как атаки «человек посередине», и криптографические угрозы, такие как временные побочные каналы, которые подробно исследовались в предыдущих работах [25], [26]. Кроме того, сюда входят угрозы, нацеленные на микрокод, демодулирующий или декодирующий TC.
CDHS. CDHS обрабатывает входящие TC, выполняя соответствующую функцию в программно-аппаратном обеспечении спутника, которая выполняет прямое или запланированное действие на спутнике (см. раздел 2.2). Он должен соответствовать следующим требованиям:
(1) Целостность. Уязвимые TC могут позволить злоумышленнику получить доступ к личным данным, перехватить поток управления или утечку информации. Сюда также входят все уязвимости, связанные с повреждением памяти при обработке TC, например, переполнение буфера, уязвимости строки формата или уязвимости использования после освобождения [27].
(2) Стабильность: некоторые чрезмерно разрешительные опасные TC могут позволить злоумышленнику захватить управление доступом к спутнику, механизм обновления прошивки, поток управления или критические данные, просто выпустив соответствующий TC. Такие TC часто существуют для целей отладки. TC, которые предоставляют произвольные гаджеты для записи в память (например, для отладки) или произвольные изменения секретов управления доступом, не должны реализовываться, в то время как доступ к образу микропрограммы должен требовать дополнительного уровня проверки (например, подписанные образы), что обычно рекомендуется и называется глубокоэшелонированной защитой [28].
(3) Доступность: обработка TC должна быть доступна в любое время для срочных действий, таких как корректировка курса. Мы суммируем все угрозы доступности CDHS как угрозы подавления TC, поскольку они подавляют способность спутника обрабатывать TC.
(4) Конфиденциальность: TC могут позволить злоумышленнику выдать секреты, например, касающиеся управления доступом, и тем самым поставить под угрозу весь спутник, если эта утечка допускает повышенный доступ. Мы резюмируем утечки управляющих данных как угрозу конфиденциальности CDHS.
Связь между шиной и полезной нагрузкой. Канал Bus-Payload обеспечивает мост для взаимодействия полезной нагрузки с шиной. Это необходимо, поскольку полезной нагрузке может потребоваться доступ к возможностям мониторинга и управления шины для управления полезной нагрузкой. Эти функции различаются в зависимости от миссии и полезной нагрузки, но могут включать опции для переключения питания на компоненты полезной нагрузки. Следовательно, ссылка обеспечивает подобную API поверхность между различными уровнями доверия.
(1) Целостность: ссылка не развертывает собственные TC, а использует те, что из CDHS, через интерфейсы TC. Эти API-подобные интерфейсы могут быть уязвимы, как и уязвимые TC, которые мы классифицируем как уязвимые интерфейсы TC.
(2) Стабильность. Критические интерфейсы TC могут скомпрометировать шину, преднамеренно предлагая чрезмерно разрешающую функциональность команд для (потенциально скомпрометированной) полезной нагрузки. Критические TC включают неограниченное управление питанием или регулировку положения спутника, чтобы сделать радиосвязь невозможной. Команды, выдаваемые полезной нагрузкой, должны воздействовать только на оборудование полезной нагрузки и должны быть обратимыми в любой точке шины. Разница между критическими и опасными TC заключается в том, что критические TC предлагают функциональные возможности, которые должны быть эксклюзивными для шины, в то время как опасные TC должны либо вообще не существовать (даже на шине), либо должны требовать дополнительной аутентификации/проверки.
(3) Доступность: если существует более одного PDHS или UDHS, ни один из них не должен отказывать другим в доступности канала. Таким образом, мы определяем подавление ссылок как угрозу для связи между подключенными компонентами полезной нагрузки.
(4) Конфиденциальность: линк скомпрометирован, если компоненты полезной нагрузки могут извлекать информацию, предназначенную исключительно для других компонентов полезной нагрузки. Мы резюмируем их как утечки данных полезной нагрузки.
PDHS. PDHS представляет собой систему обработки данных полезной нагрузки и, в зависимости от задач, действует как система управления полезной нагрузкой с пакетами от PLCOM. Таким образом, система осуществляет непосредственный контроль над функциями полезной нагрузки или участвует в обработке ненадежных данных из пользовательского сегмента (см. раздел 2.1). В целом, поскольку PDHS может развертывать любую вычислительную задачу, особенно при обработке ненадежного пользовательского трафика полезной нагрузки, сценарий угроз смещается в сторону общих угроз безопасности системы, оставляя следующие категории намеренно расплывчатыми.
(1) Целостность: мы обобщаем все классические угрозы уязвимости программного обеспечения, подобные уязвимым TC, как уязвимую обработку данных.
(2) Стабильность. Это имеет значение только в том случае, если PDHS обрабатывает командный трафик аналогично CDHS для полезной нагрузки. В этом случае мы определяем категорию угроз опасной полезной нагрузки, аналогичную опасным TC.
(3) Доступность: Доступность PDHS находится под угрозой, если возможность обработки входящих пакетов запрещена, что приводит к отказу в обслуживании полезной нагрузки. Следовательно, мы называем это отказом в обслуживании полезной нагрузки.
(4) Конфиденциальность: мы определяем утечку информации общего характера как угрозу конфиденциальности PDHS.
UDHS. UDHS запускает ненадежный код пользователей полезной нагрузки непосредственно на спутнике. Поскольку код ненадежен, он должен быть изолирован от обычных операций с полезной нагрузкой в PDHS. Этот компонент не является частью общей спутниковой архитектуры (см. раздел 2.2), но с учетом тенденции к аренде спутниковых возможностей и соображений по созданию орбитальных сервисов облачных вычислений [29], [30] пришло время рассмотреть этот компонент. На практике мы обнаружили, что этот компонент развернут в наших тематических исследованиях в разделе 5.2.
PDHS и UDHS имеют особые отношения в нашей таксономии. Во-первых, UDHS может быть частью PDHS (т. е. PDHS работает под управлением операционной системы, где один изолированный процесс выполняет ненадежный код), где в той же среде также выполняется обработка данных полезной нагрузки. Во-вторых, PDHS может быть частью UDHS, т. е. UDHS развертывает (ненадежное) приложение, которое обрабатывает данные от принимающих компонентов. С точки зрения злоумышленника приложение для синтаксического анализа, развернутое UDHS, действует как PDHS. Мы называем этот PDHS в оболочке UDHS UDHS-PDHS. С точки зрения пути атаки UDHS-PDHS по-прежнему изолирован, что отличает его от основного PDHS, но при этом он сталкивается с теми же угрозами, что и PDHS. Мы выделяем пример этого механизма в разделе 5.2.
(1) Целостность + (2) Стабильность: целостность UDHS находится под угрозой, если изоляция среды подвергается атаке, которую мы называем угрозами Escape to PDHS.
(3) Доступность: Мы не рассматриваем угрозы доступности UDHS, поскольку только UDHS-PDHS имеет обязательства по доступности.
(4) Конфиденциальность: извлечение информации из изолированной хост-среды угрожает конфиденциальности UDHS, что мы резюмируем как атаки по сторонним каналам.
3.1.3. Интерфейсный слой. Интерфейсы образуют третий и нижний уровень нашей таксономии. Всякий раз, когда компонент взаимодействует с другим компонентом или внешним источником, между ними используется интерфейс. Мы различаем два типа интерфейсов: внешние интерфейсы, которые взаимодействуют между компонентом и внешним элементом. Каждый интерфейс имеет только одного родителя, например, родителем COM Rx является COM. Однако компонент может иметь несколько интерфейсов, например, CDHS может иметь два разных сборщика TC для COM и канала полезной нагрузки шины. На рис. 3 мы опускаем стрелки между интерфейсами и компонентами для простоты, но каждый интерфейс имеет линию иерархии, ведущую к родителю, и пунктирную стрелку пути атаки от интерфейса к компоненту.
Внешний приемник. Внешние интерфейсы получают данные из-за пределов спутника (например, радиоприемники или оптические приемники). Мы опускаем рассмотрение угроз, поскольку в нашей модели эти интерфейсы реализуют только чисто аппаратные операции без программного обеспечения и могут подвергаться только электромагнитным и радиочастотным угрозам. Если спутник использует прошивку, то есть в виде микрокодов для выполнения демодуляции сигнала, мы считаем это частью COM, поскольку эксплуатация потенциально может привести к обходу контроля доступа. Следовательно, мы рассматриваем этот интерфейс только для моделирования наших злоумышленников, как подробно описано в разделе 4. Кроме того, мы рассматриваем только получателей структурированных данных, которые анализирует какой-либо компонент. Например, научная аппаратура для измерения радиации или термометр не могут получать побитовые структурированные данные, что исключает их из нашего рассмотрения.
Сборщик данных. Внутренние интерфейсы управляют взаимодействием между двумя компонентами. Мы называем эти интерфейсы сборщиками данных, поскольку они внутренне извлекают данные из одного компонента и предоставляют их своему родителю. Поскольку они получают трафик только от компонентов и пересылают его своему родителю, они сталкиваются только с (1) угрозами целостности и (3) доступностью. Невозможно провести различие между стабильностью и целостностью, а для нарушения конфиденциальности требуется обратный канал.
(1) Целостность + (2) Стабильность: Злоумышленник может захотеть манипулировать существующими данными, вводя новые или изменяя существующие данные. Таким образом, внедрение и изменение данных представляют собой угрозу целостности сборщиков данных. Например, интерфейс TC Fetcher скомпрометирован, если злоумышленнику удается внедрить дополнительный TC, хотя был отправлен только один.
(3) Доступность: Злоумышленник может поставить под угрозу способность интерфейса передавать все входящие пакеты данных своему родителю. Поскольку память часто ограничена, эти интерфейсы обычно используют кольцевой буфер, который заменяет старые пакеты новыми. Путем переполнения буфера и непрерывной ротации еще не обработанных пакетов интерфейс скомпрометирован (угроза переполнения данными). Кроме того, способность сборщика данных к пересылке может быть каким-то образом заблокирована (кроме перегрузки), что мы называем угрозой подавления пересылки.
3.2. Получение информации о спутниках
Наша таксономия на рис. 3 выделяет не только угрозы, но и пути атак и все вычислительные компоненты, обнаруженные на спутнике. Следовательно, наша таксономия функциональна и позволяет нам получать модели для конкретных спутников, которые перечисляют все возможные деревья атак и полную поверхность атаки. Далее мы сначала опишем, как получить спутниковую модель, которую мы также используем для всех трех тематических исследований (см. Раздел 5). Затем мы объясним, как из этой модели можно извлечь все деревья атак и поверхности атакующих.
3.2.1. Получение спутниковой модели. Прежде чем модель для конкретного спутника (впоследствии сокращенно модель) может быть получена из нашей таксономии для конкретного спутника, мы
подчеркнем, что важнейшим предварительным условием является достаточное понимание внутреннего устройства спутника (либо с помощью документации, либо путем обратного проектирования). Затем модель может быть получена в два этапа: во-первых, мы сопоставляем компоненты с фактическими компонентами спутника. Во-вторых, мы сопоставляем интерфейсы между этими компонентами, чтобы смоделировать реальное взаимодействие компонентов спутника.
В частности, при сопоставлении компонентов каждый компонент в слое компонентов может быть продублирован или удален, чтобы соответствовать конкретным требованиям спутника. Например, если у спутника нет PDHS или UDHS, оба (а также канал Bus-Payload Link) можно удалить, оставив только COM и CDHS. Если спутник имеет несколько компонентов PLCOM, мы дублируем компонент PLCOM, сохраняя при этом линию иерархии и стрелку пути атаки для каждого отдельного COM. Примечательно, что нельзя создавать новые компоненты, можно дублировать только существующие компоненты таксономии.
Далее интерфейсы сопоставляются с компонентами. Каждый компонент изначально имеет собственный интерфейс (см. рис. 3). Однако, поскольку у каждого интерфейса может быть только один родитель, но несколько дочерних элементов, несколько интерфейсов могут совместно использоваться как принимающие интерфейсы для одного компонента. Например, CDHS может использовать один и тот же сборщик TC для нескольких COM, т. е. при наличии активных резервных COM.
3.2.2. Извлечение дерева атак и поверхности. После получения этой модели пунктирные стрелки пути атаки образуют ориентированный граф. В разделе 4 мы обсуждаем наших злоумышленников в соответствии с нашими интерфейсами, где каждый злоумышленник подключен к интерфейсу, создавая эти интерфейсы, подключенные к злоумышленнику. Комбинация всех интерфейсов, подключенных к злоумышленнику, образует поверхность атаки. Следуя всем возможным путям от интерфейса, подключенного к злоумышленнику, к элементу уровня управления, мы можем извлечь все возможные пути атаки, где каждый путь является подграфом нашего дерева атак.
В наших тематических исследованиях мы используем это представление дерева атак, поскольку оно обеспечивает более интуитивное представление аспектов безопасности для конкретного спутника.