Android 보안 발전

Android 5.0 Lollipop(API 21)부터 시작하는 최근 주요 Android 버전의 주요 보안 강화 사항.
Android 5.0 (API 21) - Lollipop
보안 강화 - Android 5
Android 6 (API 23) - Marshmallow
Android 6의 보안 강화
Android 7 (API 24) - Nougat
보안 강화 - Android 7
- 사용자 및 _시스템 인증서 신뢰 저장소_가 분리되어, 이 시점부터 중간자(MITM) 공격은 기본적으로 루트 액세스가 필요합니다. Android Nougat의 신뢰할 수 있는 인증 기관 변경 사항 참조
- 네트워크 보안 구성 지원이 추가되어 앱이 코드 수정 없이도 선언적인 방식으로 보안(HTTPS, TLS) 연결 동작을 사용자 지정할 수 있습니다. 사용자 지정 신뢰 앵커(앱이 신뢰하는 인증 기관(CA)), 디버그 전용 재정의, 일반 텍스트 트래픽 거부 및 인증서 고정(신뢰하는 서버 키 제한)을 지원합니다. Android 7.0 for Developers의 네트워크 보안 구성 섹션 참조
- 기본적으로 _Android 7.0_을 대상으로 하는 앱은 사용자가 추가한 인증 기관(CA)을 더 이상 신뢰하지 않으며, 맞춤 네트워크 보안 구성이 없어도 시스템 제공 인증서만 신뢰합니다. Android 7.0 for Developers의 기본 신뢰 인증 기관 참조
- 키 증명(Key Attestation) 및 버전 바인딩(키를 잃지 않고 안전하지 않은 이전 버전으로 롤백 방지)을 지원하는 _Keymaster 2_로 업데이트. Android 7.0 for Developers의 키 증명 섹션, Keymaster 기능, 키 증명으로 하드웨어 지원 키 쌍 검증 및 키 및 ID 증명 참조
- 파일 기반 암호화(FBE) 도입, 그러나 제조사가 구현하는 것은 선택 사항입니다. Android 7.0 for Developers의 Direct Boot 섹션, Direct Boot 모드 지원 및 암호화 참조
- 업데이트된 SELinux 구성: 애플리케이션 샌드박스를 추가로 잠그고, mediaserver 스택을 권한이 축소된 더 작은 프로세스로 분할(Stagefright 완화). Android의 SELinux 참조
Android 8 (API 26) - Oreo
보안 강화 - Android 8