安全测试发现我的安卓应用有一个可预测的随机数生成器,这是有风险的。它属于Kotlin核心库。如何修复?

问题描述 投票:2回答:1

我进行了安全测试,通过 ImmuniWeb 工具在我的Android应用APK上。该工具的观察结果之一是,其中一个应用组件使用了一个可预测的随机数生成器。它进一步说。

在某些情况下,这个弱点可能会危及移动应用数据加密或其他基于随机化的保护。例如,如果加密令牌是在应用程序内部生成的,攻击者可以向应用程序提供一个可预测的令牌来验证,然后在应用程序或其后台执行敏感活动。

不安全代码的例子。 Random random = new Random()

安全代码的例子。 SecureRandom random = new SecureRandom()

在文件'kotlinxcoroutinesschedulingCoroutineScheduler.java'中发现了'new Random()'。

在文件'kotlinrandomFallbackThreadLocalRandom$implStorage$1.java'中找到了'new Random()'。

该应用大量使用Kotlin coroutines,所以我无法删除该库。我的疑问是如何避免这个漏洞?我可以做些什么吗?最后,如果这真的是一个有效的风险代码,我们是否可以报告并期望Kotlin推送更新来修复它?

android kotlin
1个回答
0
投票

我同意@Morrison Chang的观点 。 我认为coroutine调度代码也不需要加密安全。

这个逻辑并没有做类似为块密码创建初始化向量之类的事情,所以应该是没有问题的......

© www.soinside.com 2019 - 2024. All rights reserved.