前言
这篇文章不是介绍数据泄漏保护产品(DLP),也不是为了宣传、对比或突出国内防护软件相关功能的有效性,只是提供了一个保护微信聊天记录的解决方案,它至少可以显著的提高窃密活动可见性。
泄露
对于企业/办公室工作站系统,最重要的数据莫过于即时聊天记录,如微信等,这里面包含了大量的商业机密和办公信息,黑客控制系统的主要活动之一就是窃取这些聊天软件数据,我们也观察到了很多与之相关的自动化工具,它们正广泛流传,如下图所示:
类似的程序多到数不胜数,我们以 PyWxDump 这个项目为例,来看看它的导出效果:
导出的效果与此次上海安洵泄露数据基本一致(甚至更加详细),此类工具完全可被滥用于敏感数据窃取,所能造成的危害不亚于浏览器凭据窃取工具。
值得一提的是,上述数据导出步骤在绝大部分防护软件上是完全无感的(无任何安全警报或风险提示)。
原理
想要搞清楚如何发现这种行为,就要先了解它的工作原理,简单了解即可。
PC 版微信的默认安装路径是:
C:\Program Files (x86)\Tencent\WeChat
这里基本包含了微信正常运行所需的全部程序文件,但不包括用户数据,用户数据默认路径是:
C:\Users\[你的用户名]\Documents\WeChat Files
顾名思义,聊天数据全部放在了上图中的 Msg 文件夹中,PyWxDump 这类工具通过读取并解密 Msg 文件夹里的数据文件实现聊天记录导出。
如果对数据解密感兴趣,请参考该文档(它与防泄漏解决方案无关,对于本文章而言意义不大):wx数据库简述.md
解决方案
Msg 目录下的文件如此重要,理应由微信应用程序独占打开并解密,而不是任由第三方程序打开,若微信可以将该目录下全部文件独占,可以一定程度上缓解数据泄露风险,增大窃取成本。
-
从这里入手,我们可以通过 Sysmon 监控该目录下的全部文件打开和文件读行为,排除掉微信应用程序本身后,其余产生的行为日志应全部列为可疑事件并进行深度调查。
-
考虑到黑客可能注入到微信程序本身,通过微信进程自身进行窃取从而绕过行为监控,或通过读取微信程序内存中的数据解密密钥,我们还需要重点关注打开微信进程的行为。
-
黑客还有可能伪装成微信程序进行数据窃取,我们需要对程序签名进行严格的校验。
无论通过何种方式何种工具,只要能完成上述监控,攻击者几乎无法继续做到无感的窃取微信聊天记录,若再辅以拦截动作,数据防泄露的目的也可以实现。
事已至此,内部泄密?还是国家行为体的网络入侵行径?无论如何都不重要了,etc.