- 避免缓存应用程序数据
- 详细描述
- 建议
- 参考
- CWE/OWASP
避免缓存应用程序数据
详细描述
数据可以在很多地方被捕获,尽管许多是无意的。 开发人员经常忽略一些可以存储数据的方式,包括日志/调试文件,cookie,网络历史记录,网页缓存,属性列表,文件和SQLite数据库。 在移动设备上安全地存储数据需要适当的技术。 只要有可能“简单地不要存储或缓存数据” 是避免数据在设备上被获取最直接的方式。
建议
阻止HTTP高速缓存。 开发人员可以将iOS和Android配置为不缓存网络数据,特别是HTTPS流量。 在iOS中,查看实现NSURLConnection委托并禁用newCachedResponse。 此外,我们建议采取步骤,以避免缓存任何Web进程(如注册)的URL历史记录和页面数据。 HTTP缓存头在此重要,并在Web服务器上配置。 HTTP协议在响应标头中支持“no-store”指令,指示浏览器它不得存储响应或引发它的请求的任何部分。 对于Web应用程序,HTML表单输入可以使用autocomplete = off设置指示浏览器不缓存值。 应用程序启动后,可以通过对设备数据进行读取检查来验证是否已经缓存了数据。
参考
- http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
CWE/OWASP
- M2 - Insecure Data Storage, M4 - Unintended Data Leakage
- CWE 312, 313, 522, 200