CN116069675A - 微服务架构应用的污点分析方法及装置 - Google Patents
微服务架构应用的污点分析方法及装置 Download PDFInfo
- Publication number
- CN116069675A CN116069675A CN202310361440.9A CN202310361440A CN116069675A CN 116069675 A CN116069675 A CN 116069675A CN 202310361440 A CN202310361440 A CN 202310361440A CN 116069675 A CN116069675 A CN 116069675A
- Authority
- CN
- China
- Prior art keywords
- service
- function
- micro
- node
- taint
- 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
- 238000004458 analytical method Methods 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 claims abstract description 50
- 230000003068 static effect Effects 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 355
- 238000004590 computer program Methods 0.000 claims description 20
- 238000010586 diagram Methods 0.000 description 15
- 230000015654 memory Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 238000012163 sequencing technique Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012905 input function Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种微服务架构应用的污点分析方法及装置,涉及信息安全技术领域,具体涉及污点分析技术领域。为解决微服务污点分析覆盖率低、易出现路径遗漏的技术问题,该方法包括:响应于污点分析指令,对待分析应用所采用的微服务框架进行扫描,以获取各微服务节点的服务提供函数和服务消费函数;对待分析应用的源代码进行静态扫描,以确定各微服务节点的污点传播路径;根据各微服务节点的服务提供函数和服务消费函数将各微服务节点的污点传播路径串联,以生成全链路污点传播路径;基于全链路污点传播路径确定污点分析结果。通过本发明提供的方法,实现微服务架构下跨应用、跨进程的节点间的静态污点分析,分析覆盖率高。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及污点分析技术领域,更具体地涉及一种微服务架构应用的污点分析方法、装置、设备、存储介质和程序产品。
背景技术
随着云计算的推广及微服务架构应用的逐步增多,应用微服务化已成为不可阻挡的趋势。相关技术中对于微服务污点分析大多为动态污点分析,需应用实际运行后跟踪应用代码中污点传播情况,检测效果大大依赖于程序运行情况,若代码分支执行不到位,则可能存在污点跟踪路径遗漏的情况。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
鉴于上述问题,本发明提供了一种适用于微服务架构的微服务架构应用的污点分析方法、装置、设备、存储介质和程序产品。
根据本发明的第一个方面,提供了一种微服务架构应用的污点分析方法,所述方法包括:
响应于污点分析指令,对待分析应用所采用的微服务框架进行扫描,以获取各微服务节点的服务提供函数和服务消费函数;
对所述待分析应用的源代码进行静态扫描,以确定各微服务节点的污点传播路径;
根据所述各微服务节点的服务提供函数和所述服务消费函数将所述各微服务节点的污点传播路径串联,以生成全链路污点传播路径;以及
基于所述全链路污点传播路径确定污点分析结果。
根据本发明的实施例,所述确定各微服务节点的污点传播路径包括:
对所述待分析应用的源代码进行扫描,以确定单节点污点源函数集和单节点污点目标函数集;以及
根据所述单节点污点源函数集和所述单节点污点目标函数集对各微服务节点进行单节点污点分析,以确定各微服务节点的污点传播路径。
根据本发明的实施例,所述根据所述单节点污点源函数集和所述单节点污点目标函数集对各微服务节点进行单节点污点分析,以确定各微服务节点的污点传播路径包括:
扫描应用中的第一函数调用关系,以生成第一函数调用拓扑图;
根据所述单节点污点目标函数集和所述第一函数调用拓扑图确定第二函数调用拓扑图;
对所述单节点污点目标函数集中的每一函数进行分析,以确定所述每一函数入参与函数返回值的对应关系;
根据所述每一函数入参与函数返回值的对应关系和所述第二函数调用拓扑图确定各微服务节点的污点传播路径。
根据本发明的实施例,所述根据所述单节点污点目标函数集和所述第一函数调用拓扑图确定第二函数调用拓扑图包括:
以所述单节点污点目标函数集中的任一函数为源点,倒序排列所述第一函数调用关系,以确定第二函数调用关系;以及
根据所述第二函数调用关系生成第二函数调用拓扑图。
根据本发明的实施例,对所述待分析应用的源代码进行扫描,以确定单节点污点源函数集包括:
根据当前应用节点的用户输入入口函数确定第一污点源函数集;
根据当前应用节点的服务提供函数确定第二污点源函数集;
根据所述第一污点源函数集和所述第二污点源函数集确定单节点污点源函数集。
根据本发明的实施例,对所述待分析应用的源代码进行扫描,以确定单节点污点目标函数集包括:
扫描当前应用节点的高风险函数以确定第一污点目标函数集;
根据服务调用接口扫描当前应用节点的下一节点,以确定第二污点目标函数集;以及
根据所述第一污点目标函数集和所述第二污点目标函数集确定单节点污点目标函数集。
根据本发明的实施例,所述对待分析应用所采用的微服务框架进行扫描,以获取各微服务节点的服务提供函数和服务消费函数包括:
扫描所述待分析应用的组件包;
根据所述组件包识别微服务框架类型和框架版本信息;
根据所述微服务框架类型和所述框架版本信息识别各微服务节点的服务调用接口;以及
根据所述各微服务节点的服务调用接口确定各微服务节点的服务提供函数和服务消费函数。
根据本发明的实施例,所述基于所述全链路污点传播路径确定污点分析结果包括:
遍历污点源函数集中的任一污点源函数;
当确定所述任一污点源函数与污点目标函数集中函数存在调用通路后,发出漏洞预警信息。
本发明的第二方面提供了一种微服务架构应用的污点分析装置,所述装置包括:
第一扫描模块,用于响应于污点分析指令,对待分析应用所采用的微服务框架进行扫描,以获取各微服务节点的服务提供函数和服务消费函数;
第二扫描模块,用于对所述待分析应用的源代码进行静态扫描,以确定各微服务节点的污点传播路径;
全链路污点分析模块,用于根据所述各微服务节点的服务提供函数和所述服务消费函数将所述各微服务节点的污点传播路径串联,以生成全链路污点传播路径;以及
确定模块,用于基于所述全链路污点传播路径确定污点分析结果。
根据本发明的实施例,所述第二扫描模块包括第一扫描子模块和单节点污点分析子模块。
第一扫描子模块,用于对所述待分析应用的源代码进行扫描,以确定单节点污点源函数集和单节点污点目标函数集;以及
单节点污点分析子模块,根据所述单节点污点源函数集和所述单节点污点目标函数集对各微服务节点进行单节点污点分析,以确定各微服务节点的污点传播路径。
根据本发明的实施例,所述单节点污点分析子模块包括:第一扫描单元、第一确定单元、第二确定单元和第三确定单元。
第一扫描单元,用于扫描应用中的第一函数调用关系,以生成第一函数调用拓扑图;
第一确定单元,用于根据所述单节点污点目标函数集和所述第一函数调用拓扑图确定第二函数调用拓扑图;
第二确定单元,用于对所述单节点污点目标函数集中的每一函数进行分析,以确定所述每一函数入参与函数返回值的对应关系;
第三确定单元,用于根据所述每一函数入参与函数返回值的对应关系和所述第二函数调用拓扑图确定各微服务节点的污点传播路径。
根据本发明的实施例,所述第一确定单元包括:第一确定子单元和生成子单元。
第一确定子单元,用于以所述单节点污点目标函数集中的任一函数为源点,倒序排列所述第一函数调用关系,以确定第二函数调用关系;以及
生成子单元,用于根据所述第二函数调用关系生成第二函数调用拓扑图。
根据本发明的实施例,第一扫描模块包括第二扫描子模块、第一识别子模块、第二识别子模块和第四确定子模块。
第二扫描子模块,用于扫描所述待分析应用的组件包;
第一识别子模块,用于根据所述组件包识别微服务框架类型和框架版本信息,
第二识别子模块,用于根据所述微服务框架类型和所述框架版本信息识别各微服务节点的服务调用接口;以及
第四确定子模块,用于根据所述各微服务节点的服务调用接口确定各微服务节点的服务提供函数和服务消费函数。
根据本发明的实施例,第一扫描子模块包括第二扫描单元和第三扫描单元。
根据本发明的实施例,第二扫描单元包括第二确定子单元、第三确定子单元和第四确定子单元。
第二确定子单元,用于根据当前应用节点的用户输入入口函数确定第一污点源函数集;
第三确定子单元,用于根据当前应用节点的服务提供函数确定第二污点源函数集;
第四确定子单元,用于根据所述第一污点源函数集和所述第二污点源函数集确定单节点污点源函数集。
根据本发明的实施例,第三扫描单元包括第五确定子单元、第六确定子单元和第七确定子单元。
第五确定子单元,用于扫描当前应用节点的高风险函数以确定第一污点目标函数集;
第六确定子单元,用于根据服务调用接口扫描当前应用节点的下一节点,以确定第二污点目标函数集;以及
第七确定子单元,用于根据所述第一污点目标函数集和所述第二污点目标函数集确定单节点污点目标函数集。
本发明的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述微服务架构应用的污点分析方法。
本发明的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述微服务架构应用的污点分析方法。
本发明的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述微服务架构应用的污点分析方法。
通过本发明的实施例提供的一种微服务架构应用的污点分析方法,通过对待分析应用所采用的微服务框架进行扫描,确定各微服务节点的服务提供函数和服务消费函数,对所述待分析应用的源代码进行静态扫描,对所有单节点污点传播路径进行联合分析,根据各微服务节点的服务提供函数和服务消费函数将各路径串联生成污点传播路径生成全链路污点传播路径,相较于相关污点分析技术,本方法在进行污点分析过程中,无需应用实际编译运行,即可实现代码中的漏洞发现,解决了微服务架构下,跨应用、跨进程的节点间无法有效实现静态污点分析的技术问题,分析覆盖率高。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本发明实施例的微服务架构应用的污点分析方法、装置、设备、存储介质和程序产品的应用场景图;
图2示意性示出了根据本发明实施例提供的一种微服务架构应用的污点分析方法的流程图;
图3示意性示出了根据本发明实施例提供的全链路污点传播路径的确定过程的示意图;
图4示意性示出了根据本发明实施例提供的各微服务节点的服务提供函数和服务消费函数的确定方法的流程图;
图5示意性示出了根据本发明实施例提供的单节点静态污点分析方法的流程图之一;
图6示意性示出了根据本发明实施例提供的单节点污点源函数集的确定方法的流程图;
图7示意性示出了根据本发明实施例提供的单节点污点目标函数集的确定方法的流程图;
图8示意性示出了根据本发明实施例提供的单节点静态污点分析方法的流程图之二;
图9示意性示出了根据本发明实施例提供的第一函数调用拓扑图的示意图;
图10示意性示出了根据本发明实施例提供的第二函数调用拓扑图的示意图;
图11示意性示出了根据本发明实施例的一种微服务架构应用的污点分析装置的结构框图;以及
图12示意性示出了根据本发明实施例的适于实现微服务架构应用的污点分析方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本发明的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本发明实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
传统的静态污点分析方法一般仅适用于单应用污点跟踪,无法完成跨应用节点的污点分析。但随着云计算的推广及微服务架构应用的逐步增多,应用微服务化已成为不可阻挡的趋势。目前现有的微服务污点分析大多为动态污点分析,需应用实际运行后跟踪应用代码中污点传播情况,检测效果大大依赖于程序运行情况,若代码分支执行不到位,则可能存在污点跟踪路径遗漏的情况。
基于上述技术问题,本发明的实施例提供了一种微服务架构应用的污点分析方法,所述方法包括:响应于污点分析指令,对待分析应用所采用的微服务框架进行扫描,以获取各微服务节点的服务提供函数和服务消费函数;对所述待分析应用的源代码进行静态扫描,以确定各微服务节点的污点传播路径;根据所述各微服务节点的服务提供函数和所述服务消费函数将所述各微服务节点的污点传播路径串联,以生成全链路污点传播路径;以及基于所述全链路污点传播路径确定污点分析结果。
图1示意性示出了根据本发明实施例的微服务架构应用的污点分析方法、装置、设备、存储介质和程序产品的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括污点分析场景。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是污点分析服务器,该服务器中执行本发明实施例提供的微服务架构应用的污点分析方法,接收由用户通过终端设备在101、102、103发出的污点分析指令之后,对待分析应用所采用的微服务框架进行扫描确定各微服务节点的服务提供函数和服务消费函数,通过单节点污点源函数集和单节点污点目标函数集确定各微服务节点的污点传播路径,进而根据各微服务节点的服务提供函数和服务消费函数将所述各微服务节点的污点传播路径串联,得到全链路污点传播路径。
需要说明的是,本发明实施例所提供的微服务架构应用的污点分析方法一般可以由服务器105执行。相应地,本发明实施例所提供的微服务架构应用的污点分析装置一般可以设置于服务器105中。本发明实施例所提供的微服务架构应用的污点分析方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本发明实施例所提供的微服务架构应用的污点分析装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
需要说明的是,本发明实施例确定的微服务架构应用的污点分析方法和装置可用于信息安全技术领域,也可用于金融技术领域,还可用于除金融领域之外的任意领域,本发明实施例确定的微服务架构应用的污点分析方法和装置的应用领域不做限定。
以下将基于图1描述的应用场景,通过图2~图10本发明实施例的微服务架构应用的污点分析方法进行详细描述。
图2示意性示出了根据本发明实施例提供的一种微服务架构应用的污点分析方法的流程图。图3示意性示出了根据本发明实施例提供的全链路污点传播路径的确定方法的流程图。如图2所示,该实施例的微服务架构应用的污点分析方法包括操作S210~操作S240,该方法可以由服务器或其他计算设备执行。
相关技术中静态污点分析仅针对单进程应用,无法使用微服务结构下跨应用、跨进程节点间的污点分析。而微服务动态污点分析由于代码分支执行不到位,可能存在的覆盖率低,易出现路径遗漏的情况与相关技术相比,本发明实施例提供的污点分析方法应用实际编译运行,即可实现微服务应用的全链路污点分析,覆盖率全,易用性强,通用性高。
在操作S210,响应于污点分析指令,对待分析应用所采用的微服务框架进行扫描,以获取各微服务节点的服务提供函数和服务消费函数。
一个示例中,在微服务框架下,一个应用可能由多个微服务节点共同对外提供服务,各微服务节点之间存在调用和被调用的关系,为了实现微服务应用的全链路污点分析,在接收到污点分析指令之后,首先对应用的服务调用关系进行分析,具体的,对待分析应用采用的微服务框架进行识别,基于识别结果进一步扫描出应用代码中微服务生产者、消费者的业务接口函数,此类业务接口一般采取文件配置或注解配置的方式定义,根据采用的框架不同,定义方式会稍有变化。在识别出用户使用的微服务框架后,依据框架特点,进一步识别出当前应用节点作为生产者提供的业务服务接口与作为消费者调用的业务处理接口,即服务提供函数和服务消费函数。具体过程可参见图4所示出的操作S211~操作S214。
在操作S220,对所述待分析应用的源代码进行静态扫描,以确定各微服务节点的污点传播路径。
一个示例中,对所述待分析应用的源代码进行静态扫描,查找收集单节点的污点源函数集和污点目标函数集,以污点分析辅助查找应用代码漏洞为例,在代码漏洞查找过程中,需寻找用户可控输入函数的参数是否会传入高风险函数,影响高风险函数执行逻辑,其中用户可控输入函数即为污点源函数,高风险函数即为污点目标函数。具体扫描过程可参见图5~图9所示出的操作。
在操作S230,根据所述各微服务节点的服务提供函数和所述服务消费函数将所述各微服务节点的污点传播路径串联,以生成全链路污点传播路径。
在操作S240,基于所述全链路污点传播路径确定污点分析结果。
根据本发明的实施例,遍历污点源函数集中的任一污点源函数;当确定所述任一污点源函数与污点目标函数集中函数存在调用通路后,发出漏洞预警信息。
一个示例中,在形成单节点污点传播路径后,继续整合微服务所有应用节点的传播路径,通过各节点微服务消费者接口与微服务生产者接口,链接形成全链路污点传播路径,如图3所示,请求经过网关,访问服务1(Service1)或服务2(Service2)节点对外提供服务的接口,服务1节点类似传统应用,对外服务提供接口与高危函数之间存在调用关系,仅通过分析服务1单节点污点传播路径即可发现漏洞。而服务2节点与服务3节点之间存在微服务接口调用关系:用户首先访问服务2节点对外服务提供接口,由该接口调用微服务消费者接口,然后服务2节点的消费者接口再调用服务3节点的微服务生产者接口,服务3节点的微服务生产者接口调用了高危函数,产生漏洞。通过搜集各节点的微服务生产者接口,并依赖微服务生产者接口与微服务消费接口是同名函数的关系,识别出各节点的微服务消费者接口,然后通过生产者接口和消费者接口串联各节点之间的调用关系,形成全链路污点跟踪链。
在操作S240之后,遍历污点源函数集中的任一污点源函数;确定所述任一污点源函数与污点目标函数集中函数是否存在调用通路后。基于该全链路污点传播路径重点关注微服务整体对外提供服务的接口至所有微服务节点中高风险执行函数间是否存在调用通路,确认用户可控参数是否能最终流入高风险执行函数,影响高风险函数执行逻辑,以判断微服务应用是否存在漏洞。若用户可控参数与高风险执行函数之间存在调用通路,则确定存在漏洞,发出漏洞预警信息。
通过本发明的实施例提供的一种微服务架构应用的污点分析,通过对待分析应用所采用的微服务框架进行扫描,确定各微服务节点的服务提供函数和服务消费函数,进而确定单节点污点源函数集和单节点污点目标函数集。根据单节点污点源函数集和单节点污点目标函数集对各微服务节点进行单节点污点分析,确定各单节点的污点传播路径,对所有单节点污点传播路径进行联合分析,根据各微服务节点的服务提供函数和服务消费函数将各路径串联生成污点传播路径生成全链路污点传播路径,相较于相关污点分析技术,本方法在进行污点分析过程中,无需应用实际编译运行,即可实现代码中的漏洞发现,解决了微服务架构下,跨应用、跨进程的节点间无法有效实现静态污点分析的技术问题,分析覆盖率高。
图4示意性示出了根据本发明实施例提供的各微服务节点的服务提供函数和服务消费函数的确定方法的流程图。
如图4所示,操作S210包括操作S211~操作S214。
在操作S211,扫描所述待分析应用的组件包;在操作S212,根据所述组件包识别微服务框架类型和框架版本信息。在操作S213,根据所述微服务框架类型和所述框架版本信息识别各微服务节点的服务调用接口。在操作S214,根据所述各微服务节点的服务调用接口确定各微服务节点的服务提供函数和服务消费函数。
一个示例中,首先扫描应用组件包,通过组件包识别应用采用的微服务框架及框架版本信息,然后基于框架识别结果,根据不同框架的生产者、消费者接口配置特点进一步识别出单节点应用代码中服务调用接口、服务提供接口所涉及的业务函数信息。一般采取配置文件或注解配置的方式来定义相关接口函数,根据采用的框架不同,使用的配置标签会稍有变化。
以dubbo框架为例,dubbo框架支持两种配置方式,基于xml与基于注解。基于xml方式时,扫描xml配置文件,服务端通过识别<dubbo:service>标签,标签中的interface属性即为提供服务的接口,接口实现方法通过ref属性查找。消费端通过识别<dubbo:reference>标签,interface属性对应的为消费者接口;基于注解的配置方式,服务端通过识别@Service (com.alibaba.dubbo.config.annotation.Service)注解,识别服务提供接口;消费端通过识别@Reference(com.alibaba.dubbo.config.annotation.Reference)标签确认服务调用接口。
下面将结合图5~图9介绍单节点静态污点分析的具体过程。图5示意性示出了根据本发明实施例提供的单节点静态污点分析方法的流程图之一;图6示意性示出了根据本发明实施例提供的单节点污点源函数集的确定方法的流程图。图7示意性示出了根据本发明实施例提供的单节点污点目标函数集的确定方法的流程图。
如图5所示,操作S220包括操作S221和操作S222。
在操作S221,对所述待分析应用的源代码进行扫描,以确定单节点污点源函数集和单节点污点目标函数集。
如图6所示,操作S221包括操作S310~操作S330。
在操作S310,根据当前应用节点的用户输入入口函数确定第一污点源函数集。在操作S320,根据当前应用节点的服务提供函数确定第二污点源函数集。在操作S330,根据所述第一污点源函数集和所述第二污点源函数集确定单节点污点源函数集。
一个示例中,在污点源函数搜集过程中,首先扫描应用节点中的Http请求入口函数、文件读函数等常见用户输入入口函数,作为第一污点源函数集;为实现微服务全路径污点分析,基于微服务框架扫描出的生产者服务提供接口函数作为第二污点源函数集。将第一污点源函数集和第二污点源函数集组合形成当前节点的污点源函数集。
如图7所示,操作S221还包括操作S410~操作S430。
在操作S410,扫描当前应用节点的高风险函数以确定第一污点目标函数集。在操作S420,根据服务调用接口扫描当前应用节点的下一节点,以确定第二污点目标函数集。在操作S430,根据所述第一污点目标函数集和所述第二污点目标函数集确定单节点污点目标函数集。
一个示例中,由于在分析用户输入是否能传入高风险函数的过程中,存在两种情况:1)高风险函数调用逻辑在本节点;2)高风险函数调用逻辑在下一节点或更远的调用节点,但用户输入数据将通过层层调用,透传到最终运行的高风险函数。因此污点目标函数集搜集也分为两部分:首先识别应用单节点中存在的高风险函数调用情况,把识别到的高风险函数集作为第一污点目标集。对下一节点的接口调用情况扫描,将调用微服务其他节点的函数设置为第二污点目标集,第一污点目标集与第二污点目标集组合形成当前节点的单节点污点目标集。
在操作S222,根据所述单节点污点源函数集和所述单节点污点目标函数集对各微服务节点进行单节点污点分析,以确定各微服务节点的污点传播路径。
一个示例中,在得到单节点污点源函数集和单节点污点目标函数集之后,根据单节点污点源函数集和单节点污点目标函数集确定每个微服务节点的污点传播路径,即用户输入传入高风险函数的路径,具体过程可参见图8所示出的操作S2221~操作S2224。
图8示意性示出了根据本发明实施例提供的单节点静态污点分析方法的流程图之二。图9示意性示出了根据本发明实施例提供的第一函数调用拓扑图的示意图;图10示意性示出了根据本发明实施例提供的第二函数调用拓扑图的示意图。
如图8所示,操作S222包括操作S2221~操作S2224。
在操作S2221,扫描应用中的第一函数调用关系,以生成第一函数调用拓扑图。
在操作S2222,根据所述单节点污点目标函数集和所述第一函数调用拓扑图确定第二函数调用拓扑图。
根据本发明实施例,以所述单节点污点目标函数集中的任一函数为源点,倒序排列所述第一函数调用关系,以确定第二函数调用关系;根据所述第二函数调用关系生成第二函数调用拓扑图。
在操作S2223,对所述单节点污点目标函数集中的每一函数进行分析,以确定所述每一函数入参与函数返回值的对应关系。
在操作S2224,根据所述每一函数入参与函数返回值的对应关系和所述第二函数调用拓扑图确定各微服务节点的污点传播路径。
一个示例中,针对单节点应用,首先扫描应用中的函数调用关系。形成第一函数调用拓扑图,针对第一函数调用拓扑图中存在目标污点集中某一函数的调用边,以目标函数为源点,倒序排列函数调用关系,形成逆拓扑排序图,即第二函数调用拓扑图。如图9和图10所示,源M为污点源函数集中的某一函数,目标M为目标污点集中的某一函数,方法1~4均为业务处理函数,正常业务逻辑为从源M层层调用至目标M,为了完成污点分析,需以目标M为源节点,以源M为终节点,形成逆排序结果如下:
目标M→方法1→源M
遍历当前应用节点代码中所有的污点目标函数,得到全量污点目标函数的逆排序结果,形成当前节点的逆拓扑排序图,然后依据逆拓扑排序图,逐个分析函数的污点传播关系。首先确定单节点污点目标函数集中的每一函数入参与函数返回值的对应关系,例如先分析目标M函数的污点传递关系,再分析方法1函数的污点传递关系,最后分析源M函数的污点传递关系,以判断源M函数参数是否会影响目标M函数的执行。以Java语言为例,单函数污点分析可模拟JVM虚拟机栈的解释器执行过程,跟踪函数入参对函数返回值的影响情况。首先为函数入参设置污点标识,然后跟踪函数内字节码操作指令,判断当前参数是否会影响操作指令执行后的局部变量,若影响,则当前局部变量也设置污点标识,最后在函数返回时,确认返回值是否受带污点标识的参数所影响。依据函数调用逆拓扑排序图,逐层分析单个函数污点传播情况,最终形成污点目标函数至污点源函数调用链路的单节点污点传播路径。依次执行上述逻辑,直至单节点应用中所有目标污点函数的调用链执行完污点分析。
基于上述微服务架构应用的污点分析方法,本发明还提供了一种微服务架构应用的污点分析装置。以下将结合图11对该装置进行详细描述。
图11示意性示出了根据本发明实施例的一种微服务架构应用的污点分析装置的结构框图。
如图11所示,该实施例的微服务架构应用的污点分析装置700包括第一扫描模块710、第二扫描模块720、全链路污点分析模块730和确定模块740。
第一扫描模块710用于响应于污点分析指令,对待分析应用所采用的微服务框架进行扫描,以获取各微服务节点的服务提供函数和服务消费函数。在一实施例中,第一扫描模块710可以用于执行前文描述的操作S210,在此不再赘述。
第二扫描模块720用于对所述待分析应用的源代码进行静态扫描,以确定各微服务节点的污点传播路径。在一实施例中,第二扫描模块720可以用于执行前文描述的操作S220,在此不再赘述。
全链路污点分析模块730用于根据所述各微服务节点的服务提供函数和所述服务消费函数将所述各微服务节点的污点传播路径串联,以生成全链路污点传播路径。在一实施例中,全链路污点分析模块740可以用于执行前文描述的操作S230,在此不再赘述。
确定模块740用于基于所述全链路污点传播路径确定污点分析结果。在一实施例中,确定模块740可以用于执行前文描述的操作S240,在此不再赘述。
根据本发明的实施例,所述第二扫描模块720包括第一扫描子模块和单节点污点分析子模块。
第一扫描子模块,用于对所述待分析应用的源代码进行扫描,以确定单节点污点源函数集和单节点污点目标函数集。在一实施例中,第一扫描子模块可以用于执行前文描述的操作S221,在此不再赘述。
单节点污点分析子模块,根据所述单节点污点源函数集和所述单节点污点目标函数集对各微服务节点进行单节点污点分析,以确定各微服务节点的污点传播路径。在一实施例中,单节点污点分析子模块可以用于执行前文描述的操作S222,在此不再赘述。
根据本发明的实施例,所述单节点污点分析子模块包括:第一扫描单元、第一确定单元、第二确定单元和第三确定单元。
第一扫描单元,用于扫描应用中的第一函数调用关系,以生成第一函数调用拓扑图。在一实施例中,第一扫描单元可以用于执行前文描述的操作S2221,在此不再赘述。
第一确定单元,用于根据所述单节点污点目标函数集和所述第一函数调用拓扑图确定第二函数调用拓扑图。在一实施例中,第一确定单元可以用于执行前文描述的操作S2222,在此不再赘述。
第二确定单元,用于对所述单节点污点目标函数集中的每一函数进行分析,以确定所述每一函数入参与函数返回值的对应关系。在一实施例中,第二确定单元可以用于执行前文描述的操作S2223,在此不再赘述。
第三确定单元,用于根据所述每一函数入参与函数返回值的对应关系和所述第二函数调用拓扑图确定各微服务节点的污点传播路径。在一实施例中,第三确定单元可以用于执行前文描述的操作S2224,在此不再赘述。
根据本发明的实施例,所述第一确定单元包括:第一确定子单元和生成子单元。
第一确定子单元,用于以所述单节点污点目标函数集中的任一函数为源点,倒序排列所述第一函数调用关系,以确定第二函数调用关系;以及
生成子单元,用于根据所述第二函数调用关系生成第二函数调用拓扑图。
根据本发明的实施例,第一扫描模块包括第一扫描子模块、第一识别子模块、第二识别子模块和第四确定子模块。
第二扫描子模块,用于扫描所述待分析应用的组件包。在一实施例中,第二扫描子模块可以用于执行前文描述的操作S211,在此不再赘述。
第一识别子模块,用于根据所述组件包识别微服务框架类型和框架版本信息。在一实施例中,第一识别子模块可以用于执行前文描述的操作S212,在此不再赘述。
第二识别子模块,用于根据所述微服务框架类型和所述框架版本信息识别各微服务节点的服务调用接口。在一实施例中,第二识别子模块可以用于执行前文描述的操作S213,在此不再赘述。
第四确定子模块,用于根据所述各微服务节点的服务调用接口确定各微服务节点的服务提供函数和服务消费函数。在一实施例中,第四确定子模块可以用于执行前文描述的操作S214,在此不再赘述。
根据本发明的实施例,第一扫描子模块包括第二扫描单元和第三扫描单元。
根据本发明的实施例,第二扫描单元包括第二确定子单元、第三确定子单元和第四确定子单元。
第二确定单元,用于根据当前应用节点的用户输入入口函数确定第一污点源函数集。在一实施例中,第二确定单元可以用于执行前文描述的操作S310,在此不再赘述。
第三确定单元,用于根据当前应用节点的服务提供函数确定第二污点源函数集。在一实施例中,第三确定单元可以用于执行前文描述的操作S320,在此不再赘述。
第四确定单元,用于根据所述第一污点源函数集和所述第二污点源函数集确定单节点污点源函数集。在一实施例中,第四确定单元可以用于执行前文描述的操作S330,在此不再赘述。
根据本发明的实施例,第三扫描单元包括第五确定子单元、第六确定子单元和第七确定子单元。
第五确定单元,用于扫描当前应用节点的高风险函数以确定第一污点目标函数集。在一实施例中,第五确定单元可以用于执行前文描述的操作S410,在此不再赘述。
第六确定单元,用于根据服务调用接口扫描当前应用节点的下一节点,以确定第二污点目标函数集。在一实施例中,第六确定单元可以用于执行前文描述的操作S420,在此不再赘述。
第七确定单元,用于根据所述第一污点目标函数集和所述第二污点目标函数集确定单节点污点目标函数集。在一实施例中,第七确定单元可以用于执行前文描述的操作S430,在此不再赘述。
根据本发明的实施例,第一扫描模块710、第二扫描模块720、全链路污点分析模块730和确定模块740中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,第一扫描模块710、第二扫描模块720、全链路污点分析模块730和确定模块740中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一扫描模块710、第二扫描模块720、全链路污点分析模块730和确定模块740中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图12示意性示出了根据本发明实施例的适于实现微服务架构应用的污点分析方法的电子设备的方框图。
如图12所示,根据本发明实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本发明实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有电子设备900操作所需的各种程序和数据。处理器 901、ROM902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本发明实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本发明实施例的方法流程的各种操作。
根据本发明的实施例,电子设备900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。电子设备900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本发明实施例的微服务架构应用的污点分析方法。
根据本发明的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本发明的实施例,计算机可读存储介质可以包括上文描述的ROM 902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
本发明的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本发明实施例所提供的微服务架构应用的污点分析方法。
在该计算机程序被处理器901执行时执行本发明实施例的系统/装置中限定的上述功能。根据本发明的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分909被下载和安装,和/或从可拆卸介质911被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本发明实施例的系统中限定的上述功能。根据本发明的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本发明的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本发明的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本发明中。特别地,在不脱离本发明精神和教导的情况下,本发明的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本发明的范围。
以上对本发明的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本发明的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本发明的范围由所附权利要求及其等同物限定。不脱离本发明的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本发明的范围之内。
Claims (12)
1.一种微服务架构应用的污点分析方法,其特征在于,所述方法包括:
响应于污点分析指令,对待分析应用所采用的微服务框架进行扫描,以获取各微服务节点的服务提供函数和服务消费函数;
对所述待分析应用的源代码进行静态扫描,以确定各微服务节点的污点传播路径;
根据所述各微服务节点的服务提供函数和所述服务消费函数将所述各微服务节点的污点传播路径串联,以生成全链路污点传播路径;以及
基于所述全链路污点传播路径确定污点分析结果。
2.根据权利要求1所述的方法,其特征在于,所述确定各微服务节点的污点传播路径包括:
对所述待分析应用的源代码进行扫描,以确定单节点污点源函数集和单节点污点目标函数集;以及
根据所述单节点污点源函数集和所述单节点污点目标函数集对各微服务节点进行单节点污点分析,以确定各微服务节点的污点传播路径。
3.根据权利要求2所述的方法,其特征在于,所述根据所述单节点污点源函数集和所述单节点污点目标函数集对各微服务节点进行单节点污点分析,以确定各微服务节点的污点传播路径包括:
扫描应用中的第一函数调用关系,以生成第一函数调用拓扑图;
根据所述单节点污点目标函数集和所述第一函数调用拓扑图确定第二函数调用拓扑图;
对所述单节点污点目标函数集中的每一函数进行分析,以确定所述每一函数入参与函数返回值的对应关系;
根据所述每一函数入参与函数返回值的对应关系和所述第二函数调用拓扑图确定各微服务节点的污点传播路径。
4.根据权利要求3所述的方法,其特征在于,所述根据所述单节点污点目标函数集和所述第一函数调用拓扑图确定第二函数调用拓扑图包括:
以所述单节点污点目标函数集中的任一函数为源点,倒序排列所述第一函数调用关系,以确定第二函数调用关系;以及
根据所述第二函数调用关系生成第二函数调用拓扑图。
5.根据权利要求2所述的方法,其特征在于,对所述待分析应用的源代码进行扫描,以确定单节点污点源函数集包括:
根据当前应用节点的用户输入入口函数确定第一污点源函数集;
根据当前应用节点的服务提供函数确定第二污点源函数集;
根据所述第一污点源函数集和所述第二污点源函数集确定单节点污点源函数集。
6.根据权利要求2所述的方法,其特征在于,对所述待分析应用的源代码进行扫描,以确定单节点污点目标函数集包括:
扫描当前应用节点的高风险函数以确定第一污点目标函数集;
根据服务调用接口扫描当前应用节点的下一节点,以确定第二污点目标函数集;以及
根据所述第一污点目标函数集和所述第二污点目标函数集确定单节点污点目标函数集。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述对待分析应用所采用的微服务框架进行扫描,以获取各微服务节点的服务提供函数和服务消费函数包括:
扫描所述待分析应用的组件包;
根据所述组件包识别微服务框架类型和框架版本信息;
根据所述微服务框架类型和所述框架版本信息识别各微服务节点的服务调用接口;以及
根据所述各微服务节点的服务调用接口确定各微服务节点的服务提供函数和服务消费函数。
8.根据权利要求7所述的方法,其特征在于,所述基于所述全链路污点传播路径确定污点分析结果包括:
遍历污点源函数集中的任一污点源函数;以及
当确定所述任一污点源函数与污点目标函数集中函数存在调用通路后,发出漏洞预警信息。
9.一种微服务架构应用的污点分析装置,其特征在于,所述装置包括:
第一扫描模块,用于响应于污点分析指令,对待分析应用所采用的微服务框架进行扫描,以获取各微服务节点的服务提供函数和服务消费函数;
第二扫描模块,用于对所述待分析应用的源代码进行静态扫描,以确定各微服务节点的污点传播路径;
全链路污点分析模块,用于根据所述各微服务节点的服务提供函数和所述服务消费函数将所述各微服务节点的污点传播路径串联,以生成全链路污点传播路径;以及
确定模块,用于基于所述全链路污点传播路径确定污点分析结果。
10.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~8中任一项所述的微服务架构应用的污点分析方法。
11.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~8中任一项所述的微服务架构应用的污点分析方法。
12.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~8中任一项所述的微服务架构应用的污点分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310361440.9A CN116069675B (zh) | 2023-04-07 | 2023-04-07 | 微服务架构应用的污点分析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310361440.9A CN116069675B (zh) | 2023-04-07 | 2023-04-07 | 微服务架构应用的污点分析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116069675A true CN116069675A (zh) | 2023-05-05 |
CN116069675B CN116069675B (zh) | 2024-01-05 |
Family
ID=86182321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310361440.9A Active CN116069675B (zh) | 2023-04-07 | 2023-04-07 | 微服务架构应用的污点分析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116069675B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709356A (zh) * | 2016-12-07 | 2017-05-24 | 西安电子科技大学 | 基于静态污点分析和符号执行的安卓应用漏洞挖掘方法 |
US20180321996A1 (en) * | 2017-05-04 | 2018-11-08 | Microsoft Technology Licensing, Llc | Micro- service framework derived from third-party apps |
CN113254945A (zh) * | 2021-06-08 | 2021-08-13 | 中国人民解放军国防科技大学 | 基于污点分析的web漏洞静态检测方法、系统和介质 |
CN113392404A (zh) * | 2021-06-15 | 2021-09-14 | 浙江网商银行股份有限公司 | 漏洞检测方法、装置及电子设备 |
WO2021232279A1 (zh) * | 2020-05-20 | 2021-11-25 | 深圳市欢太科技有限公司 | 文件泄露漏洞的检测方法、装置、电子设备及存储介质 |
CN114444076A (zh) * | 2020-10-30 | 2022-05-06 | 华为云计算技术有限公司 | 一种污点分析方法及装置 |
CN115168863A (zh) * | 2022-06-24 | 2022-10-11 | 厦门服云信息科技有限公司 | 一种基于精确行为的漏洞分析方法、终端设备及存储介质 |
CN115795546A (zh) * | 2022-12-07 | 2023-03-14 | 天翼云科技有限公司 | 基于污点标志跟踪的微服务应用访问控制方法及装置 |
-
2023
- 2023-04-07 CN CN202310361440.9A patent/CN116069675B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709356A (zh) * | 2016-12-07 | 2017-05-24 | 西安电子科技大学 | 基于静态污点分析和符号执行的安卓应用漏洞挖掘方法 |
US20180321996A1 (en) * | 2017-05-04 | 2018-11-08 | Microsoft Technology Licensing, Llc | Micro- service framework derived from third-party apps |
WO2021232279A1 (zh) * | 2020-05-20 | 2021-11-25 | 深圳市欢太科技有限公司 | 文件泄露漏洞的检测方法、装置、电子设备及存储介质 |
CN114444076A (zh) * | 2020-10-30 | 2022-05-06 | 华为云计算技术有限公司 | 一种污点分析方法及装置 |
CN113254945A (zh) * | 2021-06-08 | 2021-08-13 | 中国人民解放军国防科技大学 | 基于污点分析的web漏洞静态检测方法、系统和介质 |
CN113392404A (zh) * | 2021-06-15 | 2021-09-14 | 浙江网商银行股份有限公司 | 漏洞检测方法、装置及电子设备 |
CN115168863A (zh) * | 2022-06-24 | 2022-10-11 | 厦门服云信息科技有限公司 | 一种基于精确行为的漏洞分析方法、终端设备及存储介质 |
CN115795546A (zh) * | 2022-12-07 | 2023-03-14 | 天翼云科技有限公司 | 基于污点标志跟踪的微服务应用访问控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116069675B (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113987074A (zh) | 分布式服务全链路监控方法、装置、电子设备及存储介质 | |
US20210200806A1 (en) | Method and apparatus for parallel processing of information | |
CN113032244A (zh) | 接口测试方法、装置、计算机系统和计算机可读存储介质 | |
CN112036558A (zh) | 模型管理方法、电子设备和介质 | |
CN115357761A (zh) | 链路追踪方法、装置、电子设备及存储介质 | |
CN115982491A (zh) | 页面更新方法及装置、电子设备和计算机可读存储介质 | |
CN112965916B (zh) | 页面测试方法、页面测试装置、电子设备及可读存储介质 | |
CN116561013B (zh) | 基于目标服务框架的测试方法、装置、电子设备和介质 | |
CN116069675B (zh) | 微服务架构应用的污点分析方法及装置 | |
CN111784481B (zh) | 扫码下单方法、业务码创建方法、装置和电子设备 | |
US20110247007A1 (en) | Operators with request-response interfaces for data stream processing applications | |
CN112966167A (zh) | 数据爬取方法、装置、计算机系统和计算机可读存储介质 | |
CN114461909A (zh) | 信息处理方法、信息处理装置、电子设备和存储介质 | |
CN113448578A (zh) | 页面数据处理方法、处理系统、电子设备和可读存储介质 | |
CN113420302A (zh) | 主机漏洞检测方法及装置 | |
CN113626301A (zh) | 生成测试脚本的方法和装置 | |
CN114938341B (zh) | 一种环境检测方法、装置、电子设备和存储介质 | |
CN112835804B (zh) | 测试案例处理方法、装置、电子设备及介质 | |
CN115525362B (zh) | 基于操作系统内核参数调整平台的参数变更方法和装置 | |
CN114840435A (zh) | 数据流向的确定方法、装置、设备、存储介质和程序产品 | |
CN114860669A (zh) | 服务调用链路的获取方法和装置 | |
CN116909918A (zh) | 用户界面通用测试框架的封装方法及用户界面测试方法 | |
CN117667573A (zh) | 基于ai语言模型的集群运维方法及装置 | |
CN116401174A (zh) | 代码漏洞检测方法、装置、设备及存储介质 | |
CN116663013A (zh) | 异常处理方法、装置、电子设备和计算机存储介质 |
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 |