第三方数据未拉取无法出款 SDK恶意行为常见类型及法律责任分析
专栏
活动
快讯
产品
解读
崔若男|某头部互联网平台公司法务
APP功能实现少不了SDK的参与,恶意SDK开发者趁机将恶意代码、恶意功能隐藏在APP中,或将恶意SDK包装成合法SDK,对用户权益、数据等方面造成严重威胁。什么是SDK、SDK恶意行为有哪些,一起来了解一下。
一、什么是SDK
SDK概念
SDK,即 Tool Kit缩写,又称“软件开发工具包”,是用于特定平台的软件构建工具,是辅助开发某一类软件的相关文档、范例和工具的集合,简单来说就是将一些通用的软件功能标准化、模块化地开发好,让各类APP或者网站可以即插即用。
图1:如何获取第三方SDK
常见SDK分类
较为常见的SDK类别有广告类、推送类、地图类、第三方登录类、社交类、支付类、语音识别类等,这些SDK能够为用户以及APP开发者实现很多常见的功能。
为什么要使用第三方SDK
SDK是实现APP复合功能的必要控件,为什么很多APP开发者选择使用第三方SDK,而不是选择自己开发相应产品功能,主要原因有两个:
1、术业有专攻
部分专业模块的开发对于对研发能力有非常高的要求,例如地图SDK、支付SDK等,专业的事情最好交给专业的人做。比如,我们很难要求游戏开发团队去进行支付功能模块的开发,这其中一般存在比较高的技术壁垒。
2、节省人力物力
SDK开发者将实现特定功能的代码进行封装,并提供简单的调用接口,APP开发者只要通过集成SDK的方式,就可以像安装积木一样,在该APP中引入SDK相关功能,实现相关服务,而不需要另行组建研发团队、开发排期,这就为APP开发者节省了大量的人力和时间成本。
中国信通院与腾讯公司联合发布的《软件开发包(SDK)安全研究报告(2021年)》提到,超3万款第三方SDK已被100款以上APP集成。根据工信部《2021年上半年互联网和相关服务业运行情况》数据,截至2021年6月底,国内一款APP平均集成超过20款SDK。由此可见,集成第三方SDK已经成为APP开发大势。
二、SDK恶意行为有哪些
什么是SDK恶意行为
SDK恶意行为即指嵌入APP中的SDK自身产生的恶意行为,这种恶意行为将破坏使用SDK的APP的安全性,对用户权益、数据等方面造成严重威胁。这些存在恶意行为的SDK通常来自非官方渠道,或者SDK本身就以黑灰产业获利为最终目的。
为什么会有SDK恶意行为
SDK单独无法发挥功能,其功能的实现往往需要以APP为依托,并通过APP的行为方式表现出来。大多数第三方SDK实际是第三方服务商提供服务的“客户端”,当应用软件调用SDK提供相关服务时,SDK往往需要将相关信息与该第三方服务商服务器进行远程交互,而整个交互过程在APP开发者看来实际是一个“黑盒”,并且他们往往只关注SDK的功能实现,而忽视SDK内部可能存在的种种问题。因此,黑灰产团伙得以利用SDK的“黑盒”属性,从而不断研发专门用于恶意行为的SDK或者在正常SDK中嵌入木马病毒来实施恶意行为进行非法牟利。
图2:SDK使用示意图
SDK恶意行为有哪些
1、流量劫持行为
SDK流量劫持是指SDK信息拉取、上报和展示目标与APP提供者设定的目标不同,恶意劫持APP流量,可能对APP造成损害的行为。从作为广告主的APP开发者或者网站所有人的角度看来,体现为其原定的展示机会或目标被恶意剥夺或篡改。
一款集成各分享SDK接口的某集成SDK能够同时实现微信、微博等社交平台的分享功能。然而在用户将相应推广页分享到社交平台之后,广告主的推广分享页悄然变成了其他第三方的推广分享页,这就与广告主最初拉新、促活的商业目标完全背离,耗费不菲的广告费用最终却完全“为他人做嫁衣裳”。
图3:SDK广告流量劫持
2、资费消耗行为
1)消耗流量、电费
恶意SDK通过诱导用户下载、安装不法应用软件等方式,从而消耗用户网络套餐资费、电量,造成用户的资金损失。
东方网2022年5月报道广州大学生李某可能因误点广告、推送,在其手机下载了一个以匿名、图标透明的方式在其手机后台偷偷运行的空白应用程序。该程序运行期间,李某发现其手机电量消耗异常快,一个月30G的流量只能使用半个月。经手机品牌店功能人员查看,该程序只能在手机应用管理平台查看而无法在手机桌面看到,且该程序一直处于运行状态,只能通过刷机的方式卸载[1]。
图4:空白程序在默默运行
2)消耗话费
恶意SDK还会在用户终端静默发送业务定制短信、业务付费短信,拦截并删除相关确认短信,造成用户话费损失,或者恶意SDK能够自行在模拟环境中,模拟点击电信服务商的扣费接口并自动进行验证,并拦截扣费的回执短信,让用户无法对扣费行为进行感知。有的恶意SDK为了不让用户发现自己被扣费,甚至会自动回复运营发送的扣费二次确认短信。
3、隐私窃取行为
隐私窃取行为主要指恶意SDK在用户不知情或误导用户的情况下,隐蔽窃取用户的通讯录、短信息等个人敏感信息,隐蔽进行拍照、录音等敏感行为,并发送给恶意SDK开发者以方便其进行不法牟利的行为。
2020年的3·15晚会重磅爆出上海氪信信息技术有限公司和北京招彩旺旺信息技术有限公司的SDK插件,在检测构成中被发现,其未经用户同意,收集用户的联系人、短信(明文)、位置等等涉及用户隐私的个人敏感信息,并将其传送至指定的服务器进行存储,以待后续非法使用或者转卖[2]。而这些SDK嵌入了不同领域的多个手机软件,随着手机软件的分发,因此遭受相关侵害的用户体量非常大,影响亦非常广泛。
图5:用户短信被明文传输
4、静默下载安装
静默安装是指未经用户同意、不经弹出安装页面即以用户无法察觉的方式在智能终端后台暗中下载并安装其它恶意软件或病毒木马的行为。主要实现方式有两种:
手机厂商自行预装SDK(例如通过预装APP方式),而该SDK具备静默下载安装功能;
该恶意SDK可以获取手机Root权限(即“超级管理员权限”)实现静默下载安装。
5、广告刷量行为
广告刷量实际是广告欺诈行为的一种,所形成的“流量”为虚假流量。恶意SDK的广告刷量行为主要体现为控制用户设备作为“肉鸡”模拟人工点击广告链接、访问网站、进行应用推广等行为。
这些刷量所形成的流量实际属于虚假流量,也被称为“黑流量”,广告主在承担高额的广告费的同时却无法获得真实的广告效果,也无法从广告流量中作出正确的商业判断,为自身品牌和经济利益带来长久负面影响。
《2020中国移动广告反欺诈白皮书》称,2020年广告主因移动广告欺诈导致的损失约为180亿人民币。这一数字比2019年预估的200亿减少了10%,但整体损失规模仍然惊人,且黑产有涌向直播和短视频等热门领域的趋势[3]。
6、恶意广告行为
恶意广告行为的“恶意”定义可以从两个方面进行理解:
内容恶意。即广告链接中的内容包含欺诈内容、病毒木马。
行为恶意。即SDK违反用户意愿进行频繁推送广告、强制推送广告等严重影响用户正常使用APP的“流氓”行为。甚至,部分恶意SDK开发者通过技术手段将恶意广告行为进行了升级:
a.在未告知用户、未经用户同意下,通过监听用户相应解锁动作推送正常的广告;
b.通过正常广告的关闭按钮触发二次广告推送,违背用户意愿强制向用户二次推送广告,严重影响了用户的正常体验;
c.在触发二次广告推送的情况下,仍未为用户设置关闭功能按钮或者设置虚假关闭功能按钮,强制用户继续观看。
7、其他恶意行为
除了前述几种常见SDK恶意行为之外,还有几种发生情况相对较少、但依然极具危害性的恶意行为,分别是远程控制、剪切板劫持、挖矿和勒索行为。
远程控制系指恶意SDK在手机端启动本地后台服务器,接收远程控制端发来的控制指令,隐蔽进行上述其他恶意行为。
SDK勒索是指包含勒索病毒的SDK恶意加密用户手机中的文件,干扰用户对手机的正常使用,并以恢复正常使用为由向用户勒索钱财。
“挖矿”是指虚拟货币的生产及过程。“挖矿”需要“矿机”、“挖矿”软件以及比特币地址,并且对网络算力的要求比较高。黑灰产团伙通过其控制的成千上万的“矿机”进行“挖矿”,并以此攫取巨大经济利益,却对用户的手机性能造成了不可逆转的损害。
虽然上文对SDK各种恶意行为进行了分别说明,但事实上,SDK恶意行为往往并不是单独发生的,而是一环扣一环,层层推进,并最终利用获取的用户隐私信息、用户资费、广告流量等获取不法收益。2018年发生的“寄生推”恶意SDK案件,就是恶意SDK同时进行多种恶意行为的典型案例。腾讯安全反诈骗实验室病毒引擎捕获到一个恶意推送信息的SDK—“寄生推”,其通过后门云控方式开启恶意功能,再通过前述预留的“后门”,动态更新和下发恶意代码包,通过获取用户手机Root权限,植入恶意应用到设备的系统目录、开启静默安装功能,进而通过恶意广告行为和应用推广牟取灰色收益。“寄生推”总共涉及300多款手机应用,影响了近两千万用户,数十万被感染用户设备内被植入恶意子包,给用户造成了极大伤害,多款百万用户量级的应用APP的声誉也因此受到巨大影响。
图6:寄生推SDK恶意行为示意图
三、恶意行为如何
根据恶意SDK行为的不同表现形式以及所侵犯的法益,对SDK的恶意行为规制散见在民事、行政、刑事各个领域的条文之中。
行政监管
1、通报整改、下架处理
工信部会依法对市面上的SDK产品进行定期或者不定期审查,针对有前述恶意行为的SDK开发者,依据《网络安全法》[4]《移动智能终端应用软件预置和分发管理暂行规定》[5]等法律法规之规定发布整改通报、进行下架处理,并对前述SDK进行监督复查。
2、罚款、拘留
针对拒不改正的SDK开发者,主管机关还可依据《网络安全法》等相关规定对其处以五万元以上五十万元以下罚款甚至拘留处罚。
不正当竞争
《反不正当竞争法》第十二条“互联网专条”及第八条第二款也对部分SDK恶意行为进行了规制,主要是对流量劫持和广告刷量行为的规制。其中,流量劫持行为构成“未经其他经营者同意,在其合法提供的网络产品或者服务中,插入链接、强制进行目标跳转”之行为,而广告刷量行为则构成“其他妨碍、破坏其他经营者合法提供的网络产品或者服务正常运行”之行为。
如果恶意SDK研发商同时有组织他人进行广告刷量、帮助其他经营者进行广告刷量行为的,则构成帮助其他经营者进行虚假或者引人误解商业宣传的行为,违反《反不正当竞争法》第八条第二款之规定。
刑法规制
当SDK恶意行为同时具备“非法”、“控制”和“计算机信息系统”三大核心要素时,则有可能触犯非法控制计算机信息系统罪[6]。例如,在“一键达APK”[7]案件中,法院则围绕前述三大核心要素进行了较为集中的论述:
1、“非法”认定
基于恶意广告SDK及一键达APK的预装及和安装未经用户允许,二者的运行亦未取得用户授权,违反国家规定;
2、控制行为认定
行为人利用广告SDK和一键达APK等程序使用户手机执行了一系列操作:获取用户信息,自动上传、下载、删除数据,弹出广告、调用手机辅助功能自动模拟操作等等;
3、计算机信息系统认定
计算机信息系统是指具备自动处理数据功能的系统,包括计算机、网络设备、通信设备、自动化控制设备等,指的是设备整体,并非仅指其中的操作系统。因此,虽然涉案广告SDK行使的是手机程序的运行权,而非手机系统的控制权,依然对计算机信息系统造成侵犯。
四、合规建议
SDK已经是实现APP功能的重要环节,APP开发者以及SDK开发者都应当加强“自我修养”,从自身立场出发,对SDK严格进行合规审查。全国信息安全标准化技术委员会发布的《移动互联网应用程序(App)使用软件开发工具包(SDK)安全指引》(简称“安全指引”),则为APP开发者及SDK开发者提供了非常明确可行的合规建议,总结来说大致可归为如下内容:
APP开发者应当:
加强对第三方SDK的来源安全性、代码安全性、行为安全性的安全评估;
持续、定期、动态地及时更新SDK版本、及时修复漏洞、阻止SDK恶意行为;
在停止使用第三方SDK之后及时移除相关代码,并要求第三方SDK按照双方协议要求删除或匿名化处理其收集和处理的个人信息。
SDK开发者应当:
加强自身安全检测、安全漏洞修复、接口鉴权等安全评估;
提供独立功能模块,不得绑定不相关功能模块等;
持续、定期、动态地及时更新SDK版本、及时修复漏洞;
在与APP开发者结束相关合作之后按照双方协议要求删除或匿名化处理其收集和处理的个人信息。
结 语
随着APP开发者、应用商店、安全厂商、手机厂商在检测技术方面的不断提升、消费者安全意识的不断增强、以及相关部门的联合打击,相比前几年恶意SDK横行的光景,如今的应用及SDK插件市场已经相对清明,有关于SDK的安全和合规风险的探讨以及规制也会逐渐完善,对APP开发者、SDK开发者也将提出新的挑战。
注释:
[1] 参见《【提醒】快检查手机!这类软件在偷隐私偷流量》,,最后访问时间2022年7月17日。
[2] 参见《315晚会曝光SDK窃取个人隐私信息:涉及多款金融APP》,,最后访问时间2022年7月17日。
[3] 参见《2020中国移动广告反欺诈白皮书》,,最后访问时间2022年7月17日。
[4] 《网络安全法》第二十二条规定,网络产品、服务应当符合相关国家标准的强制性要求。网络产品、服务的提供者不得设置恶意程序;发现其网络产品、服务存在安全缺陷、漏洞等风险时,应当立即采取补救措施,按照规定及时告知用户并向有关主管部门报告。
《网络安全法》第二十七条规定,任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具;明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。
[5]《移动智能终端应用软件预置和分发管理暂行规定》第五条规定,生产企业和互联网信息服务提供者应依法依规提供移动智能终端应用软件,采取有效措施,维护网络安全,切实保护用户合法权益。(一)提供移动智能终端预置软件(以下简称预置软件)的生产企业和互联网信息服务提供者应自觉维护行业公平竞争,依法维护用户的知情权和选择权,不得实施破坏市场竞争秩序、侵犯用户合法权益的行为。(二)生产企业和互联网信息服务提供者所提供移动智能终端应用软件不得调用与所提供服务无关的终端功能、违法发送商业性电子信息;未经明示且经用户同意,不得实施收集使用用户个人信息、开启应用软件、捆绑推广其他应用软件等侵害用户合法权益或危害网络安全的行为。(三)为移动智能终端应用软件提供代收费的企业,应当采取必要措施,加强对计费、收费行为的管理,杜绝不明扣费;收费企业应对用户确认信息和计费原始数据至少保存5个月,并为用户查询提供方便。(四)生产企业应约束销售渠道,未经用户同意不得擅自在移动智能终端中安装应用软件,并提示用户终端在销售渠道等环节被装入应用软件的可能性、风险和应对措施。
[6] 《刑法》第二百八十五条【非法获取计算机信息系统数据、非法控制计算机信息系统罪】违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。
[7] 参见(2018)浙0428刑初574号刑事判决书。
本文作者
崔若男
某头部互联网平台公司法务
某头部互联网平台公司法务,从事法律工作5年。在直播、游戏、娱乐法等方面具有丰富的从业经验。
个人邮箱:
关于律商联讯
律商联讯是一家内容和技术解决方案提供商,帮助法律、企业、税务、学术和非营利性组织的工作人员作出知情决策,实现更好的业务成果。服务中国二十余年,律商联讯已经引进多个产品落地中国, 包括各类在线数据库,以及享有盛誉的进口原版图书,内容覆盖全球,数据超过60亿。同时,律商联讯与中国具有实务经验的专家团队合作,依靠自主创新技术及大数据分析,相继开发了律商网和律商实践指引系列产品。我们提供的不再只是查询法律的检索工具,而是贴近法律人士的实务工作流程,帮助其处理实务问题、撰写法律文书和法律检索的360度解决方案。
——