자체 검사 부팅

자체 검사 부팅은 공격자나 손상이 아닌 신뢰할 수 있는 소스(보통 기기 OEM)에서 모든 실행 코드를 제공하도록 합니다. 하드웨어로 보호된 신뢰 루트에서 부트로더, 부트 파티션, 기타 확인된 파티션(system, vendor, 선택적으로 oem 파티션을 포함)에 이르기까지 전체 신뢰 체인을 설정합니다. 기기가 부팅되는 동안 각 단계에서는 실행을 전달하기 전에 다음 단계의 무결성과 진정성을 확인합니다.

자체 검사 부팅은 기기가 Android의 안전한 버전을 실행하도록 하며 롤백 보호를 통해 Android의 올바른 버전을 확인합니다. 롤백 보호는 기기가 최신 버전의 Android로만 업데이트되도록 하여 악용을 방지합니다.

자체 검사 부팅은 OS 검증 외에도 Android 기기가 사용자에게 무결성 상태를 알리도록 합니다.

배경

Android 4.4에는 자체 검사 부팅 및 dm-verity 커널 지원이 추가되었습니다. 이 인증 기능 조합은 자체 검사 부팅 1 역할을 했습니다.

이전 버전의 Android에서는 사용자에게 기기 손상을 경고하면서도 기기 부팅을 허용했습니다. 그러나 Android 7.0에서는 보안 침해된 기기가 부팅되지 않도록 하기 위해 자체 검사 부팅을 엄격하게 시행하기 시작했습니다. 또한 Android 7.0은 정방향 오류 수정을 지원하여 악성이 아닌 데이터가 손상되지 않도록 안정성을 개선합니다.

Android 8.0 이상에는 프로젝트 Treble에서 사용할 수 있는 자체 검사 부팅의 참조 구현인 Android 자체 검사 부팅(AVB)이 포함되어 있습니다. Treble과 함께 AVB는 파티션 바닥글 형식을 표준화했으며 롤백 보호 기능을 추가했습니다.