API控制Windows的各个部件
什么是主机入侵防御。我想用自己第一次理解而不是看资料略过时的思路与大家分享。
首先,众所周知,计算机有很多功能,比如您平时操作,您可以创建或删除,可以运行或结束,可以用一个程序打开另一个(比如在迅雷中打开刚下的压缩文件),所有这些打开的功能,关闭的功能,运行的功能,结束的功能,调用的功能等等,其实并不是软件本身(如迅雷)自身创造的,而是很多软件都要使用的。由此,微软在系统中放了很多类型的通道,如用于打开或关闭的,用于创建或删除的等等,而软件要实现这个功能的过程,就是指令去借用系统的通道完成特定任务的过程。
这样做有很多好处。呵呵,假如微软不给这些通道,程序开发就会变得很头大,相当于你要自己创造通道去实现每个过程。这很累,在绝大多的公司也不可能。首先,你要和微软的关系足够好,否则你的程序会非常不稳定,其次,你还要投入大把的经费去保证在调用和被调用时的互相认知。。。总之,这就是传说中的API通道,他是系统中所有的软体乃至系统本身多数功能得以工作的前提。我们举手投足,都要经过API的转述。他是WIN的天然代码。
抄下定义:API是一套用来控制Windows的各个部件(从桌面的外观到为一个新进程分配的内存)的外观和行为的一套预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。远程过程调用(RPC)、标准查询语言(SQL)、文件传输 、信息交付是他的基本类型,这里就不多做叙述。我们最需要牢记的一点是,所有程序,包括病毒,都要告诉win你的程序发生了哪些事件或要求执行那些特定操作,由API达成需要的功能。而对API的处理存在静态与动态的不同,正是HIPS与杀软的最大区别,也是我说了这么多废话的原因所在。
好了,回到主动防御,大家已经看到的是COMODO的API HOOK的SSDT表。所谓HOOK,就是个过滤器,被加了HOOK的API通道(为了理解好,以后我就直称“通道”了),无论任何程序要通过它实现相应功能,都会被COMODO监视,您可以选择是否拦截或放行。可以看到,有管理创建文件通道的过滤器,有管理结束进程的过滤器,有管理。。。。。这些正是病毒达成功能的必经之路,来个AURORUN.INF类的EXE吧,他屁颠屁颠的跑到创建文件的通道那里准备创建实体,于是COMODO就会报未知AUTORUN.INF文件——如果我们设置规则为不许建立这个问题,那么COMODO就会完全不给他面子,如果我们放行,他又会去找运行文件的通道那里报到,A:“我要运行!”,COMODO:“你是不可能滴!”。
网友评论