안드로이드 보안모델 (Android Security Model)

정보보안학
한 줄 정의: 안드로이드 운영체제가 앱마다 독립된 실행 공간을 부여하는 샌드박스 구조와 명시적 권한 요청 체계를 기반으로 앱 간 격리와 사용자 데이터 보호를 실현하는 보안 설계 원칙입니다.

쉽게 풀면

안드로이드 폰에 설치된 여러 앱을 서로 다른 방이 있는 아파트에 사는 입주민이라고 상상하면 됩니다. 각 앱(입주민)은 자기 방(자신만의 저장 공간과 실행 환경) 안에서만 자유롭게 활동할 수 있고, 다른 앱의 방에는 함부로 들어갈 수 없습니다. 만약 어떤 앱이 카메라나 위치정보처럼 다른 방의 공용 시설을 쓰고 싶다면, 반드시 관리사무소(운영체제)에 미리 허락(권한)을 구해야 합니다. 이런 격리와 허락 체계 전체를 안드로이드 보안모델이라고 부릅니다.

왜 중요한가

전 세계에서 가장 많이 쓰이는 모바일 운영체제인 만큼 안드로이드는 방대한 수의 서드파티 앱이 설치되는 개방적 생태계를 갖고 있어, 악성 앱이나 취약한 앱이 다른 앱이나 시스템 자원을 침해하지 못하도록 막는 격리 구조가 필수적입니다. 이 때문에 정보보안학의 모바일 보안 분야에서 안드로이드 보안모델의 구조와 그 한계를 분석하는 연구가 꾸준히 이루어지고 있습니다.

논문에서는 이렇게 쓰입니다

"본 연구는 안드로이드 보안모델의 권한 시스템에서 발생 가능한 과도한 권한 요청(overprivilege) 문제를 정적 분석을 통해 정량적으로 조사하였다."

안드로이드 권한 체계의 실제 운영상 문제를 분석한 연구의 예문입니다.

"제안하는 기법은 안드로이드 샌드박스 격리를 우회하려는 앱 간 은닉 채널 통신을 탐지하여 정보 유출 가능성을 사전에 차단한다."

샌드박스 우회 시도를 탐지하는 방어 기법 연구의 예문입니다.

조금 더 깊게 보면

안드로이드 보안모델은 각 앱에 고유한 리눅스 사용자 ID를 부여해 운영체제 수준에서 프로세스와 파일 접근을 격리하는 샌드박스, 카메라·연락처 등 민감 자원에 접근할 때 사용자 동의를 요구하는 런타임 권한 체계, 그리고 앱스토어에 등록되기 전 악성 여부를 점검하는 검증 절차 등 여러 층으로 구성됩니다. 버전이 올라가면서 권한을 세분화하고 백그라운드 접근을 제한하는 등 지속적으로 보안 모델이 강화되어 왔습니다.

주의할 점

안드로이드 보안모델은 기기가 루팅되거나 사용자가 알 수 없는 출처의 앱 설치를 허용하는 경우 이러한 격리·권한 체계의 보호 효과가 크게 약화될 수 있어, 모델 자체의 설계와 실제 운영 환경의 보안 수준은 별개로 평가되어야 합니다.

관련 용어