my544 发表于 2020-3-16 19:58

求助,如何的驱动层保护明文传输的USB数据包

我读了busdog的过滤驱动程序代码,驱动通过wdfdeviceinitsetioincallercontextcallback(…)获取数据包。

我想要我的程序可以检测(或阻止)抓包软件达到保护我传输到机器的数据(使用明文,**数据加密是最好的方法,但不能用**)。

我知道完全阻止是不可能的,阻止大部分人就够了。

你能和我说说你们的想法吗?

FSA4565 发表于 2020-3-16 20:27

驱动层又不是完全不能被debug,建议还是使用加密,并且程序自己的加壳做好,无论是不是驱动,首先静态分析谁都逃不过的

my544 发表于 2020-3-16 20:33

FSA4565 发表于 2020-3-16 20:27
驱动层又不是完全不能被debug,建议还是使用加密,并且程序自己的加壳做好,无论是不是驱动,首先静态分析 ...

我完全明白加密是最优技术方案,直接对抗路越走越窄.
但设备不支持加密,还是想求各驱动保护的思路

FSA4565 发表于 2020-3-16 20:50

my544 发表于 2020-3-16 20:33
我完全明白加密是最优技术方案,直接对抗路越走越窄.
但设备不支持加密,还是想求各驱动保护的思路

我的建议你可以根据你的使用场景去参考吧,我是这么想的,如果你是USB传送数据的话,加密算法可以自己做算法,就比如说最简单的异或加密对吧,这种只需要对数据进行数学运算,然后不需要调用任何加密函数,我的想法是比如说你使用异或,那么你可以将自己的异或复杂化,因为既然你自己都可以写驱动,那驱动也是要软件签名才能用的,没有软件签名的驱动有些甚至会报危险,或者是无法加载,那么如果你自己都可以写驱动的话,我想自己做一个自己的算术加密应该不是非常难的

FSA4565 发表于 2020-3-16 20:55

my544 发表于 2020-3-16 20:33
我完全明白加密是最优技术方案,直接对抗路越走越窄.
但设备不支持加密,还是想求各驱动保护的思路

而且如果是按照驱动去保护,驱动实际上很容易被反编译的,而且就算你混淆了,但是因为是驱动的性质。一般的软件运行异常最多无响应,驱动如果出现异常那就是蓝屏,而且还需要软件签名,否则现在的windows系统加载都不一定给你加载。开发也不是容易的,我觉得相对于开发和使用难度上我认为还是自己做一套自己的加密算法,这样的好处是你可以考虑你自己的机器的情况去做数学运算,就不需要依赖函数做

yanghaiyan168 发表于 2020-3-16 22:02

谢谢分享!!好东西!!!
页: [1]
查看完整版本: 求助,如何的驱动层保护明文传输的USB数据包