文章总结: HScope是针对OpenHarmony应用的隐私泄漏检测框架,通过抽象解释技术解决Ark字节码无类型信息、动态调用和跨组件通信等分析难题。实验显示其在基准测试中F1分数达0.88,并在300个真实应用中发现39个真实泄漏,包括12款华为模板应用存在的源头性风险。该工具基于LIAN通用分析引擎,为生态安全治理提供有效支持。 综合评分: 90 文章分类: 漏洞分析,移动安全,安全工具,应用安全,技术标准
成果分享 | [ISSTA 2026]HScope:构建鸿蒙生态安全的“火眼金睛”
梅傲寒 梅傲寒
复旦白泽战队
2026年5月15日 20:12 上海
在小说阅读器读本章
去阅读
导语
随着万物互联时代的发展,OpenHarmony正加速应用于移动终端、物联网、智能家居和车载系统等场景。应用生态的快速扩张也带来新的隐私安全挑战:位置、联系人、设备标识符等敏感数据,可能在用户无感知的情况下被采集、传播或泄露。
OpenHarmony应用采用ArkTS开发,并编译为高度动态、缺乏显式类型信息的Ark字节码。传统分析工具难以准确刻画其中的动态调用、事件回调和跨组件状态共享机制,容易产生漏报或误报。
针对上述问题,我们在课题组自主研发的程序分析基础框架LIAN(莲花)中进一步拓展了鸿蒙隐私检测的能力,提出面向OpenHarmony应用的细粒度隐私泄漏检测框架HScope。HScope无需依赖应用源码,能够直接分析编译后的Ark字节码,并通过语义重建与抽象解释技术恢复程序行为,进而识别复杂UI交互、动态回调和组件间通信中潜在的敏感数据泄漏路径。该研究成果已被软件工程领域顶级会议ISSTA 2026接收。论文第一作者是复旦大学系统软件与安全实验室24级硕士研究生梅傲寒,通讯作者是杨广亮和杨珉教授。
HScope的核心能力建立在LIAN通用高精度代码安全分析引擎之上。LIAN是课题组自主研发的多语言、指针级统一程序分析基础框架,为Java、Python、JavaScript和Go等语言提供统一中间语言、抽象内存建模、控制流和数据流追踪能力。HScope针对OpenHarmony的Ark字节码、ArkUI状态机制和跨组件通信语义对LIAN进行生态级适配。
鸿蒙应用隐私分析:为何传统工具纷纷“失灵”?
与安卓基于Java的清晰类型系统不同,鸿蒙应用采用ArkTS语言开发,并编译成高度动态的方舟字节码。这一设计赋予开发者极大的灵活性,却成为静态分析的难点,主要体现在三大挑战:
1
无类型与高度动态的字节码
传统分析极度依赖类型信息来构建调用关系。但在方舟字节码中,类型信息几乎被“擦除”,对象形态可在运行时动态改变。变量名字在分析时不可见。
2
间接与动态的调用模式
鸿蒙应用普遍采用事件驱动,如点击回调、异步任务等。这些回调函数通常以匿名函数或闭包形式传递,在编译期没有明确的目标地址。简单地将它们视为“未知调用”,会导致控制流图不全,大量数据流因此中断。
3
跨组件的引用传递
这是鸿蒙区别于安卓最显著的特征。鸿蒙的UI状态变量(如@Link),允许不同组件之间直接传递对象引用甚至函数。这意味着,组件可以修改另一个组件的内部数据,或执行定义在另一个组件中的函数。这打破了传统分析中组件边界的隔离假设,让数据泄漏变得更加隐蔽和复杂。
上面是一个使用@Link状态变量共享的OpenHarmony真实案例应用:父组件C1生成携带OAID设备标识的敏感数据,并将其绑定到状态变量中;子组件C2通过参数接收该状态变量的引用(而非副本)以及指向C1中request方法的回调闭包。当C1更新该状态变量时,由于C2共享同一内存引用,数据自动“流入”C2,随后用户点击C2的按钮触发回调,该闭包在C1的上下文中执行,最终通过http.post将敏感数据发送至远程服务器,造成隐私泄漏。这一例子揭示鸿蒙应用中跨组件引用传递和闭包跨组件执行带来的隐式数据流分析难题。
HScope:基于抽象解释的语义重建与精准追踪
面对上述挑战,HScope通过抽象解释技术,直接在字节码层面计算程序运行时的内存状态。这项核心技术得益于LIAN通用高精度代码分析引擎的支撑。HScope在此基础之上,针对鸿蒙场景进行三方面的关键创新:
1
面向无类型字节码的抽象域设计
HScope定义独特的抽象内存模型,将程序中的变量、对象、闭包(Closure)统一建模。
抽象对象:不依赖类定义,而是用“属性名 → 位置”的映射来描述对象结构,完美适配动态属性。
抽象闭包:将函数与其定义时的环境(捕获的变量)打包建模({Function, Environment}),无论它被传递到哪个组件,分析引擎都能回溯其原始上下文。
2
按需增量构建的调用图
HScope不再预先绘制完整的调用图。它在分析过程中,“看到”调用点,就根据当前抽象内存中的闭包信息,动态解析目标函数并创建调用边。这种按需、增量式的策略,精准高效地破解间接调用难题。
3
统一的跨组件通信分析
HScope通过其核心的抽象状态、统一管理全局内存、UI状态绑定、和路由参数。
对于可序列化传递:HScope会为目标组件创建新的内存位置副本,模拟数据拷贝。
对于引用传递(如@Link):HScope会让多个组件共享同一个抽象内存位置。这样,任何组件对该位置数据的修改,都会在所有共享组件中“可见”,精确刻画双向绑定的语义。当接收方执行作为参数传递过来的闭包时,HScope会在该闭包捕获的原始环境中执行,精准还原控制流。
HScope 整体架构
实验评估
为评估HScope的有效性与实用性,我们分别在自建基准OH-Bench和300个真实 OpenHarmony应用上开展实验,由于目前并没有可用的字节码级静态分析工具,我们选取了现有sota的源码级静态分析工具进行对比。实验结果表明,HScope在检测精度、召回能力和真实风险发现方面均表现出显著更好的效果。
在OH-Bench基准测试中,HScope取得87.5%的Precision和87.5%的Recall,F1 分数达到0.88,显著优于对比工具(81.8%的Precision、22.5%的Recall和0.35的F1)。这表明HScope能够较为准确地处理 OpenHarmony应用中的动态调用、组件间通信和状态共享等典型分析场景。
在真实应用评估中,HScope对300个OpenHarmony应用进行了系统分析,共识别出 72处敏感数据访问行为,并报告48个潜在隐私泄漏。经人工审查确认,其中39个为真实可行的隐私泄漏,涉及27款应用。这些泄漏覆盖设备标识符(如OAID)、地理位置、联系人信息、电话号码、网络信息等多类敏感数据,泄漏出口主要包括日志接口和远程网络通信接口。由于这些数据往往可用于用户身份识别、行为画像、位置追踪和社交关系推断,一旦被持续收集或与其他数据源关联,可能进一步放大隐私侵害范围,对用户个人信息安全造成长期影响。
更值得警惕的是,研究发现12款华为官方发布的模板应用本身包含可验证的隐私泄漏问题。模板应用通常被开发者作为学习样例或项目起点直接复用,其代码模式和实现习惯会被复制到大量后续应用中。因此,模板中的隐私缺陷并不只是单个应用的问题,而可能在生态内部形成“源头式传播”:开发者在不知情的情况下继承风险代码,并在二次开发中进一步扩散。
结语
HScope 面向 OpenHarmony应用隐私泄漏检测场景,构建了一套针对Ark字节码、动态调用机制和跨组件通信语义的细粒度静态分析方法。HScope的实现依托于LIAN通用高精度代码安全分析引擎。LIAN为多语言程序分析提供统一的语义建模、抽象内存表示和数据流追踪能力;HScope则在此基础上进一步适配Ark字节码和OpenHarmony框架特性,形成“通用分析引擎 + 生态语义适配”的技术路径。
该工作不仅为OpenHarmony应用隐私安全审查提供有效工具,也表明通用静态分析基础设施在新兴软件生态安全治理中具有良好的可扩展性与复用价值。未来,随着 OpenHarmony应用生态持续发展,HScope有望进一步支撑更大规模、更细粒度的应用安全分析,为新型操作系统生态的安全建设提供技术基础。
关于LIAN程序分析框架
LIAN是课题组自21年起自主研发的多语言、指针级统一程序分析框架,现已开源https://gitee.com/fdu-ssr/lian。LIAN为语言提供通用中间表示(GIR),仅需1.6K代码即可实现对一门语言的支持;能够统一理解复杂代码中指向关系和数据流等代码语义,为代码安全检测、漏洞分析与程序理解提供坚实基础,实现对百万行代码的细粒度分析。目前,LIAN已提供对Java、Python、JavaScript、PHP、Go、TypeScript、C等语言的高精度支持。
往期回顾:LIAN——通用高精度代码安全分析技术
供稿:梅傲寒
排版: 王羿
责编:董佳仪
审核:洪赓、杨广亮
复旦白泽战队
一个有情怀的安全团队
还没有关注复旦白泽战队?
公众号、小红书搜索:复旦白泽战队也能找到我们哦~
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:复旦白泽战队 梅傲寒 梅傲寒《成果分享 | [ISSTA 2026]HScope:构建鸿蒙生态安全的“火眼金睛”》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论