安卓应用程序中的安全性

3
我最近开发了一个金融应用程序,并进行了安全漏洞测试。
测试中发现了一个问题:通过不安全的直接对象引用实现帐户劫持。以下是提供的注释: 在安全评估过程中,发现安卓应用程序中存在不安全的授权控制,允许攻击者代表不同的用户发出请求。这使得攻击者可以接管任何用户的帐户。 该应用程序完全缺乏授权控制,这使得攻击者可以代表任何用户发出请求。
提供的解决方法是: 为防止此类问题,请确保将用户的访问权限限制在正确的特权级别上,而不仅仅是通过应用程序界面中可用的页面来限制。
这是否意味着使用基于角色的系统?我的应用程序不需要多个用户角色。只有一个名为“终端用户”的单一角色将使用该应用程序。
可以有人提供更深入的见解吗?

我还需要知道是否实现会话可以解决这个问题? - Meghana Dixit
3个回答

2
你需要考虑以下几点:
  1. 使用身份验证方法来保护Web API,例如基本身份验证、OAuth 2.0和OAuth 1.0。
  2. 即使只有一个用户,也要使用会话管理器来管理用户。
  3. 使用Gradle来保存数据,例如URL、令牌、令牌密钥等。
  4. 尽量少使用第三方库。
  5. 使用Proguard来混淆代码。
  6. 隐藏所有日志信息。
  7. 在发布或测试前将调试变量更改为发布变量。

0
每个系统至少有两个角色:管理员(特权用户)和(非特权)用户。然而,在实际系统中存在多个角色,如编辑器、财务经理、人力资源经理等。因此,您需要为这些用户提供不同级别的资源访问权限。

0

使用访问令牌更新实施OAUTH会话管理。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接