피드로 돌아가기
Google, Pixel 10 베이스밴드 펌웨어에 Rust 도입
GeekNewsGeekNews
Security

Google, Pixel 10 베이스밴드 펌웨어에 Rust 도입

Pixel 10 베이스밴드 펌웨어 내 Rust DNS 파서 도입 및 no_std 통합 성공

darjeeling2026년 4월 13일2advanced

Context

외부 공격 표면이 넓은 셀룰러 베이스밴드의 C/C++ 기반 구조로 인한 메모리 안전 취약점 상존. 특히 신뢰할 수 없는 데이터를 처리하는 DNS 파싱 영역의 구조적 위험 제거가 시급한 상황.

Technical Solution

  • 메모리 안전성 확보를 위해 오픈소스 hickory-proto 라이브러리를 채택한 Rust 기반 DNS 파서 설계
  • 베어메탈 환경 구동을 위한 no_std 지원 부족 문제를 관련 crate 및 의존성 직접 수정 및 upstream 기여로 해결
  • 기존 모뎀 빌드 시스템(Pigweed/GN)에 Rust 컴파일 단계를 직접 통합하고 cargo-gnaw를 통한 빌드 규칙 자동화
  • FFI를 활용해 Rust 메모리 할당기와 panic 처리 로직을 기존 펌웨어의 allocator 및 crash backend와 연동
  • 응답 파싱은 Rust가 수행하고 기존 C 메모리 구조 업데이트는 C 함수 콜백을 재사용하는 하이브리드 인터페이스 구축
  • compiler_builtins가 기존 최적화 memcpy/memset을 덮어쓰는 성능 저하 문제를 스크립트 기반 제거로 최적화

1. 저수준 펌웨어에 Rust 도입 시 no_std 지원 여부와 의존성 라이브러리의 bare-metal 호환성 우선 검토

2. 이기종 언어 통합 시 FFI 계층에서 기존 시스템의 Allocator 및 Error Handling 체계와 정밀하게 연동

3. 빌드 시스템 파편화를 막기 위해 Cargo-GN과 같은 도구로 기존 빌드 툴체인(GN, Bazel 등)에 직접 통합

원문 읽기