CN111046386A - 动态检测程序第三方库并进行安全评估的方法及系统 - Google Patents

动态检测程序第三方库并进行安全评估的方法及系统 Download PDF

Info

Publication number
CN111046386A
CN111046386A CN201911234618.3A CN201911234618A CN111046386A CN 111046386 A CN111046386 A CN 111046386A CN 201911234618 A CN201911234618 A CN 201911234618A CN 111046386 A CN111046386 A CN 111046386A
Authority
CN
China
Prior art keywords
vulnerability
library
information
party library
program
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
Application number
CN201911234618.3A
Other languages
English (en)
Other versions
CN111046386B (zh
Inventor
刘海涛
万振华
王颉
李华
董燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Kaiyuan Internet Security Technology Co Ltd
Original Assignee
Shenzhen Kaiyuan Internet Security Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Kaiyuan Internet Security Technology Co Ltd filed Critical Shenzhen Kaiyuan Internet Security Technology Co Ltd
Priority to CN201911234618.3A priority Critical patent/CN111046386B/zh
Publication of CN111046386A publication Critical patent/CN111046386A/zh
Application granted granted Critical
Publication of CN111046386B publication Critical patent/CN111046386B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种动态检测程序第三方库并进行安全评估的方法,具体包括:获取权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表;根据权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表,对程序第三方库进行扫描,获取程序第三方库的漏洞信息;根据程序第三方库的漏洞信息,对程序第三方库进行安全评估;其中,自定义信息安全漏洞库包括,针对不开源的第三方库设定的自定义信息安全漏洞库。通过自定义信息安全漏洞库获取的漏洞列表,可以增强漏洞列表的针对性;同时,在自定义信息安全漏洞库的漏洞列表中,可任意设定接口,从而与用户行为结合,方便扩展,扩展性佳,灵活性强。提高基于文件系统软件审查的第三方库安全评估的检测效率。

Description

动态检测程序第三方库并进行安全评估的方法及系统
技术领域
本发明涉及一种网络安全技术,尤其是指一种动态检测程序第三方库并进行安全评估的方法及系统。
背景技术
随着网络的蓬勃发展,应用程序的数量也相应的处于井喷式的发展阶段。当前应用程序中会引入大量的第三方库文件,第三方库文件中包含了大量的开源代码以及更多的第三方库文件。而大量使用开源代码给软件开发带来极大的便利同时,也有着复杂的不确定性。在应用程序开发生命周期中,开发人员往往会忽视第三方库的漏洞检查,那么在使用了不安全的第三方库的应用程序在正式上线后,极容易成为黑客的攻击目标。
现阶段,安全人员主要通过人工审查与软件审查对第三方库进行安全审查。人工审查难度大,成本高;而软件审查中,漏洞寻找效果相对较差,针对性不高,扩展性低、灵活性差,不利于进行二次开发。
发明内容
本发明所要解决的技术问题是:如何增强对动态检测程序第三方库进行安全审查的效果。
为了解决上述技术问题,本发明采用的技术方案为:动态检测程序第三方库并进行安全评估的方法。该方法具体包括如下步骤:
步骤S100、获取权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表;
步骤S200、根据权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表,对程序第三方库进行扫描,获取程序第三方库的漏洞信息;
步骤S300、根据程序第三方库的漏洞信息,对程序第三方库进行安全评估;其中,自定义信息安全漏洞库包括,针对不开源的第三方库设定的自定义信息安全漏洞库。
具体的,所述对程序第三方库进行扫描的步骤中包括:
步骤S210、确定程序第三方库的框架类型;
步骤S220、根据所述程序第三方库的框架类型,获取第三方库的文件信息。
进一步地,所述获取第三方库的文件信息的步骤中,具体包括:
步骤S221、获取程序第三方库文件目录位置;
步骤S222、监听程序的文件流和网络流,确认所述程序的文件流和网络流中有第三方库文件信息;
步骤S223、获取所述程序的文件流和网络流中的第三方库信息。
上述技术方案中,所述获取程序第三方库文件目录位置的步骤中,若程序采用MAVEN框架,则包括如下步骤:
步骤S221-10、从POM文件中获取对应的第三方库信息。
优选地,所述获取第三方库的文件信息的步骤中,若目录位置未处于默认位置,则还包括:
步骤S221-20、采用IAST插桩技术,获取程序启动参数;
步骤S221-21、根据所述程序启动参数,获取第三方库文件目录位置。
具体的,所述获取程序第三方库的漏洞信息的步骤中,具体包括:
步骤S230、根据所述程序第三方库的文件信息,获取待筛选的第三方漏洞信息;
步骤S240、对所述待筛选的第三方漏洞信息进行筛选,获取所述程序第三方库的漏洞信息。
进一步的,所述对所述待筛选的第三方漏洞信息进行筛选的步骤中,具体包括:
步骤S240-10、获取已修复的第三方库漏洞信息名单;
步骤S240-11、按照所述已修复的第三方库漏洞信息名单,对所述待筛选的第三方库漏洞信息进行筛选,筛选出未修复漏洞信息。
进一步的,所述对所述待筛选的第三方库漏洞信息进行筛选的步骤中,具体包括:
步骤S240-20、获取高危的第三方库漏洞信息名单;
步骤S240-21、按照所述高危的第三方库漏洞信息名单,对所述待筛选的第三方库漏洞信息进行筛选,筛选出高危漏洞信息。
上述技术方案中,所述根据所述程序第三方库的漏洞信息,对所述程序第三方库进行安全评估的步骤中,具体包括:
步骤S310、对所述程序第三方库的漏洞信息进行多维度划分,获取多维度漏洞信息;
步骤S320、根据所述多维度漏洞信息,实现所述程序第三方库的安全评估;
其中,所述多维度漏洞信息包括漏洞信息严重程度、漏洞发布时间、漏洞修复再判断及漏洞数量。
本申请还提供了一种动态检测程序第三方库并进行安全评估的系统,,所述系统包括:漏洞库获取模块、第三方库漏洞获取模块、漏洞评估模块;
所述漏洞库获取模块,用于获取权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表;
所述第三方库漏洞获取模块,用于根据所述权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表,对程序第三方库进行扫描,获取程序第三方库的漏洞信息;
所述漏洞评估模块,用于根据所述程序第三方库的漏洞信息,对所述程序第三方库进行安全评估;
其中,所述自定义信息安全漏洞库包括,针对不开源的第三方库设定的自定义信息安全漏洞库。
本发明的有益效果在于:获取权威信息安全漏洞库的所公开的漏洞列表,可以从实时更新最新的漏洞信息的漏洞库中,便捷地建立起具有全面性的漏洞列表的基本结构,且无需消耗资源,价格低廉;而通过自定义信息安全漏洞库获取的漏洞列表,可以增强漏洞列表的针对性;同时,在自定义信息安全漏洞库的漏洞列表中,一般可以任意设定接口,可以与用户行为结合,方便扩展,扩展性佳,灵活性强。
基于上述漏洞列表,对程序第三方库进行的扫描,既全面又拥有针对性,有利于评价效果的提升。同样的,对程序第三方库进行安全评估也因此而更加准确。提高基于文件系统软件审查的第三方库安全评估的检测效率。
而且,本申请不需要安全人员和第三方工具的介入,普通开发人员即可进行第三方库文件的安全性评估,降低了安全性评估成本,提高了软件产品的安全性,同时还可以减小安全性评估的时间,缩短了软件开发周期。
附图说明
下面结合附图详述本发明的具体结构
图1为本发明的第一实施例中动态检测程序第三方库并进行安全评估的方法流程图;
图2为本发明的第二实施例中对程序第三方库进行扫描的步骤流程图;
图3为本发明的第三实施例中获取第三方文件信息的步骤流程图;
图4为本发明的第一实施例中动态检测程序第三方库并进行安全评估的系统结构图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图1,图1为本发明的第一实施例中动态检测程序第三方库并进行安全评估的方法流程图。
本申请提供了一种动态检测程序第三方库并进行安全评估的方法,方法具体包括如下步骤:
步骤S100、获取权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表;
步骤S200、根据权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表,对程序第三方库进行扫描,获取程序第三方库的漏洞信息;
步骤S300、根据程序第三方库的漏洞信息,对程序第三方库进行安全评估;其中,自定义信息安全漏洞库包括,针对不开源的第三方库设定的自定义信息安全漏洞库。
运用本方法时,整体效果在于:获取权威信息安全漏洞库的所公开的漏洞列表,可以从实时更新最新的漏洞信息的漏洞库中,便捷地建立起具有全面性的漏洞列表的基本结构,且无需消耗资源,价格低廉;而通过自定义信息安全漏洞库获取的漏洞列表,可以增强漏洞列表的针对性;同时,在自定义信息安全漏洞库的漏洞列表中,一般可以任意设定接口,可以与用户行为结合,方便扩展,扩展性佳,灵活性强。
进一步地,基于上述漏洞列表,对程序第三方库进行的扫描,既全面又拥有针对性,有利于评价效果的提升。同样的,对程序第三方库进行安全评估也因此而更加准确。提高基于文件系统软件审查的第三方库安全评估的检测效率。
综上所述,本申请不需要安全人员和第三方工具的介入,普通开发人员即可进行第三方库文件的安全性评估,降低了安全性评估成本,提高了软件产品的安全性,同时还可以减小安全性评估的时间,缩短了软件开发周期。
优选地,上述中的权威信息安全漏洞库,包括NVD和CNNVD。NVD可以提供CVE列表,CNNVD提供CNNVD漏洞列表。通过对NVD和CNNVD的实时连接及实时获取,可以实时更新漏洞列表,更快捷而准确地检测第三方程序库。
其中,NVD全称为National Vulnerability Database,即美国国家漏洞库;CNNVD全称为China National Vulnerability Database of Information Security,即中国国家信息安全漏洞库。CVE,全称为Coommon Vulnerabilities and Exepoures,即公共漏洞和暴露。
上述技术方案中,在上报第三方库漏洞信息的时候,同时携带对应的第三方库信息,包括并不限于第三方库的文件名,版本号,发布时间及厂商等。
其中,自定义安全漏洞库,包括超大型公司或者大型安全企业对某些不开源的第三方库进行漏洞统计与展示的企业自定义安全漏洞库以及用户自己定义的私人自定义安全漏洞库,而用户在企业自定义安全漏洞库的基础上所开发的私人自定义安全漏洞库也从属于自定义安全漏洞库。
程序第三方库,指的是除了本地库,系统类库以外的类库,需要显示的申明才可以使用。程序第三方库包括开源与商业使用两种,目前大部分第三方库漏洞平台展示的都是开源的第三方库漏洞信息,商业使用的第三方库一般会以内部对接或其他方式申明。
请参阅图2,图2为本发明的第二实施例中对程序第三方库进行扫描的步骤流程图;
优选地,对程序第三方库进行扫描的步骤中包括:
步骤S210、确定程序第三方库的框架类型;
步骤S220、根据程序第三方库的框架类型,获取第三方库的文件信息。
在确定了程序第三方库的框架类型之后,可以更方便地针对该框架的类型,为进行下一步操作制定相应策略信息,适配性更佳。可以理解的,程序第三方库的框架可以基于Web的框架进行。
具体的,WEB框架是指为了提高WEB程序开发效率而开发出来的中间件基础平台,框架中已做好了一些模板,开发人员通过调用框架来开发程序,以节省时间和成本。在基于WEB框架开发的应用程序,第三方库一般都会存在默认的位置,如Tomcat,一般第三方库会放在下述目录中:
${CATALINA_HOME}/webapps/${APPLICATION}/WEB-INF/classes/lib目录,其中,CATALINA_HOME为Tomcat的安装目录,APPLICATION为应用的名称。
请参阅图3,图3为本发明的第三实施例中获取第三方文件信息的步骤流程图。
在步骤S220中,获取第三方库的文件信息的步骤具体包括:
步骤S221、获取程序第三方库文件目录位置;
步骤S222、监听程序的文件流和网络流,确认程序的文件流和网络流中有第三方库文件信息;
步骤S223、获取程序的文件流和网络流中的第三方库信息。
在步骤S221、获取程序第三方库文件目录位置中,可以凭借目录位置找到主要的第三方库文件信息,并保证动态检测的过程可以较顺利地进行。
步骤S222、监听程序的文件流和网络流,确认程序的文件流和网络流中有第三方库文件信息。
上述技术方案中,文件流是对文件进行读取、写入、打开和关闭的操作;网络流,写入操作是指从来源端内存缓冲区到网络上的数据传输;读取操作是从网络上到接收端内存缓冲区的数据传输。监听程序的文件流和网络流,可以实时动态获取并检测传播过程中的第三方库文件信息。
在步骤S221、获取程序第三方库文件目录位置中,若程序采用MAVEN框架,则包括如下步骤:
步骤S221-10、从POM文件中获取对应的第三方库信息。
基于MAVEN框架搭建的项目中,通过POM文件定义项目的基本信息,用于描述项目如何搭建,申明项目的第三方库依赖等。其中,一个POM包含了关于项目中所有重要信息,扫描POM文件即可获取相应的第三方库信息。
在步骤S221、获取第三方库的文件信息的步骤中,若目录位置未处于默认位置,则还包括:
步骤S221-20、采用IAST插桩技术,获取程序启动参数;
步骤S221-21、根据程序启动参数,获取第三方库文件目录位置。
其中,插桩技术动态获取,指的是利用IAST技术,在文件流,网络流等接口插桩,如果获取的文件流或者网络流等包含了第三方库信息,则可以进而获取相应的第三方库信息。
上述技术方案中,通过对MAVEN框架的支持和自定义扫描路径,追踪文件流,网络流等方式可以使得第三方库信息更加完整,避免误报。
步骤S223、获取程序的文件流和网络流中的第三方库信息。
在步骤S200、获取程序第三方库的漏洞信息的步骤中,还包括:
步骤S230、根据程序第三方库的文件信息,获取待筛选的第三方漏洞信息;
步骤S240、对待筛选的第三方漏洞信息进行筛选,获取程序第三方库的漏洞信息。
可以理解的是,在步骤S230、根据程序第三方库的文件信息,获取待筛选的第三方漏洞信息中,程序第三方库的文件信息包括第三方库的文件信息的操作信息及第三方库的文件名,版本号,发布时间及厂商等信息。
可选地,在步骤S240、对待筛选的第三方漏洞信息进行筛选中,具体包括:
步骤S240-10、获取已修复的第三方库漏洞信息名单;
步骤S240-11、按照已修复的第三方库漏洞信息名单,对待筛选的第三方库漏洞信息进行筛选,筛选出未修复漏洞信息。
可以理解的是,通过连接权威信息安全漏洞库及自定义信息安全漏洞库,可以获得漏洞列表,从漏洞列表可以选取已修复的第三方库漏洞信息名单,已修复的漏洞信息可以不属于安全评估的考量范围之内,也可以按照一定的比例关系,降低该漏洞的权重比例。相对应的,筛选出未修复漏洞信息属于安全评估的指标。应用步骤S240-10、步骤S240-11所筛选出的未修复漏洞信息,其全面性相对较高,处理速度相对较慢。
可选地,在步骤S240、对待筛选的第三方漏洞信息进行筛选中,具体包括:
步骤S240-20、获取高危的第三方库漏洞信息名单;
步骤S240-21、按照高危的第三方库漏洞信息名单,对待筛选的第三方库漏洞信息进行筛选,筛选出高危漏洞信息。
步骤S240-20、获取高危的第三方库漏洞信息名单;
上述中,通过连接权威信息安全漏洞库及自定义信息安全漏洞库,可以获得漏洞列表,在漏洞列表中进行筛选,可以选取高危的第三方库漏洞信息名单。
步骤S240-21、按照高危的第三方库漏洞信息名单,对待筛选的第三方库漏洞信息进行筛选,筛选出高危漏洞信息。针对筛选出的高危漏洞信息,在进行安全评估时,其权重比例较大。而运用步骤S240-20、步骤S240-21所筛选出的高危漏洞信息,其针对性更强,运行速度相对较高。
基于此,步骤S240-10、步骤S240-11及步骤S240-20、步骤S240-21属于两组互不干扰的筛选方式,二者可以单独对待筛选的漏洞信息进行筛选,以此保证所筛选出具有较高针对性的数据;也可以同时采用步骤S240-10、步骤S240-11及步骤S240-20、步骤S240-21两种方法,以此对待筛选的漏洞信息进行筛选,从而保证在对程序第三方库进行安全评估时,其评估的结果更全面也更有针对性。
上述中的步骤S300、根据程序第三方库的漏洞信息,对程序第三方库进行安全评估,具体包括:
步骤S310、对程序第三方库的漏洞信息进行多维度划分,获取多维度漏洞信息;
步骤S320、根据多维度漏洞信息,实现程序第三方库的安全评估;
其中,多维度漏洞信息包括漏洞信息严重程度、漏洞发布时间、漏洞修复再判断及漏洞数量。
上述技术方案中,从漏洞信息本身的严重程度,包括漏洞的严重等级,漏洞的影响范围等。漏洞的严重等级可以参考各平台所公布的具体评价排行榜,漏洞的影响范围可以参考相关杂志信息及新闻信息获取。
从漏洞的发布时间考虑,当该漏洞发布时间较早时,大多数黑客已经熟知攻击手段,那么危害性较高。某些自动扫描漏洞并攻击的工具也会记录相关漏洞信息,自动化攻击的危害较大又或者某些0Day漏洞,危害性最大,因为使用者可能来不及或者不了解修复方式,造成漏洞一直存在,危害性非常大。
与之相应的,如果该漏洞时间较晚时,大多数黑客并不熟知该攻击手段,在评价漏洞时,则针对该漏洞评价时,漏洞时间的权重降低评价较低。
上述技术方案中,漏洞修复再判断是因为在某些第三方库存在文件上传漏洞时,而应用程序中已经显示的禁止文件上传,则该漏洞信息也不参与安全特征计算。
请参阅图4,图4为本发明的第一实施例中动态检测程序第三方库并进行安全评估的系统结构图。
本申请还提供了一种动态检测程序第三方库并进行安全评估的系统,系统包括:漏洞库获取模块、第三方漏洞获取模块、漏洞评估模块;
漏洞库获取模块,用于获取权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表;
第三方漏洞获取模块,用于根据权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表,对程序第三方库进行扫描,获取程序第三方库的漏洞信息;
漏洞评估模块,用于根据程序第三方库的漏洞信息,对程序第三方库进行安全评估;
其中,自定义信息安全漏洞库包括,针对不开源的第三方库设定的自定义信息安全漏洞库。
运用动态检测程序第三方库并进行安全评估的系统,配合动态检测程序第三方库并进行安全评估的方法,可以更好地发挥检测的效果,在制作、改造该系统时,可以按照上述模块进行。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上仅为动态检测程序第三方库并进行安全评估的方法及系统的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.动态检测程序第三方库并进行安全评估的方法,其特征在于,所述方法具体包括如下步骤:
获取权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表;
根据所述权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表,对程序第三方库进行扫描,获取程序第三方库的漏洞信息;
根据所述程序第三方库的漏洞信息,对所述程序第三方库进行安全评估;其中,所述自定义信息安全漏洞库包括,针对不开源的第三方库设定的自定义信息安全漏洞库。
2.如权利要求1所述的动态检测程序第三方库并进行安全评估的方法,其特征在于,所述对程序第三方库进行扫描的步骤中包括:
确定程序第三方库的框架类型;
根据所述程序第三方库的框架类型,获取第三方库的文件信息。
3.如权利要求2所述的动态检测程序第三方库并进行安全评估的方法,其特征在于,所述获取第三方库的文件信息的步骤中,具体包括:
获取程序第三方库文件目录位置;
监听程序的文件流和网络流,确认所述程序的文件流和网络流中有第三方库文件信息;
获取所述程序的文件流和网络流中的第三方库信息。
4.如权利要求3所述的动态检测程序第三方库并进行安全评估的方法,其特征在于,所述获取程序第三方库文件目录位置的步骤中,若程序采用MAVEN框架,则包括如下步骤:
从POM文件中获取对应的第三方库信息。
5.如权利要求3所述的动态检测程序第三方库并进行安全评估的方法,其特征在于,所述获取第三方库的文件信息的步骤中,若目录位置未处于默认位置,则还包括:
采用IAST插桩技术,获取程序启动参数;
根据所述程序启动参数,获取第三方库文件目录位置。
6.如权利要求3所述的动态检测程序第三方库并进行安全评估的方法,其特征在于,所述获取程序第三方库的漏洞信息的步骤中,具体包括:
根据所述程序第三方库的文件信息,获取待筛选的第三方漏洞信息;
对所述待筛选的第三方漏洞信息进行筛选,获取所述程序第三方库的漏洞信息。
7.如权利要求6所述的动态检测程序第三方库并进行安全评估的方法,其特征在于,所述对所述待筛选的第三方漏洞信息进行筛选的步骤中,具体包括:
获取已修复的第三方库漏洞信息名单;
按照所述已修复的第三方库漏洞信息名单,对所述待筛选的第三方库漏洞信息进行筛选,筛选出未修复漏洞信息。
8.如权利要求6所述的动态检测程序第三方库并进行安全评估的方法,其特征在于,所述对所述待筛选的第三方库漏洞信息进行筛选的步骤中,具体包括:
获取高危的第三方库漏洞信息名单;
按照所述高危的第三方库漏洞信息名单,对所述待筛选的第三方库漏洞信息进行筛选,筛选出高危漏洞信息。
9.如1~8任意一项权利要求所述的动态检测程序第三方库并进行安全评估的方法,其特征在于,所述根据所述程序第三方库的漏洞信息,对所述程序第三方库进行安全评估的步骤中,具体包括:
对所述程序第三方库的漏洞信息进行多维度划分,获取多维度漏洞信息;
根据所述多维度漏洞信息,实现所述程序第三方库的安全评估;
其中,所述多维度漏洞信息包括漏洞信息严重程度、漏洞发布时间、漏洞修复再判断及漏洞数量。
10.一种动态检测程序第三方库并进行安全评估的系统,其特征在于,所述系统包括:漏洞库获取模块、第三方库漏洞获取模块、漏洞评估模块;
所述漏洞库获取模块,用于获取权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表;
所述第三方库漏洞获取模块,用于根据所述权威信息安全漏洞库及自定义信息安全漏洞库的漏洞列表,对程序第三方库进行扫描,获取程序第三方库的漏洞信息;
所述漏洞评估模块,用于根据所述程序第三方库的漏洞信息,对所述程序第三方库进行安全评估;
其中,所述自定义信息安全漏洞库包括,针对不开源的第三方库设定的自定义信息安全漏洞库。
CN201911234618.3A 2019-12-05 2019-12-05 动态检测程序第三方库并进行安全评估的方法及系统 Active CN111046386B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911234618.3A CN111046386B (zh) 2019-12-05 2019-12-05 动态检测程序第三方库并进行安全评估的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911234618.3A CN111046386B (zh) 2019-12-05 2019-12-05 动态检测程序第三方库并进行安全评估的方法及系统

Publications (2)

Publication Number Publication Date
CN111046386A true CN111046386A (zh) 2020-04-21
CN111046386B CN111046386B (zh) 2020-11-20

Family

ID=70234746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911234618.3A Active CN111046386B (zh) 2019-12-05 2019-12-05 动态检测程序第三方库并进行安全评估的方法及系统

Country Status (1)

Country Link
CN (1) CN111046386B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111898131A (zh) * 2020-05-12 2020-11-06 深圳开源互联网安全技术有限公司 Js脚本文件漏洞检测方法及系统
CN112632551A (zh) * 2021-03-11 2021-04-09 北京邮电大学 一种第三方库信息泄露检测方法及装置
CN112784279A (zh) * 2021-01-04 2021-05-11 北京交通大学 基于依赖库版本信息的软件产品安全风险评估方法
CN113535546A (zh) * 2021-06-17 2021-10-22 深圳开源互联网安全技术有限公司 一种开源组件评估方法、装置及计算机可读存储介质
CN113761519A (zh) * 2021-08-19 2021-12-07 深圳开源互联网安全技术有限公司 一种Web应用程序的检测方法、装置及存储介质
CN113886112A (zh) * 2021-09-27 2022-01-04 深圳开源互联网安全技术有限公司 一种漏洞修复确认方法、装置、终端及存储介质
CN115134121A (zh) * 2022-05-30 2022-09-30 深圳开源互联网安全技术有限公司 基于rasp的第三方库安全攻击防护方法及相关装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942494A (zh) * 2014-04-01 2014-07-23 中国科学院声学研究所 恶意软件审核方法和系统
CN105488400A (zh) * 2014-12-13 2016-04-13 哈尔滨安天科技股份有限公司 一种恶意网页综合检测方法及系统
CN107832614A (zh) * 2017-11-29 2018-03-23 四川兴昌盛科技有限公司 一种计算机病毒防御方法
CN108537042A (zh) * 2018-04-04 2018-09-14 上海有云信息技术有限公司 自定义插件生成方法、装置、设备及存储介质
CN108763928A (zh) * 2018-05-03 2018-11-06 北京邮电大学 一种开源软件漏洞分析方法、装置和存储介质
CN109255235A (zh) * 2018-09-17 2019-01-22 西安电子科技大学 基于用户态沙箱的移动应用第三方库隔离方法
CN109753807A (zh) * 2019-01-09 2019-05-14 国家保密科技测评中心 安全检测方法和装置
CN110276171A (zh) * 2019-06-10 2019-09-24 深圳开源互联网安全技术有限公司 第三方库文件安全评估方法、系统、装置及存储介质
CN110362966A (zh) * 2019-07-11 2019-10-22 华东师范大学 一种基于模糊哈希的跨平台固件同源性安全检测方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942494A (zh) * 2014-04-01 2014-07-23 中国科学院声学研究所 恶意软件审核方法和系统
CN105488400A (zh) * 2014-12-13 2016-04-13 哈尔滨安天科技股份有限公司 一种恶意网页综合检测方法及系统
CN107832614A (zh) * 2017-11-29 2018-03-23 四川兴昌盛科技有限公司 一种计算机病毒防御方法
CN108537042A (zh) * 2018-04-04 2018-09-14 上海有云信息技术有限公司 自定义插件生成方法、装置、设备及存储介质
CN108763928A (zh) * 2018-05-03 2018-11-06 北京邮电大学 一种开源软件漏洞分析方法、装置和存储介质
CN109255235A (zh) * 2018-09-17 2019-01-22 西安电子科技大学 基于用户态沙箱的移动应用第三方库隔离方法
CN109753807A (zh) * 2019-01-09 2019-05-14 国家保密科技测评中心 安全检测方法和装置
CN110276171A (zh) * 2019-06-10 2019-09-24 深圳开源互联网安全技术有限公司 第三方库文件安全评估方法、系统、装置及存储介质
CN110362966A (zh) * 2019-07-11 2019-10-22 华东师范大学 一种基于模糊哈希的跨平台固件同源性安全检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周敏等: "一种面向 Android 应用第三方库的安全性分析框架", 《计算机应用研究》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111898131A (zh) * 2020-05-12 2020-11-06 深圳开源互联网安全技术有限公司 Js脚本文件漏洞检测方法及系统
CN111898131B (zh) * 2020-05-12 2023-04-04 深圳开源互联网安全技术有限公司 Js脚本文件漏洞检测方法及系统
CN112784279A (zh) * 2021-01-04 2021-05-11 北京交通大学 基于依赖库版本信息的软件产品安全风险评估方法
CN112632551A (zh) * 2021-03-11 2021-04-09 北京邮电大学 一种第三方库信息泄露检测方法及装置
CN112632551B (zh) * 2021-03-11 2021-09-28 北京邮电大学 一种第三方库信息泄露检测方法及装置
CN113535546A (zh) * 2021-06-17 2021-10-22 深圳开源互联网安全技术有限公司 一种开源组件评估方法、装置及计算机可读存储介质
CN113535546B (zh) * 2021-06-17 2023-09-08 深圳开源互联网安全技术有限公司 一种开源组件评估方法、装置及计算机可读存储介质
CN113761519A (zh) * 2021-08-19 2021-12-07 深圳开源互联网安全技术有限公司 一种Web应用程序的检测方法、装置及存储介质
CN113761519B (zh) * 2021-08-19 2023-04-25 深圳开源互联网安全技术有限公司 一种Web应用程序的检测方法、装置及存储介质
CN113886112A (zh) * 2021-09-27 2022-01-04 深圳开源互联网安全技术有限公司 一种漏洞修复确认方法、装置、终端及存储介质
CN115134121A (zh) * 2022-05-30 2022-09-30 深圳开源互联网安全技术有限公司 基于rasp的第三方库安全攻击防护方法及相关装置

Also Published As

Publication number Publication date
CN111046386B (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
CN111046386B (zh) 动态检测程序第三方库并进行安全评估的方法及系统
Kong et al. Automated testing of android apps: A systematic literature review
Mannan et al. Understanding code smells in android applications
CN111488578A (zh) 现代应用程序的连续漏洞管理
CN107885660B (zh) 基金系统自动化测试管理方法、装置、设备及存储介质
US9710257B2 (en) System and method to map defect reduction data to organizational maturity profiles for defect projection modeling
US8627296B1 (en) Unified unit and integration test with automatic mock creation
Theisen et al. Approximating attack surfaces with stack traces
CN110554965B (zh) 自动化模糊测试方法及相关设备、计算机可读存储介质
US20120159443A1 (en) System and method for reducing test effort by object risk analysis
Kirbas et al. The relationship between evolutionary coupling and defects in large industrial software
CN112182588A (zh) 基于威胁情报的操作系统漏洞分析检测方法及系统
Ren et al. Root cause localization for unreproducible builds via causality analysis over system call tracing
CN111258614B (zh) 项目第三方库升级异常检测方法及系统、设备及存储介质
Sajnani et al. Is popularity a measure of quality? an analysis of maven components
CN114626069A (zh) 威胁建模方法及装置
Autili et al. Software engineering techniques for statically analyzing mobile apps: research trends, characteristics, and potential for industrial adoption
Hong et al. xVDB: A high-coverage approach for constructing a vulnerability database
Dalton et al. Is exceptional behavior testing an exception? an empirical assessment using java automated tests
Junior et al. Dynamic testing techniques of non-functional requirements in mobile apps: A systematic mapping study
Tang et al. A systematical study on application performance management libraries for apps
Beyer et al. Analyzing the relationships between android api classes and their references on stack overflow
Holl et al. Quality assurance of mobile applications: A systematic mapping study
Wu et al. CydiOS: A Model-Based Testing Framework for iOS Apps
Memon Advances in Computers

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