CN113885958A - 一种拦截脏数据的方法和系统 - Google Patents
一种拦截脏数据的方法和系统 Download PDFInfo
- Publication number
- CN113885958A CN113885958A CN202111162185.2A CN202111162185A CN113885958A CN 113885958 A CN113885958 A CN 113885958A CN 202111162185 A CN202111162185 A CN 202111162185A CN 113885958 A CN113885958 A CN 113885958A
- Authority
- CN
- China
- Prior art keywords
- query language
- structured query
- application program
- code
- request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000001514 detection method Methods 0.000 claims abstract description 52
- 230000002159 abnormal effect Effects 0.000 claims abstract description 33
- 238000004891 communication Methods 0.000 claims abstract description 14
- 230000000977 initiatory effect Effects 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012986 modification Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 238000012360 testing method Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及计算机软件安全测试技术领域中的一种拦截脏数据的方法和系统,包括以下步骤:启动漏洞检测任务,加载对应用程序以及应用程序与数据库通信的底层代码;获取底层代码并编辑检测逻辑代码,得到底层检测代码;获取应用程序的原始请求,通过主动IAST发起重放请求,应用程序响应重放请求得到数据流;应用程序与数据库进行网络通信,触发底层检测代码启动;根据底层检测代码,检测数据流的结构化查询语言的类型;构造异常结构化查询语言,并发送给数据库;数据库返回报错信息到应用程序,并停止数据流写入数据库,具有拦截脏数据写入数据库、不影响用户请求以及查询类型的结构化查询语言正常执行的优点,突破了脏数据被携带写入数据库的瓶颈。
Description
技术领域
本发明涉及计算机软件安全测试技术领域,具体涉及一种拦截脏数据的方法和系统。
背景技术
随着安全生命周期(简称SDL)、安全敏捷框架(简称DevSecOps)在企业的落地实施,交互式应用安全测试技术(简称IAST)作为评定网络安全领域的前十技术之一,融合了动态安全测试技术(简称DAST)和静态安全测试技术(简称SAST)的优势,具有高检出率、低误报率的优势,被越来越多的用户认可,并纳入SDL、DevSecOps流程中。
IAST的实现模式较多,其中最具代表性的是主动插桩模式和被动插桩模式,相较于被动插桩模式,主动插桩模式在运行时字节码插桩的基础上,基于原始请求构造重放请求验证漏洞,而应用程序的重要数据绝大部分是保存在数据库的,当重放请求被应用程序处理时,可能造成非用户预期的数据写入数据库,即脏数据写入数据库。
现有实现的主动IAST数据污染处理方案为基于socket底层函数判断重放请求,抛出异常的方案,但该方案会导致数据库连接耗尽后用户请求失败、查询类型的结构化查询语言(简称SQL)无法正常执行(查询类型的SQL不会造成数据污染,大部分SQL注入漏洞是需要执行查询类型的SQL的)等问题,这两项致命问题导致该方案实际无法落地。
发明内容
本发明针对现有技术中的缺点,提供了一种拦截脏数据的方法和系统,具有拦截脏数据写入数据库、不影响用户请求以及查询类型的结构化查询语言正常执行的优点,突破了应用程序处理重放请求时会携带脏数据写入数据库的瓶颈。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种拦截脏数据的方法,包括以下步骤:
启动应用程序的漏洞检测任务,同时对应用程序以及应用程序与数据库通信的底层代码进行加载;
获取所述底层代码并编辑检测逻辑代码,将所述检测逻辑代码编入底层代码中,得到底层检测代码;
获取应用程序的原始请求,并通过主动IAST发起重放请求,应用程序响应重放请求;
获取应用程序响应重放请求时的数据流,应用程序携带数据流与数据库进行网络通信,并触发所述底层检测代码启动执行程序;
根据所述底层检测代码,检测数据流的结构化查询语言的类型是否为增删改类型;
当数据流的结构化查询语言为增删改类型时,构造异常结构化查询语言,并发送给数据库;
根据接收到的异常结构化查询语言,返回报错信息到应用程序,并根据报错信息停止数据流写入数据库。
可选的,获取应用程序的原始请求,并通过主动IAST发起重放请求,应用程序响应重放请求,包括以下步骤:
根据所述原始请求,主动IAST构造重放请求,并将重放请求发送至应用程序;
应用程序接收所述重放请求,并形成数据流。
可选的,所述检测数据流的结构化查询语言的类型是否为增删改类型,包括以下步骤:
根据重放请求的头部标签,判断重放请求是否为主动IAST的重放请求,若是,则解析数据流并获取数据流的结构化查询语言;若否,则停止底层检测代码的执行程序;
根据所述结构化查询语言的buffer数据结果,判断结构化查询语言是否为增删改类型,若是,则构造异常结构化查询语言;若否,则停止底层检测代码的执行程序。
可选的,构造异常结构化查询语言,包括以下步骤:
获取增删改类型的结构化查询语言对应的数据流的所有位数数值,并修改一个或多个位数数值,得到异常结构化查询语言。
可选的,所述buffer数据结果为结构化查询语言传输至数据库时转化为buffer类型时得到。
可选的,得到所述报错信息,包括以下步骤:
获取异常结构化查询语言的语法,并定义为错误语法;
将错误语法加载至返回信息,得到报错信息。
一种拦截脏数据的系统,包括请求单元、获取单元、编辑单元、检测单元、反馈单元和拦截单元;
所述请求单元用于主动IAST在应用程序启动漏洞检测时,发起重放请求;
所述获取单元用于获取应用程序与数据库通信的底层代码、应用程序的原始请求、数据流的结构化查询语言和异常结构化查询语言的语法;
所述编辑单元用于编辑检测逻辑代码,并将所述检测逻辑代码编入底层代码;
所述检测单元用于检测数据流的结构化查询语言的类型是否为增删改类型;
所述反馈单元用于返回报错信息到应用程序;
所述拦截单元用于停止含有脏数据的数据流写入数据库。
可选的,所述编辑单元还用于修改增删改类型的结构化查询语言对应的数据流的一个或多个位数数值。
可选的,还包括处理器和存储介质,所述存储介质中存储所述系统执行上述任意一项所述的一种拦截脏数据的方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,执行上述任意一项所述的拦截脏数据的方法。
采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
通过将检测逻辑代码编入应用程序与数据库通信的底层代码,得到底层检测代码,从而使得当应用程序接收到重放请求时,对重放请求进行检测,同时通过进一步检测结构化查询语言的类型,判断数据流中是否存在脏数据,同时在检测到存在脏数据时,通过修改结构化查询语言,构造异常结构化查询语言的方法,向应用程序反馈报错信息,并根据报错信息,实现截断含有脏数据的数据流写入数据库的目的;与现有的不构造异常结构化语言,直接抛出含有脏数据异常信息相比,构造异常结构化查询语言最终得到的报错信息不会影响应用程序与数据库的正常连接。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提出的一种拦截脏数据的方法和系统的流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
如图1所示,一种拦截脏数据的方法,包括以下步骤:启动应用程序的漏洞检测任务,同时对应用程序以及应用程序与数据库通信的底层代码进行加载;获取底层代码并编辑检测逻辑代码,将检测逻辑代码编入底层代码中,得到底层检测代码。
对于java语言来讲,正常应用程序的启动以java-应用名.jar为例,由于主动IAST需要通过agent的jar包实现,若对应用程序进行漏洞检测,则启动命令需要进行修改,变成java-javaagent:agent.jar-应用名.jar,因此对于本实施例所述的检测逻辑代码需要编入agent内,具体的,当应用程序的漏洞检测任务启动后,应用程序会进行加载,同时应用程序与数据库通信的底层代码也会进行加载,而在加载过程中,agent会找到底层代码,将检测逻辑代码插入,从而使得在应用程序启动时便完成底层检测代码的编入。
应用程序需要进行漏洞检测,同时还需在应用程序启动时,加入新的运行时字节码插桩规则,从而监控关键代码的执行,例如加入socket底层函数的插桩,以Java为例,需要插桩的函数为java.net.SocketOutputStream.write,而该write方法是java与外部通信都需要经过的函数,。
获取应用程序的原始请求,并通过主动IAST发起重放请求,应用程序响应重放请求,包括以下步骤:根据原始请求,主动IAST构造重放请求,并将重放请求发送至应用程序;应用程序接收重放请求,并形成数据流。
原始请求为用户发送至应用程序产生的,当应用程序接收到原始请求后,主动IAST会基于原始请求进行构造重放请求,而当应用程序收到重放请求,会触发执行结构化查询语言的逻辑,从而调用java.net.SocketOutputStream.write方法,此时获取应用程序响应重放请求时的数据流,应用程序携带数据流与数据库进行网络通信,并触发底层检测代码启动执行程序。
根据底层检测代码,检测数据流的结构化查询语言的类型是否为增删改类型,包括以下步骤:根据重放请求的头部标签,判断重放请求是否为主动IAST的重放请求,若是,则解析数据流并获取数据流的结构化查询语言;若否,则停止底层检测代码的执行程序。
主动IAST基于原始请求所构造的重放请求会在原始请求的基础上进行特定标记,即重放请求会在原始请求上增加一个特定的头部标签,并通过检测是否含有该特定的头部标签确定,重放请求是否为主动IAST的重放请求,若是,则代表数据流可能产生脏数据,若不是,则不再进行脏数据的检测,其中特定的头部标签可以写为reply:moresec-reply,而应用程序的正常请求并不会携带含有moresec的头部标签,此处仅做举例说明,实际应用中,工作人员可通过设置不同的唯一的头部标签进行判断。
解析数据流并获取数据流的结构化查询语言后,根据结构化查询语言的buffer数据结果,检测数据流的结构化查询语言的类型是否为增删改类型,若是,则构造异常结构化查询语言;若否,则停止底层检测代码的执行程序,其中,buffer数据结果为结构化查询语言传输至数据库时转化为buffer类型时得到。
结构化查询语言在传输给数据库时,会被转换成buffer类型,且整个buffer拥有特定的数据结果,并且可识别出结构化查询语言,从而判断该语句是否为增删改类型的结构化查询语言,若判断出为增删改类型的结构化查询语言,则代表数据流产生了脏数据,若非增删改类型的结构化语言,则未产生脏数据,无需进行脏数据拦截,从而可停止底层检测代码的执行。
当数据流的结构化查询语言为增删改类型时,构造异常结构化查询语言,包括以下步骤:获取增删改类型的结构化查询语言对应的数据流的所有位数数值,并修改一个或多个位数数值,得到异常结构化查询语言
以java为例,java.net.SocketOutputStream.write方法的第一个参数为一个二进制数据流b[],其中包含结构化查询语言的语句长度、语句的十进制ASCII码等,例如,b[]可以为b[46,0,0,3,0,1,7,78,83,69,82,84......]或者b[46,0,0,3,73,78,83,69,82,84…],其中73,78,83,69,82,84是对应的结构化查询语言的语句的十进制ASCII码,为insert,此时可通过修改结构化查询语言对应的位数的某个位数数值,得到异常结构化查询语言,使得结构化查询语言的语句被修改为错误的insert,例如修改b[7]=90。
将异常结构化查询语言发送给数据库;根据接收到的异常结构化查询语言,返回报错信息到应用程序,,并根据报错信息停止数据流写入数据库,其中得到报错信息,包括以下步骤:获取异常结构化查询语言的语法,并定义为错误语法;将错误语法加载至返回信息,得到报错信息。
现有的方案直接将检测到的含有脏数据的异常信息抛出,会使得数据库构造一个数据库连接异常,从而导致与数据库的连接关闭,影响了其他请求与数据库的通信,而通过构造异常结构化查询语言最终得到的报错信息,则会通过含有语法错误的报错信息,反馈应用程序,停止携带含有脏数据的数据流写入数据库,同时不影响其他请求与数据库的通信连接。
一种拦截脏数据的系统,包括请求单元、获取单元、编辑单元、检测单元、反馈单元和拦截单元;请求单元用于主动IAST在应用程序启动漏洞检测时,发起重放请求;获取单元用于获取应用程序与数据库通信的底层代码、应用程序的原始请求、数据流的结构化查询语言和异常结构化查询语言的语法;编辑单元用于编辑检测逻辑代码,并将检测逻辑代码编入底层代码;检测单元用于检测数据流的结构化查询语言的类型是否为增删改类型;反馈单元用于返回报错信息到应用程序;拦截单元用于停止含有脏数据的数据流写入数据库。
编辑单元还用于修改增删改类型的结构化查询语言对应的数据流的一个或多个位数数值,拦截脏数据的系统还包括处理器和存储介质,存储介质中存储系统执行上述任意一项的一种拦截脏数据的方法。
一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时,执行上述任意一项的拦截脏数据的方法。
计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线段的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线段、电线段、光缆、RF等等,或者上述的任意合适的组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块、模组或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元、模组或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。
所述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种拦截脏数据的方法,其特征在于,包括以下步骤:
启动应用程序的漏洞检测任务,同时对应用程序以及应用程序与数据库通信的底层代码进行加载;
获取所述底层代码并编辑检测逻辑代码,将所述检测逻辑代码编入底层代码中,得到底层检测代码;
获取应用程序的原始请求,并通过主动IAST发起重放请求,应用程序响应重放请求;
获取应用程序响应重放请求时的数据流,应用程序携带数据流与数据库进行网络通信,并触发所述底层检测代码启动执行程序;
根据所述底层检测代码,检测数据流的结构化查询语言的类型是否为增删改类型;
当数据流的结构化查询语言为增删改类型时,构造异常结构化查询语言,并发送给数据库;
根据接收到的异常结构化查询语言,返回报错信息到应用程序,并根据报错信息停止数据流写入数据库。
2.根据权利要求1所述的一种拦截脏数据的方法,获取应用程序的原始请求,并通过主动IAST发起重放请求,应用程序响应重放请求,包括以下步骤:
根据所述原始请求,主动IAST构造重放请求,并将重放请求发送至应用程序;
应用程序接收所述重放请求,并形成数据流。
3.根据权利要求2所述的一种拦截脏数据的方法,所述检测数据流的结构化查询语言的类型是否为增删改类型,包括以下步骤:
根据重放请求的头部标签,判断重放请求是否为主动IAST的重放请求,若是,则解析数据流并获取数据流的结构化查询语言;若否,则停止底层检测代码的执行程序;
根据所述结构化查询语言的buffer数据结果,判断结构化查询语言是否为增删改类型,若是,则构造异常结构化查询语言;若否,则停止底层检测代码的执行程序。
4.根据权利要求1所述的一种拦截脏数据的方法,构造异常结构化查询语言,包括以下步骤:
获取增删改类型的结构化查询语言对应的数据流的所有位数数值,并修改一个或多个位数数值,得到异常结构化查询语言。
5.根据权利要求3所述的一种拦截脏数据的方法,所述buffer数据结果为结构化查询语言传输至数据库时转化为buffer类型时得到。
6.根据权利要求1所述的一种拦截脏数据的方法,得到所述报错信息,包括以下步骤:
获取异常结构化查询语言的语法,并定义为错误语法;
将错误语法加载至返回信息,得到报错信息。
7.一种拦截脏数据的系统,其特征在于,包括请求单元、获取单元、编辑单元、检测单元、反馈单元和拦截单元;
所述请求单元用于主动IAST在应用程序启动漏洞检测时,发起重放请求;
所述获取单元用于获取应用程序与数据库通信的底层代码、应用程序的原始请求、数据流的结构化查询语言和异常结构化查询语言的语法;
所述编辑单元用于编辑检测逻辑代码,并将所述检测逻辑代码编入底层代码;
所述检测单元用于检测数据流的结构化查询语言的类型是否为增删改类型;
所述反馈单元用于返回报错信息到应用程序;
所述拦截单元用于停止含有脏数据的数据流写入数据库。
8.根据权利要求7所述的一种拦截脏数据的系统,所述编辑单元还用于修改增删改类型的结构化查询语言对应的数据流的一个或多个位数数值。
9.根据权利要求7所述的一种拦截脏数据的系统,还包括处理器和存储介质,其特征在于,所述存储介质中存储所述系统执行权利要求1-6中任意一项所述的一种拦截脏数据的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,执行权利要求1-6任意一项所述的拦截脏数据的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111162185.2A CN113885958B (zh) | 2021-09-30 | 2021-09-30 | 一种拦截脏数据的方法和系统 |
US17/643,903 US20230097449A1 (en) | 2021-09-30 | 2021-12-13 | Method and system for intercepting dirty data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111162185.2A CN113885958B (zh) | 2021-09-30 | 2021-09-30 | 一种拦截脏数据的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113885958A true CN113885958A (zh) | 2022-01-04 |
CN113885958B CN113885958B (zh) | 2023-10-31 |
Family
ID=79004979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111162185.2A Active CN113885958B (zh) | 2021-09-30 | 2021-09-30 | 一种拦截脏数据的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230097449A1 (zh) |
CN (1) | CN113885958B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117195204B (zh) * | 2023-11-01 | 2024-02-13 | 建信金融科技有限责任公司 | 异常数据检测方法、装置、电子设备及计算机可读介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109508245A (zh) * | 2017-09-15 | 2019-03-22 | 西安中兴新软件有限责任公司 | 一种实现异常分析的方法及终端 |
CN111177727A (zh) * | 2019-09-23 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 漏洞检测方法及装置 |
CN111209213A (zh) * | 2020-02-14 | 2020-05-29 | 深圳开源互联网安全技术有限公司 | 应用程序运行时的异常检测方法及系统、设备及存储介质 |
CN111241125A (zh) * | 2020-01-08 | 2020-06-05 | 成都嗨学洛子教育科技有限公司 | 一种记录操作日志的方法、装置、电子设备和存储介质 |
CN111552967A (zh) * | 2020-04-15 | 2020-08-18 | 杭州孝道科技有限公司 | 一种应用软件安全漏洞检测方法 |
CN111814143A (zh) * | 2020-07-10 | 2020-10-23 | 厦门靠谱云股份有限公司 | 一种动态监测sql注入的方法及系统 |
US20200380146A1 (en) * | 2019-05-28 | 2020-12-03 | International Business Machines Corporation | Enforcing sensitive data protection in security systems |
CN112528331A (zh) * | 2020-12-15 | 2021-03-19 | 杭州默安科技有限公司 | 隐私泄露风险的检测方法、设备及系统 |
CN112653670A (zh) * | 2020-12-08 | 2021-04-13 | 北京大米科技有限公司 | 业务逻辑漏洞检测方法、装置、存储介质以及终端 |
US20210149788A1 (en) * | 2019-11-18 | 2021-05-20 | Microsoft Technology Licensing, Llc | Software diagnosis using transparent decompilation |
CN113158197A (zh) * | 2021-05-26 | 2021-07-23 | 北京安普诺信息技术有限公司 | 一种基于主动iast的sql注入漏洞检测方法、系统 |
CN113342673A (zh) * | 2021-06-25 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 漏洞检测方法、设备及可读存储介质 |
-
2021
- 2021-09-30 CN CN202111162185.2A patent/CN113885958B/zh active Active
- 2021-12-13 US US17/643,903 patent/US20230097449A1/en active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109508245A (zh) * | 2017-09-15 | 2019-03-22 | 西安中兴新软件有限责任公司 | 一种实现异常分析的方法及终端 |
US20200380146A1 (en) * | 2019-05-28 | 2020-12-03 | International Business Machines Corporation | Enforcing sensitive data protection in security systems |
CN111177727A (zh) * | 2019-09-23 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 漏洞检测方法及装置 |
US20210149788A1 (en) * | 2019-11-18 | 2021-05-20 | Microsoft Technology Licensing, Llc | Software diagnosis using transparent decompilation |
CN111241125A (zh) * | 2020-01-08 | 2020-06-05 | 成都嗨学洛子教育科技有限公司 | 一种记录操作日志的方法、装置、电子设备和存储介质 |
CN111209213A (zh) * | 2020-02-14 | 2020-05-29 | 深圳开源互联网安全技术有限公司 | 应用程序运行时的异常检测方法及系统、设备及存储介质 |
CN111552967A (zh) * | 2020-04-15 | 2020-08-18 | 杭州孝道科技有限公司 | 一种应用软件安全漏洞检测方法 |
CN111814143A (zh) * | 2020-07-10 | 2020-10-23 | 厦门靠谱云股份有限公司 | 一种动态监测sql注入的方法及系统 |
CN112653670A (zh) * | 2020-12-08 | 2021-04-13 | 北京大米科技有限公司 | 业务逻辑漏洞检测方法、装置、存储介质以及终端 |
CN112528331A (zh) * | 2020-12-15 | 2021-03-19 | 杭州默安科技有限公司 | 隐私泄露风险的检测方法、设备及系统 |
CN113158197A (zh) * | 2021-05-26 | 2021-07-23 | 北京安普诺信息技术有限公司 | 一种基于主动iast的sql注入漏洞检测方法、系统 |
CN113342673A (zh) * | 2021-06-25 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 漏洞检测方法、设备及可读存储介质 |
Non-Patent Citations (6)
Title |
---|
HERMAWAN SETIAWAN; LYTIO ENGGAR ERLANGGA; IDO BASKORO: "Vulnerability Analysis Using The Interactive Application Security Testing (IAST) Approach For Government X Website Applications", 《2020 3RD INTERNATIONAL CONFERENCE ON INFORMATION AND COMMUNICATIONS TECHNOLOGY (ICOIACT)》, pages 471 - 475 * |
携程科技: "IAST安全测试如何防止数据污染", Retrieved from the Internet <URL:https://blog.csdn.net/ctrip_tech/article/details/10910804> * |
第59号: "SQL注入系列篇 | 报错注入", Retrieved from the Internet <URL:https://www.modb.pro/db/62904> * |
詹东阳: "面向可控云的虚拟机域外安全监测与管理技术研究", 《中国优秀博士学位论文全文数据库 (信息科技辑)》, no. 1, pages 137 - 2 * |
郭新海; 张小梅; 刘安; 丁攀: "云原生应用供应链安全风险防护方案探讨", 《信息通信技术》, vol. 15, no. 4, pages 39 - 43 * |
默安科技: "产品FAQ系列 | 默安雳鉴IAST的5个高频问题", Retrieved from the Internet <URL:http://www.hackdig.com/06/hack-393758.htm> * |
Also Published As
Publication number | Publication date |
---|---|
US20230097449A1 (en) | 2023-03-30 |
CN113885958B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10911447B2 (en) | Application error fingerprinting | |
US8145655B2 (en) | Generating information on database queries in source code into object code compiled from the source code | |
EP2386955A1 (en) | Detection of method calls to streamline diagnosis of custom code through dynamic instrumentation | |
US20090287729A1 (en) | Source code coverage testing | |
US20060294503A1 (en) | Code coverage analysis | |
CN105184166A (zh) | 基于内核的安卓程序实时行为分析方法及系统 | |
CN110209684A (zh) | 数据库ddl变更操作的跟踪方法、装置、系统及介质 | |
CN115268986A (zh) | 一种低代码业务脚本运行方法及引擎装置 | |
CN113885958A (zh) | 一种拦截脏数据的方法和系统 | |
CN112419057A (zh) | 智能合约的日志生成及保存方法、装置、设备和存储介质 | |
CN113778890B (zh) | 代码测试方法、装置、电子设备及存储介质 | |
EP3514680B1 (en) | Identification of changes in functional behavior and runtime behavior of a system during maintenance cycles | |
CN112445706A (zh) | 程序异常代码获取方法、装置、电子设备以及存储介质 | |
CN111752838A (zh) | 问题排查方法、装置、服务器及存储介质 | |
CN111258562A (zh) | Java代码质量检查方法、装置、设备和存储介质 | |
CN115757318A (zh) | 日志查询方法、装置、存储介质以及电子设备 | |
CN114860296A (zh) | 软件持续集成方法、装置和存储介质 | |
CN113421109A (zh) | 一种业务核对方法、装置、电子设备和存储介质 | |
CN112650613A (zh) | 一种错误信息处理方法、装置、电子设备及存储介质 | |
CN110858170B (zh) | 数据异常监控方法和装置 | |
CN112527265A (zh) | 一种日志自动注入的方法和计算机设备 | |
CN113342600A (zh) | 一种程序依赖插件的监测方法及装置 | |
CN117688564B (zh) | 一种用于智能合约事件日志的检测方法、装置和存储介质 | |
CN109308256A (zh) | 一种java程序动态分析方法、设备和存储介质 | |
US11934294B2 (en) | Generating and debugging bytecode for a rule |
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 | ||
CB02 | Change of applicant information |
Address after: 1st Floor, Building 3, No. 2616, Yuhangtang Road, Cangqian Street, Yuhang District, Hangzhou City, Zhejiang Province, 311100 Applicant after: HANGZHOU MOAN TECHNOLOGY CO.,LTD. Address before: 311100 10th floor, Block E, building 1, 1378 Wenyi West Road, Cangqian street, Yuhang District, Hangzhou City, Zhejiang Province Applicant before: HANGZHOU MOAN TECHNOLOGY CO.,LTD. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |