CN116861439A - 一种组件化方式实现业务系统防sql注入的方法 - Google Patents
一种组件化方式实现业务系统防sql注入的方法 Download PDFInfo
- Publication number
- CN116861439A CN116861439A CN202310740062.5A CN202310740062A CN116861439A CN 116861439 A CN116861439 A CN 116861439A CN 202310740062 A CN202310740062 A CN 202310740062A CN 116861439 A CN116861439 A CN 116861439A
- Authority
- CN
- China
- Prior art keywords
- sql injection
- service system
- component
- prevention
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000002347 injection Methods 0.000 title claims abstract description 253
- 239000007924 injection Substances 0.000 title claims abstract description 253
- 230000002265 prevention Effects 0.000 title claims abstract description 105
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 63
- 238000011161 development Methods 0.000 claims abstract description 5
- 230000005540 biological transmission Effects 0.000 claims description 29
- 238000012360 testing method Methods 0.000 claims description 29
- 238000004088 simulation Methods 0.000 claims description 24
- 238000012544 monitoring process Methods 0.000 claims description 16
- 238000011156 evaluation Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 abstract description 4
- 238000012795 verification Methods 0.000 abstract description 4
- 229940090044 injection Drugs 0.000 description 187
- 230000009286 beneficial effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种组件化方式实现业务系统防SQL注入的方法,包括:基于springboot技术架构,设计开发防SQL注入组件;基于组件依赖开发业务系统,配置业务系统中业务组件与防SQL注入组件的依赖关系;利用防SQL注入组件对业务系统运行中的SQL注入进行检测处理。本发明通过设计开发防SQL注入组件,并利用组件依赖方式在业务系统中实现防SQL注入,提高了业务系统的SQL注入校验的水平,降低了业务系统SQL注入的风险,可优化业务系统的防SQL注入的检测处理能力。
Description
技术领域
本发明涉及防SQL注入技术领域,尤其涉及一种组件化方式实现业务系统防SQL注入的方法。
背景技术
SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库;SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
SQL注入产生的原理归根结底还是用户输入的代码被数据库执行了,所以解铃还须系铃人,防御SQL注入还是要在代码层面上去解决。目前,很多业务系统没有对SQL注入进行校验,系统存在被注入的风险;多数业务系统通过前端参数校验多SQL注入进行检测校验,攻击者可以绕过前端校验,系统存在被注入的风险;业务系统在代码中校验SQL注入情况,代码编写不规范,同时各业务系统需要做重复性建设,耗时耗力。
因此,需要一种组件化方式实现业务系统防SQL注入的方法。
发明内容
本发明提供了一种组件化方式实现业务系统防SQL注入的方法,通过设计开发防SQL注入组件,并利用组件依赖方式在业务系统中实现防SQL注入,提高了业务系统的SQL注入校验的水平,降低了业务系统SQL注入的风险,可优化业务系统的防SQL注入的检测处理能力。
一种组件化方式实现业务系统防SQL注入的方法,包括:
S1:基于springboot技术架构,设计开发防SQL注入组件;
S2:基于组件依赖开发业务系统,配置业务系统中业务组件与防SQL注入组件的依赖关系;
S3:利用防SQL注入组件对业务系统运行中的SQL注入进行检测处理。
进一步地,S1包括:
S101:设置SQL注入关键字信息;
S102:基于springboot技术架构,结合SQL注入关键字信息,设计开发防SQL注入组件;
S103:将防SQL注入组件上传到预设的服务器。
进一步地,S2包括:
S201:设计业务系统的若干个业务组件;
S202:配置业务组件和防SQL注入组件的依赖关系,将防SQL注入组件配置为业务组件的通用依赖组件。
进一步地,S3包括:
S301:发布运行业务系统;
S302:用户调用业务系统功能或通过外部系统数据接口,提交待判定请求数据;请求数据包括表单数据或外部系统调用接口程序数据;
S303:利用防SQL注入组件对待判定请求数据,进行是否符合SQL注入条件的判定,若符合SQL注入条件,则按照预设的处理策略进行处理。
进一步地,S303包括:
S3031:利用防SQL注入组件的拦截器拦截获得待判定请求数据,并将防SQL注入组件的基本配置信息、个性化配置信息存入本地线程ThreadLocal中;
S3032:根据待判定请求数据的不同的传参方式,利用FormSql Inject ion Hadle处理类和JacksonSqlInjectionHadle处理类,调用本地线程ThreadLocal中的处理逻辑信息用于处理传参;
S3033:利用Sql InjectionHandler的默认接口实现类对象DefaultSqlInjectionHandler、或SqlInject ionHandler的自定义接口实现类对象,调用SQL注入判断工具类,结合SQL注入关键字信息,检测传参方式是否符合SQL注入条件,并结合预设的处理策略进行相应处理。
进一步地,S3032包括:
S3032-1:针对URL传值或FORM表单提交的传参方式,利用FormSqlInJectionHadle处理类,采用Control lerAdvice技术,在每个Control ler接收参数之前使用自定义的PropertyEdi torSupport处理参数;
S3032-2:针对发送Request Body的传参方式,利用JacksonSqlInJe ct ionHadle处理类,采用自定义的JsonDeserial izer,在参数反序列化时对参数进行处理。
进一步地,检测传参方式是否符合SQL注入条件,包括:将待判定请求数据与SQL注入关键字信息进行匹配,若存在匹配的关键字信息,则触发SQL注入条件,生成符合SQL注入条件的判定结果。
进一步地,S3033中结合预设的处理策略进行相应处理,包括:
S3033-1:根据符合SQL注入条件的判定结果,生成SQL注入记录;
S3033-2:根据SQL注入记录,对相对应的业务组件进行注入次数的统计,若注入次数大于预设的次数阈值,则更新业务组件;
S3033-3:根据SQL注入记录,对相对应的提交待判定请求数据的用户,基于预设的评估指标,实施跟踪监测,若跟踪监测获得的评估指标满足预设的指标预警条件,则对用户实施黑名单管理。
进一步地,S301中发布运行业务系统前,还包括对业务系统的防SQL注入进行测试;具体步骤为:
S301-1:基于业务系统安全大数据和SQL注入大数据,获取漏洞历史数据和SQL注入的历史数据;基于漏洞历史数据,设计开发漏洞扫描程序;基于SQL注入的历史数据,设计开发SQL注入仿真测试模型;
S301-2:利用漏洞扫描程序,扫描业务系统,若存在漏洞,则根据预设的漏洞修复方案进行修复,获得第一业务系统;
S301-3:利用SQL注入仿真测试模型,对第一业务系统进行SQL注入仿真测试,获得SQL注入仿真测试结果;基于SQL注入仿真测试结果,评估获得第一业务系统的防SQL注入的成功概率值,若成功概率值大于预设的概率值阈值,则将第一业务系统发布运行;否则,基于SQL注入仿真测试结果,分析SQL注入的路径,基于路径获得业务系统的脆弱性,解决处理业务系统的脆弱性后,将第一业务系统发布运行。
进一步地,还包括S4,基于对业务系统运行中的防SQL注入的历史记录数据,获得业务组件的防范等级值,根据防范等级值进行分级防范,并为业务系统的新增业务组件提供防范等级参考;具体步骤为:
S401:获取业务系统的业务组件的防SQL注入的历史记录数据;
S402:基于历史记录数据,利用神经网络预测模型预测获得业务组件的SQL注入风险值;
S403:基于SQL注入风险值,生成业务组件的防SQL注入的防范等级值,基于防范等级值,对业务组件进行分级监测和防范;
S404:获取业务组件的属性特征,并获取用于业务系统拓展或更新的第一业务组件的第一属性特征,比较第一属性特征和属性特征的相似度,若相似度大于预设的相似度阈值,则基于业务组件的防范等级值加权后,生成第一业务组件的防SQL注入的第一防范等级值;基于第一防范等级值相对应的防范等级,对第一业务组件进行监测和防范。
本发明与现有技术相比,具有如下的优点和有益效果:通过设计开发防SQL注入组件,并利用组件依赖方式在业务系统中实现防SQL注入,提高了业务系统的SQL注入校验的水平,降低了业务系统SQL注入的风险,可优化业务系统的防SQL注入的检测处理能力。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明的一种组件化方式实现业务系统防SQL注入的方法步骤示意图;
图2为本发明的一种组件化方式实现业务系统防SQL注入的方法中设计开发防SQL注入组件方法步骤示意图;
图3为本发明的一种组件化方式实现业务系统防SQL注入的方法中对SQL注入进行检测处理的方法步骤示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供了一种组件化方式实现业务系统防SQL注入的方法,如图1所示,S1:基于springboot技术架构,设计开发防SQL注入组件;
S2:基于组件依赖开发业务系统,配置业务系统中业务组件与防SQL注入组件的依赖关系;
S3:利用防SQL注入组件对业务系统运行中的SQL注入进行检测处理。
上述技术方案的工作原理为:S1:基于springboot技术架构,设计开发防SQL注入组件;
S2:基于组件依赖开发业务系统,配置业务系统中业务组件与防SQL注入组件的依赖关系;
S3:利用防SQL注入组件对业务系统运行中的SQL注入进行检测处理。
上述技术方案的有益效果为:采用本实施例提供的方案,通过设计开发防SQL注入组件,并利用组件依赖方式在业务系统中实现防SQL注入,提高了业务系统的SQL注入校验的水平,降低了业务系统SQL注入的风险,可优化业务系统的防SQL注入的检测处理能力。
在一个实施例中,如图2所示,S1包括:
S101:设置SQL注入关键字信息;
S102:基于springboot技术架构,结合SQL注入关键字信息,设计开发防SQL注入组件;
S103:将防SQL注入组件上传到预设的服务器。
上述技术方案的工作原理为:S1包括:
S101:设置SQL注入关键字信息;
S102:基于springboot技术架构,结合SQL注入关键字信息,设计开发防SQL注入组件;
S103:将防SQL注入组件上传到预设的服务器。
上述技术方案的有益效果为:采用本实施例提供的方案,通过设置SQL注入关键字信息,并开发存储防SQL注入组件,便于后续的使用。
在一个实施例中,S2包括:
S201:设计业务系统的若干个业务组件;
S202:配置业务组件和防SQL注入组件的依赖关系,将防SQL注入组件配置为业务组件的通用依赖组件。
上述技术方案的工作原理为:S2包括:
S201:设计业务系统的若干个业务组件;
S202:配置业务组件和防SQL注入组件的依赖关系,将防SQL注入组件配置为业务组件的通用依赖组件。
上述技术方案的有益效果为:采用本实施例提供的方案,通过配置业务组件和防SQL注入组件的依赖关系,可提高业务系统的防SQL注入的防范水平。
在一个实施例中,如图3所示,S3包括:
S301:发布运行业务系统;
S302:用户调用业务系统功能或通过外部系统数据接口,提交待判定请求数据;请求数据包括表单数据或外部系统调用接口程序数据;
S303:利用防SQL注入组件对待判定请求数据,进行是否符合SQL注入条件的判定,若符合SQL注入条件,则按照预设的处理策略进行处理。
上述技术方案的工作原理为:S3包括:
S301:发布运行业务系统;
S302:用户调用业务系统功能或通过外部系统数据接口,提交待判定请求数据;请求数据包括表单数据或外部系统调用接口程序数据;
S303:利用防SQL注入组件对待判定请求数据,进行是否符合SQL注入条件的判定,若符合SQL注入条件,则按照预设的处理策略进行处理。
上述技术方案的有益效果为:采用本实施例提供的方案,通过业务系统在运行过程中,对请求数据的SQL注入的判定和处理,可及时发现SQL注入,有效保证业务系统的数据安全。
在一个实施例中,S303包括:
S3031:利用防SQL注入组件的拦截器拦截获得待判定请求数据,并将防SQL注入组件的基本配置信息、个性化配置信息存入本地线程ThreadLocal中;
S3032:根据待判定请求数据的不同的传参方式,利用FormSql Inject ion Hadle处理类和JacksonSqlInjectionHadle处理类,调用本地线程ThreadLocal中的处理逻辑信息用于处理传参;
S3033:利用Sql InjectionHandler的默认接口实现类对象DefaultSqlInjectionHandler、或SqlInject ionHandler的自定义接口实现类对象,调用SQL注入判断工具类,结合SQL注入关键字信息,检测传参方式是否符合SQL注入条件,并结合预设的处理策略进行相应处理。
上述技术方案的工作原理为:S303包括:
S3031:利用防SQL注入组件的拦截器拦截获得待判定请求数据,并将防SQL注入组件的基本配置信息、个性化配置信息存入本地线程ThreadLocal中;
S3032:根据待判定请求数据的不同的传参方式,利用FormSql Inject ion Hadle处理类和JacksonSqlInjectionHadle处理类,调用本地线程ThreadLocal中的处理逻辑信息用于处理传参;
S3033:利用Sql InjectionHandler的默认接口实现类对象DefaultSqlInjectionHandler、或SqlInject ionHandler的自定义接口实现类对象,调用SQL注入判断工具类,结合SQL注入关键字信息,检测传参方式是否符合SQL注入条件,并结合预设的处理策略进行相应处理。
上述技术方案的有益效果为:采用本实施例提供的方案,通过根据待判定请求数据的不同的传参方式进行相应的处理,可保证处理的有效性,并提高防SQL注入判定的质量。
在一个实施例中,S3032包括:
S3032-1:针对URL传值或FORM表单提交的传参方式,利用FormSqlInJectionHadle处理类,采用Control lerAdvice技术,在每个Control ler接收参数之前使用自定义的PropertyEdi torSupport处理参数;
S3032-2:针对发送Request Body的传参方式,利用JacksonSqlInJe ct ionHadle处理类,采用自定义的JsonDeserial izer,在参数反序列化时对参数进行处理。
上述技术方案的工作原理为:S3032包括:
S3032-1:针对URL传值或FORM表单提交的传参方式,利用FormSqlInJectionHadle处理类,采用Control lerAdvice技术,在每个Control ler接收参数之前使用自定义的PropertyEdi torSupport处理参数;
S3032-2:针对发送Request Body的传参方式,利用JacksonSqlInJe ct ionHadle处理类,采用自定义的JsonDeserial izer,在参数反序列化时对参数进行处理。
上述技术方案的有益效果为:采用本实施例提供的方案,根据两种不同的传参方式,进行具体的参数处理,提高了处理的针对性和有效性。
在一个实施例中,检测传参方式是否符合SQL注入条件,包括:将待判定请求数据与SQL注入关键字信息进行匹配,若存在匹配的关键字信息,则触发SQL注入条件,生成符合SQL注入条件的判定结果。
上述技术方案的工作原理为:检测传参方式是否符合SQL注入条件,包括:将待判定请求数据与SQL注入关键字信息进行匹配,若存在匹配的关键字信息,则触发SQL注入条件,生成符合SQL注入条件的判定结果。
上述技术方案的有益效果为:采用本实施例提供的方案,通过对SQL注入关键字信息的匹配,从而获得符合SQL注入条件的判定结果,提高了SQL注入判定的准确性。
在一个实施例中,S3033中结合预设的处理策略进行相应处理,包括:
S3033-1:根据符合SQL注入条件的判定结果,生成SQL注入记录;
S3033-2:根据SQL注入记录,对相对应的业务组件进行注入次数的统计,若注入次数大于预设的次数阈值,则更新业务组件;
S3033-3:根据SQL注入记录,对相对应的提交待判定请求数据的用户,基于预设的评估指标,实施跟踪监测,若跟踪监测获得的评估指标满足预设的指标预警条件,则对用户实施黑名单管理。
上述技术方案的工作原理为:S3033中结合预设的处理策略进行相应处理,包括:
S3033-1:根据符合SQL注入条件的判定结果,生成SQL注入记录;
S3033-2:根据SQL注入记录,对相对应的业务组件进行注入次数的统计,若注入次数大于预设的次数阈值,则更新业务组件;
S3033-3:根据SQL注入记录,对相对应的提交待判定请求数据的用户,基于预设的评估指标,实施跟踪监测,若跟踪监测获得的评估指标满足预设的指标预警条件,则对用户实施黑名单管理。
上述技术方案的有益效果为:采用本实施例提供的方案,根据SQL注入记录,通过对业务组件和提交请求数据的用户进行相应的管理,可提高业务系统的安全防范管理水平。
在一个实施例中,S301中发布运行业务系统前,还包括对业务系统的防SQL注入进行测试;具体步骤为:
S301-1:基于业务系统安全大数据和SQL注入大数据,获取漏洞历史数据和SQL注入的历史数据;基于漏洞历史数据,设计开发漏洞扫描程序;基于SQL注入的历史数据,设计开发SQL注入仿真测试模型;
S301-2:利用漏洞扫描程序,扫描业务系统,若存在漏洞,则根据预设的漏洞修复方案进行修复,获得第一业务系统;
S301-3:利用SQL注入仿真测试模型,对第一业务系统进行SQL注入仿真测试,获得SQL注入仿真测试结果;基于SQL注入仿真测试结果,评估获得第一业务系统的防SQL注入的成功概率值,若成功概率值大于预设的概率值阈值,则将第一业务系统发布运行;否则,基于SQL注入仿真测试结果,分析SQL注入的路径,基于路径获得业务系统的脆弱性,解决处理业务系统的脆弱性后,将第一业务系统发布运行。
上述技术方案的工作原理为:S301中发布运行业务系统前,还包括对业务系统的防SQL注入进行测试;具体步骤为:
S301-1:基于业务系统安全大数据和SQL注入大数据,获取漏洞历史数据和SQL注入的历史数据;基于漏洞历史数据,设计开发漏洞扫描程序;基于SQL注入的历史数据,设计开发SQL注入仿真测试模型;
S301-2:利用漏洞扫描程序,扫描业务系统,若存在漏洞,则根据预设的漏洞修复方案进行修复,获得第一业务系统;
S301-3:利用SQL注入仿真测试模型,对第一业务系统进行SQL注入仿真测试,获得SQL注入仿真测试结果;基于SQL注入仿真测试结果,评估获得第一业务系统的防SQL注入的成功概率值,若成功概率值大于预设的概率值阈值,则将第一业务系统发布运行;否则,基于SQL注入仿真测试结果,分析SQL注入的路径,基于路径获得业务系统的脆弱性,解决处理业务系统的脆弱性后,将第一业务系统发布运行。
上述技术方案的有益效果为:采用本实施例提供的方案,通过对业务系统进行预先的防SQL注入的测试,并及时的改进,可最大程度上保证业务系统的防SQL注入的能力。
在一个实施例中,还包括S4,基于对业务系统运行中的防SQL注入的历史记录数据,获得业务组件的防范等级值,根据防范等级值进行分级防范,并为业务系统的新增业务组件提供防范等级参考;具体步骤为:
S401:获取业务系统的业务组件的防SQL注入的历史记录数据;
S402:基于历史记录数据,利用神经网络预测模型预测获得业务组件的SQL注入风险值;
S403:基于SQL注入风险值,生成业务组件的防SQL注入的防范等级值,基于防范等级值,对业务组件进行分级监测和防范;
S404:获取业务组件的属性特征,并获取用于业务系统拓展或更新的第一业务组件的第一属性特征,比较第一属性特征和属性特征的相似度,若相似度大于预设的相似度阈值,则基于业务组件的防范等级值加权后,生成第一业务组件的防SQL注入的第一防范等级值;基于第一防范等级值相对应的防范等级,对第一业务组件进行监测和防范。
上述技术方案的工作原理为:还包括S4,基于对业务系统运行中的防SQL注入的历史记录数据,获得业务组件的防范等级值,根据防范等级值进行分级防范,并为业务系统的新增业务组件提供防范等级参考;具体步骤为:
S401:获取业务系统的业务组件的防SQL注入的历史记录数据;
S402:基于历史记录数据,利用神经网络预测模型预测获得业务组件的SQL注入风险值;
S403:基于SQL注入风险值,生成业务组件的防SQL注入的防范等级值,基于防范等级值,对业务组件进行分级监测和防范;
S404:获取业务组件的属性特征,并获取用于业务系统拓展或更新的第一业务组件的第一属性特征,比较第一属性特征和属性特征的相似度,若相似度大于预设的相似度阈值,则基于业务组件的防范等级值加权后,生成第一业务组件的防SQL注入的第一防范等级值;基于第一防范等级值相对应的防范等级,对第一业务组件进行监测和防范。
上述技术方案的有益效果为:采用本实施例提供的方案,通过基于对业务系统运行中的防SQL注入的历史记录数据,获得业务组件的防范等级值,根据防范等级值进行分级防范,并为业务系统的新增业务组件提供防范等级参考,可提高业务系统的整体防SQL注入的能力和水平。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种组件化方式实现业务系统防SQL注入的方法,其特征在于,包括:
S1:基于springboot技术架构,设计开发防SQL注入组件;
S2:基于组件依赖开发业务系统,配置业务系统中业务组件与防SQL注入组件的依赖关系;
S3:利用防SQL注入组件对业务系统运行中的SQL注入进行检测处理。
2.根据权利要求1所述的一种组件化方式实现业务系统防SQL注入的方法,其特征在于,S1包括:
S101:设置SQL注入关键字信息;
S102:基于springboot技术架构,结合SQL注入关键字信息,设计开发防SQL注入组件;
S103:将防SQL注入组件上传到预设的服务器。
3.根据权利要求1所述的一种组件化方式实现业务系统防SQL注入的方法,其特征在于,S2包括:
S201:设计业务系统的若干个业务组件;
S202:配置业务组件和防SQL注入组件的依赖关系,将防SQL注入组件配置为业务组件的通用依赖组件。
4.根据权利要求1所述的一种组件化方式实现业务系统防SQL注入的方法,其特征在于,S3包括:
S301:发布运行业务系统;
S302:用户调用业务系统功能或通过外部系统数据接口,提交待判定请求数据;请求数据包括表单数据或外部系统调用接口程序数据;
S303:利用防SQL注入组件对待判定请求数据,进行是否符合SQL注入条件的判定,若符合SQL注入条件,则按照预设的处理策略进行处理。
5.根据权利要求4所述的一种组件化方式实现业务系统防SQL注入的方法,其特征在于,S303包括:
S3031:利用防SQL注入组件的拦截器拦截获得待判定请求数据,并将防SQL注入组件的基本配置信息、个性化配置信息存入本地线程ThreadLocal中;
S3032:根据待判定请求数据的不同的传参方式,利用FormSqlInjection Hadle处理类和JacksonSqlInjectionHadle处理类,调用本地线程ThreadLocal中的处理逻辑信息用于处理传参;
S3033:利用SqlInjectionHandler的默认接口实现类对象DefaultSqlInjectionHandler、或SqlInjectionHandler的自定义接口实现类对象,调用SQL注入判断工具类,结合SQL注入关键字信息,检测传参方式是否符合SQL注入条件,并结合预设的处理策略进行相应处理。
6.根据权利要求5所述的一种组件化方式实现业务系统防SQL注入的方法,其特征在于,S3032包括:
S3032-1:针对URL传值或FORM表单提交的传参方式,利用FormSqlInJect ionHadle处理类,采用ControllerAdvice技术,在每个Controller接收参数之前使用自定义的PropertyEditorSupport处理参数;
S3032-2:针对发送Request Body的传参方式,利用JacksonSqlInJe ctionHadle处理类,采用自定义的JsonDeserializer,在参数反序列化时对参数进行处理。
7.根据权利要求5所述的一种组件化方式实现业务系统防SQL注入的方法,其特征在于,检测传参方式是否符合SQL注入条件,包括:将待判定请求数据与SQL注入关键字信息进行匹配,若存在匹配的关键字信息,则触发SQL注入条件,生成符合SQL注入条件的判定结果。
8.根据权利要求5所述的一种组件化方式实现业务系统防SQL注入的方法,其特征在于,S3033中结合预设的处理策略进行相应处理,包括:
S3033-1:根据符合SQL注入条件的判定结果,生成SQL注入记录;
S3033-2:根据SQL注入记录,对相对应的业务组件进行注入次数的统计,若注入次数大于预设的次数阈值,则更新业务组件;
S3033-3:根据SQL注入记录,对相对应的提交待判定请求数据的用户,基于预设的评估指标,实施跟踪监测,若跟踪监测获得的评估指标满足预设的指标预警条件,则对用户实施黑名单管理。
9.根据权利要求4所述的一种组件化方式实现业务系统防SQL注入的方法,其特征在于,S301中发布运行业务系统前,还包括对业务系统的防SQL注入进行测试;具体步骤为:
S301-1:基于业务系统安全大数据和SQL注入大数据,获取漏洞历史数据和SQL注入的历史数据;基于漏洞历史数据,设计开发漏洞扫描程序;基于SQL注入的历史数据,设计开发SQL注入仿真测试模型;
S301-2:利用漏洞扫描程序,扫描业务系统,若存在漏洞,则根据预设的漏洞修复方案进行修复,获得第一业务系统;
S301-3:利用SQL注入仿真测试模型,对第一业务系统进行SQL注入仿真测试,获得SQL注入仿真测试结果;基于SQL注入仿真测试结果,评估获得第一业务系统的防SQL注入的成功概率值,若成功概率值大于预设的概率值阈值,则将第一业务系统发布运行;否则,基于SQL注入仿真测试结果,分析SQL注入的路径,基于路径获得业务系统的脆弱性,解决处理业务系统的脆弱性后,将第一业务系统发布运行。
10.根据权利要求1所述的一种组件化方式实现业务系统防SQL注入的方法,其特征在于,还包括S4,基于对业务系统运行中的防SQL注入的历史记录数据,获得业务组件的防范等级值,根据防范等级值进行分级防范,并为业务系统的新增业务组件提供防范等级参考;具体步骤为:
S401:获取业务系统的业务组件的防SQL注入的历史记录数据;
S402:基于历史记录数据,利用神经网络预测模型预测获得业务组件的SQL注入风险值;
S403:基于SQL注入风险值,生成业务组件的防SQL注入的防范等级值,基于防范等级值,对业务组件进行分级监测和防范;
S404:获取业务组件的属性特征,并获取用于业务系统拓展或更新的第一业务组件的第一属性特征,比较第一属性特征和属性特征的相似度,若相似度大于预设的相似度阈值,则基于业务组件的防范等级值加权后,生成第一业务组件的防SQL注入的第一防范等级值;基于第一防范等级值相对应的防范等级,对第一业务组件进行监测和防范。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310740062.5A CN116861439B (zh) | 2023-06-21 | 2023-06-21 | 一种组件化方式实现业务系统防sql注入的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310740062.5A CN116861439B (zh) | 2023-06-21 | 2023-06-21 | 一种组件化方式实现业务系统防sql注入的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116861439A true CN116861439A (zh) | 2023-10-10 |
CN116861439B CN116861439B (zh) | 2024-04-12 |
Family
ID=88229567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310740062.5A Active CN116861439B (zh) | 2023-06-21 | 2023-06-21 | 一种组件化方式实现业务系统防sql注入的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116861439B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130067440A1 (en) * | 2010-05-18 | 2013-03-14 | Tata Consultancy Services Limited | System and method for sql performance assurance services |
CN104537305A (zh) * | 2014-12-31 | 2015-04-22 | 北京奇虎科技有限公司 | 网站漏洞检测方法和系统 |
CN109347820A (zh) * | 2018-10-12 | 2019-02-15 | 江苏满运软件科技有限公司 | 一种应用安全防御方法及系统 |
CN110602021A (zh) * | 2018-06-12 | 2019-12-20 | 蓝盾信息安全技术有限公司 | 一种基于http请求行为与业务流程相结合的安全风险值评估方法 |
CN113849178A (zh) * | 2021-09-28 | 2021-12-28 | 航天科工网络信息发展有限公司 | 基于表单驱动结合动态规则引擎的web系统开发框架 |
CN113987541A (zh) * | 2021-10-29 | 2022-01-28 | 四川省明厚天信息技术股份有限公司 | 数据访问控制方法、装置及电子设备 |
CN114154143A (zh) * | 2021-11-05 | 2022-03-08 | 银盛通信有限公司 | 一种防止sql注入的方法 |
CN114745202A (zh) * | 2022-05-10 | 2022-07-12 | 山东鲁软数字科技有限公司 | 一种主动防御web攻击的方法及基于主动防御的web安全网关 |
CN115242644A (zh) * | 2022-07-26 | 2022-10-25 | 天元大数据信用管理有限公司 | 一种微服务开发治理系统 |
CN115712456A (zh) * | 2022-12-14 | 2023-02-24 | 中电万维信息技术有限责任公司 | 基于springboot的依赖管理与工具集成方法 |
CN115840776A (zh) * | 2022-11-29 | 2023-03-24 | 四川长虹电器股份有限公司 | 基于MybatisPlus的分片批量插入数据的方法 |
-
2023
- 2023-06-21 CN CN202310740062.5A patent/CN116861439B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130067440A1 (en) * | 2010-05-18 | 2013-03-14 | Tata Consultancy Services Limited | System and method for sql performance assurance services |
CN104537305A (zh) * | 2014-12-31 | 2015-04-22 | 北京奇虎科技有限公司 | 网站漏洞检测方法和系统 |
CN110602021A (zh) * | 2018-06-12 | 2019-12-20 | 蓝盾信息安全技术有限公司 | 一种基于http请求行为与业务流程相结合的安全风险值评估方法 |
CN109347820A (zh) * | 2018-10-12 | 2019-02-15 | 江苏满运软件科技有限公司 | 一种应用安全防御方法及系统 |
CN113849178A (zh) * | 2021-09-28 | 2021-12-28 | 航天科工网络信息发展有限公司 | 基于表单驱动结合动态规则引擎的web系统开发框架 |
CN113987541A (zh) * | 2021-10-29 | 2022-01-28 | 四川省明厚天信息技术股份有限公司 | 数据访问控制方法、装置及电子设备 |
CN114154143A (zh) * | 2021-11-05 | 2022-03-08 | 银盛通信有限公司 | 一种防止sql注入的方法 |
CN114745202A (zh) * | 2022-05-10 | 2022-07-12 | 山东鲁软数字科技有限公司 | 一种主动防御web攻击的方法及基于主动防御的web安全网关 |
CN115242644A (zh) * | 2022-07-26 | 2022-10-25 | 天元大数据信用管理有限公司 | 一种微服务开发治理系统 |
CN115840776A (zh) * | 2022-11-29 | 2023-03-24 | 四川长虹电器股份有限公司 | 基于MybatisPlus的分片批量插入数据的方法 |
CN115712456A (zh) * | 2022-12-14 | 2023-02-24 | 中电万维信息技术有限责任公司 | 基于springboot的依赖管理与工具集成方法 |
Non-Patent Citations (1)
Title |
---|
张晶;王琰洁;黄小锋;: "一种微服务框架的实现", 计算机系统应用, no. 04 * |
Also Published As
Publication number | Publication date |
---|---|
CN116861439B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10924514B1 (en) | Machine learning detection of fraudulent validation of financial institution credentials | |
CN102667712B (zh) | 用于同时定义和实行访问控制和完整性策略的系统、方法和装置 | |
CN110225029B (zh) | 注入攻击检测方法、装置、服务器及存储介质 | |
CN103699844B (zh) | 安全保护系统及方法 | |
Salfer et al. | Attack surface and vulnerability assessment of automotive electronic control units | |
Singh et al. | Sql injection detection and correction using machine learning techniques | |
Glas et al. | Automotive safety and security integration challenges | |
WO2021121382A1 (en) | Security management of an autonomous vehicle | |
CN113190839A (zh) | 一种基于SQL注入的web攻击防护方法及系统 | |
Guarnieri et al. | Strong and provably secure database access control | |
Cortesi et al. | Datacentric semantics for verification of privacy policy compliance by mobile applications | |
CN116861439B (zh) | 一种组件化方式实现业务系统防sql注入的方法 | |
Mishra et al. | Privacy protection framework for android | |
Shrivastava et al. | SQL injection attacks: Technique and prevention mechanism | |
Barbon et al. | Privacy analysis of android apps: implicit flows and quantitative analysis | |
CN116628681A (zh) | 一种基于上位机监测控制软件的权限管理方法及系统 | |
Meghanathan | Identification and Removal of Software Security Vulnerabilities using Source Code Analysis: A Case Study on a Java File Writer Program with Password Validation Features. | |
Gadgikar | Preventing SQL injection attacks using negative tainting approach | |
KR102086375B1 (ko) | 악성 소프트웨어에 대한 실시간 예방 및 사후 복구를 위한 보안 시스템 및 그 방법 | |
Shi et al. | Security-based code smell definition, detection, and impact quantification in Android | |
Kleiner et al. | On the decidability of the safety problem for access control policies | |
Hegde et al. | A Survey on SQL Injection Attacks and Prevention Methods | |
Evina et al. | Anomalies Correlation for Risk-Aware Access Control Enhancement. | |
Zhong et al. | Security‐based code smell definition, detection, and impact quantification in Android | |
Pardo et al. | Analysis of Privacy Policies to Enhance Informed Consent (Extended Version) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |