SELinux 정책 실습 + TEE 역할 이해 + 디버깅 트레이드오프 경험으로 설명
안드로이드 보안 수업에서 SELinux와 신뢰 실행 환경(TEE)을 처음 공부했습니다. SELinux의 장점은 정책 기반으로 프로세스 권한을 세밀하게 제어할 수 있다는 것인데, 악성 앱이 다른 앱의 데이터에 접근하는 시나리오를 실습에서 직접 차단해봤습니다. 정책을 수정할 때는 audit2allow로 로그를 분석해서 어떤 규칙이 필요한지 파악하는 방식을 써봤습니다. 단점은 정책 파일이 복잡해서 앱 개발 중에 허용해야 할 권한을 파악하는 게 까다롭고, 처음에는 avc: denied 로그를 해석하는 것 자체가 어려웠습니다. 신뢰할 수 있는 UI 측면에서는 사용자가 시스템 UI와 악성 앱 UI를 구별하기 어렵다는 취약점을 실습에서 확인했습니다. TEE는 민감한 연산을 일반 영역과 격리해서 결제·인증 데이터 보호에 활용된다는 걸 이해했습니다.
보안 기능이 강해질수록 개발자의 디버깅 경험이 어려워지는 트레이드오프가 있다는 걸 체감했습니다.