鸿蒙安全研究与逆向分析-胡雪松.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

关于我

Aboutme

某不知名公司的安全研究员

胡雪松

主要方向是Android逆向、Harmony逆向、pwn、kernel、免杀、渗透

擅长代码分析,算法逆向,移动加固对抗等

/u33pk

议题名称:鸿蒙安全研究与逆向分析

一、关于鸿蒙

问1:鸿蒙是自研么

答:鸿蒙从openHarmony来看,字节码、虚拟机均有别于Android。

鸿蒙5之前的版本为基于Android的版本。

问2:鸿蒙的运营策略

答:就目前来看,鸿蒙运营逻辑更接近IOS,不能随意安装hap、app,分发测试版

本需要开发者授权等

问3:鸿蒙的开发

答:目前的主流开发为使用arkTs和C++混合开发,开发模式类似于Android

arkTs是TypeScript的超集,可以无缝使用nodejs生态。

C++的部分与Android类似,都是提供了原生结构供C++访问

二、鸿蒙安全研究的目的

1.构建强大的安全机制,防止恶意软件、黑客攻击、数据泄露等问题

2.发现并修补潜在漏洞,提升系统的抗攻击能力和稳定性

3.为开发者提供更安全的开发环境,降低应用被攻击的风险

4.鸿蒙系统的分布式架构和微内核设计为其安全研究提供了独特的技术背景

5.针对鸿蒙系统的安全研究尚处于起步阶段。深入研究可以填补这一领域的空白,为

后续的安全实践提供理论基础和技术支持

三、鸿蒙抓包

app抓包是分析app最基础的事情。

与苹果直接装证书就能用不同,也与Android不root就装不了证书不同

如果app不做限制,直接装上证书也能用,但是此时很多系统app是无法正常解析流

量的。

所以要装系统证书还是需要root。

先说最基础的,也是最常用的安装证书+抓包

设置-安全-更多安全设置-加密和凭证

选择“从存储设备安装”

点击pem证书即可。

三、鸿蒙抓包

但是我知道各位肯定不止想看这一个,所以接下来是在有root权限下安装系统证书,

先来看效果:

这是模拟器内置的新闻app

这样的话,系统几乎所有

流量都可以直接看到了。

三、鸿蒙抓包

可以尝试和Android一样的方案,直接移动到系统证书所在目录下,但是这种方案并

不一定生效,还有其他的地方需要修改。

研究中发现,有一个文件内包含了所有的证书信息,需要把我们的证书追加进去,才

会生效。

四、鸿蒙模拟器root

对于研究操作系统和app来说,root很重要。很多时候没有root,寸步难行

目前鸿蒙真机的root,我这里并没有进展,但是模拟器还是有一些的。

在github上有一个项目是通过修改qemu的img镜像来完成root的,但是这个方案自

从更新了DevEco-Studio之后就已经失效了。

原理很简单,在emulator二进制中增加了对镜像签名的校验。

四、鸿蒙模拟器root

有了这个思路,其实就可以想办法绕过了

我在这里提供如下几个思路:

1.直接aptchemulator二进制,缺点:校验处不止这一个地方。

2.使用旧版emulator二进制替换新版,缺点:这个二进制貌似也会被校验

3.依旧使用旧版IDE,这样不会被检查,缺点:没有最新镜像

4.有没有什么办法保持img的签名不变,还能修改img的内容呢?

我言尽于此,以上的思路已经包含了不止一个解决方案,我们团队均已经实现。

五、鸿蒙注入与hook

由于实体机我们并没有root权限,所以此处讲解的均为模拟器方案

从刚才的图中已经看到,模拟器的内核是一个linux-5.10.209的内核,

所以我们这里尝试直接按照linux的注入与hook方案来做

1.我们要选择一个合适的hook框架来移植

2.我们要选择一个合适的注入方案

没有选择frida的理由:

1.frida适配非常复杂

2.frida的musl支持非常差

3.frida没有对ark虚拟机有支持,所以在与其他hook方案的对比中没有太大优势。

五、鸿蒙注入与hook

我们先看一个效果:

五、鸿蒙注入与hook

可以看到我们已经成功把libevil-musl.so注入进去了

并且已经成功在native层把2+3的返回值hook掉了

这只是一个简单的demo,只能说明是可行的,并不具备实际价值。

如果后续需要增加更多支持,比如对ark虚拟机hook的支持,还需要做更多的适配工

作才行。

另外需要说明的是,鸿蒙手机上的内核在执行uname之后,显示的不再是linux了,

而是“hongmengKernel”,所以这一套方案在真机上是否有效,还有待验证。

六、鸿蒙app重打包

app重打包,这事其实分为三个步

您可能关注的文档

文档评论(0)

qd002 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档