一种基于JavaEE应用系统的安全加固方法

文档序号:6382515阅读:237来源:国知局
专利名称:一种基于JavaEE应用系统的安全加固方法
技术领域
本发明涉及计算机应用系统安全防护领域,具体涉及ー种基于JavaEE应用系统的安全加固方法。
背景技术
安全漏洞是指受限制的计算机、组件、应用程序或其他联机资源的无意中留下的不受保护的入口点。漏洞是硬件软件或使用策略上的缺陷,他们会使计算机遭受病毒和黑客攻击。安全攻击主要来源干“发送恶意信息到web服务器”,因为ー些安全漏洞的原因,通过这些恶意信息的执行而对web服务器或客户端的安全构成威胁。web应用十大关键风险如下:Al-注入攻击:注入攻击,例如SQL,OS以及LDAP注入,发生在当不可信的数据作为命令或者查询语句的一部分被发送给处理程序的时候。攻击者发送的恶意数据可以欺骗处理程序,以执行计划外的命令或者访问未被授权的数据。A2-跨站脚本(XSS):当应用程序包含或者携帯不可信的数据,并且没有进行合适的验证就将它发送给浏览器的时候,跨站点脚本攻击(简称XSS)就会产生了。XSS允许攻击者在受害者的浏览器上执行脚本,于是攻击者可以劫持用户会话,危害网站,或者将用户转向至恶意站点。A3-失效的认证和会话管理:与认证和会话管理相关的应用程序功能往往得不到正确实施,这就导致攻击者破坏密码、密匙、会话令牌或利用实施漏洞冒充其他用户身份。A4-不安全的直接对象引用:当开发者将引用直接暴露给外部执行对象时,例如,文件、目录、数据库密匙,就会发生不安全的直接对象引用。在没有访问控制检测或其他保护时,攻击者会操控这些引用从而访问未授权数据。A5-跨站请求伪造:跨站请求伪造攻击迫使登录用户的浏览器将伪造的HTTP请求,包括该用户的会话cookie和其他认证信息,发送到存在漏洞的web应用。这就允许攻击者迫使用户浏览器向存在漏洞的应用程序发送请求,而这些请求会被应用程序认为是用户的合法请求。A6-安全配置错误:安全取决于有ー个配置安全的应用程序、框架、web服务器、应用服务器和平台。由于许多设置并没有默认安全,因此必须定义、实施、维护所有这些设置。A7-限制URL访问失败:许多web应用在链接到受保护的链接和按钮之前会检测URL访问权限。但是当访问了这些页面时应用程序会执行相似的访问控制检测,否则攻击者将能伪造URL访问这些隐藏的网页。A8-尚未认证的重定向和转发:web应用经常将用户重定向和转向其他网页和网站,并且利用不信任数据确定目的页面。如果没有得到适当验证,攻击者能重定向受害用户到钓鱼软件或恶意网址,或者转发到访问未授权页面。A9-不安全的密码储藏:许多web应用程序并没有使用恰当的加密或hashing保护敏感数据,如信用卡、SSNs、认证证书等等。攻击者可能利用这种弱保护数据实行身份盗窃、信用卡盗用或其他犯罪。AlO-传输层保护不足:在必须保护敏感信息传输时,应用程序经常无法加密网络流量。当他们实施加密网络流量时,他们有时也支持弱算法、使用过期或无效证书或不正确使用他们。A++应用系统等JavaEE应用系统在实现过程中缺少安全漏洞防患,同样也存在上述安全漏洞。

发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于JavaEE应用系统的安全加固方法,解决系统存在的安全漏洞问题,对系统进行安全加固。为实现上述目的,本发明采用的技术方案如下:一种基于JavaEE应用系统的安全加固方法,包括以下步骤:(I)客户端根据业务需要向服务器端发送业务请求;所述的业务请求中包括所要请求的业务的请求參数;(2)服务器端对接收到的请求进行安全验证服务,检验安全验证是否通过,若通过则根据客户端的业务请求进行业务处理;若未通过则安全验证失败;(3)将处理结果返回给客户端。进一歩,如上所述的ー种基于JavaEE应用系统的安全加固方法,步骤(I)中,所述业务请求包括公共页面资源访问请求和认证页面资源访问请求;所述公共页面资源是指不需要登录系统访问的页面资源;所述认证页面资源是指在登录系统后经过权限认证许可后才可以访问的页面资源。进ー步,如上所述的ー种基于JavaEE应用系统的安全加固方法,步骤(2)中,所述的进行业务处理是指根据客户端的业务请求指令,在通过安全验证后的业务逻辑处理;所述的安全验证失败是指响应非法页面。进一歩,如上所述的ー种基于JavaEE应用系统的安全加固方法,步骤(I)中,所述业务请求的请求參数包括:所请求的页面资源的类型、登录參数信息、动态页面地址信息以及请求返回的记录总数和记录偏移。进一歩,如上所述的ー种基于JavaEE应用系统的安全加固方法,步骤(I)中,如果业务请求为公共页面资源访问请求,步骤(2)中,通过对请求參数进行安全验证过滤实现安全验证服务,具体方式如下:I)对公共页面资源访问请求进行数据库权限提升指令过滤,查看请求參数中是否含有数据库权限提升指令,若是则说明安全验证失败,若否则说明验证通过;2)对公共页面资源访问请求进行操作系统指令和安全过滤,查看请求參数中是否含有操作系统指令,若是则说明安全验证失败,若否则说明验证通过;3)对公共页面资源访问请求进行SQL注入信息过滤,查看请求參数中是否含有SQL注入信息,若是则说明安全验证失败,若否则说明验证通过;4)对公共页面资源访问请求进行HTML标记过滤,查看请求參数中是否含有HTML标记,若是则说明安全验证失败,若否则说明验证通过。进一歩,如上所述的ー种基于JavaEE应用系统的安全加固方法,步骤(I)中,如果业务请求为认证页面资源访问请求,客户端发送认证页面资源访问请求时对其请求參数进行加密处理。进一歩,如上所述的ー种基于JavaEE应用系统的安全加固方法,步骤(I)中,如果业务请求为认证页面资源访问请求,步骤(2)中进行安全验证服务的具体方式如下:①服务器端接收到客户端发送的认证页面资源访问请求,对请求进行解密处理;②对解密后的请求參数进行非法信息过滤验证,若非法信息过滤验证通过则安全验证通过,若非法信息过滤验证没有通过则安全验证失败。再进ー步,如上所述的ー种基于JavaEE应用系统的安全加固方法,步骤②中对请求參数进行非法信息过滤验证的具体方式为:I)对认证页面资源访问请求进行数据库权限提升指令过滤,查看请求參数中是否含有数据库权限提升指令,若是则说明安全验证失败,若否则说明验证通过;2)对认证页面资源访问请求进行操作系统指令和安全过滤,查看请求參数中是否含有操作系统指令,若是则说明安全验证失败,若否则说明验证通过;3)对认证页面资源访问请求进行SQL注入信息过滤,查看请求參数中是否含有SQL注入信息,若是则说明安全验证失败,若否则说明验证通过;4)对认证页面资源访问请求进行HTML标记过滤,查看请求參数中是否含有HTML标记,若是则说明安全验证失败,若否则说明验证通过。更进一歩,如上所述的ー种基于JavaEE应用系统的安全加固方法,采用base64对请求參数进行加密处理。本发明的有益效果在干:本发明所述的安全加固方法在原有的A++应用系统的平台上通过安全验证服务扩展部署,实现对A++应用系统的安全加固,在子系统中采用非平台技术的自定义开发技术需要引用安全验证服务,达到安全加固的目的。


图1为本发明基于JavaEE应用系统的安全加固方法的概括流程图;图2为本发明基于JavaEE应用系统的安全加固方法的流程图;图3为本发明对公共页面资源请求进行安全验证服务的流程图;图4为本发明对认证页面资源请求进行安全验证服务的流程图。
具体实施例方式下面结合说明书附图与具体实施方式
对本发明做进ー步的详细说明。本发明的主要思想:本发明提供了一种基于JavaEE应用系统的安全加固方法,由于A++应用系统是基于平台基础上应用扩展系统,所以只需要在平台上扩展就可以达到安全加固的目的,本发明将安全加固的方法封装为安全验证服务,只有通过安全验证服务才是合法的请求。通过该方法对系统进行安全加固,有效防患系统安全漏洞问题。图1与图2不出了本发明ー种基于JavaEE应用系统的安全加固方法的流程图,由图中可以看出,该方法主要包括以下步骤:步骤Sll:客户端根据业务需要向服务器端发送请求;客户端根据业务需要向服务器端发送业务请求;所述的业务请求中包括所要请求的业务的请求參数。本实施方式以JavaEE应用系统中的A++应用系统对本发明所述的方法进行说明,在A++应用系统存在以下三种访问资源:公共页面资源、登录页面资源以及认证页面资源,其中,公共页面资源是指不需要登录系统访问的页面资源,登录页面资源是指用户登录的页面,认证页面资源是指在登录后经过权限认证许可后才可以访问的页面资源。本发明所述的方法通过对公共页面资源和认证页面资源这两种访问资源进行安全验证服务达到系统安全加固的目的。所以客户端的用户在向服务器端发送请求时,请求包括公共页面资源访问请求和认证页面资源访问请求。业务请求的请求參数包括且不限于如下參数信息:所请求的页面资源的类型、登录參数信息、动态页面地址信息以及请求返回的记录总数和记录偏移。如果业务请求为认证页面资源访问请求,客户端发送认证页面资源访问请求时对其请求參数进行加密处理,采用base64对请求參数进行加密处理。对于不同的页面资源,其參数信息不同:1.对于公共页面资源:(I)登录首页登录首页,如公共页面资源的请求參数如下:http://IP:PORT/portal/login.action 或者http://IP:PORT/index, jsp则请求參数名包括登录參数信息:如username, password, encrypt, validity ;其中encrypt參数为true表不要加密传输,false表不不进行加密传输,加密传输则对username, password,參数名和參数值都进行加密后再传输,validity表示登录时的验证码。采用post提交数据。 (2)公布的动态信息如:http://IP:P0RT/public.action function=notes 或http://IP:P0RT/public.action function=notes&count=47&pager.0ffset=18请求參数名包括:function, count, pager, offset;其中function表示功能类型,count为记录总数,pager, offset表示偏移记录。(3)如果用户请求的为静态页面,无參数。2.认证页面资源:通过认证后的页面资源參数包括:function和_STATE,其中function表示功能类型,.STATE參数值为经过base64加密算法后的信息,例如:http://IP:PORT/dispatcher.action function=apply batch audit& SBATE=66756e6374696f6e3d6170706c795f62617463685f6175646974267573657B49643d55313330373038303031。步骤S12:服务器端对接收到的请求进行安全验证服务;步骤S13:将处理结果返回给客户端。服务器端接收客户端用户发送来的请求之后,使用安全验证服务对请求进行安全验证,并查看安全验证是否通过,如果通过验证则调用相关的业务处理服务,对客户端的请求进行处理,并将处理结果返回给客户端;如果没有通过验证则将验证失败的结果返回给客户端。所述的进行业务处理是指根据客户端的业务请求指令,在通过安全验证后的业务逻辑处理;所述的安全验证失败是指响应非法页面。步骤Sll中客户端用户发送的请求包括了公共页面资源访问请求和认证页面资源访问请求两种形式,对于两种请求,本发明分别对应各自的安全验证服务。如果步骤Sll中业务请求为公共页面资源访问请求,该步骤中本实施方式中的公共页面资源是利用JavaEE的Filter技术,通过对请求參数进行安全验证过滤实现安全验证服务,具体方式如图3所示:I)对公共页面资源访问请求进行数据库权限提升指令过滤,查看请求參数中是否含有数据库权限提升指令信息,若是则说明安全验证失败,若否则说明验证通过;2)对公共页面资源访问请求进行操作系统指令和安全过滤,查看请求參数中是否含有操作系统指令或文件系统信息,若是则说明安全验证失败,若否则说明验证通过;3)对公共页面资源访问请求进行SQL注释信息过滤,查看请求參数中是否含有“一”或“‘”等注释信息,以及数据库字典表信息,若是则说明安全验证失败,若否则说明验证通过;4)对公共页面资源访问请求进行HTML标记过滤,查看请求參数中是否HTML标记的信息,“〈iframe〉”等HTML标记或“alert ( ‘ ’)” JAVASCRIPT脚本函数等信息,若是则说明安全验证失败,若否则说明验证通过。对上述公共页面资源进行访问请求时,这部分安全验证服务可以単独包装为ー个独立的ApplusSaftFilter.jar,移植到任意JavaEE应用系统。步骤Sll中,如果业务请求为认证页面资源访问请求,步骤(2)中进行安全验证服务的具体方式如图4所示:①服务器端接收到客户端发送的认证页面资源访问请求,对请求进行解密处理;②对解密后的请求參数进行非法信息过滤验证,若非法信息过滤验证通过则安全验证通过,若非法非法信息过滤验证没有通过则安全验证失败。其中,步骤②中进行非法信息过滤验证的具体方式也是采用对请求參数进行安全验证过滤实现安全验证服务,具体方式如下:I)对公共页面资源访问请求进行数据库权限提升指令过滤,查看请求參数中是否含有数据库权限提升指令信息,若是则说明安全验证失败,若否则说明验证通过;2)对公共页面资源访问请求进行操作系统指令和安全过滤,查看请求參数中是否含有操作系统指令或文件系统信息,若是则说明安全验证失败,若否则说明验证通过;3)对公共页面资源访问请求进行SQL注释信息过滤,查看请求參数中是否含有“一”或“‘”等注释信息,以及数据库字典表信息,若是则说明安全验证失败,若否则说明验证通过;4)对公共页面资源访问请求进行HTML标记过滤,查看请求參数中是否HTML标记的信息,“〈iframe〉”等HTML标记或“alert ( ‘ ’)” JAVASCRIPT脚本函数等信息,若是则说明安全验证失败,若否则说明验证通过。对认证页面资源访问请求进行安全验证服务时,认证页面资源是采用对请求參数进行加密处理,实现对sessionID,參数等信息的保护,达到安全验证处理的目的。这部分安全验证服务适用于A++应用系统,用户登录后的权限认证页面发送请求,在请求发送前先进行加密保护处理,包括sessionID,參数等信息,进行base64加密;请求合法验证判断;非法请求则返回非法页面;
解密处理,进行base64解密;非法过滤验证处理;通过非法过滤验证后,进行相应的业务处理,否则返回非法页面;业务处理完毕后返回处理結果。本发明所述的方法在原有A++应用系统的平台上做安全验证服务扩展部署,通过在A++应用平台上进行安全验证服务扩展部署后,即可实现对A++应用系统所有子系统的安全加固。在子系统中采用非平台技术的自定义开发技术需要引用安全验证服务,达到安全加固的目的。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种基于JavaEE应用系统的安全加固方法,包括以下步骤: (1)客户端根据业务需要向服务器端发送业务请求;所述的业务请求中包括所要请求的业务的请求參数; (2)服务器端对接收到的请求进行安全验证服务,检验安全验证是否通过,若通过则根据客户端的业务请求进行业务处理;若未通过则安全验证失败; (3)将处理结果返回给客户端。
2.如权利要求1所述的ー种基于JavaEE应用系统的安全加固方法,其特征在于:步骤(1)中,所述业务请求包括公共页面资源访问请求和认证页面资源访问请求;所述公共页面资源是指不需要登录系统访问的页面资源;所述认证页面资源是指在登录系统后经过权限认证许可后才可以访问的页面资源。
3.如权利要求1所述的ー种基于JavaEE应用系统的安全加固方法,其特征在于:步骤(2)中,所述的进行业务处理是指根据客户端的业务请求指令,在通过安全验证后的业务逻辑处理;所述的安全验证失败是指响应非法页面。
4.如权利要求1至3 之一所述的ー种基于JavaEE应用系统的安全加固方法,其特征在于:步骤(I)中,所述业务请求的请求參数包括:所请求的页面资源的类型、登录參数信息、动态页面地址信息以及请求返回的记录总数和记录偏移。
5.如权利要求4所述的ー种基于JavaEE应用系统的安全加固方法,其特征在于:步骤(I)中,如果业务请求为公共页面资源访问请求,步骤(2)中,通过对请求參数进行安全验证过滤实现安全验证服务,具体方式如下: 1)对公共页面资源访问请求进行数据库权限提升指令过滤,查看请求參数中是否含有数据库权限提升指令,若是则说明安全验证失败,若否则说明验证通过; 2)对公共页面资源访问请求进行操作系统指令和安全过滤,查看请求參数中是否含有操作系统指令,若是则说明安全验证失败,若否则说明验证通过; 3)对公共页面资源访问请求进行SQL注入信息过滤,查看请求參数中是否含有SQL注入信息,若是则说明安全验证失败,若否则说明验证通过; 4)对公共页面资源访问请求进行HTML标记过滤,查看请求參数中是否含有HTML标记,若是则说明安全验证失败,若否则说明验证通过。
6.如权利要求4所述的ー种基于JavaEE应用系统的安全加固方法,其特征在于:步骤(I)中,如果业务请求为认证页面资源访问请求,客户端发送认证页面资源访问请求时对其请求參数进行加密处理。
7.如权利要求6所述的ー种基于JavaEE应用系统的安全加固方法,其特征在于:步骤(I)中,如果业务请求为认证页面资源访问请求,步骤(2)中进行安全验证服务的具体方式如下: ①服务器端接收到客户端发送的认证页面资源访问请求,对请求进行解密处理; ②对解密后的请求參数进行非法信息过滤验证,若非法信息过滤验证通过则安全验证通过,若非法信息过滤验证没有通过则安全验证失败。
8.如权利要求7所述的ー种基于JavaEE应用系统的安全加固方法,其特征在于:步骤②中对请求參数进行非法信息过滤验证的具体方式为: I)对认证页面资源访问请求进行数据库权限提升指令过滤,查看请求參数中是否含有数据库权限提升指令,若是则说明安全验证失败,若否则说明验证通过; 2)对认证页面资源访问请求进行操作系统指令和安全过滤,查看请求參数中是否含有操作系统指令,若是则说明安全验证失败,若否则说明验证通过; 3)对认证页面资源访问请求进行SQL注入信息过滤,查看请求參数中是否含有SQL注入信息,若是则说明安全验证失败,若否则说明验证通过; 4)对认证页面资源访问请求进行HTML标记过滤,查看请求參数中是否含有HTML标记,若是则说明安全验证失败,若否则说明验证通过。
9.如权利要求8所述的ー种基于JavaEE应用系统的安全加固方法,其特征在于:采用base64对请求參数进行加 密处理。
全文摘要
本发明公开了一种基于JavaEE应用系统的安全加固方法,该方法通过在系统应用平台上进行安全验证服务扩展部署对系统进行安全加固。首先,客户端根据业务需要向服务器端发送请求;然后服务器端对接收到的请求进行安全验证服务,若安全验证服务通过则对客户端的请求进行处理,将处理结果返回给客户端;若安全验证服务没有通过则将验证失败的处理结果返回给客户端。通过本发明所述的方法能够解决系统中所存在安全漏洞问题,提高系统安全性。
文档编号G06F21/57GK103117998SQ201210494988
公开日2013年5月22日 申请日期2012年11月28日 优先权日2012年11月28日
发明者左冬发, 刘小勇 申请人:北京用友政务软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1