유출된 Android Q 빌드를 분석한 결과, 백그라운드 클립보드 읽기 차단, 미디어 보호 강화 등 Android에 더 많은 개인 정보 보호 업그레이드가 제공되는 것으로 나타났습니다.
Android의 모든 새 버전에는 새로운 기능이 포함되어 있습니다. 즉, Android에서 이러한 기능에 액세스하려면 새로운 권한이 필요합니다. Android Q의 프레임워크에서 많은 새로운 권한을 발견했습니다(그 중 많은 권한이 흥미롭지 않기 때문에 이 기사에서 전부 다루지는 않습니다). 내가 찾은 권한 중 일부에는 설명이 없지만 이름은 어쨌든 설명이 필요합니다. Android Q의 새로운 개인 정보 보호 강화 기능과 제가 발견한 몇 가지 흥미로운 기능에 대해 자세히 알아보고 논의해 보겠습니다.
사용할 수 있는 라이센스를 제공해주신 PNF Software에 특별히 감사드립니다. JEB 디컴파일러. JEB Decompiler는 Android 애플리케이션을 위한 전문가 수준의 리버스 엔지니어링 도구입니다.
배경 클립보드 액세스 차단
당신은 알고 계십니까 Android의 모든 앱은 클립보드를 읽을 수 있습니다., 그렇게 하기 위해 런타임 권한을 부여할 필요는 없나요? 많은 사람들이 사용자 이름, 비밀번호, 주소 등과 같은 민감한 정보를 복사할 수 있습니다. 항상 있으므로 모든 앱이 백그라운드에서 이 데이터를 쉽게 긁을 수 있습니다. 그렇기 때문에 다음과 같은 많은 비밀번호 관리자 앱이 키패스 Android 클립보드 관리자를 우회하는 데 사용할 수 있는 자체 키보드가 있습니다. 비밀번호 관리자 앱은 무엇이든 복사하여 붙여넣은 후 클립보드를 자동으로 지우는 경우가 많습니다. Android 앱이 클립보드를 읽어야 하는 이유는 클립보드가 없으면 클립보드의 어떤 텍스트도 허용할 수 없기 때문입니다. 즉, 복사한 텍스트를 붙여넣을 수 없다는 의미입니다. 고맙게도 Android Q에서는 이러한 변화를 모색하고 있습니다.
'라는 새로운 권한이 추가되었습니다.READ_CLIPBOARD_IN_BACKGROUND
<permissionandroid: name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"android: protectionLevel="signature"/>
앱 다운그레이드 지원?
Google Play에서 앱 업데이트를 설치하고 즉시 후회한 적이 있나요? 때때로 개발자는 예상하지 못한 문제를 해결하는 업데이트를 푸시하지만 일단 업데이트가 푸시되고 설치되면 이에 대해 조치를 취하기에는 너무 늦습니다. 개발자는 신속하게 핫픽스를 발행해야 하며 사용자는 업데이트가 출시될 때까지 앱 사용을 중지하거나 앱을 제거하고 이전 버전을 사이드로드해야 합니다. 다음과 같은 앱이 설치된 루팅된 기기가 없으면 앱을 다운그레이드할 수 있는 방법이 없습니다. 티타늄백업, Android의 패키지 관리자가 이전 버전의 앱 설치를 차단하기 때문입니다. 이전 버전의 앱을 설치하면 다음과 같은 경우 앱이 손상될 수 있으므로 그렇게 하는 데에는 그럴 만한 이유가 있습니다. 앱의 데이터가 삭제되지 않거나 이전 버전이 보안에 취약한 경우 사용자를 위험에 노출시킬 수 있습니다. 결함.
Google이 사용자가 이전 버전으로 앱을 롤백하는 것을 허용할지 여부는 확실하지 않지만 Android Q에서 가능하다고 제안하는 몇 가지 권한과 명령을 발견했습니다. 먼저, 새로운 “PACKAGE_ROLLBACK_AGENT
" 그리고 "MANAGE_ROLLBACKS
” 권한은 사전 설치된 마켓 앱이 애플리케이션 버전의 롤백을 관리하는 에이전트 역할을 할 수 있음을 나타냅니다. 전자의 권한은 "서명"이고 후자의 권한은 "서명" 위에 "설치자"입니다. 따라서 이는 다음 기능을 갖춘 플랫폼 서명 앱만을 의미합니다. 설치 앱(일반적으로 기기에 따라 패키지 관리자, Google Play 스토어 또는 기타 자사 앱 스토어만)에서 이러한 권한을 사용할 수 있습니다. 두 가지 새로운 보호된 브로드캐스트 의도가 추가되었습니다.PACKAGE_ENABLE_ROLLBACK
" 그리고 "PACKAGE_ROLLBACK EXECUTED
.” 이러한 브로드캐스트는 타사 앱에서 전송할 수 없으며 영향을 받는 앱이 다운그레이드된 시기를 알 수 있도록 하기 위한 것입니다(대부분 앱이 업데이트되었을 때 알려주는 방식과 같이 다음 시작 시 일부 메시지를 표시할 수 있는 기회를 제공합니다.) 마지막으로 새 플래그가 “pm install
" 쉘 명령. '라고 불리는 깃발--enable-rollback
,'을 사용하면 애플리케이션을 이전 버전으로 롤백할 수 있습니다. 하지만 나는 그것을 작동시킬 수 없었습니다.
<protected-broadcast android: name="android.intent.action.PACKAGE_ENABLE_ROLLBACK"/>
<protected-broadcast android: name="android.intent.action.PACKAGE_ROLLBACK_EXECUTED"/>
<permissionandroid: name="android.permission.PACKAGE_ROLLBACK_AGENT"android: protectionLevel="signature"/>
<permissionandroid: name="android.permission.MANAGE_ROLLBACKS"android: protectionLevel="installer|signature"/>
외부 저장소의 파일 보호
Android의 데이터 저장소에는 '내부 저장소'(/data/media를 제외한 /data) 및 '외부 저장소'(/data/media 및 마운트된 모든 SD 카드 또는 USB 드라이브)가 포함됩니다. APK와 가장 민감한 데이터는 내부 저장소에 저장되며 문서, 이미지, 비디오 등과 같은 공유 미디어는 외부 저장소에 저장됩니다. 기본적으로 앱은 외부 저장소의 단일 디렉터리인 /data/media/[user]/Android/data/[package_name]에서만 파일을 읽고 쓸 수 있습니다. (이 동작에 대해 자세히 알아보려면 내 글을 읽어보시기 바랍니다. sdcardfs에 대한 기사 Android Oreo의 경우) 사용자가 앱에 외부 저장소 권한 그룹(READ_EXTERNAL_STORAGE
또는 WRITE_EXTERNAL_STORAGE
) 그러면 앱이 외부 저장소에 있는 모든 파일을 읽거나 쓸 수 있습니다. 이는 특정 파일을 읽거나 쓸 수 있도록 하고 싶을 때 앱에 잠재적으로 많은 데이터를 수집할 수 있는 기능을 부여하기 때문에 문제가 됩니다. 이 문제를 해결하기 위해 Google은 Android Q에 몇 가지 새로운 외부 저장소 관련 권한을 도입하는 것으로 보입니다. 권한은 다음 기능을 제어합니다.
- 미디어에서 위치를 읽는 기능. (기본적으로 이미지의 메타데이터에 대한 접근을 차단할 가능성이 높습니다.)
- 음악 파일에 액세스하는 기능.
- 사진에 액세스하는 기능.
- 비디오에 액세스하는 기능.
이미 보유하고 있는 앱의 경우 READ_EXTERNAL_STORAGE
또는 WRITE_EXTERNAL_STORAGE
Android Q 업데이트 전에 권한을 부여받으면 새로운 권한을 얻게 됩니다. 읽다 권한은 있지만 새로운 권한은 아닙니다. 쓰다 권한. 예를 들어 이미 부여된 앱 READ_EXTERNAL_STORAGE
사용자에 의해 자동으로 부여됩니다. READ_MEDIA_IMAGES
허가는 받았지만 그렇지는 않았다 WRITE_MEDIA_IMAGES
허가.
Android Q의 Framework-RES 관련 문자열
<stringname="permgroupdesc_aural">access your musicstring>
<stringname="permgrouplab_visual">Photos & Videosstring>
<stringname="permgrouprequest_aural">Allow <b>%1$s</b> to access your music?string>
<stringname="permgroupdesc_visual">access your photos & videosstring>
<stringname="permgrouplab_activityRecognition">Activity recognitionstring>
<stringname="permgrouplab_aural">Musicstring>
<stringname="permdesc_videoRead">Allows the app to read your video collection.string>
<stringname="permdesc_videoWrite">Allows the app to modify your video collection.string>
<stringname="permdesc_imagesRead">Allows the app to read your photo collection.string>
<stringname="permdesc_imagesWrite">Allows the app to modify your photo collection.string>
<stringname="permdesc_audioRead">Allows the app to read your music collection.string>
<stringname="permdesc_audioWrite">Allows the app to modify your music collection.string>
<stringname="permlab_audioRead">read your music collectionstring>
<stringname="permlab_audioWrite">modify your music collectionstring>
<stringname="permdesc_mediaLocation">Allows the app to read locations from your media collection.string>
"android.permission.READ_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>"android.permission.WRITE_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>
더 읽어보세요
백그라운드 위치 액세스의 복귀
Android Oreo와 Android 9 Pie는 사용자 개인 정보 보호에 있어서 큰 진전을 이루었지만 일부 사용자는 Google이 너무 멀리 나아갔다고 느꼈습니다. 기능 회귀로 간주될 수 있는 영역 중 하나는 다음과 같습니다. 백그라운드 위치 액세스. Android Oreo 이상의 위치 액세스는 백그라운드에서 실행되는 앱에 대해 완전히 종료되지 않는 한 크게 제한됩니다. 앱이 기기의 데이터를 지속적으로 폴링하려면 포그라운드에 있거나 포그라운드 서비스가 실행 중이어야 합니다. 위치. 이는 앱이 백그라운드에서 사용자의 위치를 감시하는 것을 차단하지만 사용자가 백그라운드에서 앱을 사용하여 자신의 위치를 매핑하는 것도 차단합니다. 이는 별도의 기사에서 다룬 문제이며, Google은 이러한 개발자와 사용자의 우려를 해결하기 위해 Android Q에 새로운 권한을 추가하는 것으로 보입니다.
Android Q에는 앱이 기기 위치에 대한 백그라운드 액세스를 허용하는 새로운 권한이 추가되었습니다. 사용자에 대한 권한 설명에는 "앱을 사용하지 않을 때에도 앱이 항상 위치에 액세스할 수 있습니다"라고 경고합니다. 이 권한은 다음과 같습니다. 앱이 "백그라운드에서 실행되는 동안 위치에 액세스할 수 있도록" "대략적이거나 정확한 위치에 추가로" 권한을 부여해야 합니다. 대조적으로, 대략적인 위치 권한은 기지국이나 Wi-Fi 네트워크와 같은 네트워크 소스를 기반으로만 위치를 얻을 수 있지만 앱이 전경.
Android Q의 Framework-RES 관련 문자열
<stringname="permgroupbackgroundrequest_location">Always allow <b>%1$s</b> to access this device’s location?string>
<stringname="permgroupbackgroundrequestdetail_location">The app will always have access to the location, even when you’re not using the app.string>
"permdesc_accessBackgroundLocation">If this is granted additionally to the approximate or precise location access the app can access the location while running in the background.</string>
"permdesc_accessCoarseLocation">This app can get your location based on network sources such as cell towers and Wi-Fi networks, but only when the app is in the foreground. These location services must be turned on and available on your phone for the app to be able to usethem.string>
"android.permission.ACCESS_FINE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>
"android.permission.ACCESS_COARSE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>
더 읽어보세요
신체 활동 인식
앱이 "신체 활동을 인식"할 수 있도록 하는 새로운 권한이 Android Q에 추가되었습니다. 이는 기술적으로 새로운 것이 아닙니다. 이미 Google Play 서비스의 일부입니다.하지만 이는 Google이 Play 서비스에서 권한을 분리한다는 의미일 수 있습니다. Google Play 서비스가 핵심 Android 기능을 제공하는 데 얼마나 중요한 역할을 했는지에 따라 그 힘 중 일부가 AOSP에 다시 제공되는 것을 보는 것은 좋은 일입니다.
<stringname="permgroupdesc_activityRecognition">recognize activitystring>
<stringname="permgrouprequest_activityRecognition">Allow <b>%1$s</b> to recognize your physical activity?string>
<stringname="permdesc_activityRecognition">This app can recognize your physical activity.string>
더 많은 Android Q 뉴스를 보려면 다음을 확인하세요. 꼬리표 최신 뉴스를 날짜별로 정렬합니다. 우리는 최근 Google이 다음 작업을 수행하고 있음을 가리키는 많은 증거가 포함된 기사를 게시했습니다. Face ID와 유사한 얼굴 인증 하드웨어 지원 안드로이드 Q에서 우리는 또한 유출된 Android Q 빌드의 초기 실습 (그리고 비디오도 있습니다) 여기에서 확인해 보세요. 우리가 얻은 초기 Android Q 빌드에서 더 많은 결과를 게시할 예정이므로 계속 지켜봐 주시기 바랍니다.