Эксперт из Левенского католического университета Леннерт Воутерс (Lennert Wouters), ранее обнаруживший баг, который позволял угнать Tesla за пару минут, рассказал, что ему удалось скомпрометировать терминал Starlink с помощью мод-чипа стоимостью 25 долларов. На конференции Black Hat 2022 Воутерс сообщил, что намерен сделать этот инструмент доступным для копирования.
С 2018 года компания Илона Маска запустила на орбиту более 3000 спутников Starlink. Эта спутниковая сеть призвана обеспечивать подключение к интернету в самых труднодоступных местах на Земле, где ранее подключение было ненадежным, дорогим или полностью недоступным. По мере развития на орбиту планируют вывести еще тысячи спутников, и Starlink, как и любая другая новая технология, не мог не заинтересовать хакеров и исследователей.
Теперь Леннерт Воутерс рассказал об одном из первых взломов терминал Starlink, спутниковой антенны (получившей название Dishy McFlatface), которые обычно располагают на зданиях. Чтобы получить доступ к прошивке тарелки, Воутерс разобрал купленный им терминал и сам разработал специальный инструмент для его взлома.
Эту роль взяла на себя кастомная плата (мод-чип), собранная из готовых деталей, общая стоимость которых составила примерно 25 долларов. После подключения к тарелке Starlink плата используется для атаки типа fault injection («внедрение сбоев»), временно замыкая систему, чтобы обойти защитные механизмы Starlink. В итоге этот «глюк» позволил Воутерсу добраться до ранее заблокированных частей системы Starlink.
Для создания мод-чипа Воутерс отсканировал тарелку Starlink и создал плату, подходящую к существующей плате Starlink. Его мод-чип необходимо припаять к существующей плате Starlink и подключить с помощью нескольких проводов.
Сам мод-чип состоит из микроконтроллера Raspberry Pi, флэш-памяти, электронных переключателей и регулятора напряжения. При создании платы для пользовательского терминала, инженеры Starlink напечатали на ней надпись «Сделано людьми на Земле» (Made on Earth by humans). На мод-чипе Воутерса написано: «Сломано людьми на Земле» (Glitched on Earth by humans).
Более того, исследователь решил сделать свой инструмент опенсорсным, опубликовав свои наработки на GitHub, включая некоторые детали, необходимые для запуска атаки.
«Допустим, вы — злоумышленники и хотите атаковать сам спутник, — пишет эксперт. — Вы можете попытаться создать собственную систему, которая позволит вам общаться со спутником, однако это довольно сложно. Поэтому, если вы хотите атаковать спутники, лучше зайти со стороны пользовательского терминала, ведь это, вероятно, облегчит вам жизнь».
Издание Wired объясняет, что система Starlink состоит из трех основных частей. Первая, это сами спутники, которые движутся по околоземной орбите на высоте около 550 километров и передают сигналы на поверхность. Спутники взаимодействуют с двумя системами на Земле: шлюзами, которые отправляют интернет-соединения на спутники, и тарелками Dishy McFlatface, которые могут приобрести пользователи. Исследование Воутерса было сосредоточено вокруг пользовательских терминалов, которые изначально были круглыми, но новые модели имеют прямоугольную форму.
Энтузиасты уже давно изучают пользовательские терминалы Starlink: их неоднократно разбирали, обсуждали их устройство на Reddit, но Воутерс стал первым, кто обратил внимание на безопасность терминала и его чипов. Он рассказывает, что прошел через несколько этапов и перебрал немало разных подходов, прежде чем создал свой опенсорсный мод-чип.
Воутерс тестировал систему Starlink начиная с мая 2021 года, добившись скорость загрузки 268 Мбит/с и скорость скачивания 49 Мбит/с с крыши здания своего университета. После этого он принял решение разобрать устройство. Используя комбинацию из «промышленного фена, инструментов, изопропилового спирта и моря терпения», он смог снять с тарелки крышку и получил доступ к ее внутренним компонентам. В итоге это помогло понять, как устройство загружается и скачивает прошивки.
В целом, атака Воутерса работает посредством обхода проверок безопасности и проверки подписи, которые нужны, чтобы убедиться, что система запускается правильно, и код не был подделан. «Мы используем это, чтобы точно рассчитать время внедрения сбоя», — объясняет Воутерс.
Так, когда тарелка Starlink включается, загрузчик проходит через ряд различных этапов. Атака Воутерса провоцирует сбой в первом бутлоадере, загрузчике ПЗУ, который прошит в SoC и не может быть обновлен. После этого появляется возможность развернуть кастомную прошивку и получить контроль над терминалом.
Исследователь уведомил Starlink о найденных им уязвимостях еще в прошлом году, и компания выплатила ему вознаграждение по программе bug bounty. Разработчики Starlink даже предложили Воутерсу доступ к программному обеспечению устройства, однако тот отказался, так как уже углубился в работу и хотел закончить разработку мод-чипа.
При этом Воутерс отмечает, что, хотя SpaceX выпустила обновление, чтобы усложнить атаку (в ответ он изменил свой мод-чип), основная проблема не может быть исправлена, пока компания не создаст новую версию основного чипа. По этой причине все существующие пользовательские терминалы по-прежнему уязвимы, хотя осуществить атаку стало труднее.
Хотя спецификации мод-чипа доступны на GitHub, Воутерс говорит, что не планирует продавать готовые платы, а также не станет распространять кастомную прошивку для пользовательского терминала или приводить точные данные о сбое, который он эксплуатировал.
Стоит отметить, что после выступления Воутерса на Black Hat, инженеры Starlink опубликовали шестистраничный PDF-документ, объясняющий, как они именно защищают свои системы.
«Мы находим эту атаку впечатляющей с технической точки зрения, и это первая подобная атака, о которой нам стало известно, — гласит документ. — Мы ожидаем, что злоумышленники, обладающие инвазивным физическим доступом, смогут совершать вредоносные действия от лица одного комплекта Starlink, используя его идентификатор, поэтому мы полагаемся на принцип “наименьших привилегий”, чтобы ограничить последствия для системы в целом».
Специалисты Starlink подчеркивают, что для такой атаки необходим физический доступ к терминалу, и в результате сбоя при загрузке можно скомпрометировать только одно конкретное устройство, а не всю сеть Starlink.
«Обычным пользователям Starlink не нужно беспокоиться о том, что эта атака затронет их, или предпринимать какие-то ответные действия», — резюмируют в Starlink.