首页 理论教育计算机网络与信息安全:扫描技术主要类型分析

计算机网络与信息安全:扫描技术主要类型分析

【摘要】:(一)主机扫描技术主机扫描分为简单主机扫描和复杂主机扫描。传统的主机扫描是利用ICMP的请求/应答报文,主要有以下3种。主机扫描大多使用ICMP数据包,因此使用可以检测并记录ICMP扫描的工具,使用入侵检测系统,在防火墙或路由器中设置允许进出自己网络的ICMP分组类型等方法都可以有效地防止主机扫描的发生。采用随机端口扫描,能有效防范此类检测。实行这种协同式攻击时主要依赖时间段。

(一)主机扫描技术

主机扫描分为简单主机扫描和复杂主机扫描。传统的主机扫描是利用ICMP的请求/应答报文,主要有以下3种。

(1)通过发送一个ICMP Echo Request数据包到目标主机,如果接收到ICMP Echo Reply数据包,说明主机是存活状态;如果没有收到,就可以初步判断主机没有在线或使用了某些过滤设备过滤了该消息。

(2)使用ICMP Echo Request轮询多个主机称为Ping扫描。对于中型网络,使用这种方法来探测主机是一种比较好的方式,但对大型网络,这种方法会比较慢,因为Ping在处理下一个命令之前会等待正在探测主机的回应。

(3)广播ICMP扫描,即通过发送ICMP Echo Request到广播地址或目标网络地址可以简单地反映目标网络中活动的主机,这样的请求会广播到目标网络中的所有主机,所有活动的主机都会发送ICMP Echo Reply到攻击者的IP地址。

这3种方法的缺点是会在目标主机的DNS服务器中留下攻击者的日志记录。

利用被探测主机产生的ICMP错误报文可以进行复杂的主机扫描,主要有以下几种方式。

(1)异常的IP包头。向目标主机发送包头错误的IP包,目标主机或过滤设备会反馈ICMP Parameter Problem Error信息。常见的伪造错误字段为Header Length和IP Options。

(2)IP头中设置无效的字段值。向目标主机发送的IP包中填充错误的字段值,如协议项填一个没有使用的超大值,目标主机或过滤设备会反馈ICMP Destination Unreachable信息。

(3)错误的数据分片。当目标主机接收到错误的数据分片,并且在规定的时间间隔内得不到更正时,将丢弃这些错误数据包,并发送主机反馈ICMP Fragment Reassembly Time Exceeded错误报文。

(4)反向映射探测。用于探测被过滤设备或防火墙保护的网络和主机。构造可能的内部IP地址列表,并向这些地址发送数据包。当对方路由器接收到这些数据包时,会进行IP识别并路由,对不在其服务范围的IP包发送ICMP Host Unreachable或ICMP Time Exceed错误报文,没有接收到相应错误报文的IP地址被认为在该网络中。

对主机扫描的工具非常多,如著名的Nmap、Netcat和Superscan等。

主机扫描大多使用ICMP数据包,因此使用可以检测并记录ICMP扫描的工具,使用入侵检测系统,在防火墙或路由器中设置允许进出自己网络的ICMP分组类型等方法都可以有效地防止主机扫描的发生。

(二)端口扫描技术

1.随机端口扫描

多数的商业IDS(入侵检测系统)和防火墙会检测一系列的连接尝试,只有当模式与端口扫描匹配时,才会被记录在日志文件中。采用随机端口扫描,能有效防范此类检测。

2.慢速扫描

IDS会对指定的IP被保护端口的连接予以注意,它们通过分析一定时间内连接的次数来分析网络的流量。这个指定的时间段叫作站点检测阈值。一些黑客非常有耐心,他们使用网络监视器,将攻击的动作分散在一个很长的时间段中。扫描频率可能会低于一天两次。

如果这个黑客可以猜到站点检测阈值的话,在某种情况下,他就会将被发现的概率降到最小。

3.分块扫描

IP包所传送的数据都是可以被分块的。正常情况下,目标端口和源端口以及标志位信息被放置在传送的第一块包中,在RFC 791中定义了数据包的最大和最小包长度,TCP包中8个字节是最小的包长度,这个长度只足够容纳目标端口号和源端口号,这样就迫使TCP标志位放到后续的数据包中,一些包过滤器或IDS会错误地略过这一部分的检测,它们会认为这个数据是另外的一些数据,从而这些数据就安全地通过了检测。

4.诱骗

有一些网络扫描器提供了诱骗或欺骗地址的攻击方式。这就是说对被扫描的主机来讲,扫描其的主机地址可以是任意一个网络地址,这将会使IDS系统认为该主机被网络上的所有主机扫描,从而无法决定谁是真正的扫描者,将真正的扫描者隐蔽起来。

有一种方法可以使IDS系统破解这种扫描方法,如果所有到来的扫描数据包中的TTL(Time to Live)值是相同的话,则可以认为它们是来自于同一个地方。但如果攻击者使用NMAP攻击的话,这种方法一样无效,因为NMAP使用51~65之间的数随机作为TTL值。(www.chuimin.cn)

另外的一种方法是尝试跟踪对方的源IP,如果这个IP地址不可达或者对方主机没有启动,那么这其中一定有值得怀疑的地方。这一方法对防范拒绝服务攻击也有效。但是攻击者的对策是使用那些启动的主机的IP进行诱骗。

发现这种攻击的另一点是攻击者通常使用IP地址而不是使用DNS名或主机名,原因是IP易于构造和变化。

5.协同式扫描

使用一个IP在一定的时间段中探测一小部分目标可能会引发IDS的警觉,我们也讨论了使用慢速扫描尝试越过IDS,但是慢速扫描有时候也会被发现。

当一群攻击者同时对同一个目标发起攻击(例如,获得对目标网络的非授权访问),我们管这种方式叫协作式攻击。协作式攻击可以应用于一台主机到整个网络段,当众多的IP同时对目标网络进行攻击时,每一个攻击者只是在不同的时间周期中对特定的服务和端口进行攻击,这样每个人就被淹没在众多攻击者的海洋中,从而几乎不可能被发现。实行这种协同式攻击时主要依赖时间段。所以,一个好的协同攻击会将各个攻击离散开来,这样它们中的大多数将不会被发现。

(三)漏洞扫描技术

1.漏洞的概念

漏洞一词是从英文单词vulnerability翻译而来的,原词的意思应译作“脆弱性”,但是中国的技术人员已经更愿意接受“漏洞”这一通俗化的名词,即漏洞就是脆弱性。

那么,什么是漏洞呢?一般认为,漏洞是指硬件、软件或策略上存在的安全缺陷,从而使得攻击者能够在未授权的情况下访问、控制系统。

根据权威的漏洞标准化组织CVE的研究,仅漏洞一词是不能概括所有的安全隐患的,他们认为用两个词,即vulnerability与exposure来共同描述更为确切。每天都会有新的漏洞产生,它们会影响到很大范围内的网络组成元素,包括路由器、客户机和服务器软件、操作系统、防火墙等。

漏洞的危害可以简单地用“木桶原则”加以说明:一个木桶能盛多少水,不在于组成它的最长的那根木料,而取决于它身上最短的那一根。同样对于一个信息系统来说,它的安全性不在于它是否采用了最新的加密算法或最先进的设备,而是由系统本身最薄弱之处,即漏洞所决定的。只要这个漏洞被发现,系统就有可能成为网络攻击的牺牲品。

2.漏洞的发现

漏洞的发现工作主要是由以下三个组织之一来完成的:黑客、破译者、安全服务商组织。尽管这三个组织承担不同的职务,但他们的工作有一个共同点:就是发现漏洞。

每当有新的漏洞出现,黑客和安全服务商组织的成员通常会警告安全组织机构;破译者也许不会警告任何官方组织,只是在组织内部发布消息。根据信息发布的方式,漏洞将会以不同的方式呈现在公众面前。例如,如果破译者发布了信息,那么公众获取的第一个警告将是一堆受损的服务器;相反,如果黑客和安全服务商组织发布了信息,信息会出现在安全咨询和安全公告牌中。

互联网上有许多及时的安全信息的资源。作为网络管理者的部分工作就是每天阅读这些信息。但是问题在于信息太多了,其中有许多与管理者所关心的特殊网络配置无关。因此,管理者需要制定一个收集、分析以及抽取信息的策略,以便获取有用的信息。通常收集安全信息的途径包括:新闻组、邮件列表、Web站点、FTP文档。

3.漏洞对系统的威胁

漏洞对系统的威胁体现在恶意攻击行为对系统的威胁,因为只有利用硬件、软件和策略上最薄弱的环节,恶意攻击者才可以得手。目前,互联网上已有几万个黑客站点,而且黑客技术不断创新,基本的攻击手法已达上千种。这些攻击技术一旦被不法之徒掌握,将产生不良的后果。例如,防卫森严的美国国防信息系统每年都要受到数十万次攻击,并且成功进入的比例高达63%。根据一份咨询了3000多家公司的调查研究报告表明:非法入侵迄今为止浪费了上亿美元,平均一美元的所得税中就有六美分落入恶意攻击者手中,而且这个比例仍有上升的趋势。

我国目前已有网民1.62亿,信息安全问题大量出现。据统计,目前我国95%的与互联网相连的网络管理中心都遭到过境内外攻击者的攻击或侵入,其中银行、金融和证券机构是黑客攻击的重点。国内乃至全世界的网络安全形势非常不容乐观。目前网络上发生的有名的入侵和破坏事件,仅仅是冰山的一角。实际上被发现的计算机犯罪案件数目,可能是公布数字的100倍以上。多数情形下,计算机已经被网络入侵者完全控制,且被偷走大量机密资料,而管理员却毫不知情。

目前,受攻击概率最高的是Windows系统,紧跟其后为Linux和Solaris。但这并不能完全说明哪一种操作系统的漏洞更多或更少。因为在前面阐述漏洞产生原因时提到:“漏洞是硬件、软件或策略上的缺陷……”,大家不能忽视策略这一个重要原因。比如说:一个系统管理员,若需要管理一个Windows 2000服务器,而他疏忽了Windows 2000的输入法漏洞,没有及时打上相应的补丁,这一点很快就会被恶意攻击者发现,并利用这个漏洞轻易地获得超级用户权限。由此可见,不管使用什么样的操作系统,系统管理员的素质是至关重要的。

4.可能的后果

下面通过两个例子来说明:

第一个例子:一家著名的ISP,曾被列为全国十大中文网站之一,它的一台服务器上有一个显著的漏洞,这个漏洞可以使入侵者获取系统的最高控制权,而且其数据库允许远程连接。这可能会导致数万用户的资料,包括用户名和密码全部泄露。

第二个例子:北方从事某行业的一家公司(下称A公司),积累了将近一年的专业资料后,创办了一个内容丰富的专业网站,其信息量是非常大的。公司曾经有个别员工提出要加强网络安全建设的建议,但没有得到领导的重视。他们错误地认为,公司的网站信息完全向大众公开,没有任何机密资料,所以没有必要在安全方面进行太多的投入。直到有一天他们突然发现在北京出现了另一家内容相似的网站,是A公司的竞争对手B公司经营的,信息的容量一点也不比A公司逊色。技术人员通过分析发现,这个对手网站的Web程序风格与A公司如出一辙,基本上可以肯定是抄袭了A公司的数据库和ASP程序。但这个公司怎么获得源程序和数据库资料的呢?技术人员通过远程分析发现,A公司网站存在非常明显的安全漏洞,利用该漏洞完全可以控制整个系统并获取任何资料。因此A公司完全有理由相信,B公司的数据库和Web程序是用非法的手段入侵A公司的服务器得来的。A公司积累信息、建设一个网站花了将近一年,而B公司通过窃取手段,另起炉灶,只花了大概半个月。