- Thiết bị đầu cuối người dùng Starlink của SpaceX là phần cứng cốt lõi cho kết nối Internet vệ tinh quỹ đạo Trái Đất tầm thấp
- Khi tháo rời thiết bị đầu cuối người dùng, có thể thấy RF frontend và SoC do hãng tự thiết kế là các linh kiện chính
- Kết quả phân tích firmware cho thấy phần lớn phần mềm cốt lõi bao gồm xử lý mạng không gian người dùng bỏ qua kernel và một số chức năng mã hóa
- Chip bảo mật STSAFE-A110 đóng vai trò là gốc xác thực bổ sung, đồng thời cung cấp mã hóa dữ liệu và định danh duy nhất
- Thiết bị đầu cuối này có cấu hình nhiều khóa công khai SSH và công cụ ghi lại gói tin đáng ngờ, nhưng chưa xuất hiện dấu hiệu xâm phạm quyền riêng tư của người dùng
Tổng quan
- Starlink là dịch vụ Internet vệ tinh quỹ đạo Trái Đất tầm thấp do SpaceX cung cấp
- Người dùng kết nối tới vệ tinh lân cận thông qua thiết bị đầu cuối, rồi từ đó được nối ra Internet qua gateway mặt đất
- Thế hệ vệ tinh mới có thể liên lạc giữa các vệ tinh bằng liên kết laser, góp phần cải thiện độ phủ toàn cầu và hiệu quả vận hành
- Ngay cả khi không có gateway tại địa phương, thiết bị đầu cuối Starlink vẫn có thể truy cập Internet qua gateway ở quốc gia lân cận, như trường hợp Ukraine
- Bài viết này tóm lược nội dung điều tra chuyên sâu về thiết bị đầu cuối người dùng Starlink của DARKNAVY
Phân tích phần cứng
- Một thiết bị đầu cuối người dùng Starlink gồm hai phần: router và ăng-ten (UTA)
- DARKNAVY đã mua một thiết bị đầu cuối Standard Actuated (Rev3, GenV2) tại Singapore và tháo rời ăng-ten
- Kết quả cho thấy các chip RF frontend (chủ yếu do STMicroelectronics sản xuất) chiếm phần lớn diện tích bo mạch
- Khu vực điều khiển trung tâm được trang bị SoC ST tùy biến riêng cho SpaceX (quad-core Cortex-A53), nhưng thông tin datasheet không được công khai
- Tại Black Hat USA 2022, tiến sĩ Lennert Wouters từ KU Leuven đã công bố trường hợp hack thành công thiết bị đầu cuối thế hệ 1 (GenV1), sau đó SpaceX đã vô hiệu hóa giao diện debug UART bằng bản cập nhật firmware
- Tuy vậy, từng có thêm các trường hợp tiếp tục vượt qua cơ chế bảo vệ bằng phương pháp khác
Trích xuất và phân tích firmware
- DARKNAVY đã dump firmware trực tiếp từ chip eMMC
- Do bo mạch Rev3 không có chân debug eMMC riêng, họ sử dụng cách tháo eMMC rồi trích xuất dữ liệu bằng programmer
- Phần lớn firmware không được mã hóa, nên có thể thấy boot chain (trừ BootROM), kernel và một phần hệ thống tệp
- Sau khi kernel khởi động, môi trường runtime được bung ra và sử dụng tại /sx/local/runtime
bin chứa các tệp thực thi phần mềm Starlink, dat chứa tệp cấu hình, còn revision_info chứa thông tin phiên bản
- Chương trình giao tiếp cốt lõi
user_terminal_frontend được viết bằng Go, còn phần lớn các thành phần khác là binary C++ tĩnh không có symbol
- Kiến trúc network stack hoạt động tương tự DPDK, bỏ qua kernel để chương trình không gian người dùng xử lý gói tin
- Linux kernel chủ yếu được dùng cho driver phần cứng và quản lý tiến trình
- Một phần phần mềm có chứa các chức năng vốn được thiết kế cho vệ tinh hoặc gateway
- Khi thiết bị khởi động, nó xác định loại thiết bị qua các ngoại vi phần cứng rồi chỉ nạp logic tương ứng để sử dụng
Mô phỏng
- Để phục vụ phân tích lâu dài, họ đã xây dựng môi trường mô phỏng firmware Rev3 dựa trên QEMU
- Trong môi trường này, họ đã chạy và debug thành công một số dịch vụ đối ngoại như
httpd, WebSocket, gRPC
- Nhờ đó có thể lần theo nguyên lý hoạt động của các tệp thực thi và dịch vụ quan trọng
Chip bảo mật
- Ngoài SoC chính còn có chip bảo mật STSAFE-A110, được quảng bá đạt chứng nhận CC EAL5+
- Con chip này có thể mua theo NDA, và chương trình stsafe_cli trong firmware dùng để tương tác với nó
- Kết quả phân tích cho thấy các chức năng do chip STSAFE cung cấp bao gồm cấp UUID duy nhất cho thiết bị, quản lý chứng chỉ khóa công khai (
stsafe_leaf.pem), dẫn xuất khóa đối xứng
- Chip này là một gốc tin cậy bổ sung tách biệt với secure boot của SoC, phù hợp với tiêu chuẩn thiết kế bảo mật nhúng hiện đại
Easter egg: Elon có đang theo dõi bạn?
- Trong quá trình phân tích, họ phát hiện chương trình Ethernet Data Recorder, làm dấy lên nghi vấn về khả năng tồn tại backdoor
- Chương trình này dường như có chức năng ghi lại gói tin, và nội bộ sử dụng cơ chế tương tự pcap_filter để bắt các gói cụ thể
- Xem các quy tắc có thể thấy đối tượng bị bắt chủ yếu là các gói UDP liên quan đến telemetry vệ tinh
- Lưu lượng bị thu thập được mã hóa bằng khóa phần cứng của SoC trước khi lưu lại
- Cho đến nay chưa xác nhận được bằng chứng cho thấy thiết bị thu thập dữ liệu quyền riêng tư của người dùng
- Trong quá trình khởi tạo, nếu thiết bị được nhận diện là đầu cuối người dùng thì 41 khóa công khai SSH sẽ được ghi vào /root/.ssh/authorized_keys, và cổng 22 luôn mở trên mạng cục bộ
- Việc một sản phẩm thương mại được cài sẵn nhiều khóa công khai không rõ nguồn gốc là điểm đáng chú ý
Kết luận và triển vọng
- Khi công nghệ vệ tinh được áp dụng trong nhiều lĩnh vực công nghiệp, các thành phần của hệ thống Internet vệ tinh như Starlink được dự báo sẽ trở thành chiến trường trọng yếu của cả tấn công lẫn phòng thủ bảo mật trong tương lai
- Do đặc thù của an ninh không gian, chỉ một sai sót cũng có thể dẫn tới mất liên lạc vĩnh viễn với đối tượng, nên cần tiếp cận hết sức thận trọng
1 bình luận
Ý kiến trên Hacker News
/root/.ssh/authorized_keys, và cổng 22 cũng luôn mở trên mạng nội bộ; điều này làm dấy lên thắc mắc vì sao lại cần tới 41 khóa, và rốt cuộc là ai không có quyền truy cập root vào terminal người dùng mà "bạn sở hữu"authorized_keysvẫn có 25 dòng, gồm nhiều yubikey trên laptop, khóa trên iPad và iPhone, khóa secure enclave trên Mac, v.v.; tôi hình dung Starlink hẳn phải có thêm ít nhất 1-2 quản trị viên hệ thống, nên 100 khóa công khai cũng không phải con số quá kỳ lạ