我从Android应用程序开发开始,我想确保我采取了适当的安全防范措施,因为大多数应用程序都会处理敏感数据。
为了使我的应用程序和它处理的数据安全,应该采取哪些安全防范措施?(确切地说,我最坏的场景线程模型将是一个资金充足的攻击者试图以任何可能的方式访问应用程序处理的数据)
我知道,
但是,例如,我应该使用windows作为开发平台,还是linux在这种情况下更可取。
我计划开发的应用程序将主要是数据传输和通信应用。
任何想法都很感激!
发布于 2016-01-24 18:35:07
开发平台与应用程序的安全性几乎没有任何关系。如果您的开发机器没有适当的安全保护或直接目标,它可能会发生。
你必须遵循的第一条规则是不要实现你自己的密码。使用众所周知的和经过测试的库。
发布于 2016-01-24 20:58:13
我想到了几件事。
避免在本地存储不应公开的东西。数据,比如会话,cookie,密码,账户细节等等。从移动应用程序中挖掘和重用数据的方式有很多种。经验法则是,如果是特定于该用户的数据(用户会话、用户ID、用户帐号),那么它更适合在设备上缓存,而不是对每个人都一样。假设您有一个来自CDN的流媒体许可证密钥,或者一个用于web服务(ála OAuth)的API密钥,或者类似的东西。这些共享秘密不应该嵌入应用程序中,也不应该缓存在应用程序的本地存储空间中。这是一个失败的例子。
记住,任何服务器端组件都必须对其所有API调用进行身份验证和授权。创建微服务是很常见的,比如查看打开的订单、检查可用文件或其他什么,并且不需要有效的会话。只要有任何有效的会话,让这些微服务接受任何类型的请求也是很常见的。所以,确保你不依赖移动应用程序来确定用户应该看到和不应该看到什么。必须由服务器端强制执行。
我想到了两件大事。还有更多,但我们不能给你一本书作为回应。
https://security.stackexchange.com/questions/111576
复制相似问题