# SafeWall **Repository Path**: black0592/safe-wall ## Basic Information - **Project Name**: SafeWall - **Description**: 利用文件过滤驱动,对指定的文件进行加解密 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-06-14 - **Last Updated**: 2023-06-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据围墙 #### Description 利用文件过滤驱动,对指定的文件进行加密 #### Software Architecture Software architecture description #### 软件说明 数据围墙是对指定的文件进行加密,一般用于企业防止数据外泄。 主要原理是通过文件过滤驱动,在文件写入时,检查文件的后缀名等特征,符合条件则进行加密。 并且访问过加密文件的进程,在写入其他文件的时候也会被加密(类似蠕虫感染),而且能限制泄密进程访问网络。 但该技术有一个非常严重的漏洞。 #### 漏洞 已知驱动的数据结构为链表,它是通过调用链表节点中的函数,一层层完成自己的任务。假设场景如下: 第一层:恶意驱动节点 第二层:数据围墙驱动 第三层:恶意驱动节点或普通驱动节点 然后进程P 读取加密文件F。 驱动函数一层层被调用,当存放数据的Buffer,回到第二层,必然被解密, 解密后Buffer再回到第一层,这个时候第一层直接调用第三层的节点函数,将Buffer 写进新文件,这样 就会得到一个明文文件。 这个方法基本上可以破解市面上所有数据加密类型的软件,且这个并不是唯一的方法。 所以想购买数据加密的用户要小心咯,对于熟悉驱动的人,很轻松就能把这个软件给破解了。