安卓恶意软件的技术、传播、经济与机器学习趋势
1. 技术手段
1.1 下载模块
由于安卓设备大多时候都处于联网状态,许多针对该平台的恶意软件依赖网络连接从远程服务器下载额外代码,以此将恶意代码隐藏起来,躲避分析人员的检测。常见的做法是,APK 文件仅包含无害代码,所有恶意功能都从远程服务器下载。分析 APK 文件的人若未获取远程代码文件,就难以发现恶意活动。而且,攻击者通常会等恶意软件安装量达到一定规模后才上传远程代码文件,避免过早引起反恶意软件研究人员的注意。如今,更复杂的安卓恶意软件通过远程托管文件采用基于插件的复杂架构,根据用户的手机型号、所在国家或移动运营商等环境变量,从远程服务器下载不同的恶意插件,以优化恶意软件的获利。
1.2 冷门语言
利用不常见的编程语言也是躲避反恶意软件产品检测的方法。虽然防御者能够分析 Java 代码和一定程度上的原生 ARM 汇编代码,但对于像 Flutter 或 ReactNative 这样较新的应用开发框架,以及 Lua 或 Python 等在安卓平台上较小众的语言,能进行分析的反恶意软件公司并不多,尤其是当这些脚本与安卓 API 交互时。曾有一款恶意软件下载了 Bash 外壳并利用其进行恶意活动,它先在外壳中运行 Linux 包安装命令 apt - get 安装 OpenSSL、libcurl 和 Python 等标准 Linux 模块,然后下载 Bash 脚本从外壳执行恶意代码,很少有安全公司能自动分析这样的设置。由于安卓平台有众多脚本和解释型语言,检测用这些语言编写的恶意软件十分繁琐,且需要大量资金投入,预计恶意软件作者会更多地采用这种方式。
超级会员免费看
订阅专栏 解锁全文
51

被折叠的 条评论
为什么被折叠?



