SDK 是 SoftwareDevelopment Kit的缩写,即“软件开发工具包”。简单来说,它是辅助开发移动应用软件(APP)的相关文档、范例和工具的集合。对 App 开发者来说,为了提高开发效率、降低成本,可以将某项功能交给第三方来开发,第三方服务提供商将服务封装为工具包(即SDK)供App开发者使用。现如今,App开发者使用第三方SDK已经成为普遍现象。然而,第三方SDK自身存在的安全漏洞,以及隐瞒收集个人信息等问题,使得其安全现状不容乐观,需要引起各方重视。
一、App使用第三方SDK现状
近年来,我国智能手机普及率持续攀升。据美国媒体机构Zenith发布的最新研究报告预测,中国智能手机用户数量将位居全球第一,达到13亿。庞大的智能手机用户群体托起了我国繁荣的移动应用软件(App)市场,以及为App提供信息推送、广告分发、数据分析、地图导航等功能的第三方SDK服务市场。
(一)第三方SDK的主要类型
目前,最常见、使用最多的SDK类型包括第三方登录分享类、支付类、推送类、广告类和数据统计分析类。前两种类型相对好理解,下面主要介绍后三种SDK类型的情况:
1、推送类SDK
App开发者可以使用推送类SDK及时地向其用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验。目前,主流的推送类SDK包括:百度云推送、腾讯信鸽推送、极光推送、个推推送、友盟推送、智游推送、华为推送、小米推送、魔桥推送、盛大云推送等。同时,推送类SDK普遍运用于各个领域的App,包括:资讯阅读类、社交交友类、金融理财类、视频影音类、生活服务类、电商购物类、工作效率类、游戏娱乐类、物联网类等。
2、广告类SDK
据《中国互联网发展报告2018》显示,2019年网络广告市场规模将破6000亿。随着移动广告红利时代的到来,越来越多的App开发者开始使用广告类SDK,而广告类SDK对各类广告形式的支持情况也成为影响App开发者收入的关键因素之一。目前,国内市场上提供广告类SDK的企业有很多家,主流的有多盟、TalkingData、力美、有米、InMobi、友盟、哇棒、安沃、Igexin、airAD、微云、百度广告等。广告类SDK主要运用于电商类、社交类、游戏类、美妆类App。
3、数据统计分析类SDK
数据统计分析类SDK可以帮助App开发商统计和分析流量来源、内容使用、用户属性和行为数据,以便开发商利用数据进行产品、运营、推广策略的决策。因此,越来越多的App开始使用数据统计分析类SDK。据腾讯安全反诈骗实验室发布《网络安全新常态下Android应用供应链安全探秘》报告指出,数据统计分析类SDK 集成比例最高。目前,主流的数据统计分析类SDK包括:友盟、海度云、谷歌Analytics、Appsee、360SDK、贵士移动等。数据统计分析类SDK主要运用于金融类、电商类、教育类、出行类、社交类、新闻资讯类App。
(二)第三方SDK应用现状
考虑时间、成本等因素,App开发者使用第三方SDK已成为普遍现象。中国专业IT社区CSDN相关专业人士对15个类别、1000多款主流App使用第三方SDK的统计分析结果显示,App使用最为广泛的第三方SDK类型为第三方登录分享类、推送类、数据统计类SDK,以及一些基础库(例如:GSON、OkHttp、EventBus等)。如图1所示,广大网友最普遍使用的8类App(实用工具类、影音视听类、聊天社交类、时尚购物类、旅行交通类、新闻资讯类、金融理财类、图书阅读类)中,平均使用最多的10个SDK分别是微信登录分享、GSON、友盟统计、QQ登录分享、微博登录分享、小米推送、支付宝、OkHttp、org.json等。
图1 平均使用最多的10个SDK统计图
如图2所示,在15个APP类型中,体育运动类、医疗健康类、时尚购物类App平均使用第三方SDK数量位列前三,分别为30.6、30.5和28.6个。
图2 App中使用第三方SDK的数量分布图
二、第三方SDK安全问题分析
由于第三方的SDK开发侧重于功能性的完善,在安全性方面的投入较少,导致App开发者使用第三方SDK存在多种安全问题。
(一)隐瞒收集用户个人信息
近年来,涉及第三方SDK隐瞒收集个人信息的安全事件逐渐增多,例如:今年上半年,中国某科技企业被曝光利用SDK隐瞒收集用户联系人信息、QQ登录信息、位置信息等;Facebook被曝光在未告知用户的情况下,利用App Events统计分析工具从11个应用程序中收集用户敏感信息。我院通过对App嵌入的第三方SDK进行检测也发现,有些第三方SDK能够收集个人信息标识、行动轨迹、个人偏好、网络设备信息等,并上传至远程服务器,甚至是境外服务器。同时,卡巴斯基实验室研究人员也曾公开表示,目前使用广告推送SDK的应用程序总数已达到几十亿,其中大多数会以明文方式向服务器传输个人信息(包括:姓名、年龄、性别、电话号码、邮箱地址、位置信息、唯一设备标识码等)。这些个人信息在个人信息控制者、单个或多个第三方之间流动,增加了个人信息泄露、滥用的安全风险,同时降低了个人信息主体对其个人信息的控制能力。
(二)SDK借助合法App执行恶意操作
为了谋取经济利益,部分恶意开发者渗入到SDK开发环节,以提供第三方服务的方式吸引App开发者来使用他们的SDK。这些恶意SDK借助合法应用可以有效地躲避一部分应用市场和安全厂商的检测。恶意开发者能够利用后门对用户手机进行远程静默安装应用、静默添加联系人、获取用户隐私信息等。2018年4月,腾讯安全反诈骗实验室的TRP-AI反病毒引擎捕获到一个恶意推送信息的软件开发工具包(SDK)——“寄生推”,它通过预留的“后门”云控开启恶意功能,私自Root用户设备并植入恶意模块,进行恶意广告行为和应用推广,以实现牟取灰色收益。300多款知名App遭遇“寄生推”的病毒感染,其中不乏用户超过千万的巨量级软件,潜在影响用户超2000万。
(三)第三方SDK自身安全性令人堪忧
目前,绝大部分第三方SDK缺乏安全审核环节,造成代码存有未知安全漏洞。目前,已经发现的SDK安全漏洞包括HTTP误用,SSL/TLS不正确配置、敏感权限滥用、通过日志造成信息泄露等。而近两年,FFmpeg、SQLite、pdfium、个信SDK、Chrome内核等SDK已经被曝光存在安全漏洞,由于这些第三方SDK被广泛使用到大量App中,漏洞的造成影响范围非常大。例如,2017年12月,国内消息推送厂商友盟SDK被披露存在可越权调用未导出组件的漏洞,利用该漏洞便可实现对使用了友盟SDK的应用进行多种恶意攻击。据悉,友盟SDK漏洞共影响了七千多款App。
三、对策建议
当前,各类APP全天候深度参与广大用户生产生活,嵌入其中的SDK也随之获得了获取用户个人信息的渠道,掌握的数据量庞大,而其作为第三方的角色使得数据流向更加多样化,潜在安全风险不容忽视。然而,目前从法规及监管的管辖对象来看,多侧重于对网络运营者的规制,并非所有SDK开发者均在监管范围内,在一定程度上部分SDK处在法律和监管的真空地带。建议政府部门高度重视,将SDK纳入监管范围,从法律和政策层面进行规范和引导。同时,考虑到SDK应用体量大、问题发现困难和技术检测复杂的特点,建议充分调动各界力量,形成“政府规制、社会监督、企业履责”监督机制,共同营造良好安全生态。
(一)加快推进SDK安全系列标准研制
建议尽快启动SDK安全系列标准研究,围绕SDK的自身安全性、数据安全和个人信息保护等方面的问题,加快研制相关标准规范、操作指引,指导App开发者规范使用第三方SDK,引导SDK开发者提升SDK自身安全水平,降低App使用第三方SDK的安全风险。
(二)加强第三方SDK安全监管
建议政府部门采取全网监测、不定期抽查等方式,对于媒体曝光、社会披露、监督检查中发现存在违法违规行为或安全隐患的第三方SDK,经验证核实无误的,定期向社会通报违法违规第三方SDK名单。
(三)开展第三方SDK行业自律
建议相关行业协会或社会组织可以主动发挥行业自律平台作用,推动各利益相关方共同制定第三方SDK安全准则、收集使用个人信息行为准则等,推广宣传相关最佳实践,带动提升第三方SDK整体安全水平。
(撰稿人:中国信息通信研究院安全所 王然 陈湉 秦博阳)
声明:本文来自App个人信息举报,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。