查看: 42959|回复: 54
收起左侧

[讨论] COMODO设置的注意事项以及设置项之间的逻辑关系(修正)

[复制链接]
伯夷叔齐
发表于 2008-5-15 05:41:05 | 显示全部楼层 |阅读模式
本帖最后由 mxf147 于 2011-5-31 12:38 编辑

一、关于数字签名文件加入到COMODO信任软件商的作用
(一)为什么添加数字签名


在运行这些已经列入“safe list”的程序的时候,COMODO将不会报警而自动生成允许规则。一旦程序的哈希值被恶意软件修改,那么COMODO也将报警。

(二)添加签名与“映像执行控制”报警的关系
以下,我们就来看看IMAGE EXECUTION CONTROL SETTINGS通过什么机制报警。先来引用一下“火鸟”版主在教程里的一段对image execution control settings的解释:
引用U版的话“在每一个可执行文件被载入内存前给予验证、提示。

程序平时是以文件形式保存在硬盘,在运行时载入内存。我们一般把可执行文件叫做程序的映像(image) 。
一个进程是一个正运行的应用程序的实例;
进程是进程映像(Process Image)的执行过程,也就是正在执行的进程实体。

Image Execution 是对可执行文件载入内存进行控制,会影响Policy里的Run an executable”

什么意思呢?就是如果选了Aggressive,即使你的可执行文件在策略中已经允许运行了,但是comodo还是会报警提示。在可执行文件尝试加载入内存或缓存时会被comodo拦截。


normal就是在可执行文件尝试加载入内存会被comodo拦截,但加载入缓存是不会拦截的,这是comodo的默认设置,建议不要改动。

如图:

说明:在“干净模式”或“安全模式”下初次运行程序建立规则或运行已建立规则的程序时,COMODO将计算载入到内存的执行文件的哈西函数,通过对照在COMODO收录到“安全列表”里的已知程序和已认可的程序的哈西函数,以负责验证载入内存的每个执行文件。但如果D+是设置到Paranoid Mode模式,那么“哈希检测”将无法生效,在程序运行建立规则时,COMODO将报警每一个程序行为,哪怕在“safe list”里它被认为是安全的。

(三)安全列表(safe list)的范围
收录到“安全列表”里的已知程序和已认可的程序包括:
1、COMODO白名单“已知”安全的程序;
2、签名添加到“信任软件商”的“认可”程序;
3、在“SAFE模式”和“PC CLEAN模式”下,当未被“确认”的程序报警时,作为信任程序(Trusted application)或作为系统程序(windows system application)添加到规则的程序;
4、添加到“my own safe files”里的程序,当某程序添加到“my own safe files”后,那么这个程序包括它的子文件夹的组件,也一起处于“safe list”监视状态中;
在safe mode或clean PC mode下,所有“safe list”下的程序,将受COMODO的全面保护,以监控哈希值是否被恶意程序修改。

(四)程序D+列表中程序规则的排序和“safe list”的关系
1、我们可以看到,在SAFE MODE或CLEAN PC MODE下,只要已列入COMODO的“safe list”,那么规则就自动生成,且全部都生成到all applications之下(除作为Trusted application和windows system application添加的程序之外),如果选择预设的trusted application或windows system application,那么程序也将添加到“safe list”里,同时此程序的所有行为,将被COMODO自动允许且生成规则,除以预设Trusted application和Windows system application方式添加的规则在列表最上面逐次建立外,这些自动生成的规则将在D+程序列表的最后面逐次建立;

2、而对于报警后仅仅允许执行单项行为并记忆的未知程序,或clean PC模式下的属于“my pending files”的程序,那么D+规则将在列表的最上面逐次建立。
如图


(五)程序D+列表中程序规则排序和优先级的关系

1、all applications是D+的全局规则,对所有“unrecognized”(未认可)程序,正是基于它限定的全局性模糊(ask)规则,都需要询问;

2、上图中,凡是自动建立的规则,对于程序的每个行为,都是以“允许”和“例外允许”的方式建立,那么程序需要运行的行为,都是清晰规则和例外规则。在这样的条件下,一旦all applications里的某些行为修改为如block这样的清晰规则,或对具体行为有作为例外阻止的项,那么根据清晰规则的排序优先级逻辑,将对以下的自动生成规则的程序进行全局控制,它们的“允许”或“例外允许”的也必须先遵循all applications的全局设定而不能无任何限制的独行其事。

因此建议,用户在safe mode或clean PC mode这两个模式的任意一个模式下建立规则,且模式不变的情况下,没有必要调整任何程序D+的顺序。


二、关于防火墙“杂项”里关于设置的一些说明:


(一)个人关于协议分析的理解
说到上图中的协议分析,那么下面就通过一个最常见的例子来说明TCP协议通讯过程以及用到的基础概念以及与协议分析的关系:
TCP协议在能够发送数据之前就建立起了“连接”。要实现这个连接,启动TCP连接的那一方首先将发送一个SYN数据包。这只是一个不包含数据的数据包,然后,打开SYN标记。如果另一方同时在它收到SYN标记的端口通话,它将发回一个SYN+ACK:SYN和ACK标志位都被打开,并将ACK(确认)编号字段设定为刚收到的那个数据包的顺序号字段的值。接下来,连接发起方为了表示收到了这个SYN+ACK信息,会向发送方发送一个最终的确认信息(ACK包)。这种SYN、SYN+ACK、ACK的步骤被称为TCP连接建立时的“三次握手”。在这之后,连接就建立起来了。这个连接将一直保持活动状态,直到超时或者任何一方发出一个FIN(结束)信号。
任何一方都可以关闭一个TCP连接,要求双方发送一个FIN信号关闭自己的通讯频道。一方可以在另一方之前关闭,或者双方同时关闭TCP连接。因此,当一方发送一个FIN信号时,另一方可发送“FIN+ACK”,开始关闭自己一方的通信并且确认收到了第一个FIN信号。发送第一个FIN信号的人接下来再发送一个“FIN+ACK”信息,确认收到第二个FIN信号。另一方就知道这个连接已经关闭了,并且关闭了自己的连接。发送第一个FIN的人没有办法收到最后一个ACK信号的确认信息。这时它会进入“TIME_WAIT”(等待时间)状态并启动一个定时器,防止另一方没有收到ACK信息并且认为连接仍是打开的。一般来说,这个状态会持续1至2分钟。
从上面这段引述中,可以了解到如何通过TCP协议建立通讯传输和结束通讯的过程和处理机制,TCP数据包包括了包头信息和数据信息两部分。包头信息其中就包括TCP数据包标志位,它们有:SYN ACK PSH FIN RST URG等。协议分析很大程度就是在分析数据包这些标志位的组合与关联性,以发现来的哪些数据包时该接收的或该丢弃的。

精炼的U版的一句话,当然,这个说法现在适用于V3:
Comodo V2.x 没开放可以控制TCP标志的底层规则,是因为Comodo已经通过Do protocol analysis 实现,甚至更全面。因为Comodo实现了TCP/UDP SPI,可以控制TCP标志的底层规则,之所以没有开放控制TCP标志的规则,是因为一但出错,会破坏TCP SPI的正常过滤,反倒不安全。


当然,协议分析远不止数据包头标志位,还包括IP版本、首部长度、服务类型、数据包总长度、标识ID号等等信息。。同样,也远不止于传输层的TCP,UDP协议,也包括OSI7层的所有协议以及协议之间的关联。

(二)个人关于数据包校验的理解
上图中,我们大概了解到包校验过滤,但对具体使用还不甚明了,这里做一个解释:
每个数据包在首部都有一个通过哈希算法得出的校验值,通过这个校验值 接受方可以判断这个数据包是否完整接受,如果你经常出错,那可能链路存在比较严重的丢包和错包,不过对于小带宽高负荷的internet线路来说这是难免的。

网络层是“尽最大努力完整的传输数据包”,差错检测已由数据链路层实现,IP层没必要再进行一次校验。

优点就是:因为不负责差错检测和纠错,所以可获得较高的传输性能。

缺点就是:因为IP层不负责差错检测,那么错误检测只能在传输层或应用层被发现,使纠正错误的时间增加了。

试想一下,如果两台PC跨INTERNET通信,之间隔了很多台路由器,PC1给PC2发了个数据包,到达第一台路由器后,因为原来二层协议为ETHERNET帧,广域网要使用HDLC或者PPP协议,如果在这转发的过程中,数据包发生了错误:

1-因为IP层不做差错校验,所以第2台路由器通过广域网协议(HDLC、PPP等)收到数据后,只要数据链路层正常,它就无法得知收到的IP包是否正确,错误就会这么一直传递下去,至到PC2才被发现,然后再重传。
这过程浪费了网络带宽和中间若干路由器的资源。

2-如果IP可以实现差错校验的功能,那么到了第2台路由器时,路由器2就不会再继续发错误包了,错误就会终止。

不过现在网络传输的误码率都极低,所以IP层没必要再做一次校验!

以上可以分析出,此项功能是特指当作为服务器时,在IP层的一个包校验机制,个人认为,作为个人用户,那么可以不勾选此项。防火墙丢包测试地址为http://www.hackerwhacker.com/freetools.php第三项。(TCP/UDP数据包也会有首部校验值,唯一和IP包不一样的是,TCP/UDP数据包的校验和包含了首部报头部分和数据信息部分,而IP数据包的首部校验和仅仅包括包头部分)

(三)顺带对加密通讯说一下个人的理解(与COMODO无关的题外话)
注明:以前我曾经有过对包校验的错误理解,提到了它和网络加密通讯的联系。包校验应该和加密通讯是没有必然的联系的,加密通讯仅仅是绕过ISP服务商与特定站点进行的通讯,网页的访问会使用到HTTPS协议去访问服务站点的443端口,邮件传输会用到IMAP协议去访问指定站点的143,993端口。

当然既然已经提到过加密通讯的问题,那么通过以下两个图来谈一下加密通讯问题:


SSL   的英文全称是   "Secure   Sockets   Layer "   ,中文名为   "安全套接层协议层   ",它是网景(   Netscape   )公司提出的基于   WEB   应用的安全协议。SSL协议可分为两层:   SSL记录协议(SSL   Record   Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL是Security   Socket   Layer的缩写,技术上称为安全套接字,可以简单为加密通讯协议,使用SSL可以对通讯(包括电子邮件)内容进行高强度的加密,以防止黑客监听您的通讯内容甚至是用户密码。
SSL套接字层协议属于会话层的一个协议。

上图浏览器里,如果我们某款软件有数字签名,但颁发者或签名者还不在列表里,那么我们就需要对这样的数字签名文件进行安装,使它的签字人名称,签署机构等要素添加到浏览器里,当然,也可以通过浏览器进行导入,这样,这些软件与指定官方站点的通讯将在加密状态下执行,客户端将访问的是HTTPS 443端口。



(四)“监控程序用TCP/IP协议之外的NDIS驱动”选项(Network Driver Interface Specification【NDIS】 网络驱动程序接口规范
1、个人防火墙在没有开放程序服务的环境下,其主要工作就是阻止非请自来的数据包,还是引用U版的一句老话,没有不安全的端口(即使是因用于某项服务而开放某端口),只有不安全的程序。

“杂项”一图中,如果不选择第四项,且没有对其他协议应用的需求,那么我们应该怎么来去掉这些毫无必要,且惹祸上身的TCP/IP协议之外的协议和服务呢,如下图:

2、上图中,作为单机用户,没有特殊需要,就保留internet协议(TCP/IP)和“Qos数据包计划程序”就可以了。当然,对于“Qos数据包计划程序”的使用与否,需要用户根据具体情况,自己作出对比,比如迅雷下载达到最大速度时,再进入一个数据流量相对较大的网页,看看开放与关闭“Qos数据包计划程序条件下”,迅雷速度的变化大小以及网页浏览进入的快慢。默认情况下,数据包计划程序将系统限制在 20% 的连接带宽之内。感觉此项还是有相当的实际作用和价值,网络上很多人说没有必要,感觉是没有结合到各种用户使用需求的人云亦云的说法;

作为局域网用户,如果需要访问其他电脑的资源,如共享别人的文件夹和打印机,那么就保留或添加“MICRSOFT网络客户端”;

同样作为局域网用户,如果需要其他电脑访问你的电脑资源,那么就保留或添加“MICRSOFT文件打印共享”

3、同时,我们还可以在D+程序规则中找到all applications,在它的文件夹/文件保护里的阻止项里添加3rd Party Protocol Drivers FD(第三方协议驱动),以作为所有程序的全局规则,以阻止对这三个设备驱动接口的修改。
\Device\NPF_*————管理此设备驱动接口的驱动文件路径在c:\windows\system32\driver\npf.sys  一些木马会修改该驱动设备,进行ARP欺骗攻击;


\Device\Ndisuio————管理此设备驱动接口的驱动文件是ndisuio.sys属于NDIS User Mode I/O (NDISUIO)协议驱动,用于支持无线设备,例如蓝牙之类。

\Device\NdisTapi————管理此设备驱动接口的驱动文件是NDISTAPI.sys。TAPI也叫“电话应用程序接口”,属于NDIS驱动
NDISTAPI.sys驱动实现机制上存在漏洞,本地攻击者可能利用此漏洞对系统执行拒绝服务攻击;同时,
NDISTAPI.sys驱动是内核态组件,但允许非特权用户的访问,因此任意用户态应用程序都可以向这个设备写入数据。

当我们没有用到以上非TCP/IP协议的NIDS驱动程序时,建议用如上方法,对如上三个“第三方协议驱动接口”加以D+全局性阻止。

三、COMODO组建网关服务器选项


四、请玩D+的朋友当心,删除文件保护、注册表保护、COM保护里的所有组名,即使自己手动添加同样的组名和组项后,同样会造成保护功能的失效。但修改组名不会造成这样的问题。


五、对恶意软件的行为启发报警(此项补充要感谢huai168an网友的测试和大力的技术帮助
在Paronoid mode、safe mode和clean PC mode这三种模式下,COMODO都会对嫌疑恶意软件进行行为启发报警,以指明某程序存在恶意行为。但不同的模式,对有嫌疑的程序的界定有所不同。经过验证,当COMODO确认某程序为疑似的恶意破坏程序时,它对这样的程序监控的机制将更加严格。当然,防火墙部分的custom policy mode和safe mode也会对嫌疑恶意程序的网络通讯进行行为启发报警,不同模式,界定不同。
如图:


(完)

[ 本帖最后由 伯夷叔齐 于 2009-1-24 09:07 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1经验 +30 魅力 +1 收起 理由
某某猫 + 30 + 1 感谢修订工作:D

查看全部评分

某某猫
发表于 2008-5-15 08:09:57 | 显示全部楼层
很庆幸我编辑规则的时候没把文件保护的默认组删掉
baerzake
发表于 2008-5-15 09:25:36 | 显示全部楼层
不错的文章,一大早就能看到好文,很好很强大
huai168an
发表于 2008-5-15 09:35:25 | 显示全部楼层
Important Files/Folders 组名被我改成了“FD_Important Files/Folders FD_重要的文件和目录”,影响了?
某某猫
发表于 2008-5-15 09:37:57 | 显示全部楼层

回复 4楼 huai168an 的帖子

修改没影响
伯夷叔齐
 楼主| 发表于 2008-5-15 09:39:21 | 显示全部楼层
原帖由 huai168an 于 2008-5-15 09:35 发表
Important Files/Folders 组名被我改成了“FD_Important Files/Folders FD_重要的文件和目录”,影响了?
删除后,添加同样的组名和组项,会影响我强调的那两项组的功能。什么道理,不太明白。
我没有改动过,现在也不敢随便改动了。你可以发截图来一看吗?呵呵,我就看它“灰”没有,或者是根本就不显示出来了。————开个玩笑!谢谢你的支持。

对回帖的两位版主,也表示敬意和感谢。

[ 本帖最后由 伯夷叔齐 于 2008-5-15 09:46 编辑 ]
love8yun
发表于 2008-5-15 09:42:03 | 显示全部楼层
好文章,踩一脚
baerzake
发表于 2008-5-15 09:48:45 | 显示全部楼层

回复 6楼 伯夷叔齐 的帖子

修改无所谓的,我全改了,删除没试过,估计删除和注册表有关?所以造成失效?
清青灰菜
头像被屏蔽
发表于 2008-5-15 09:53:52 | 显示全部楼层
嘿嘿,真的是一大早就看到好帖,占座看各位高手讨论,偶也学学点东西[:27:]
choco_dove
发表于 2008-5-15 10:32:13 | 显示全部楼层
这个时间发技术类文章,无敌了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-22 04:35 , Processed in 0.144939 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

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