【问题标题】:Developing a kernel patch or driver for windows?为 Windows 开发内核补丁或驱动程序?
【发布时间】:2010-08-09 10:48:06
【问题描述】:

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

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

实际编写内核补丁和驱动程序之间有哪些优点/缺点?

理论上是否可以绕过驱动程序,而内核补丁则不能?

我知道 windows 内核是专有的,很难为其编写内核补丁,但这正是几家公司,尤其是 AV 公司所做的,没有微软的合作,所以有可能......

【问题讨论】:

  • 你想达到什么目的?内核补丁不是在 Windows 中使用的方法。在 Windows 下,您可以在内核中安装钩子,或者针对静态(记录的)API 加载驱动程序,这在不久的将来不会改变。

标签: windows driver kernel


【解决方案1】:

不同的加密算法

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

新的安全模型

什么新的安全模型?

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

理论上是否可以绕过驱动程序,而内核补丁则不能?

不是,是的……您认为驱动程序如何更改安全模型?

但这正是几家公司所做的,尤其是 AV 公司。

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

【讨论】:

  • +1 用于大多数 AV 软件挂钩 ReadFile/WriteFile/CreateFile API。
  • 您的回答充满了很多不正确的信息,并且没有解决所提出的问题。阅读 KPP,了解为什么会出现这样的问题。
  • 清除了“错误”位。但是我看不到,当您看到问题时,信息是如此错误。重复这件事以消除“您不能轻易添加新的安全模型”。
  • 如果他想添加一个新的安全模型,即不是基于 ACL 的,比如 GRSecurity,那么肯定唯一的方法是使用内核补丁,而不是使用驱动程序?如果 KPP 是个问题,他可能必须获得 microsoft somne​​how 的许可.....
【解决方案2】:

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

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

关于修补内核函数表...您不应该这样做,因为:它在 x64 版本中不起作用。因为它在 x64 版本中不起作用,所以即使是 32 位,您也无法 WLK 认证您的驱动程序。如果你不能认证你的驱动程序,你最终会得到一个非常不受欢迎的未经认证的驱动程序(例如,你不能在计算机上预安装然后再认证机器)。

【讨论】:

    猜你喜欢
    • 2014-10-31
    • 2013-09-21
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多