Android에서 피해야 할 30가지 앱 권한

Android 기기에 새 앱을(new app on your Android device) 설치할 때 발생하는 모든 것을 수락(Accept ) 하기 만 하면 됩니까? 대부분의 사람들이 그렇습니다. 그러나 무엇에 동의합니까? 

최종 사용자 라이선스 계약(End User Licensing Agreement) ( EULA )과 앱 권한이 있습니다. 이러한 앱 권한 중 일부는 앱과 앱을 만든 회사가 너무 멀리 가서 귀하의 개인 정보를 침해하도록 허용할 수 있습니다. Android 에서 동의하지 않으려면 어떤 앱 권한을 알아야 합니다 .

어떤 권한을 피해야 합니까? 그것은 달려 있으며 우리는 그것에 대해 더 자세히 다룰 것입니다. 다음 액세스와 관련된 권한에 주의해야 합니다.

  • 핸드폰
  • 오디오
  • 위치
  • 콘택트 렌즈
  • 카메라
  • 달력
  • 메시징
  • 생체 인식(Biometrics)
  • 클라우드 스토리지

앱 권한이란 무엇입니까?(What Are App Permissions?)

앱을 설치할 때 앱에 작업을 수행하는 데 필요한 모든 것이 이미 내장되어 있는 경우는 거의 없습니다. 앱이 작업을 완료하기 위해 통합해야 하는 많은 것들이 Android에 이미 있습니다.

사진 편집 앱(download a photo editing app) 을 다운로드한다고 가정해 보겠습니다 . 앱 개발자는 앱 자체에 완전한 사진 갤러리나 카메라 소프트웨어를 작성하지 않습니다. 그들은 단지 그러한 것들에 대한 접근을 요청할 것입니다. 이렇게 하면 앱이 작고 효율적으로 유지되고 Android가 중복된 앱 코드로 채워지지 않습니다.

어떤 앱 권한을 피해야 합니까?(What App Permissions Should I Avoid?)

Android 개발자의 경우 권한은 일반 및 위험의 두 그룹으로 나뉩니다.

일반 권한은 안전한 것으로 간주되며 명시적인 권한 없이 기본적으로 허용되는 경우가 많습니다. 위험한 권한은 개인 정보에 위험을 줄 수 있는 권한입니다. 

GoogleAndroid 개발자 참조( Android Developer’s Reference) 문서 에 나열된 30가지 위험한 권한을 살펴보겠습니다 . 권한의 이름이 나열되며 권한이 허용하는 항목에 대한 개발자 참조(Reference) 의 인용문이 있습니다. 그런 다음 왜 그것이 위험할 수 있는지 간략하게 설명하겠습니다. 가능(may) 하면 피해야 할 앱 권한입니다 .

ACCEPT_HANDOVER

"통화 앱이 다른 앱에서 시작된 통화를 계속하도록 허용합니다."

이 권한을 사용하면 내가 알지 못하는 앱이나 서비스로 통화를 전송할 수 있습니다. 셀 요금제 대신 데이터 할당량을 사용하는 서비스로 이동하면 비용이 발생할 수 있습니다. 비밀리에 대화를 녹음하는 데에도 사용할 수 있습니다.

ACCESS_BACKGROUND_LOCATION

"앱이 백그라운드에서 위치에 액세스할 수 있도록 허용합니다. 이 권한을 요청하는 경우 ACCESS_COARSE_LOCATION 또는 ACCESS_FINE_LOCATION 도 요청해야 합니다 . 이 권한을 요청하는 것만으로는 위치 액세스 권한이 부여되지 않습니다.”

Google 에서 말했듯 이 이 권한만으로는 사용자를 추적할 수 없습니다. 그러나 할 수 있는 것은 앱을 닫았다고 생각하고 더 이상 위치를 추적하지 않는 경우에도 추적을 허용하는 것입니다.(allow you to be tracked)

ACCESS_COARSE_LOCATION

"앱이 대략적인 위치에 액세스하도록 허용합니다."

대략적인 위치의 정확도는 장치가 연결되는 기지국을 기준으로 일반 영역으로 사용자를 찾습니다. 응급 서비스에서 문제가 발생했을 때 사용자를 찾는 데 도움이 되지만 실제로 그 정보가 필요한 사람은 없습니다.

ACCESS_FINE_LOCATION

"앱이 정확한 위치에 액세스할 수 있도록 허용합니다."

그들이 정확하다고 말할 때, 그들은 그것을 의미합니다. 정밀 위치 권한은 GPSWiFi 데이터를 사용하여 현재 위치를 정확히 찾아냅니다. 정확도는 몇 피트 이내일 수 있으며 집에서 어느 방에 있는지 찾을 수 있습니다.

ACCESS_MEDIA_LOCATION

"응용 프로그램이 사용자의 공유 컬렉션에 유지되는 모든 지리적 위치에 액세스할 수 있습니다."

사진과 동영상에 위치 정보 태그를 지정(turned off geotagging on your pictures and videos) 하지 않는 한 이 앱은 모든 항목을 살펴보고 사진 파일의 데이터를 기반으로 한 정확한 프로필을 구축할 수 있습니다(build an accurate profile of where you’ve been based on data in your photo files) .

ACTIVITY_RECOGNITION

"응용 프로그램이 신체 활동을 인식할 수 있도록 합니다."

그 자체로는 별로 없어 보일 수 있습니다. FitBit과 같은 활동 추적기(activity trackers like FitBit) 에서 자주 사용합니다 . 하지만 다른 위치 정보와 함께 사용하면 사용자가 무엇을 하고 있는지, 어디에서 수행하는지 파악할 수 있습니다.

ADD_VOICEMAIL

"응용 프로그램이 시스템에 음성 메일을 추가할 수 있도록 합니다."

이것은 피싱 목적으로 사용될 수 있습니다. 은행에서 전화를 걸어 달라는 음성 메일(voicemail) 을 추가 했지만 제공된 번호가 은행의 번호가 아니라고 상상해 보십시오 .(Imagine)

ANSWER_PHONE_CALLS

"앱이 걸려오는 전화에 응답하도록 허용합니다."

이것이 어떻게 문제가 될 수 있는지 알 수 있습니다. 앱이 전화에 응답하고 원하는 대로 무엇이든 한다고 상상해 보십시오 .(Imagine)

BODY_SENSORS

"응용 프로그램 이 사용자가 심박수와 같이 신체 내부에서 일어나는 일을 측정하는 데 사용하는 센서의(sensors that the user uses to measure what is happening inside their body, such as heart rate) 데이터에 액세스할 수 있도록 합니다 ."

이것은 정보 자체가 별 의미가 없을 수도 있지만 다른 센서의 정보와 결합될 때 매우 드러날 수 있는 또 다른 경우입니다. 

CALL_PHONE

"사용자가 통화를 확인할 수 있도록 애플리케이션이 다이얼러(Dialer) 사용자 인터페이스를 거치지 않고 전화 통화를 시작할 수 있도록 합니다 ."

앱이 당신도 모르는 사이에 전화를 걸 수 있다고 생각하면 끔찍합니다. 그런 다음 어떻게 1-900 번호로 전화를 걸고 수백 또는 수천 달러를 받을 수 있는지 생각해 보십시오.

카메라(CAMERA)

"카메라 장치에 액세스하려면 필요합니다."

많은 앱이 카메라를 사용하고 싶어할 것입니다. 사진 편집이나 소셜 미디어와 같은 작업에 적합합니다. 그러나 간단한 어린이용 게임에서 이 권한을 원하면 소름이 돋습니다.

READ_CALENDAR

"응용 프로그램이 사용자의 캘린더 데이터(calendar data) 를 읽을 수 있도록 허용합니다 ."

앱은 당신이 어디에 있고 언제 있는지 알 것입니다. 약속과 함께 메모를 하면 당신이 거기에 있는 이유도 알게 됩니다. 위치 정보에 추가하면 앱이 당신이 거기에 어떻게 왔는지도 알게 될 것입니다.

WRITE_CALENDAR

"응용 프로그램이 사용자의 캘린더 데이터를 쓸 수 있도록 허용합니다."

나쁜 사람은 이것을 사용하여 캘린더에 약속을 지정하여 당신이 가지 않는 곳으로 가거나 필요하지 않은 사람에게 전화해야 한다고 생각하게 할 수 있습니다.

READ_CALL_LOG

"응용 프로그램이 사용자의 통화 기록을 읽을 수 있도록 합니다."

우리가 누구와 언제 이야기를 나누느냐는 우리의 삶에 대해 매우 밝힐 수 있습니다. 낮에 동료에게 전화를 하시나요? 정상(Normal) . 토요일(Saturday) 밤 에 새벽 2시에 전화를 합니까? 그렇게 정상적이지 않습니다.

WRITE_CALL_LOG

"응용 프로그램이 사용자의 통화 기록 데이터를 쓸 수 있도록 허용하지만 읽을 수는 없습니다."

그럴 가능성은 없지만 악성 앱이 통화 기록을 추가하여 사용자를 설정할 수 있습니다. 

READ_CONTACTS

"응용 프로그램이 사용자의 연락처 데이터를 읽을 수 있도록 합니다."

통화 기록을 읽는 것과 유사하게 한 사람의 연락처 목록(person’s contact list) 은 그에 대해 많은 것을 말해줍니다. 또한 이 목록을 사용하여 친구를 피싱하여 친구에게 메시지를 보낸다고 생각하게 할 수 있습니다. 또한 회사가 광고주에게 판매할 수 있는 마케팅 이메일 목록을 늘리는 데 사용할 수도 있습니다.

WRITE_CONTACTS

"응용 프로그램이 사용자의 연락처 데이터를 쓸 수 있도록 합니다."

이것이 연락처를 편집하거나 덮어쓰는 데 사용될 수 있다면 어떻게 될까요? 모기지 브로커의 번호가 다른 번호로 변경되어 사기꾼에게 전화를 걸어 금융 정보를 제공 한다고 상상해 보십시오 .(Imagine)

READ_EXTERNAL_STORAGE

"응용 프로그램이 외부 저장소에서 읽을 수 있도록 허용합니다."

이 권한을 허용하면 microSD 카드(microSD card) 또는 랩톱 과 같이 장치에 연결되는 모든 데이터 저장소에 액세스할 수 있습니다.

WRITE_EXTERNAL_STORAGE

"응용 프로그램이 외부 저장소에 쓸 수 있도록 허용합니다."

이 권한을 부여하면 READ_EXTERNAL_STORAGE 권한도 암시적으로 부여됩니다. 이제 앱은 연결된 모든 데이터 저장소로 원하는 작업을 수행할 수 있습니다.

READ_PHONE_NUMBERS

" 장치의 전화번호에 대한 읽기 액세스를 허용합니다 . (Allows)"

앱이 이를 요청하고 사용자가 승인하면 앱은 이제 사용자의 전화번호를 알고 있습니다. 앱이 개략적인 경우 곧 자동 봇 호출을 받을(get some robocalls) 것으로 예상됩니다 .

READ_PHONE_STATE

" 현재 셀룰러 네트워크 정보, 진행 중인 통화 상태 및 장치에 등록된 모든 전화 계정 목록을 포함하여 전화 상태에 대한 읽기 전용 액세스를 허용합니다 ."(Allows)

이 권한은 사용자가 어떤 네트워크에 있는지 도청 및 추적하는 데 사용할 수 있습니다.

READ_SMS

"응용 프로그램이 SMS(SMS) 메시지 를 읽을 수 있도록 허용합니다 ."

다시 말하지만(Again) , 귀하를 도청하고 개인 정보를 수집하는 또 다른 방법입니다. 이번에는 문자 메시지를 읽습니다.

문자를 보내다(SEND_SMS)

"응용 프로그램이 SMS 메시지(SMS messages) 를 보낼 수 있도록 허용합니다 ."

이것은 일일 운세 받기와 같은 유료 문자 서비스에 가입하는 데 사용될 수 있습니다. 이것은 빨리 많은 돈을 들일 수 있습니다.

수신_MMS(RECEIVE_MMS)

"응용 프로그램이 수신 MMS(MMS) 메시지 를 모니터링하도록 허용합니다 ."

앱은 귀하에게 전송된 모든 사진이나 비디오를 볼 수 있습니다.

RECEIVE_SMS

"응용 프로그램이 SMS(SMS) 메시지 를 수신하도록 허용합니다 ."

이 앱을 사용하면 문자 메시지를 모니터링할 수 있습니다.

RECEIVE_WAP_PUSH

"응용 프로그램이 WAP(WAP) 푸시 메시지 를 수신하도록 허용합니다 ."

WAP 푸시 메시지는 웹 링크이기도 한 메시지입니다 . 메시지를 선택하면 피싱 또는 맬웨어가 포함된 웹 사이트가 열릴 수 있습니다.

RECORD_AUDIO

"응용 프로그램이 오디오를 녹음하도록 허용합니다."

사람을 엿듣는 또 다른 방법. 또한 사람이 말을 하지 않더라도 주변의 소리에서 배울 수 있는 놀라운 양이 있습니다.

USE_SIP

"응용 프로그램이 SIP(SIP) 서비스 를 사용하도록 허용합니다 ."

SIP 세션이 무엇인지 모른다면 Skype나 Zoom(Skype or Zoom) 을 생각해 보십시오 . VoIP 연결 을 통해 발생하는 통신입니다 . 이것은 악성 앱이 사용자를 보고 들을 수 있는 또 하나의 방법일 뿐입니다.

모든 Android 권한을 피해야 합니까?(Should I Avoid All Android Permissions?)

우리는 앱이 우리를 위해 무엇을 해주기를 원하는지 맥락에서 권한을 살펴봐야 합니다. 모든 앱에 대해 이러한 모든 권한을 차단하면 어떤 앱도 작동하지 않을 것입니다.

(Think)Android 기기를 집처럼 생각하십시오 . 비유하자면 앱을 수리공이 집으로 찾아오는 것이라고 생각하십시오. 그들은 해야 할 특정한 일이 있고 집의 특정 부분에 접근해야 하지만 다른 부분에는 접근할 필요가 없습니다.

배관공이 부엌 싱크대를 수리하기 위해 올 경우 싱크대와 물을 공급 및 제거하는 파이프에 접근하려면 귀하의 허가가 필요합니다. 그게 다야 따라서 배관공이 침실을 보라고 하면 그들이 하는 일을 의심하게 될 것입니다. 앱도 마찬가지입니다. 앱 권한에 동의할 때 이를 염두에 두십시오.



About the author

저는 모바일 업계에서 10년 이상의 경험을 가진 전화 엔지니어이며 스마트폰 수리 및 업그레이드를 전문으로 합니다. 내 작업에는 전화 펌웨어 개발 및 유지 관리, Apple 장치용 이미지 개발, Firefox OS 프로젝트 작업이 포함됩니다. 소프트웨어 개발, 하드웨어 엔지니어링, 이미지 처리 및 Firefox OS 개발에 대한 제 기술을 통해 저는 복잡한 문제를 모든 장치에서 작동하는 간단한 솔루션으로 전환할 수 있는 능력이 있습니다.



Related posts