所谓入侵场景,就是指入侵者都会从哪些方面采取哪些步骤尝试攻击系统。典型的入侵画面是这样一幕幕展开的:
1、外部调研
知己知彼,百战不殆。入侵者攻击的第一步就是尽一切可能对攻击目标进行调研以获取充足的资料。采取的方法包括:使用whois工具获取网络注册信息;使用nslookup或dig工具搜索DNS表以确定机器名称;搜索关于公司的公开新闻。这一步对于被攻击者是完全不知的。
2、内部分析
确定了攻击目标的基本属性(站点地址、主机名称),入侵者将对它们进行深入剖析。方法有:遍历每个Web页面搜索是否存在CGI漏洞;使用ping工具一一探寻“活”着的机器;对目标机器执行UDP/TCP扫描以发现是否有可用服务。这些行为都属于正常的网络操作,还不能算作入侵行为,但是NIDS系统将能够告诉管理者“有人正在撼动门把手……”
3、漏洞利用
现在到了开始动手的时候了!破坏花样实在繁多,在此择优列举如下:通过在输入项目中写入壳命令字符串(shell command)来考验CGI脚本的安全性;通过发送大量数据以确定是否存在臭名昭著的缓冲区溢出漏洞;尝试使用简单口令破解登录障碍。当然,混合使用多种方式是攻占成功的不二法门。
4、站稳脚跟
对于入侵者而言,一旦成功地入侵了网络中的一台机器,就可以说是站稳脚跟了。入侵者现在要做的就是隐藏入侵痕迹并制造日后再攻的后门,这就需要对日志文件或其他系统文件进行改造,或者安装上木马程序、或者替换系统文件为后门程序。这时,SIV(系统完整性检测)系统会注意到这些文件的变化。由于内部网络中的安全措施通常都比较少,进一步地,入侵者将以这第一台机器作为跳板,攻击网络中的其他机器,寻找下一个安身之家。
5、享受成果
到此,入侵者可以说是完成了攻击任务,剩下的就是享受成果了:或者对窃取的秘密文件肆意使用、或者滥用系统资源、或者篡改Web页面内容,甚至将你的机器作为跳板攻击其他机器。
以上讨论是的有目的入侵者的通常行为。还有一种入侵场景通常被称为“birthday attack”,我想其含义是模拟生日时接收到许多熟人或者未知朋友的礼物吧,不过用在这里还要在礼物前加上“攻击”两字了。Birthday attack的一般步骤是:随机搜索一个Internet地址;搜索其上是否有指定的漏洞;如果有,根据已知的漏洞利用方法进行攻击。