金山网盾锁定主页的原理是什么?
尊敬的金山网络用户您好:
首先要了解的是,在程序开发中,无论是恶意软件还是安全软件在改动IE主页时都是通过修改注册表来达到目的,通常使用RegSetValue等API实现,API译为应用程序接口,稍微学过的编程的同学将其理解为和函数差不多的东西就行,这样的API的参数通常指定了注册表的主键、子键、修改的项以及值等信息。可以想象,安全软件实现修复IE主页的功能就是通过调用这个API来实现的,病毒亦如此。而安全软件和病毒往往都是相克的,都会采用一些手段来阻止对方的操作,说道这里就不得不提到HOOK这个概念。HOOK是木马、病毒和安全软件都在采用的一种技术,没有哪个安全软件中不在用HOOK,最直接的概念就是主动防御以及HIPS就是采用HOOK实现的。说了这些HOOK是什么呢,HOOK译为钩子,最常见的就是消息钩子,而我们在这里要提的是API HOOK。正常情况下我们调用系统API都是正常的,而在一定情况下我们调用API可能是被HOOK后的。通过HOOK指定的API我们可以拦截指定的操作,比如创建进程、创建文件、读写文件等。API HOOK有多种不同的实现途径,目前大多数安全软件都采用内核中的SSDT HOOK。
简单谈谈SSDT,SSDT(SystemServices Descriptor Table),系统服务描述符表。在应用层的API进入内核后正是根据这个表找到内核中的相应函数,进而实现层层调用。也就是说SSDT记录这应用层API和内核中的函数的对应关系。通过SSDT HOOK我们可以改变这一对应关系,是应用层API进入内核后不再按原来的对应关系调用内核相应的函数,而是转去调用我们自己实现的内核函数。这样我们就达到了截获API的目的,进而可以在我们的函数中对API进行的操作进行判断,最简单的就是我们可以决定是阻止这次调用还是允许这次调用。这就是安全软件中锁定IE主页功能的原理。当然SSDT HOOK需要我们写驱动来完成。
官网地址:/
感谢您的支持,祝您生活愉快!