IT story

“android : allowBackup”이란 무엇입니까?

hot-time 2020. 4. 5. 20:35
반응형

“android : allowBackup”이란 무엇입니까?


이후 새로운 ADT 미리보기 버전 (버전 21) , 그들은 (응용 프로그램 태그) 나에게 매니페스트 파일에서 다음 일을 알려주는 새로운 보풀이 경고를 가지고 :

android : allowBackup을 명시 적으로 true 또는 false로 설정해야합니다 (기본적으로 true이며 응용 프로그램 데이터에 보안 영향을 미칠 수 있음)

에서 공식 웹 사이트 , 그들은 서면으로 작성했습니다 :

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

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

또한 왜 경고가 보안에 영향을 준다고 알려줍니까? 이 기능을 비활성화하면 어떤 장단점이 있습니까?


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

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

애플리케이션이 백업 및 복원 인프라에 참여할 수 있는지 여부 이 속성이 false로 설정되면 전체 시스템 백업으로도 응용 프로그램의 백업 또는 복원이 수행되지 않으며, 그렇지 않으면 모든 응용 프로그램 데이터가 adb를 통해 저장됩니다. 이 속성의 기본값은 true입니다.

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

그러나 대부분의 사용자는 adb가 무엇인지 알지 못하고 장치를 루팅하는 방법도 알기 때문에 문제가 아니라고 생각합니다. ADB 기능은 장치에 디버깅 기능이 활성화 된 경우에만 작동하며이를 활성화하려면 사용자가 필요합니다.

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

ADB를 통해 앱을 백업 및 복원 할 수 있도록 개발자 카테고리에서 기본적으로 사용 중지 된 기능을 추가해야한다고 생각합니다.

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

응용 프로그램의 백업 에이전트 인 BackupAgent의 하위 클래스 인 클래스의 이름입니다. 속성 값은 정규화 된 클래스 이름 (예 : "com.example.project.MyBackupAgent")이어야합니다. 그러나 간단히 말해서 이름의 첫 문자가 마침표 (예 : ".MyBackupAgent")이면 요소에 지정된 패키지 이름에 추가됩니다. 기본값은 없습니다. 이름을 지정해야합니다.

이것은 보안 문제가 아닙니다.


이 보푸라기 경고 및 다른 모든 보푸라기 경고의 경우 한 줄 오류 메시지에있는 것보다 더 자세한 설명을 얻을 수 있습니다. 더 자세한 정보를 위해 웹을 검색하지 않아도됩니다.

Eclipse를 통해 lint를 사용하는 경우 lint warnings보기를 열어 lint 오류를 선택하고 더 자세한 설명을 보거나 오류 행에서 quickfix (Ctrl-1)를 호출하십시오. 제안 중 하나는 "Explain 이 문제 "를 참조하면 자세한 설명이 표시됩니다. Eclipse를 사용하지 않는 경우 lint --html <filename>경고 옆에 전체 설명이 포함 된 lint ( ) 에서 HTML 보고서를 생성 하거나 lint에게 특정 문제를 설명하도록 요청할 수 있습니다. 예를 들어 allowBackup과 관련된 문제의 ID는 "AllowBackup"(오류 메시지 끝에 표시됨)이므로 자세한 설명은 다음과 같습니다.

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

Priority: 3 / 10
Severity: Warning
Category: Security

allowBackup 속성은 응용 프로그램의 데이터를 백업 및 복원 할 수 있는지 여부를 결정합니다. 여기에 문서화되어 있습니다 .

By default, this flag is set to true. When this flag is set to true,
application data can be backed up and restored by the user using adb backup
and adb restore.

This may have security consequences for an application. adb backup allows
users who have enabled USB debugging to copy application data off of the
device. Once backed up, all application data can be read by the user. adb
restore allows creation of application data from a source specified by the
user. Following a restore, applications should not assume that the data, file
permissions, and directory permissions were created by the application
itself.

Setting `allowBackup="false"` opts an application out of both backup and
restore.

To fix this warning, decide whether your application should support backup,
and explicitly set `android:allowBackup=(true|false)`"

자세한 내용은 여기를 클릭하십시오


이러한 의미에서 백업이 실제로 의미하는 것은 다음과 같습니다.

Android의 백업 서비스를 사용하면 애플리케이션 데이터 및 설정에 대한 복원 지점을 제공하기 위해 지속적 애플리케이션 데이터를 원격 "클라우드"스토리지에 복사 할 수 있습니다. 사용자가 공장 초기화를 수행하거나 새로운 Android 구동 장치로 변환하면 응용 프로그램을 다시 설치할 때 시스템에서 백업 데이터를 자동으로 복원합니다. 이런 방식으로 사용자는 이전 데이터 또는 응용 프로그램 설정을 재현 할 필요가 없습니다.

~ http : //developer.android.com/guide/topics/data/backup.html 에서 가져옴

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

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

업데이트 :이 플래그는 BackupManager의 API 문서에 나와 있습니다. BackupManager


이것은 명시 적으로 언급되지는 않았지만 다음 문서를 바탕으로 allowBackup이 true로 설정된 경우에도 데이터 백업이 작동하려면 앱이 BackupAgent를 선언하고 구현해야 함을 암시합니다. 기본값).

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 앱 해킹

참고 URL : https://stackoverflow.com/questions/12648373/what-is-androidallowbackup

반응형