CN113569255A - 基于后台rpc接口的漏洞检测方法及装置 - Google Patents
基于后台rpc接口的漏洞检测方法及装置 Download PDFInfo
- Publication number
- CN113569255A CN113569255A CN202110861906.2A CN202110861906A CN113569255A CN 113569255 A CN113569255 A CN 113569255A CN 202110861906 A CN202110861906 A CN 202110861906A CN 113569255 A CN113569255 A CN 113569255A
- Authority
- CN
- China
- Prior art keywords
- data
- rpc interface
- test
- rpc
- attack
- 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.)
- Pending
Links
Images
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
-
- 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
-
- 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/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于大数据技术领域,本发明提供了一种基于后台RPC接口的漏洞检测方法及装置,所述基于后台RPC接口的漏洞检测方法包括:接收用户所发送的RPC接口配置数据;根据所述RPC接口配置数据采集待检测系统的数据;对采集到的数据进行payload攻击,并生成所述待检测系统的测试结果。本发明可以极大降低安全测试门槛,无需开发测试人员手动进行测试,获并可获取系统的安全指标情况和以及更为细粒度的漏洞描述,具体的漏洞详细信息和漏洞整改方案,获取的数据可以进行整体数据分析和数据挖掘,不需要再通过人工去进行安全漏洞测试的检验和分析。
Description
技术领域
本申请可用于大数据技术领域,具体涉及一种基于后台RPC接口的漏洞检测方法及装置。
背景技术
目前应用业务场景存在大量RPC服务化接口进行数据传递,而现有技术中使用广泛的测试工具均为针对http接口的自动化测试,缺乏对RPC接口的自动化测试方法,故现有技术中,仅是利用人工手动的测试方对RPC接口进行测试,具体地:现有方案基本上是纯依靠人力,浪费人力,且无法高效挖掘和预测安全漏洞,往往是只有当某构件已经暴露出明确的漏洞特征,才去人为采取手工构造、运行payload的方式进行漏洞排查,效率较为低下,且测试进度明显滞后。
综上所述,提出一种更为高效可靠的RPC安全测试方法,就显得尤为重要。
发明内容
本发明可用于大数据技术领域,本发明公开的基于后台RPC接口的漏洞检测方法及装置的应用领域不做限定。本发明可以极大降低安全测试门槛,无需开发测试人员手动进行测试,获并可获取系统的安全指标情况和以及更为细粒度的漏洞描述,具体的漏洞详细信息和漏洞整改方案,获取的数据可以进行整体数据分析和数据挖掘,不需要再通过人工去进行安全漏洞测试的检验和分析。可以智能的检测安全问题,相比目前常用的安全自动化测试的各种常规方案,不仅能获取到更多维度的安全测试数据,而且具备智能分析无需人工作业,去人力且高效的优势。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种基于后台RPC接口的漏洞检测方法,包括:
接收用户所发送的RPC接口配置数据;
根据所述RPC接口配置数据采集待检测系统的数据;
对采集到的数据进行payload攻击,并生成所述待检测系统的测试结果。
一实施例中,所述对采集到的数据进行payload攻击,并生成所述待检测系统的测试结果,包括:
建立所述待检测系统的安全攻击向量库;
根据所述安全攻击向量库对采集到的数据进行payload攻击,以生成攻击结果;
根据预先建立的测试专家模型对所述攻击结果进行处理,以生成所述测试结果。
一实施例中,建立所述测试专家模型包括以下步骤:
利用深度学习算法,根据所述待检测系统的历史数据以及对应的测试结果生成测试专家模型的初始模型;
对所述初始模型进行训练,直至达到预设的训练结束条件,以生成所述测试专家模型。
一实施例中,所述RPC接口配置数据包括:RPC接口类型、注册中心地址、接口全称、方法名以及入参模板。
第二方面,本发明提供一种基于后台RPC接口的漏洞检测装置,该装置包括:
数据接收模块,用于接收用户所发送的RPC接口配置数据;
数据采集模块,用于根据所述RPC接口配置数据采集待检测系统的数据;
测试结果生成模块,用于对采集到的数据进行payload攻击,并生成所述待检测系统的测试结果。
一实施例中,所述测试结果生成模块包括:
向量库建立单元,用于建立所述待检测系统的安全攻击向量库;
攻击结果生成单元,用于根据所述安全攻击向量库对采集到的数据进行payload攻击,以生成攻击结果;
测试结果生成单元,用于根据预先建立的测试专家模型对所述攻击结果进行处理,以生成所述测试结果。
一实施例中,基于后台RPC接口的漏洞检测装置还包括:测试专家模型建立模块,用于建立所述测试专家模型,所述测试专家模型建立模块包括:
初始模型建立单元,用于利用深度学习算法,根据所述待检测系统的历史数据以及对应的测试结果生成测试专家模型的初始模型;
测试专家模型建立单元,用于对所述初始模型进行训练,直至达到预设的训练结束条件,以生成所述测试专家模型。
一实施例中,所述RPC接口配置数据包括:RPC接口类型、注册中心地址、接口全称、方法名以及入参模板。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现基于后台RPC接口的漏洞检测方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现基于后台RPC接口的漏洞检测方法的步骤。
从上述描述可知,本发明实施例提供一种基于后台RPC接口的漏洞检测方法及装置,首先接收用户所发送的RPC接口配置数据;根据RPC接口配置数据采集待检测系统的数据;对采集到的数据进行payload攻击,并生成待检测系统的测试结果。具体地,本发明使用业务人员手动配置和字节码流量补充的方式进行RPC流量获取,然后采用主动扫描引擎和被动扫描引擎对应用进行智能攻击,并采用自建的诊断结果修正模型进行结果修正,有效降低误报率;使用jenkins持续集成模型进行定时化调度,并加入邮件推送模块,扫描完成之后,智能将扫描结果推送到测试人员/开发人员邮箱,极大降低安全测试门槛,在无需开发测试人员手动进行的情况下,获取系统的安全指标情况和以及更为细粒度的漏洞描述,具体的漏洞详细信息和漏洞整改方案,获取的数据可以进行整体数据分析和数据挖掘,不需要再通过人工去进行安全漏洞测试的检验和分析。通过程序可以智能的检测安全问题,相比目前常用的安全自动化测试的各种常规方案,不仅能获取到更多维度的安全测试数据,而且具备智能分析无需人工作业,去人力且高效的优势。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例中基于后台RPC接口的漏洞检测方法的流程示意图一;
图2为本发明的实施例中步骤300的流程示意图;
图3为本发明的实施例中基于后台RPC接口的漏洞检测方法的流程示意图二;
图4为本发明的实施例中步骤400的流程示意图;
图5为本发明的具体实施方式中基于后台RPC接口的漏洞检测系统的结构图;
图6为本发明的具体实施方式中RPC自动化配置定义装置的结构图;
图7为本发明的具体实施方式中RPC安全监控装置的结构图;
图8为本发明的具体实施方式中数据处理装置的结构图;
图9为本发明的具体实施方式中RPC安全分析装置的结构图;
图10为本发明的具体实施方式中基于后台RPC接口的漏洞检测方法的流程示意图;
图11为本发明的实施例中基于后台RPC接口的漏洞检测装置的方块图一;
图12为本发明的实施例中测试结果生成模块30的方块图;
图13为本发明的实施例中基于后台RPC接口的漏洞检测装置的方块图二;
图14为本发明的实施例中测试专家模型建立模块40的方块图;
图15为本发明的实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本发明的实施例提供一种基于后台RPC接口的漏洞检测方法的具体实施方式,参见图1,该方法具体包括如下内容:
步骤100:接收用户所发送的RPC接口配置数据;
具体地,获取用户配置定义信息,形成RPC重放脚本。其中包括接口名,输入参数,注册中心地址,方法名等,并获取相关数据信息。
步骤200:根据所述RPC接口配置数据采集待检测系统的数据;
可以理解的是,远程过程调用RPC(Remote Procedure Call),是一种访问远程服务器上的服务方式,本地只需要提供接口的定义,然后根据接口的名称,注册中心地址,方法,参数就可以类似于本地调用的方式,直接调用远程服务器上的服务。
步骤300:对采集到的数据进行payload攻击,并生成所述待检测系统的测试结果。
可以理解的是,payload攻击也称为攻击载荷,主要用于建立目标机与攻击机之间的稳定连接,并返回一个shell,也可以进行程序注入等。
payload的3种类型
(1)singles(独立载荷)
独立载荷,可直接植入目标系统并执行相应的程序,如:shell_bind_tcp。
(2)stagers(传输器载荷)
传输器载荷,用于目标机与攻击机之间建立稳定的网络连接,与stages(传输体载荷)配合攻击。通常该种载荷体积都非常小,可以在漏洞利用后,方便进行注入,这类载荷功能都非常相似,大致分为bind型和reverse型。
bind型:需要攻击机主动连接目标端口。
reverse型:目标机反向连接攻击机,需要提前设定好连接攻击机的ip地址和端口号。
(3)stages(传输体)
传输体载荷,在stagers建立好稳定的连接后,攻击机将stages传输给目标机,由stagers进行相应处理,将控制权转交给stages。如得到目标机的shell或者meterpreter控制程序运行。这样攻击机可以在本端输入相应命令控制目标机。
优选地,payload攻击的整个字节流一般包含两个部分:
(1)一个包含部分代码的字节序列,被送入目标计算机执行,辅助攻击机获得控制权,比如打开目标计算机上的端口或者建立一个通信信道。
(2)一个用于实现在目标主机上运行某个应用程序如cmd或者计算器(常用于poc–概念验证)等。
从上述描述可知,本发明实施例提供一种基于后台RPC接口的漏洞检测方法,首先接收用户所发送的RPC接口配置数据;根据RPC接口配置数据采集待检测系统的数据;对采集到的数据进行payload攻击,并生成待检测系统的测试结果。具体地,为解决现有手动测试方法的技术缺陷,本方法实施例提供了一种通用的RPC安全诊断方法,它不要求测试人员手动去测试每个接口,只需要在平台上配置应用RPC接口信息,注册中心地址以及接口名称,就可以全自动化进行RPC的安全监控,本技术引入结合业界先进的DevSecOps理念,基于DAST动态安全诊断技术,它是一种通过动态的根据建立的安全攻击向量库去扫描应用代码的标准测试技术,获取到的数据通过浏览器进行展示,同时使用安全诊断引擎对应用进行静态诊断,诊断的结果数据通过MYSQL进行持久化的存储,并使用专家智能系统进行安全漏洞分析进行安全漏洞通告和问题分析。实现安全问题的高命中率挖掘,对于开发人员来说,无需对扫描结果进行分析确认,大数据平台也同时对所有数据的存储。通过深度学习算法对安全数据和问题进行学习,形成漏洞分析预警模型,实现RPC接口潜在安全问题的挖掘,实现安全问题“低误报”以及发现可能存在的深层次潜在安全问题,从问题的源头进行安全问题的诊断,实现研发过程的早流程安全保障,有效提升安全研发效能。
一实施例中,参见图2,步骤300进一步包括:
步骤301:建立所述待检测系统的安全攻击向量库;
需要说明的是,步骤301中的攻击向量(Attack Vector)是一种路径或手段,黑客可以通过它访问计算机或网络服务器,以传递有效负载或恶意结果。攻击向量使黑客能够利用系统漏洞,包括人为因素。攻击向量包括病毒、电子邮件附件、网页、弹出窗口、即时消息、聊天室和欺骗。所有这些方法都涉及到软件(少数情况下涉及到硬件)和欺骗。在欺骗中,人类操作员通常被愚弄去移除或削弱系统的防御。但这里的安全攻击向量仅仅用于对系统进行测试,并不会对系统造成实质性威胁与伤害。
步骤302:根据所述安全攻击向量库对采集到的数据进行payload攻击,以生成攻击结果;
步骤303:根据预先建立的测试专家模型对所述攻击结果进行处理,以生成所述测试结果。
在步骤302以及步骤303中,以动态的方式,根据预先建立的安全攻击向量库去扫描应用代码的,获取到的数据通过浏览器进行展示,同时使用安全诊断引擎对应用进行静态诊断,诊断的结果数据通过MYSQL进行持久化的存储。
一实施例中,参见图3,基于后台RPC接口的漏洞检测方法还包括:
步骤400:建立所述测试专家模型
参见图4,步骤400进一步包括:
步骤401:利用深度学习算法,根据所述待检测系统的历史数据以及对应的测试结果生成测试专家模型的初始模型;
深度学习本质上是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,就具体研究内容而言,主要涉及三类方法:
(1)基于卷积运算的神经网络系统,即卷积神经网络(CNN)。
(2)基于多层神经元的自编码神经网络,包括自编码(Auto encoder)以及近年来受到广泛关注的稀疏编码两类(Sparse Coding)。
(3)以多层自编码神经网络的方式进行预训练,进而结合鉴别信息进一步优化神经网络权值的深度置信网络(DBN)。
通过多层处理,逐渐将初始的“低层”特征表示转化为“高层”特征表示后,用“简单模型”即可完成复杂的分类等学习任务。由此可将深度学习理解为进行“特征学习”或“表示学习”。
步骤402:对所述初始模型进行训练,直至达到预设的训练结束条件,以生成所述测试专家模型。
举例来讲,步骤302中的训练结束条件可以为训练次数或者训练结果的符合率预设值。
一实施例中,所述RPC接口配置数据包括:RPC接口类型、注册中心地址、接口全称、方法名以及入参模板。
为了进一步地说明本方案,在一种具体实施方式中,本发明还提供基于后台RPC接口的漏洞检测方法中的具体实施方式。
在本具体实施方式中,还提供一种基于后台RPC接口的漏洞检测系统,参见图5,该系统包括:RPC自动化配置定义装置1、RPC安全测试装置2、RPC安全分析装置3以及数据处理装置4。RPC自动化配置定义装置1与RPC安全测试装置2相连;RPC安全测试装置2与RPC安全分析装置3相连,RPC安全分析装置3与RPC自动化配置定义装置1相连,RPC安全分析装置3与数据处理装置4连接。
RPC自动化配置定义装置1:负责收集RPC接口配置数据。用于用户自定义是否支持是否RPC接口,注册中心地址,接口名称,方法名,参数模板等。该配置会持久化到数据库中。
RPC安全测试装置2:具体测试装置。获取用户配置定义信息,形成RPC重放脚本。其中包括接口名,输入参数,注册中心地址,方法名等,并获取相关数据信息。然后根据数据信息进行RPC接口重放,前面流程结束后根据配置信息进行监控准备,发起自动化安全监控。
RPC安全分析装置3:搭建诊断自优化模块,根据搭建好的专家修正模型,对智能安全装置2安全监控的结果进行再诊断及结果修正。
图6是RPC自动化配置定义装置1内部结构图,如图6所示,包括:数据配置单元11、数据展示单元12,其中:
数据配置单元11说明如下:测试人员将RPC接口的接口名,方法名,注册中心地址,输入参数,登记成功后,这些数据会传送给智能安全测试装置端,这些数据包括RPC接口名,方法名,注册中心地址,输入参数,以及接受诊断结果的邮箱等。
数据展示单元12说明如下:在RPC安全测试装置3)进行安全监控完成之后,数据展示单元12将进行RPC接口安全监控结果的展示,使用者通过浏览器端访问安全监控模块前端的方式来接入RPC自动化配置定义装置1。
RPC安全测试装置2主要内部结构图如图7所示,数据接收单元21、数据处理单元22、数据存储单元24、数据分析单元23,具体地:
数据接收单元21:接收BROWSER端的数据,进行序列化。采用TCP的网络通讯方式,按JSON格式进行数据的反序列化。
数据处理单元22:进行核心数据处理。
数据存储单元24:将数据存储持久化数据到mysql中。
数据分析单元23:根据各种数据分析模型,从数据中挖掘信息,提前预测问题。
数据接收单元21通过与browser端连接接收来自RPC接口的各个信息,然后根据从BROWSER端获取的给定的会话要素,包括RPC接口名,方法名,注册中心地址,以及输入参数模板配置信息。获取mysql的数据库连接池,将格式化的数据放到mysql中进行持久化存储。
数据处理装置4说明如图8,浏览器会通过与BROWSER端连接,对RPC接口信息数据进行收集,结合新一代自动化重放技术进行进一步的接口重放。其进一步包括:RPC自动重放装置41、补充流量获取装置42以及RPC安全监控装置43。
RPC自动重放装置41原理说明如下:首先基于给定的RPC接口,然后根据数据获取模块获取数据,通过代码逻辑去进行RPC接口自动的逻辑重放,并使用断言去判断RPC接口是否回放成功,一旦回放成功,则重放逻辑模块功能结束。
补充流量获取功能42说明如下:由于应用分支由于和业务数据相关,比如某个接口需要填写手机号才可以进去单独分支,但业务人员配置可能会出现漏配置,因此结合java字节码技术,书写自动化挂接到web应用服务器的agent,自动化捕获测试环境请求流量对业务人员配置的RPC数据进行流量补充。
RPC安全监控装置43说明如下:利用引入的安全向量动态安全扫描引擎,结合搭建的应用特色的威胁矢量库,对流量补充获取模块和业务人员配置的数据进行监控。通过发起攻击向量payload,对应用的返回进行监控,同时RPC安全监控功能涵盖的攻击向量较为全面,涵盖了业界owasp top10所有漏洞,并包含了sql注入中包涵基于时间的盲注,基于布尔的盲注等,命令注入,CLRF注入,LDAP协议注入攻击,敏感信息模型等攻击威胁库。通过这些威胁库,可以进行RPC接口安全漏洞的初步诊断。
数据分析单元23说明如下:数据处理模块完成之后,需要有数据分析单元进行处理,判断RPC是否含有漏洞,搭建了一些常用的数据分析模型,比如匹配请求返回结果和上送报文的攻击向量,一旦匹配则存在漏洞。并对应用返回结果于威胁矢量匹配逻辑来监控,例如请求中注入<script>,检测返回结果中是否含有<script>,如果含有,则说明应用存在跨站脚本攻击漏洞。并且结合架构进行了白名单模块的搭建,白名单分为系统级白名单和应用级白名单,系统支持把一些由于引入公共框架导致的安全漏洞加入白名单。
RPC安全分析装置3搭建诊断自优化模块,参见图9本方案的RPC安全分析装置3的内部结构图。其进一步包括:修正模型分析装置31、修正模型展示装置32、深度学习分析装置33。
修正模型分析装置31:对收集的安全数据进行修正,从智能安全测试装置端获取RPC诊断结果数据,搭建有效问题过滤模型,此模型为简单模型,利用该模型对该诊断结果进行二次诊断,比如诊断结果中核心攻击payload param参数为空,那么默认该次诊断为误报;诊断结果为存在sql注入漏洞,经过判断发现攻击的一对payload为一对为相反布尔值的判断,但请求返回为两种不同的报错,都是与攻击矢量无关的报错,则该诊断为误诊断。经过优化模型筛选,应该不予在BROWSER端进行展示。主要使用的模型如表1所示:
表1
修正模型展示装置32:对系统的各类安全数据进行收集。可以收集多维度的数据。这样形成了一个完整的安全视图,参见表2。
表2
深度学习分析装置33:通过长时间的安全监控和数据收集,安全问题分析。我们可以获得很多具有价值的数据。针对获取到的海量RPC接口,方法,param信息以及对应的漏洞信息,这些信息可以帮助我们形成智能预测分析模型。这里我们通过深度神经网络算法对数据进行挖掘和分析。通过挑选特征值的方法。首先将所有收集到的安全指标数据格式化作为特征值参数。将所有问题的结果进行分类。分为越权、敏感信息、不安全的加密算法等作为结果集,将海量的数据(去杂后,因为大多数情况下系统是正常的,去除长时间的正常数据才能使模型获得更好的特征学习)利用python的深度学习算法进行分析。可以得到一个安全问题,预测分析模型。通过深度学习算法,模型可以运用到分析海量的安全数据中,当下次在对特定应用进行安全监控的过程中,就通过训练好的模型算出对应的问题,给出智能的指导意见。可以很好的守护RPC接口安全,且在人力和成本上大大降低投入。
参见图10,基于上述的基于后台RPC接口的漏洞检测系统,本具体实施方式所提供的基于后台RPC接口的漏洞检测方法包括以下步骤:
步骤S101:测试环境相关信息配置,启动浏览器访问。
步骤S102:RPC安全监控装置开始启动。
步骤S103:RPC自动化配置装置3开始进行任务配置,涵盖RPC接口的接口名,方法,注册中心地址,参数等。
步骤S104:通过监控处理逻辑模型,形成待监控RPC列表清单。
步骤S105:RPC安全检测装置3开始执行任务,主要包括RPC流量自动获取,RPC流量自动回放,字节码技术流量补充,以及核心监控引擎构造payload进行攻击。
步骤S106:使用持续集成进行自动化调度。
步骤S107:RPC安全分析装置4开始执行模型优化任务,并将执行结果在智能安全监控装置中进行展示。
从上述描述可知,为了解决现有技术中的问题,本发明具体实施方式提供一种基于后台RPC接口的漏洞检测方法,利用自动化技术、字节码流量补充技术、安全攻击向量代理扫描引擎实现了RPC接口安全性监控的基本框架:包括了动态安全以及基于流量的交互式安全,涵盖了owasp top10常用漏洞例如sql注入、跨站脚本注入、服务端请求伪造等方面的测试,还包括更为细粒度的敏感信息泄露以及漏洞整改建议。
基于同一发明构思,本申请实施例还提供了一种基于后台RPC接口的漏洞检测装置,可以用于实现上述实施例所描述的方法,如下面的实施例。由于基于后台RPC接口的漏洞检测装置解决问题的原理与基于后台RPC接口的漏洞检测方法相似,因此基于后台RPC接口的漏洞检测装置的实施可以参见基于后台RPC接口的漏洞检测方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本发明的实施例提供一种能够实现基于后台RPC接口的漏洞检测方法的基于后台RPC接口的漏洞检测装置的具体实施方式,参见图11,基于后台RPC接口的漏洞检测装置具体包括如下内容:
数据接收模块10,用于接收用户所发送的RPC接口配置数据;
数据采集模块20,用于根据所述RPC接口配置数据采集待检测系统的数据;
测试结果生成模块30,用于对采集到的数据进行payload攻击,并生成所述待检测系统的测试结果。
一实施例中,参见图12,所述测试结果生成模块30包括:
向量库建立单元301,用于建立所述待检测系统的安全攻击向量库;
攻击结果生成单元302,用于根据所述安全攻击向量库对采集到的数据进行payload攻击,以生成攻击结果;
测试结果生成单元303,用于根据预先建立的测试专家模型对所述攻击结果进行处理,以生成所述测试结果。
一实施例中,参见图13,基于后台RPC接口的漏洞检测装置还包括:测试专家模型建立模块40,用于建立所述测试专家模型,参见图14,所述测试专家模型建立模块40包括:
初始模型建立单元401,用于利用深度学习算法,根据所述待检测系统的历史数据以及对应的测试结果生成测试专家模型的初始模型;
测试专家模型建立单元402,用于对所述初始模型进行训练,直至达到预设的训练结束条件,以生成所述测试专家模型。
一实施例中,所述RPC接口配置数据包括:RPC接口类型、注册中心地址、接口全称、方法名以及入参模板。
从上述描述可知,本发明实施例提供一种基于后台RPC接口的漏洞检测装置,首先接收用户所发送的RPC接口配置数据;根据RPC接口配置数据采集待检测系统的数据;对采集到的数据进行payload攻击,并生成待检测系统的测试结果。具体地,本发明使用业务人员手动配置和字节码流量补充的方式进行RPC流量获取,然后采用主动扫描引擎和被动扫描引擎对应用进行智能攻击,并采用自建的诊断结果修正模型进行结果修正,有效降低误报率;使用jenkins持续集成模型进行定时化调度,并加入邮件推送模块,扫描完成之后,智能将扫描结果推送到测试人员/开发人员邮箱,极大降低安全测试门槛。
本申请的实施例还提供能够实现上述实施例中的基于后台RPC接口的漏洞检测方法中全部步骤的一种电子设备的具体实施方式,参见图15,电子设备具体包括如下内容:
处理器(processor)1201、存储器(memory)1202、通信接口(CommunicationsInterface)1203和总线1204;
其中,处理器1201、存储器1202、通信接口1203通过总线1204完成相互间的通信;通信接口1203用于实现服务器端设备以及客户端设备等相关设备之间的信息传输;
处理器1201用于调用存储器1202中的计算机程序,处理器执行计算机程序时实现上述实施例中的基于后台RPC接口的漏洞检测方法中的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:接收用户所发送的RPC接口配置数据;
步骤200:根据所述RPC接口配置数据采集待检测系统的数据;
步骤300:对采集到的数据进行payload攻击,并生成所述待检测系统的测试结果。
本申请的实施例还提供能够实现上述实施例中的基于后台RPC接口的漏洞检测方法中全部步骤的一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的基于后台RPC接口的漏洞检测方法的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:接收用户所发送的RPC接口配置数据;
步骤200:根据所述RPC接口配置数据采集待检测系统的数据;
步骤300:对采集到的数据进行payload攻击,并生成所述待检测系统的测试结果。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (10)
1.一种基于后台RPC接口的漏洞检测方法,其特征在于,包括:
接收用户所发送的RPC接口配置数据;
根据所述RPC接口配置数据采集待检测系统的数据;
对采集到的数据进行payload攻击,并生成所述待检测系统的测试结果。
2.如权利要求1所述的基于后台RPC接口的漏洞检测方法,其特征在于,所述对采集到的数据进行payload攻击,并生成所述待检测系统的测试结果,包括:
建立所述待检测系统的安全攻击向量库;
根据所述安全攻击向量库对采集到的数据进行payload攻击,以生成攻击结果;
根据预先建立的测试专家模型对所述攻击结果进行处理,以生成所述测试结果。
3.如权利要求2所述的基于后台RPC接口的漏洞检测方法,其特征在于,建立所述测试专家模型包括以下步骤:
利用深度学习算法,根据所述待检测系统的历史数据以及对应的测试结果生成测试专家模型的初始模型;
对所述初始模型进行训练,直至达到预设的训练结束条件,以生成所述测试专家模型。
4.如权利要求1所述的基于后台RPC接口的漏洞检测方法,其特征在于,所述RPC接口配置数据包括:RPC接口类型、注册中心地址、接口全称、方法名以及入参模板。
5.一种基于后台RPC接口的漏洞检测装置,其特征在于,包括:
数据接收模块,用于接收用户所发送的RPC接口配置数据;
数据采集模块,用于根据所述RPC接口配置数据采集待检测系统的数据;
测试结果生成模块,用于对采集到的数据进行payload攻击,并生成所述待检测系统的测试结果。
6.如权利要求5所述的基于后台RPC接口的漏洞检测装置,其特征在于,所述测试结果生成模块包括:
向量库建立单元,用于建立所述待检测系统的安全攻击向量库;
攻击结果生成单元,用于根据所述安全攻击向量库对采集到的数据进行payload攻击,以生成攻击结果;
测试结果生成单元,用于根据预先建立的测试专家模型对所述攻击结果进行处理,以生成所述测试结果。
7.如权利要求6所述的基于后台RPC接口的漏洞检测装置,其特征在于,还包括:测试专家模型建立模块,用于建立所述测试专家模型,所述测试专家模型建立模块包括:
初始模型建立单元,用于利用深度学习算法,根据所述待检测系统的历史数据以及对应的测试结果生成测试专家模型的初始模型;
测试专家模型建立单元,用于对所述初始模型进行训练,直至达到预设的训练结束条件,以生成所述测试专家模型。
8.如权利要求5所述的基于后台RPC接口的漏洞检测装置,其特征在于,所述RPC接口配置数据包括:RPC接口类型、注册中心地址、接口全称、方法名以及入参模板。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述基于后台RPC接口的漏洞检测方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述基于后台RPC接口的漏洞检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110861906.2A CN113569255A (zh) | 2021-07-29 | 2021-07-29 | 基于后台rpc接口的漏洞检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110861906.2A CN113569255A (zh) | 2021-07-29 | 2021-07-29 | 基于后台rpc接口的漏洞检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113569255A true CN113569255A (zh) | 2021-10-29 |
Family
ID=78168778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110861906.2A Pending CN113569255A (zh) | 2021-07-29 | 2021-07-29 | 基于后台rpc接口的漏洞检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569255A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242461A (zh) * | 2022-06-30 | 2022-10-25 | 中国人民解放军63891部队 | 一种机器人操作系统ros安全测试系统及方法 |
-
2021
- 2021-07-29 CN CN202110861906.2A patent/CN113569255A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242461A (zh) * | 2022-06-30 | 2022-10-25 | 中国人民解放军63891部队 | 一种机器人操作系统ros安全测试系统及方法 |
CN115242461B (zh) * | 2022-06-30 | 2023-08-25 | 中国人民解放军63891部队 | 一种机器人操作系统ros安全测试系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8006136B2 (en) | Automatic grammar based fault detection and isolation | |
US8949996B2 (en) | Transforming unit tests for security testing | |
CN102468985B (zh) | 针对网络安全设备进行渗透测试的方法和系统 | |
CN112906010B (zh) | 一种自动化攻击测试方法及基于此的自动化安全测试方法 | |
US9703690B2 (en) | Determining test case efficiency | |
CN109063486B (zh) | 一种基于plc设备指纹识别的安全渗透测试方法与系统 | |
CN112906011B (zh) | 漏洞发现方法、测试方法、安全测试方法及相关装置、平台 | |
CN105302707B (zh) | 应用程序的漏洞检测方法和装置 | |
CN113158197B (zh) | 一种基于主动iast的sql注入漏洞检测方法、系统 | |
CN115270131A (zh) | 一种Java反序列化漏洞检测方法及系统 | |
CN113569255A (zh) | 基于后台rpc接口的漏洞检测方法及装置 | |
CN111949992B (zh) | Web应用程序的自动化安全监测方法及系统 | |
Daubner et al. | Towards verifiable evidence generation in forensic-ready systems | |
CN116383833A (zh) | 软件程序代码的测试方法及其装置、电子设备、存储介质 | |
CN116467110B (zh) | 一种平板电脑的损坏检测方法及系统 | |
CN109960937B (zh) | 一种漏洞演练环境的构建方法及系统 | |
CN115277229A (zh) | 一种网络安全态势感知方法及系统 | |
CN103220179A (zh) | 基于统计模型检验的不稳定网络鲁棒性评测方法 | |
CN113238971A (zh) | 基于状态机的自动化渗透测试系统及方法 | |
CN112433947A (zh) | 一种基于网络数据的混沌工程方法及系统 | |
CN113836539A (zh) | 基于精准测试的电力工控系统漏洞全流程处置系统及方法 | |
CN108845932A (zh) | 一种网络库的单元测试方法、装置、存储介质及终端 | |
Deptula | Automation of cyber penetration testing using the detect, identify, predict, react intelligence automation model | |
CN111800296B (zh) | 实时系统网络数据捕获与分析方法、系统、设备及存储介质 | |
Brock et al. | Dynamic, Real-Time Analysis, Patching and Protection of Vehicle System Binaries |
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 |