Kể từ phiên bản xem trước ADT mới (phiên bản 21) , chúng có cảnh báo lint mới cho tôi biết điều tiếp theo trên tệp kê khai (trong thẻ ứng dụng):
Nên đặt rõ ràng android: allowBackup thành đúng hoặc sai (theo mặc định là đúng và điều đó có thể có một số hàm ý bảo mật cho dữ liệu của ứng dụng)
Trong trang web chính thức , họ đã viết:
Một vài kiểm tra mới: bạn phải quyết định rõ ràng liệu ứng dụng của bạn có cho phép sao lưu hay không và kiểm tra nhãn. Có một cờ dòng lệnh mới để thiết lập đường dẫn thư viện. Nhiều cải tiến để phân tích lint gia tăng trong khi chỉnh sửa.
Cảnh báo này là gì? Tính năng sao lưu là gì và làm cách nào để sử dụng nó?
Ngoài ra, tại sao cảnh báo cho tôi biết nó có ý nghĩa bảo mật? Những nhược điểm và lợi thế của việc vô hiệu hóa tính năng này là gì?
Có hai khái niệm về sao lưu cho tệp kê khai:
- "Android: allowBackup " cho phép sao lưu và khôi phục thông qua adb, như được hiển thị ở đây :
Có cho phép ứng dụng tham gia vào cơ sở hạ tầng sao lưu và khôi phục hay không. Nếu thuộc tính này được đặt thành false, sẽ không có bản sao lưu hoặc khôi phục ứng dụng nào được thực hiện, ngay cả khi sao lưu toàn hệ thống sẽ khiến tất cả dữ liệu ứng dụng được lưu thông qua adb. Giá trị mặc định của thuộc tính này là đúng.
Đây được coi là một vấn đề bảo mật vì mọi người có thể sao lưu ứng dụng của bạn thông qua ADB và sau đó lấy dữ liệu riêng tư của ứng dụng của bạn vào PC của họ.
Tuy nhiên, tôi nghĩ đó không phải là vấn đề, vì hầu hết người dùng không biết adb là gì và nếu có, họ cũng sẽ biết cách root thiết bị. Các chức năng ADB sẽ chỉ hoạt động nếu thiết bị có tính năng gỡ lỗi được kích hoạt và điều này cần người dùng kích hoạt nó.
Vì vậy, chỉ những người dùng kết nối thiết bị của họ với PC và kích hoạt tính năng gỡ lỗi mới bị ảnh hưởng. Nếu họ có một ứng dụng độc hại trên PC sử dụng các công cụ ADB, điều này có thể gây ra vấn đề vì ứng dụng có thể đọc dữ liệu lưu trữ riêng tư.
Tôi nghĩ rằng Google chỉ nên thêm một tính năng bị tắt theo mặc định, trong danh mục nhà phát triển, để cho phép sao lưu và khôi phục ứng dụng thông qua ADB.
- "Android: backupAgent " cho phép sử dụng tính năng sao lưu và khôi phục của đám mây, như được hiển thị ở đây và đây :
Tên của lớp triển khai là tác nhân sao lưu của ứng dụng, một lớp con của BackupAgent. Giá trị thuộc tính phải là một tên lớp đủ điều kiện (chẳng hạn như "com.example.project.MyBackupAgent"). Tuy nhiên, như một cách viết tắt, nếu ký tự đầu tiên của tên là một khoảng thời gian (ví dụ: ".MyBackupAgent"), thì nó được gắn vào tên gói được chỉ định trong phần tử. Không có mặc định. Tên phải được chỉ định.
Đây không phải là một vấn đề bảo mật.