首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

以太网中网络扫描原理与检测

以太网中网络扫描原理与检测

关键字:网络扫描   陷阱机   以太网  
  对网络扫描原理和现有基本方法进行了分析,并设计了一个陷阱机来检测所在网段中的网络扫描行为。

  网络扫描通过扫描本地主机,能检测主机当前可用的服务及其开放端口,帮助网络管理员查找安全漏洞,查杀木马、蠕虫等危害系统安全的病毒。一些扫描器还封装了简单的密码探测,利用自定义规则的密码生成器来检测过于简单和不安全的密码。

  网络扫描一般包括2个阶段1)对整个网络扫描一遍,从而找到活动主机(因为许多子网配置得很稀疏,大部分IP地址是空的)。(2)对每个活动主机进行穷尽式的端口扫描。

  网络扫描也是网络入侵的基础。一次成功的网络入侵离不开周密的网络扫描。攻击者利用网络扫描探知目标主机的各种信息,根据扫描的结果选择攻击方法以达到目的。因此,若能及时监测、识别网络扫描,就能预防网络攻击。为了得到被扫描主机的信息,网络扫描报文对应的源地址往往是真正的地址,因此监测网络扫描可以定位攻击者。

  1  网络扫描原理

  网络扫描通过检测目标主机TCP/IP不同端口的服务,记录目标给予的回答。通过这种方法,可以搜集到很多目标主机的各种信息(如是否能用匿名登录,是否有可写的FTP目录,是否能用Telnet等)。在获得目标主机TCP/IP端口和其对应的网络访问服务的相关信息后,与网络漏洞扫描系统提供的漏洞库进行匹配,如果满足匹配条件,则视为漏洞存在。

  在匹配原理上,网络漏洞扫描器一般采用基于规则的匹配技术。根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员关于网络系统安全配置的实际经验,形成一套标准的系统漏洞库,然后在此基础上构成相应的匹配规则,由程序自动进行系统漏洞扫描的分析工作。如在对TCP 80端口的扫描过程中,发现/cgi-bin/phf或/cgi-bin/Count.cgi,则根据专家经验以及CGI程序的共享性和标准化,可以推知该WWW服务存在2个CGI漏洞。

  1.1 主机在线探测

  为了避免不必要的空扫描,在扫描之前一般要先探测主机是否在线。其实现原理和常用的ping命令相似。具体方法是向目标主机发送ICMP报文请求,根据返回值来判断主机是否在线。所有安装了TCP/IP协议的在线网络主机,都会对这样的ICMP报文请求给予答复。该方法不仅能探测主机是否在线, 而且能根据ICMP应答报文的TTL(TTL是位于IP首部的生存时间字段)值来粗略分辨出目标主机操作系统,为下一步的扫描工作提供依据。RFC793 说明了TCP怎样响应特别的信息包:这些响应基于2个TCP状态,即关闭(CLOSED)和监听(LISTEN)。

  RFC793描述了当一个端口在关闭状态时,必须采用下面的规则1)任意进入的包含RST标志的信息段(segment)将被丢弃。(2)任意进入的不包含RST标志的信息段(如SYN、FIN和ACK)会导致在响应中回送一个RST。 

  当一个端口处于监听状态时,将采用下面的规则1)任意进入的包含RST标志的信息段将被忽略。(2)任意进入的包含ACK标志的信息段将导致一个RST的响应。

  如果SYN位被设置,且进入的信息段不被允许,则将导致一个RST的响应;若进入的信息段被允许,则将导致响应中发送一个SYN|ACK 信息包。

  这样,通过2个ACK信息包的发送就可以验证计算机是否处于在线状态。

  1.2 端口状态探测

  发送1个SYN包到主机端口并等待响应。如果端口打开,则响应必定是SYN|ACK;如果端口关闭,则会收到RST|ACK响应。这个扫描可以称为半打开(half-scan)扫描。如NMAP(Network Mapper)在进行端口状态探测时会发送1个SYN包到主机,如果端口关闭就发送RST信息通知NMAP。但如果NMAP发送SYN信息包到打开状态的端口,端口就会响应SYN|ACK信息包给NMAP。当NMAP探测到SYN|ACK信息包后自动回应RST,并由这个RST断开连接。一般情况下,计算机不会记录这种情况,但对于NMAP来说也已经知道端口是否打开或者关闭。如果被扫描主机安装了防火墙则会过滤掉请求包,使发送者得不到回应,这时就需发送设置了TCP首部中标志位的FIN、PSH和URG位(其中FIN表示发端完成发送任务,PSH表示接收方应该尽快将这个报文段交给应用层,URG表示紧急指针有效)的echo request请求信息包。因为一些配置较差的防火墙允许这些信息包通过。

  1.3 操作系统探测

  每个操作系统,甚至每个内核修订版本在TCP/IP栈方面都存在微小的差别,这将直接影响对相应数据包的响应。如NMAP提供了一个响应列表, 把所接收到的响应与表中的各项响应进行比较,如果能与某种操作系统的响应相匹配,就能识别出被探测主机所运行的操作系统的类型。在进行网络入侵攻击时,了解操作系统的类型是相当重要的,因为攻击者可以由此明确应用何种漏洞,或由此掌握系统存在的弱点。
返回列表