【问题标题】:How to secure an Android Application PIN code screen from bruteforce locally如何保护 Android 应用程序 PIN 码屏幕免受本地暴力破解
【发布时间】:2020-09-11 12:01:58
【问题描述】:

我正在尝试了解在 Android 应用程序中保护 PIN 码/锁定屏幕的细节。 (例如:https://github.com/thealeksandr/PFLockScreen-Android) 以银行应用程序为例,他们通常会要求输入 PIN 码以重新登录您的帐户。 我的问题是如何在完全本地处理或不可能的假设下确保此 PIN 码检查的安全。

我对此的想法是,PIN 码可以很容易地存储在 Android 密钥库中,但 PIN 功能本身是否仍然容易通过使用 Frida 等工具进行暴力破解。 即使进行了反暴力检查,Frida 也不能钩住这个并改变计数器/只是一遍又一遍地重新打开应用程序吗?

我知道这方面的威胁模型非常有限,但是,它让我思考了一段时间,因为如果不使用某种形式的服务器端验证,我看不到任何保护它的方法。

【问题讨论】:

  • 我认为最简单的解决方案是构建验证码。在我看来,为了防止暴力攻击,使用验证码是最好的解决方案。
  • 银行应用程序很简单。此类应用程序始终在线,因此您可以在服务器端检查已进行了多少错误尝试,并强制用户在每次尝试之间等待越来越长的时间跨度。
  • 这个问题很清楚地多次表明这是关于本地暴力尝试而不是服务器端。

标签: android security frida


【解决方案1】:

在本地将其存储为单向哈希(例如 SHA256)。登录后,您计算他们键入的内容的哈希值,并将其与存储的哈希值进行比较。

【讨论】:

    猜你喜欢
    • 2015-12-16
    • 2021-12-14
    • 2016-03-13
    • 1970-01-01
    • 2010-12-31
    • 2011-03-28
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    相关资源
    最近更新 更多