CN111666203B - 风险软件的定位处理方法、装置、电子设备及存储介质 - Google Patents

风险软件的定位处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111666203B
CN111666203B CN202010305185.2A CN202010305185A CN111666203B CN 111666203 B CN111666203 B CN 111666203B CN 202010305185 A CN202010305185 A CN 202010305185A CN 111666203 B CN111666203 B CN 111666203B
Authority
CN
China
Prior art keywords
software
risk
information
identification information
risk software
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.)
Active
Application number
CN202010305185.2A
Other languages
English (en)
Other versions
CN111666203A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010305185.2A priority Critical patent/CN111666203B/zh
Publication of CN111666203A publication Critical patent/CN111666203A/zh
Application granted granted Critical
Publication of CN111666203B publication Critical patent/CN111666203B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种风险软件的定位处理方法、装置、电子设备及存储介质,涉及软件安全领域。具体实现方案为:采集风险软件的标识信息;检测预先建立的软件信息数据库中是否存在风险软件的标识信息;若存在,从软件信息数据库中获取风险软件的标识信息对应的风险软件在代码库中的位置信息,与现有技术的人为手动定位风险软件的位置相比,通过采用本申请的上述技术方案,可以快速准确地定位到风险软件的位置信息,能够有效地缩短风险软件的定位时间,有效地提高风险软件的定位效率,进而方便代码库的责任人员及时、准确地对该风险软件进行处理,及时止损,能够有效地降低企业的代码库中的软件的风险,提高企业的代码库的软件的安全性。

Description

风险软件的定位处理方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术,具体涉及软件安全领域,具体涉及一种风险软件的定位处理方法、装置、电子设备及存储介质。
背景技术
随机计算机技术的发展,基于计算机技术所实现的各行各业的软件开发越来越多。
现在的很多企业的软件开发,都参考了开源社区的软件。而开源社区的软件也通常存在较为自身漏洞或者被攻击的风险。这样势必会对采用开源社区的软件的企业带来重大的危害。
而且,企业往往有着数百万、甚至上亿、上百亿行的代码,当采用的开源软件发生风险时,需要责任人员从代码库中挨个手动查找风险软件的位置,以对风险软件进行定位,以便及时对风险软件进行处理。但是,现有技术的该方式对代码库中的风险软件的定位过程非常耗时,对风险软件的定位效率非常低。
发明内容
为了解决上述技术问题,本申请提供了一种用于风险软件的定位处理方法、装置、电子设备及存储介质。
根据第一方面,提供了一种风险软件的定位处理方法,包括:
采集风险软件的标识信息;
检测预先建立的软件信息数据库中是否存在所述风险软件的标识信息对应的风险软件;
若存在,从所述软件信息数据库中获取所述风险软件的标识信息对应的风险软件在代码库中的位置信息。
根据第二方面,提供了一种风险软件的定位处理装置,包括:
采集模块,用于采集风险软件的标识信息;
检测模块,用于检测预先建立的软件信息数据库中是否存在所述风险软件的标识信息对应的风险软件;
定位模块,用于若存在,从所述软件信息数据库中获取所述风险软件的标识信息对应的风险软件在代码库中的位置信息。
根据第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上所述的方法。
根据第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方法。
根据本申请的技术,可以快速准确地定位到风险软件的位置信息,能够有效地缩短风险软件的定位时间,有效地提高风险软件的定位效率,进而方便代码库的责任人员及时、准确地对该风险软件进行处理,及时止损,能够有效地降低企业的代码库中的软件的风险,提高企业的代码库的软件的安全性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的示意图;
图2是根据本申请第二实施例的示意图;
图3是根据本申请第三实施例的示意图;
图4是根据本申请第四实施例的示意图;
图5是用来实现本申请实施例的风险软件的定位处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请第一实施例的示意图;如图1所示,本实施例提供一种风险软件的定位处理方法,具体可以包括如下步骤:
S101、采集风险软件的标识信息;
S102、检测预先建立的软件信息数据库中是否存在风险软件的标识信息;若存在,执行步骤S103;否则,暂不执行任何处理,结束。
S103、从软件信息数据库中获取风险软件的标识信息对应的风险软件在代码库中的位置信息。
本实施例的风险软件的定位处理方法的执行主体可以为风险软件的定位处理装置,该风险软件的定位处理装置可以为一个独立的电子实体,或者也可以为采用软件集成的应用,能够基于预先建立的软件信息数据库,对企业的代码库中的风险软件进行定位,以便于及时对企业的代码库中的风险软件进行升级、漏洞修复或者删除等处理,以保证企业的代码库中的软件的安全性。
本实施例的风险软件的定位处理装置可以设置在企业的管理***侧,对应地,每个公司内均可以设置该风险软件的定位处理装置,以访问该企业的软件信息数据库,在该企业的代码库中存在风险软件时,及时准确地对风险软件进行定位。
实际应用中,开源代码公司会实时监控自己公司的软件,在该公司的软件自身出现漏洞或者存在被频繁攻击等风险时,可以在该公司的软件发布平台发布存在风险的软件名称以及版本号,并公布相应的升级版本以克服风险。或者一些非盈利性的软件组织机构也会实时监控该行业的所有开源软件,在检测到某款软件自身出现漏洞或者存在被频繁攻击等风险时,也会发布风险软件的名称和版本号以及所属公司等信息,并进一步地还可以提供一些解决方案,如从该公司的什么地址获取最新版本的软件进行升级以克服风险。也就是说,在本实施例中,软件的名称和版本号共同唯一标识一款软件。
本实施例的风险软件的定位处理装置可以监控各开源代码公司的软件发布平台或者非盈利性的软件组织机构公布的风险软件信息,采集风险软件的名称以及版本号。本实施例中以风险软件的标识信息包括风险软件的名称和版本号为例,实际应用中,也可以采用其他标识信息如基于风险软件的名称和版本号生成的一个唯一ID来标识该风险软件,在此不再一一举例赘述。然后检测预先建立的软件信息数据库中是否包括风险软件的名称和版本号,若包括,确定对应的企业的代码库中存在该风险软件的名称和版本号对应的风险软件,此时可以从该软件信息数据库中获取该风险软件在代码库中的位置信息。也就是说,本实施例中预先建立的软件信息数据库中可以记录有该企业的所有软件的信息,每一条软件的信息中至少包括该软件的名称、版本号以及该软件在代码库中的位置信息。例如,本实施例中软件在代码库中的位置信息可以为该软件在代码库中的开始行的位置,或者在代码库中的范围如第几行到第几行。
本实施例的风险软件的定位处理方法,通过采集风险软件的标识信息;检测预先建立的软件信息数据库中是否存在风险软件的标识信息;若存在,从软件信息数据库中获取风险软件的标识信息对应的风险软件在代码库中的位置信息,与现有技术的人为手动定位风险软件的位置相比,通过采用本实施例的上述技术方案,可以快速准确地定位到风险软件的位置信息,能够有效地缩短风险软件的定位时间,有效地提高风险软件的定位效率,进而方便代码库的责任人员及时、准确地对该风险软件进行处理,及时止损,能够有效地降低企业的代码库中的软件的风险,提高企业的代码库的软件的安全性。
图2是根据本申请第二实施例的示意图;本实施例的风险软件的定位处理方法,在上述图1所示实施例的技术方案的基础上,进一步更加详细地描述本申请的技术方案。如图2所示,本实施例的风险软件的定位处理方法,具体可以包括如下步骤:
S201、基于软件依赖管理工具,获取代码库中的所有软件的标识信息以及位置信息;
S202、建立包括代码库中的所有软件的标识信息和位置信息的软件信息数据库;
S203、在软件信息数据库中配置各软件的责任人的联系方式;
同理,本实施例的软件的标识信息可以包括软件的名称以及版本号。本实施例的该步骤S201和S202为本申请实施例的建立软件信息数据库的实现方式。该建立软件信息库的过程可以离线进行,在风险软件定位前完成即可。其中该步骤S203为建立软件信息数据库的可选方式,实际应用中,该软件信息数据库中也可以不包括责任人的联系方式。本实施例的联系方式可以包括电话号码、即时通讯账号以及邮箱等等中的至少一种。
在实际应用中,每种编程语言都有固定的软件依赖管理工具,如Java有Ant、Maven、Gradle等软件依赖管理工具,C++有GCC、Makefile、Cmake等软件依赖管理工具,其他编程语言也具有其对应的软件依赖管理工具,在此不再一一举例赘述。企业的代码库中使用软件的情况,会记录在依赖管理工具的描述文件里。该描述文件是个固定的文件,记录了代码库中使用了哪些软件,比如Maven的描述文件pom.xml,使用的软件会在此文件中以固定的格式写明。比如使用的软件fastjson,就会采用下面这样的格式,明确的写在pom.xml里:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.51</version>
</dependency>
该步骤S201基于软件依赖管理工具,获取代码库中的所有软件的标识信息以及位置信息,可以包括如下两种方式:
第一种方式:从依赖管理工具的描述文件中获取代码库中的所有软件的标识信息以及位置信息。同理,本实施例中,以软件的标识信息为软件的名称和版本号为例。具体实现时,可以编写一个工具,扫描软件依赖管理工具的描述文件如Maven的pom.xml,包括使用软件的名称、版本号、具体使用的位置信息等。由于每种编程语言的软件依赖管理工具的描述文件不同,所以此扫描工具的实现不同。以Java的Maven为例,这个工具的实现可以是在公司全部的代码库里,寻找所有含有pom.xml的代码库,并扫描所有的pom.xml文件,获取其中记录的软件的名称和版本号。
但是,在实际应用中有些软件的版本号可以不明确记录在pom.xml里,而是可以记录在其他的文件里。此时还需要扫描软件依赖管理工具的其他文件获取软件的版本号。
第二种方式:通过使用依赖管理工具提供的命令,从软件依赖管理工具中获取代码库中的所有软件的标识信息以及位置信息。在实际应用中,每个软件依赖管理工具可以提供命令查询的服务,例如,Java的软件管理工具Maven提供了「mvn dependencies」命令,根据该命令可以查出当前代码库所使用户的软件的名词、版本号以及位置信息等,采用该方式,对同一企业的所有代码库依次进行分析,可以获取到同一企业的所有代码库的所有软件的名称、版本号以及位置信息等。可选地,如果该企业包括有多个代码库时,还可以获取到每个软件所在的代码库的标识。
相对于上上述第一种实现方式,通过使用依赖管理工具提供的命令获取代码库中的所有软件的标识信息以及位置信息的方式,信息获取会更加全面、准确,同时避免再从文件中扫描获取,实现更为简单。
本实施例的软件信息数据库可以采用MySQL或Elasticsearch等数据库来实现。
需要说明的是,本实施例中,在基于上述步骤S201-S203建立软件信息数据库之后,还可以包括基于软件依赖管理工具,更新软件信息数据库。由于企业的代码库中每天都有可能写入新的软件的代码,可以设置每次写入新的软件代码时,均更新软件信息数据库。具体地,可以通过软件依赖管理工具来确定代码库是否写入新的软件代码,一旦写入,便基于新写入的软件的名称、版本号以及位置信息,或者还可以包括所属代码库的标识以及责任人的联系方式,及时更新软件信息数据库。
另外,可选地,本实施例中还可以设置为定期更新软件信息数据库。即对于代码库中新写入的软件代码,不用实时更新软件信息数据库。而是每天定时基于软件依赖管理工具,检测代码库中是否有新写入的软件代码,具体检测方式与上述实施例中建立软件信息数据库时相同,并将新写入的软件的名称、版本号以及位置信息,或者还可以包括所属代码库的标识以及责任人的联系方式,及时更新软件信息数据库。
S204、采集风险软件的标识信息;
从该步骤开始,便开始线上对风险软件进行定位。
S205、检测软件信息数据库中是否存在风险软件的标识信息;若存在,执行步骤S206;否则,暂不执行任何处理,结束。
S206、从软件信息数据库中获取风险软件的标识信息对应的风险软件在代码库中的位置信息;
S207、基于风险软件的标识信息和位置信息,进行风险报警;
例如,该步骤实现时具体可以包括如下至少一种方式:
(1)基于风险软件的标识信息和位置信息,发出语音报警;
该方式中采用语音的方式报警,例如可以直接通过麦克风发出语音报警,语音报警信息中还需要携带风险软件的标识信息如软件的名称和版本号以及软件的位置信息。
(2)基于风险软件的标识信息和位置信息,在当前界面弹出报警提示;和
该方式采用显示的方式报警,例如可以在风险软件的定位处理装置的当前界面弹出携带风险软件的标识信息以及软件的位置信息的报警消息。
(3)从软件信息数据库中获取风险软件的标识信息对应的责任人的联系方式;并基于风险软件的标识信息和位置信息以及责任人的联系方式,发出报警提示,以通知责任人去处理风险软件。
该种方式是以通知责任人的方式进行报警,例如,可以通过邮件、安全工单或者实时通信向责任人发出携带风险软件的标识信息和位置信息的报警提示,以通知责任人立刻去处理风险软件。具体地,为了避免风险软件的进一步危害,可以删除风险软件,或者升级该风险软件以修复漏洞。
S208、获取风险软件的处理信息;
S209、根据风险软件的处理信息,更新软件信息数据库。
本实施例中,对上述风险软件的处理信息可以包括删除代码库中的该风险软件,或者从风险软件的发布平台获取升级版本,升级该风险软件,使其变得安全。
具体地,本实施例的风险软件的定位处理装置,可以基于软件依赖管理,检测到该风险软件的处理信息。如参考上述建立软件信息数据库的过程,可以从软件依赖管理工具的描述文件中获知该风险软件的名称是否还存在,若存在,进一步描述文件中该风险软件的版本号是否与软件信息数据库中的版本号一致,若一致,则认为还是风险软件,此时可以再次发出报警。若不一致,则确定,该风险软件已经升级,此时进一步获取升级后的软件的位置信息,并根据升级后的软件的版本号以及位置信息,更新软件信息数据库中的该名称对应的软件的版本号以及位置信息,从而实现更新软件信息数据库。而若从软件依赖管理工具的描述文件中获知该风险软件的名称不存在,则认为该风险软件被删除,则对应在软件信息数据库中的删除该名称对应的软件的所有信息,从而实现更新软件信息数据库。
或者可选地,也可以通过使用软件依赖管理工具提供的命令,检测代码库中该风险软件的处理信息。并在检测该风险软件升级或者删除之后,及时更新软件信息数据库,其实现过程与上述过程相似,在此不再赘述。
本实施例的风险软件的定位处理方法,可以应用到每个企业或者代码托管平台中,如可以应用在Github中。
本实施例的风险软件的定位处理方法,通过上述方式,建立包括代码库中的所有软件的标识信息以及位置信息的软件信息数据库,且无论是通过从依赖管理工具的描述文件中获取代码库中的所有软件的标识信息以及位置信息,还是通过使用依赖管理工具提供的命令,从软件依赖管理工具中获取代码库中的所有软件的标识信息以及位置信息,都能够有效地保证获取的软件的标识信息以及位置信息的准确性,进而能够有效地保证软件信息数据库的准确性,从而可以有效地提高后续基于该软件信息数据库对风险软件定位的准确性。
进一步地,本实施例中,还可以基于软件依赖管理工具,更新软件信息数据库,以保证在代码库中的软件发生更新时,软件信息数据库中的信息也能够及时更新,从而能够有效地保证软件信息数据库的准确性,进而可以有效地提高后续基于该软件信息数据库对风险软件定位的准确性。
进一步地,本实施例中,还可以基于风险软件的标识信息和位置信息,进行风险报警,例如具体可以采用语音报警、弹出界面报警以及通知责任人中至少一种方式的报警,以便于代码库中的该风险软件能够被及时处理,有效地降低风险软件的危害,提高代码库中的软件的安全性。
进一步地,本实施例中,还可以根据风险软件的处理信息,更新软件信息数据库,能够有效地保证软件信息数据库的准确性,进而可以有效地提高后续基于该软件信息数据库对风险软件定位的准确性。
图3是根据本申请第三实施例的示意图;如图3所示,本实施例提供一种风险软件的定位处理装置300,包括:
采集模块301,用于采集风险软件的标识信息;
检测模块302,用于检测预先建立的软件信息数据库中是否存在风险软件的标识信息对应的风险软件;
定位模块303,用于若存在,从软件信息数据库中获取风险软件的标识信息对应的风险软件在代码库中的位置信息。
本实施例的风险软件的定位处理装置300,通过采用上述模块实现风险软件的定位处理的实现原理以及技术效果,与上述相关方法实施例的实现相同,详细可以参考上述相关实施例的记载,在此不再赘述。
图4是根据本申请第四实施例的示意图;如图4所示,本实施例的风险软件的定位处理装置300,在上述图3所示实施例的技术方案的基础上,进一步更加详细地描述本申请的技术方案。
如图4所示,本实施例的风险软件的定位处理装置300中,还包括:
建立模块304,用于建立软件信息数据库。
进一步可选地,建立模块304,用于:
基于软件依赖管理工具,获取代码库中的所有软件的标识信息以及位置信息;
建立包括代码库中的所有软件的标识信息和位置信息的软件信息数据库。
进一步可选地,建立模块304,用于:
从软件依赖管理工具的描述文件中获取代码库中的所有软件的标识信息以及位置信息;或者
通过使用软件依赖管理工具提供的命令,从软件依赖管理工具中获取代码库中的所有软件的标识信息以及位置信息。
进一步可选地,建立模块304,建立模块,还用于:
在软件信息数据库中配置各软件的责任人的联系方式;
进一步可选地,如图4所示,本实施例的风险软件的定位处理装置300中,还包括:
更新模块305,用于基于软件依赖管理工具,更新软件信息数据库。
进一步可选地,如图4所示,本实施例的风险软件的定位处理装置300中,还包括:
报警模块306,用于基于风险软件的标识信息和位置信息,进行风险报警;
进一步可选地,采集模块301,还用于获取风险软件的处理信息;
更新模块305,还用于根据风险软件的处理信息,更新软件信息数据库。
进一步可选地,报警模块306,用于:
基于风险软件的标识信息和位置信息,发出语音报警;
基于风险软件的标识信息和位置信息,在当前界面弹出报警提示;和/或
从软件信息数据库中获取风险软件的标识信息对应的责任人的联系方式;并基于风险软件的标识信息和位置信息以及责任人的联系方式,发出报警提示,以通知责任人去处理风险软件。
本实施例的风险软件的定位处理装置300,通过采用上述模块实现风险软件的定位处理的实现原理以及技术效果,与上述相关方法实施例的实现相同,详细可以参考上述相关实施例的记载,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图5所示,是根据本申请实施例的实现风险软件的定位处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图5中以一个处理器501为例。
存储器502即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的风险软件的定位处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的风险软件的定位处理方法。
存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的风险软件的定位处理方法对应的程序指令/模块(例如,附图3和附图4所示的相关模块)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的风险软件的定位处理方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储实现风险软件的定位处理方法的电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至实现风险软件的定位处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现风险软件的定位处理方法的电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置503可接收输入的数字或字符信息,以及产生与实现风险软件的定位处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过采集风险软件的标识信息;检测预先建立的软件信息数据库中是否存在风险软件的标识信息;若存在,从软件信息数据库中获取风险软件的标识信息对应的风险软件在代码库中的位置信息,与现有技术的人为手动定位风险软件的位置相比,通过采用本申请的上述技术方案,可以快速准确地定位到风险软件的位置信息,能够有效地缩短风险软件的定位时间,有效地提高风险软件的定位效率,进而方便代码库的责任人员及时、准确地对该风险软件进行处理,及时止损,能够有效地降低企业的代码库中的软件的风险,提高企业的代码库的软件的安全性。
根据本申请实施例的技术方案,通过上述方式,建立包括代码库中的所有软件的标识信息以及位置信息的软件信息数据库,且无论是通过从依赖管理工具的描述文件中获取代码库中的所有软件的标识信息以及位置信息,还是通过使用依赖管理工具提供的命令,从软件依赖管理工具中获取代码库中的所有软件的标识信息以及位置信息,都能够有效地保证获取的软件的标识信息以及位置信息的准确性,进而能够有效地保证软件信息数据库的准确性,从而可以有效地提高后续基于该软件信息数据库对风险软件定位的准确性。
根据本申请实施例的技术方案,还可以基于软件依赖管理工具,更新软件信息数据库,以保证在代码库中的软件发生更新时,软件信息数据库中的信息也能够及时更新,从而能够有效地保证软件信息数据库的准确性,进而可以有效地提高后续基于该软件信息数据库对风险软件定位的准确性。
根据本申请实施例的技术方案,还可以基于风险软件的标识信息和位置信息,进行风险报警,例如具体可以采用语音报警、弹出界面报警以及通知责任人中至少一种方式的报警,以便于代码库中的该风险软件能够被及时处理,有效地降低风险软件的危害,提高代码库中的软件的安全性。
根据本申请实施例的技术方案,还可以根据风险软件的处理信息,更新软件信息数据库,能够有效地保证软件信息数据库的准确性,进而可以有效地提高后续基于该软件信息数据库对风险软件定位的准确性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (14)

1.一种风险软件的定位处理方法,其特征在于,所述方法应用在企业的管理***侧的风险软件的定位处理装置中,包括:
采集风险软件的标识信息;
检测预先建立的软件信息数据库中是否存在所述风险软件的标识信息对应的风险软件;
若存在,从所述软件信息数据库中获取所述风险软件的标识信息对应的风险软件在代码库中的位置信息;所述风险软件在代码库中的位置信息包括所述风险软件在代码库中的开始行的位置,或者所述风险软件在代码库中的代码行范围;
采集风险软件的标识信息,包括:
通过监控各开源代码公司的软件发布平台或者非盈利性的软件组织机构公布的风险软件信息,采集所述风险软件的名称以及版本号;
检测预先建立的软件信息数据库中是否存在所述风险软件的标识信息对应的风险软件之前,所述方法还包括:
建立所述软件信息数据库;所述软件信息数据库中包括所有软件的标识信息以及位置信息、和配置的各所述软件的责任人的联系方式。
2.根据权利要求1所述的方法,其特征在于,建立所述软件信息数据库,包括:
基于软件依赖管理工具,获取所述代码库中的所有软件的标识信息以及位置信息;
建立包括所述代码库中的所述所有软件的标识信息和位置信息的所述软件信息数据库。
3.根据权利要求2所述的方法,其特征在于,基于软件依赖管理工具,获取所述代码库中的所有软件的标识信息以及位置信息,包括:
从所述软件依赖管理工具的描述文件中获取所述代码库中的所有软件的标识信息以及位置信息;或者
通过使用所述软件依赖管理工具提供的命令,从所述软件依赖管理工具中获取所述代码库中的所有软件的标识信息以及位置信息。
4.根据权利要求2所述的方法,其特征在于,进一步地,建立所述软件信息数据库之后,所述方法还包括:
基于软件依赖管理工具,更新所述软件信息数据库。
5.根据权利要求1-4任一所述的方法,其特征在于,从所述软件信息数据库中获取所述风险软件的标识信息对应的风险软件在代码库中的位置信息之后,所述方法还包括:
基于所述风险软件的标识信息和所述位置信息,进行风险报警;
进一步地,基于所述风险软件的标识信息和所述位置信息,进行风险报警之后,所述方法还包括:
获取所述风险软件的处理信息;
根据所述风险软件的处理信息,更新所述软件信息数据库。
6.根据权利要求5所述的方法,其特征在于,基于所述风险软件的标识信息和所述位置信息,进行风险报警,包括:
基于所述风险软件的标识信息和所述位置信息,发出语音报警;
基于所述风险软件的标识信息和所述位置信息,在当前界面弹出报警提示;和/或
从所述软件信息数据库中获取所述风险软件的标识信息对应的责任人的联系方式;并基于所述风险软件的标识信息和所述位置信息以及所述责任人的联系方式,发出报警提示,以通知所述责任人去处理所述风险软件。
7.一种风险软件的定位处理装置,其特征在于,所述风险软件的定位处理装置位于企业的管理***侧,包括:
采集模块,用于采集风险软件的标识信息;
检测模块,用于检测预先建立的软件信息数据库中是否存在所述风险软件的标识信息对应的风险软件;
定位模块,用于若存在,从所述软件信息数据库中获取所述风险软件的标识信息对应的风险软件在代码库中的位置信息;所述风险软件在代码库中的位置信息包括所述风险软件在代码库中的开始行的位置,或者所述风险软件在代码库中的代码行范围;
所述采集模块,用于通过监控各开源代码公司的软件发布平台或者非盈利性的软件组织机构公布的风险软件信息,采集所述风险软件的名称以及版本号;
所述装置还包括:
建立模块,用于建立所述软件信息数据库;所述软件信息数据库中包括所有软件的标识信息以及位置信息、和配置的各所述软件的责任人的联系方式。
8.根据权利要求7所述的装置,其特征在于,所述建立模块,用于:
基于软件依赖管理工具,获取所述代码库中的所有软件的标识信息以及位置信息;
建立包括所述代码库中的所述所有软件的标识信息和位置信息的所述软件信息数据库。
9.根据权利要求8所述的装置,其特征在于,所述建立模块,用于:
从所述软件依赖管理工具的描述文件中获取所述代码库中的所有软件的标识信息以及位置信息;或者
通过使用所述软件依赖管理工具提供的命令,从所述软件依赖管理工具中获取所述代码库中的所有软件的标识信息以及位置信息。
10.根据权利要求7-9任一所述的装置,其特征在于,所述装置还包括:
更新模块,用于基于软件依赖管理工具,更新所述软件信息数据库。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
报警模块,用于基于所述风险软件的标识信息和所述位置信息,进行风险报警;
进一步地,所述采集模块,还用于获取所述风险软件的处理信息;
所述更新模块,还用于根据所述风险软件的处理信息,更新所述软件信息数据库。
12.根据权利要求11所述的装置,其特征在于,所述报警模块,用于:
基于所述风险软件的标识信息和所述位置信息,发出语音报警;
基于所述风险软件的标识信息和所述位置信息,在当前界面弹出报警提示;和/或
从所述软件信息数据库中获取所述风险软件的标识信息对应的责任人的联系方式;并基于所述风险软件的标识信息和所述位置信息以及所述责任人的联系方式,发出报警提示,以通知所述责任人去处理所述风险软件。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
CN202010305185.2A 2020-04-17 2020-04-17 风险软件的定位处理方法、装置、电子设备及存储介质 Active CN111666203B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010305185.2A CN111666203B (zh) 2020-04-17 2020-04-17 风险软件的定位处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010305185.2A CN111666203B (zh) 2020-04-17 2020-04-17 风险软件的定位处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111666203A CN111666203A (zh) 2020-09-15
CN111666203B true CN111666203B (zh) 2023-10-27

Family

ID=72382637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010305185.2A Active CN111666203B (zh) 2020-04-17 2020-04-17 风险软件的定位处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111666203B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094711B (zh) * 2021-04-30 2023-05-16 云南电网有限责任公司 基于阶段性项目开发的开源代码检测方法及***
CN113836541A (zh) * 2021-09-29 2021-12-24 天翼物联科技有限公司 基于依赖关系的软件安全检查方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473505A (zh) * 2012-06-06 2013-12-25 腾讯科技(深圳)有限公司 一种软件漏洞的扫描提示方法和装置
CN105164690A (zh) * 2013-07-12 2015-12-16 惠普发展公司,有限责任合伙企业 分析目标软件的安全漏洞
CN106372463A (zh) * 2016-08-22 2017-02-01 北京深思数盾科技股份有限公司 中间件保护方法、装置及***
CN109753807A (zh) * 2019-01-09 2019-05-14 国家保密科技测评中心 安全检测方法和装置
CN110232279A (zh) * 2019-06-06 2019-09-13 深圳前海微众银行股份有限公司 一种漏洞检测方法及装置
CN110909363A (zh) * 2019-11-25 2020-03-24 中国人寿保险股份有限公司 基于大数据的软件第三方组件漏洞应急响应***及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10706156B2 (en) * 2017-10-13 2020-07-07 1230604 BC Ltd. Security risk identification in a secure software lifecycle
US10733040B2 (en) * 2018-02-01 2020-08-04 Faro Technologies, Inc. Individual bug fixed messages for software users

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473505A (zh) * 2012-06-06 2013-12-25 腾讯科技(深圳)有限公司 一种软件漏洞的扫描提示方法和装置
CN105164690A (zh) * 2013-07-12 2015-12-16 惠普发展公司,有限责任合伙企业 分析目标软件的安全漏洞
CN106372463A (zh) * 2016-08-22 2017-02-01 北京深思数盾科技股份有限公司 中间件保护方法、装置及***
CN109753807A (zh) * 2019-01-09 2019-05-14 国家保密科技测评中心 安全检测方法和装置
CN110232279A (zh) * 2019-06-06 2019-09-13 深圳前海微众银行股份有限公司 一种漏洞检测方法及装置
CN110909363A (zh) * 2019-11-25 2020-03-24 中国人寿保险股份有限公司 基于大数据的软件第三方组件漏洞应急响应***及方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
【MAVEN】maven系列--pom.xml标签详解;千万之路刚开始;《https://www.jianshu.com/p/242f2349eef1》;第1-8页 *
Java开发者测试可视化辅助实证分析;刘子聪;《中国优秀硕士学位论文全文数据库(信息科技辑)》(第02期);I138-915 *
Towards agile security risk management in RE and beyond;Virginia N. L. Franqueira等;《Workshop on Empirical Requirements Engineering (EmpiRE 2011)》;33-36 *
联合研发流程分析在软件项目风险数据库的应用;李震阳;《软件》(第10期);139-141 *
软件安全开发关键技术的研究和实现;冯博;《中国博士学位论文全文数据库(信息科技辑)》(第01期);I138-19 *

Also Published As

Publication number Publication date
CN111666203A (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
US10437578B2 (en) Orchestration of software applications upgrade using automatic hang detection
CN111666206B (zh) 变更代码的影响范围的获取方法、装置、设备及存储介质
US8302088B2 (en) Analysis of effects of a software maintenance patch on configuration items of a CMDB
US9354860B2 (en) Optimizing software change processes using real-time analysis and rule-based hinting
US20160085452A1 (en) Systems and methods for highly scalable system log analysis, deduplication and management
CN111666203B (zh) 风险软件的定位处理方法、装置、电子设备及存储介质
US9996342B2 (en) Automatic detection of potential merge errors
CN111026572A (zh) 分布式***的故障处理方法、装置及电子设备
CN111752960B (zh) 数据处理方法和装置
US20140280383A1 (en) Alert Management
CN111913884A (zh) 分布式测试方法、装置、设备、***和可读存储介质
US10897512B2 (en) Generating push notifications
CN112506854A (zh) 页面模板文件的存储和页面生成方法、装置、设备及介质
US9122730B2 (en) Free-text search for integrating management of applications
CN114721686A (zh) 配置数据更新方法、装置、电子设备和存储介质
CN112182581B (zh) 应用测试方法、装置、应用测试设备和存储介质
CN113806138A (zh) 数据库的备份恢复检测方法、装置及电子设备、存储介质
CN112965799A (zh) 任务状态的提示方法、装置、电子设备和介质
CN116804929A (zh) 一种版本应用的分析方法、装置、电子设备及存储介质
CN111831317B (zh) 服务间依赖关系的获取方法、装置、电子设备和存储介质
EP3832985A1 (en) Method and apparatus for processing local hot spot, electronic device and storage medium
US9830212B2 (en) Alerting service desk users of business services outages
CN111752835A (zh) 测试辅助方法、装置、设备及存储介质
CN111176982A (zh) 一种测试界面生成方法和装置
CN111966421A (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