Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

非标准端口服务的识别

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

前言:

服务识别在网络安全评估中的作用

非标准端口服务识别的意义

常见服务的识别(被动识别、主动识别)

非标准端口服务识别在安全评测中的应用(构想)

感谢

十分感谢北京工业大学计算机学院的老师给予的指导。感谢我的家人、Ee、我宿舍的同学们在我撰写本文时给予的关照。

词汇表

  • 端口扫描 (Port Scan): 使用端口扫描工具来扫描网络上任意一台主机的任意TCP/UDP端口,以检查其提供了哪些服务,即哪些端口是激活的。
  • 周知端口(Well known ports): 0-1023端口
  • 已定义端口(Registered Ports): 1024-49151端口
  • 动态分配/私有端口(Dynamic and/or Private Ports)49152-65535端口。
  • 服务器程序(Server Program): 主机上运行的一个程序,通过这个程序,主机可以同不同客户机程序的用户进行通信。服务器软件有通信标准,遵从这种标准的客户机程序才能同服务器程序正常通信。
  • 握手(hand shaking): 两个通信设备或软件为建立连接而互相传递信号和确认的过程。

1.前言

从上世纪60年代互联网的前身--ARPANET诞生起,网络就开始向着开放、国际化、自由的方向发展着。以Internet为代表的全球性信息化浪潮日益深刻,信息网络技术的应用正日益普及和广泛。越来越多的大型、重要机构开始通过网络来实现业务和信息共享。随着网络的普及,安全问题成为影响网络效能的重要问题。

在互联网上,每天都要发上数万次以上的攻击事件,或者非授权测试。根据《今日美国报》的报道,黑客每年给全球电脑网络带来数百亿美元的损失。

目前,一般认为,网络存在的威胁主要表现在:

  1. 非授权访问:没有预先经过同意,就使用网络或计算机资源被看作非授权访问,如有意避开系统访问控制机制,对网络设备及资源进行非正常使用,或擅自扩大权限,越权访问信息。它主要有以下几种形式:假冒、身份攻击、非法用户进入网络系统进行违法操作、合法用户以未授权方式进行操作等。
  2. 信息泄漏或丢失:指敏感数据在有意或无意中被泄漏出去或丢失,它通常包括,信息在传输中丢失或泄漏(如"黑客"们利用电磁泄漏或搭线窃听等方式可截获机密信息,或通过对信息流向、流量、通信频度和长度等参数的分析,推出有用信息,如用户口令、帐号等重要信息。),信息在存储介质中丢失或泄漏,通过建立隐蔽隧道等窃取敏感信息等。
  3. 破坏数据完整性:以非法手段窃得对数据的使用权,删除、修改、插入或重发某些重要信息,以取得有益于攻击者的响应;恶意添加,修改数据,以干扰用户的正常使用。
  4. 拒绝服务攻击:它不断对网络服务系统进行干扰,改变其正常的作业流程,执行无关程序使系统响应减慢甚至瘫痪,影响正常用户的使用,甚至使合法用户被排斥而不能进入计算机网络系统或不能得到相应的服务。
  5. 利用网络传播病毒:通过网络传播计算机病毒,其破坏性大大高于单机系统,而且用户很难防范。

为了保护网络安全,目前通常使用的方法有:安装防火墙(Firewall)、安装入侵检测系统(IDS)、访问控制、加密传输。但是,从某种意义上说,防护永远是被动的、滞后的。新的攻击方法总是在它的防护方法诞生之前就造成了极大破坏。所以,评估网络是否真的安全的方法,不是看他的防护措施有多么多,而是应该站在攻击者的角度,对网络进行真实的、经过授权的攻击测试。

2.服务识别在网络安全评估中的作用

假如从入侵者的角度来评估网络的安全状况,我们可以看到黑客通常的入侵步骤一般是:第一步,收集信息:第二步,收集足够的信息后,扫描目标网络,并且分析其中的安全弱点;第三步,在收集到这些安全弱点的基础上,进攻目标网络;第四步,进攻目标网络后,可以取得足够的权限;第五步,窃取数据或者对系统进行破坏;第六步,打扫战场,把入侵痕迹全部抹去,使被入侵机器的系统管理员没办法追查。第一步,也是最重要的一步--收集信息(Information gather)中,最常见的方法就是端口扫描。一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。

根据RFC1700的规定的已分配端口(the assigned ports),网络服务和端口是一一对应的。比如FTP服务通常开设在21端口,TELNET服务通常开设在23端口。进行端口扫描,可以快速获得被评估主机开设的服务。当然,如果能直接控制待评估的主机,不通过端口扫描也可以获得开设服务的情况。但是一些隐藏的比较好的后门程序(backdoors),能逃过一般的本地检查。而且,出于安全的考虑,和评估真实性的考虑,通常情况下,不可能直接控制主机。所以,端口扫描是获得主机开设服务的更好的方法。

假如对www.foo.bar扫描的结果如下:

21,22,25,80,110,7626, 端口(TCP端口)开放。通过查RFC1700马上就可以得出结论:该主机开设的服务有:FTP, SSH,SMTP,HTTP,POP3以及一个未知的服务在7626端口。实际上上面的步骤就是模仿入侵者的第一步--收集信息。现在,已经获得了足够多的信息。作为评估者,我们可以按照现有的针对FTP、SSH、SMTP、HTTP、POP3的漏洞库对该主机进行攻击测试。这样就做到了有的放矢,而不是所有服务的各种漏洞全都一一尝试。先进行信息收集可以节省大量的时间以及网络资源。目前常见的网络安全评估软件,如:ISS、Nessus等都是在做攻击性测试前先做端口扫描。在获得端口列表后,软件自动对应成相应的服务,然后加载相应的测试模块并且进行测试。

3.非标准端口服务识别的意义

刚才提到的www.foo.bar这台主机上有一个未知的服务开设在7626端口。这个端口开放有如下几种可能:

  1. 该主机将某服务故意开设到了非标准端口。
  2. 该主机被安置了后门程序。
  3. 该主机开设了一个RFC1700中未定义的服务。

因为该端口是未定义的,所以,检测者无法通过查RFC1700的方法来直接获得服务。根据规定,49151之下的端口都可以被注册为某种应用所有。7626端口开设的服务,很可能是该主机的安全隐患。为了对该主机做完全的安全测试,我们必须识别7626端口开设的服务。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:端口扫描程序nmap使用手册   下一篇:Xinetd完全指南

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号