掌桥专利:专业的专利平台
掌桥专利
首页

一种软件系统安全加固方法

文献发布时间:2023-06-19 10:38:35


一种软件系统安全加固方法

技术领域

本发明涉及计算机软件安全技术领域,特别涉及一种软件系统安全加固方法。

背景技术

为保障信息安全,企业对软件系统的信息安全日益重视,通过软件安全测评也成为软件系统上线的必备条件。目前,针对安全测评所发现的软件安全问题,通常采用修改业务系统相关源代码的方式,开发周期长、工作量大、测试任务繁重,经常影响软件业务功能的正常运行。

为了有效解决当前所存在的问题,本发明提出了一种软件系统安全加固方法,对网络攻击的特征进行抽象建模,统一处理逻辑,统一编码,统一配置。

发明内容

本发明为了弥补现有技术的缺陷,提供了一种简单高效的软件系统安全加固方法。

本发明是通过如下技术方案实现的:

一种软件系统安全加固方法,其特征在于:针对不同的网络攻击行为,定制开发多个安全漏斗,通过配置的方式启用安全过滤,对外部传入软件系统的数据及网址进行多重过滤,及时发现危险数据并进行清除,阻断网络恶意攻击,从而保障软件系统安全可靠运行;

具体实现步骤如下:

S1.分析常见的网络攻击行为,定制安全过滤关键词黑名单,通过外部输入安全漏斗对外部传入的输入数据,查询条件和跳转网址进行安全过滤,发现并清除危险数据,中断恶意攻击行为,记录安全日志;

S2.定制合规网址白名单,利用跳转网址安全漏斗中断非法的网址跳转,并记录安全日志;

S3.针对安全过滤所发现的网络攻击行为,提供软件系统安全行为审计,分析常见网络攻击行为,提升软件系统安全加固的针对性。

所述步骤S1中,使用正则表达式定制安全过滤关键词黑名单,针对跨站脚本攻击、SQL注入攻击和/或XML注入攻击所使用的关键词,进行配置;且安全过滤关键词黑名单的安全规则能够根据攻击类型和业务功能的要求进行调整,为外部输入安全漏斗配置安全过滤规则提供依据。

所述步骤S1中,外部输入安全漏斗通过javax.servlet.Filter接口在init()方法中加载安全过滤关键词黑名单,生成安全过滤规则;

在doFilter(ServletRequest request,ServletResponse response,FilterChain chain)方法中,按照过滤规则对外部传入的请求进行黑名单正则匹配过滤;

如果匹配到危险的输入数据,拦截并清除相关数据,中断网络请求,阻断外部攻击行为,并在记录网络攻击拦截日志;

外部数据安全过滤完成后,调用chain.doFilter()方法,将过滤后的数据传入跳转网址安全漏斗,继续进行安全过滤。

所述步骤S2中,使用plainText方式定义合规网址白名单,按域名和IP两种方式定制合规网址白名单,域名之间用“:”分隔;IP地址列表设置固定IP或IP区间,IP区间用“:”分割,多个IP之间用“,”分割,使用0作为网段通配符;

合规网址白名单能够按软件系统实际部署情况进行调整,为跳转网址安全漏斗配置网站跳转规则提供依据。

所述步骤S2中,跳转网址安全漏斗通过Javax.servlet.Filter接口在init()方法中加载跳转网址白名单,生成网站跳转规则;在doFilter(ServletRequest request,ServletResponse response,FilterChain chain)方法中对跳转的网址使用跳转网址白名单进行逐行匹配;

如果匹配到合规网址,则正常进行网址跳转,否则将其判定为非法的跳转网址,中断网址跳转请求并在前端页面进行攻击警告,记录网络攻击拦截日志;

过滤完成后,调用chain.doFilter()方法,将过滤后的数据传入下一级安全漏斗,继续进行安全过滤。

针对外部输入安全漏斗和跳转网址安全漏斗所发现的危险数据或非法网址,将过滤的内容,包括当前用户,所属应用,请求时间,请求URL,安全级别,安全种类,原始数据,危险数据,过滤后数据以及处理方式,以文本的方式记入安全日志,同时记入安全漏斗日志数据库表。

所述步骤S3中,针对安全日志记录的安全数据,提供安全行为审计功能,支持按安全种类,安全级别和/或访问用户维度进行分析,通过安全维度分析,包括出现次数排名前三的攻击行为,出现次数排名前三的高危用户以及出现次数排名前三的高危应用,统计并确定软件系统的安全水平。

安全漏斗支持灵活扩展。按网络攻击的类型不同,针对不同的网络攻击行为特征可开发定制化的安全漏斗进行安全过滤。针对严格限制类型的皮肤样式cookie篡改类攻击行为,使用定制跳转网址白名单的方式进行安全漏斗开发;而对于无法穷举的计算类攻击行为,则使用定制安全过滤关键词黑名单的方式进行安全漏斗开发。

所述安全漏斗面向切面编程,无须对现有的业务功能代码进行侵入式修改,只需通过灵活的软件配置方式,即可启用安全过滤功能。为应对日益升级的网络安全威胁,支持定制过滤规则,以满足软件系统的安全需求。

本发明的有益效果是:该软件系统安全加固方法,不仅能够及时发现危险数据并进行清除,阻断网络恶意攻击,保障软件系统安全可靠运行,而且无需修改现有业务代码,开发周期短,使用方便,能够快速满足软件系统的安全加固要求。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

附图1为本发明软件系统安全加固方法示意图。

附图2为本发明外部输入数据安全过滤流程示意图。

附图3为本发明跳转网站安全过滤流程示意图。

具体实施方式

为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

该软件系统安全加固方法,针对不同的网络攻击行为,定制开发多个安全漏斗,通过配置的方式启用安全过滤,对外部传入软件系统的数据及网址进行多重过滤,及时发现危险数据并进行清除,阻断网络恶意攻击,从而保障软件系统安全可靠运行;

具体实现步骤如下:

S1.分析常见的网络攻击行为,定制安全过滤关键词黑名单,通过外部输入安全漏斗对外部传入的输入数据,查询条件和跳转网址进行安全过滤,发现并清除危险数据,中断恶意攻击行为,记录安全日志;

S2.定制合规网址白名单,利用跳转网址安全漏斗中断非法的网址跳转,并记录安全日志;

S3.针对安全过滤所发现的网络攻击行为,提供软件系统安全行为审计,分析常见网络攻击行为,提升软件系统安全加固的针对性。

所述步骤S1中,使用正则表达式定制安全过滤关键词黑名单,针对跨站脚本攻击、SQL注入攻击和/或XML注入攻击所使用的关键词,进行配置;且安全过滤关键词黑名单的安全规则能够根据攻击类型和业务功能的要求进行调整,为外部输入安全漏斗配置安全过滤规则提供依据。

安全过滤关键词黑名单配置方法:

(?:")|(?:')|(?:--)|(?:<)|(?:>)|(\\b(script|javascript|alert|source|window|onmouseover|onclick|prompt|confirm|style|onfocus|onconfig|prompt|update|delete|insert|trancate|char|into|substr|ascii|declare|exec|count|master|into|drop|execute)\\b)。

所述步骤S1中,外部输入安全漏斗通过javax.servlet.Filter接口在init()方法中加载安全过滤关键词黑名单,生成安全过滤规则;

在doFilter(ServletRequest request,ServletResponse response,FilterChain chain)方法中,按照过滤规则对外部传入的请求进行黑名单正则匹配过滤;

如果匹配到危险的输入数据,拦截并清除相关数据,中断网络请求,阻断外部攻击行为,并在记录网络攻击拦截日志;

外部数据安全过滤完成后,调用chain.doFilter()方法,将过滤后的数据传入跳转网址安全漏斗,继续进行安全过滤。

所述步骤S2中,使用plainText方式定义合规网址白名单,按域名和IP两种方式定制合规网址白名单,域名之间用“:”分隔;IP地址列表设置固定IP或IP区间,IP区间用“:”分割,多个IP之间用“,”分割,使用0作为网段通配符;

合规网址白名单能够按软件系统实际部署情况进行调整,为跳转网址安全漏斗配置网站跳转规则提供依据。

合规网址白名单配置方法:

v6:xinshangmeng:192.168.1.1:192.168.3.0。

所述步骤S2中,跳转网址安全漏斗通过Javax.servlet.Filter接口在init()方法中加载跳转网址白名单,生成网站跳转规则;在doFilter(ServletRequest request,ServletResponse response,FilterChain chain)方法中对跳转的网址使用跳转网址白名单进行逐行匹配;

如果匹配到合规网址,则正常进行网址跳转,否则将其判定为非法的跳转网址,中断网址跳转请求并在前端页面进行攻击警告,记录网络攻击拦截日志;

过滤完成后,调用chain.doFilter()方法,将过滤后的数据传入下一级安全漏斗,继续进行安全过滤。

针对外部输入安全漏斗和跳转网址安全漏斗所发现的危险数据或非法网址,将过滤的内容,包括当前用户,所属应用,请求时间,请求URL,安全级别,安全种类,原始数据,危险数据,过滤后数据以及处理方式,以文本的方式记入安全日志,同时记入安全漏斗日志数据库表。

表1安全漏斗日志数据库表(示例)

所述步骤S3中,针对安全日志记录的安全数据,提供安全行为审计功能,支持按安全种类,安全级别和/或访问用户维度进行分析,通过安全维度分析,包括出现次数排名前三的攻击行为,出现次数排名前三的高危用户以及出现次数排名前三的高危应用,统计并确定软件系统的安全水平。

安全漏斗支持灵活扩展。按网络攻击的类型不同,针对不同的网络攻击行为特征可开发定制化的安全漏斗进行安全过滤。针对严格限制类型的皮肤样式cookie篡改类攻击行为,使用定制跳转网址白名单的方式进行安全漏斗开发;而对于无法穷举的计算类攻击行为,则使用定制安全过滤关键词黑名单的方式进行安全漏斗开发。

所述安全漏斗面向切面编程,无须对现有的业务功能代码进行侵入式修改,只需通过灵活的软件配置方式,即可启用安全过滤功能。为应对日益升级的网络安全威胁,支持定制过滤规则,以满足软件系统的安全需求。

通过配置来决定安全漏斗是否启用。在软件系统的web.xml文件中增加以下配置,以启用外部输入安全漏斗和跳转网址安全漏斗的安全过滤功能。配置方法如下:

以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

相关技术
  • 一种软件系统安全加固方法
  • 一种提高软件系统安全性的软件热插拔方法
技术分类

06120112623592