您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[华为]:鸿蒙生态应用安全技术白皮书V2.0 - 发现报告
当前位置:首页/行业研究/报告详情/

鸿蒙生态应用安全技术白皮书V2.0

信息技术2024-07-17华为单***
鸿蒙生态应用安全技术白皮书V2.0

V2.0 版权所有©华为终端有限公司2024。保留一切权利。 本材料所载内容受著作权法的保护,著作权由华为公司或其许可人拥有,但注明引用其他方的内容除外。未经华为公司或其许可人事先书面许可,任何人不得将本材料中的任何内容以任何方式进行复制、经销、翻印、播放、以超级链路连接或传送、存储于信息检索系统或者其他任何商业目的的使用。 商标声明 以上为华为公司的商标(非详尽清单),未经华为公司书面事先明示许可,任何第三方不得以任何形式使用。 注意 华为会不定期对本文档的内容进行更新。 本文档仅作为使用指导,文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。 华为终端有限公司 地址:广东省东莞市松山湖园区新城路2号网址:https://consumer.huawei.com CONTENT O1前言 O2鸿蒙应用生态安全模型 O3 应用安全面临的问题与挑战 1)诱导用户下载安装恶意应用7 2)窃取用户数据8 3)强制推送广告9 4)利用漏洞攻击其他应用程序9 5)盗版软件10 O4鸿蒙应用生态的安全目标 O5 应用开发安全 1)开发者注册和实名认证16 2)申请开发者证书17 3)申请应用Profile文件18 4)代码安全检查19 5)代码混淆20 O6 应用发布安全 1)应用检测与审核22 2)应用加密25 3)应用签名25 O7 应用运行生命周期安全 1)基础安全架构模型29 2)基础安全防护31 3)应用权限管控33 4)隐私控制设计35 5)用户身份认证38 6)应用数据保护39 7)应用运行时安全检测44 8)应用风险行为管控45 9)应用扩展管理46 O8鸿蒙为金融应用提供的安全能力 1)本地身份认证48 2)免密认证50 3)支付应用的凭据保护的同步54 4)基于国密算法的密钥管理能力57 5)提供设备级风控数据58 6)可信位置信息和人脸图像60 7)防止虚假设备62 8)防范对支付界面的威胁64 O9展望 Chapter1 前言 随着移动互联网技术的飞速发展和电子设备的快速普及,各类应用程序呈现爆发式增长,应用程序已渗透到人们工作、生活的各个方面,应用程序的安全问题也日益凸显。 应用程序由开发者提供,经过多种途径分发到用户手中。开发者拥有技术知识和资源,能够创建应用程序,而用户则依赖于这些应用程序来满足自己的需求,同时,用户对应用程序的内部运行和数据处理方式了解有限,导致他们在使用过程中容易受到应用行为不受控、用户隐私泄露等问题的困扰。这种信息不对称,导致应用开发者与用户之间存在着不平衡关系。 生态构建者作为连接应用开发者与用户的纽带,在其中起着至关重要作用。生态构建者是指参与构建整个移动应用生态系统的实体,包括设备厂商、操作系统和应用商店等。他们为开发者提供开发环境、工具套件和市场渠道,同时也负责维护和改进生态系统的稳定性和安全性。生态构建者对于移动应用的成功和推广起着至关重要的作用,同时生态构建者还致力于推动用户教育,增强用户的数字素养和自我保护意识,使其能够更好地管理自己的数据和隐私。 本白皮书从行业应用安全的典型问题分析入手,给出鸿蒙应用生态构建的安全目标,进一步详细介绍了鸿蒙生态在应用全生命周期不同阶段的安全设计。 我们致力于建立一个健康、可持续发展的移动应用生态系统,把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界。 2 3 Chapter2 鸿蒙应用生态安全模型 围绕着各式各样的应用程序,用户、应用开发者和生态构建者三个角色共同组成了一个应用生态系统。在这个系统中,三个角色相互依存、相互影响。安全,是这个生态系统的一个重要属性,因为一旦其中任何一个角色出现安全问题,都可能会对整个生态系统造成严重的影响。 一个安全、干净的应用生态系统,需要以下三个角色共同努力才能达成: 用户在应用生态系统中是最终使用者,也是最重要的角色。用户的需求和反馈是应用开发者和生态构建者进行产品迭代和优化的重要依据。用户的体验和满意度直接影响着应用程序的市场表现和生态系统的健康发展。与此同时,用户在使用应用程序时,也有获取良好纯净体验、保护个人隐私的基本安全需求。 应用开发者是应用生态系统中的核心角色。他们通过开发应用程序来满足用户的需求,通过不断地优化和改进自己的产品,以满足用户需求和市场变化。同时,他们也需要确保其 4 应用程序不会对用户造成任何安全威胁。这包括确保应用程序满足用户个人隐私保护要求,并且没有漏洞、没有植入恶意代码,能够及时更新以修复任何安全漏洞。 生态构建者是应用生态系统中的组织者和推动者。他们通过建立生态平台、提供技术支持和资源整合等方式,为应用开发者和用户提供更好的服务和体验。同时,他们需要确保整个生态系统的安全性,只有保障了安全,才能让用户和应用开发者都放心地使用和开发应用程序。 首先,生态构建者需要考虑用户的安全需求。用户的安全需求包括个人信息的保护、支付安全、网络安全等。生态构建者需要在平台构建相应的安全机制,如加密技术、身份验证、等,开放给应用程序使用,以保护用户的安全与隐私。 其次,生态构建者还需要考虑应用开发者的安全需求。应用开发者需要保护自己的知识产权、代码安全等。生态构建者需要为应用开发者提供相应的安全保障,如应用加密、代码签名等,以保护应用开发者的权益。 最后,生态构建者还需要考虑整个生态系统的安全。生态系统中的每个应用程序都可能会影响整个生态系统的安全。生态构建者需要对应用程序进行安全审查,确保应用程序没有安全漏洞和恶意行为,不会对整个生态系统造成安全威胁。 当生态构建者不作为,或少作为时,就会产生一系列的应用安全问题。下面我们列举了一些典型的问题,并给出生态构建者面临的挑战。 5 6 Chapter3 应用安全面临的 问题与挑战 -1)诱导用户下载安装恶意应用 -2)窃取用户数据 -3)强制推送广告 -4)利用漏洞攻击其他应用程序 -5)盗版软件 从PC普及的时代,就开始存在病毒应用泛滥的问题,至今无法根除。PC作为一个办公效率设备,应用程序来源不归一,PC用户在日常使用过程中,常常因为下载软件或访问网站,导致用户计算机感染病毒应用。攻击者一般通过病毒应用破坏计算机系统可用性,配合其他社会工程学手段,达到获取利益的最终目的。 移动设备作为用户可随身携带的个人设备,用户每天使用时间更长,操作更频繁,也存储了更多的个人敏感信息,自然成为攻击者的目标。恶意应用一般在用户不知情的情况下安装在用户设备上,并在后台运行,执行恶意行为。这些恶意行为可能包括窃取用户的个人信息、监视用户的活动、强制推送广告等。 下面,我们对典型的应用作恶方式进行分析: 1)诱导用户下载安装恶意应用 为了给后续的恶意行为做铺垫,攻击者需要首先确保恶意应用的大量安装。因此,攻击者会想方设法将其开发的恶意应用分发到用户的设备上。 一般情况下,开发者可以通过官方应用分发平台,如华为的应用市场进行应用分发。官方的应用分发平台作为应用程序触达用户的第一道关卡,其运营者在应用程序上架时应做好审核管理工作。 然而,当系统内的应用下载安装不限制在官方的应用分发平台时,则给了攻击者可乘之机。攻击者会通过各种手段,如虚假广告、社交媒体、恶意链接等,诱导用户下载并安装应用。这些应用脱离监管,应用质量参差不齐,分发到用户设备上,会通过进一步的恶意行为来影响用户。 7 如何做好应用质量的监管,控制应用分发渠道,避免恶意应用分发到用户设备上,是生态构建者面临的第一个挑战。 2)窃取用户数据 用户数据是企业和组织的重要信息来源,可以用于市场营销、客户服务、产品开发等方面。攻击者可以通过窃取用户数据来获得经济利益,例如出售给黑市上的数据买家、进行身份盗窃、进行网络诈骗等。攻击者还可以利用用户数据进行勒索,例如勒索企业或个人支付赎金以避免数据泄露。攻击者还可以收集用户的浏览历史、位置信息、通讯录等数据,然后将这些数据出售给广告商。 为了窃取用户数据,攻击者开发的恶意应用在安装或运行时,要求用户授予不必要的权限,例如访问联系人、短信、相机、麦克风等,以便攻击者可以访问用户的个人信息。 对于大多数应用程序,在某些场景下获得用户数据有其必要性。生态构建者不能直接拒绝应用程序获得这些数据,但也不应该把是否提供数据的选择权,完全交给用户。开发者和用户之间天然的信息不对称,开发者拥有更多的技术知识和经验,而普通用户则相对缺乏安全认知和经验。攻击者作为一类特殊的开发者,会利用这种信息不对称,欺骗用户扩大授权范围。 如何提供安全的数据授权机制,避免用户过度授权造成的安全威胁,是生态构建者面临的第二个挑战。 8 3)强制推送广告 广告收入是恶意应用程序的主要收入来源。恶意应用通过提供部分功能获得用户的使用,然后通过提供广告媒介来实现牟利。恶意应用还会通过强制用户观看广告、弹出广告窗口、在应用程序中插入广告等方式来获取广告收入,包括虚假的赚钱机会、虚假的商品宣传等,不仅会影响用户的体验,还会对用户造成经济损失。 为了达到强制推送广告的目的,恶意应用首先利用系统提供的一些拉活保活机制提升自己的活跃时间。在存活状态下则利用系统通知、后台弹窗等系统机制来强制推送广告给用户,并且通过伪造关闭键、复写返回键等方式,避免用户关闭广告。这种恶意的广告推送行为,同时损害了多方利益,既影响用户正常使用设备和应用,又让用户对广告主产生抵触情绪。 保活拉活、系统通知、后台弹窗等,是系统提供的功能。生态构建者开放这些功能给应用程序使用的初衷,是为了让开发者可以给用户提供更好的用户体验。然而,这些功能被恶意应用使用后,反而给用户造成了很多困扰。 应该给应用程序开放什么系统功能,以及对于需要开放的系统功能如何做到不被恶意利用,是生态构建者面临的第三个挑战。 4)利用漏洞攻击其他应用程序 考虑到软件生态的复杂性、相互依赖性和外部威胁,在现实世界中,软件很难做到完全没有漏洞。软件生态中各种应用程序、操作系统、库文件、框架和其他软件组件,均由不同 9 的开发团队设计、开发和维护,涉及数百万行甚至更多的代码。即使软件交付过程中经过严格的测试和审查,仍然可能存在未被察觉的漏洞。 在应用程序的开发过程中,人为错误,设计缺陷和逻辑错误等问题,都可能导致潜在的漏洞存在。攻击者出于自身利益的考虑,会不断寻找软件弱点,一旦攻击者找到漏洞,就会进一步利用漏洞,通过制造缓冲区溢出、注入恶意代码等方式,改变应用程序原本行为,控制程序作恶达到攻击者的目的。 从用户角度,一旦发现应用程序中存在恶意行为,从现象上只能得出应用程序作恶的结论,无从知晓恶意行为是出于应用程序本意,还是由于应用程序被攻击。这些攻击既损害用户利益,又让应用开发者的信誉受损。 如何帮助应用程序最小程度地受到漏洞影响,是生态构建者面临的第四个挑战。 5)盗版软件 盗版软件横行是一个广泛长期存在的问题。随着技术的发展和互联网的普及,盗版软件已经成为了全球范围内的一种威胁。免费获取付费软件的诱惑以及经济利益的驱使,使得盗版软件的大量传播和使用。 盗版软件主要是通过仿冒应用程序或重新打包应用程序产生的。盗版软件带来了诸多负面影响。 首先,它侵犯了软件开发者的知识产权,剥夺了他们应有的利益和回报。这不仅会降低软件开发者的积极性和创造力,也可能限制了软件行业的发展和创新。 10 其次,盗版软件有潜在的安全风险。盗版软件通常通过篡改或注入恶意代码,给用户设备和个人信息带来潜在的威胁。用户下载和使用这些软件时很难得知其中是否隐藏恶意程序,从而对个人隐私和信息安全构成严重威胁。 最后,盗版软件也不利于合法软件市场的健康发展。免费盗版软件降低了用户对正版软件的需求,使得合法软件市场受到冲击。这不仅影响了软件开发者和厂商的利益,也限制了软件行业的繁荣和创新。 要彻底解决盗版软件问题,一方面需要政府加强知识产权保护力度,完善相关法律法规,加大对盗版软件的打击力度,另一方面,也

你可能感兴趣

hot

鸿蒙生态应用开发白皮书V2.0

信息技术
华为2023-08-26
hot

区块链技术与金融应用安全白皮书

信息技术
浙商银行&浙江大学2022-05-30