作者简介
常浩伦
中国信息通信研究院技术与标准研究所产业互联网研究部工程师,主要从事个人信息保护政策、标准研制方面的研究工作。
李鑫
中国信息通信研究院技术与标准研究所产业互联网研究部助理工程师,主要从事个人信息保护技术检测方面的研究工作。
臧磊
中国信息通信研究院技术与标准研究所副总工程师,高级工程师,主要从事个人信息保护、信息通信技术等方面的研究工作。
论文引用格式:
常浩伦, 李鑫, 臧磊. 软件开发工具包个人信息保护问题及检测手段[J]. 信息通信技术与政策, 2024, 50(1): 67-72.
软件开发工具包个人信息保护问题及检测手段
常浩伦 李鑫 臧磊
(中国信息通信研究院技术与标准研究所,北京 100191)
摘要:数字经济时代,我国移动互联网蓬勃发展,手机应用程序(Application Program,APP)、应用分发平台、小程序、软件开发工具包(Software Development Kit,SDK)等持续快速发展,也成为个人信息保护的关键领域。其中,SDK作为APP开发必不可少的功能模块,在为APP研发提供便利、促进产业繁荣发展的同时,也造成了一系列侵害用户权益的问题。为进一步加强SDK个人信息保护治理,我国SDK个人信息保护方面的政策法规、检测手段和管理模式不断完善。
关键词:软件开发工具包;个人信息保护;监管治理
0 引言
数字经济时代,我国移动互联网蓬勃发展,第三方软件开发工具包(Software Development Kit,SDK)为手机应用程序(Application Program,APP)开发提供成型的功能程序模块,让APP开发成本更便宜、迭代更迅速、功能更丰富[1-2]。目前,APP普遍集成、使用大量“即插即用”功能实现型SDK,用于定位、支付、社交、广告、信息推送等特定功能[3-4]。据笔者统计,截至2022年底,我国广泛应用的商业化运营SDK数量约900款,使用于几乎所有APP中,服务于数亿用户,是影响范围大、涉及面广的个人信息保护重要责任主体。
1 SDK产业发展现状
由于互联网市场更新迭代速度较快,开发者为缩短研发周期、提高APP迭代效率、降低开发成本,往往会根据自身业务选择接入各类型SDK。根据全国SDK管理服务平台的数据,用户常用的1万款主流应用中基本都接入使用了第三方SDK,平均每款APP接入约20款SDK,第三方SDK已成为APP开发和运营的必要工具。截至2022年底,SDK数量数千款,包括商业化运营SDK及开源SDK。随着SDK的使用范围越来越广,SDK行业蓬勃发展。
从SDK类型层面分析,目前框架类SDK数量最多,音视频类SDK逐渐成为市场热门。随着APP业务功能的不断发展,专业的SDK服务提供商凭借着自身核心业务优势,不再局限于提供框架服务、数据统计、广告、推送等基础服务,而是逐渐向其他服务类型扩展,进一步提供更全面的第三方SDK产品。如图1所示,随着短视频的兴起,以及图像、视频处理等技术的快速发展,实时音视频类SDK的数量逐渐超过统计类、广告类、推送类SDK,占比约14%;同时,随着短视频、电商等行业不断深入发展,越来越多的APP中内嵌了一定的短视频、电商功能,包含此类功能的平台服务类SDK发展速度较快,已经成为占比(7%)第四的SDK类型。
图1 主要类型SDK数量占比
2 SDK个人信息保护监管现状
目前,SDK已经通过APP这一载体渗透到用户日常生产和生活的方方面面,但在为APP运营开发者和用户提升效率和功能体验的同时,也成为侵犯用户隐私安全的新型重灾区[5-7]。SDK和APP一样具备收集使用个人信息的能力,但到底收集使用了哪些个人信息,APP和用户往往都难以感知。如果APP出现了侵权违规情形,不一定完全是因为APP自身的原因,还可能是由APP嵌入的第三方SDK所导致,因此治理APP侵权的同时也要求规范SDK。
在政策法规制定层面,《中华人民共和国个人信息保护法》(简称《个人信息保护法》)对个人信息处理者在处理个人信息的各个环节应当遵循的规则作出了详细要求,SDK作为个人信息处理者同样受到约束。同时,国家各个监管部门均对SDK个人信息保护提出了一系列细化政策、标准。2020年7月,中央网信办、工业和信息化部、公安部、国家市场监督管理总局四部门启动2020年APP违法违规收集使用个人信息治理工作[8],年度治理重点专门提到了对第三方SDK的治理。2021年3月,国家互联网信息办公室、工业和信息化部、公安部、国家市场监督管理总局联合制定了《常见类型移动互联网应用程序必要个人信息范围规定》[9],按照基本功能服务分类明确了移动互联网应用程序所需的必要信息。该规定对APP集成的SDK收集个人信息同样具有约束作用。2023年2月,工业和信息化部发布了《工业和信息化部关于进一步提升移动互联网应用服务能力的通知》[10],首次提出了专门针对SDK个人信息保护的具体要求,规范SDK应用服务。
在监管治理层面,2022年2月18日,工业和信息化部首次将SDK作为与APP并列的项目进行侵害用户权益通报,第三方检测机构检查结果显示,其中13款第三方SDK存在违规收集用户设备信息的行为。截至2023年11月,工业和信息化部累计开展12批次SDK侵害用户权益技术抽检,要求百余款SDK整改其侵害用户权益的行为。2022年3月,国家计算机病毒应急处理中心又通过互联网监测到1款SDK存在隐私不合规行为,表现为“隐私政策中未对个人信息处理者的基本情况进行描述”以及“未建立并公布个人信息安全投诉、举报渠道,或超过承诺处理回复时限”两个方面。就第三方SDK印发的侵犯用户个人信息的问题,虽然现行法律法规并未专门针对第三方SDK企业和APP开发运营者之间的法律责任进行规定,但根据《个人信息保护法》第二十条的规定,责任界定的关键在于由谁决定个人信息在处理活动中的目的和方式,当两者为共同的个人信息处理者时,第三方SDK企业需要依法承担连带责任。
3 SDK个人信息保护问题分析
3.1 SDK超范围收集个人信息问题分析
3.1.1 SDK未遵循最小必要原则,收集个人信息超出其功能所需
通过对SDK个人信息保护问题进行技术检测发现,当前SDK收集个人信息范围较大,最小必要原则落实不到位,部分个人信息处理行为与SDK功能服务并无直接关联,具体表现在以下3个方面。
在个人信息收集数量方面,SDK会收集大量敏感性较低的个人信息,如IP地址、手机型号、Wi-Fi名称等,并对上述信息进行关联融合,从而生成用户设备指纹,用以精准识别用户个人,导致匿名化或非身份性的信息仍然可以与其他要素结合在一起被识别出个人信息,匿名化要求也很难保护用户个人隐私权。
在个人信息收集精度方面,大部分SDK会超出业务所需收集用户高精度信息,尤以位置信息问题较为突出。虽然当前手机操作系统为开发者提供了精准位置和模糊位置两种选项,但根据检测数据,几乎全部SDK使用位置信息的相关功能或服务均会使用精度最高的GPS信息,并且难以按照服务所必需的最小频次处理位置信息,这就会将单纯的位置信息变成行程轨迹,提高了个人信息的敏感程度。
在个人信息收集频次方面,SDK往往超出处理目的高频次收集信息。部分SDK向用户提供用户画像分析、安全风控等功能,在功能设计过程中SDK会频繁地收集用户设备唯一识别码,用以标记用户每次点击、搜索、浏览等全部行为动作,并且在安全风控过程中会按照一定频次在后台对用户的相关个人信息进行收集、分析,造成收集个人信息的频率过高。
此外,在SDK向用户公示的隐私政策中,仅会向用户说明收集信息的单一且用户易于接受的目的,未向用户说明收集信息的具体频次、精度等情况,用户难以判断SDK收集其信息的目的及对之造成的全部影响。并且,部分SDK企业以“交叉补贴”的方式通过提供免费服务而获得个体同意来收集信息。在此情况下用户的拒绝权被实际架空,作出的同意也越来越成为一种形式主义,告知-同意原则也变得难以真正保护用户合法权益。
3.1.2 SDK捆绑功能服务,APP开发者无法拒绝非必要个人信息收集行为
SDK的主要作用是为APP开发者提供成型的功能程序模块,让APP开发成本更低、迭代更迅速、功能更丰富,主要是实现APP所需的定位、支付、社交、广告、信息推送等特定功能。SDK开发者在产品设计过程中为了降低产品开发难度、面向全部APP开展商业化运营,会将SDK开发为固化、定型的软件工具包,并且为了向不同类型的APP开发者提供更加全面、丰富的服务,会在SDK产品中增加更多的功能以满足各类APP开发者的使用需求。例如,在推送类SDK产品中,SDK企业会为APP开发者提供一款固定的SDK,并在该SDK中设计信息推送、个性化推荐、应用关联启动、合并链路、节约流量等各项功能,但未考虑不同APP的实际使用场景,也没有向APP开发者提供不同功能选择配置的选项。当APP开发者使用其SDK产品时,各项功能服务均会启动运行,并且按照其功能所需收集用户个人信息,这就导致在不同APP中SDK收集的个人信息有可能超出实际业务场景所需,最终导致使用该SDK的APP出现违规问题,尤其是中小APP开发者自身难以全面掌握SDK收集个人信息的实际情况,也难以推动SDK进行合规整改。SDK企业应当根据不同应用场景或用途,明确自身SDK产品的各项功能和对应的个人信息收集范围,同时向APP开发运营者提供各功能模块及个人信息收集的配置选项,便于APP开发运营者根据自身实际业务需要,按照最小必要原则使用SDK产品。
3.2 SDK加工使用个人信息问题分析
为了实施信息内容和广告的精准化推荐,SDK不可避免地需要收集用户的个人信息,通过对被收集个人信息的累积及分析,构造出较完整的用户画像,在此过程中也给用户带来了困扰、不安,引发寒蝉效应。用户极容易在不知情的情况下,被SDK企业记录个人在互联网上的活动。例如,SDK企业根据设备标识符将在众多APP中收集到的用户个人信息进行串联分析,形成精准的用户爱好、消费水平、居住地点等多维度信息,从而极可能关联、识别出用户个人,对用户个人信息安全和隐私保护带来极大隐患。
此外,部分SDK在隐私政策中没有详细描述使用用户什么信息进行分析,没有给出明确的用户拒绝方式。如仅描述为“我们可能与第三方以不能识别您和/或您的终端用户个人信息的方式(去标识化或匿名化)分享数据”,并且混淆去标识化和匿名化概念。实际上,去标识化但非匿名化的信息仍属于个人信息范畴,仍可能识别到用户个人。
3.3 SDK扩散个人信息问题分析
SDK行业的商业模式普遍为前端免费向APP开发者提供SDK功能服务,后端利用SDK在APP中所收集到的用户个人信息进行大数据分析,并利用数据分析结果实现价值变现。例如,SDK需要进行广告投放结算而获取设备标识符、需要进行地图导航而收集地理位置,多数SDK企业在实现服务的同时,会以此为数据基础进行挖掘分析,进一步向行业提供精准营销、金融风控、行业咨询等附加商业服务,造成用户、APP、SDK、其他第三方之间的信息流转链条十分复杂[11]。尤其是广告类SDK,经常在不同APP中传递信息,从而实现广告的精准投放,这也是用户经常反映的“自身在某一APP上浏览、购买产品,而其他APP会推送相关内容”的主要原因。用户对自身信息的流转情况不知情,容易造成恐慌。SDK企业应当自身或通过APP向用户告知相关情况,同时也要按照《个人信息保护法》要求提供个性化推荐、大数据分析的关闭选项。中小企业不具备对SDK的检测能力,SDK企业还需告知APP开发者自身是否存在个性化推荐功能,并提供关闭接口。SDK企业应当严格控制信息流转,进行统计分析时要对用户个人信息真正做到匿名化,而不仅是脱敏处理。
4 SDK个人信息保护检测管理手段研究
4.1 SDK检测技术研究
因SDK运行环境依赖于APP,运行期间APP与SDK同时运行,且均会产生个人信息收集行为及网络传输行为,传统的APP检测方式难以区分个人信息处理的主体是SDK还是APP本身。SDK个人信息保护技术检测需要针对SDK本身开展,才能实现在问题研判时不会产生干扰、混乱,从而确保检测结果的准确性、可靠性。然而,对SDK本身的技术检测过程需大量开发集成工作,人工参与工作量大。SDK作为一段代码本身无法直接运行,检测人员需对每款SDK进行开发集成,形成能够运行的应用软件才能开展相应测试工作。同时,SDK问题呈现更加复杂,检测结果提取难度增大。SDK可以在不同APP中根据用户授予权限的不同,表现出不同的行为动作,检测过程需要对SDK代码进行详细分析。在上述情形下,前期行业中缺乏成熟的SDK技术检测工具,发现SDK违法违规问题难[12],导致SDK的相关检测工作难以大面积开展。SDK个人信息保护技术检测需从以下两个方面开展。
一方面,建立SDK运行所必需的仿真运行环境。首先研发通用的APP外壳,将之作为SDK运行环境,具备统一的APP运行界面、APP后台处理服务、SDK接口调用方式等SDK检测必需的功能,对各个SDK产品进行预封装处理,使之能够快速接入检测仿真环境,并在真实手机中安装运行,从而大幅度降低时间成本,提升SDK个人信息保护检测效率。
另一方面,针对SDK的技术特点,搭建针对SDK运行特点的检测平台。通过动态行为监控沙箱,能够对SDK的个人信息保护水平进行全面检测。一是需提供SDK的静态信息自动解析、提取能力,能够提取SDK的代码全局关键字、敏感信息检索,可协助检测人员快速确定关键代码位置,并实现问题代码的快速定位。二是需具备SDK动态行为监控能力,可监测SDK对敏感数据的获取行为,具体监控对象达50余项,包括SDK读取设备标识码、电话号码、短信记录、通话记录、通讯录、传感器、日历、定位信息、系统属性等一系列数据的能力。三是需具备SDK网络传输行为监控能力,输出服务器域名、IP地址、域名备案信息、网络包的原文信息等。
4.2 SDK管理模式研究
目前,SDK无统一下载、分发平台等系统管理机制。通常SDK企业在其官网对外提供SDK产品下载、注册、付费、功能配置等服务,部分SDK产品甚至无线上对接渠道,而是通过销售人员线下沟通对接的方式提供服务。在当前管理模式下,SDK产品容易造成侵害用户权益的问题,同时也给监管带来一定挑战。一是SDK尚无上线审核流程,仅依靠企业自律行为对其SDK产品进行个人信息保护合规性审核,难以严格控制SDK产品的个人信息保护能力。单一SDK可能被成千上万款APP集成,一旦出现违规处理个人信息问题,其危害程度远超单个APP违规事件。二是为监管抽检获取带来困难,部分SDK未提供直接下载渠道,需通过企业资质验证、对公打款等商务沟通后,才能获取相应SDK产品以及SDK运行所需要的相关账号参数。这就导致在抽检过程中,部分抽检无法通过公开渠道获取,而模拟用户进行商务对接获取SDK样本的方式成本高、易暴露,为抽样检测带来困难。三是SDK开发者溯源困难。除商业化运行的SDK外,多数SDK主要是在开源社区上传分发,供APP开发者自由下载使用,这类SDK很难准确掌握其开发运营主体,甚至部分商业化运营的SDK产品也没有准确、明显地公示其开发运营主体。如果发现问题,要求SDK企业进行整改难以实际落实,为监管处理带来较大困难。
中国信息通信研究院牵头搭建了全国SDK管理服务平台,为SDK和APP开发运营者提供SDK政策标准发布、产品信息公示、监管问题处置、用户使用反馈等服务。截至2023年11月,该平台汇聚、登记了240余家企业的680余款SDK产品,覆盖行业近80%的主流产品,公开展示了SDK及其开发者的基本信息,包括SDK名称、版本号、主要功能、开发者、隐私政策、接入使用说明等个人信息保护关键要素。该平台在一定程度上解决了SDK样本获取困难的问题,同时也可以为APP开发者和SDK企业之间提供供需对接支持,方便APP开发者查找适合的SDK产品。
5 SDK个人信息保护监管建议
5.1 加大监管、治理力度
在SDK的监管、治理方面,需要将SDK个人信息保护的要求提升到与APP同等的层次,甚至对于头部SDK来说,他们的话语权可能比一些中小APP更大,其个人信息保护职责应当更加严格。具体来说可以从以下几方面入手。
一是提升对SDK个人信息保护的监管力度。强化对SDK自身在个人信息收集、使用、共享的全环节管理。在APP侵害用户权益专项治理基础上,持续对SDK侵害用户权益问题进行治理,对症下药、精准发力,切实解决SDK侵害用户权益问题。
二是监督、引导SDK企业充分赋予用户对个人信息被收集、使用的控制权。保障用户有机会详细掌握其信息的利用状况与流程,参与了解、掌握自身个人信息被收集后的全部走向,进一步赋予用户删除权。通过结合“告知-同意”模式再加上赋予用户查阅和删除权,真正让用户在使用APP及其内嵌的SDK服务过程中实现“信息自决”权利。
三是引导SDK企业根据收集的个人信息的敏感程度差异化强化保护。引导SDK企业设立 “风险评估”机制,对一般个人信息进行保护层级划分,在此基础上有选择地适用“告知-同意”模式。
四是引导SDK企业增强与APP开发者合作设计征得用户同意的页面的意识。现有的“告知-同意”模式是建立在APP开发者和个人信息主体之间的用户协议基础之上的,面对SDK的个人信息处理,用户自身往往没有选择的余地,应当通过合理的页面设计赋予用户选择控制权。
5.2 提升技术检测能力
结合前期APP个人信息保护治理经验以及下一步形势发展要求,进一步发挥技术优势,持续提升SDK治理效能。一方面,明确APP开发运营者、SDK企业之间的责任边界,制定相应的技术管控措施,构建“闭环治理”的机制。另一方面,联合产业优势力量,积极运用人工智能、大数据等新技术新手段,有力保障、持续优化、高效完善SDK技术检测平台。
5.3 完善行业自律生态
我国《个人信息保护法》规定,国家建立健全个人信息保护制度,预防和惩治侵害个人信息权益的行为,加强个人信息保护宣传教育,推动形成政府、企业、相关社会组织、公众共同参与个人信息保护的良好环境。个人信息保护治理工作是国家、社会、企业以及用户的共同责任,需要政府、行业、企业等多元主体共治、齐抓共管、群策群力、良性互动,从不同的角度发挥各自重要作用,共同营造良好发展环境,推动行业发展行稳致远。
6 结束语
SDK用户权益和个人信息保护工作已经成为社会关注的重点,也是APP个人信息保护治理的关键一环。本文对SDK个人信息保护问题进行了研究,结合SDK技术特点分析了SDK技术检测和监管机制。未来,对于SDK用户权益和个人信息保护的治理有赖于全行业各相关主体共同参与,推动电信和互联网行业高质量发展。
Information protection issues and detection methods in software development kit
CHANG Haolun, LI Xin, ZANG Lei
(Technology and Standards Research Institute, China Academy of Information and Communications Technology, Beijing 100191, China)
Abstract: In the era of digital economy, China’s mobile Internet is booming. Apps, application distribution platforms, applets, software development kit (SDK) and others continue to develop rapidly and have also become key areas of personal information protection. Among them, SDK, as an essential functional module for app development, not only provides convenience for app development and promotes industrial prosperity, but also causes a series of issues that infringe on user rights. This article summarizes China’s policies and regulations on SDK personal information protection. It analyzes the personal information protection issues and harm caused by the current SDK, and proposes the detection methods and the regulatory governance model.
Keywords: software development kit; personal information protection; regulatory governance
本文刊于《信息通信技术与政策》2024年 第1期
声明:本文来自信息通信技术与政策,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。