微信聊天记录防泄露可行性研究

2 月 21, 2024 威胁狩猎, 技术分享

前言

这篇文章不是介绍数据泄漏保护产品(DLP),也不是为了宣传、对比或突出国内防护软件相关功能的有效性,只是提供了一个保护微信聊天记录的解决方案,它至少可以显著的提高窃密活动可见性。

泄露

对于企业/办公室工作站系统,最重要的数据莫过于即时聊天记录,如微信等,这里面包含了大量的商业机密和办公信息,黑客控制系统的主要活动之一就是窃取这些聊天软件数据,我们也观察到了很多与之相关的自动化工具,它们正广泛流传,如下图所示:

类似的程序多到数不胜数,我们以 PyWxDump 这个项目为例,来看看它的导出效果:

导出的效果与此次上海安洵泄露数据基本一致(甚至更加详细),此类工具完全可被滥用于敏感数据窃取,所能造成的危害不亚于浏览器凭据窃取工具。

值得一提的是,上述数据导出步骤在绝大部分防护软件上是完全无感的(无任何安全警报或风险提示)。

原理

想要搞清楚如何发现这种行为,就要先了解它的工作原理,简单了解即可。

PC 版微信的默认安装路径是:

C:\Program Files (x86)\Tencent\WeChat

这里基本包含了微信正常运行所需的全部程序文件,但不包括用户数据,用户数据默认路径是:

C:\Users\[你的用户名]\Documents\WeChat Files

顾名思义,聊天数据全部放在了上图中的 Msg 文件夹中,PyWxDump 这类工具通过读取并解密 Msg 文件夹里的数据文件实现聊天记录导出。

如果对数据解密感兴趣,请参考该文档(它与防泄漏解决方案无关,对于本文章而言意义不大):wx数据库简述.md

解决方案

Msg 目录下的文件如此重要,理应由微信应用程序独占打开并解密,而不是任由第三方程序打开,若微信可以将该目录下全部文件独占,可以一定程度上缓解数据泄露风险,增大窃取成本。

  • 从这里入手,我们可以通过 Sysmon 监控该目录下的全部文件打开和文件读行为,排除掉微信应用程序本身后,其余产生的行为日志应全部列为可疑事件并进行深度调查。

  • 考虑到黑客可能注入到微信程序本身,通过微信进程自身进行窃取从而绕过行为监控,或通过读取微信程序内存中的数据解密密钥,我们还需要重点关注打开微信进程的行为。

  • 黑客还有可能伪装成微信程序进行数据窃取,我们需要对程序签名进行严格的校验。

无论通过何种方式何种工具,只要能完成上述监控,攻击者几乎无法继续做到无感的窃取微信聊天记录,若再辅以拦截动作,数据防泄露的目的也可以实现。

事已至此,内部泄密?还是国家行为体的网络入侵行径?无论如何都不重要了,etc.