本概述介绍了华为鸿蒙系统(HarmonyOS)的发展与采用以及相关的安全解决方案Safety Detect,强调了该方法的一些局限性。随着欧盟《数字市场法》等法规强制使用替代应用商店,华为安全功能对华为AppGallery应用商店和生态系统的依赖将成为开发者的问题。我们还比较了华为HarmonyOS Safety Detect与Approov提供的全面移动安全。
鸿蒙系统于2019年推出,最初作为物联网设备的操作系统,后来适配于智能手机和其他硬件。华为的目标是提供跨可穿戴设备、平板电脑、智能手机和智能电视的统一体验。
2020年9月,华为推出乐鸿蒙 2.0,并在2021年进行推广。2022年,华为推出了鸿蒙 3 (HarmonyOS 3),提高了智能手机、平板电脑、打印机、汽车和电视等多个设备的体验。第四版于2023年发布。
最初,鸿蒙系统兼容Android,但在2024年初,华为推出了HarmonyOS Next,声称整个栈不再依赖Android,并且内核性能优于Android。
生态系统的采用至关重要,这也似乎在进行中。华为表示正培训数百万开发者,并声称已经获得数千个原生应用在该操作系统上运行,其中包括一些中国最流行的应用。
华为还创建了一个“开放”版本的HarmonyOS Next,供第三方使用该操作系统来驱动自己的设备。如果成功,这可能会成为Android/iOS双寡头之外的可行替代方案。
华为的复兴智能手机系列定位为中国买家的爱国替代品,在中国市场取得了显著渗透率。它在其他市场也获得了显著的市场份额,鸿蒙系统已经成为市场份额第三大的移动操作系统。
对于有全球雄心的应用开发者来说,支持鸿蒙系统越来越像是一个必需条件。
移动应用面临两个基本问题:首先,即使尝试混淆代码,应用也可以被逆向工程。其次,应用运行在客户端环境中,应用所有者既不拥有也不控制该环境。
这意味着,除非采取措施,否则应用本身可以被分析、理解、克隆或复制,它们运行的环境可以被黑客入侵、root、工具化和操控,从而干扰应用的运行。
利用这些攻击面,黑客可以直接拦截或篡改应用与服务器之间传输的数据,拦截或操控金融交易,或者干扰甚至停止服务的运行。
被操控的应用可以被重新打包并重新分发含有恶意软件的版本。重新打包的应用可以变成自动化工具(即机器人)用于攻击API和后端服务器。秘密也可以从应用中提取出来,然后在脚本中使用以创建机器人。坏人利用这些技术进行暴力攻击,利用API漏洞窃取数据,或发起DDoS攻击。
因此,防止应用和设备被篡改必须是任何旨在保护移动应用的安全策略的核心。然而,这只是整个故事的一部分,如下所述。应用和设备认证是拼图的一部分,但自身并不充分。
华为的Safety Detect于2019年作为华为移动服务(HMS)核心的一部分正式推出,旨在为应用开发者提供一系列安全功能。华为的设备检查SysIntegrity在API和认证过程方面与Android的SafetyNet非常相似。
发布时间表包括多年来的几个更新和增强:
此外,应用上架华为AppGallery需要开发者进行全面验证,华为会检查恶意软件、恶意代码和其他问题,确保应用在发布前没有问题。
HMS核心Safety Detect套件旨在提供安全功能,使开发者能够专注于应用开发。它是一个多功能的安全检测服务,使用华为手机上的可信执行环境(TEE)。
此外,如果你的应用需要上架AppGallery,它必须通过一系列验证测试,检查是否存在恶意软件和其他威胁。华为使用数字证书(.cer格式)和配置文件(.p7b格式)等签名信息确保应用完整性。
目前,Safety Detect提供四个功能:SysIntegrity(系统完整性检查)、UserDetect(假用户检测)、AppsCheck(应用安全检查)和URLCheck(恶意URL检查)。
SysIntegrity可以检查用户设备是否已root、解锁或具有升级权限,从而帮助开发者评估是否限制应用行为,以避免在用户进行在线支付或发送电子邮件等操作期间的信息泄漏或财务损失。TEE允许集成SysIntegrity的应用在隔离环境中运行。
UserDetect可以根据屏幕触摸和传感器行为识别假用户,并通过使用验证码防止批量注册、凭据填充攻击、奖励狩猎和内容爬虫。
AppsCheck旨在提供防病毒保护。它可以获取用户设备上的恶意应用列表。开发者可以评估风险并警告用户,或者提示用户退出应用。
为了提供安全的互联网浏览体验,URLCheck允许应用快速检查用户要访问的URL是否为恶意URL。
第五个API Wifi Detect旨在检测来自恶意Wi-Fi的攻击,但目前仅在中国大陆可用。
你需要将核心HMS SDK集成到你的应用中,并在应用代码中为每项服务设置API调用——SysIntegrity、AppsCheck、URLCheck和UserDetect。你的应用解释返回的结果并决定采取什么行动。
Safety Detect仅限于华为生态系统。此外,它不提供运行时应用认证,接下来我们还会看到华为Harmony Safety Detect在设备完整性检查方面的一些局限性。要使其有效,它必须成为更广泛安全努力的一部分。
例如,如果我们使用OWASP MASVS(移动应用安全验证标准)框架来评估端到端移动应用安全性,华为Harmony Safety Detect部分符合MASVS-RESILIENCE类别中的指南,这只是指南中的七个类别之一。MASVS-RESILIENCE旨在确保应用运行在受信任的平台上,防止运行时篡改,并确保应用预期功能的完整性。
特别需要注意以下两点:
现在我们了解了范围,接下来具体看一下华为提供的应用认证和设备完整性检查,并将其与Approov移动安全进行比较。
与Google PlayIntegrity一样,内部工作细节没有披露,如何解释结果的信息也有限。这种缺乏细粒度和检查内容的可见性可能是一个问题。
华为HarmonyOS Safety Detect为移动应用提供了一套安全功能,特别是在华为生态系统内。然而,其在集成、区域适用性、对华为基础设施的依赖、潜在隐私问题、性能影响和偶尔检测不准确方面的局限性必须由开发者仔细考虑和解决,以确保应用安全性强大和可靠。
Approov移动应用保护确保所有移动API流量确实来自真实且未篡改的移动应用,在安全的环境中运行。这样可以阻止所有脚本、机器人和修改或重新打包的移动应用滥用API。Approov支持在Android、iOS、WatchOS和鸿蒙系统上运行的任何应用,提供全面且强大的安全性,并在所有支持的平台上轻松一致地管理。