Starlink의 사용자 터미널 펌웨어 살펴보기
홈페이지홈페이지 > 블로그 > Starlink의 사용자 터미널 펌웨어 살펴보기

Starlink의 사용자 터미널 펌웨어 살펴보기

Jun 17, 2023

일반 Starlink 사용자는 접시를 정렬하고 배선을 실행한 후 하드웨어에 대해 생각하는 데 많은 시간을 소비하지 않을 것입니다. 그러나 보안 연구자들에게 이는 펌웨어를 리버스 엔지니어링하고 무엇이 작동하는지와 이를 깨뜨리는 방법을 알아내려고 노력하는 또 다른 매력적인 장치입니다. 이것은 본질적으로 Quarkslab에서 펌웨어 아키텍처와 내부 통신의 잠재적인 약점을 파헤치는 [Carlo Ramponi]의 기사 주제입니다.

사용자 터미널 하드웨어 자체는 독점 통신 인터페이스와 함께 매우 표준적인 AArch64 ARM 기반 SoC이며 모두 Linux 기반 펌웨어에 의해 제어됩니다. 온보드 eMMC 스토리지의 콘텐츠를 덤프하는 것과 관련된 KU Leuven 연구원의 기존 작업 덕분에 펌웨어 자체를 덤프하는 것이 쉬워졌습니다. 그 후 펌웨어 아키텍처를 분석할 수 있었는데, 이는 대부분 C++ 기반 바이너리로 구성되어 있었지만 Go로 작성된 사용자 프런트 엔드를 위한 단일 대형 바이너리로 구성되어 있는 것으로 나타났습니다.

이러한 프로세스 간의 통신은 '슬레이트 공유'라는 사용자 정의 프로세스 간 프로토콜을 통해 처리되며, 모두 핵심 사용자 터미널 제어 프로세스를 통해 조정됩니다. 퍼징 공격의 가능성이 가장 높은 공격 표면을 형성하는 것은 이러한 Slate IPC 메시지입니다. SoftwareUpdateRequest 명령은 특정 사용자를 다루지 않기 때문에 인증이 필요하지 않은 것처럼 보이기 때문에 흥미로운 대상이 됩니다. 이 작업은 [Carlo]의 석사 논문의 일부이며 Starlink 사용자 터미널 펌웨어에 대한 추가 연구의 기초를 형성해야 합니다.