搜索
查看: 38774|回复: 180
收起左侧

毛豆D+优先级个人经验随笔

[复制链接]
liudianshui
发表于 2008-10-28 16:59:59 | 显示全部楼层 |阅读模式
本帖最后由 liudianshui 于 2009-12-20 01:25 编辑




        规则的优先级在HIPS类软件中占据着十分重要的地位,置顶帖的教程其实对毛豆的优先级讲得很明白了,但是许多新手还是反映,它的优先级让人头晕,本人在这方面积累了一点经验,希望对毛豆优先级方面有困难的朋友有点帮助,能力有限,错误之处望各位批评指正。
    要掌握毛豆的优先级,本人认为应该解决好以下三方面的内容,(1)明确一般操作、高级操作、确定的操作、非确定的操作四个概念,以及单个程序内部之间的优先关系,(2)具体程序(组)之间的关系,(3)all application对所有的程序的影响。下面给予详细讲解。
     (1)当我们打开任意程序权限配置的时候,可以看见毛豆总共控制了15项行为,每一项行为的右侧提供了ask(询问)、allow(允许)、block(阻止)三个选项(其中运行一个程序为两个),这些选项指的是对待其左侧的该行为所采取的措施,称之为一般操作,或者普遍操作。而部分行为的右侧则带有modify选项,这里面的配置称之为所对应行为的高级操作,分为了黑白名单的形式。对于确定的操作和非确定的操作的理解就更简单了。凡是允许和阻止的操作均为确定的操作,即一般操作的allow、block以及modify内的所有操作均为确定的操作,只有询问的操作才为非确定的操作,它只分布在一般操作的ask选项。这四个概念明白了,以后的内容水到渠成。
     对于单个程序内部之间有如下关系,高级操作优先于一般操作;在高级操作中,allow的操作优先于block的操作,这个主要应用在一些筛选性的操作上,并且和*配合。
     由于一个操作是允许、阻止还是询问,并不单单看这个程序本身的配置,还需要看是否有其他的程序配置对其造成影响,为了新手更容易理解,这里的例子放在第三部分进行详细说明。

评分

参与人数 8经验 +38 人气 +6 收起 理由
中国崛起 + 1 找了半天终于找到了
非正规ID + 1 嘿嘿~~好贴~~
星之梦 + 19 更新辛苦了,加分鼓励
baerzake + 19 版区有你更精彩: )
gwg829 + 1 版区有你更精彩: )

查看全部评分

liudianshui
 楼主| 发表于 2008-10-28 17:00:40 | 显示全部楼层
本帖最后由 liudianshui 于 2009-12-20 00:21 编辑

(2)这里所说的具体的程序(组),指的是添加了例外规则的程序(组),再通俗一点就是在计算机规则里,除去all application之外的所有的程序(组),它们之间对于行为控制可以说没有丝毫的关系,无论以何种排列次序,都不会对彼此的行为控制产生影响,但是它们的排列次序对规则的读取速度是有影响的。部分应用者反应毛豆有些卡很有可能是这方面的原因。由于毛豆的规则是由上而下进行搜索的,所以建议新手把与系统联系紧密的程序(组)及最常使用的程序(组)排在靠前的位置,较少使用的程序(组)放在靠后的位置,这样有利于提高毛豆的效率。现将本人的排序及思路简单的说一说吧,望对新手有点借鉴意义。
     在规则配置里,放在首位的应该是windows system application组,原因非常简单,这些程序是系统的核心程序,任何软件程序都是建立在其之上运行的,将毛豆的程序组放在第二的位置,我们应用毛豆,当然是希望它的性能达到最高,反应最快啦,第三位置的是杀软的监控,以便于让其发现异常文件时最迅速的加以处理,接下来为资源管理器,因为我们的操作都是建立在其之上进行,接下来为浏览器、聊天工具、下载工具、影音播放、字处理软件等实用程序,靠后位置的才为系统相关程序、各种升级程序,因为这些程序应用较少,所以放在了后面,all application则放在最后。总之,对于程序次序的排列应该根据自己的实际情况灵活的加以处理。

评分

参与人数 1人气 +1 收起 理由
pphsxlgb + 1 "再通俗一点就是在计算机规则里,除去

查看全部评分

liudianshui
 楼主| 发表于 2008-10-28 17:01:08 | 显示全部楼层
本帖最后由 liudianshui 于 2009-12-20 00:21 编辑

(3)all application非常重要,许多新手最终没有弄明白毛豆的优先级,其实问题就出在了all application上面,体现在all application是什么没有清晰的认识,它的位置以及配置会不会对每一个具体的程序产生影响,产生怎么样的影响不确定,尤其是它的确定操作对每一个具体程序的非确定操作的影响更是模糊,而这恰恰是毛豆优先级理解的关键所在。对于它,我想从以下几个方面进行讲解。
1)all application是什么,以及all application的位置。
    all application即全局规则,又称为所有程序规则,是所有的程序都必须遵循的原则,它这里的设置是所有的程序应该遵循原则的普遍性概括。它和具体的程序一样遵循高级操作优先于一般操作,高级的允许操作优先于阻止操作,和具体程序规则不同的是它的确定操作会直接影响到每一个程序的非确定操作,若位置未排在最下方,它的确定操作会影响到其下面的所有具体程序的确定操作。
    关于all application的位置,论坛曾经出现过两种声音,一种认为,为了建立准确的配置关系应将它放在最下面,另一种认为,无论它放在那个位置,优先级都是最低的,其实这两种说法都有道理,只是所占的角度不同,第二种说法只适用在毛豆默认的配置上,具有很大的局限性,如果在这里进行某些确定的配置,基本上可以肯定是会出问题的,而第一种说法,适用在任何情况下,适用面广,没有局限性,为了达到准确的配置关系,也为了新手能有一个更清晰的逻辑思维,在这里还是建议将它放到计算机程序配置最下方。以下的讲解都是围绕它的位置在最下方进行讲解的。

评分

参与人数 1经验 +10 收起 理由
冷冷 + 10 精品文章

查看全部评分

liudianshui
 楼主| 发表于 2008-10-28 17:01:30 | 显示全部楼层
本帖最后由 liudianshui 于 2009-12-20 01:58 编辑

2)一个程序,对于它控制的行为最终作出何种动作,是询问、是允许、还是阻止,其实是它本身配置和all application配置这两者的综合考虑(其它的具体程序配置在思考时可以略去,因为它们与这个程序在行为控制上毫无关系,这在上面已做解释)。
    先说最简单的一种情况吧,在具体程序中不含有询问的配置,或虽然有询问的配置,但未起到真正的询问作用。此时只需要考虑这个具体程序内部之优先关系即可,其下方的all application 无论是怎样的配置均不会对其构成影响。这也可以叫做毛豆的确定即执行的特点。以下举几个实例。
例1,如下图,这是explorer.exe的fd的配置,大家跟着我的思路一起走吧。
  
20081029_9edd7abc33388058ad88uBobwVgh2CpU.jpg
  
20081029_f2e63dbc28801a9920aetcc3xbZUnxiX.jpg

  
20081029_4b34229b38c545db0d6c5cxjB1TK0t8j.jpg

分析:explorer.exe fd  一般操作allow (确定),
                                        高级操作 空    (不会对一般操作产生限制作用),
结果:explorer.exe可以操作任何受保护的文件。
说明:由于explorer.exe未含有不确定的操作,所以只考虑其自身规则配置即可,其下的all application无论什么样的配置都不会对其构成影响。
例2,下图是ie的运行配置,大家顺着我在例1的思路自己整理一下试一试。
  
20081029_aa3d176de5680b87df69cGisDZXQkJkQ.jpg


  
20081029_5fd62d8f8faed942b1fbDhO7ytPBt4zf.jpg


20081029_2c17730f25f571003df9ULPP8wtKiBHK.jpg
结果是什么样的呢,没错,ie不会运行任何程序的,以上是最简单的例子,下面我们增加些难度。
例3,同样以ie为例,如果我们在modify里增加内容,会出现什么样的结果呢。如图,
  
20081029_3f4c930dbe32671537bf0goU48GMUp9R.jpg

  
20081029_7754b935354a0ecdbfc3QcWGDfXdEEJK.jpg

  
20081029_47b8aaf0e6cf9fc86097oQj9LICQY6MD.jpg

   分析:ie 运行一个程序     一般操作          block            (确定)
                                           高级操作     allow winrar.exe (确定)
   结果:由于高级操作优先于一般操作,ie只能够运行winrar.exe,其他的程序全部阻止。是不是很简单。
例4,如下图,这是一个taskmgr.exe结束进程的例子,大家参照例3的分析,自己思考思考。
  
20081029_631e339788636738dcf0qAq76MtIgsYi.jpg

  
20081029_627179ddfa58400ef74cuaHuYqo6203p.jpg

  
20081101_cac6e63045a7dd4199405jJVJtESkRCz.jpg

结果:taskmgr.exe可以结束任何进程,但是在C:\WINDOWS\system32目录下的所有exe文件的进程却结束不了。
例5,如图,我们再在例4的基础上增加一点难度,大家思考一下,其实也非常简单的。
  
20081029_5560459d6698e05d40c767OU8YqkItcg.jpg

  
20081029_b23df42b213511b8207fYFnsLj7G5z9j.jpg
  
20081029_bdf43a916e0918f117313nPsTpOhQEjp.jpg

分析:taskmgr.exe  进程终止      一般操作        allow                                                    (确定)
                                                   高级操作         block C:\WINDOWS\system32\*.exe    (确定)
                                                   高级操作         allow C:\WINDOWS\system32\alg.exe (确定)
结果:它不允许终止system32下除alg.exe外的所有exe文件的进程。只考虑单个程序内部的优先关系即可。注意后面判定均是确定的。确定即执行。最后的all application不予考虑。
       以上是一般操作或一般操作和高级操作都为确定时的考虑思路。还有一种情况就是一般操作虽含有不确定操作,但是一般操作的询问配置不起任何作用。在这里也提及一下,举予一个例子。
例6,如图,这是explorer.exe的运行配置,
  
20081101_110350020061f6d7c71e0OvD4jWMa0ku.jpg

  
20081029_ea24ac2845be4877cc18DmqZyk58Mzag.jpg


  
20081029_becb53b4df0d8c48323fFH68xBachDVp.jpg

分析  explorer.exe   运行一个程序    一般操作      ask                                         (非确定)
                                                         高级操作     block       *                               (确定)
                                                        高级操作      allow C:\WINDOWS\*.exe
                                                                                     C:\Program Files\*.exe   (确定)
它的匹配结果就不多说了,只想说明一点,那就是这个一般操作的选项是不起任何作用的,无论选择那个选项,其匹配都是一样的结果,因此也把它归为只考虑具体程序内部优先关系一类。
以上是我对只考虑自身配置,不必考虑all application在应用中所有会遇到的情况各举了一个例子。希望新手好好领会。

评分

参与人数 1人气 +1 收起 理由
qq443773867 + 1 人气送上

查看全部评分

liudianshui
 楼主| 发表于 2008-10-28 17:01:47 | 显示全部楼层
本帖最后由 liudianshui 于 2009-12-20 01:24 编辑

以上我们讨论了具体程序的确定操作,那么对于具体程序的非确定操作呢,这时只要把注意力放到all application上,分析它内部的匹配关系即可,如果该操作是确定的,那么就执行确定操作(即是allow的执行允许操作,是block的执行阻止操作);是非确定的(ask的),则跳出弹框,让用户决定,是不是很简单,同样举例说明吧。
        以下是我的资源管理器配置图,可以看见c盘Program Files和WINDOWS目录下的所有exe文件是确定的,直接执行,那么我要执行桌面上的a.exe程序,它在资源管理器是非确定的操作,怎么办,其实只要分析all application内部的优先关系,查看它对这个a.exe是如何配置的即可,执行它对这个a.exe的配置结果。
  
20081101_110350020061f6d7c71e0OvD4jWMa0ku.jpg

  
20081101_97de8cc1ce0d1187a7955dGijAaLmtb8.jpg

  
20081101_d5e899d91b379f2f7af20LytiYqvDiyO.jpg

比如all application的配置是这样的。如下图,
  
20081101_ecbd6c79c3c61ffdaeb5RuPkfNmAG3fL.jpg

  
20081101_cede113cae8b5f87ae93X1V1FCzCv0lO.jpg

  
20081101_cac6e63045a7dd4199405jJVJtESkRCz.jpg

同分析具体程序内部的优先关系一样分析all application的优先关系,可得a.exe是block,则最后的配置结果为资源管理器阻止a.exe运行。
         对于all application配置为询问和允许的我就不在列举例子,大家照这个样子分析即可。
3)新手最容易出错的一个地方,同样举例说明吧,
如,explorer.exe运行一个程序的一般操作为ask,高级操作为block A.exe。
而其下的all application运行一个程序的一般操作为ask,高级操作为allow A.exe。请问explorer.exe能否运行A.exe这个程序。
         一些新手可能会认为explorer.exe可以运行A.exe这个程序。原因是all application的高级操作的优先级为allow,即所有程序都允许运行A.exe,当然explorer.exe也允许啦,而由于高级操作的allow优先于block,所以会运行。
         其实犯此错误是因为未能真正明白高级操作优先级配置的适用范围,在第一条里已经做了说明,高级操作的allow优先于block,只适用在单个程序内部,在程序之间不存在这样的匹配关系。
        正确的解释应该用确定即执行的思路。即因为explorer.exe运行A.exe阻止,是确定的,所以直接阻止,不会在其下的all application内继续搜索。
        这是新手非常容易犯的错误,希望能够好好的理解。
4)最后再讲一讲,为什么all application必须放到最下方。
        其实这个非常简单,能够理解了上面的确定即执行就会明白,若上面的explorer.exe和all application交换一下位置。会出现什么样的结果呢?没错,explorer.exe会运行起A.exe这个程序的。因为all application运行A.exe允许,即所有的程序都可以运行A.exe这个程序,所有的程序都可以,当然explorer.exe也不例外,它也可以运行,以至于其下的explorer.exe运行A.exe的配置失效。我们通过这个例子,仔细的想一想,由于all application代表所有的程序,它的配置对所有的程序都起作用,毛豆的特点又为确定即执行,会出现什么结果呢?是的,其下面的所有的具体的程序的确定配置都被all application的确定配置限制了,其下面的所有的具体程序的确定配置都不会起作用了,因为all application已经做了确定的配置,确定了以后,是不会向下继续搜索的,所以,为了建立精确的匹配关系,all application应该放在计算机规则配置的最下方,除非使用默认的毛豆配置。
        对于程序的自我保护,其思考方法和权限配置相似,由于在实际操作中较少用到,未作讲解,感兴趣的朋友自己下来总结一下吧。



评分

参与人数 1经验 +6 收起 理由
gwg829 + 6 精品文章

查看全部评分

秘书
发表于 2008-10-28 17:14:35 | 显示全部楼层
沙发我要了 仔细看看 互相学习
bbbxyoiil
发表于 2008-10-28 17:51:27 | 显示全部楼层
学习学习学习再学习..........
走丢啦
发表于 2008-10-28 18:35:34 | 显示全部楼层
LZ加油!等待你的下文!!
lywqjhxsl
头像被屏蔽
发表于 2008-10-28 19:23:43 | 显示全部楼层
第一次听说,看来要好好学习了
223311
发表于 2008-10-28 20:41:44 | 显示全部楼层
好文章,曾经MM的帖子和回复,确实有独到之处。学习了。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛|卡饭乐购| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 苏ICP备07004770号 ) GMT+8, 2019-11-13 17:48 , Processed in 0.103522 second(s), 21 queries .

快速回复 返回顶部 返回列表