原文标题:Demystifying Illegal Mobile Gambling Apps
原文作者:Yuhao Gao, Haoyu Wang, Li Li, Xiapu Luo, Guoai Xu, Xuanzhe Liu
原文链接:https://dl.acm.org/doi/abs/10.1145/3442381.3449932
发表会议:WWW ' 21
笔记作者:0kka@安全学术圈
主编:黄诚@安全学术圈
移动赌博应用程序作为新兴在线赌博服务,已成为移动应用生态中最受欢迎和赚钱的地下产业之一,同时也受到受到了政府部门和应用市场的严格监管。
本文的作者团队投入了长达五个月的时间进行国内移动赌博应用程序的数据收集。他们深入研究了这些应用的各个方面,包括应用程序的分发渠道、网络基础设施、潜在的恶意行为、对第三方服务的滥用,以及与支付服务相关的问题。
为了规避监管和检测,非法赌博应用通常选择隐蔽的分发途径,而不是依赖传统的应用市场。这样,它们可以更轻松地绕过监管机构的监视。此外,非法赌博网站通常提供与同一公司运营的相应赌博应用,以使用户更容易查找和下载这些非法应用。为了确保应用的持续可用性,非法赌博应用开发者通常会将应用与多个不同的网络服务器连接,以应对可能的服务器封锁。这种冗余的服务器连接策略有助于保持应用的稳定性,即使某些服务器被关闭也不会影响用户的体验。此外,一些非法赌博应用还会滥用第三方服务,以简化应用程序的开发流程。这些服务提供了一种快速开发应用的方式,但也可能导致滥用和不当使用的问题,进一步加剧了监管的难度。
获取赌博应用程序的数据集是这项研究的一大挑战,因为这些应用程序通常无法通过常规的应用下载渠道获得。为了解决这一问题,作者采用了一种创新的方法,通过寻找与在线赌博网站之间的强关联性来发现非法赌博应用程序。
为了获得尽可能多的赌博网站,作者利用国内的ISP服务商从2019年8月至2020年1月获取了主要城市所有用户的DNS请求数据(已脱敏),总计包含超过4000万个域名。在使用ICP证书和Alexa网站排名初步排除合法域名后,作者爬取了剩余域名的网页内容,并筛选出包含赌博关键词的网站。为了更精确地确定赌博网站,作者采用了参考文献[1]中的方法:首先从网页中提取可见文本,去除停用词后将文本向量化并输入SVM分类器进行进一步的分类。
通过分析所收集的赌博网站,作者获得了赌博应用程序的下载链接。下载这些应用程序采用了半自动化的方式,即自动识别网站内容中可能的下载链接并进行下载,对于无法自动化的下载方式则采用了人工方式。为了进一步验证赌博应用程序的真实性,作者对应用程序的用户界面进行截图,并进行人工审查和判定。
相较于普通应用程序可以直接从应用市场中下载,赌博应用程序通常采用更为隐蔽的分发渠道,以规避监管审查。举例来说,一些赌博网站会将用户的下载请求重定向到其他隐藏的下载网站,同时这些下载网站也可能分发其他类型的应用程序。为了更好地理解这种分发关系,作者将其分为两种类型,即赌博网站与分发渠道的域名相同和不同。
通过对赌博网站使用的分发渠道进行分析,作者发现,除了一些专门分发黑灰产应用程序的网站外,一些赌博应用程序还滥用了第三方的分发渠道。
为了进行赌博应用程序的测试,作者采用了DroidBot[2](在最新的研究论文[3]中,作者团队进一步整合了大语言模型以提高自动化测试的能力)用于自动生成输入并模拟用户行为。在测试过程中,作者记录了应用程序运行过程中的所有的网络流量。
为了区分第三方服务与赌博应用程序的网络资产,作者采取了一些巧妙的方法。他们通过在公共应用市场下载正规应用程序,记录了这些应用程序在动态运行过程中产生的网络流量,从而确定了第三方服务对应的网络资产。然后,结合第三方服务的网络资产和Alexa网站排名等信息,作者对赌博应用程序生成的网络流量进行了过滤和分类,从而确定属于赌博运营团伙的资产信息。
同时作者对赌博网站的域名展开了分析,包括顶级域名分析、ASN分析、注册信息分析。
作者使用VirusTotal对赌博应用程序进行了恶意行为分析,并使用LibRadar[4]工具对应用程序中使用的第三方库进行了挖掘。
同时,作者还关注了赌博网站的用户充值问题。作者介绍了目前涉网程序常用的交易手段——四方支付。四方支付采用混合支付方式,使得资金流向更加难以追踪。作者通过不断发起支付请求对每个支付平台上的收款账号池进行了测算。
作者首先从代码相似度的角度对赌博应用程序进行了聚类分析,同时通过证书以及包名前缀对聚类结果进行验证。
作者采用了两种方法挖掘新的赌博应用程序:
(1)使用HTTPS证书中的SAN字段进行域名扩展以发现其他与赌博服务相关的域名,并通过VirusTotal对使用了对应赌博服务的应用程序进行发现.
SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展。使用了 SAN 字段的 SSL 证书,可以扩展此证书支持的域名,使得一个证书可以支持多个不同域名的解析。
(2)使用安卓程序构建阶段中使用到的四组密钥对(Media、Platform、Shared、Testkey),根据签名在Koodous上进行索引。
本文针对移动赌博程序展开了较为全面的分析,通过程序中挖掘出程序背后的基础设施信息进而发现新的赌博程序。同时本文还留下了许多可以挖掘的内容,例如文中仅介绍了通过赌博网站引流到赌博程序的方式,而是否存在其他的引流方式还有待考究。同时文中大多分析集中于程序背后的网络资产,对程序本身的对抗机制研究较少。
[1]Yang H, Du K, Zhang Y, et al. Casino royale: a deep exploration of illegal online gambling[C]//Proceedings of the 35th Annual Computer Security Applications Conference. 2019: 500-513.
[2] Li Y, Yang Z, Guo Y, et al. Droidbot: a lightweight ui-guided test input generator for android[C]//2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). IEEE, 2017: 23-26.
[3]Wen H, Wang H, Liu J, et al. DroidBot-GPT: GPT-powered UI Automation for Android[J]. arXiv preprint arXiv:2304.07061, 2023.
[4]Ma Z, Wang H, Guo Y, et al. Libradar: Fast and accurate detection of third-party libraries in android apps[C]//Proceedings of the 38th international conference on software engineering companion. 2016: 653-656.
安全学术圈招募队友-ing
有兴趣加入学术圈的请联系 secdr#qq.com