频道栏目
首页 > 安全 > 系统安全 > 正文

网络攻击机制和技术发展综述

2006-03-04 04:22:53           
收藏   我要投稿

在这个世界上,人类不断研究和发展新的信息安全机制和工程实践,为战胜计算机网络安全威胁付出了艰巨的努力。似乎如果计算机攻击手法不再翻新,关于信息安全的战争将很快结束。虽然,大多数地下组织研究的攻击手法都是惊人的相似,无非就是:蠕虫、后门、rootkits、DoS和sniffer等。但这些手段都体现了它们惊人的威力。到今年,情况愈演愈烈。这几类攻击手段的新变种,与去年前年出现的相比,更加智能化,攻击目标直指互联网基础协议和操作系统层次。从web程序的控制程序到内核级rootkits,黑客的攻击手法不断升级翻新,向用户的信息安全防范能力不断发起挑战。

(注:rootkits, 是一种攻击脚本、经修改的系统程序,或者成套攻击脚本和工具,用于在一个目标系统中非法获取系统的最高控制权限。)

在长期与信息安全专家的较量中,黑客对开发隐蔽的计算机网络攻击技术更加得心应手。同时,这些工具应用起来也越来越简单。以前很多命令行的攻击工具被人写成了GUI(图形界面)的内核级rootkit,将这些高度诡异的攻击武器武装到了那些热中于”玩脚本的菜鸟”手中,这些杀伤力很强的黑客工具,使”脚本菜鸟”们变得象令人敬畏的黑客。

当然,工具本身是不会危及系统安全的-坏事都是人干的。信息安全专业人员也使用和入侵者同样使用的扫描和监听工具,对系统安全做例行公事般地审计。在恶意用户使用前,那些能非法控制web程序的新的渗透测试工具,也被安全人员用来测试系统的漏洞。但是,还有很多的工具有它完全黑暗的一面,比如,蠕虫程序不断发展和传播,它只用来干坏事;反入侵检测工具和很多rootkits专门用来破坏系统的安全性。

本文将探讨一些黑客工具的独创性,以及它们令普通人惊讶的功能。这对帮助用户考虑采用新技术和传统措施来防范这些威胁有很重要的意义:在攻击者攻击来临之前,先检测和修补系统和软件漏洞。

二、Web应用程序:首选目标

日益增长的网络业务应用为脆弱的web应用提供了漏洞滋生的土壤。如银行、政府机构和在线商务企业都使用了web技术提供服务。这些机构往往自己开发整套的web应用程序(ASP、JSP和CGI等),而这些开发者由于没有获得过专业训练,导致这些自产软件漏洞百出。Web程序的开发者没有意识到,任何传递给浏览器的信息都可能被用户利用和操纵。不管用不用SSL(安全套接层),恶意用户可以查看、修改或者插入敏感信息(包括价格、会话跟踪信息甚至是脚本执行代码)。攻击者可以通过状态操纵攻击或者SQL代码嵌入等技术危及电子商务网站的安全。

所谓状态操纵攻击(state manipulation), 是指攻击者通过在URL中修改传递给浏览器的敏感信息,隐藏表格元素和cookies,达到非法访问的目的。如果一个安全意识松懈的web开发者,他把数据存储在会话ID中,而没有考虑到价格和余额等关键数据的完整性保护,则攻击者完全可以修改这些数据。再加上如果web程序相信由浏览器传递过来的数据,那么攻击者完全可以窃取用户帐号、修改价格或者修改帐户余额。

所谓SQL代码嵌入(SQL injection),是指攻击者在普通用户输入中插入数据库查询指令。这些问题相当多情况下是因为输入检验不严格和在错误的代码层中编码引起的,如对逗号”,”和分号”;”等。在这种情况下,攻击者可以对数据库进行查询、修改和删除等操作,在特定情况下,还可以执行系统指令。一般情况下,web网页上的用户名表单往往是这类攻击的入口。如果攻击者使用Proxy server执行这类操作,管理员将很难查到入侵者的来源。而要防止这类攻击,必须在自研软件开发程序上下手整治,形成良好的编程规范和代码检测机制,仅仅靠勤打补丁和安装防火墙是不够的。关于SQL Injection更多的详细信息,请参考:http://www.cnns.net/article/db/2412.htm

目前有一类新的Web应用程序防护产品,通过分析所有的Web连接,防止常见的应用层攻击和应用层的敏感数据泄露。如Sanctum开发的AppShield,KaVaDo的InterDo,Ubizen的DMZ/Shield,和SPI Dynamics的WebInspect。这些工具采用学习机制,被配置成为能理解正常的Web应用访问行为,在一个用户会话中,当异常的修改发生或者特殊字符输入出现时,这种攻击将截停非法修改并向管理员报告异常行为。

另一方面,一个由志愿者组成的开放源码组织开发了一个叫Open Web Application Security Project (OWASP)的项目,对web应用程序中普遍存在的脆弱性做了归类,并为建立web安全应用和服务提供详细指南。还有,OWASP正在开发一个基于java的”Web甲虫”(Web Scarab),这是一个评估web应用安全的工具。

如果web程序开发者能理解其系统面临的威胁并且构建防御机制,系统安全性将得到高层次的防护。开发者用到的,发送到浏览器的敏感数据必须具有完整性保护机制,这可以通过MD5哈希(hash)函数或者时间戳数字签名技术来实现;还有,对用户输入必须进行细致的检查,过滤可能危及后台数据库的特殊字符、脚本语言和命令,包括逗号、引号、括号、星号、百分号、下划线和管道符等。这些字符检测机制是在web server实现,而不是在浏览器端实现,因为攻击者可以通过各种手段绕过客户端的安全机制。对于这些字符可以采用清除或者强制替换的方法避免它们威胁服务器的安全。

三、超隐秘”嗅探式”后门

后门对计算机系统安全的侵扰,其历史已达十年之久。通过后门,攻击能绕过正常的安全机制自如地访问系统资源。最近,这类攻击变得更加隐秘,更加难以察觉。这种新的攻击与传统的后门不同之出是,它将sniffer技术和后门技术结合起来了。传统的后门是通过监听TCP端口和UDP端口,向攻击者敞开方便之门。对于这类后门,有经验的系统管理员和信息安全人员可以通过定期检测端口使用情况,来发现这些新开放的后门服务。

而新类型的后门技术排除了把进程建立在端口上的方式,而是使用sniffer(监听)技术,通过类型匹配的方式,被动地捕捉后门操作者发过来的消息,从而执行相应的指令,后门采用的指示器可以是一个特定的IP地址、一个TCP标志位,甚至是一个没有开放(侦听)的端口。象Cd00r和SAdoor就是类似这样的后门程序。

嗅探式后门(Sniffer/backdoors)可以工作在混杂模式下,也可以工作在非混杂模式下。(编者注:混杂模式是网络监听程序要用到的工作模式,其实就是改变网卡设置,把网卡原来只接收属于自己的数据包的模式,改为不管什么数据包都接收的模式)

非混杂模式的嗅探式后门,只监听本机通信,只在受害主机上扮演威胁者的角色。

而被设置为混杂模式的后门,可以监听以太网上其它主机的通信数据,这种模式将严重困扰网络安全管理员。设想以下情况:攻击者在DMZ区(停火区)其中一台web服务器放置嗅探式后门,监视另一台mail服务器的通信。对于攻击者来说,他可以只需要向mail服务器发送攻击指令,但mail服务器上其实没有装后门,指令的执行者是web服务器。管理员查来查去还会以为是mail服务器中了木马,却很难想到其实是web服务器中标。这是典型的伪造现场的作案思路。

尽管查找开放的端口的方式已经不够对付最新的后门技术,但传统的对付后门方式仍然是十分重要的。另外,由于大多数后门都针边界服务器,因此,可以利用象Tripwire 和AIDE的完整性检查工具检查系统文件,有利于发现后门程序。

想要了解可疑端口的占用 ,可以使用lsof工具(For Unix)或者Inzider工具(For windows)。另外还可以从远程使用 Nmap 工具进行异常端口占用检测。如果发现一个未知的进程占用了一个端口,尤其是以超级用户权限运行的进程,应该马上进行调查,是谁开启了这个进程。在调查不清楚的情况下可以果断关闭端口或杀掉进程。

要想了解网卡是否被置于混杂模式,可以采用ifstatus(For solaris)或者PromiscDetect(For windows)。如果想远程检测混杂模式的sniffer,可以选用packetfactory的Sentinel工具。

最后,要确保用户单位的安全应急小组必须掌握最新的计算机后门技术动向。当发现与后门有关的通信出现的时候,用户应该对端口占用情况、活动进程和网卡工作模式进行检测,以确定究竟是谁中了后门。

核心级别的rootkits

Rootkits是被广泛使用的工具,允许攻击者获得后门级访问。过去,rootkits通常是替换操作系统中的正常二进制执行程序,如login程序、ifconfig程序等。但这两年来rootkits发展很快,发展到直接对底层内核进行操作,而不再需要去修改单个的程序。

通过修改操作系统核心,内核级的rootkits使一个被修改内核的操作系统看上去和正常的系统没有区别,它们通常都包含重定向系统调用的能力。因此,当用户执行类似ps,netstat或者ifconfig –a之类的指令的时候,实际执行的是一个特洛伊的版本。这些工具还可以隐藏进程、文件和端口使用情况等,用户将得不到真实的系统情况报告。

目前攻击者使用的rootkits有Linux、solaris和windows等系统的版本。Kernel Intrusion System是其中的一款(For Linux),是功能最强大的内核级rootkits之一。

对于非内核级的rootkits,可以使用前面说过的完整性检查工具检查二进制执行程序文件被修改的情况。这个方法对内核级rootkits不管用。

要对付内核级的rootkits,必须加固临界系统的内核。St. Jude Project是一款监测Linux内核完整性的工具,它通过监测系统调用表的修改情况来实现对内核完整性的监控。还可以将系统配置成为固化内核的形式,建立一个不支持LKMs(loadable kernel modules)的系统内核。这样的系统效率更高,因为内存管理更简单。

另外的办法是自己加固内核。Argus Systems Group提供的PitBull工具,通过限制用户访问系统程序和内核来保护Solaris等系统的内核。另外象SELinux和Trusted Solaris等系统提供附加的内核保护功能。内核保护机制不能被滥用,否则会使系统管理变得复杂,并可

相关TAG标签 机制 技术 网络
上一篇:ACCESS数据库暴库的解决方法
下一篇:网络欺骗方法及攻防实例
相关文章
图文推荐
文章
推荐
热门新闻

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站