标题：EQSysSecure
软件简介
EQSecure 是一款Hips类型的软件，此类软件可以通过编制相应的规  EQSysSecure则来实现对系统各类操作的自由控制，对经过允许的程序和对计算机的各类操作方可执行；对未经允许的程序和对计算机的各类操作不能执行，从而阻止各种有害程序的入侵和运行，达到对计算机系统保护的目的。其与防毒程序的不同在于：防毒程序是通过对已知病毒的查杀来起到保护作用，对新出现的未知病毒没有作用，具有滞后性；而Hips类软件是通过对程序操作动作的控制来实现防护作用，不依赖于病毒库，可以预防未知的病毒等各种有害程序。尤其在各种木马程序、流氓程序盛行的今天，传统杀毒软件显得苍白无力，Hips类软件的防护作用就越来越突出。
软件功能
EQSecure 正是这类软件中功能突出的一款国产软件。目前包括应用程序控制、注册表控制和文件控制三个方面。应用程序控制包括应用程序的执行、库文件加载、驱动程序加载、物理内存访问、物理磁盘访问、服务安装等12个方面的控制，可见控制非常细致；注册表控制包括对注册表项及值的修改（新建）、删除的控制；文件控制包括对文件及文件夹的创建、打开、修改、删除的控制，控制非常全面。
一个病毒想要达到入侵并运行的目的，首先要能将自身文件复制到计算机的硬盘上，其次要通过写注册表等方式实现自动运行，并且在运行时不会受到拦截，其中只要有一个环节不成功，病毒就不能得逞。而EQSecure 的防护是三个环节同时进行的，是三位一体的立体式防护，从理论上讲，只要规则设置得够全面、严密，就可以防止一切已知或未知病毒的入侵。
不仅如此，EQSecure 还加入了沙盘的功能，通过开辟一块儿虚拟空间，使可疑程序对计算机系统的操作只在虚拟的空间里进行，保证程序正常运行的同时，避免实机系统受到病毒破坏。HIPS与沙盘的有机结合，使在安全性和易用性上都提升了一个台阶，这在世界上也是一个首创。
软件发展
EQSecure开始是免费的HIPS，在推广主动防御软件方面起到极其重要作用，可以说没有eq坚实的技术基础，就没有智能hips的诞生。但在HIPS还没有成熟到可以大规模商业化的地步，软件制作方开始实行收费政策，结果造成大量用户流失，开发停滞不前。如今的EQSecure，bug解决不掉，WIN7也不支持，传言软件作者有意放弃升级开发，这款纯HIPS老软件处境艰难。
关于HIPS
HIPS,全称是Host Intrusion Prevent System ，翻译过来是主机入侵防御系统。
我们个人用的HIPS可以分为3D：AD(Application Defend)--应用程序防御体系、RD(Registry Defend)注册表防御体系、FD(File Defend)文件防御体系。
它和杀毒软件，杀木马软件，杀流氓软件一样，都是保护系统安全的。和其它软件不同的是，它不是先中后杀，而是防患于未然。打个比方，其它安全软件是药物，HIPS就是疫苗。和人类使用的疫苗不同的是，它不针对某一种具体的疾病，而是免疫各种各样的疾病。（要是有用于人体的这种疫苗就好了。）用好HIPS，基本上就和病毒（包括各种恶意软件）说拜拜了。更难得的是，它对待病毒一视同仁，没有已知未知之说。这一点是杀软万万不及的。
在它的保护下，操作系统对你不再是个黑匣子，运行的每一个程序，创建的每一个文件，你都是清清楚楚，明明白白的。都是你信任的。病毒最大的特点是什么？是它的隐蔽性。凡是罪恶的勾当，都是偷偷摸摸的。一旦暴露在光天化日之下，还能有什么戏唱？
再来个比喻吧：没有装HIPS的电脑，如同无人把守的院子，任何人都可以随便出入（当然坏蛋也不例外），安全也就谈不上了。装个HIPS，就像请了个尽职尽责的人给你看门，你告诉他，这是我老婆，这是我儿子，这是我朋友，你要放行，其余的一律报告或阻止。这样，坏蛋想进入你家就困难了。你也许会说，杀软不是也有实时监控吗？不错，杀软是有实时监控，但它只检查进来的人有没有犯罪记录。这显然是不行的。即使有人带着刀来杀你，它也不会管的，因为它不认识。它的病毒库里没有。
使用技巧
EQSecure制定规则灵活方便，只要掌握方法，任何人都能轻轻松松DIY各种各样需要的规则。方法主要有4种：询问框、日志、学习模式、手动编辑。学习模式方便，但会生成冗余规则，因为不能自动添加通配符。询问框、日志创建规则更有针对性。手动编辑最难但又是基本功，要想真正用好EQSecure，必须掌握，下面予以重点讲解。hips的工作原理Hips中FD的作用就是监控系统对任何文件的读取，修改，创建，删除操作；AD监控程序运行，加载，访问物理内存，操作底层磁盘，键盘记录等等的关键操作；RD监控对注册表的操作。
假设有病毒入侵电脑：
1  病毒首先会在硬盘上建立病毒实体，这时候就会触发FD的“创建”规则
2  接着读取病毒体，触发FD的“读取”规则
3  接着运行病毒体，触发AD的各项规则
4  如果是感染型病毒，在运行过程中还会修改硬盘的文件，例如感染exe文件，触发FD的“修改”规则；如果是破坏型病毒，运行过程中还会删除硬盘的文件，例如删除exe，gho等文件，触发FD的“删除”规则
5  接着病毒通常会修改注册表来达到自启动或破坏的目的，此时会触发RD规则；如果病毒连接网络的话，就会触发ND规则（也就是防火墙规则，这就在EQSecure范围之外了）。
从上面可以看到，重要性由高到低的排列：FD的“创建”> FD的“读取”> AD > FD的“修改，删除”> ND > RD。前三项是最为重要的，因为关系到病毒能否成功运行，后面的只是病毒运行之后的补救措施而已。
每次触发规则，hips就会从规则库里面查找，如果里面已经有对该操作的规则，就按规则办；没有的话，就会询问使用者。从性能来讲，触发得越频繁，匹配的规则越多，导致的性能越低下。对触发频繁程度由高到低的排列：FD的“读取”> RD > FD的“修改”> AD > FD的“删除”> FD的“创建” 。（本排列是在本机的eq上添加监视规则，统计日志得出的。）
要写出高效的规则，必先了解所用的hips对规则的处理方法。以EQSecure为例，它的规则分3个组。组间优先级从高到低的排列：“黑名单”>“应用程序规则”> “所有程序规则”。在“黑名单”和“所有程序规则”两个组之中，同组的规则是优先级是从上到下排列。“应用程序规则”是按程序的进程查找匹配，同组的规则没有优先级之分。
根据以上排列，我们就可以通过调整规则，达到安全性和性能的平衡。将对性能影响很大，但安全性影响不大的规则尽量简化；将对性能影响不大，但安全性影响很大的规则尽量详细。规则与进程的定义规则其实很简单，说穿了，一条规则就是一句话：谁能（不能）对谁怎么样。用语言学术语说就是“主语＋谓词＋宾语”，用EQSecure术语就是“父进程＋拦截操作＋子进程”。所以明白了什么是父子进程以及怎样添加父子进程，规则就算掌握了大半。 
双击某个图标或点击某个按纽，程序就运行了；用迅雷下载一个东西，硬盘上就多了一个文件。人们通常不去深究其中的奥秘。其实，任何程序都不会自己运行，文件也不会平空出现，背后总有程序在操纵它。那个躲在幕后的神秘程序就是父进程，能够看到、感觉到的东西就是子进程。当手动打开一个程序时，由于一般是在资源管理器中操作，所以就是“资源管理器”（explorer.exe）运行了“某一个程序”；在IE中右击某个链接，再点“使用迅雷下载”，IE就会启动迅雷，这时，IE就是父进程，迅雷就是子进程。 
在RD中，如果某个程序操作了某个注册表键值，则“某程序”就是父进程，某“注册表键值”就是子进程。同理，在FD中某程序操作了某文件，则前者为父进程，后者为子进程。例如，用winrar解压文件，winrar就是父进程，解压出的文件就是子进程。 　　
简言之，父进程就是动作的发出者，即操作者；子进程就是动作的接受者，即操作对象。A程序操作（运行、终止、修改等）B程序，或A程序操作（创建、修改、删除等）B文件，A就是父进程，B就是子进程。 
在EQSecure的规则体系中，“所有程序规则”即对所有的程序都起作用的规则。比如你在这里添加一个程序，运行设为“阻止”，那么所有的程序都无法运行该程序；在这里设置一个文件禁止被删除，那么所有的程序都无法删除该文件；“应用程序规则”就是为具体的应用程序，如浏览器、聊天工具、下载工具、看图程序等等设置的规则，规定它们可以进行哪些操作，不可以进行哪些操作。“高优先规则”和“所有程序规则”一样，对所有的程序都起作用，但是优先级最高（优先级下面再说）。
分布如下：“所有程序规则”和“高优先规则”里全部为子进程（父进程为任意程序） ，“应用程序规则”中既有父进程，又有子进程（但是可以不设子进程，此时子进程为所有对象）。 父、子进程在视觉上很容易区分：呈树状结构，父进程比组名缩进一格，子进程比父进程缩进一格。
“所有程序规则”对任何程序都起作用，如果有些程序，我们不想让“所有程序规则”对它起作用，有没有办法呢？只需在“其它设置”里面不选中“搜索所有程序规则”即可。这个选项的意思是把“所有程序规则”中的子进程作为自己的子进程。 为了保证“所有程序规则”名副其实，这个地方默认选中。所以，如果不作专门设置，一个父进程的子进程包括两个部分：“应用程序规则”中该父进程下的子进程和“所有程序规则”中的全部子进程。规则编写编写规则大致存在以下两种思路：1，允许所有“安全的”执行，其余全部阻止。2，阻止所有“危险的”执行，其余全部放行。        
这两种思路代表不同的安全性和性能。基于正常电脑里面的文件“安全的”比“危险的”要多这个理论。要允许所有“安全的”比 阻止所有“危险的”所需要的规则多。"1"性能就自然低下，但也相对安全；"2"相反。
编写规则的原则以下：
原则1：尽量把“允许”的规则写在前，“拒绝”的规则写在后。因为在大部分时间都是运行正常程序，这可以减少匹配时间。可能触发的越频繁的规则写在前，冷门的规则在后。将系统进程规则，杀毒软件规则在前，普通应用软件规则在后。使用通配符会增加规则匹配的时间，但同时会减少规则的数目，是一把双刃剑。
原则2：能在“应用程序规则”写的规则，尽量在这里写。因为这里是直接匹配进程的，效率较高。但过多也不好，能概括的尽量概括。建议不要选上“MD5校验程序文件”和“搜索所有程序”这两个参数。
原则3：FD的“读取”规则放在最前，而且规则数越少越好。因为FD的“读取”非常频繁，对性能影响最大。虽然它对安全性影响很大，但很难用“读取”规则区分正常程序和病毒。除了autorun型病毒是较容易区分的一种。
原则4：FD的“修改，删除”规则是用来保护数据的。建议建立一个“保护文件夹”，里面放要保护的所有文件，用规则来防止里面的修改和删除；再建立一个“临时下载文件夹”，用来下载的，用规则允许对里面文件的操作。下载完成后再移到“保护文件夹”；另外，对系统频繁操作的地方相对集中，就是临时文件夹和ie缓存目录，允许它们的操作；针对exe感染文件，还可以全盘保护exe；保护系统盘的dll，sys，保护ghost备份文件….。
原则5：FD的“创建”规则，所有规则的精华所在。因为它对性能影响不多，尽量详细吧！建议编写的“创建”规则以文件后缀为主，路径为辅，将危险的后缀全部禁止创建。例如，bat，reg，vbs，scr……有一个特别就是*.js文件，允许它在临时文件夹和ie缓存目录创建，但在其他目录创建的就一定要禁止。
原则6：AD规则，按照个人的使用习惯，把自己的软件通通打开一遍，全部允许。再把某几个危险的程序禁止，例如，CMD.exe，format.com 等等。在AD规则中有一个特殊的地方就是“加载库文件”，就是对应用程序加载dll的监控。它的触发频繁度占AD规则的触发70%以上，但用它很难区分正常程序和病毒。EQ自己默认就是“最低优先级允许”的。“最低优先级允许”的意思就是：当一个“加载库文件”事件触发的时候，EQ会查找所有的规则，如果都找不到“加载库文件”相关规则的话，就默认允许“加载库文件”。一个程序调用一堆dll，如果每个dll都经过“最低优先级允许”，那效率多低。干脆就在“黑名单”第一个规则写上“允许加载所有库文件”，变成“最高优先级允许”。
原则7：RD规则，鸡肋！作用又不大，又影响性能。尽量减少规则，保留最重要的，其他除去。或者干脆就把它关闭。规则的优先级与组合即把规则组合起来，实现更为复杂的控制。比如想禁止任何程序运行IE，但又能手动运行，该怎么做？这就需要两条规则配合：禁止任何程序运行IE；允许explorer运行IE，然后让后一条优先执行。这就是优先级的问题，即几条规则都能匹配的情况下，哪条规则先起作用。优先级是高优先规则＞应用程序规则＞所有程序规则，同一类规则中，物理位置排在上面的规则优先级大于排在下面的规则。 即优先级从右到左，从上到下递减。  
作用流程如下： 
当EQSecure拦截到一个操作后，就会先确定父子进程，然后依次在“高优先规则”→“应用程序规则”→“所有程序规则”中寻找相匹配的规则(在同一类别中又按从上到下的顺序寻找），在任何一处找到，即根据设定的参数进行控制，不再向下寻找；找不到则继续寻找。如果在三者中均找不到相匹配的规则，AD按全局规则，即“主界面→保护模式”处的规则执行，RD、FD直接允许。 
“高优先规则”和“所有程序规则”中找的是子进程（因为没有父进程），“应用程序规则”中则是先找父进程，如果找到，再看其下是否有子进程。如果有，应用此规则控制；如果该父进程下没有子进程，分两种情况：如果“其它设置”处选中“搜索所有程序规则”，则在“所有程序规则”中寻找子进程，还找不到则执行父进程的拦截操作；如果没有选中，则不再理睬“所有程序规则”，直接执行父进程的拦截操作。 
以上是说父子进程俱全的情况，还有一种情况，就是在AD中，只有父进程，没有子进程。比如底层磁盘操作、关闭/重启系统、修改系统时间、直接操作系统内核等，操作的是系统本身而不是某个对象。这就简单了，先在“应用程序规则”中找父进程，找到则应用，找不到则按“主界面→保护模式”处的规则执行。 
了解规则优先级是非常有用的。常见有人问，我写了一条规则，怎么不起作用啊？这时候，不光要考虑规则本身是否正确，还要注意是否有优先级更高的规则在起作用。比如，有人在“所有程序规则”中写了一条规则：*.mp3，禁止删除，但是还是可以手动删除。这是因为，在“应用程序规则”中给explorer设了允许删除的规则，而应用程序规则的优先级比较高，所以能够删除。再举一例：在“所有程序规则”中禁止任何程序结束杀毒软件的进程，同时在“应用程序规则”中允许任务管理器结束任何进程，这样用任务管理器可以结束杀毒软件的进程，其它程序则不能。如果在高优先规则中设置禁止结束，则任何程序均不能结束。