![在南京,我们聊了聊鸿蒙原生应用安全的“冰与火之歌” 在南京,我们聊了聊鸿蒙原生应用安全的冰与火之歌]()
4 月 25 日,华为鸿蒙系统安全能力峰会在南京举行,网易易盾加固技术负责人赵贝贝受邀出席,并就鸿蒙应用安全问题与参会者进行了深度分享。
作为全球首个面向全场景的分布式操作系统,HarmonyOS 凭借其微内核架构与多重签名机制,构建了强大的系统级安全防线。
然而,随着鸿蒙原生应用开发热潮的兴起,应用层的安全短板逐渐浮出水面,并成为亟待解决的问题。
在代码层面,鸿蒙原生应用的 abc 文件和 so 文件均面临被反编译的严峻挑战。
abc 文件的反编译过程复杂且风险重重,攻击者通过对于目前abc格式文件的反编译以及so文件反编译获取里面的关键代码逻辑进行修改。
字节码会经过一系列转换,从字节码到原始 IR,再到低级 IR、中级 IR,最终转为高级 IR 及伪代码。这一过程中,代码逻辑极易被分析和暴露,关键代码逻辑甚至可能被恶意获取并篡改。
而so文件的反编译问题同样不容忽视,部分大型应用或游戏开发者仅对 abc 文件进行了加密,却忽略了 so 文件的加密保护,导致 so 文件中的重要信息泄露风险极高。
在游戏安全领域,鸿蒙原生游戏同样面临着多种安全威胁。
一方面,游戏资源的共用特性使得资源泄露风险大增,若其他端有保护措施而鸿蒙端缺失,资源便极易被非法获取。另一方面,从游戏代码角度来看,lua 代码的逻辑分析风险、dll 文件中函数和变量信息的暴露风险,以及引擎相关问题都极为突出。
无论是 Unity 还是 Cocos 引擎,都存在资源被盗取、逻辑被分析的隐患,例如 Unity-il2cpp 中的 gb 符号文件风险、Unity-ab 资源被盗取,以及 Cocos 引擎资源被分析等问题,严重威胁着游戏的安全性。
在运行环境风险方面,调试环境、root 环境以及模拟器环境都可能被恶意利用,从而对应用安全构成威胁。
为应对鸿蒙原生应用可能遇到的各类风险隐患问题,网易易盾结合HarmonyOS 特性与原生应用特征,从代码加固、so 加固到应用加固和游戏加固,全方位提升鸿蒙系统的安全性。
在 abc 文件加固方面,网易易盾率先尝试采用插入花指令,这些指令具有非法越界、随机性且不被执行的特点,能够有效干扰反编译过程。
同时,通过控制流混淆打乱原有代码执行流程,并对函数名进行混淆,进一步增加反编译难度。
此外,针对 abc 源码进行深层次加固,包括字符串保护(如字符串数组化、编码、乱序、索引偏移、数组旋转等)、控制流混淆(对符合条件的语句块进行控制流平坦化混淆)、垃圾代码注入(打乱源码结构)、表达式混淆(针对二元及逻辑表达式)、标识符混淆(对函数参数名和变量名称进行处理)、字面量保护(将整形、boolean字面量转化为16进制)以及属性访问保护(将属性调用转换为[]表达式结合字符串混淆保护)等形式。
so 文件加固采用不透明谓词混淆方式,让程序流程的判断条件变得复杂难测,控制流保护涵盖平坦化、破坏、伪造等多种方式,彻底改变原有控制流结构。
此外,还通过不透明字段访问、字符串加密、指令替换等手段,全方位保护so文件的安全性。
鸿蒙应用加固涉及多个关键环节,包括指令混淆、类名方法名混淆、二进制加壳,同时进行环境检测,确保应用运行环境的安全性,并对资源进行加密和解密操作,全方位保护应用安全。
游戏加固历来是网易易盾的优势能力,针对鸿蒙原生游戏,网易易盾对 modules.abc 进行混淆处理,对 Global-metadata.dat 进行不落地加密,对引擎如 libil2cpp.so 进行加固,以此防止动态 Dumper 攻击。
同时,对 Unity 、Cocos 相关资源,如 ab 资源、静态资源、luac 文件、dll 文件等进行加密处理。同时,Cocos 还支持二次加密,全方位保障游戏的安全性。
尽管鸿蒙系统在安全方面仍面临诸多挑战,如系统被越狱可被 dump、abc 文件防反编译与上架检测存在冲突、游戏包代码安全问题等。
但网易易盾相信,随着 HarmonyOS 持续的迭代与升级,以及诸加固厂商对原生应用安全的研究。一定会持续提升鸿蒙系统的安全性,为用户和开发者提供了更可靠的安全保障。
原文始发于微信公众号(网易易盾):在南京,我们聊了聊鸿蒙原生应用安全的“冰与火之歌”
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/4012949.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论