programing

"안드로이드:백업 허용"이란 무엇입니까?

testmans 2023. 10. 2. 11:15
반응형

"안드로이드:백업 허용"이란 무엇입니까?

새 ADT 미리 보기 버전(버전 21) 이후 매니페스트 파일(응용 프로그램 태그)의 다음 사항을 알려주는 새로운 보풀 경고가 있습니다.

Android를 명시적으로 설정해야 합니다. 백업을 true 또는 false로 허용(기본적으로 true이며, 애플리케이션 데이터에 보안상 영향을 미칠 수 있음)

공식 웹사이트에는 다음과 같이 적혀있습니다.

몇 가지 새로운 검사: 앱에서 백업을 허용하는지 여부와 레이블 검사를 명시적으로 결정해야 합니다.라이브러리 경로를 설정하기 위한 새 명령줄 플래그가 있습니다.편집하는 동안 증가하는 보푸라기 분석에 많은 개선이 있습니다.

이 경고는 무엇입니까?백업 기능은 무엇이며 어떻게 사용해야 합니까?

또한 경고가 보안에 영향을 미친다는 것을 알려주는 이유는 무엇입니까?이 기능을 비활성화하면 어떤 단점과 장점이 있습니까?


매니페스트에는 두 가지 백업 개념이 있습니다.

  • "android:allowBackup"은 다음과 같이 adb를 통해 백업 및 복원할 수 있습니다.

응용프로그램이 백업 및 복원 인프라스트럭처에 참여할 수 있도록 허용할지 여부입니다.이 속성을 false로 설정하면 전체 시스템 백업을 사용하더라도 응용 프로그램의 백업 또는 복원이 수행되지 않습니다. 그렇지 않으면 adb를 통해 모든 응용 프로그램 데이터가 저장됩니다.이 특성의 기본값은 true입니다.

이것은 사람들이 ADB를 통해 앱을 백업한 다음 앱의 개인 데이터를 PC에 가져올 수 있기 때문에 보안 문제로 간주됩니다.

하지만 대부분의 사용자들은 adb가 무엇인지 모르고, adb가 있다면 그들도 장치를 어떻게 뿌리내리는지 알 것이기 때문에 문제가 되지 않는다고 생각합니다.장치에 디버깅 기능이 활성화되어 있는 경우에만 ADB 기능이 작동하며, 이 기능을 활성화하려면 사용자가 필요합니다.

따라서 PC에 장치를 연결하고 디버깅 기능을 활성화하는 사용자만 영향을 받습니다.PC에 ADB 도구를 사용하는 악성 앱이 있다면 개인 스토리지 데이터를 읽을 수 있기 때문에 문제가 될 수 있습니다.

구글은 ADB를 통해 앱의 백업 및 복원을 허용하기 위해 개발자 범주에 기본적으로 비활성화된 기능만 추가해야 한다고 생각합니다.

  • "android:backupAgent"를 사용하면 클라우드의 백업 및 복원 기능을 사용할 수 있습니다.

구현하는 클래스의 이름은 백업 에이전트의 하위 클래스인 응용 프로그램의 백업 에이전트입니다.특성 값은 정규화된 클래스 이름(예: "com.example.project")이어야 합니다.My Backup Agent").그러나 속기로 이름의 첫 번째 문자가 마침표일 경우(예: ").MyBackupAgent") 요소에 지정된 패키지 이름에 추가됩니다.기본값은 없습니다.이름을 지정해야 합니다.

이건 보안 문제가 아닙니다.

이 보풀 경고의 경우, 다른 모든 보풀 경고와 마찬가지로, 한 줄 오류 메시지에 있는 것보다 더 많은 설명을 얻을 수 있습니다. 더 많은 정보를 찾기 위해 웹을 검색할 필요가 없습니다.

이클립스를 통해 보풀을 사용하는 경우 보풀 오류를 선택하고 더 긴 설명을 볼 수 있는 보풀 경고 보기를 열거나 오류 라인의 빠른 수정(Ctrl-1)을 호출하면 "이 문제에 대해 설명하십시오"라는 제안 중 하나가 추가로 표시됩니다.하지 않는 Eclipse우 lint에서 HTML다)에서할 수 lint --html <filename>경고 옆에 전체 설명이 포함되어 있거나 보푸라기로 특정 문제를 설명하도록 요청할 수 있습니다.를 들어,어와 ,allowBackup아이디가 있습니다AllowBackup 더 에 표시),다입니다.

$ ./lint --show AllowBackup
AllowBackup
-----------
Summary: Ensure that allowBackup is explicitly set in the application's
manifest

Priority: 3 / 10
Severity: Warning
Category: Security

allowBackupattribute는 여기에 문서화된 대로 응용프로그램의 데이터를 백업 및 복원할 수 있는지 여부를 결정합니다.

기본적으로 이 플래그는 다음과 같이 설정됩니다.true. 이 플래그가 다음으로 설정된 경우true가 , 를 및 할 수 .adb backup그리고.adb restore.

이로 인해 응용프로그램에 보안상 문제가 발생할 수 있습니다.adb backupUSB 디버깅을 사용하도록 설정한 사용자는 장치에서 응용 프로그램 데이터를 복사할 수 있습니다.백업이 완료되면 모든 애플리케이션 데이터를 사용자가 읽을 수 있습니다.adb restore사용자가 지정한 소스에서 응용프로그램 데이터를 생성할 수 있습니다.복원 후에는 데이터, 파일 사용 권한 및 디렉터리 사용 권한이 애플리케이션 자체에서 생성되었다고 가정해서는 안 됩니다.

allowBackup="false"백업 및 복원 모두에서 응용 프로그램을 선택합니다.

이 경고를 수정하려면 응용프로그램에서 백업을 지원할지 여부를 결정하고 명시적으로 설정합니다.android:allowBackup=(true|false)

자세한 내용을 보려면 여기를 클릭하십시오.

이러한 의미에서 백업이 의미하는 바는 다음과 같습니다.

Android의 백업 서비스를 사용하면 영구적인 애플리케이션 데이터를 원격 "클라우드" 스토리지에 복사하여 애플리케이션 데이터와 설정에 대한 복원 지점을 제공할 수 있습니다.사용자가 공장 초기화를 수행하거나 Android 기반의 새 장치로 변환하는 경우, 응용 프로그램을 다시 설치할 때 시스템이 자동으로 백업 데이터를 복원합니다.이렇게 하면 사용자가 이전의 데이터나 애플리케이션 설정을 복제할 필요가 없습니다.

~http://developer.android.com/guide/topics/data/backup.html 에서 가져온 것입니다.

이 백업 서비스를 개발자로 등록할 수 있습니다. https://developer.android.com/google/backup/signup.html

백업할 수 있는 데이터 유형은 파일, 데이터베이스, 공유 기본 설정, 캐시 및 lib입니다.이러한 파일은 일반적으로 장치의 /data/data/[com.myapp] 디렉토리에 저장되며, 이 디렉토리는 읽기 방지되며 루트 권한이 없는 한 액세스할 수 없습니다.

업데이트: Backup Manager의 api doc: Backup Manager에서 이 플래그를 볼 수 있습니다.

이에 대해서는 명시적으로 언급하지 않았지만, 다음 문서에 따르면 백업 허용이 true(기본값)로 설정된 경우에도 데이터 백업이 작동하려면 Backup Agent를 선언하고 구현해야 한다는 것을 암시한다고 생각합니다.

http://developer.android.com/reference/android/R.attr.html#allowBackup http://developer.android.com/reference/android/app/backup/BackupManager.html http://developer.android.com/guide/topics/data/backup.html

사생활 문제입니다.앱에 중요한 데이터가 포함되어 있는 경우 사용자가 백업을 허용하지 않는 것이 좋습니다.백업 파일에 액세스 가능(즉, 다음과 같은 경우)android:allowBackup="true"), 비근본 기기에서도 앱 내용 수정/판독이 가능합니다.

솔루션 - 사용android:allowBackup="false"매니페스트 파일에서

이 게시물을 읽고 자세한 정보를 확인할 수 있습니다.백업 기술을 이용한 Android 앱 해킹

여기 안드로이드 공식 문서를 보실 수 있습니다.

https://developer.android.com/reference/android/R.attr#allowBackup

언급URL : https://stackoverflow.com/questions/12648373/what-is-androidallowbackup

반응형