微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

大约需要多长时间为Windows NT内核/系列内核开发内核补丁或驱动程序,这将引入新的function,或者取代现有的function?

例如,添加不同的encryptionalgorithm,或者实现某种新的安全模型。

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

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

释放克隆的skb(使用skb_clone)将释放原始的skb?

64位DLL入口点覆盖

在x64系统中SSDT挂钩的替代scheme

如果内核库发生变化,Docker如何允许可移植容器

seccomp-bpf过滤系统调用如何?

我知道Windows内核是专有的,它很难为它写一个内核补丁,但这正是几家公司,特别是AV公司,没有微软的合作,所以这是可能的… …

访问设备configuration空间 – 赢得内核PCI设备

如何使USB设备启用多点触摸?

Linux内核硬件断点

没有调用pci_Driver.probe

从程序员的angular度来看Linux内核和UNIX内核(如FreeBSD)之间的区别

一种不同的加密算法

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

新的安全模式

什么新的安全模式?

如果您希望对一个应用程序进行更具体的控制,则可以构建一个沙箱。

如果您想要更具体地控制操作系统,请将操作系统放入虚拟机中。

如果你有一个全新的东西,你必须写一个新的内核。 正确的管理是一个非常广泛的话题,您必须触摸每个入口才能使您的解决方案发挥作用。

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

不,是的…你认为驾驶员如何改变安全模式?

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

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

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

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

关于修补内核函数表…你不应该这样做,因为:它不会在x64 edtions工作。 因为它不能在x64 edtion中工作,所以即使是32位,你也不能WLK认证你的驱动程序。 如果你不能证明你的驱动程序,你最终会得到一个非常不受欢迎的驱动程序(例如,你不能预装在计算机上,然后通过认证)。

一般情况下,SSDT中的服务数量可能会增加,但是非常麻烦,特别是Vista比以往任何时候都更加困难。 我并不是说这是不可能的,但是它需要跳过几圈(一次)。

否则,我与DriverStack。 正确的方法是编写一个过滤器驱动程序来修改现有的服务,或者简单地写一个驱动程序,并创建一个可以从UM(或KM)访问的CDO(控制设备对象),并且可以接收IRP以提供服务旨在提供…

驱动程序本身是扩展内核的机制。 与几个FLOSS平台不同的是,Windows中的内核接口非常稳定:o)

注意:如果AV公司不是太大胆的话,它会诉诸过滤器驱动程序。 是的,这最终也意味着某些功能被操纵,但是声明AVs 挂钩那些(Win32,即UM )API是… 错误 。 可悲的是我不可能为这个实际的错误投下回答(因为我在这里缺乏“声誉”)。 过滤可以在内核中进行。 通常通过FS过滤器驱动程序或SSDT挂钩的某些功能。 SSDT在内核中包含了指向底层函数函数指针,所以从UM你可以通过它的索引(“系统调用号码”)调用系统调用,就像在unixoid平台上一样。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐