Android 기기 보안

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Android는 업계 최고의 보안 기능을 통합하고 개발자 및 기기 구현자와 협력하여 Android 플랫폼과 생태계를 안전하게 유지합니다. 강력한 보안 모델은 Android 플랫폼을 기반으로 구축되고 클라우드 서비스에서 지원하는 앱과 기기의 활발한 에코시스템을 활성화하는 데 필수적입니다. 결과적으로 Android는 전체 개발 수명 주기 동안 엄격한 보안 프로그램의 대상이 되었습니다.

Android는 개방형으로 설계되었습니다. Android 앱은 소비자에게 혁신과 가치를 제공하기 위해 플랫폼을 통해 노출되는 고급 하드웨어 및 소프트웨어와 로컬 및 서비스 데이터를 사용합니다. 이러한 가치를 실현하기 위해 플랫폼은 사용자, 데이터, 앱, 장치 및 네트워크의 기밀성, 무결성 및 가용성을 보호하는 앱 환경을 제공합니다.

개방형 플랫폼을 확보하려면 강력한 보안 아키텍처와 엄격한 보안 프로그램이 필요합니다. Android는 플랫폼의 모든 사용자를 계속 보호하면서 개방형 플랫폼을 지원하기에 충분히 유연한 다층 보안으로 설계되었습니다. 보안 문제 보고 및 업데이트 프로세스에 대한 자세한 내용은 보안 업데이트 및 리소스 를 참조하십시오.

Android는 개발자를 위해 설계되었습니다. 보안 제어는 개발자의 부담을 줄이기 위해 설계되었습니다. 보안에 정통한 개발자는 유연한 보안 제어를 사용하여 쉽게 작업하고 이에 의존할 수 있습니다. 보안에 익숙하지 않은 개발자는 안전한 기본값으로 보호됩니다.

Android는 구축할 안정적인 플랫폼을 제공하는 것 외에도 여러 가지 방법으로 개발자에게 추가 지원을 제공합니다. Android 보안 팀은 앱에서 잠재적인 취약점을 찾고 이러한 문제를 해결하는 방법을 제안합니다. Google Play가 있는 기기의 경우 Play 서비스는 앱 통신을 보호하는 데 사용되는 OpenSSL과 같은 중요한 소프트웨어 라이브러리에 대한 보안 업데이트를 제공합니다. Android 보안은 개발자가 개발 중인 플랫폼에서 잠재적인 보안 문제를 찾는 데 도움이 되는 SSL( nogotofail ) 테스트 도구를 출시했습니다.

Android 앱 개발자를 위한 추가 정보는 developer.android.com 에서 확인할 수 있습니다.

Android는 사용자를 위해 설계되었습니다. 사용자는 각 앱에서 요청한 권한에 대한 가시성과 이러한 권한을 제어할 수 있습니다. 이 설계에는 공격자가 장치 사용자가 맬웨어를 설치하도록 유도하는 사회 공학 공격 및 Android의 타사 앱에 대한 공격과 같은 일반적인 공격을 수행하려고 시도할 것이라는 예상이 포함됩니다. Android는 이러한 공격의 가능성을 줄이고 공격이 성공한 경우 공격의 영향을 크게 제한하도록 설계되었습니다. Android 보안은 장치가 사용자의 손에 들어간 후에도 계속 진행됩니다. Android는 파트너 및 대중 과 협력하여 보안 업데이트를 계속 받는 모든 Android 기기에 패치를 제공합니다.

최종 사용자를 위한 자세한 정보는 Nexus 고객센터 , Pixel 고객센터 또는 기기 제조업체의 고객센터에서 확인할 수 있습니다.

이 페이지에서는 Android 보안 프로그램의 목표를 간략하게 설명하고 Android 보안 아키텍처의 기본 사항을 설명하며 시스템 설계자와 보안 분석가를 위한 가장 적절한 질문에 대한 답변을 제공합니다. Android 핵심 플랫폼의 보안 기능에 중점을 두고 브라우저나 SMS 앱과 관련된 특정 앱과 관련된 보안 문제에 대해서는 논의하지 않습니다.

배경

Android는 모바일 장치를 위한 오픈 소스 플랫폼 및 앱 환경을 제공합니다.

아래 섹션과 페이지에서는 Android 플랫폼의 보안 기능에 대해 설명합니다. 그림 1은 다양한 수준의 Android 소프트웨어 스택에 대한 보안 구성 요소와 고려 사항을 보여줍니다. 각 구성 요소는 아래 구성 요소가 제대로 고정되어 있다고 가정합니다. 루트로 실행되는 소량의 Android OS 코드를 제외하고 Linux 커널 위의 모든 코드는 애플리케이션 샌드박스에 의해 제한됩니다.

그림 1: Android 소프트웨어 스택

그림 1. Android 소프트웨어 스택

주요 Android 플랫폼 구성 요소는 다음과 같습니다.

  • 기기 하드웨어: Android는 휴대전화, 태블릿, 시계, 자동차, 스마트 TV, OTT 게임 박스, 셋톱박스 등 다양한 하드웨어 구성에서 실행됩니다. Android는 프로세서에 구애받지 않지만 ARM eXecute-Never와 같은 일부 하드웨어 관련 보안 기능을 활용합니다.
  • Android 운영 체제: 핵심 운영 체제는 Linux 커널 위에 구축됩니다. 카메라 기능, GPS 데이터, 블루투스 기능, 전화 기능 및 네트워크 연결과 같은 모든 장치 리소스는 운영 체제를 통해 액세스됩니다.
  • Android 애플리케이션 런타임: Android 앱은 대부분 Java 프로그래밍 언어로 작성되고 Android 런타임(ART)에서 실행됩니다. 그러나 핵심 Android 서비스 및 앱을 비롯한 많은 앱은 기본 앱이거나 기본 라이브러리를 포함합니다. ART와 기본 앱은 모두 Application Sandbox에 포함된 동일한 보안 환경에서 실행됩니다. 앱은 데이터베이스 및 원시 파일을 포함하여 개인 데이터를 쓸 수 있는 파일 시스템의 전용 부분을 얻습니다.

Android 앱은 핵심 Android 운영 체제를 확장합니다. 앱에는 두 가지 기본 소스가 있습니다.

  • 사전 설치된 앱: Android에는 전화, 이메일, 캘린더, 웹 브라우저 및 연락처를 비롯한 사전 설치된 앱 세트가 포함되어 있습니다. 이러한 앱은 사용자 앱으로 작동하며 다른 앱에서 액세스할 수 있는 주요 장치 기능을 제공합니다. 사전 설치된 앱은 오픈 소스 Android 플랫폼의 일부이거나 특정 장치용으로 장치 제조업체에서 개발한 것일 수 있습니다.
  • 사용자 설치 앱: Android는 모든 타사 앱을 지원하는 개방형 개발 환경을 제공합니다. Google Play는 사용자에게 수십만 개의 앱을 제공합니다.

구글 보안 서비스

Google은 Google 모바일 서비스 와 호환되는 Android 기기에서 사용할 수 있는 일련의 클라우드 기반 서비스를 제공합니다. 이러한 서비스는 AOSP(Android 오픈 소스 프로젝트)의 일부는 아니지만 많은 Android 기기에 포함되어 있습니다. 이러한 서비스 중 일부에 대한 자세한 내용은 Android Security의 2018년 검토 를 참조하세요.

기본 Google 보안 서비스는 다음과 같습니다.

  • Google Play: Google Play는 사용자가 Android 기기 또는 웹에서 앱을 검색, 설치 및 구매할 수 있도록 하는 서비스 모음입니다. Google Play를 사용하면 개발자가 Android 사용자와 잠재 고객에게 쉽게 다가갈 수 있습니다. Google Play는 또한 커뮤니티 검토, 앱 라이선스 확인 , 앱 보안 스캔 및 기타 보안 서비스를 제공합니다.
  • Android 업데이트: Android 업데이트 서비스는 웹 또는 무선(OTA)을 통한 업데이트를 포함하여 일부 Android 기기에 새로운 기능과 보안 업데이트를 제공합니다.
  • 앱 서비스: Android 앱이 푸시 메시징을 위한 앱 데이터 및 설정 및 클라우드-장치 메시징(C2DM ) 과 같은 클라우드 기능을 사용할 수 있도록 하는 프레임워크입니다.
  • 앱 확인: 유해한 앱의 설치를 경고하거나 자동으로 차단하고 장치의 앱을 지속적으로 검사하여 유해한 앱 에 대해 경고하거나 제거합니다.
  • SafetyNet: Google 추적을 지원하고 알려진 보안 위협을 완화하며 새로운 보안 위협을 식별하는 개인 정보 보호 침입 탐지 시스템입니다.
  • SafetyNet 증명: 장치가 CTS와 호환되는지 여부를 확인하기 위한 타사 API입니다. 증명 은 또한 앱 서버와 통신하는 Android 앱을 식별할 수 있습니다.
  • Android 기기 관리자: 분실하거나 도난당한 기기를 찾기 위한 웹 앱Android 앱 입니다.

보안 프로그램 개요

Android 보안 프로그램의 주요 구성요소는 다음과 같습니다.

  • 디자인 검토: Android 보안 프로세스는 풍부하고 구성 가능한 보안 모델 및 디자인의 생성과 함께 개발 수명 주기 초기에 시작됩니다. 플랫폼의 각 주요 기능은 시스템 아키텍처에 통합된 적절한 보안 제어와 함께 엔지니어링 및 보안 리소스에 의해 검토됩니다.
  • 침투 테스트 및 코드 검토: 플랫폼 개발 중에 Android 생성 및 오픈 소스 구성 요소는 강력한 보안 검토를 받습니다. 이러한 검토는 Android 보안 팀, Google 정보 보안 엔지니어링 팀 및 독립 보안 ​​컨설턴트가 수행합니다. 이러한 검토의 목표는 주요 릴리스 이전에 약점과 가능한 취약성을 식별하고 릴리스 시 외부 보안 전문가가 수행하는 분석 유형을 시뮬레이션하는 것입니다.
  • 오픈 소스 및 커뮤니티 검토: AOSP를 사용하면 모든 이해 당사자가 광범위한 보안 검토를 수행할 수 있습니다. Android는 또한 Linux 커널과 같이 상당한 외부 보안 검토를 거친 오픈 소스 기술을 사용합니다. Google Play는 사용자와 회사가 특정 앱에 대한 정보를 사용자에게 직접 제공할 수 있는 포럼을 제공합니다.
  • 사고 대응: 이러한 예방 조치에도 불구하고 배송 후 보안 문제가 발생할 수 있으므로 Android 프로젝트에서 포괄적인 보안 대응 프로세스를 만들었습니다. 전임 Android 보안 팀 구성원은 잠재적인 취약점에 대해 논의하고 Android 버그 데이터베이스에 제출된 보안 버그 를 검토하기 위해 Android 관련 및 일반 보안 커뮤니티를 모니터링합니다. 합법적인 문제가 발견되면 Android 팀은 모든 Android 사용자에 대한 잠재적 위험을 최소화할 수 있도록 취약점을 신속하게 완화할 수 있는 대응 프로세스를 갖추고 있습니다. 이러한 클라우드 지원 응답에는 Android 플랫폼 업데이트(AOSP 업데이트), Google Play에서 앱 제거, 현장 기기에서 앱 제거가 포함될 수 있습니다.
  • 월간 보안 업데이트: Android 보안 팀은 Google Android 기기와 모든 기기 제조 파트너에게 월간 업데이트 를 제공합니다.

플랫폼 보안 아키텍처

Android는 기존 운영 체제 보안 제어의 용도를 다음과 같이 변경하여 모바일 플랫폼을 위한 가장 안전하고 사용 가능한 운영 체제를 추구합니다.

  • 앱 및 사용자 데이터 보호
  • 시스템 리소스(네트워크 포함) 보호
  • 시스템, 다른 앱 및 사용자로부터 앱 격리 제공

이러한 목표를 달성하기 위해 Android는 다음과 같은 주요 보안 기능을 제공합니다.

  • Linux 커널을 통한 OS 수준의 강력한 보안
  • 모든 앱에 대한 필수 앱 샌드박스
  • 안전한 프로세스 간 통신
  • 앱 서명
  • 앱 정의 및 사용자 부여 권한