提高CRBT WEB系统安全的方法

时间:2022-04-06 04:57:16

提高CRBT WEB系统安全的方法

摘要:彩铃回铃音系统(简称CRBT系统)主要面向手机终端用户提供彩铃业务。本文的主要研究对象彩铃回铃音WEB系统(以下简称CRBT WEB系统)是CRBT系统的重要部分,它的目标是面向终端用户提供高效可靠的WEB服务,用户可以通过WEB系统实现针对彩铃音的各种操作。

随着业务需求的不断提高和网络环境的日趋复杂,原CRBT WEB系统在新的业务需求和网络环境下的缺陷逐步显现。本文针对原CRBT WEB系统存在的安全问题展开分析和研究,针对原CRBT WEB系统存在的安全方面的问题,通过对SQL注入攻击和分布式拒绝服务攻击等常见攻击方式的研究,结合CRBT WEB系统的特点,采用参数化查询来防御SQL注入攻击,采用硬件网关防火墙并在代码层上使用session来防御分布式拒绝服务攻击(分布式拒绝服务攻击英文为Distributed Denial of Service Attack,以下简称DDoS攻击),通过上述安全设计提高CRBT WEB系统的安全性能。

新的CRBT WEB系统根据本文所提出的方法和策略进行设计与整合优化,并在实现后已经上线运行。从新的CRBT WEB系统试运行的情况来看,该系统已经完全能符合用户的安全需求。

关键词:CRBT WEB系统 网络安全

中图分类号:TN914 文献标识码:A 文章编号:1007-9416(2012)11-0188-01

1、 原CRBT WEB系统存在的安全问题及原因分析

由于本文作者所在公司原先开发的CRBT WEB系统存在SQL注入漏洞和分布式拒绝服务攻击漏洞,所以,原CRBT WEB系统的安全急待提高。本文作者针对该系统存在的安全问题进行了较为深入的研究,探索并实现了CRBT WEB系统针对常见攻击方式的防御设计优化方法。使CRBT WEB系统的安全性能得到较大提高。

1.1 原CRBT WEB系统存在SQL注入漏洞

由于原CRBT WEB系统在从WEB页面收到的数据传递给SQL查询之前没有对其进行验证,所以,原CRBT WEB系统存在SQL注入漏洞。因为CRBT WEB系统是数据库驱动的WEB应用系统,它包含了MySQL数据库服务器、TOMCAT服务器和许多JSP页面,这些JSP页面中包含了使用JSP语言编写的服务器端脚本,而这些脚本则能够依据JSP页面与用户的交互从MySQL数据库中提取指定的信息,或更新MySQL数据库中的数据。如果WEB应用开发人员无法确保在从WEB页面、输入参数等收到的数据传递给SQL查询之前已经对其进行过验证,那么通常会出现SQL注入漏洞。如果攻击者能控制发送给SQL查询的输入,并能控制该输入将其解析为代码,那么攻击者就很可能有能力在后台数据库中执行该代码。

1.2 原CRBT WEB系统存在分布式拒绝服务攻击漏洞

拒绝服务攻击是通过某种手段让服务器资源耗尽,阻断正常用户访问的攻击方法。

由于原CRBT WEB系统采用硬件SYN网关防火墙来防御DDoS攻击。这种方法只能减轻对服务器的攻击,但不能有效阻止DDoS攻击,因为该防火墙在收到客户端发送的SYN包后,直接将其转发给服务器,防火墙在收到服务器的SYN/ACK包后,会将SYN/ACK包转发到客户端,同时也以客户端的名义给服务器回送一个ACK包,从而完成TCP的三次握手,让服务器由半连接状态进入连接状态。当客户端真正的ACK包到达时,有数据则转发给服务器,否则就丢弃该包。由于服务器能承受连接状态要比半连接状态高得多,因此,这种防火墙能减轻对服务器的攻击,但不能有效阻止DDoS攻击。

另外,由于CRBT WEB系统中有大量的JSP动态脚本程序,并且这些JSP脚本程序还需要调用MySQL数据库,这样CRBT WEB系统就存在基于脚本的DDoS攻击的威胁。

2、提高原CRBT WEB系统安全的方法

2.1 CRBT WEB系统防御SQL注入攻击的优化方法

本文在CRBT WEB系统的改进中,采用了参数化查询来防御SQL注入攻击。使用参数化查询,应用程序能较安全地得到需要的数据。参数化查询一般是指在SQL查询语句中存在一个或多个嵌入的参数。在程序运行过程中将相关参数传递给这些SQL查询,这些相关的参数并不会被解析成命令执行,并且代码也不存在被注入的可能。应用程序使用占位符或绑定变量来向SQL查询提供参数,而不直接对用户输入进行操作。使用参数化查询时数据库服务器不会将参数的内容视为SQL指令的一部分来处理,而是在数据库完成SQL指令的编译后,才套用参数运行,即使参数中含有指令,也不会被数据库运行,因此,在CRBT WEB系统中使用参数化查询能有效避免SQL注入攻击。

2.2 CRBT WEB系统防御分布式拒绝服务攻击的优化方法

针对原CRBT WEB系统存在的防御DDoS攻击的局限性以及DDoS攻击的特点,CRBT WEB系统现改用被动式SYN网关防火墙,它也是一种硬件防火墙,它通过设置防火墙的SYN请求超时参数,让这个超时参数远小于服务器的超时期限,防火墙负责转发客户端发往服务器的SYN包、服务器发往客户端的SYN/ACK包以及客户端发往服务器的ACK包,这样,如果客户端在防火墙计时器到期时还没有发送ACK包,防火墙则往服务器发送RST包,以使服务器从队列中删去该半连接。由于防火墙的SYN请求超时参数远小于服务器的超时期限,因此采用被动式SYN网关防火墙能有效防止DDoS攻击。

另外,原CRBT WEB系统仅在WEB端口上对DDoS攻击进行防御是不够的。因为CRBT WEB系统还存在基于脚本的DDoS攻击的威胁,所以,CRBT WEB系统还需要在代码层上防御DDoS攻击。考虑到有些DDoS攻击会伪装攻击来源,假造来源IP,令人难以追查,还有些DDoS攻击会恶意地刷新页面而导致服务器拒绝服务,因此,改进后的CRBT WEB系统在代码层上使用session来防御DDoS攻击,因为使用session判断不仅能认证IP,而且还能防止恶意刷新页面。

综上所述,改进后的CRBT WEB系统从试运行的情况来看,能有效阻止SQL注入攻击和DDoS攻击。

上一篇:网络环境下的计算机数据库安全分析 下一篇:基于两种难题的有序多重签名方案