CN111104676A - 第三方组件的安全检测方法、系统、设备及可读存储介质 - Google Patents
第三方组件的安全检测方法、系统、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111104676A CN111104676A CN201911239079.2A CN201911239079A CN111104676A CN 111104676 A CN111104676 A CN 111104676A CN 201911239079 A CN201911239079 A CN 201911239079A CN 111104676 A CN111104676 A CN 111104676A
- Authority
- CN
- China
- Prior art keywords
- detection
- component
- security
- party
- published
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 276
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008439 repair process Effects 0.000 claims description 10
- 230000002087 whitening effect Effects 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims description 7
- 210000001503 joint Anatomy 0.000 abstract description 4
- 238000000034 method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
Abstract
本发明公开了一种第三方组件的安全检测方法、系统、设备及可读存储介质,安全检测方法为面向发布平台的安全检测方法,发布平台包括有待发布项目,待发布项目引用有第三方jar组件,安全检测方法包括:部署检测引擎,检测引擎关联有预设的检测逻辑库及安全漏洞信息;在待发布的项目中设置接口,接口用于对接所述检测引擎;通过检测引擎检测待发布项目引用的所有第三方jar组件,并根据检测逻辑库检索第三方jar组件中的安全漏洞信息。本发明通过将对待发布的项目与所述检测引擎对接,从而使得在发布平台中就能实现对待发布项目引用的所有第三方组件进行集成检测,从而可以及时发现待发布项目的潜在风险,保障了项目的安全性。
Description
技术领域
本发明涉及信息安全检测领域,特别涉及一种第三方组件的安全检测方法、系统、设备及可读存储介质。
背景技术
随着互联网的不断发展以及java(一种计算机编程语音)开发的明显优势,越来越多的公司在开发项目中,选用java作为主体开发语言。
在java开发中,为了提升效率和开发便捷度,减少重复开发,很多程序员经常会引用到第三方jar(一种第三方组件)组件依赖包。目前,存在开源的产品,即在该开源的产品中对单一的jar进行检测,一般的公司也没有开展或者重视jar检测,进而导致这些java项目的安全性存在很多未知性,也缺少了项目整体安全性的有效评估。
发明内容
本发明要解决的技术问题是为了克服现有技术中第三方组件的安全性存在未知性、进而导致整体项目安全性得不到保证的缺陷,提供一种集中式、准确度高且高速的第三方组件的安全检测方法、系统、设备及可读存储介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供了一种第三方组件的安全检测方法,所述安全检测方法为面向发布平台的安全检测方法,所述发布平台包括有待发布项目,所述待发布项目引用有第三方jar组件,所述安全检测方法包括:
部署检测引擎,所述检测引擎关联有预设的检测逻辑库及安全漏洞信息;
在所述待发布的项目中设置接口,所述接口用于对接所述检测引擎;
通过所述检测引擎检测所述待发布项目引用的所有所述第三方jar组件,并根据所述检测逻辑库检索所述第三方jar组件中的所述安全漏洞信息。
本发明通过将对待发布的项目与所述检测引擎对接,从而使得在发布平台中就能实现对待发布项目引用的所有第三方组件进行集成检测,从而可以及时发现待发布项目的潜在风险,保障了项目的安全性。
本发明中,安全检测的覆盖面广,针对发布平台的所有java项目进行集中式安全检测,确保公司的所有java项目上线的安全性。
本发明中,安全检测的速度快,通过将检测引擎进行分布式部署,对大量的发布项目进行并行检测,极大地加快了检测速度。整个检测过程用时较短,并没有影响延迟正常发布流程。
较佳地,所述待发布的项目包括待发布的java项目;
通过所述检测引擎检测所述待发布项目引用的所有所述第三方jar组件的步骤包括:
编译所述待发布项目以生成war(一种第三方组件)包,所述war包包括对所有所述第三方jar组件的依赖库信息,所述依赖库信息包括所述待发布项目中所有的对所述第三方jar组件的引用关系;
根据所述依赖库信息检测所述第三方jar组件。
本发明中,将java项目编译程war包,并将war包通过接口传给检测引擎从而可以进行快速的安全检测。
较佳地,所述检测逻辑库包含多层判断逻辑;
所述安全检测方法还包括步骤:优化所述检测逻辑库;
优化所述检测逻辑库的步骤具体包括:
设置所述多层判断逻辑的层级优先级;
根据所述层级优先级的先后顺序检测所述第三方jar组件;
判断当前层级的判断逻辑是否检测出所述安全漏洞信息,若是,则不再进行下一优先级层级的判断逻辑检测。
其中,所述安全检测方法还可以包括步骤:更新安全漏洞信息。
本发明中,对安全检测的判断逻辑进行了调优,简化了冗余的判断逻辑,提升扫描性能,加快检测速度。
本发明中的安全检测方法的准确度高,通过及时更新检测逻辑库及安全漏洞信息,优化检测逻辑,能够更好地保障检测的准确度。
较佳地,在根据所述检测逻辑库检索所述第三方jar组件中的所述安全漏洞信息的步骤中,若所述第三方jar组件与所述检测逻辑库中的安全漏洞信息相符,则对所述待发布项目中的所述安全漏洞进行修复;
对所述待发布项目中的所述安全漏洞进行修复的步骤包括:
升级所述第三方jar组件、禁用第三方jar组件或加白所述第三方jar组件中的任意一种;
和/或,
通过所述检测引擎检测所述待发布项目引用的所有所述第三方jar组件的步骤包括:
根据所述待发布项目引用的第三方jar组件的组件信息检索所述检测逻辑库中对应的第三方jar组件的安全漏洞信息,所述组件信息包括第三方jar组件的名称或版本号;
和/或,
部署检测引擎的步骤包括:将所述检测引擎分布式部署在不同的机器上。
本发明中,安全检测结果可追踪审计,即对于有安全漏洞的项目,可选择升级、禁用、加白等修复方式,确保项目的安全性,未对存在安全漏洞的项目进行修复处理,那么此项目的下一次发布也将受到影响,直至此项目成功修复安全漏洞。
本发明还提供了一种第三方组件的安全检测系统,所述安全检测系统为面向发布平台的安全检测系统,所述发布平台包括有待发布项目,所述待发布项目引用有第三方jar组件,所述安全检测系统包括:引擎部署模块、接口设置模块及组件检测模块;
所述引擎部署模块用于部署检测引擎,所述检测引擎关联有预设的检测逻辑库及安全漏洞信息;
所述接口设置模块用于在所述待发布的项目中设置接口,所述接口用于对接所述检测引擎;
所述组件检测模块用于通过所述检测引擎检测所述待发布项目引用的所有所述第三方jar组件,并根据所述检测逻辑库检索所述第三方jar组件中的所述安全漏洞信息。
本发明通过接口设置模块将对待发布的项目与所述检测引擎对接,从而使得在发布平台中就能实现对待发布项目引用的所有第三方组件进行集成检测,从而可以及时发现待发布项目的潜在风险,保障了项目的安全性。
本发明中,安全检测的覆盖面广,检测模块针对发布平台的所有java项目进行集中式安全检测,确保公司的所有java项目上线的安全性。
本发明中,安全检测的速度快,通过引擎部署模块将检测引擎进行分布式部署,对大量的发布项目进行并行检测,极大地加快了检测速度。整个检测过程用时较短,并没有影响延迟正常发布流程。
较佳地,所述待发布的项目包括待发布的java项目;
所述组件检测模块包括:编译单元及第一检测单元;
所述编译单元用于编译所述待发布项目以生成war包,所述war包包括对所有所述第三方jar组件的依赖库信息,所述依赖库信息包括所述待发布项目中所有的对所述第三方jar组件的引用关系;
所述第一检测单元用于根据所述依赖库信息检测所述第三方jar组件。
本发明中,编译单元将java项目编译程war包,并将war包通过接口传给检测引擎从而可以使第一检测单元进行快速的安全检测。
较佳地,所述检测逻辑库包含多层判断逻辑,所述安全检测系统还包括:优化模块,用于优化所述检测逻辑库,所述优化模块包括优先级设置单元、第二检测单元及判断单元;
所述优先级设置单元用于设置所述多层判断逻辑的层级优先级;
所述第二检测单元用于根据所述层级优先级的先后顺序检测所述第三方jar组件;
所述判断单元用于判断当前层级的判断逻辑是否检测出所述安全漏洞信息,若是,则不再进行下一优先级层级的判断逻辑检测。
其中,所述优化模块还可以包括漏洞更新单元,用于更新安全漏洞信息。
本发明中,优化模块对安全检测的判断逻辑进行了调优,简化了冗余的判断逻辑,提升扫描性能,加快检测速度。
本发明中的安全检测方法的准确度高,优化模块通过及时更新检测逻辑库及安全漏洞信息,优化检测逻辑,能够更好地保障检测的准确度。
较佳地,所述组件检测模块还用于当检测到所述第三方jar组件与所述检测逻辑库中的安全漏洞信息相符,则对所述待发布项目中的所述安全漏洞进行修复;
所述组件检测模块通过升级所述第三方jar组件、禁用第三方jar组件或加白所述第三方jar组件中的任意一种方式对所述安全漏洞进行修复;
和/或,
所述组件检测模块还用于根据所述待发布项目引用的第三方jar组件的组件信息检索所述检测逻辑库中对应的第三方jar组件的安全漏洞信息,所述组件信息包括第三方jar组件的名称或版本号;
和/或,
引擎部署模块还用于将所述检测引擎分布式部署在不同的机器上。
本发明中,安全检测结果可追踪审计,即对于有安全漏洞的项目,检测模块可选择升级、禁用、加白等修复方式,确保项目的安全性,未对存在安全漏洞的项目进行修复处理,那么此项目的下一次发布也将受到影响,直至此项目成功修复安全漏洞。
本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述安全检测方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述安全检测方法的步骤。
本发明的积极进步效果在于:
本发明通过将对待发布的项目与所述检测引擎对接,从而使得在发布平台中就能实现对待发布项目引用的所有第三方组件进行集成检测,从而可以及时发现待发布项目的潜在风险,保障了项目的安全性。
附图说明
图1为本发明实施例1的第三方组件的安全检测方法的流程图。
图2为本发明实施例2的步骤103的具体实现方式的流程图。
图3为本发明实施例2的第三方组件的安全检测方法的部分流程图。
图4为本发明实施例4的第三方组件的安全检测系统的模块示意图。
图5为本发明实施例5的组件检测模块的示意图。
图6为本发明实施例5的第三方组件的安全检测系统的部分模块示意图。
图7为根据本发明实施例7的电子设备的硬件结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供了一种第三方组件的安全检测方法,该安全检测方法为面向发布平台的安全检测方法,该发布平台包括有待发布项目,待发布项目引用有第三方jar组件,如图1所示,本实施例中的安全检测方法包括:
步骤101、部署检测引擎。
步骤102、在待发布的项目中设置接口。
步骤103、通过检测引擎检测待发布项目引用的所有第三方jar组件,并根据检测逻辑库检索第三方jar组件中的安全漏洞信息。
其中,在步骤101中,检测引擎关联有预设的检测逻辑库及安全漏洞信息,检测逻辑库及安全漏洞信息为开源的检测引擎产品自带的,安全漏洞信息包括大量的安全漏洞的jar组件信息。
其中,步骤102中的接口用于对接所述检测引擎。
其中,步骤103中,检测引擎进行检测后并将检测结果通过接口返回给发布平台。
其中,检测引擎检测完成后,会生成检测结果,检测引擎有提供检测结果获取接口给发布平台进行请求调用。当有新的检测结果生成时,发布平台可请求接口获取新的检测结果。
其中,依据每个项目的检测结果,可以联系项目负责人进行合理的应急响应处理跟进。发布平台的项目负责人,可以看到各自负责的java项目的检测结果。若不存在安全漏洞,则可继续发布项目。若存在安全漏洞,则对安全漏洞做相应处理。
本实施例通过将对待发布的项目与所述检测引擎对接,从而使得在发布平台中就能实现对待发布项目引用的所有第三方组件进行集成检测,可以及时发现待发布项目的潜在风险,保障了项目的安全性。
本实施例中,安全检测的覆盖面广,克服了现有技术中只能对单一的jar进行检测的缺陷,可以针对发布平台的所有java项目进行集中式安全检测,确保公司的所有java项目上线的安全性。
本实施例中,安全检测的速度快,通过将检测引擎进行分布式部署,对大量的发布项目进行并行检测,极大地加快了检测速度。整个检测过程用时较短,并没有影响延迟正常发布流程。
实施例2
本实施例提供了一种第三方组件的安全检测方法,本实施例是对实施例1的进一步改进,其中,待发布的项目包括待发布的java项目。
为了进行快速的安全检测,如图2所示,本实施例中的步骤103具体包括:
步骤1031、编译待发布项目以生成war包。
步骤1032、根据依赖库信息检测所述第三方jar组件。
其中,在步骤1031中,war包包括对所有第三方jar组件的依赖库信息,依赖库信息包括待发布项目中所有的对第三方jar组件的引用关系。
本实施例中,为了简化了冗余的判断逻辑,提升扫描性能,加快检测速度,如图3所示,该安全检测方法还包括:
步骤201、设置多层判断逻辑的层级优先级。
步骤202、根据层级优先级的先后顺序检测第三方jar组件。
步骤203、判断当前层级的判断逻辑是否检测出安全漏洞信息,若是,则执行步骤204,若否,则执行步骤205。
步骤204、确定当前层级的判断逻辑,并不再进行下一优先级层级的判断逻辑检测。
步骤205、跳转至下一优先层层级,并执行步骤202。
本实施例中,对安全检测的判断逻辑进行了调优,简化了冗余的判断逻辑,提升扫描性能,加快检测速度。
本实施例中的安全检测方法的准确度高,通过及时更新检测逻辑库及安全漏洞信息,优化检测逻辑,能够更好地保障检测的准确度。
实施例3
本实施例提供了一种第三方组件的安全检测方法,本实施例是对实施例2的进一步改进。
其中,在步骤103中,若所述第三方jar组件与所述检测逻辑库中的安全漏洞信息相符,则对待发布项目中的安全漏洞进行修复。
其中,对所述待发布项目中的所述安全漏洞进行修复的步骤包括:
对所述待发布项目中的所述安全漏洞进行修复的方法包括升级所述第三方jar组件、禁用第三方jar组件、加白所述第三方jar组件等等。
其中,加白即为在第三方jar组件存在安全漏洞,但风险可接受时,对此组件进行风险可接受的状态标识设置,让相关负责人知晓此标识。
本实施例中,为了快速检索到相应的jar组件,步骤103中,根据待发布项目引用的第三方jar组件的组件信息检索检测逻辑库中对应的第三方jar组件的安全漏洞信息,组件信息包括第三方jar组件的名称、版本号便于快速找到jar组件的信息。
为了提升本实施例中检测引擎部署的灵活性和适用性,步骤101包括将检测引擎分布式部署在不同的机器上。
本实施例中,通过在多台机器上分布式部署检测引擎节点(分布式部署),提升扫描性能,加快检测速度。
本实施例中,在java项目安全发布后,则成功完成上线。针对安全检测后的项目,确保了项目的安全性,项目负责人可以更加放心地发布项目,确保项目安全性,保障项目的安全上线。
本实施例中,通过在发布平台集成第三方组件的集中安全检测,实现对所有发布的java项目进行第三方jar组件的安全检测,并对有安全漏洞的风险项目进行及时检测响应,发现潜在风险,保障项目的安全性,进而提升企业项目的安全系数。
实施例4
本实施例提供了一种第三方组件的安全检测系统,该安全检测系统为面向发布平台的安全检测系统,该发布平台包括有待发布项目,待发布项目引用有第三方jar组件,如图4所示,本实施例中的安全检测系统包括:引擎部署模块301、接口设置模块302及组件检测模块303。
引擎部署模块301用于部署检测引擎,所述检测引擎关联有预设的检测逻辑库及安全漏洞信息。
接口设置模块302用于在所述待发布的项目中设置接口,所述接口用于对接所述检测引擎。
组件检测模块303用于通过所述检测引擎检测所述待发布项目引用的所有所述第三方jar组件,并根据所述检测逻辑库检索所述第三方jar组件中的所述安全漏洞信息。
其中,组件检测模块303检测完成后,会生成检测结果,检测引擎有提供检测结果获取接口给发布平台进行请求调用。当有新的检测结果生成时,发布平台可请求接口获取新的检测结果。
其中,依据每个项目的检测结果,可以联系项目负责人进行合理的应急响应处理跟进。发布平台的项目负责人,可以看到各自负责的java项目的检测结果。若不存在安全漏洞,则可继续发布项目。若存在安全漏洞,则对安全漏洞做相应处理。
本实施例通过接口设置模块将对待发布的项目与所述检测引擎对接,从而使得在发布平台中就能实现对待发布项目引用的所有第三方组件进行集成检测,可以及时发现待发布项目的潜在风险,保障了项目的安全性。
本实施例中,安全检测的覆盖面广,组件检测模块克服了现有技术中只能对单一的jar进行检测的缺陷,可以针对发布平台的所有java项目进行集中式安全检测,确保公司的所有java项目上线的安全性。
本实施例中,安全检测的速度快,通过接口设置模块将检测引擎进行分布式部署,对大量的发布项目进行并行检测,极大地加快了检测速度。整个检测过程用时较短,并没有影响延迟正常发布流程。
实施例5
本实施例提供了一种第三方组件的安全检测系统,本实施例是对实施例4的进一步改进,其中,待发布的项目包括待发布的java项目。
为了进行快速的安全检测,如图5所示,组件检测模块303包括:编译单元3031及第一检测单元3032。
编译单元3031用于编译所述待发布项目以生成war包,所述war包包括对所有所述第三方jar组件的依赖库信息,所述依赖库信息包括所述待发布项目中所有的对所述第三方jar组件的引用关系。
第一检测单元3032用于根据所述依赖库信息检测所述第三方jar组件。
其中,war包包括对所有第三方jar组件的依赖库信息,依赖库信息包括待发布项目中所有的对第三方jar组件的引用关系。
本实施例中,为了简化了冗余的判断逻辑,提升扫描性能,加快检测速度,如图6所示,该安全检测系统还包括:优化模块401,用于优化所述检测逻辑库,该模块具体包括:优先级设置单元4011、第二检测单元4012及判断单元4013。
优先级设置单元4011用于设置所述多层判断逻辑的层级优先级。
第二检测单元4012用于根据所述层级优先级的先后顺序检测所述第三方jar组件。
判断单元4013用于判断当前层级的判断逻辑是否检测出所述安全漏洞信息,若是,则确定当前层级的判断逻辑,并不再进行下一优先级层级的判断逻辑检测,若否,则跳转至下一优先层层级,并调用第二检测单元4012。
本实施例中,优化模块对安全检测的判断逻辑进行了调优,简化了冗余的判断逻辑,提升扫描性能,加快检测速度。
本实施例中的安全检测方法的准确度高,通过及时更新检测逻辑库及安全漏洞信息,优化检测逻辑,能够更好地保障检测的准确度。
实施例6
本实施例提供了一种第三方组件的安全检测系统,本实施例是对实施例5的进一步改进。
其中,组件检测模块303还用于当检测到第三方jar组件与所述检测逻辑库中的安全漏洞信息相符,则对所述待发布项目中的所述安全漏洞进行修复。
组件检测模块303通过升级所述第三方jar组件、禁用第三方jar组件或加白所述第三方jar组件中的任意一种方式对所述安全漏洞进行修复。
本实施例中,为了快速检索到相应的jar组件,组件检测模块303还用于根据所述待发布项目引用的第三方jar组件的组件信息检索所述检测逻辑库中对应的第三方jar组件的安全漏洞信息,所述组件信息包括第三方jar组件的名称或版本号。
本实施例中,为了提升本实施例中检测引擎部署的灵活性和适用性,引擎部署模块301还用于将所述检测引擎分布式部署在不同的机器上。
其中,加白即为在第三方jar组件存在安全漏洞,但风险可接受时,对此组件进行风险可接受的状态标识设置,让相关负责人知晓此标识。
本实施例中,引擎部署模块通过在多台机器上分布式部署检测引擎节点(分布式部署),提升扫描性能,加快检测速度。
本实施例中,在java项目安全发布后,则成功完成上线。针对安全检测后的项目,确保了项目的安全性,项目负责人可以更加放心地发布项目,确保项目安全性,保障项目的安全上线。
本实施例中,通过在发布平台集成第三方组件的集中安全检测,实现对所有发布的java项目进行第三方jar组件的安全检测,并对有安全漏洞的风险项目进行及时检测响应,发现潜在风险,保障项目的安全性,进而提升企业项目的安全系数。
实施例7
本实施例提供一种电子设备,电子设备可以通过计算设备的形式表现(例如可以为服务器设备),包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中处理器执行计算机程序时可以实现实施例1-实施例3中任意一安全检测方法。
图7示出了本实施例的硬件结构示意图,如图7所示,电子设备9具体包括:
至少一个处理器91、至少一个存储器92以及用于连接不同系统组件(包括处理器91和存储器92)的总线93,其中:
总线93包括数据总线、地址总线和控制总线。
存储器92包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器92还包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器91通过运行存储在存储器92中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1-实施例3中任意一安全检测方法。
电子设备9进一步可以与一个或多个外部设备94(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口95进行。并且,电子设备9还可以通过网络适配器96与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器96通过总线93与电子设备9的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备9使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例8
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1-实施例3中任意一安全检测方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1-实施例3中任意一安全检测方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (10)
1.一种第三方组件的安全检测方法,其特征在于,所述安全检测方法为面向发布平台的安全检测方法,所述发布平台包括有待发布项目,所述待发布项目引用有第三方jar组件,所述安全检测方法包括:
部署检测引擎,所述检测引擎关联有预设的检测逻辑库及安全漏洞信息;
在所述待发布的项目中设置接口,所述接口用于对接所述检测引擎;
通过所述检测引擎检测所述待发布项目引用的所有所述第三方jar组件,并根据所述检测逻辑库检索所述第三方jar组件中的所述安全漏洞信息。
2.如权利要求1所述的安全检测方法,其特征在于,所述待发布的项目包括待发布的java项目;
通过所述检测引擎检测所述待发布项目引用的所有所述第三方jar组件的步骤包括:
编译所述待发布项目以生成war包,所述war包包括对所有所述第三方jar组件的依赖库信息,所述依赖库信息包括所述待发布项目中所有的对所述第三方jar组件的引用关系;
根据所述依赖库信息检测所述第三方jar组件。
3.如权利要求1所述的安全检测方法,其特征在于,所述检测逻辑库包含多层判断逻辑;
所述安全检测方法还包括步骤:优化所述检测逻辑库;
优化所述检测逻辑库的步骤具体包括:
设置所述多层判断逻辑的层级优先级;
根据所述层级优先级的先后顺序检测所述第三方jar组件;
判断当前层级的判断逻辑是否检测出所述安全漏洞信息,若是,则不再进行下一优先级层级的判断逻辑检测。
4.如权利要求1所述的安全检测方法,其特征在于,在根据所述检测逻辑库检索所述第三方jar组件中的所述安全漏洞信息的步骤中,若所述第三方jar组件与所述检测逻辑库中的安全漏洞信息相符,则对所述待发布项目中的所述安全漏洞进行修复;
对所述待发布项目中的所述安全漏洞进行修复的步骤包括:
升级所述第三方jar组件、禁用第三方jar组件或加白所述第三方jar组件中的任意一种;
和/或,
通过所述检测引擎检测所述待发布项目引用的所有所述第三方jar组件的步骤包括:
根据所述待发布项目引用的第三方jar组件的组件信息检索所述检测逻辑库中对应的第三方jar组件的安全漏洞信息,所述组件信息包括第三方jar组件的名称或版本号;
和/或,
部署检测引擎的步骤包括:将所述检测引擎分布式部署在不同的机器上。
5.一种第三方组件的安全检测系统,其特征在于,所述安全检测系统为面向发布平台的安全检测系统,所述发布平台包括有待发布项目,所述待发布项目引用有第三方jar组件,所述安全检测系统包括:引擎部署模块、接口设置模块及组件检测模块;
所述引擎部署模块用于部署检测引擎,所述检测引擎关联有预设的检测逻辑库及安全漏洞信息;
所述接口设置模块用于在所述待发布的项目中设置接口,所述接口用于对接所述检测引擎;
所述组件检测模块用于通过所述检测引擎检测所述待发布项目引用的所有所述第三方jar组件,并根据所述检测逻辑库检索所述第三方jar组件中的所述安全漏洞信息。
6.如权利要求5所述的安全检测系统,其特征在于,所述待发布的项目包括待发布的java项目;
所述组件检测模块包括:编译单元及第一检测单元;
所述编译单元用于编译所述待发布项目以生成war包,所述war包包括对所有所述第三方jar组件的依赖库信息,所述依赖库信息包括所述待发布项目中所有的对所述第三方jar组件的引用关系;
所述第一检测单元用于根据所述依赖库信息检测所述第三方jar组件。
7.如权利要求5所述的安全检测系统,其特征在于,所述检测逻辑库包含多层判断逻辑,所述安全检测系统还包括:优化模块,用于优化所述检测逻辑库,所述优化模块包括优先级设置单元、第二检测单元及判断单元;
所述优先级设置单元用于设置所述多层判断逻辑的层级优先级;
所述第二检测单元用于根据所述层级优先级的先后顺序检测所述第三方jar组件;
所述判断单元用于判断当前层级的判断逻辑是否检测出所述安全漏洞信息,若是,则不再进行下一优先级层级的判断逻辑检测。
8.如权利要求5所述的安全检测系统,其特征在于,所述组件检测模块还用于当检测到所述第三方jar组件与所述检测逻辑库中的安全漏洞信息相符,则对所述待发布项目中的所述安全漏洞进行修复;
所述组件检测模块通过升级所述第三方jar组件、禁用第三方jar组件或加白所述第三方jar组件中的任意一种方式对所述安全漏洞进行修复;
和/或,
所述组件检测模块还用于根据所述待发布项目引用的第三方jar组件的组件信息检索所述检测逻辑库中对应的第三方jar组件的安全漏洞信息,所述组件信息包括第三方jar组件的名称或版本号;
和/或,
引擎部署模块还用于将所述检测引擎分布式部署在不同的机器上。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的安全检测方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述的安全检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911239079.2A CN111104676A (zh) | 2019-12-06 | 2019-12-06 | 第三方组件的安全检测方法、系统、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911239079.2A CN111104676A (zh) | 2019-12-06 | 2019-12-06 | 第三方组件的安全检测方法、系统、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111104676A true CN111104676A (zh) | 2020-05-05 |
Family
ID=70421743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911239079.2A Pending CN111104676A (zh) | 2019-12-06 | 2019-12-06 | 第三方组件的安全检测方法、系统、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104676A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111680302A (zh) * | 2020-06-08 | 2020-09-18 | 中国银行股份有限公司 | 第三方组件漏洞扫描方法及装置 |
CN111783103A (zh) * | 2020-07-03 | 2020-10-16 | Oppo广东移动通信有限公司 | 基于Maven的依赖管理方法、装置、电子装置及存储介质 |
CN112000572A (zh) * | 2020-08-07 | 2020-11-27 | 北京浪潮数据技术有限公司 | 一种源码扫描工具、方法、设备及介质 |
CN113127351A (zh) * | 2021-04-20 | 2021-07-16 | 长沙市到家悠享家政服务有限公司 | 一种第三方组件检测方法、系统和计算机设备 |
CN113343222A (zh) * | 2021-06-30 | 2021-09-03 | 招商局金融科技有限公司 | Java项目工程安全校验方法、装置、计算机设备及存储介质 |
CN113343223A (zh) * | 2021-06-30 | 2021-09-03 | 招商局金融科技有限公司 | Jar包安全监控方法、装置、计算机设备及存储介质 |
CN117216770A (zh) * | 2023-09-25 | 2023-12-12 | 江苏天好富兴数据技术有限公司 | 一种DevOps流水线超融合部署安全检测系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180150639A1 (en) * | 2015-05-28 | 2018-05-31 | Entit Software Llc | Security vulnerability detection |
CN110061979A (zh) * | 2019-04-01 | 2019-07-26 | 视联动力信息技术股份有限公司 | 一种业务对象的检测方法和装置 |
CN110110527A (zh) * | 2019-05-10 | 2019-08-09 | 重庆八戒电子商务有限公司 | 一种漏洞组件的发现方法、发现装置、计算机装置以及存储介质 |
-
2019
- 2019-12-06 CN CN201911239079.2A patent/CN111104676A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180150639A1 (en) * | 2015-05-28 | 2018-05-31 | Entit Software Llc | Security vulnerability detection |
CN110061979A (zh) * | 2019-04-01 | 2019-07-26 | 视联动力信息技术股份有限公司 | 一种业务对象的检测方法和装置 |
CN110110527A (zh) * | 2019-05-10 | 2019-08-09 | 重庆八戒电子商务有限公司 | 一种漏洞组件的发现方法、发现装置、计算机装置以及存储介质 |
Non-Patent Citations (1)
Title |
---|
韩继登;张文;牛少彰;崔浩亮;: "Android平台组件劫持漏洞的研究" * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111680302A (zh) * | 2020-06-08 | 2020-09-18 | 中国银行股份有限公司 | 第三方组件漏洞扫描方法及装置 |
CN111783103A (zh) * | 2020-07-03 | 2020-10-16 | Oppo广东移动通信有限公司 | 基于Maven的依赖管理方法、装置、电子装置及存储介质 |
CN112000572A (zh) * | 2020-08-07 | 2020-11-27 | 北京浪潮数据技术有限公司 | 一种源码扫描工具、方法、设备及介质 |
CN112000572B (zh) * | 2020-08-07 | 2022-06-17 | 北京浪潮数据技术有限公司 | 一种源码扫描工具、方法、设备及介质 |
CN113127351A (zh) * | 2021-04-20 | 2021-07-16 | 长沙市到家悠享家政服务有限公司 | 一种第三方组件检测方法、系统和计算机设备 |
CN113343222A (zh) * | 2021-06-30 | 2021-09-03 | 招商局金融科技有限公司 | Java项目工程安全校验方法、装置、计算机设备及存储介质 |
CN113343223A (zh) * | 2021-06-30 | 2021-09-03 | 招商局金融科技有限公司 | Jar包安全监控方法、装置、计算机设备及存储介质 |
CN117216770A (zh) * | 2023-09-25 | 2023-12-12 | 江苏天好富兴数据技术有限公司 | 一种DevOps流水线超融合部署安全检测系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104676A (zh) | 第三方组件的安全检测方法、系统、设备及可读存储介质 | |
US8621441B2 (en) | System and method for software immunization based on static and dynamic analysis | |
US8850393B2 (en) | Method and apparatus for testing software | |
US9684584B2 (en) | Managing assertions while compiling and debugging source code | |
Memon | Automatically repairing event sequence-based GUI test suites for regression testing | |
US8423960B2 (en) | Evaluation of software based on review history | |
US9235410B2 (en) | Tracking software package dependencies using a graph model | |
CN114996126B (zh) | 一种针对eosio智能合约的漏洞检测方法及系统 | |
US10063409B2 (en) | Management of computing machines with dynamic update of applicability rules | |
CN101853200A (zh) | 一种高效动态软件漏洞挖掘方法 | |
CN112100072A (zh) | 应用程序代码的静态检测方法、装置、设备及介质 | |
US20200341887A1 (en) | Device, System, and Method for Automatically Detecting and Repairing a Bug in a Computer Program using a Genetic Algorithm | |
Montecchi et al. | Dependability concerns in model-driven engineering | |
CN109144525A (zh) | 一种网络自适应的软件安装方法与系统 | |
CN115268986A (zh) | 一种低代码业务脚本运行方法及引擎装置 | |
KR101993635B1 (ko) | 지능형 자율 시스템에서의 사고 원인 추적 시스템 | |
CN114047930A (zh) | 软件制品的安全发布方法、系统、电子设备和存储介质 | |
CN113282606A (zh) | 数据处理方法、装置、存储介质和计算设备 | |
CN113626825A (zh) | 一种安全漏洞管控方法、装置、设备及计算机可读介质 | |
CN107729747A (zh) | 一种面向二进制程序的堆溢出检测方法 | |
AU2017276243A1 (en) | System And Method For Generating Service Operation Implementation | |
CN116737232A (zh) | 一种基于国产软硬件环境的软件自动迁移和优化方法 | |
CN116361807A (zh) | 风险管控方法、装置、存储介质及电子设备 | |
CN114915449A (zh) | 信息系统拟态化升级改造方法及装置 | |
CN114116471A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200505 |