今天分享的文章聚焦于网络犯罪中的移动赌博诈骗,由复旦大学和印第安纳大学伯明顿分校的研究人员合作完成。文章基于1461个诈骗事件报告和1487个赌博诈骗应用的真实数据,首次对移动赌博诈骗行为进行了定性和定量分析,挖掘相关诈骗的操作方式和完整的欺诈链条,并提出了遏制诈骗活动的可行途径。文章发表于国际网络安全顶级学术会议S&P 2022(录取率:14.5%)。

01【研究背景】

赌博诈骗是一种流行的欺诈手段,骗子声称可以在赌博活动(例如赌场、扑克、体育博彩)中提供便利,骗取玩家的钱财。随着移动市场规模的快速增长,赌博诈骗正将触角伸向移动端。在移动赌博诈骗中,不法分子通过即时通讯软件发送诈骗信息,并在移动应用程序上部署赌博诈骗平台。传统的赌博诈骗只是让受害者永远无法获胜,而新型赌博诈骗会诱骗受害者持续投入金钱、最终阻止其套现。

图表1 移动赌博诈骗的基本流程

图表1为典型的移动赌博诈骗流程:

(1)骗子通过与受害者建立联系来发起攻击。为了获取信任,骗子通常会创建虚假的个人资料,并通过流行的社交软件联系目标受害者;

(2)骗子通过提供高昂的奖金,引诱受害者下载赌博诈骗应用程序,并利用程序漏洞来赚钱;

(3)一旦受害者信任骗子并下载了赌博诈骗应用,就会通过应用程序中的支付渠道(如银行、第三方支付、加密货币、钱骡)开始赌博;

(4)骗子会通过提供丰厚的回报诱骗受害者不断存钱;

(5)最后骗子会锁定受害者的账户,阻止受害者将赌博收入提现

02【研究问题】

文章将整个诈骗过程进行抽象,得到图表2中展示的四个步骤和三类信息,主要的研究问题包括:

1. 骗子在移动赌博诈骗中使用了哪些社会工程技术?(怎么联系受害者)

2. 他们如何操作赌博诈骗应用程序?(对赌博APP进行分析,包括开发框架、权限、兼容性和后端网络基础设施)

3. 他们提供的支付渠道如何规避严格的金融审查机制?(支付方式)

图表2 移动赌博诈骗的流程建模

03【数据收集】

诈骗信息数据集

本研究使用了2020年1月1日至2020年12月31日期间收集的1461个真实诈骗事件报告,涉及1068个Android应用和419个iOS应用:

1. 诈骗APP样本

文件大小从23KB到93.9MB不等。最小文件只包含5个Java类,并通过WebView实现大部分功能;最大文件由多个SDK(如推送服务SDK、第三方支付SDK)组成。

2. 诈骗事件报告

包括受害者生活在中国或诈骗活动发生在中国的真实事件报告,含有受害者提供的诈骗事件的详细信息,包括事件发生的时间、损失金额、事件摘要(例如骗子如何与受害者建立联系、赢得受害者信任、向受害者交付诈骗应用程序等)。

真实赌博应用数据集

本研究额外收集了一组真实的赌博应用程序作为对照,这类赌博应用是指信誉良好、真实的赌博应用。文章通过以下流程确认了156个网站,并下载相关的应用程序,共获得182个Android和134个iOS赌博应用:

1. 从SimilarWeb[1]获取热门赌博网站;

2. 根据Tranco域名流行度排名列表[2]筛选排名靠前的博彩网站;

3. 通过证书和VirusTotal标签来验证这些网站和关联应用程序;

4. 检查应用程序是否在Google Play或APP Store上发布。

04【研究内容和主要发现】

RQ1. 社工技巧分析

1. 与受害者建立联系

通过在线问答、短视频分享、求职、约会等在线社交网络(OSN)寻找受害者。并根据受害者在OSN上留下的信息进行角色扮演,角色类型包括技术人员/赌博专家、亲密关系或权威人士。

2. APP分发方式

56.7%移动赌博应用程序为骗子主动提供,41.2%为受害者主动索要,后者导致的损失明显高于前者。

3. 持续诱骗

激励式(44.2%),即持续向受害者说明继续存钱的好处;压力式(11.0%),例如:“客服说我的银行卡号错了……只要再存一次钱,我就可以更改卡号。”

4. 诈骗逻辑

禁用应用功能,如冻结账户或禁止提现;修改账户,例如直接抹去账号内的余额。

RQ2. APP分析

1. 可公开获得和非公开获得的应用

通过官方应用商店匹配所有1487个诈骗应用程序,具体匹配过程如下:

iOS(名称查找,bundleId匹配)

首先从Info.plist文件中提取每个诈骗APP的名称和唯一的捆绑标识符(bundleId),然后使用iTunes API搜索应用程序名称。对于搜索结果中的每个应用,从元信息中提取bundleId来进行应用匹配。

安卓(包名查找,密钥匹配)

首先利用Androguard提取数据集中每个APK文件包名。随后,在Google Play、Androzoo和其他第三方应用市场(如MyAPP、小米商店、iuuu9和anxz)中搜索相关包名。最后,使用apktool查找每个APP的签名密钥,与数据集中的APP进行匹配。

最终,作者在APP Store中并未检索到数据集中任何iOS诈骗应用。安卓应用程序在谷歌Play、Androzoo、MyAPP或小米APP Store中也未匹配成功,只在iuuu9和anxz中发现了5个诈骗APP。

2. 开发框架识别-360烽火报告

a. 确定了35个开发框架(React Native, Cocos2dx, Cordova等)及其特征指纹,如图表3和4所示。

图表3 应用程序开发框架

图表4 应用程序指纹举例

b. 确定了诈骗应用程序使用的8个开发框架(图表5)

    图表5 诈骗应用程序应用开发框架

    作者分析发现,骗子会滥用公共应用生成器(如DCloud和APICloud)生成诈骗APP。此外,诈骗应用中存在签名滥用情况,有71个诈骗应用程序使用了DCloud签名,但并非通过DCloud生成。

    c. 基于APP的相似度进行团伙分析

    文件结构相似度:计算每个APK或IPA资源文件的SHA256哈希值,比较任意两个哈希组合的Jaccard距离。

    代码相似度:分别计算Android和iOS的dex文件和so文件,或可执行文件和dylib文件的相似度。然后,在相似度矩阵上应用基于密度的聚类算法DBSCAN对应用进行聚类。

    结果显示,超过81.4%的Android应用程序和所有iOS应用程序共享共同的包名前缀com.yibo.*

    权限分析

    1. 安卓

    诈骗应用程序平均会请求4.6个危险的AOSP权限,最多请求15项危险权限。如图表6(上)所示,包括:

    READ_CONTACTS(读取联系人列表)

    READ_SMS(读取短信列表)

    2. iOS

    有419个iOS应用程序声明了19种独特的权限,如图表6(下)所示,最常见的权限是读写相册、使用相机和麦克风。

    图表6 安卓(上)和iOS(下)赌博诈骗应用程序权限分析

    有趣的发现:

    • 正版赌博应用经常请求位置权限,因为合法赌博通常有地区限制。

    • 正版iOS赌博应用程序通常会请求FaceIDUsage权限进行FaceID登录,而赌博诈骗应用程序很少使用。

    • 正版安卓赌博应用程序经常请求GET_ACCOUNTS,因为大多数正版应用程序为集成谷歌移动服务(GMS) SDK需要请求此权限,而大多数诈骗应用程序不集成此类功能。

    兼容性分析

    1. 安卓

    根据图表7,可以发现所有赌博诈骗应用程序的SDK版本最小是19 (Android版本4.4)或更低,是真实赌博应用、Google Play和MyAPP中知名应用的48.8%、48.6%和67.8%。

    2. iOS

    提取Info.plist文件中的MinimumOS Version和DTPlatformVersion。发现所有赌博诈骗APP最小SDK版本是9.0,而真实赌博应用的最低OS版本大多为11.0。

    3. 结论

    赌博诈骗应用对最低操作系统版本的要求较低,为了确保不同版本之间的兼容性,以覆盖更多的受害者。

    图表7 赌博诈骗应用支持的最小SDK版本

    网络基础设施分析

    1. 目的:识别后端基础设施有助于了解移动诈骗应用程序的运作方式。

    2. 方法:通过静态分析器从诈骗应用程序中自动提取后端服务器的URL,并使用mitmproxy来分析它们的网络流量。

    3. 结论

      a. 为了避免服务被查封,部分APP动态更新后端服务器。如图表8(b)(c)所示,赌博诈骗应用程序利用分发器(池)作为反向代理,将前端事务分发给具有不同职能(如账户管理、赌博、提现等)的后端服务器。这样可以提高诈骗应用的健壮性,使得诈骗内容的传递更加难以捉摸。

    图表8 分发器模式下的赌博诈骗应用程序

    b. 超过55.1%的后端服务器在不到两年的时间内注册,12.2%的后端服务器在不到一个月的时间内注册。而分发器域名是在五年前注册的,说明此类中间分发器更稳定。

    c. 图表9展示了后端服务器的IP地址分布情况。虽然后端服务分布在102个AS,但大多数服务器都集中于特定的云服务。例如,排名前五的云服务商提供的服务被79.5%的赌博诈骗后端使用。

    图表9 目前流行的五个AS和每个AS的IP地址数量

      RQ3. 支付方式

    由于诈骗应用程序通常在显示支付细节之前嵌入多因素认证方法,例如CAPTCHA和推荐码,因此很难大规模自动提取支付渠道。本文手动调查了100个诈骗应用程序的支付方式:成功注册了92个赌博诈骗APP的账号,发现它们接受197种不同的支付渠道。

    每个应用平均包含2.14个付费选项。诈骗应用程序有时会禁用银行支付渠道,只启用加密货币和钱骡,可能是为了逃避银行的金融审查。大多数真实赌博应用只使用传统的支付渠道,如信用卡和电汇。

    钱骡(Money Mule):骗子招募一些钱骡,控制Idlefish应用程序的卖家和买家,来转移赌博存款。当受害者为账户提供资金进行赌博时,诈骗应用会触发一个任务,要求钱骡生成Idlefish上的虚假订单,然后返回好友代付链接(Peer Pay Link,如支付宝代付链接)。受害者不需要在IdleFish上注册,只需扫描该二维码付款。

    图表10 Money Mule交易流程图

    05【总结与建议】

    论文首次基于真实数据对移动赌博诈骗进行了实证研究,调查了移动赌博诈骗行为的生态链条。对1461个移动赌博诈骗事件报告进行定性分析,揭示了骗子常用的社会工程技术。此外,本文分析了赌博诈骗应用程序,包括它们的开发框架、声明的权限、兼容性和后端网络基础设施。研究表明公共应用生成器已被滥用于开发赌博诈骗应用程序。最后,研究赌博诈骗应用程序使用的支付渠道,发现了一种新型的基于钱骡的支付方式。

    针对移动赌博诈骗问题,作者建议:

    1. 部署聊天机器人来收集与此类诈骗活动相关的威胁情报(即应用程序下载链接),进一步增强对诈骗应用程序的检测能力。

    2. 加强对移动用户的教育,将有关社会工程技巧作为诈骗意识培训材料,包括骗子如何与受害者建立联系、推广诈骗应用程序、引诱受害者不断存钱,并解释赌博诈骗逻辑。

    原文链接‍‍‍‍

    https://ieeexplore.ieee.org/document/9833665/

    参考资源

    [1] SimilarWeb. https://www.similarweb.com/top-websites/gambling/

    [2] Tranco Rank List. https://tranco-list.eu/

    刘一静,编辑&审校 | 张明明‍‍‍‍‍‍‍

    声明:本文来自NISL实验室,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。