查看: 9798|回复: 22
收起左侧

初探COMODO MEMORY FIREWALL内存防火墙(修订定稿版)

[复制链接]
伯夷叔齐
发表于 2008-1-25 07:30:55 | 显示全部楼层 |阅读模式
COMODO内存防护墙是一个缓冲溢出检测和预防工具,它针对互联网上的最危险和最普遍的攻击方式——缓冲溢出攻击——提供了最顶级的防御。

缓冲溢出攻击可以导致你电脑的数据资料被盗取,计算机死机,系统遭到破坏,COMODO内存防火墙可以抵御大部分类型的利用缓冲溢出攻击。当一个恶意程序或脚本蓄意传送更多的数据到到它的内存缓冲,直到缓冲区不能承载导致溢出,这时,这种攻击手段便可能发生。

一个成功的攻击可以在系统里创建一个黑客可以进入的后门。所有攻击的目标就是为了去安装恶意程序到这台被控制的电脑,在这儿,黑客可以格式化你的硬盘,盗取用户的重要信息和资料,甚至安装程序,把你电脑变为一个“僵尸”(肉鸡),以作为对第三方PC或服务器进行DDOS攻击的中转和攻击点。

在计算机安全和编程里,缓冲溢出是一个编程错误,它导致内存存取出现例外,程序中断,或者留下系统安全隐患和恶意破坏的突破口。该产品的目的就是为系统管理员以及用户去侦测内存堆栈部位中可疑的执行代码,并提供保护。

COMODO内存监控监测以下的攻击类型:
对内存里栈(可以储存信息并可以按倒序提取的信息)的缓冲区溢出的侦测
对内存里堆(用于储存重要资源的特别记忆区域)的缓冲区溢出的侦测
对Ret2libc攻击的侦测(libc是提供用户程序和内核之间的接口的 C
对corrupted/bad SEH Chains的侦测(利用SEH壳掩护的一种攻击方式)

安装后,COMODO内存防火墙自动保护电脑里的所有程序。默认设置里开始只有“All the other applications(所有其他程序)这一项。当运行程序,一旦出现针对程序的缓冲区溢出攻击或攻击嫌疑,内存防火墙自动发出提示,并让你选取合适的操作。


当点击上图中的“ADD”就会出现如下的提示框,用户可以根据自己的要求设置:

Do Nothing:仅仅允许
Ask the user:显示“攻击报警”对话框去自行判断和选择


以上的设置其实都不需要进行设置,因为平时我们遇到的缓冲区溢出攻击比较少,当报警提示出现时,那么就应该足够引起你重视了,建议勾选记忆以定义规则,选择KILL以中断程序。如果想体验报警的快感,那么就直接KILL,在多次的这样的遭遇中增强对溢出攻击的印象,如果你有机会经常遇到这样的攻击,以体验使用CMF的快感。呵呵。

对邮箱或邮箱管理软件溢出保护的设置,比如对搜狐的发送邮件服务的溢出保护设置如下:

当然,用户也可以对110端口进行设置,或者其他代理发送和接收端口进行设置。。但很可惜的是,好像它只能够对一个用于服务的端口设置。

现在就说关键部分了,缓冲区是内存中存放数据的地方。在程序试图将数据放到机器内存中的某一个位置的时候,因为没有足够的空间就会发生缓冲区溢出。而人为的溢出则是有一定企图的,攻击者写一个超过缓冲区长度的字符串,植入到缓冲区,然后再向一个有限间的缓冲区中植入超长的字符串,这时可能会出现两个结果:一是过长的字符串覆盖了相邻的存储单元,引起程序运行失败,严重的可导致系统崩溃;另一个结果就是利用这种漏洞可以执行任意指令,甚至可以取得系统root特级权限。

缓冲区是程序运行的时候机器内存中的一个连续块,它保存了给定类型的数据,随着动态分配变量会出现问题。大多时为了不占用太多的内存,一个有动态分配变量的程序在程序运行时才决定给它们分配多少内存。如果程序在动态分配缓冲区放入超长的数据,它就会溢出了。一个缓冲区溢出程序使用这个溢出的数据将汇编语言代码放到机器的内存里,通常是产生root权限的地方。仅仅单个的缓冲区溢出并不是问题的根本所在。但如果溢出送到能够以root权限运行命令的区域,一旦运行这些命令,那可就等于把机器拱手相让了。

所以HIPS对于缓冲区溢出攻击绝对是勉为其难的,所以缓冲区溢出保护工具并非和这些安全软件功能重叠,它绝对是一股新的生力军,比如现在卡巴,瑞星等很多安全软件都加入了对这个部分的专门保护项。

言归正传,之前我们说道不用做任何设置,那么怎么阻止针对内存缓冲区溢出的攻击呢。那是因为当遇到这样的攻击或攻击嫌疑时,此保护软件会自动跳出一个警告框,以让用户采取措施,包括采取措施并定义,或采取临时措施,而不定义。如下图:

如何增加程序并定义,就不介绍了,和COMODO防火墙+DEFENCE+一样的方法,如何具体定义,请看上图作为参考
点击上图右下角的ATTACK DETAILS,我们将看到可疑程序攻击的一些具体数据:



最后看一下攻击记录,如图:





下面我们就运用COMODO官方的一个针对溢出保护软件的溢出测试工具来讲解一下:

安装好此测试软件后,运行,测试程序将执行三个制造溢出行为,出现如下界面:


(一)COMODO防火墙D+部分的阻截:

(1)执行TEST,COMODO的D+开始报警,显示BOTESTER.EXE已经在执行它生成在临时文件夹里的BOTESTER32.EXE文件,行为启发报告恶意软件。如果记忆并阻止,那么此程序的任何行为(包括三个制造溢出行为)都将被阻止,如果是阻止而不记忆,那么三个行为都将分开询问,而且在下一次再次运行这个测试时,D+由于没有形成规则,将继续询问。如图:


(2)这个时候,测试软件显示错误,而无法进行测试:


(二)COMODO MEMORY FIREWALL部分测试

(1)对于远程溢出工具攻击的黑客,那么D+这样的HIPS软件可能就会无能为力,那么我们关闭D+,来真正开始对COMODO MEMORY FIREWALL进行测试,撇开整体防御,来独立的看它的防御能力。当运行测试软件时,CMF报警:


这是,测试软件的状态处于测试中:


每当出现一个攻击报警,我们不记忆,并阻止后,CMF里的记录项里都会自动生成一条记录:




由于没有记忆采取的措施,所以溢出程序列表里并没有生成此程序的规则:


同样,三个测试项,每当报警一次,你阻止后,测试软件都会显示一条有防护软件在保护的测试结果,三个测试都报警,并被阻止后,测试软件显示为:


从CMF的报警框里的三个报警的攻击细节里(ATTACK DETAILS),我们可以分别看到他们都是针对缓冲区哪部分的攻击:

这是针对堆的攻击:


这是针对栈的攻击:


这是采取的利用RET2LIBC的攻击,攻击位置不明:


如果当我们记住规则(定义)并阻止后,CMF直接三个都同时阻截,不仅仅LOG里会有阻止记录,而且程序列表里也会自动添加这个程序,形成规则,以后如果再有这个程序的溢出漏洞或攻击行为,那么CMF不会报警而直接阻止:




此帖主要是抱着讨论学习和推广的角度,想起到抛砖引玉的作用和制造大家在讨论COMODO防火墙的同时,也形成一股讨论COMODO内存防火墙的氛围,以增加我自己和广大爱好者的学习和进步。此帖肯定有很多错误之处和疏漏之处,而且应该很多,所以特请U版和各位高手指正。


为回复以下网友的问题,特发补充部分释疑和图片:

COMODO内存防火墙不占用CPU,物理内存在我个人电脑上占用2M多点,调用许多程序时,CPU和内存占用比较恒定,几乎无变化。还有一点必须要解释的是,是否拖系统有些时候并不是看CPU占用和物理内存占用情况,具体情况我个人不太明晰,也许是比如是否对使用的操作系统有很好的优化等原因吧,所以才出现以前的卡巴尽管内存CPU占用都很小,但依然很卡电脑的情况,还有必须强调的是,对于现在至少1G的内存容量,我想7M也不会让电脑用户捉襟见肘吧,主要是看实际运行效率,我们用户为什么要买大容量内存,就是拿来占用的嘛,呵呵。CMF给我的感觉很不错,当没有溢出攻击行为发生时,一点都没有感觉到它的存在。


题外话:很多内容都是翻译和网上搜寻,所以从黑客入侵的角度来看,采取了哪些方式,我也不是很明晰,当然作为一个使用防火墙等安全软件两年的老菜鸟(姑且这么称呼自己吧)对各种安全软件的试用以及长期积累的从防护角度出发的各种实践经验和相对浅显的理论知识了解,我大致能够猜测到黑客攻击方式的某一种两种:

(1)其中一种内存缓冲区溢出攻击方式,手段就是先通过端口扫描软件找到适合攻击的用户的IP,并找到端口漏洞,用远程缓冲溢出工具对用户的电脑注入制造缓冲区溢出的恶意代码,如果他能够走到这一步,那么也就是说,你电脑几乎就举白旗了,然后,他可以通过被制造出的溢出的程序来控制电脑的权限,走到这一步,他甚至可以关闭你防火墙和杀软的监控!!那么接着,他就可以大大方方的注入木马到你电脑里了。在注入溢出代码阶段,防火墙的过滤能力就开始起作用了,这才是真正比较防火墙能力强弱的关键之一!一旦这样的代码通过防火墙,不知道杀软和HIPS软件对这样的恶意代码的内存监控能力怎么样,但我想,防火墙和如CMF这样的BO软件应该是站在第一线,而杀软和HIPS紧随其后,可能HIPS对于这样的远程攻击方式,作用很小;

(2)还有一种手段就是网页挂马,这样的木马是专门针对电脑溢出攻击,在这个时刻,防火墙完全是无能为力,杀软和HIPS的能力就可以充分发挥出来了,它们代替CMF这样的BO软件而站到最前线,好的杀软,优秀的网页监控和浏览器缓存监控就可以发挥强大的作用,一旦漏掉制造漏洞的木马,那么HIPS马上从木马的行为进行阻截,BO软件紧接其后,在前两者无法阻拦的情况下,对内存进行最后一道把关,如我们在浏览网页时,杀软监控经常拦截到的如以EXPLOIT.HTML命名的木马,就应该就属于漏洞攻击类型木马,其中很大不恩就是溢出攻击的木马类型;

(3)从CMF的设置项里我们就大致了解了,那就是通过邮件制造的缓冲溢出攻击方式。

以上三个攻击方式共同点就是必须有开放或制造出一个端口漏洞,所以防火墙过滤能力就是一个关键中的关键。


上次看到某论坛的一个帖子,看到瑞星套装里的内存缓冲区溢出保护项出现的漏洞攻击好不热闹。。不清楚的还以为瑞星在防溢出攻击部分是如何如何的优秀,而真正明白的人看到这样的情况,肯定第一个就是去检查一下系统安全补丁是否打全,程序是否存在漏洞,杀软是否强悍,自己防火墙端口是否出现了很严重的端口漏洞。。。在网页上挂制造溢出漏洞木马好像是现在制造溢出攻击的主流,远程溢出代码注入为次。。。如果以上四个方面都做好了,杜绝这样的攻击是有可能的。

程序内存缓冲区溢出攻击的防护方法如下:
1、打好系统补丁,对有BUG的程序及时更新;
2、安装一款优秀且适用性较强的防火墙,并设置好端口(这部分应该最麻烦);
3、安装一款优秀的杀软(网页监控和邮件监控很重要);
4、安装一款溢出攻击保护软件;

以下引用百度里搜索到的信息:

溢出漏洞攻击的实现:

一般入侵者在网上了解或发现了可以进行溢出攻击的漏洞后,使用缺陷扫描器(如全面扫描的X-SCAN、针对单一漏洞扫描的IIS WEBDAV等工具)找到并确认存在远程溢出漏洞的电脑,接着便使用利用攻击代码编程成功的Exploit(攻击程序)发送Shellcode攻击,确认远程溢出成功后使用NC或TELNET等程序连接被溢出主机的端口从而得到CMDSHELL。


某黑客论坛里的一段端口漏洞攻击介绍:

下面我就来介绍一下通过135端口入侵的方法(这个不是溢出攻击)。

(1)通过135端口入侵,攻击者首先需要查找网络上存在135端口漏洞的主机地址,在查找此类主机过程中,可以使用一些扫描工具,比如SuperScan就是典型的端口工具之一。在SuperScan“开始”文本框中输入需要扫描的起始地址,然后在“结束”文本框里填写好扫描结束的IP地址,在“扫描类型”选项中选择“所有端口定义”单选按钮,并在右侧的文本框中输入“135”。再点击“开始”按钮即可开始扫描。扫描结束后,在下方的列表中可以查看目标主机打开的端口。然后再点击“Save”按钮选好保存路径,把里面有漏洞的IP整理下即可。

(2)得到有漏洞后,我们还有一个功能强大的扫描工具,比如NTSscn汉化版。然后在“主机文件“处点击“打开”按钮找到我们刚才保存的IP路径,在连接共享$处选择“WMI扫描”,在“扫描打开端口的主机”处填写135端口。最后点击“开始”即可。要不了多久就会有结果显示。

(3)获得漏洞主机用户名以后,我们需要一个开启的工具,那就是Recton v2.5。好了,万事具备之欠那“东风”拉。把刚刚扫描的IP输入TELNET界面的“远程主机”处,以及用户名和密码,不过一般情况下密码都是空。下一步点击“开始执行”按钮等待把TELNET打开吧。打开后按WIN+R输入CMD进入再输入Telnet IP 回车,会提示让你输入用户名,把用户名输入后,回车即可进入主机。而且得到的还是SYSTEM权限。

下一步就是为我们加了拥有管理员权限的用户,看看我杰作。最后我们可以上传一些远程性木马软件作为后门,比如灰鸽子,冰河等。在这里我就不在展示。我还是喜欢3389端口,那我就给他上传个开启3389的脚本,不过对于开启3389端口的工具网上还真的不少,比如Recton v2.5就有这个功能。好了3389端口已经成功开启大家看我连接的。怎么样,就这么轻松得到了一台。

以下是U版以前谈及到这个软件时,所介绍的溢出攻击的另外一种方式:

如果 IE有 缓冲区溢出 (BO)漏洞,当访问有攻击代码的网站时,这段指令(ShellCode)利用溢出将会被放到有root权限的内存中执行,以root权限控制了计算机。
由于这段代码只是一段汇编指令,不存在新程序运行、和其他 HIPS/Firewall 可以检测到的操作,没有 BO 保护的安全软件,是不能检测和阻止这段代码的执行。 HIPS/Firewall 只能检测到之后的一些动作,比如下载并运行一个木马之类的。
要检测 BO 需要相应的BO 保护软件,HIPS/Firewall  只能防止溢出以后的行为


以下是U版以前在帖子里发的溢出攻击测试软件,在此再次感谢U版的无私分享:



[ 本帖最后由 伯夷叔齐 于 2008-1-29 16:25 编辑 ]

本帖子中包含更多资源

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

x
wolfmei
发表于 2008-1-25 09:25:12 | 显示全部楼层
一个好东西,简单易用,因为前一个版本跟.NET有冲突,新版本出来了,没空试。
baerzake
发表于 2008-1-25 09:39:32 | 显示全部楼层
强烈要求高手对我来一次用缓冲区溢出工具进行攻击的测试,让我有些实例,以使我有素材完善此帖

COMODO不是有一个测试工具吗?用那个测试一下就行了吧?
zfznbic
发表于 2008-1-25 09:40:29 | 显示全部楼层
不错。这个有空时,要试试。。
gwg829
头像被屏蔽
发表于 2008-1-25 10:11:23 | 显示全部楼层
毛豆出的都是好东西啊  

上次还在想这个东西是做什么的  现在知道了  谢谢伯夷叔齐哈

PS:昨天继续啃U版的打磨一文  发现我对毛豆误解挺大的  继续啃
wayaya
发表于 2008-1-25 10:50:58 | 显示全部楼层
请问什么样的程序会有缓冲溢出的行为,有具体危害例子吗?或者样本?

好学习学习

有什么软件可以替代吗?不安装行不行啊
choco_dove
发表于 2008-1-25 12:10:38 | 显示全部楼层
应该最终会集成到CFP里面去吧 另外汉化组的大大汉化一下这个啊
Nblock
发表于 2008-1-25 12:35:14 | 显示全部楼层
好东东 很酷
distance0
头像被屏蔽
发表于 2008-1-25 12:48:38 | 显示全部楼层
很不错,不知道资源占用怎么样?
hooaini
发表于 2008-1-25 12:51:21 | 显示全部楼层
有时间一定用一下!!!多谢楼主
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-5-2 10:34 , Processed in 0.122420 second(s), 19 queries .

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

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