浏览模式: 普通 | 列表
间谍程序、游戏木马、黑客程序等网络病毒的频频爆发,使国内外反病毒领域开始意识到,单纯依靠“特征码技术”已经不能适应反病毒需求。 那么什么是“主动防御”,它的实现技术又是怎样的呢?

所谓“主动防御”,就是全程监视进程的行为,一但发现“违规”行为,就通知用户,或者直接终止进程。它类似于警察判断潜在罪犯的技术,在成为一个罪犯之前,大多数的人都有一些异常行为,比如“性格孤僻,有暴力倾向,自私自利,对现实不满”等先兆,但是并不是说有这些先兆的人就都会发展为罪犯,或者罪犯都有这些先兆。因此“主动防御”并不能100%发现病毒,它的成功率大概在60%-80%之间。如果再加上传统的“特征码技术”,几乎可以发现100%的恶意程序了。在国外,诺顿,Kaspersky,McAfee等等杀毒巨头,都已经向“主动防御”+“特征码技术”过渡了,这是杀毒软件的必然发展趋势。

防火墙是一个运用“主动防御”技术的典型例子,大家都用过防火墙了,对于防火墙经常询问用户是否放行一个进程访问网络,或者有不明连接进入本机而发出警告是否印象深刻呢?其实防火墙就是在全程监视进程的网络行为,一但发现违反规则的行为就发出警告,或者直接根据用户设定拒绝进程访问网络。当然,现在的防火墙一般都把系统网络进程(比如services.exe,svchost.exe,lsass.exe等)记在“受信名单”里,这些进程是默认允许访问网络的,如果禁止的话,操作系统就不正常了,这也是现在很多病毒和木马都喜欢远程注入这些系统进程以突破防火墙而访问网络的原因。

下面重点说一下“主动防御”的实现技术。大家都写过程序,知道在一个程序里如果要实现自己的功能就必须要通过接口调用操作系统提供的功能函数,在DOS里几乎所有的系统功能或第三方插件都是通过中断提供的,在WINDOWS里一般是通过DLL里的API提供,也有少数通过INT2E或SYSENTER提供。一个进程有怎么样的行为,通过看它调用了什么样的API就大概清楚了,比如它要读写文件就必然要调用CreateFile(),OpenFile(),NtOpenFile(),ZwOpenFile()等函数,要访问网络就必然要使用Socket函数。因此只要挂接系统API(尽量挂接RING0层的API,如果挂接RING3层的API将有可能被绕过),就可以知道一个进程将有什么动作,如果有危害系统的动作该怎么样处理等等。例如瑞星杀毒,大家可以在它的安装目录里找到几个驱动文件,其实这些驱动就是挂接了ntoskrnl.exe,ndis.sys等系统关键模块里的API,从而对进程的普通行为,网络行为,注册表行为进行监视的。

最后让我们设想一下一个“主动防御”型杀毒软件的一般流程:通过挂接系统建立进程的API,杀毒软件就在一个进程建立前对进程的代码进行扫描,如果发现SGDT,SIDT,自定位指令(一般正常软件不会有这些指令),就提示,如果用户放行,就让进程继续运行;接下来监视进程调用API的情况,如果发现以读写方式打开一个EXE文件,可能进程的线程想感染PE文件,就发出警告;如果收发数据违反了规则,发出提示;如果进程调用了CreateRemoteThread(),则发出警告(因为CreateRemoteThread()是一个非常危险的API,正常进程很少用到,倒是被病毒木马用得最多)。...。可以想象,未来我们运行程序可能要被提示多次,访问网络也被提示多次,各种各样的提示将大多数人搞的昏头转向。想安全就要管严,放松就不安全了!

推荐日志 ADSL防御黑客攻击的十大方法

[ 2007-03-25 02:52:04 | 作者: sun ]
目前,使用ADSL的用户越来越多,由于ADSL用户在线时间长、速度快,因此成为黑客们的攻击目标。现在网上出现了各种越来越详细的“IP地址库”,要知道一些ADSL用户的IP是非常容易的事情。要怎么保卫自己的网络安全呢?不妨看看以下方法。

  一、取消文件夹隐藏共享

  如果你使用了Windows 2000/XP系统,右键单击C盘或者其他盘,选择"共享",你会惊奇地发现它已经被设置为“共享该文件夹”,而在“网上邻居”中却看不到这些内容,这是怎么回事呢?

  原来,在默认状态下,Windows 2000/XP会开启所有分区的隐藏共享,从“控制面板/管理工具/计算机管理”窗口下选择“系统工具/共享文件夹/共享”,就可以看到硬盘上的每个分区名后面都加了一个“$”。但是只要键入“\\计算机名或者IP\C$”,系统就会询问用户名和密码,遗憾的是,大多数个人用户系统Administrator的密码都为空,入侵者可以轻易看到C盘的内容,这就给网络安全带来了极大的隐患。

  怎么来消除默认共享呢?方法很简单,打开注册表编辑器,进入“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Sevices\Lanmanworkstation\parameters”,新建一个名为“AutoShareWKs”的双字节值,并将其值设为“0”,然后重新启动电脑,这样共享就取消了。

  二、拒绝恶意代码

  恶意网页成了宽带的最大威胁之一。以前使用Modem,因为打开网页的速度慢,在完全打开前关闭恶意网页还有避免中招的可能性。现在宽带的速度这么快,所以很容易就被恶意网页攻击。

  一般恶意网页都是因为加入了用编写的恶意代码才有破坏力的。这些恶意代码就相当于一些小程序,只要打开该网页就会被运行。所以要避免恶意网页的攻击只要禁止这些恶意代码的运行就可以了。

  运行IE浏览器,点击“工具/Internet选项/安全/自定义级别”,将安全级别定义为“安全级-高”,对“ActiveX控件和插件”中第2、3项设置为“禁用”,其它项设置为“提示”,之后点击“确定”。这样设置后,当你使用IE浏览网页时,就能有效避免恶意网页中恶意代码的攻击。

  三、封死黑客的“后门”

  俗话说“无风不起浪”,既然黑客能进入,那说明系统一定存在为他们打开的“后门”,只要堵死这个后门,让黑客无处下手,便无后顾之忧!

  1.删掉不必要的协议

  对于服务器和主机来说,一般只安装TCP/IP协议就够了。鼠标右击“网络邻居”,选择“属性”,再鼠标右击“本地连接”,选择“属性”,卸载不必要的协议。其中NETBIOS是很多安全缺陷的根源,对于不需要提供文件和打印共享的主机,还可以将绑定在TCP/IP协议的NETBIOS关闭,避免针对NETBIOS的攻击。选择“TCP/IP协议/属性/高级”,进入“高级TCP/IP设置”对话框,选择“WINS”标签,勾选“禁用TCP/IP上的NETBIOS”一项,关闭NETBIOS。

  2.关闭“文件和打印共享”

  文件和打印共享应该是一个非常有用的功能,但在不需要它的时候,也是黑客入侵的很好的安全漏洞。所以在没有必要“文件和打印共享”的情况下,我们可以将它关闭。用鼠标右击“网络邻居”,选择“属性”,然后单击“文件和打印共享”按钮,将弹出的“文件和打印共享”对话框中的两个复选框中的钩去掉即可。

  虽然“文件和打印共享”关闭了,但是还不能确保安全,还要修改注册表,禁止它人更改“文件和打印共享”。打开注册表编辑器,选择“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\NetWork”主键,在该主键下新建DWORD类型的键值,键值名为“NoFileSharingControl”,键值设为“1”表示禁止这项功能,从而达到禁止更改“文件和打印共享”的目的;键值为“0”表示允许这项功能。这样在“网络邻居”的“属性”对话框中“文件和打印共享”就不复存在了。

  3.把Guest账号禁用

  有很多入侵都是通过这个账号进一步获得管理员密码或者权限的。如果不想把自己的计算机给别人当玩具,那还是禁止的好。打开控制面板,双击“用户和密码”,单击“高级”选项卡,再单击“高级”按钮,弹出本地用户和组窗口。在Guest账号上面点击右键,选择属性,在“常规”页中选中“账户已停用”。另外,将Administrator账号改名可以防止黑客知道自己的管理员账号,这会在很大程度上保证计算机安全。

  4.禁止建立空连接

  在默认的情况下,任何用户都可以通过空连接连上服务器,枚举账号并猜测密码。因此,我们必须禁止建立空连接。方法有以下两种:

  方法一是修改注册表:打开注册表“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA”,将DWORD值“RestrictAnonymous”的键值改为“1”即可。

  最后建议大家给自己的系统打上补丁,微软那些没完没了的补丁还是很有用的!
四、隐藏IP地址

  黑客经常利用一些网络探测技术来查看我们的主机信息,主要目的就是得到网络中主机的IP地址。IP地址在网络安全上是一个很重要的概念,如果攻击者知道了你的IP地址,等于为他的攻击准备好了目标,他可以向这个IP发动各种进攻,如DoS(拒绝服务)攻击、Floop溢出攻击等。隐藏IP地址的主要方法是使用代理服务器。

  与直接连接到Internet相比,使用代理服务器能保护上网用户的IP地址,从而保障上网安全。代理服务器的原理是在客户机(用户上网的计算机)和远程服务器(如用户想访问远端WWW服务器)之间架设一个“中转站”,当客户机向远程服务器提出服务要求后,代理服务器首先截取用户的请求,然后代理服务器将服务请求转交远程服务器,从而实现客户机和远程服务器之间的联系。很显然,使用代理服务器后,其它用户只能探测到代理服务器的IP地址而不是用户的IP地址,这就实现了隐藏用户IP地址的目的,保障了用户上网安全。提供免费代理服务器的网站有很多,你也可以自己用代理猎手等工具来查找。 

  五、关闭不必要的端口

  黑客在入侵时常常会扫描你的计算机端口,如果安装了端口监视程序(比如Netwatch),该监视程序则会有警告提示。如果遇到这种入侵,可用工具软件关闭用不到的端口,比如,用“Norton Internet Security”关闭用来提供网页服务的80和443端口,其他一些不常用的端口也可关闭。

  六、更换管理员帐户

  Administrator帐户拥有最高的系统权限,一旦该帐户被人利用,后果不堪设想。黑客入侵的常用手段之一就是试图获得Administrator帐户的密码,所以我们要重新配置Administrator帐号。

  首先是为Administrator帐户设置一个强大复杂的密码,然后我们重命名Administrator帐户,再创建一个没有管理员权限的Administrator帐户欺骗入侵者。这样一来,入侵者就很难搞清哪个帐户真正拥有管理员权限,也就在一定程度上减少了危险性。

  七、杜绝Guest帐户的入侵

  Guest帐户即所谓的来宾帐户,它可以访问计算机,但受到限制。不幸的是,Guest也为黑客入侵打开了方便之门!网上有很多文章中都介绍过如何利用Guest用户得到管理员权限的方法,所以要杜绝基于Guest帐户的系统入侵。

  禁用或彻底删除Guest帐户是最好的办法,但在某些必须使用到Guest帐户的情况下,就需要通过其它途径来做好防御工作了。首先要给Guest设一个强壮的密码,然后详细设置Guest帐户对物理路径的访问权限。举例来说,如果你要防止Guest用户可以访问tool文件夹,可以右击该文件夹,在弹出菜单中选择“安全”标签,从中可看到可以访问此文件夹的所有用户。删除管理员之外的所有用户即可。或者在权限中为相应的用户设定权限,比方说只能“列出文件夹目录”和“读取”等,这样就安全多了。

  八、安装必要的安全软件

  我们还应在电脑中安装并使用必要的防黑软件,杀毒软件和防火墙都是必备的。在上网时打开它们,这样即便有黑客进攻我们的安全也是有保证的。

  九、防范木马程序

  木马程序会窃取所植入电脑中的有用信息,因此我们也要防止被黑客植入木马程序,常用的办法有:

  ● 在下载文件时先放到自己新建的文件夹里,再用杀毒软件来检测,起到提前预防的作用。

  ● 在“开始”→“程序”→“启动”或“开始”→“程序”→“Startup”选项里看是否有不明的运行项目,如果有,删除即可。 

 ● 将注册表里 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下的所有以“Run”为前缀的可疑程序全部删除即可。

  十、不要回陌生人的邮件

  有些黑客可能会冒充某些正规网站的名义,然后编个冠冕堂皇的理由寄一封信给你要求你输入上网的用户名称与密码,如果按下“确定”,你的帐号和密码就进了黑客的邮箱。所以不要随便回陌生人的邮件,即使他说得再动听再诱人也不上当。

  做好IE的安全设置

  ActiveX控件和 Applets有较强的功能,但也存在被人利用的隐患,网页中的恶意代码往往就是利用这些控件编写的小程序,只要打开网页就会被运行。所以要避免恶意网页的攻击只有禁止这些恶意代码的运行。IE对此提供了多种选择,具体设置步骤是:“工具”→“Internet选项”→“安全”→“自定义级别”,建议您将ActiveX控件与相关选项禁用。谨慎些总没有错!

  另外,在IE的安全性设定中我们只能设定Internet、本地Intranet、受信任的站点、受限制的站点。不过,微软在这里隐藏了“我的电脑”的安全性设定,通过修改注册表把该选项打开,可以使我们在对待ActiveX控件和 Applets时有更多的选择,并对本地电脑安全产生更大的影响。

  下面是具体的方法:打开“开始”菜单中的“运行”,在弹出的“运行”对话框中输入Regedit.exe,打开注册表编辑器,点击前面的“+”号顺次展开到:HKEY_CURRE-NT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings\Zones\0,在右边窗口中找到DWORD值“Flags”,默认键值为十六进制的21(十进制33),双击“Flags”,在弹出的对话框中将它的键值改为“1”即可,关闭注册表编辑器。无需重新启动电脑,重新打开IE,再次点击“工具→Internet选项→安全”标签,你就会看到多了一个“我的电脑”图标,在这里你可以设定它的安全等级。将它的安全等级设定高些,这样的防范更严密。

推荐日志 冲浪DDoS攻击的趋势与防御

[ 2007-03-25 02:51:50 | 作者: sun ]
一、阻断服务(Denial of Service)

  在探讨DDoS 之前我们需要先对 DoS 有所了解,DoS泛指黑客试图妨碍正常使用者使用网络上的服务,例如剪断大楼的电话线路造成用户无法通话。而以网络来说,由于频宽、网络设备和服务器主机等处理的能力都有其限制,因此当黑客产生过量的网络封包使得设备处理不及,即可让正常的使用者无法正常使用该服务。例如黑客试图用大量封包攻击一般频宽相对小得多的拨接或 ADSL 使用者,则受害者就会发现他要连的网站连不上或是反应十分缓慢。

  DoS 攻击并非入侵主机也不能窃取机器上的资料,但是一样会造成攻击目标的伤害,如果攻击目标是个电子商务网站就会造成顾客无法到该网站购物。

  二、分布式阻断服务(Distributed Denial of Service)

  DDoS 则是 DoS 的特例,黑客利用多台机器同时攻击来达到妨碍正常使用者使用服务的目的。黑客预先入侵大量主机以后,在被害主机上安装 DDoS 攻击程控被害主机对攻击目标展开攻击;有些 DDoS 工具采用多层次的架构,甚至可以一次控制高达上千台电脑展开攻击,利用这样的方式可以有效产生极大的网络流量以瘫痪攻击目标。早在2000年就发生过针对Yahoo, eBay, Buy.com 和 CNN 等知名网站的DDoS攻击,阻止了合法的网络流量长达数个小时。

  DDoS 攻击程序的分类,可以依照几种方式分类,以自动化程度可分为手动、半自动与自动攻击。早期的 DDoS 攻击程序多半属于手动攻击,黑客手动寻找可入侵的计算机入侵并植入攻击程序,再下指令攻击目标;半自动的攻击程序则多半具有 handler 控制攻击用的agent 程序,黑客散布自动化的入侵工具植入 agent 程序,然后使用 handler 控制所有agents 对目标发动 DDoS 攻击;自动攻击更进一步自动化整个攻击程序,将攻击的目标、时间和方式都事先写在攻击程序里,黑客散布攻击程序以后就会自动扫描可入侵的主机植入 agent 并在预定的时间对指定目标发起攻击,例如近期的 W32/Blaster 网虫即属于此类。

  若以攻击的弱点分类则可以分为协议攻击和暴力攻击两种。协议攻击是指黑客利用某个网络协议设计上的弱点或执行上的 bug 消耗大量资源,例如 TCP SYN 攻击、对认证伺服器的攻击等;暴力攻击则是黑客使用大量正常的联机消耗被害目标的资源,由于黑客会准备多台主机发起 DDoS 攻击目标,只要单位时间内攻击方发出的网络流量高于目标所能处理速度,即可消耗掉目标的处理能力而使得正常的使用者无法使用服务。

  若以攻击频率区分则可分成持续攻击和变动频率攻击两种。持续攻击是当攻击指令下达以后,攻击主机就全力持续攻击,因此会瞬间产生大量流量阻断目标的服务,也因此很容易被侦测到;变动频率攻击则较为谨慎,攻击的频率可能从慢速渐渐增加或频率高低变化,利用这样的方式延缓攻击被侦测的时间。
三、从 DDoS 攻击下存活

  那么当遭受 DDoS 攻击的时候要如何设法存活并继续提供正常服务呢?由先前的介绍可以知道,若黑客攻击规模远高于你的网络频宽、设备或主机所能处理的能力,其实是很难以抵抗攻击的,但仍然有一些方法可以减轻攻击所造成的影响。

  首先是调查攻击来源,由于黑客经由入侵机器进行攻击,因此你可能无法查出黑客是由哪里发动攻击,我们必须一步一步从被攻击目标往回推,先调查攻击是由管辖网络的哪些边界路由器进来,上一步是外界哪台路由器,连络这些路由器的管理者(可能是某个ISP或电信公司)并寻求他们协助阻挡或查出攻击来源,而在他们处理之前可以进行哪些处理呢?

  如果被攻击的目标只是单一 ip,那么试图改个 ip 并更改其 DNS mapping 或许可以避开攻击,这是最快速而有效的方式;但是攻击的目的就是要使正常使用者无法使用服务,更改ip的方式虽然避开攻击,以另一角度来看黑客也达到了他的目的。此外,如果攻击的手法较为单纯,可以由产生的流量找出其规则,那么利用路由器的 ACLs(Access Control Lists)或防火墙规则也许可以阻挡,若可以发现流量都是来自同一来源或核心路由器,可以考虑暂时将那边的流量挡起来,当然这还是有可能将正常和异常的流量都一并挡掉,但至少其它来源可以得到正常的服务,这有时是不得已的牺牲。如果行有余力,则可以考虑增加机器或频宽作为被攻击的缓冲之用,但这只是治标不治本的做法。最重要的是必须立即着手调查并与相关单位协调解决。

  四、预防DDoS攻击

  DDoS 必须透过网络上各个团体和使用者的共同合作,制定更严格的网络标准来解决。每台网络设备或主机都需要随时更新其系统漏洞、关闭不需要的服务、安装必要的防毒和防火墙软件、随时注意系统安全,避免被黑客和自动化的 DDoS 程序植入攻击程序,以免成为黑客攻击的帮凶。

  有些 DDoS 会伪装攻击来源,假造封包的来源 ip,使人难以追查,这个部份可以透过设定路由器的过滤功能来防止,只要网域内的封包来源是其网域以外的 ip,就应该直接丢弃此封包而不应该再送出去,如果网管设备都支持这项功能,网管人员都能够正确设定过滤掉假造的封包,也可以大量减少调查和追踪的时间。

  网域之间保持联络是很重要的,如此才能有效早期预警和防治 DDoS 攻击,有些 ISP会在一些网络节点上放置感应器侦测突然的巨大流量,以提早警告和隔绝 DDoS 的受害区域,降低顾客的受害程度。

推荐日志 防止全局钩子的入侵

[ 2007-03-25 02:51:37 | 作者: sun ]
Windows消息钩子一般都很熟悉了。它的用处很多,耳熟能详的就有——利用键盘钩子获取目标进程的键盘输入,从而获得各类密码以达到不可告人的目的。朋友想让他的软件不被别人的全局钩子监视,有没有办法实现呢?答案是肯定的,不过缺陷也是有的。

  首先简单看看全局钩子如何注入别的进程。

  消息钩子是由Win32子系统提供,其核心部分通过NtUserSetWindowsHookEx为用户提供了设置消息钩子的系统服务,用户通过它注册全局钩子。当系统获取某些事件,比如用户按键,键盘driver将扫描码等传入win32k的KeyEvent处理函数,处理函数判断有无相应hook,有则callhook。此时,系统取得Hook对象信息,若目标进程没有装载对应的Dll,则装载之(利用KeUserModeCallback“调用”用户例程,它与Apc调用不同,它是仿制中断返回环境,其调用是“立即”性质的)。

  进入用户态的KiUserCallbackDispatcher后,KiUserCallbackDispatcher根据传递的数据获取所需调用的函数、参数等,随后调用。针对上面的例子,为装载hook dll,得到调用的是LoadLibraryExW,随后进入LdrLoadDll,装载完毕后返回,后面的步骤就不叙述了。

  从上面的讨论我们可以得出一个最简单的防侵入方案:在加载hook dll之前hook相应api使得加载失败,不过有一个缺陷:系统并不会因为一次的失败而放弃,每次有消息产生欲call hook时系统都会试图在你的进程加载dll,这对于性能有些微影响,不过应该感觉不到。剩下一个问题就是不是所有的LoadLibraryExW都应拦截,这个容易解决,比如判断返回地址。下面给出一个例子片断,可以添加一些判断使得某些允许加载的hook dll被加载。

  这里hook api使用了微软的detours库,可自行修改。

以下内容为程序代码:

typedef HMODULE (__stdcall *LOADLIB)(
LPCWSTR lpwLibFileName,
HANDLE hFile,
DWORD dwFlags);

extern "C" {
  DETOUR_TRAMPOLINE(HMODULE __stdcall Real_LoadLibraryExW(
               LPCWSTR lpwLibFileName,
               HANDLE hFile,
               DWORD dwFlags),
              LoadLibraryExW);
}

ULONG user32 = 0;

HMODULE __stdcall Mine_LoadLibraryExW(
       LPCWSTR lpwLibFileName,
       HANDLE hFile,
       DWORD dwFlags)
{
  ULONG addr;

  _asm mov eax, [ebp+4]
  _asm mov addr, eax

  if ((user32 & 0xFFFF0000) == (addr & 0xFFFF0000))
  {
    return 0;
  }

  HMODULE res = (LOADLIB(Real_LoadLibraryExW)) (
            lpwLibFileName,
            hFile,
            dwFlags);

  return res;
}

BOOL ProcessAttach()
{
  DetourFunctionWithTrampoline((PBYTE)Real_LoadLibraryExW,
         (PBYTE)Mine_LoadLibraryExW);
  return TRUE;
}

BOOL ProcessDetach()
{
  DetourRemove((PBYTE)Real_LoadLibraryExW,
         (PBYTE)Mine_LoadLibraryExW);
  return TRUE;
}

CAnti_HookApp::CAnti_HookApp() //在使用用户界面服务前调用ProcessAttach
{
  user32 = (ULONG)GetModuleHandle("User32.dll");
  ProcessAttach();
}

推荐日志 IDS入侵特征库创建实例解析

[ 2007-03-25 02:51:24 | 作者: sun ]
IDS要有效地捕捉入侵行为,必须拥有一个强大的入侵特征数据库,这就如同公安部门必须拥有健全的罪犯信息库一样。但是,IDS一般所带的特征数据库都比较死板,遇到“变脸”的入侵行为往往相逢不相识。因此,管理员有必要学会如何创建满足实际需要的特征数据样板,做到万变应万变!本文将对入侵特征的概念、种类以及如何创建特征进行介绍,希望能帮助读者尽快掌握对付“变脸”的方法。

  一、特征(signature)的基本概念


  IDS中的特征就是指用于判别通讯信息种类的样板数据,通常分为多种,以下是一些典型情况及识别方法:

  来自保留IP地址的连接企图:可通过检查IP报头(IP header)的来源地址轻易地识别。

  带有非法TCP 标志联合物的数据包:可通过对比TCP报头中的标志集与已知正确和错误标记联合物的不同点来识别。

  含有特殊病毒信息的Email:可通过对比每封Email的主题信息和病态Email的主题信息来识别,或者,通过搜索特定名字的附近来识别。

  查询负载中的DNS缓冲区溢出企图:可通过解析DNS域及检查每个域的长度来识别利用DNS域的缓冲区溢出企图。还有另外一个识别方法是:在负载中搜索“壳代码利用”(exploit shellcode)的序列代码组合。

  通过对POP3服务器发出上千次同一命令而导致的DoS攻击:通过跟踪记录某个命令连续发出的次数,看看是否超过了预设上限,而发出报警信息。

  未登录情况下使用文件和目录命令对FTP服务器的文件访问攻击:通过创建具备状态跟踪的特征样板以监视成功登录的FTP对话、发现未经验证却发命令的入侵企图。

  从以上分类可以看出特征的涵盖范围很广,有简单的报头域数值、有高度复杂的连接状态跟踪、有扩展的协议分析。一叶即可知秋,本文将从最简单的特征入手,详细讨论其功能及开发、定制方法。

  另外请注意:不同的IDS产品具有的特征功能也有所差异。例如:有些网络IDS系统只允许很少地定制存在的特征数据或者编写需要的特征数据,另外一些则允许在很宽的范围内定制或编写特征数据,甚至可以是任意一个特征;一些IDS系统只能检查确定的报头或负载数值,另外一些则可以获取任何信息包的任何位置的数据。

  二、特征有什么作用?

  这似乎是一个答案很明显的问题:特征是检测数据包中的可疑内容是否真正“不可就要”的样板,也就是“坏分子克隆”。IDS系统本身就带有这个重要的部分,为什么还需要定制或编写特征呢?是这样:也许你经常看到一些熟悉的通讯信息流在网络上游荡,由于IDS系统的特征数据库过期或者这些通讯信息本身就不是攻击或探测数据,IDS系统并没有对它们进行关注,而这时你的好奇心升起,想在这些可疑数据再次经由时发出报警,想捕捉它们、仔细看看它们到底来自何方、有何贵干,因此,唯一的办法就是对现有特征数据库进行一些定制配置或者编写新的特征数据了。

  特征的定制或编写程度可粗可细,完全取决于实际需求。或者是只判断是否发生了异常行为而不确定具体是什么攻击名号,从而节省资源和时间;或者是判断出具体的攻击手段或漏洞利用方式,从而获取更多的信息。我感觉,前者适用于领导同志,后者需要具体做事者使用,宏观加微观,敌人别想遛进来!

  三、首席特征代表:报头值(Header Values)
  
  报头值的结构比较简单,而且可以很清楚地识别出异常报头信息,因此,特征数据的首席候选人就是它。一个经典的例子是:明显违背RFC793中规定的TCP标准、设置了SYN和FIN标记的TCP数据包。这种数据包被许多入侵软件采用,向防火墙、路由器以及IDS系统发起攻击。异常报头值的来源有以下几种:

  因为大多数操作系统和应用软件都是在假定RFC被严格遵守的情况下编写的,没有添加针对异常数据的错误处理程序,所以许多包含报头值的漏洞利用都会故意违反RFC的标准定义,明目张胆地揭发被攻击对象的偷工减料行为。

  许多包含错误代码的不完善软件也会产生违反RFC定义的报头值数据。

  并非所有的操作系统和应用程序都能全面拥护RFC定义,至少会存在一个方面与RFC不协调。

  随着时间推移,执行新功能的协议可能不被包含于现有RFC中。

  由于以上几种情况,严格基于RFC的IDS特征数据就有可能产生漏报或误报效果。对此,RFC也随着新出现的违反信息而不断进行着更新,我们也有必要定期地回顾或更新存在的特征数据定义。
  
  非法报头值是特征数据的一个非常基础的部分,合法但可疑的报头值也同等重要。例如,如果存在到端口31337或27374的可疑连接,就可报警说可能有特洛伊木马在活动;再附加上其他更详细地探测信息,就能够进一步地判断是真马还是假马。
四、确定特征“候选人”

  为了更好地理解如何开发基于报头值的特殊数据,下面通过分析一个实例的整个过程进行详细阐述。

  Synscan是一个流行的用于扫描和探测系统的工具,由于它的代码被用于创建蠕虫Ramen的开始片断而在2001年早期大出风头。Synscan的执行行为很具典型性,它发出的信息包具有多种可分辨的特性,包括:

  不同的来源IP地址信息
  TCP来源端口21,目标端口21
  服务类型0
  IP鉴定号码39426(IP identification number)
  设置SYN和FIN标志位
  不同的序列号集合(sequence numbers set)
  不同的确认号码集合(acknowledgment numbers set)
  TCP窗口尺寸1028

  下面我们对以上这些数据进行筛选,看看哪个比较合适做特征数据。我们要寻找的是非法、异常或可疑数据,大多数情况下,这都反映出攻击者利用的漏洞或者他们使用的特殊技术。以下是特征数据的候选对象:

  只具有SYN和FIN标志集的数据包,这是公认的恶意行为迹象。

  没有设置ACK标志,但却具有不同确认号码数值的数据包,而正常情况应该是0。

  来源端口和目标端口都被设置为21的数据包,经常与FTP服务器关联。这种端口相同的情况一般被称为“反身”(reflexive),除了个别时候如进行一些特别NetBIOS通讯外,正常情况下不应该出现这种现象。“反身”端口本身并不违反TCP标准,但大多数情况下它们并非预期数值。例如在一个正常的FTP对话中,目标端口一般是21,而来源端口通常都高于1023。

  TCP窗口尺寸为1028,IP鉴定号码在所有数据包中为39426。根据IP RFC的定义,这2类数值应在数据包间有所不同,因此,如果持续不变,就表明可疑。

  五、公布最佳特征“得主”

  从以上4个候选对象中,我们可以单独选出一项作为基于报头的特征数据,也可以选出多项组合作为特征数据。

  选择一项数据作为特征有很大的局限性。例如一个简单的特征可以是只具有SYN和FIN标志的数据包,虽然这可以很好地提示我们可能有一个可疑的行为发生,但却不能给出为什么会发生的更多信息。SYN和FIN通常联合在一起攻击防护墙和其他设备,只要有它们出现,就预示着扫描正在发生、信息正在收集、攻击将要开始。但仅仅这些而已,我们需要的是更多的细节资料。

  选择以上4项数据联合作为特征也不现实,因为这显得有些太特殊了。尽管能够精确地提供行为信息,但是比仅仅使用一个数据作为特征而言,会显得远远缺乏效率。实际上,特征定义永远要在效率和精确度间取得折中。大多数情况下,简单特征比复杂特征更倾向于误报(false positives),因为前者很普遍;复杂特征比简单特征更倾向于漏报(false negatives),因为前者太过全面,攻击软件的某个特征会随着时间的推进而变化。

  多也不行,少亦不可,完全应由实际情况决定。例如,我们想判断攻击可能采用的工具是什么,那么除了SYN和FIN标志以外,还需要什么其他属性?“反身”端口虽然可疑,但是许多工具都使用到它,而且一些正常通讯也有此现象,因此不适宜选为特征。TCP窗口尺寸1028尽管有一点可疑,但也会自然的发生。IP鉴定号码39426也一样。没有ACK标志的ACK数值很明显是非法的,因此非常适于选为特征数据。当然,根据环境的不同,及时地调整或组合特征数据,才是达到最优效果的不二法门。

  接下来我们真正创建一个特征,用于寻找并确定synscan发出的每个TCP信息包中的以下属性:

  只设置了SYN和FIN标志
  IP鉴定号码为39426
  TCP窗口尺寸为1028

  第一个项目太普遍,第二个和第三个项目联合出现在同一数据包的情况不很多,因此,将这三个项目组合起来就可以定义一个详细的特征了。再加上其他的synscan属性不会显著地提高特征的精确度,只能增加资源的耗费。到此,判别synscan软件的特征如此就创建完毕了。
六、拓宽特征的“社会关系”,创建识别更多异常通讯的特征

  以上创建的特征可以满足对标准synscan软件的探测了。但synscan可能存在多种“变脸”,而其它工具也可能是“变化多端”的,这样,上述建立的特征必然不能将它们一一识别。这时就需要结合使用特殊特征和通用特征,才能创建一个更好、更全面的解决方案。如果一个入侵检测特征既能揭示已知“坏蛋”,还能预测“潜在的罪犯”,那么它的魅力将大大提高。

  首先看一个“变脸”synscan所发出的数据信息特征:

  只设置了SYN标志,这纯属正常的TCP数据包“长相”。

  TCP窗口尺寸总是40而不是1028。40是初始SYN信息包中一个罕见的小窗口尺寸,比正常的数值1028少见得多。

  “反身”端口数值为53而不是21。老版本的BIND使用“反身”端口用于特殊操作,新版本BIND则不再使用它,因此,经常看到这个信息会让我们睁大怀疑的眼睛。

  以上3种数据与标准synscan产生的数据有很多相似出,因此可以初步推断产生它的工具或者是synscan的不同版本,或者是其他基于synscan代码的工具。显然,前面定义的特征已经不能将这个“变脸”识别出来,因为3个特征子项已经面目全非。这时,我们可以采取三种方法:

  再单独创建一个匹配这些内容的特殊特征。

  调整我们的探测目标,只关注普通的异常行为,而不是特殊的异常行为,创建识别普通异常行为的通用特征。

  1和2都创建,既全面撒网,也重点垂钓,真实的罪犯必抓,可疑的分子也别跑。

  通用特征可以创建如下:

  没有设置确认标志,但是确认数值却非0的TCP数据包。
  只设置了SYN和FIN标志的TCP数据包。
  初始TCP窗口尺寸低于一定数值的TCP数据包。

  使用以上的通用特征,上面提到过的两种异常数据包都可以有效地识别出来。看来,网大好捞鱼啊。

  当然,如果需要更加详细地探测,再在这些通用特征的基础上添加一些个性数据就可以创建出一个特殊特征来。还是那个观点,创建什么样的特征、创建哪些特征,取决于实际需求,实践是检测创建何种特征的唯一标准吗!

  七、报头值关键元素小结,信息包种类检查分析

  从上面讨论的例子中,我们看到了可用于创建IDS特征的多种报头值信息。通常,最有可能用于生成报头相关特征的元素为以下几种:

  IP地址,特别保留地址、非路由地址、广播地址。
  不应被使用的端口号,特别是众所周知的协议端口号和木马端口号。
  异常信息包片断。
  特殊TCP标志组合值。
  不应该经常出现的ICMP字节或代码。

  知道了如何使用基于报头的特征数据,接下来要确定的是检查何种信息包。确定的标准依然是根据实际需求而定。因为ICMP和UDP信息包是无状态的,所以大多数情况下,需要对它们的每一个“属下”都进行检查。而TCP信息包是有连接状态的,因此有时候可以只检查连接中的第一个信息包。例如,象IP地址和端口这样的特征将在连接的所有数据包中保持不变,只对它们检查一次就可放心。其他特征如TCP标志会在对话过程的不同数据包中有所不同,如果要查找特殊的标志组合值,就需要对每一个数据包进行检查。检查的数量越多,消耗的资源和时间也就越多。

  另外我们还要了解一点:关注TCP、UDP或者ICMP的报头信息要比关注DNS报头信息更方便。因为TCP、UDP以及ICMP都属于IP协议,它们的报头信息和载荷信息都位于IP数据包的payload部分,比如要获取TCP报头数值,首先解析IP报头,然后就可以判断出这个载荷的“父亲”是TCP。而象DNS这样的协议,它又包含在UDP和TCP数据包的载荷中,如果要获取DNS的信息,就必须深入2层才能看到真面目。而且,解析此类协议还需要更多更复杂的编程代码,完全不如TCP等简单。实际上,这个解析操作也正是区分不同协议的关键所在,评价IDS系统的好坏也体现在是否能够很好地分析更多的协议。

  八、结语

  本文对如何定制IDS的关键部件特征数据库做了详细地介绍,相信你已经对此有了进一步的认识。入侵者总是狡猾多变的,我们不能让手中的钢刀有刃无光,要经常地磨砺它、改装它,才可能以万变应万变,让入侵者胆战心惊!

推荐日志 “网络钓鱼”大破解

[ 2007-03-25 02:51:04 | 作者: sun ]
网络欺诈有一个很好听的名字——网络钓鱼(Phishing),这是“Fishing”和“Phone”的综合体,由于黑客始祖起初是以电话作案,所以用“Ph”来取代“F”,创造了“Phishing”这个词。所谓“姜太公钓鱼,愿者上钩”,网络中的“欺诈者”,利用欺骗性的电子邮件和伪造的Web站点进行诈骗活动,或者布局诱惑网友安装黑客程序和木马病毒,以达到窃取重要数据的目的。据专家透露,“网络钓鱼”之所以猖狂,是因为在所有接触诈骗信息的用户中,总有5%的人会对骗局作出响应。

  “钓鱼”招数一“发财邮件”坑你没商量

  Yama很有经商头脑,几年前,她偶然看到美国一家购物网站上的二手摄像器材不错,比国内的价格便宜很多。于是,她让国外的姐姐开了个北美账号,通过美国这家购物网买了几台很新的二手摄像机,然后以小时计费租给影视公司,生意很快就做大了。

  由于机器都是通过境外购物网站购买,Yama每天的工作就是泡在网上给买家写邮件,商量各种购买细节。有一天,她忽然收到一封电子邮件,发件人自称是纽约卖家Thomas,曾经卖给她镜头。

  Thomas在邮件中说:“我们曾经有过很愉快的交易,现在我自己开了家网上摄像器材二手店,你只要过来登记会员,就能直接向我购买。也不用再交给购物网站交易佣金,能省很多钱哦!”

  Yama点开邮件中的网页链接,发现里面的机器非常新,而且价钱比二手的还低30%。她心想:反正只是注册一下会员,不妨去看看。虽然在填写资料时涉及银行账号之类的信息,但她还是没有怀疑。

  一场噩梦就这样开始了。几天后,当Yama再次用这个境外银行账号买东西时,发现卡里只剩下几美元!她再仔细翻看Thomas的信,忽然发现,这人根本没有和自己有过任何交易,完全就是骗子发来的垃圾邮件。她意识到自己被骗了。

  见招拆招:请删除垃圾邮件不请自到的商业邮件或垃圾邮件,是网络诈骗中很常见的手段。过去,回复垃圾邮件最多就是招来更多邮件,而现在,一不小心就会让骗子获得可乘之机,在电脑上秘密安装跟踪软件,或者布局让人主动交出资料。

  “钓鱼”招数二真假网上银行

  现在通过网上银行转账消费已经不是新鲜事了,王丽见同事每月只要点点鼠标,就能轻松地用网上银行业务付手机费,也想申请一个网上银行。

  一天,王丽收到一封自称为“工商银行”的邮件,说可以免费开通网上银行。她点开邮件中的网页链接,看到申请网上银行业务的界面出奇简单,心里忽然生出些疑问:好像听同事说申请网上银行业务手续挺麻烦的,这个怎么就像一般论坛登录界面呢?谨慎的她没有继续。

  第二天上班,她在办公室聊起这事,网管GG立刻大呼:“这是典型的网络诈骗哦!你遇到克隆工行啦!”

  “不信?!我给你看!”网管拉着王丽来到电脑前——“真正的工行网上银行地址是mybank.icbc.com.cn,而你这个是mybank.iclc.com.cn,把‘b’偷换成‘l’,地址很像,网页内容更像,还好你没继续申请,否则就中招喽!”

  没过几天,这个工商银行的克隆网站就被曝光查封了,一起查封的,还有中国农业银行网址的克隆网站hnp://www.95569.cn。诈骗者利用一字之差这样的障眼法,蒙骗粗枝大叶的网民。

  见招拆招:拨客服电话确认真假现在网络欺诈者建立的克隆网上银行系统和真正的网站极为相似,引诱用户输入账号、密码等信息,进而通过真正的网上银行、网上证券系统或者伪造银行储蓄卡、证券交易卡窃得资金。还会利用服务器上的漏洞,在站点中恶意插入代码和病毒插件,窃取用户重要信息。

  既然是诈骗,当然少不了调包计。网络骗子们可以轻松仿造著名企业或知名银行的网站,神不知鬼不觉地把你引入“李鬼”网站,获取你所有的资料,继而大肆行骗。

  据银行有关人员表示,目前正规的各家网上银行都有自己的一套安全措施,数字证书是辨别真假网站的有效工具,要放心使用网上银行,就别偷懒,多了解这些安全设施吧。

  说到个人预防,其实和技术并没很大关系,只要有充分的警惕意识,看到来自网上银行的邮件通知,顺手拨一个客服电话,确认信息真假,就可以保证不被假银行蒙骗。

推荐日志 McAfee推免费版SiteAdvisor安全上网工具

[ 2007-03-25 02:50:50 | 作者: sun ]
McAfee近期宣布推出完全免费版McAfee SiteAdvisor上网工具。McAfee SiteAdvisor是业界第一款Web安全工具,能够主动地提醒用户在浏览、搜索和即时通信或收发电子邮件时所遇到的危险站点,避免遭到网络钓鱼、间谍软件等恶意程序的攻击。

McAfee SiteAdvisor是由数名美国麻省理工学院(MIT)的工程师于2005年4月创建的。创建之初,他们希望Web对其家人和朋友更安全,不再需要花很多休息时间来清理家人计算机上大量的垃圾邮件、广告软件和间谍软件。

另外,相对而言,传统的安全公司擅长处理技术威胁(如病毒),但却无法有效防止新的"社会工程"伎俩,如间谍软件感染、身份信息窃取诈骗和发送大量电子邮件的站点。

为了解决这项难题,MIT的工程师们建立了一个自动测试程序系统,它能持续巡视Web来浏览站点、下载文件和在注册表单中输入信息。这种用于IE和 Firefox浏览器的易用软件会对安全结果进行汇总,并通过直观的红色(危险)、黄色(可疑)和绿色(安全)评级表示出来,从而帮助Web用户在在线搜索、浏览和交易时保持安全状态,保证Web 安全,并让每位用户都可以更安全地使用互联网。

SiteAdvisor于2006年4月5日宣布由全球知名的安全厂商迈克菲收购。加入迈克菲之后,极大地提高了SiteAdvisor在全球范围的影响力,使用迈克菲提供的领先安全技术,从而加快为众多用户开发功能的速度。

目前,SiteAdvisor不仅可以阻止间谍软件、广告软件、浏览器攻击、垃圾邮件和其它网络欺诈,而且还可以防止网络钓鱼攻击,可以全面的帮助用户避免高风险的网上交易和感染恶意软件的机会。下载地址:http://www.siteadvisor.com/download/iemedia.html?cid=22940

推荐日志 黑客如何给你的系统种木马

[ 2007-03-25 02:50:21 | 作者: sun ]
相信很多朋友都听说过木马程序,总觉得它很神秘、很高难,但事实上随着木马软件的智能化,很多骇客都能轻松达到攻击的目的。今天,笔者就以最新的一款木马程序——黑洞2004,从种植、使用、隐藏、防范四个方面来为网络爱好者介绍一下木马的特性。需要提醒大家的是,在使用木马程序的时候,请先关闭系统中的病毒防火墙,因为杀毒软件会把木马作为病毒的一种进行查杀。


  操作步骤:

  一、种植木马

  现在网络上流行的木马基本上都采用的是C/S 结构(客户端/服务端)。你要使用木马控制对方的电脑,首先需要在对方的的电脑中种植并运行服务端程序,然后运行本地电脑中的客户端程序对对方电脑进行连接进而控制对方电脑。

  二、使用木马

  成功的给别人植入木马服务端后,就需要耐心等待服务端上线。由于黑洞2004采用了反连接技术,所以服务端上线后会自动和客户端进行连接,这时,我们就可以操控客户端对服务端进行远程控制。在黑洞2004下面的列表中,随便选择一台已经上线的电脑,然后通过上面的命令按钮就可以对这台电脑进行控制。下面就简单的介绍一下这些命令的意义。

  文件管理:服务端上线以后,你可以通过“文件管理”命令对服务端电脑中的文件进行下载、新建、重命名、删除等操作。可以通过鼠标直接把文件或文件夹拖放到目标文件夹,并且支持断点传输。简单吧?

  进程管理:查看、刷新、关闭对方的进程,如果发现有杀毒软件或者防火墙,就可以关闭相应的进程,达到保护服务器端程序的目的。

  窗口管理:管理服务端电脑的程序窗口,你可以使对方窗口中的程序最大化、最小化、正常关闭等操作,这样就比进程管理更灵活。你可以搞很多恶作剧,比如让对方的某个窗口不停的最大化和最小化。

  视频监控和语音监听:如果远程服务端电脑安装有USB摄像头,那么可以通过它来获取图像,并可直接保存为Media Play可以直接播放的Mpeg文件;需要对方有麦克风的话,还可以听到他们的谈话,恐怖吧?

  除了上面介绍的这些功能以外,还包括键盘记录、重启关机、远程卸载、抓屏查看密码等功能,操作都非常简单,明白了吧?做骇客其实很容易。

  3 隐藏

  随着杀毒软件病毒库的升级,木马会很快被杀毒软件查杀,所以为了使木马服务端辟开杀毒软件的查杀,长时间的隐藏在别人的电脑中,在木马为黑客提供几种可行的办法。

  1.木马的自身保护

  就像前面提到的,黑洞2004在生成服务端的时候,用户可以更换图标,并使用软件UPX对服务端自动进行压缩隐藏。

  2.捆绑服务端

  用户通过使用文件捆绑器把木马服务端和正常的文件捆绑在一起,达到欺骗对方的目的。文件捆绑器有广外文件捆绑器2002、万能文件捆绑器、exeBinder、Exe Bundle等。

  3.制做自己的服务端

  上面提到的这些方法虽然能一时瞒过杀毒软件,但最终还是不能逃脱杀毒软件的查杀,所以若能对现有的木马进行伪装,让杀毒软件无法辨别,则是个治本的方法。可以通过使用压缩EXE和DLL文件的压缩软件对服务端进行加壳保护。例如1中的UPX就是这样一款压缩软件,但默认该软件是按照自身的设置对服务端压缩的,因此得出的结果都相同,很难长时间躲过杀毒软件;而自己对服务端进行压缩,就可以选择不同的选项,压缩出与众不同的服务端来,使杀毒软件很难判断。下面我就以冰河为例,为大家简单的讲解一下脱壳(解压)、加壳(压缩)的过程。

  如果我们用杀毒软件对冰河进行查杀,一定会发现2个病毒,一个是冰河的客户端,另一个是服务端。使用软件“PEiD”查看软件的服务端是否已经被作者加壳,可以看到服务端已经使用UPX进行了压缩。

现在,我们就需要对软件进行脱壳,也就是一种解压的过程。这里我使用了“UPXUnpack”,选择需要的文件后,点击“解压缩”就开始执行脱壳。

  脱壳完成后,我们需要为服务端加一个新壳,加壳的软件很多,比如:ASPack、ASProtect、UPXShell、Petite等。这里以“ASPack”为例,点击“打开”按钮,选择刚刚脱壳的服务端程序,选择完成后ASPack会自动为服务端进行加壳。再次用杀毒软件对这个服务端进行查杀,发现其已经不能识别判断了。如果你的杀毒软件依旧可以查杀,你还可以使用多个软件对服务端进行多次加壳。笔者在使用Petite和ASPack对服务端进行2次加壳后,试用了多种杀毒软件都没有扫描出来。现在网络中流行的很多XX版冰河,就是网友通过对服务端进行修改并重新加壳后制做出来的。

  为了避免不熟悉木马的用户误运行服务端,现在流行的木马都没有提供单独的服务端程序,而是通过用户自己设置来生成服务端,黑洞2004也是这样。首先运行黑洞2004,点击“功能/生成服务端”命令,弹出“服务端配置”界面。由于黑洞2004采用了反弹技术(请参加小知识),首先单击旁边的“查看”按钮,在弹出的窗口中设置新的域名,输入你事先申请空间的域名和密码,单击“域名注册”,在下面的窗口中会反映出注册的情况。域名注册成功以后,返回“服务端配置”界面,填入刚刚申请的域名,以及“上线显示名称”、“注册表启动名称”等项目。为了迷惑他人,可以点“更改服务端图标”按钮为服务端选择一个图标。所有的设置都完成后,点击“生成EXE型服务端”就生成了一个服务端。在生成服务端的同时,软件会自动使用UPX为服务端进行压缩,对服务端起到隐藏保护的作用。

  服务端生成以后,下一步要做的是将服务端植入别人的电脑?常见的方法有,通过系统或者软件的漏洞入侵别人的电脑把木马的服务端植入其的电脑;或者通过Email夹带,把服务端作为附件寄给对方;以及把服务端进行伪装后放到自己的共享文件夹,通过P2P软件(比如PP点点通、百宝等),让网友在毫无防范中下载并运行服务端程序。

  由于本文主要面对普通的网络爱好者,所以就使用较为简单的Email夹带,为大家进行讲解。我们使用大家经常会看到的Flash动画为例,建立一个文件夹命名为“好看的动画”,在该文件夹里边再建立文件夹“动画.files”,将木马服务端软件放到该文件夹中假设名称为“abc.exe”,再在该文件夹内建立flash文件,在flash文件的第1帧输入文字“您的播放插件不全,单击下边的按钮,再单击打开按钮安装插件”,新建一个按钮组件,将其拖到舞台中,打开动作面板,在里边输入“on (press) {getURL("动画.files/abc.exe");}”,表示当单击该按钮时执行abc这个文件。在文件夹“好看的动画”中新建一个网页文件命名为“动画.htm”,将刚才制作的动画放到该网页中。看出门道了吗?平常你下载的网站通常就是一个.html文件和一个结尾为.files的文件夹,我们这么构造的原因也是用来迷惑打开者,毕竟没有几个人会去翻.files文件夹。现在我们就可以撰写一封新邮件了,将文件夹“好看的动画”压缩成一个文件,放到邮件的附件中,再编写一个诱人的主题。只要对方深信不疑的运行它,并重新启动系统,服务端就种植成功了。

  三、防范

  防范重于治疗,在我们的电脑还没有中木马前,我们需要做很多必要的工作,比如:安装杀毒软件和网络防火墙;及时更新病毒库以及系统的安全补丁;定时备份硬盘上的文件;不要运行来路不明的软件和打开来路不明的邮件。

  最后笔者要特别提醒大家,木马除了拥有强大的远程控制功能外,还包括极强的破坏性。我们学习它,只是为了了解它的技术与方法,而不是用于盗窃密码等破坏行为,希望大家好自为之。

  小知识:

  反弹技术,该技术解决了传统的远程控制软件不能访问装有防火墙和控制局域网内部的远程计算机的难题。反弹端口型软件的原理是,客户端首先登录到FTP服务器,编辑在木马软件中预先设置的主页空间上面的一个文件,并打开端口监听,等待服务端的连接,服务端定期用HTTP协议读取这个文件的内容,当发现是客户端让自己开始连接时,就主动连接,如此就可完成连接工作。

  因此在互联网上可以访问到局域网里通过 NAT (透明代理)代理上网的电脑,并且可以穿过防火墙。与传统的远程控制软件相反,反弹端口型软件的服务端会主动连接客户端,客户端的监听端口一般开为80(即用于网页浏览的端口),这样,即使用户在命令提示符下使用“netstat -a”命令检查自己的端口,发现的也是类似“TCP UserIP:3015 ControllerIP:http ESTABLISHED”的情况,稍微疏忽一点你就会以为是自己在浏览网页,而防火墙也会同样这么认为的。于是,与一般的软件相反,反弹端口型软件的服务端主动连接客户端,这样就可以轻易的突破防火墙的限制



推荐日志 服务器维护中的反黑技巧

[ 2007-03-25 02:50:07 | 作者: sun ]
1.打补丁

微软的作风就是三天一小补,五天一大补,漏洞太多,补一点就好一点,使用“开始-Windows Update" 然后把所有的补丁都装进去吧

2.删除默认共享

2.1删除IPC$共享

Win2k的缺省安装很容易被攻击者取得帐号列表,即使安装了最新的Service ack也是如此。在Win2k中有一个缺省共享IPC$,并且还有诸如admin$ C$ D$等等,而IPC$允许匿名用户(即未经登录的用户)访问,利用这个缺省共享可以取得用户列表。如何防范这东东,很简单在"管理工具\本地安全策略\安全设置\本地策略\安全选项"中的"对匿名连接的额外限制"可修改为"不允许枚举SAM帐号和共享"。就可以防止大部分此类连接,但是还没完,如果使用NetHacker只要使用一个存在的帐号就又可以顺利取得所有的帐号名称。所以,我们还需要另一种方法做后盾,

(1):创建一个文件startup.cmd,内容就是以下的一行命令"net share ipc$ delete"(不包括引号)

(2):在Windows的计划任务中增加一项任务执行以上的startup.cmd,时间安排为"计算机启动时执行"。或者把这个文件放到"开始-程序-启动"中 让他一启动就删除ipc$共享

(3):重新启动服务器。

2.2删除admin$共享

修改注册表:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters增加AutoShareWks子键(REG_DWORD),键值为0

2.3清除默认磁盘共享(C$,D$等)

修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters增加AutoShareServer子键(REG_DWORD),键值为0

3.修改默认用户名

"管理工具\本地安全策略\安全设置\本地策略\安全选项"中"重命名来宾帐户"就是把"guest"改个名字而已,改成abc或者其他名字,下面机器登陆名字也设为"abc"或其他的名字,然后再把"重命名系统管理员帐户"也改一下,有一次我闲着无聊,用小榕的流光随便扫了一下我的IP段,就发现有N家网吧服务器的管理员名称是默认的Administrator,并且是简单密码。如果有人想搞个肉机的话,实在是很简单。

至此下来,服务器已经可以很安全稳定的运行下去了,当然别忘了要一两天重启一下你的服务器。

SQL服务器安全设置

首先,关闭sql默认的1433(好象是这个吧) 就是把sql的TCP/IP协议删除就ok了,删掉后就不能是用远程了 那总归少点事情吧sa 设密码设的密码为数字加字母等, 不用我多说了吧administrator 别忘了设密码。

在tcp/ip协议里关掉所有的无用端口

本地连接状态 --属性--tcp/ip协议--高级--选项--tcp/ip筛选 --只允许 tcp端口

开80(网站端口)

开21(ftp端口--可开可不开)

55019(奇迹私服端口)

44405(奇迹私服端口)

以上是针对无路由的使用服务器直接对外的情况。

使用路由的情况见下

映射以下端口就OK了

开80(网站端口)

开21(ftp端口--可开可不开)

55019(奇迹私服端口)

44405(奇迹私服端口)

当然,上面的你也要设一设哦

再来就是asp的安全问题了

请使用fishserver这套工具

就不存在是用asp漏洞改你数据了

这套工具在 梦之奇迹1.05里有非常方便设置。

推荐日志 Server2003防木马权限设置

[ 2007-03-25 02:49:55 | 作者: sun ]
参考了网络上很多关于WIN2003的安全设置以及自己动手做了一些实践,综合了这些安全设置文章整理而成,希望对大家有所帮助,另外里面有不足之处还请大家多多指点,然后给补上,谢谢!



一、系统的安装  


1、按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面。


2、IIS6.0的安装


开始菜单—>控制面板—>添加或删除程序—>添加/删除Windows组件


应用程序 ———ASP.NET(可选)


|——启用网络 COM+ 访问(必选)


|——Internet 信息服务(IIS)———Internet 信息服务管理器(必选) 


|——公用文件(必选)


|——万维网服务———Active Server pages(必选)


|——Internet 数据连接器(可选)


|——WebDAV 发布(可选)


|——万维网服务(必选)


|——在服务器端的包含文件(可选)


然后点击确定—>下一步安装。(具体见本文附件1)



3、系统补丁的更新


点击开始菜单—>所有程序—>Windows Update


按照提示进行补丁的安装。


4、备份系统


  用GHOST备份系统。



5、安装常用的软件


  例如:杀毒软件、解压缩软件等;安装完毕后,配置杀毒软件,扫描系统漏洞,安装之后用GHOST再次备份系统。



6、先关闭不需要的端口 开启防火墙 导入IPSEC策略


在”网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。在高级tcp/ip设置里--"NetBIOS"设置"禁用tcp/IP上的NetBIOS(S)"。在高级选项里,使用"Internet连接防火墙",这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。



修改3389远程连接端口


修改注册表.


开始--运行--regedit


依次展开 HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/


TERMINAL SERVER/WDS/RDPWD/TDS/TCP


右边键值中 PortNumber 改为你想用的端口号.注意使用十进制(例 10000 )



HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/TERMINAL SERVER/


WINSTATIONS/RDP-TCP/


右边键值中 PortNumber 改为你想用的端口号.注意使用十进制(例 10000 )


注意:别忘了在WINDOWS2003自带的防火墙给+上10000端口


修改完毕.重新启动服务器.设置生效.

二、用户安全设置


1、禁用Guest账号


在计算机管理的用户里面把Guest账号禁用。为了保险起见,最好给Guest加一个复杂的密码。你可以打开记事本,在里面输入一串包含特殊字符、数字、字母的长字符串,然后把它作为Guest用户的密码拷进去。


2、限制不必要的用户


去掉所有的Duplicate User用户、测试用户、共享用户等等。用户组策略设置相应权限,并且经常检查系统的用户,删除已经不再使用的用户。这些用户很多时候都是黑客们入侵系统的突破口。 3、把系统Administrator账号改名


大家都知道,Windows 2003 的Administrator用户是不能被停用的,这意味着别人可以一遍又一遍地尝试这个用户的密码。尽量把它伪装成普通用户,比如改成Guesycludx。


4、创建一个陷阱用户


什么是陷阱用户?即创建一个名为“Administrator”的本地用户,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过10位的超级复杂密码。这样可以让那些 Hacker们忙上一段时间,借此发现它们的入侵企图。


5、把共享文件的权限从Everyone组改成授权用户


任何时候都不要把共享文件的用户设置成“Everyone”组,包括打印共享,默认的属性就是“Everyone”组的,一定不要忘了改。


6、开启用户策略


使用用户策略,分别设置复位用户锁定计数器时间为20分钟,用户锁定时间为20分钟,用户锁定阈值为3次。 (该项为可选)


7、不让系统显示上次登录的用户名


默认情况下,登录对话框中会显示上次登录的用户名。这使得别人可以很容易地得到系统的一些用户名,进而做密码猜测。修改注册表可以不让对话框里显示上次登录的用户名。方法为:打开注册表编辑器并找到注册表“HKLM\Software\Microsoft\Windows T\CurrentVersion\Winlogon\Dont-DisplayLastUserName”,把REG_SZ的键值改成1。


密码安全设置


1、使用安全密码


一些公司的管理员创建账号的时候往往用公司名、计算机名做用户名,然后又把这些用户的密码设置得太简单,比如“welcome”等等。因此,要注意密码的复杂性,还要记住经常改密码。


2、设置屏幕保护密码


这是一个很简单也很有必要的操作。设置屏幕保护密码也是防止内部人员破坏服务器的一个屏障。


3、开启密码策略


注意应用密码策略,如启用密码复杂性要求,设置密码长度最小值为6位 ,设置强制密码历史为5次,时间为42天。


4、考虑使用智能卡来代替密码


对于密码,总是使安全管理员进退两难,密码设置简单容易受到黑客的攻击,密码设置复杂又容易忘记。如果条件允许,用智能卡来代替复杂的密码是一个很好的解决方法。

三、系统权限的设置


1、磁盘权限


  系统盘及所有磁盘只给 Administrators 组和 SYSTEM 的完全控制权限


  系统盘\Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限


  系统盘\Documents and Settings\All Users 目录只给 Administrators 组和 SYSTEM 的完全控制权限


  系统盘\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe、ftp.exe、tftp.exe、telnet.exe 、 netstat.exe、regedit.exe、at.exe、attrib.exe、format.com、del文件只给 Administrators 组和SYSTEM 的完全 控制权限


另将\System32\cmd.exe、format.com、ftp.exe转移到其他目录或更名


  Documents and Settings下所有些目录都设置只给adinistrators权限。并且要一个一个目录查看,包括下面的所有子目录。


删除c:\inetpub目录



2、本地安全策略设置


  开始菜单—>管理工具—>本地安全策略


  A、本地策略——>审核策略


  审核策略更改   成功 失败  


  审核登录事件   成功 失败


  审核对象访问      失败审核过程跟踪   无审核


  审核目录服务访问    失败


  审核特权使用      失败


  审核系统事件   成功 失败


  审核账户登录事件 成功 失败


  审核账户管理   成功 失败



  B、本地策略——>用户权限分配


  关闭系统:只有Administrators组、其它全部删除。


  通过终端服务允许登陆:只加入Administrators,Remote Desktop Users组,其他全部删除

C、本地策略——>安全选项


  交互式登陆:不显示上次的用户名       启用


  网络访问:不允许SAM帐户和共享的匿名枚举  启用


  网络访问:不允许为网络身份验证储存凭证   启用


  网络访问:可匿名访问的共享         全部删除


  网络访问:可匿名访问的命          全部删除


  网络访问:可远程访问的注册表路径      全部删除


  网络访问:可远程访问的注册表路径和子路径  全部删除


  帐户:重命名来宾帐户            重命名一个帐户


  帐户:重命名系统管理员帐户         重命名一个帐户



3、禁用不必要的服务 开始-运行-services.msc


TCP/IPNetBIOS Helper提供 TCP/IP 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持而使用户能够共享


文件、打印和登录到网络


Server支持此计算机通过网络的文件、打印、和命名管道共享


  Computer Browser 维护网络上计算机的最新列表以及提供这个列表


Task scheduler 允许程序在指定时间运行


Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息


  Distributed File System: 局域网管理共享文件,不需要可禁用


  Distributed linktracking client:用于局域网更新连接信息,不需要可禁用


  Error reporting service:禁止发送错误报告


  Microsoft Serch:提供快速的单词搜索,不需要可禁用


  NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要可禁用


  PrintSpooler:如果没有打印机可禁用


  Remote Registry:禁止远程修改注册表


  Remote Desktop Help Session Manager:禁止远程协助


Workstation 关闭的话远程NET命令列不出用户组


  以上是在Windows Server 2003 系统上面默认启动的服务中禁用的,默认禁用的服务如没特别需要的话不要启动。

4、修改注册表


修改注册表,让系统更强壮


1、隐藏重要文件/目录可以修改注册表实现完全隐藏


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0



2、防止SYN洪水攻击


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters


新建DWORD值,名为SynAttackProtect,值为2


新建EnablePMTUDiscovery REG_DWORD 0


新建NoNameReleaseOnDemand REG_DWORD 1


新建EnableDeadGWDetect REG_DWORD 0


新建KeepAliveTime REG_DWORD 300,000


新建PerformRouterDiscovery REG_DWORD 0


新建EnableICMPRedirects REG_DWORD 03. 禁止响应ICMP路由通告报文


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface


新建DWORD值,名为PerformRouterDiscovery 值为0



4. 防止ICMP重定向报文的攻击


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters


将EnableICMPRedirects 值设为0



5. 不支持IGMP协议


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters


新建DWORD值,名为IGMPLevel 值为0


6、禁止IPC空连接:


cracker可以利用net use命令建立空连接,进而入侵,还有net view,nbtstat这些都是基于空连接的,禁止空连接就好了。


Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 把这个值改成”1”即可。



7、更改TTL值


cracker可以根据ping回的TTL值来大致判断你的操作系统,如:


TTL=107(WINNT);


TTL=108(win2000);


TTL=127或128(win9x);


TTL=240或241(linux);


TTL=252(solaris);


TTL=240(Irix);


实际上你可以自己改的:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:DefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128)改成一个莫名其妙的数字如258,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦



8. 删除默认共享


有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:AutoShareServer类型是REG_DWORD把值改为0即可



9. 禁止建立空连接


默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。我们可以通过修改注册表来禁止建立空连接:


Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即可。



10、建立一个记事本,填上以下代码。保存为*.bat并加到启动项目中


net share c$Content$nbsp;/del


net share d$Content$nbsp;/del


net share e$Content$nbsp;/del


net share f$Content$nbsp;/del


net share ipc$Content$nbsp;/del


net share admin$Content$nbsp;/del

5、IIS站点设置:


1、将IIS目录&数据与系统磁盘分开,保存在专用磁盘空间内。


2、启用父级路径


3、在IIS管理器中删除必须之外的任何没有用到的映射(保留asp等必要映射即可)


4、在IIS中将HTTP404 Object Not Found出错页面通过URL重定向到一个定制HTM文件


5、Web站点权限设定(建议)


读 允许


写 不允许


脚本源访问 不允许


目录浏览 建议关闭


日志访问 建议关闭


索引资源 建议关闭


执行 推荐选择 “仅限于脚本”


6、建议使用W3C扩充日志文件格式,每天记录客户IP地址,用户名,服务器端口,方法,URI字根,HTTP状态,用户代理,而且每天均要审查日志。(最好不要使用缺省的目录,建议更换一个记日志的路径,同时设置日志的访问权限,只允许管理员和system为Full Control)。


7、程序安全:


1) 涉及用户名与口令的程序最好封装在服务器端,尽量少的在ASP文件里出现,涉及到与数据库连接地用户名与口令应给予最小的权限;


2) 需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。3) 防止ASP主页.inc文件泄露问题;


4) 防止UE等编辑器生成some.asp.bak文件泄露问题。



6、IIS权限设置的思路


?要为每个独立的要保护的个体(比如一个网站或者一个虚拟目录)创建一个系统用户,让这个站点在系统中具有惟一的可以设置权限的身份。


?在IIS的【站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑】填写刚刚创建的那个用户名。


?设置所有的分区禁止这个用户访问,而刚才这个站点的主目录对应的那个文件夹设置允许这个用户访问(要去掉继承父权限,并且要加上超管组和SYSTEM组)。



7、卸载最不安全的组件


最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件,( 以下均以 WIN2000 为例,如果使用2003,则系统文件夹应该是 C:\WINDOWS\ )


regsvr32/u C:\WINDOWS\System32\wshom.ocx


del C:\WINDOWS\System32\wshom.ocx


regsvr32/u C:\WINDOWS\system32\shell32.dll


del C:\WINNT\WINDOWS\shell32.dll



然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全”了。