基于渗透测试的互联网信息系统安全风险与漏洞分析
刘阳
(新华社通信技术局)
摘要:信息化程度越高,信息传播能力越强,影响的范围越大,信息系统所面临的风险也就越高。安全风险评估和渗透测试是发现网络安全问题和缺陷、弥补安全漏洞、确保系统稳定运行的有效手段。本文以互联网信息系统渗透测试为基础,对信息系统安全风险来源、面临的威胁以及存在的主要漏洞进行分析,提出漏洞修复建议。 关键字:安全风险 渗透测试 安全威胁 漏洞分析 随着信息化的发展,在互联网上发布政务、新闻、金融等信息,为用户提供方便快捷的服务,获得越来越广泛的应用。信息化程度越高,信息传播能力越强,影响的范围越大,信息系统所面临的风险也就越高。安全风险评估和渗透测试是发现网络安全问题和缺陷、弥补安全漏洞、确保系统稳定运行的有效手段。渗透测试是在实际网络环境下,由专业测试人员发起的安全检测行为,通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的方法。这个过程包括主动分析系统弱点、技术缺陷或漏洞,选择不影响业务系统正常运行的攻击方法进行的测试。一、安全风险测评服务在测评过程中,测试人员首先通过人工检查和系统扫描收集所有主机设备基本信息,从而掌握整体情况,为深入测试、安全评估准备基础数据。人工检查包括操作系统检查、中间件检查、数据库检查、网络设备检查等,测试人员依据检查列表进行检查操作,并生成报告。系统扫描是利用自动化扫描工具,快速查找被测设备的漏洞,主要包括主机漏洞扫描、WEB应用扫描。使用的扫描工具有metasploit、nessus、w3af等。在全面掌握了相关主机设备基本情况后,将开展深入的测试工作,即对收集到的漏洞、脆弱性进行渗透测试,测试的内容主要包括SQL注入攻击、跨站攻击、文件包含攻击、溢出攻击、越权访问、弱口令尝试、密码爆破等,以确定其可利用度,从而评估影响范围以及严重程度。以一次安全测评服务为例,我们共测试57台主机,有29台存在安全漏洞,涉及多个互联网业务系统,发现紧急漏洞3个,高危漏洞80个,中危漏洞35个,漏洞总数共计118个。这些系统不同程度地存在WEB应用安全配置错误、WEB应用注入漏洞、XSS跨站漏洞、存在WEB服务的默认管理网页、中间件使用了有缺陷的版本、弱口令等问题。这些问题是业务系统面临的主要威胁,存在极大的安全风险,在开放的互联网环境中,将严重威胁业务系统的可用性、私密性、完整性。图1:漏洞数量对比
图2:漏洞风险级别比例
二、信息系统安全风险来源通过对安全测评中发现的漏洞情况进行详细分析,我们可以总结出信息系统安全风险主要来源以下几个方面:1、WEB应用安全配置错误:主要表现为目录可浏览、目录可写入、未清除缺省页面,以及可下载任意目录文件等。这些问题能够导致敏感文件泄漏、上传脚本木马。2、存在注入漏洞:大部分WEB应用存在跨站注入漏洞,部分存在SQL注入漏洞。跨站漏洞可被利用欺骗用户、获取用户权限等;SQL注入可以暴露数据库信息、控制主机等。3、主机系统存在非业务所需要的服务:大部分Linux/Sun主机都开启了telnet,finger服务,部分SUN主机开启了snmp服务。由于不是业务系统所必须的服务,这些服务往往被忽略,且这些服务本身存在安全隐患,如telnet用户密码容易被嗅探、暴力破解;finger,snmp可能泄露用户、进程等敏感信息。4、弱口令普遍存在:弱口令一直是最大的安全威胁,大部分的入侵事件都是因为目标系统存在弱口令问题。在测试过程中发现弱口令普遍存在于Linux主机、WEB业务系统,以及SAMBA文件共享中。5、存在WEB服务的默认管理网页:大部分安装了apache、tomcat应用中间件的主机中都存在默认管理网页,且这些管理页面的管理员用户一般存在弱口令问题,可被利用上传木马、下载敏感文件等。6、内网远程桌面服务映射到外网:部分内网windows主机的远程桌面服务被映射到外网,如果使用了弱密码,映射管理不严格,将对内网安全构成威胁。7、主机系统、中间件普遍存在老旧的漏洞:主要表现在windows主机、应用中间件(apache,weblogic,structs2)大部分缓冲区溢出漏洞可直接被利用,例如上传反向连接的shell,从而控制该主机。三、面临的安全威胁分析安全威胁是指可能对资产或组织造成损害事故的潜在原因,可能源于对信息系统直接或间接的攻击,也可源于偶发的或蓄意的内部、外部事件。只有利用系统存在的脆弱点才能对系统造成影响和伤害。互联网业务系统存在的脆弱性主要来源于WEB应用、部分主机系统和中间件等存在安全漏洞,这些可被利用的漏洞对互联网信息系统安全构成威胁。有些漏洞可泄漏敏感信息,被间接利用于渗透攻击;有些漏洞可被利用执行任意命令,直接威胁到相关业务。WEB应用安全配置错误、注入漏洞对WEB应用安全造成很大威胁;系统版本老旧、补丁程序没有及时更新造成主机系统和中间件存在安全风险;WEB应用程序编写、测试过程不严谨,以及Apache/Tomcat等中间件安全配置错误等会对业务系统安全造成威胁。加强WEB应用上线前的安全测试,对系统进行周期性的安全检查,定期更新主机系统和中间件,加强安全管理,则可以有效地降低安全威胁。四、漏洞威胁分析及修复建议计算机系统漏洞[1]指计算机系统在硬件、软件、协议的具体实现或系统安全策略上存在缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。从漏洞数量对比图中可以看出SQL注入、XSS跨站、目录遍历、弱口令、任意文件下载等漏洞比例较高,我们重点对这些漏洞的威胁进行分析并提出修复建议。1、SQL注入漏洞:SQL注入漏洞是一种可能被攻击者通过精心构造的请求数据来修改后台SQL查询语句的一种安全威胁。当Web应用程序未对用户输入的数据进行任何处理(如危险字符过滤或者语句过滤),而直接作为SQL语句执行时,SQL注入就发生了。SQL注入漏洞是目前互联网最常见也是影响非常广泛的漏洞。SQL注入可能导致如下一些后果:数据库信息泄漏;核心业务数据被篡改;网页被篡改;硬盘数据被破坏,造成系统瘫痪;服务器被远程控制,甚至企业网被入侵。防止注入攻击的方式有:在网页代码中需要对用户输入的数据进行严格过滤;进行数据有效性校验,去除代码中的敏感信息;部署Web应用防火墙;对数据库操作进行监控等。2、弱口令漏洞:弱口令是指用户设置了简单或通用的密码、认证码,攻击者猜中弱口令后,不需要任何工具就能登录后台。根据用户的权限可能会上传木马,甚至于获取系统控制权。修复建议:修改用户默认口令,并要求口令复杂度和定期更改用户口令。3、文件上传漏洞:由于文件上传功能实现代码未对用户提交参数进行充分过滤,以致远程攻击者利用这个漏洞可以上传任意恶意文件,甚至造成系统数据库破坏或以Web权限在系统上执行命令[2]。攻击者通过上传可执行的脚本,从而导致服务器被控制。修复建议:检查是否判断了上传文件类型及后缀;定义只允许上传的文件类型;禁止上传目录有执行脚本的权限。4、XSS跨站漏洞:跨站脚本漏洞,即XSS,通常用Javascript语言描述,它允许攻击者发送恶意代码给另一个用户。因为浏览器无法识别脚本是否可信,跨站漏洞脚本便运行并让攻击者获取其他用户的cookie或session。恶意用户可以使用JavaScript、VBScript、ActiveX、HTML语言甚至Flash利用可应用的漏洞,从而获取其他用户信息。攻击者能盗取会话cookie、获取账户、模拟其他用户身份,甚至可以修改网页呈现给其他用户的内容。修复建议:在网页代码中需要对用户输入的数据进行严格过滤或转义。5、任意文件下载漏洞:任意文件下载漏洞的危害性大。攻击者可以读取系统配置文件及网站源代码等敏感文件,对网站带来严重安全风险。如果网站以管理员权限运行,就可下载密码文件如/etc/shadow,直接暴露用户名和密码,通过破解密码,就可能远程控制主机。修复建议:可以通过修改相关页面的源代码来修复此漏洞,如对files、path参数进行过滤和判断处理。再者,不要配置网站在root权限下允许。6、FTP匿名登录:FTP允许匿名登录,表示任何人不经授权就可以浏览FTP服务器中的文件,攻击者可以利用此漏洞了解文件结构,获取系统敏感信息,提升用户权限进而控制主机。修复建议:修改FTP配置,禁止匿名登录。7、IPC$空连接:IPC$(Internet Process Connection) 是共享 “命名管道 ” 的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。但它也可以被攻击者利用入侵主机,如果服务器配置不恰当,就可以通过cp命令上传木马,在利用at命令设置定时执行木马,从而控制主机。修复建议:IPC$是系统默认存在的,可以通过停止server服务和删除系统默认共享(win2003以下版本不能删除IPC$)进行系统加固。8、telnet远程登录:telnet协议在网络中使用明文传输信息,攻击者可能捕获到明文的用户名和密码,从而控制主机。修复建议:关闭telnet服务,建议使用加密的ssh进行远程管理,并限制管理IP。9、目录遍历漏洞:目录遍历漏洞可能造成的危害是任何人都可以浏览该目录下的所有文件列表,如果该目录包含了敏感的文件内容(如应用程序源码文件或其它的重要文件内容),那么将导致敏感文件内容外泄,从而对用户造成直接损失或为恶意攻击者提供进一步攻击的有效信息。修复建议:重新配置WEB服务器,禁止该目录的自动目录列表功能。如果必须开启该目录的目录列表功能,则应对该目录下的文件进行详细检查,确保不包含敏感文件。10、认证数据明文传输敏感信息以明文模式在网络中传输,攻击者可能利用抓包的方式获取到用户名和密码等信息,存在一定的风险。这样不符合相关的信息安全等级保护技术标准要求。修复建议:建议使用SSL加密。总之,安全重在管理,互联网信息系统安全管理在于对信息资产属性、状态的完全掌握。通过安全风险评估和渗透测试可以充分认识系统自身存在的脆弱性和可能引发的潜在风险,采取有针对性的安全措施:建立完善的信息资产安全管理机制、进行业务系统资产清单登记、检查主机和中间件的安全基线配置、加强业务协议审计和安全规则审计等,将有利于提升业务系统的安全防护能力。
参考文献
[1] 田俊峰,杜瑞忠,杨晓辉.网络攻防原理与实践.北京:高等教育出版社,2012.[2]程文彬.基于网站建设中网页设计的安全缺陷及对策.电子科技大学学报. 2003,32(6),pp.711-713. 联系方式:新华社技术局信息安全办公室 :刘阳 63073912 18701133689
Liuyang2011@xinhua.org
编辑:中国新闻技术工作者联合会
评论 点击评论