Snowblind 移动恶意软件
一种名为 Snowblind 的新型 Android 恶意软件利用安全功能绕过管理敏感用户数据的应用程序中当前的防篡改保护。Snowblind 旨在重新打包目标应用程序,使其无法检测到对辅助服务的滥用。这使得恶意软件能够捕获用户输入(如凭据)或获得远程控制以执行恶意活动。
Snowblind 与其他 Android 恶意软件的不同之处在于它利用了“seccomp”(安全计算)这一 Linux 内核功能,Android 使用该功能来检查应用程序的完整性。该功能旨在保护用户免受应用程序重新打包等不安全操作的侵害。
利用安全功能入侵设备
对 Snowblind 的分析揭示了其通过利用 Linux 内核功能“seccomp”来攻击 Android 应用程序的创新方法。Seccomp 是一种安全机制,可限制应用程序可以执行的系统调用 (syscalls),从而减少其攻击面。seccomp 最初由 Google 在 Android 8 (Oreo) 中集成,并在 Zygote 进程(所有 Android 应用程序的父进程)中实现。
Snowblind 专门针对处理敏感数据的应用程序,通过注入在防篡改机制之前加载的本机库来做到这一点。它会安装一个 seccomp 过滤器来拦截通常用于文件访问的系统调用(例如“open()”)。在对目标应用程序的 APK 进行篡改检查期间,Snowblind 的 seccomp 过滤器会阻止未经授权的系统调用并触发 SIGSYS 信号,指示系统调用参数无效。
为了规避检测,Snowblind 为 SIGSYS 安装了信号处理程序。该处理程序会检查并修改线程的寄存器,从而使恶意软件能够操纵“open()”系统调用的参数。研究人员解释说,这种操纵会重定向防篡改代码以查看未更改的 APK 版本。
由于其有针对性的方法,seccomp 过滤器对性能的影响和操作占用的空间最小,使得用户不太可能在常规应用程序使用过程中检测到异常。
Snowblind 允许攻击者执行各种有害操作
Snowblind 攻击所采用的方法似乎相对不为人所知,研究人员表示,大多数应用程序都没有能力防御它。这种类型的攻击操作非常隐蔽,存在泄露登录凭据的重大风险。此外,该恶意软件还能够禁用关键的应用程序安全功能,例如双因素身份验证和生物识别验证。
攻击者可以利用此技术访问屏幕上的敏感信息、浏览设备、操纵应用程序,并通过自动执行通常需要用户交互的操作来规避安全协议。此外,他们还可以提取个人身份信息和交易数据。
Snowblind 攻击活动对应用程序的影响程度尚不清楚。此外,人们担心其他威胁行为者将来可能会采用这种方法来逃避 Android 保护。