描述
Android应用程序使用一个广播接收器接收一个意图但不正确验证意图来自一个授权的来源。
扩展描述
某些类型的意图,被行动字符串,只能播放由操作系统本身,而不是第三方应用程序。然而,当应用程序注册接收这些隐式系统的意图,也是注册接收任何显式意图。而恶意应用程序不能发送一个隐式系统的意图,它可以发送一个显式意图到目标应用程序中,这可能会假定任何收到的意图是一个有效的隐式系统的意图,而不是从另一个应用程序显式意图。这可能会导致意想不到的行为。
替代条款
的关系
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
完整性
|
另一个应用程序可以模拟操作系统,导致软件来执行一个意想不到的动作。 |
|
示范例子
示例1
下面的例子显示出,需求不足。
<清单包= " com.example.vulnerableApplication " >
<应用>
…
<接收机android: name = " .ShutdownReceiver " >
<意图过滤器>
<行动android: name = " android.intent.action.ACTION_SHUTDOWN " / > < /意图过滤器> < /接收器>
…
< /应用程序>
< /清单>
ShutdownReceiver类将处理的目的:
…
IntentFilter过滤器= new IntentFilter (Intent.ACTION_SHUTDOWN); BroadcastReceiver sReceiver = new ShutDownReceiver (); registerReceiver (sReceiver、过滤);
…
公开课ShutdownReceiver BroadcastReceiver{延伸
@Override 公共空间onReceive(最后的上下文语境,最终目的意图){
mainActivity.saveLocalData (); mainActivity.stopActivity (); } }
因为方法不确定意图行动预计系统意图,任何收到意图将触发关闭程序,如下所示:
窗口。位置= examplescheme: / /方法? =参数值
攻击者可以使用此行为导致拒绝服务。
潜在的缓解措施
阶段:体系结构和设计
作用于意图之前,检查意图行动来确保它匹配预期的系统动作。 |
笔记
引用
|