近日Dirty Stream漏洞成为移动安全领域热点话题,该漏洞普遍存在于Android应用程序中,可能允许攻击者将恶意代码伪装为合法文件,写入APP私有储存空间,进而控制应用程序并窃取有价值的用户信息。调用安卓操作系统FileProvider组件的APP均可能涉及该漏洞!
微软研究显示该漏洞影响范围广泛,涉及多款数十亿次下载的流行Android应用程序,其中多款国内知名APP已被证实受此漏洞影响,国家监管机构对该漏洞高度关注,工信部已通过网络安全威胁和漏洞信息共享平台发出安全提示。为协助企业排查漏洞,爱加密宣布可免费协助企业就Dirty Stream漏洞进行针对性检测!企业可于文末填写资料报名。
爱加密组织安全专家对该漏洞进行复现,据调研,漏洞成因是APP读取测试人员提供的content provider name字段时未过滤"../",导致可以拼接穿越路径。该机制利用了APP盲目信任输入,发送带有特定文件名的任意有效载荷,从而导致代码执行。
下图中为导致该漏洞出现的K函数核心片段。
经过爱加密评估,攻击者必须通过手机发起进攻,且攻击者手机必须安装目标APP并提供content provider组件,目标APP数据库里须写上穿越路径,之后发送Intent调起目标APP。该漏洞利用的前置要求较高。
目前,谷歌官方已发布修补该漏洞的安全开发指南,可妥善解决原有代码问题,指南强调,当APP将接收到的文件写入存储时,应该忽略服务器应用程序提供的文件名,而使用自己内部生成的唯一标识符作为文件名,如果生成唯一的文件名不能轻易实现,客户端应用程序就应该对提供的文件名进行核验、清查。
修补前代码如下:
修补后可过滤"../",已解决本漏洞,代码如下。
爱加密移动应用安全检测平台可通过极为优秀的静态检测技术和动态检测技术,本次可为企业免费检测包括Dirty Stream漏洞在内的160余项Android安全风险及漏洞。
涵盖基本信息检测、源文件安全、数据存储风险、内部数据交互风险、通信传输风险、身份认证风险、组件风险、HTML5风险、安全防护能力、第三方SDK风险、服务端数据泄露风险、通用WEB风险、内容风险、优化建议等方面。
平台可实现一套系统实现全平台检测!覆盖Android、iOS、鸿蒙三大平台,并且支持微信小程序检测。在检测技术上,支持静态检测技术和动态检测技术,全面准确发现安全问题。