为Windows开发内核补丁或驱动程序?

时间:2010-08-09 10:48:07

标签: windows driver kernel

为Windows NT内核/系列内核开发内核补丁或驱动程序需要多长时间才能引入新功能或替换现有功能?

例如,添加不同的加密算法,或实现某种新的安全模型。

实际编写内核补丁和驱动程序有什么优点/缺点?

理论上可以绕过驱动程序,内核补丁不能吗?

我理解Windows内核是专有的,很难为它编写内核补丁,但这正是几家公司,特别是AV公司所做的,没有微软的合作,所以有可能......

2 个答案:

答案 0 :(得分:7)

  

不同的加密算法

这是通过扩展加密提供程序来完成的。有一个框架,你可以做到这一点。

  

新安全模型

新的安全模型是什么?

  • 如果您想要对一个应用程序进行更具体的控制,请构建一个沙箱。
  • 如果您想要对操作系统进行更具体的控制,可以将操作系统放入虚拟机中。
  • 如果您有全新的内容,则必须编写新内核。正确的管理确实是一个广泛的主题,您必须触及每个入口点才能使您的解决方案发挥作用。
  

理论上可以绕过驱动程序,内核补丁不能吗?

否和是......您认为驱动程序如何更改安全模型?

  

但这正是几家公司,特别是AV公司所做的。

不,他们没有。它们有一个内核驱动程序,它可以连接到正确的函数。大多数AV软件都挂钩ReadFile / WriteFile / CreateFile API,在这些API中检查“恶意代码序列”。这不是安全模型。它只是一个二进制'可以访问/可能无法访问'检查。

答案 1 :(得分:1)

修改内核工作方式的正确方法是编写一个过滤器驱动程序,修改或窥探驱动程序之间传输的信息。

这是与合法补丁最接近的东西

关于修补内核函数表...你不应该这样做因为:它不适用于x64编辑。因为它不能在x64版本中工作,所以即使是32位,WLK也无法证明你的驱动程序。如果你不能证明你的驱动程序,你将最终得到一个高度不同的未经认证的驱动程序(例如,你不能在计算机上预安装然后wlk认证该机器。)