Google I/O 2019 개발자 컨퍼런스에서 Google은 Android Q의 모듈을 통해 보안 업데이트 속도를 높이기 위한 노력인 Project Mainline을 발표했습니다.
Android 버전 조각화는 Google이 해결해야 할 가장 큰 과제 중 하나입니다. Google Pixel 스마트폰은 Pixel의 놀라운 노력 덕분에 시장에서 가장 안전한 스마트폰 중 하나입니다. AOSP 엔지니어를 비롯한 많은 스마트폰이 오래된 OS 버전이나 오래된 보안 패치를 실행하고 있어 익스플로잇에 취약합니다. 수준. Gartner의 최신 보고서에 따르면 Android 9 Pie는 놀라울 정도로 안전한 OS이지만 약 10%에 불과하다 의 모든 스마트폰이 출시되었습니다.
Google은 다음과 같은 계획을 통해 버전 조각화를 다루고 있습니다. 프로젝트 트레블, Android의 주요 재설계로 인해 Android OS 프레임워크 구성요소와 공급업체 HAL 구성요소가 분리되었습니다. 확장된 Linux 커널 LTS, 필수 보안 패치 업데이트 2년 동안 그리고 Android 엔터프라이즈 권장. Google I/O 2019에서 회사는 보안 업데이트 속도를 높이기 위한 최신 계획인 Android Q용 프로젝트 메인라인을 발표했습니다.
프로젝트 메인라인: Google Play를 통해 Android Q 시스템 모듈 업데이트
지난 몇 달 동안 우리는 '꼭대기" AOSP에서. APEX 또는 안드로이드 포니 익스프레스는 APK와 유사한 새로운 패키지 유형입니다. 그러나 Android 애플리케이션을 수용하는 대신 APEX는 네이티브 또는 클래스 라이브러리의 본거지입니다. Android 앱, HAL(하드웨어 추상화 계층) 및 Android에서 호출할 수 있는 사전 컴파일된 코드 런타임(ART). APK와 마찬가지로 APEX 패키지는 Android의 기존 패키지 설치 방법인 Google Play 스토어/패키지 관리자 또는 ADB를 통해 사용자에게 제공될 수 있습니다.
APEX 모듈은 APK 기반 모듈보다 부팅 프로세스에서 훨씬 더 일찍 사용할 수 있으며 보안 강화를 위해 dm-verity 및 Android 자체 검사 부팅의 지원도 받습니다. APEX 패키지에 페이로드 이미지를 마운트하려면 Linux 커널의 루프 드라이버가 필요하므로 기기에는 Linux 커널 버전 4.9 이상이 필요합니다. APEX 패키지를 관리하려면 Android Q에 도입된 새로운 APEX 데몬이 필요합니다. APEX(예: Google Pixel 3)를 지원하기 위해 Linux 커널 4.4를 사용하여 Android Q로 업그레이드하는 기기가 가능하지만 OEM은 이를 작동시키려면 추가 패치를 병합해야 합니다. 대부분의 경우 Android Q로 출시되는 장치만 Project Mainline을 지원합니다.
GNU/Linux 배포판은 오랫동안 전체 시스템 업데이트와 독립적으로 시스템 구성 요소를 업데이트할 수 있었지만 Android에서는 이를 업데이트하려면 항상 시스템 업데이트가 필요했습니다. Google은 dpkg 및 rpm과 같은 기존 Linux 패키지 관리 시스템을 사용하여 이러한 패키지를 배포하지 않기로 결정했습니다. 왜냐하면 dm-verity를 사용하여 설치 후 패키지를 보호하지 않기 때문입니다.
장치 제조업체가 업데이트를 출시하는 데 오랜 시간이 걸리기 때문에 많은 장치의 시스템 구성 요소가 며칠, 몇 주, 심지어 몇 달 동안 오래된 상태일 수 있습니다. 이러한 구성요소를 APEX 패키지로 배포함으로써 Google은 OEM이 시스템 업데이트를 출시할 때까지 오랜 시간을 기다리지 않아도 됩니다.
그러나 Google이 모든 시스템 구성요소에 대해 완전한 통제권을 행사하는 것은 아닙니다. 회사는 OEM 파트너와 협력하여 시스템 앱(APK) 및 시스템 구성 요소(APEX) 세트를 선택했습니다. 패키지)를 모듈화하여 다음과 같이 출시되는 장치를 사용하는 모든 사용자의 보안, 개인 정보 보호 및 일관성을 향상할 수 있습니다. 안드로이드 Q. Google은 초기 시스템 구성 요소 세트를 어떻게 생각해 냈는지 정확히 공개하지 않았지만 Android Q로 출시되는 기기의 시스템 구성 요소 목록을 제공했으며 다음을 통해 업데이트할 수 있습니다. Google:
- 보안: 미디어 코덱, 미디어 프레임워크 구성 요소, DNS 확인자, Conscrypt
- 은둔: 문서 UI, 권한 컨트롤러, ExtServices
- 일관성: 시간대 데이터, ANGLE(개발자 선택), 모듈 메타데이터, 네트워킹 구성요소, 종속 포털 로그인, 네트워크 권한 구성
"최근 패치된 취약점의 거의 40%를 차지하는" Conscrypt, Java 보안 라이브러리 및 미디어 구성 요소에 대한 즉각적인 업데이트는 Android 기기를 더욱 안전하게 만들 것입니다. 권한 컨트롤러를 업데이트하면 개인 정보 보호가 향상됩니다. 시간대 데이터를 표준화하면 국가가 시간대를 변경하기로 결정할 때마다 전 세계 Android 기기를 동일한 페이지에 유지하는 데 도움이 됩니다. 또한, 게임 개발자는 표준화의 이점을 누릴 수 있습니다. 각도.
Google은 이러한 시스템 구성 요소부터 시작하지만 향후 Android 릴리스에서는 더 많은 구성 요소를 추가할 수 있습니다. 이러한 13개 구성 요소 중 Conscrypt, 시간대 데이터, 미디어 코덱 및 미디어 프레임워크 구성 요소는 APEX 패키지로 제공됩니다. 나머지 9개 구성요소는 시스템 APK입니다. APEX와 APK는 모두 Google Play를 통해 제공될 수 있지만 APEX 패키지 업데이트 재부팅이 필요합니다. Google은 아직 이것이 어떻게 일어날 것인지에 대한 UI 흐름을 공유하지 않았지만 기기가 Android Q와 함께 출시되기 시작하면 프로젝트 메인라인 및 APEX 패키지에 대한 더 많은 정보를 알게 될 것입니다.