- DARKNAVY는 싱가포르에서 구매한 Starlink Standard Actuated의 안테나를 분해해 하드웨어, 펌웨어, 보안 칩, 에뮬레이션 가능성을 예비 분석함
- 안테나 PCB 대부분은 STMicroelectronics RF 프런트엔드가 차지하고, 핵심 제어부는 보드 한쪽에 집중돼 있어 일반 IoT 장치와 유사한 구조를 보임
- Rev3 펌웨어는 eMMC를 탈거해 덤프했으며, 대부분이 비암호화 상태라 부트 체인 일부, 커널, 파일시스템 일부, 런타임 구성을 확인할 수 있었음
- 추출된 소프트웨어에는 사용자 단말뿐 아니라 위성·지상 게이트웨이용으로 보이는 기능도 포함되며, 시작 시 하드웨어 주변장치로 장치 유형을 식별하는 구조로 보임
- Ethernet Data Recorder는 위성 원격 측정 관련 패킷을 기록하고 하드웨어 키로 암호화하지만, UTA에는 41개의 SSH 공개키가 자동 등록되고 로컬 네트워크에 22번 포트가 항상 열려 있음
Starlink 사용자 터미널과 분석 범위
- Starlink는 SpaceX의 저궤도 위성 인터넷 서비스로, 사용자는 사용자 터미널을 통해 근지구 궤도 위성에 접속하고 지상 게이트웨이를 거쳐 인터넷에 연결함
- 새로운 세대의 위성에는 레이저 링크가 점진적으로 포함돼 일부 위성이 서로 직접 통신할 수 있음
- 지상국 의존도를 줄이고 전송 효율을 높이며 전 세계 커버리지를 개선함
- 현지 지상국이 없는 우크라이나 전장에서도 Starlink 사용자 터미널이 위성 간 링크를 통해 인접 국가의 게이트웨이에 간접 접속할 수 있음
- DARKNAVY의 조사는 Starlink 사용자 터미널 전체가 아니라 안테나 구성요소인 User Terminal Antenna, UTA에 집중함
- 대상 장비는 싱가포르에서 구매한 Starlink Standard Actuated
- Rev3 또는 GenV2로도 불림
하드웨어 분해 결과
- 완전한 Starlink 사용자 터미널은 라우터와 안테나 두 부분으로 구성됨
- 분해된 UTA의 PCB는 외부 케이스와 거의 비슷한 크기였음
- 보드 대부분은 STMicroelectronics가 만든 RF 프런트엔드 칩이 차지함
- 핵심 제어 부품은 PCB 한쪽에 주로 모여 있음
- RF 안테나를 제외한 UTA 핵심 영역의 전체 설계는 일반적인 IoT 장치와 상당히 유사함
- 메인 SoC는 SpaceX를 위해 ST가 맞춤 제작한 quad-core Cortex-A53임
- 현재 이 칩의 하드웨어와 데이터시트는 기밀이며 공개되지 않음
- Black Hat USA 2022에서 KU Leuven의 Dr. Lennert Wouters는 1세대 Starlink 안테나 GenV1에 결함 주입 공격을 수행해 장치의 root shell을 얻는 시연을 함
- SpaceX는 이후 펌웨어 업데이트로 PCB의 UART 디버그 인터페이스를 비활성화해 결함 공격 저항성을 높임
- Wouters는 접근 방식을 개선해 다시 침입에 성공함
펌웨어 추출과 소프트웨어 구조
- DARKNAVY는 UTA를 더 깊이 분석하기 위해 eMMC 칩에서 펌웨어를 직접 덤프함
- Rev3 보드에는 명확한 eMMC 디버그 핀이 없었음
- eMMC 칩을 PCB에서 탈거한 뒤 프로그래머로 읽어야 했음
- 추출된 펌웨어 대부분은 암호화되지 않은 상태였음
- BootROM을 제외한 부트 체인
- 커널
- 파일시스템의 비암호화 영역
- 커널 시작 후에는 런타임 환경 대부분을 eMMC에서 읽어
/sx/local/runtime디렉터리에 풀어놓음 - 런타임 구조에서
bin은 Starlink 소프트웨어 스택에 필요한 실행 파일을 담고,dat는 설정 파일을 저장하며,revision_info는 현재 소프트웨어와 하드웨어 버전을 기록함 - 외부 사용자 통신을 처리하는
user_terminal_frontend는 Go로 작성됐고, 나머지 대부분의 프로그램은 심볼이 없는 정적 컴파일 C++ 실행 파일임 - 기존 연구를 바탕으로 한 초기 분석에서 네트워크 스택 아키텍처는 DPDK와 어느 정도 유사함
- 주로 사용자 공간 C++ 프로그램이 커널을 우회해 네트워크 패킷을 처리함
- Linux 커널은 기본 하드웨어 드라이버와 프로세스 관리를 제공하는 역할이 큼
- UTA에서 추출한 핵심 소프트웨어에는 위성이나 지상 게이트웨이에 속할 것으로 보이는 기능도 포함돼 있음
- 초기 리버스 엔지니어링상 시스템은 시작 중 하드웨어 주변장치를 기준으로 장치 유형을 식별함
- 이후 해당 장치 유형에 맞는 로직을 로드하고 실행함
QEMU 기반 에뮬레이션
- DARKNAVY는 UTA를 지속적으로 분석하기 쉽도록 Rev3 펌웨어용 QEMU 기반 에뮬레이션 환경을 구축함
- 이 환경에서 외부 엔티티와 상호작용하는 일부 소프트웨어를 실행하고 디버그하는 데 성공함
httpdWebSocketgRPC서비스
STSAFE-A110 보안 칩
- UTA에는 메인 SoC 외에 전용 보안 칩인 STSAFE-A110이 탑재돼 있음
- 이 칩은 CC EAL5+ 보안 등급을 주장함
- 맞춤형 SoC와 달리 NDA 하에서 합법적으로 구매할 수 있음
- UTA 펌웨어에서는
stsafe_cli라는 사용자 공간 프로그램이 이 칩과의 상호작용을 처리함 - 리버스 엔지니어링 결과 STSAFE는 주로 다음 기능을 제공하는 것으로 보임
- 각 장치의 고유 식별자, UUID
- 위성 통신 인증에 쓰이는 것으로 추정되는 공개키 인증서
stsafe_leaf.pem관리 - 사용자 데이터 전송용 대칭 암호화 키 파생
- 이 칩은 SoC의 secure boot 메커니즘과 독립적인 추가 root of trust 역할을 하며, 현대 임베디드 보안 설계 방식과 맞아떨어짐
Ethernet Data Recorder와 SSH 키
- 분석 중 Ethernet Data Recorder라는 프로그램이 발견됐으며, 이름과 기능만 보면 사용자 데이터 캡처 백도어로 의심될 수 있음
- 세부 확인 결과 이 프로그램은
pcap_filter와 유사한 메커니즘으로 특정 네트워크 패킷을 기록함- 캡처 규칙 예시는
udp and dst port 10017조건과 특정 multicast 대상 호스트를 포함함 - 펌웨어 내 다른 단서를 기준으로 이 패킷들은 위성 원격 측정과 관련됨
- 캡처 규칙 예시는
- 캡처된 모든 트래픽은 SoC에 퓨즈된 하드웨어 키를 사용해 암호화됨
- 현재 확보된 정보만으로는 이 기능이 사용자 프라이버시 데이터를 수집한다고 보기 어려움
- 장치 초기화 중 시스템이 자신을 사용자 터미널로 식별하면 초기화 스크립트가 41개의 SSH 공개키를
/root/.ssh/authorized_keys에 자동 기록함- UTA의 22번 포트는 로컬 네트워크에 항상 열려 있음
- 사용자 제품에 이렇게 많은 알 수 없는 로그인 키가 존재한다는 점은 눈에 띔
위성 인터넷 시스템의 보안 맥락
- 위성 기술이 계속 발전하고 다양한 산업에 적용되면서 Starlink와 다른 위성 인터넷 시스템의 각 구성요소는 향후 공격과 방어 작전의 중요한 영역이 될 수 있음
- 우주 보안에서는 개발자와 해커가 디지털 영역뿐 아니라 우주 물리학의 제약과도 맞서야 함
- 한 번의 잘못된 조작으로 대상과의 연락을 영구적으로 잃을 수 있음