搜索
查看: 10689|回复: 40
收起左侧

[讨论] 防御讨论(1)——网络威胁

  [复制链接]
柯林
发表于 2011-5-14 10:27:40 | 显示全部楼层 |阅读模式
打磨或者说制定一个初步的规则,快的可能几小时,慢的可能几天。做出来的规则究竟如何呢?目的何在呢?有时间的话,大家都来说说吧,就当是另一种“围炉夜话”,交流一下观点,交换一些信息,就当吹闲天吧。个人不涉足编程,也不跟专业研究分析病毒打交道,作为一个普通的计算机用户,只能提供一些自己收集的资料来和大家探讨。这些东西可能不够新和全面,希望编程的朋友以及病毒测试分析的朋友,提供更多有用的资料和方法,大家一起交流。
计算机安全威胁,大致分类一下,基本上分为两类——本地威胁及网络威胁。咱们先谈谈网络威胁吧。
网络威胁主要的问题是网马,以及其它一些相对次要的问题。

评分

参与人数 1人气 +1 收起 理由
思梦潮 + 1 大侠好:)

查看全部评分

柯林
 楼主| 发表于 2011-5-14 10:28:02 | 显示全部楼层
本帖最后由 柯林 于 2011-5-14 22:31 编辑

回复 1楼 柯林 的帖子

依据收集的资料,总的来说,网页挂马,一般就是在正常网页中插入一个转向链接,当用户浏览该网页时,自动转向病毒木马所在的网页,自动下载病毒木马到用户的计算机里运行。由于链接网页设置了窗口隐藏,用户看不到转向去链接的网页的窗口,很有欺骗性。按网上披露的资料,挂马的方式很多:有挂在网页代码中的,有挂在图片或漂浮广告上的,还有挂在电子书及媒体文件中的。手法层出不穷。不管怎么挂,基本原理都是利用系统或IE的漏洞,自动下载病毒木马到计算机里运行。
可以下载病毒木马的不止是浏览器,各种联网的程序(播放器啦什么的)都有可能,只要系统有重大漏洞或软件有重大漏洞,就有可能被利用。当然主要还是浏览器,特别是IE,因为它们最常用,而IE漏洞最多。为了防止IE漏洞的利用,过去的做法(在IE6时代),EQ等可以拦截dll文件的,会禁止加载库文件
%windir%\system32\WSHom.Ocx
%windir%\system32\scrrun.dll
C:\Program Files\Common Files\System\ado\msado15.dll
对于毛豆来说,可以通过COM接口进行控制
{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}
{F935DC26-1CF0-11D0-ADB9-00C04FD58A0B}
Scripting.FileSystemObject
ADODB.Stream
对于使用组策略的人而言,直接卸载相关组件:
(1)卸载wscript.shell对象   regsvr32 /u %windir%\system32\WSHom.Ocx
(2)卸载FSO对象   regsvr32 /u %windir%\system32\scrrun.dll
(3)卸载stream对象  regsvr32 /u /s "C:\Program Files\Common Files\System\ado\msado15.dll"
不管是哪种联网程序,病毒木马是当作数据下载到本地存放的。每个程序存放数据的目录不一样,但通常都会以*Cache(高速缓存)这样的形式出现。IE的缓存目录是?:\Documents and Settings\*\Local Settings\Temporary Internet Files,出于防御网马的目的,一直以来,大家都提倡禁止运行  *\Local Settings\Temporary Internet Files\* 目的就是就算木马病毒下载到了临时缓存里,也无法把它运行。这样子针对的其实是com和exe这种格式(可能也包含bat和pif格式)的木马病毒。有的木马病毒会把自己先写成其它文件(参考网上的资料):
‘1:把木马文件改成BMP文件,然后配合你机器里的DEBUG来还原成EXE,网上存在该木马20%
2:下载一个TXT文件到你机器,然后里面有具体的FTP^-^作,FTP连上他们有木马的机器下载木马,网上存在该木马20%
3:也是最常用的方式,下载一个HTA文件,然后用网页控件解释器来还原木马。该木马在网上存在50%以上
4:采用JS脚本,用VBS脚本来执行木马文件,该型木马偷QQ的比较多,偷传奇的少,大概占10%左右
5:其他方式未知……”
所以过去的做法,一般都会禁运 *\debug.exe  *\mshta.exe   %windir%\system32\ftp.exe    %windir%\system32\tftp.exe,为的就是防御这些木马病毒。
除了直接下载到IE缓存目录里运行,据说还有一种木马病毒,下载到IE缓存后,会由IE复制到临时文件夹里运行,也就是在?:\Documents and Settings\*\Local Settings\Temp\* 里运行。
运行这些病毒是谁在运行呢?在不讨论恶意代码导致的内存溢出即shellcode攻击的情况下,父进程是IE,是IE在运行病毒和调用相关程序(这一点需要实例跟踪验证,在正常情况下,当遇到hta等扩展名文件时,应该是系统调用相关程序来打开)。所以一些严厉的规则会禁止IE除了执行浏览器、播放器、压缩工具等有限的程序外,禁止运行其它程序。这样做有无必要及效果如何,大家可以交流探讨。
可能还存在的一种情况是嵌套引用——比如说,知道图形查看器存在漏洞,故意在网页中嵌入恶意链接去下载一个包含恶意代码的图片,当系统(不知道是系统还是IE,需要实例跟踪验证)调用图片和传真查看器来打开该文件时,造成该程序的内存溢出等。
当一个病毒运行后,它会做些什么呢?常见的手段有:复制病毒文件到windows目录下或者系统目录system32下,添加自启动项,注入其它进程,注册服务等,后台联网及下载更多病毒木马或者盗窃用户的资料上传等。
网上摘录一个实例——资料来自多特网站,原文出处http://www.duote.com/soft/20046.html
【病毒名称】:trojan-dropper.win32.mudrop.bnb
【危害程度】: 中
【病毒类型】: 木马
【加壳方式】: NsPacK V3.7 -> LiuXingPing *
【传播方式】: 网络
【受影响系统】: windows 98以上
病毒行为:
该恶意代码文件为木马类,病毒运行后动获取大量API函数,创建病毒互斥量"907ERT"防止病毒多次运行产生冲突;
遍历%System32%目录下是否存在"explorer.exe"文件,调用CMD命令将%Windir%、%Temp%目录给予当前用户完全控制权限;
停止ekrn、AVP安全软件服务、结束大量安全软件进程,衍生病毒DLL文件到%System32%目录下;
使用rundll32.exe启动病毒DLL文件,衍生病毒DLL到%Windir%目录下,动态获取病毒DLL的"FF"模块;
进入该模块内后病毒判断自身进程是否在"explorer.exe"进程中,如是则创建hosts文件、劫持大量域名地址;
调用API函数,查找含有windows 文件保护、找到恢复文件对话框的窗口,找到后将其窗口隐藏;
在每个磁盘根目录下创建autorun.inf文件,添加注册表病毒服务创建病毒驱动文件;
通过ipconfig all命令获取本机MAC地址连接网络发送安装统一信息,并下载大量病毒文件到本地。
清除方法:
1.关闭病毒相关进程,结束rundll32.exe;
2.删除病毒;
3.删除病毒添加的注册表服务。
这样一铺开,就涉及到很多问题,比如危险程序的禁运问题,文件下载的控制问题等,这里就不扯了(越扯越乱)。


写文很烦,暂时乱扯到这里,摘录一个条理清楚的资料供大家参考:
文章出处 http://fwjkiss2008.blog.163.com/ ... 370720101122332118/
网页挂马指的是把一个木马程序上传到一个网站里面然后用木马生成器生一个网马,再上到空间里面!再加代码使得木马在打开网页上运行!
  网页挂马的方法多种多样!
  网页挂马工作原理完全分析
  作为网页挂马的散布者,其目的是将木马下载到用户本地,并进一步执行,当木马获得执行之后,就意味着会有更多的木马被下载,进一步被执行,进入一个恶性的循环,从而使用户的电脑遭到攻击和控制。为达到目的首先要将木马下载到本地。根据上图的流程,常见的方式有以下几种:
  1.将木马伪装为页面元素。木马则会被浏览器自动下载到本地。
  2.利用脚本运行的漏洞下载木马
  3.利用脚本运行的漏洞释放隐含在网页脚本中的木马
  4.将木马伪装为缺失的组件,或和缺失的组件捆绑在一起(例如:flash播放插件)。这样既达到了下载的目的,下载的组件又会被浏览器自动执行。
  5.通过脚本运行调用某些com组件,利用其漏洞下载木马。
  6.在渲染页面内容的过程中利用格式溢出释放木马(例如:ani格式溢出漏洞)
  7.在渲染页面内容的过程中利用格式溢出下载木马(例如:flash9.0.115的播放漏洞)
  在完成下载之后,执行木马的方式有以下几种:
  1.利用页面元素渲染过程中的格式溢出执行shellcode进一步执行下载的木马
  2.利用脚本运行的漏洞执行木马
  3.伪装成缺失组件的安装包被浏览器自动执行
  4.通过脚本调用com组件利用其漏洞执行木马。
  5.利用页面元素渲染过程中的格式溢出直接执行木马。
  6.利用com组件与外部其他程序通讯,通过其他程序启动木马(例如:realplayer10.5存在的播放列表溢出漏洞)
  在与网马斗争的过程中,为了躲避杀毒软件的检测,一些网马还具有了以下行为:
  1.修改系统时间,使杀毒软件失效
  2.摘除杀毒软件的HOOK挂钩,使杀毒软件检测失效
  3.修改杀毒软件病毒库,使之检测不到恶意代码。
  4.通过溢出漏洞不直接执行恶意代码,而是执行一段调用脚本,以躲避杀毒软件对父进程的检测。
  网页挂马的检测
  传统的检测防御方式:
  1.特征匹配。将网页挂马的脚本按脚本病毒处理进行检测。但是网页脚本变形方、加密方式比起传统的PE格式病毒更为多样,检测起来也更加困难。
  2.主动防御。当浏览器要做出某些动作时,做出提示,例如:下载了某插件的安装包,会提示是否运行,比如浏览器创建一个暴风影音播放器时,提示是否允许运行。在多数情况下用户都会点击是,网页木马会因此得到执行。


作为HIPS的应用,使用得法是可以轻松防御的。关于浏览器,特别是IE的规则,在一些严厉规则(比如EQ著名规则)里面,对于它的行为是限制很严的:比如说,FD上,禁止它下载文件到规定目录外的任何地方——作为灵活变通,对于毛豆而言,首先一点,那就是禁止它触碰系统文件;然后,对于可执行文件一定要加强控制,以免发生它去修改其它文件的exe等文件的事情(概率很低,理论上有可能);RD上禁止它修改重要的注册表项目,以及AD上的严格行为控制。
毛豆有沙盘及云控制,正常情况下,未知程序自动入沙,以及不明程序云端检测验证,可以帮我们防御绝大部分病毒,如果规则再制定得严密一点,断网的情况下也不会发生事故。此外,还有杀软,也是一个得力的工具。总之一句话,只要习惯良好,安全意识警觉性高,操作得当,中毒中马是很不易发生的。

附录:网络木马病毒的传播,除了浏览网页,另一个重要途径就是QQ——很多图片、文件,可能就是藏有恶意代码或链接的。还有一个,就是电子邮件,特别是附件。
附:相关资料,可以看看这个链接:http://www.51cto.com/art/200805/72558.htm





评分

参与人数 2经验 +10 人气 +1 收起 理由
mxf147 + 10 感谢提供分享
zxzy + 1 辛苦~!

查看全部评分

h8888
发表于 2011-5-14 10:29:41 | 显示全部楼层
第一个接受教育。
柯林
 楼主| 发表于 2011-5-14 11:20:30 | 显示全部楼层
本帖最后由 柯林 于 2011-5-16 19:35 编辑

除了网马问题,网络威胁一般还包括这些问题——
1、shellcode攻击:主要是内存问题引起——缓冲区溢出而产生。缓冲区溢出与shellcode是两回事,shellcode是利用shell构建的可执行代码。简单说,这种攻击,就是利用程序漏洞,发送恶意代码,或者在网页、影音、图片等文件中构造恶意代码,造成程序内存溢出,从而得到当前的shell(壳);得到shell之后,一种是直接发送回黑客手里进行远程操作,一种是直接从网上下载病毒木马并执行。【shell可以是当前用户权限,也可以是系统权限】(所谓shell,就是外壳——windows设计成内核+外壳的模式:系统程序运行于内核之中,用户程序运行于外壳之上;用户的相关操作,只能通过shell来与内核沟通。不同的shell权限可以执行不同的操作)
在这里需要注意的是,最终所有的操作,是在目标主机上进行的(对于远程攻击来说,黑客只是远程发布指令,最终由本机加以执行——如果执行相关命令的本机程序被禁运或者权限不足(例如命令行操作必须的cmd.exe被禁运),那么操作是无法达成的;当然,问题也不是这么简单,当溢出得到系统权限之后,远程已经拥有最高权限,完全控制了本机,想进行什么操作都随便了,只要不引起用户的明显察觉,后果是很可怕的)。
对于这种攻击来说,最好的办法是打补丁(没补丁之前可以把有漏洞的组件禁用),最后的防御就是HIPS——规则严密并给予系统程序适当降权限制的方案可以抵御一定程度的攻击。最好的拦截还是在溢出之前进行拦截——毛豆具有相应的内存泄漏检测机制,可以防御一定程度的缓冲区溢出,关键的问题在于毛豆提醒你时,要点阻止。
2、网页欺诈:网络钓鱼问题,这个一般来说,不在HIPS的防御范围内,主要靠用户的警觉——不要乱点来历不明的链接,不要相信什么中奖之类的诱骗,不要在那些欺诈页面中随便输入自己的信息——账户名与密码。
3、网络扫描攻击:古老的攻击手段,通过网络扫描,寻找有漏洞的主机,直接进行入侵。一般来说,在目前以网马为主要攻击手段的情形下,这种手段已经用得相对较少,一般只用来攻击服务器,针对个人电脑不划算。
很多机子(例如xp等),系统默认运行了一些服务,开放了相应的端口,这就为这种攻击留下了隐患。关闭不用的服务,自然也就关闭了相应的端口。对于一般用户而言,一个可靠的防火墙,是很好的防御措施。
有兴趣的可以找相关资料看看,了解一下cmd.exe、telnet.exe、net.exe、user.exe等系统程序在这种攻击中的利用,从而明白经典规则中管制这些程序的原因。
4、本地泄密:主要问题是本机已经中了木马病毒或者流氓恶意插件,导致的机密信息外泄。防护手段主要是确保本机系统的干净,结合前面对网马、shellcode攻击的防御,下载的安装程序可靠——确保安装程序这个很大的缺口无隐患,严格控制程序钩子、内存注入、屏幕截图等与窃密相关的操作,就可以很好地防御。

小结:打补丁,是对付网络威胁及攻击最有效的手段——没有漏洞的机子,很多攻击手段都是无效的。
      提高安全警觉性,是应对各种网络威胁的辅助手段。
      作为最后的防线和依靠,无论是打了补丁还是没打补丁的系统,善于应用HIPS都将获得很好的防御效果——漂亮的规则将在所有手段都失效的情况下,起到最后的挽救作用。

综合1楼与3楼来看,防御网络攻击,涉及到了防火墙和D+两方面的问题:
从防火墙来说,有效的隐身模式,可以化解极大部分的扫描嗅探;关闭无用的危险端口,可以阻截网络进攻;严密监视本机程序联网,可以在杀软与D+没有拦截到木马病毒时,构成最后一道防线。
对于外网用户来说,RPC服务的tcp135端口,局域网共享及远程打印所需的tcp137,139,139,445端口以及udp137,138,445端口,可以在全局规则中进行阻止;另外,telnet的tcp23端口,http的tcp80端口(迅雷默认开放此端口)、FTP的tcp21端口,同样建议阻止;远程桌面登录的tcp3389端口,如果你从来不用远程桌面,建议阻止;此外对于SQL的tcp1433端口,建议阻止;至于远程终端的tcp5632与udp5632端口和tcp4899端口,自己看着处理好了。【一般来说,当有程序需要开放本机端口时,毛豆会弹窗询问,所以上面提到的这些端口一般可以不用管,用全局规则阻止的好处是,无需选择,自动阻止】
对于程序来说,防火墙规则请禁止以下程序上网(一旦上网,权限很大,留有隐患)
%windir%\hh.exe
%windir%\winhelp.exe
%windir%\winhlp32.exe
%windir%\system32\mshta.exe

从D+来说,禁止使用一些高危程序,严格控制上网程序的行为,是确立安全防御的有效手段。
以浏览器来说,除了运行浏览器、压缩软件、记事本、播放器(系统自带播放器与你安装的第三方播放器,以及flash播放器C:\WINDOWS\system32\Macromed\Flash\FlashUtil10q_ActiveX.exe与C:\WINDOWS\system32\Macromed\Flash\FlashUtil10q_Plugin.exe)外,最好禁运其它程序。
钩子除了四个常用钩子
%windir%\system32\msctf.dll
%windir%\system32\shell32.dll
%windir%\system32\browseui.dll
%windir%\system32\ieframe.dll
外,如果用浏览器玩游戏,可能用到以下两个钩子
%windir%\system32\DINPUT.dll
%windir%\system32\DINPUT8.dll
其它的全部阻止
至于驱动安装、底层磁盘、物理内存访问,一律禁止。
键盘监听,玩游戏及输入字符应该会用到,可以允许(保持默认的询问也无不可)。
注册表操作上,选阻止吧。
FD操作上,因为极个别时候会用浏览器下载exe文件,所以可执行文件,除了exe外,一律阻止;为了最大限度的保证浏览器不为恶,建议在浏览器规则中阻止对%windir%\* 与 ?:\Program Files\* 的访问(创建、修改、删除)。
com控制上,除了资源管理器外壳的Shell.Explorer.*外,其余的都阻止。另外,建议把创建shell对象
Shell.Application
Shell.Application.1
也纳入监控,禁止浏览器对它们的调用,就可以禁止网页获得执行权限。
DODB.Stream
ADODB.Stream.6.0
WScript.Shell
WScript.Shell.1
Scripting.FileSystemObject
JavaScript
也列入监控禁用吧。
对于网页转向链接恶意网址来说,禁止掉JavaScript,就可以防止利用Java脚本构建恶意转向链接的使用。(注意,这样做,只是禁止了IE对系统JavaScript的调用,对于自带java脚本解释器的火狐与谷歌等浏览器来说,请在浏览器上进行设置。以谷歌浏览器为例:设置-选项-高级选项-内容设置,把“javascript设为‘不允许网站运行javascript’”;把“位置设为‘不允许任何网站跟踪我的位置’”;把“插件设为‘阻止所有插件’【包括了flash插件】”。这样设置之后,你再上那些弹窗和转向的网站,看看它还弹不弹?连广告动画都没了吧?当然,这样设置有误伤,需要加例外的自己加。实际上可以这样:上正规安全网站,你就用火狐或IE吧,上那些有风险的网站,你可以专门使用这种严厉设置后的谷歌浏览器)

为了防马防黑,全局规则,建议禁运包括IE缓存在内的如下内容:
*\Local Settings\Temporary Internet Files*
?:\Documents and Settings\*Cache*
*\Cookies\*
?:\Documents and Settings\*\Favorites\*
?:\Documents and Settings\*\Local Settings\History*
*.com
*\format.*
*\Del*.exe
*\conime.exe
*\cmd.exe
*\debug.exe
*\mshta.exe
*\msconfig.exe
*\ntvdm.exe
*\reg.exe
*\regedit.exe【注册表优化软件可能用到,注意排除】
*\user.exe
%windir%\system32\at.exe
%windir%\system32\cscript.exe
%windir%\system32\diskpart.exe
%windir%\system32\ftp.exe
%windir%\system32\ipconfig.exe
%windir%\system32\net*.exe(安装程序与卸载程序时要用到,注意排除,或者不列入阻止)
%windir%\system32\telnet.exe
%windir%\system32\tftp.exe
%windir%\system32\wscript.exe
【对于脚本防御问题,建议把
%windir%\system32\cmd.exe
%windir%\system32\cscript.exe
%windir%\system32\wscript.exe
手动入沙,给予最严格的限制】

大致上就这样吧。有何不妥及错误之处,或者有更好的想法,欢迎交流探讨。


zxzy
发表于 2011-5-14 11:40:48 | 显示全部楼层
站位~  慢慢看   
柯林
 楼主| 发表于 2011-5-14 12:15:56 | 显示全部楼层
回复 5楼 zxzy 的帖子

不要光看,你也提供些资料分享啊。
zxzy
发表于 2011-5-14 12:32:52 | 显示全部楼层
回复 6楼 柯林 的帖子

对于防范木马,可以对临时目录的可执行文件进行控制,不让程序执行或者不让临时目录产生可执行文件。

盗号的,就禁止非盗号程序修改那些需要保护的文件  
看你的专题是网络威胁,网络方面我也不是很懂,所以就说这么多了

评分

参与人数 1人气 +1 收起 理由
mxf147 + 1 这个可以有

查看全部评分

詩、未詺
发表于 2011-5-14 12:45:22 | 显示全部楼层
柯林
 楼主| 发表于 2011-5-14 12:57:10 | 显示全部楼层
回复 8楼 詩、未詺 的帖子

图片全挂了,看不了。
詩、未詺
发表于 2011-5-14 12:58:08 | 显示全部楼层
回复 9楼 柯林 的帖子

我做了文档
2L还有图片合集
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 苏ICP备07004770号 ) GMT+8, 2019-11-15 03:44 , Processed in 0.094500 second(s), 19 queries .

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