安卓应用安全指南 4.6.2 处理文件 规则书

简介: 安卓应用安全指南 4.6.2 处理文件 规则书 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0遵循以下规则:4.6.2.1 文件原则上必须创建为私有(必需)如“4.6 处理文件”和“4.6.1.3 使用公共读/写文件”所述,无论要存储的信息的内容如何,原则上都应该将文件设置为私有。

安卓应用安全指南 4.6.2 处理文件 规则书

原书:Android Application Secure Design/Secure Coding Guidebook

译者:飞龙

协议:CC BY-NC-SA 4.0

遵循以下规则:

4.6.2.1 文件原则上必须创建为私有(必需)

如“4.6 处理文件”和“4.6.1.3 使用公共读/写文件”所述,无论要存储的信息的内容如何,原则上都应该将文件设置为私有。 从 Android 安全角度来看,交换信息及其访问控制应该在 Android 系统中完成,如内容供应器和服务,并且如果存在不可能的因素,则应该考虑由文件访问权限作为替代方法。

请参阅每个文件类型的示例代码和以下规则条目。

4.6.2.2 禁止创建允许来自其他应用的读写访问的文件(必需)

如“4.6.1.3 使用公共读/写文件”中所述,当允许其他应用读取/写入文件时,存储在文件中的信息无法控制。 因此,从安全和功能/设计的角度来看,不应该用公共读/写文件共享信息。

4.6.2.3 使用存储在外部存储器如 SD 卡)的文件,应该尽可能最小(必需)

如“4.6.1.4 使用外部存储器(公共读写)文件”中所述,出于安全和功能的考虑,将文件存储在外部存储器(如 SD 卡)中,会导致潜在的问题。 另一方面,与应用目录相比,SD 卡可以处理更大范围的文件,并且这是可以用于将数据带出到应用之外的唯一存储器。 所以,可能有很多情况下必须使用它,取决于应用的规范。

将文件存储在外部存储器中时,考虑到未指定的大量应用和用户可以读/写/删除文件,所以有必要考虑以下各点以及示例代码中提及的要点,来设计应用。

  • 原则上,敏感信息不应保存在外部存储器的文件中。
  • 将敏感信息保存在外部存储器的文件中时,应将其加密。
  • 将文件保存在外部存储器时,如果被其他应用或用户篡改,将会出现问题,应该用电子签名保存。
  • 当读入外部存储器中的文件时,请在验证读取的数据安全性后使用数据。
  • 应该这样设计应用,假设外部存储器中的文件始终可以被删除。

请参考“4.6.2.4 应用应该在考虑文件范围的情况下设计”。

4.6.2.4 应用应该在考虑文件范围的情况下设计(必需)

保存在应用目录中的数据,被以下用户操作删除。 它与应用的范围是一致的,并且与应用的范围相比,它的独特之处在于它比应用的范围小。

  • 卸载应用
  • 删除每个应用的数据和缓存(设置=>应用=>选择目标应用)

保存在外部存储器中的文件,如 SD 卡,文件的范围比应用的范围长。 另外,还需要考虑以下情况。

  • 文件由用户删除
  • 取出/替换/取消挂载 SD 卡
  • 文件由恶意软件删除

如上所述,由于文件范围取决于文件的保存位置而有所不同,不仅从保护敏感信息的角度,而且从实现应用的正确行为的角度,有必要选择文件保存位置。

相关文章
|
2天前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
13 1
|
3月前
|
存储 数据库 Android开发
安卓Jetpack Compose+Kotlin,支持从本地添加音频文件到播放列表,支持删除,使用ExoPlayer播放音乐
为了在UI界面添加用于添加和删除本地音乐文件的按钮,以及相关的播放功能,你需要实现以下几个步骤: 1. **集成用户选择本地音乐**:允许用户从设备中选择音乐文件。 2. **创建UI按钮**:在界面中创建添加和删除按钮。 3. **数据库功能**:使用Room数据库来存储音频文件信息。 4. **更新ViewModel**:处理添加、删除和播放音频文件的逻辑。 5. **UI实现**:在UI层支持添加、删除音乐以及播放功能。
145 1
|
3天前
|
开发工具 git 索引
repo sync 更新源码 android-12.0.0_r34, fatal: 不能重置索引文件至版本 ‘v2.27^0‘。
本文描述了在更新AOSP 12源码时遇到的repo同步错误,并提供了通过手动git pull更新repo工具来解决这一问题的方法。
17 1
|
1天前
|
存储 监控 数据库
Android经典实战之OkDownload的文件分段下载及合成原理
本文介绍了 OkDownload,一个高效的 Android 下载引擎,支持多线程下载、断点续传等功能。文章详细描述了文件分段下载及合成原理,包括任务创建、断点续传、并行下载等步骤,并展示了如何通过多种机制保证下载的稳定性和完整性。
7 0
|
2月前
|
存储 安全 数据安全/隐私保护
🔎Android安全攻防实战!守护你的应用数据安全,让用户放心使用!🛡️
【7月更文挑战第28天】在移动应用盛行的时代,确保Android应用安全性至关重要。本文以问答形式探讨了主要安全威胁(如逆向工程、数据窃取)及其对策。建议使用代码混淆、签名验证、数据加密等技术来增强应用保护。此外,还推荐了加密API、HTTPS通信、代码审计等措施来进一步加强安全性。综上所述,全面的安全策略对于构建安全可靠的应用环境必不可少。#Android #应用安全 #代码混淆 #数据加密
36 3
|
2月前
|
存储 安全 Android开发
安卓应用开发的安全之道
【7月更文挑战第4天】在数字时代,移动应用的安全性至关重要。本文将深入探讨在安卓平台上开发安全应用的最佳实践,包括代码混淆、数据存储加密、网络通信安全、权限管理以及定期的安全审计和更新策略。通过这些措施,开发者可以显著提高他们的应用抵御恶意攻击的能力,保护用户数据免受侵害。
|
3月前
|
缓存 Android开发 Kotlin
【安卓app开发】kotlin Jetpack Compose框架 | 先用OKhttp下载远程音频文件再使用ExoPlayer播放
使用 Kotlin 的 Jetpack Compose 开发安卓应用时,可以结合 OkHttp 下载远程音频文件和 ExoPlayer 进行播放。在 `build.gradle` 添加相关依赖后,示例代码展示了如何下载音频并用 ExoPlayer 播放。代码包括添加依赖、下载文件、播放文件及简单的 Compose UI。注意,示例未包含完整错误处理和资源释放,实际应用需补充这些内容。
143 5
|
3月前
|
安全 网络协议 网络安全
程序与技术分享:Android应用安全之数据传输安全
程序与技术分享:Android应用安全之数据传输安全
|
3月前
|
Java 开发工具 Android开发
详细解读Android开发DNK开发将.c文件打包成os
详细解读Android开发DNK开发将.c文件打包成os
22 0
|
3月前
|
Android开发
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
94 0
下一篇
云函数