CN110618930A - 全球软件基因数据库系统、软件基因的处理方法及介质 - Google Patents
全球软件基因数据库系统、软件基因的处理方法及介质 Download PDFInfo
- Publication number
- CN110618930A CN110618930A CN201910741039.1A CN201910741039A CN110618930A CN 110618930 A CN110618930 A CN 110618930A CN 201910741039 A CN201910741039 A CN 201910741039A CN 110618930 A CN110618930 A CN 110618930A
- Authority
- CN
- China
- Prior art keywords
- software
- gene
- analysis
- graph
- compared
- 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
- 238000003672 processing method Methods 0.000 title abstract description 7
- 238000004458 analytical method Methods 0.000 claims abstract description 94
- 238000007619 statistical method Methods 0.000 claims abstract description 26
- 238000003860 storage Methods 0.000 claims abstract description 19
- 238000010219 correlation analysis Methods 0.000 claims abstract description 16
- 230000002068 genetic effect Effects 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 43
- 238000004364 calculation method Methods 0.000 claims description 18
- 239000013598 vector Substances 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 13
- 238000013135 deep learning Methods 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 claims description 4
- 230000010354 integration Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000013500 data storage Methods 0.000 claims description 2
- 244000035744 Hura crepitans Species 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 108090000623 proteins and genes Proteins 0.000 description 14
- 238000012098 association analyses Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 230000001149 cognitive effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000019771 cognition Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000007614 genetic variation Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005295 random walk Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种全球软件基因数据库系统、软件基因的处理方法及存储介质。其中,全球软件基因数据库系统包括服务器以及数据库。其中服务器配置为能够访问所述数据库的数据。数据库包括与多个软件相关的软件信息,其中所述软件信息至少包括所述多个软件的软件基因数据。所述服务器配置用于执行以下所述的至少一项操作:对所述数据库所包括的所述软件信息进行统计分析;根据待比对分析软件的软件基因数据,对所述待比对分析软件进行比对分析;对接收的软件进行沙箱分析;根据接收的软件的软件基因数据,对接收的软件进行关联分析;以及根据接收的软件的软件基因数据,对接收的软件进行种群分析。
Description
技术领域
本申请涉及软件工程和信息安全领域,特别是涉及一种全球软件基因数据库系统、软件基因的处理方法及存储介质。
背景技术
软件(英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。软件可以被划分为系统软件、应用软件和介于这两者之间的中间件。软件开发渗透了大量脑力劳动、人的逻辑思维、智能活动和技术水平。在软件的代码编写过程中,代码的复用、移植、改造、第三方组件/插件调用客观存在,不仅推动软件自身迭代发展,也为新软件研发周期缩短和难度降低提供了条件。同时,借鉴生物基因是控制生物性状遗传性信息的基本认识,软件的迭代发展和代码开发过程特点,使软件天然具备了“遗传”和“变异”两个基因的基本属性,提取软件基因,将为分析、比较软件和软件之间关系特性提供基础。
软件基因(Software Gene)是软件体上具有功能或承载信息的二进制片段,其概念的灵感来源于生物基因,并借鉴生物信息学中关于基因分析的研究思路分析和度量软件,解决现今软件工程领域的分析难题。与传统的特征不同,软件基因实现了物质性与信息性的统一,具有原子性、表意性、稳定性、进化性等特性,从基因同源、遗传变异、衍生进化的角度解释软件升级、代码克隆、恶意代码变种等问题。
它的出现可以应用在能源、航空航天、医疗、金融、教育、民生、制造、网络安全等诸多行业和领域解决①软件和源代码审计、②恶意性判定、③软件和软件知识产权比对、④软件健壮性优化、⑤漏洞挖掘、⑥APT组织一致性命名等问题,未来还可以对软件进行基因编辑实现开发出不含有特定类型缺陷/ 漏洞的软件。但是软件基因的提取、汇聚与应用需要基于反汇编、大数据和人工智能等技术,软件基因相关技术的应用条件相对严苛,软件基因的广泛应用需要有全球软件基因库的构建作为基础支撑,包括Linux、Windows、MacOS、各种驱动程序在内的基础软件,和包括office、IE、FoxReader、MATLAB、 Pycharm、Adobe等在内的应用软件以及其他各种类型软件的基因,为软件功能性和稳定性的结构性优化、排查第三方软件知识产权纠纷隐患、恶意性缺陷型脆弱性安全关联风险发现以及软件供应链底数检测及深度管理提供支撑。
信息世界和网络空间主要由软件和硬件构成。软件功能、代码的复杂性增加了信息世界和网络空间的不确定性和不稳定性。网络安全领域需要识别恶意代码和非恶意代码,软件知识产权保护需要明确代码抄袭的具体情况,软件开发和使用需要对健壮性、安全性进行不断优化,软件应用系统的服务质量提高需要不断进行代码审计和修改,软件产品的供应链需要进行科学有效的管理。上述需求,需要设计一种用以识别、分析、研究软件与软件之间代码关系特性为目的的具有普适性的认知、应用理论和方法。目前,还没有提出类似有效的解决方案。
发明内容
本公开的实施例提供了全球软件基因数据库系统、软件基因的处理方法及存储介质,解决了现有技术中存在的尚未提出用以识别、分析、研究软件与软件之间代码关系特性为目的的具有普适性的认知、应用理论和方法的技术问题。此外,进一步地,至少解决现有的软件比对分析技术中存在的资源消耗过高且无法准确比对分析软件的技术问题。
根据本公开实施例的一个方面,提供了一种全球软件基因数据库系统,包括:服务器以及数据库,其中所述服务器配置为能够访问所述数据库的数据。其中,数据库包括与多个软件相关的软件信息,其中软件信息至少包括多个软件的软件基因数据;以及服务器配置用于执行以下所述的至少一项操作:对数据库所包括的软件信息进行统计分析;根据待比对分析软件的软件基因数据,对待比对分析软件进行比对分析;对接收的软件进行沙箱分析;根据接收的软件的软件基因数据,对接收的软件进行关联分析;以及根据接收的软件的软件基因数据,对接收的软件进行种群分析。
根据本公开实施例的另一个方面,提供了一种软件基因的处理方法,包括:获取与多个软件相关的软件信息,其中软件信息至少包括多个软件的软件基因数据;以及执行以下所述的至少一项操作:对多个软件的软件信息进行统计分析;根据待比对分析软件的软件基因数据,对待比对分析软件进行比对分析;对接收的软件进行沙箱分析;根据接收的软件的软件基因数据,对接收的软件进行关联分析;以及根据接收的软件的软件基因数据,对接收的软件进行种群分析。
根据本公开实施例的另一个方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在程序运行时由处理器执行以上所述的方法。
根据本公开实施例的另一个方面,还提供了一种对软件进行比对分析的装置,包括:软件信息获取模块,用于获取与多个软件相关的软件信息,其中软件信息至少包括多个软件的软件基因数据;以及软件基因处理模块,用于执行以下所述的至少一项操作:对多个软件的软件信息进行统计分析;根据待比对分析软件的软件基因数据,对待比对分析软件进行比对分析;对接收的软件进行沙箱分析;根据接收的软件的软件基因数据,对接收的软件进行关联分析;以及根据接收的软件的软件基因数据,对接收的软件进行种群分析。
根据本公开实施例的另一个方面,还提供了一种对软件进行比对分析的装置,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:处理器;以及存储器,与所述处理器连接,用于为处理器提供处理以下处理步骤的指令:获取与多个软件相关的软件信息,其中软件信息至少包括多个软件的软件基因数据;以及执行以下所述的至少一项操作:对多个软件的软件信息进行统计分析;根据待比对分析软件的软件基因数据,对待比对分析软件进行比对分析;对接收的软件进行沙箱分析;根据接收的软件的软件基因数据,对接收的软件进行关联分析;以及根据接收的软件的软件基因数据,对接收的软件进行种群分析。
从而,本实施例可以向用户提供关于软件以及软件基因数据的统计分析、软件的比对分析、沙箱分析、关联分析以及种群分析等操作。从而,提供了一种用于识别、分析研究软件与软件之间代码关系特性的数据库系统。解决了现有技术中存在的尚未提出用以识别、分析、研究软件与软件之间代码关系特性为目的的具有普适性的认知、应用理论和方法的技术问题。
更进一步地,为了能够更有效地针对软件基因进行识别,本实施例根据软件基因生成相应的图结构,并且利用图结构生成可以进行相似度计算的图嵌入,从而即便是对于修改过版本的软件,也可以准确地确定软件之间的关联性。从而准确实现软件的识别。从而,解决了现有技术中存在的资源消耗过高且无法准确识别软件的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是根据本公开实施例1的第一个方面所述的全球软件基因库系统的示意图;
图2是根据本公开实施例1的第一个方面所述的全球软件基因数据库的模块示意图;
图3是根据本公开实施例1的第一个方面所述的全球软件基因数据库的一个具体实例的架构示意图;
图4是根据本公开实施例1所述的软件供应链检测过程中分析软件A~软件 G的依赖关系的示意图;
图5是根据本公开实施例1所述的软件基因网络结构的示意图;
图6是根据本公开实施例1的所述的对所述待比对分析软件进行比对分析的流程示意图;
图7是根据本公开实施例1的所述的软件基因的示意图;
图8A是根据本公开实施例1所述的软件基因的示意图;
图8B是根据本公开实施例1所述的与软件基因对应的图结构的示意图;
图9是根据本公开实施例1的第二个方面所述的软件基因的处理方法的流程示意图;
图10是根据本公开实施例2所述的软件基因的处理装置的示意图;以及
图11是根据本公开实施例3所述的软件基因的处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
图1示出了根据本实施例的第一个方面所述的全球软件基因数据库系统的示意图。参考图1所示,根据本实施例的第一个方面,提供了一种全球软件基因数据库系统,包括:服务器300以及数据库200,其中服务器300配置为能够访问数据库200的数据。其中,数据库200包括与多个软件相关的软件信息,其中所述软件信息至少包括所述多个软件的软件基因数据。服务器300配置用于执行以下所述的至少一项操作:对数据库200所包括的软件信息进行统计分析;根据待比对分析软件的软件基因数据,对待比对分析软件进行比对分析;对接收的软件进行沙箱分析;根据接收的软件的软件基因数据,对接收的软件进行关联分析;以及根据接收的软件的软件基因数据,对接收的软件进行种群分析。
从而用户可以通过终端设备100访问服务器300,并且通过服务器300获得期望的服务,例如获取软件的统计数据,对软件进行沙箱分析、以及对待比对分析的软件进行比对分析,等等。
具体地,图2示出了关于本实施例所述的数据库系统的模块示意图。参考图2所示,所述数据库包括接口程序301、、统计分析模块302、比对分析模块 303、沙箱分析模块304、基因提取模块305、关联分析模块306以及种群分析模块307。并且所述数据库200配置有软件样本201、代码片段202、基因数据 203以及其他数据204。
其中,软件样本201例如可以是通过公开搜集全球软件,然后存储于数据库200中的软件样本。被搜集的软件包括但不限于针对Linux各发行版本、 Windows各种发行版本、MacOS各种发型版本、iOS和Android各种发行版本。
代码片段202例如可以是通过公开搜集全球软件,然后从软件中提取的与软件对应的代码片段。
软件基因数据203例如可以是通过公开搜集全球软件,然后提取的软件基因。被搜集的软件包括但不限于针对Linux各发行版本、Windows各种发行版本、MacOS各种发型版本、iOS和Android各种发行版本。记录各种软件相应的版本号,根据特定的软件基因算法提取软件基因,并将版本号与软件基因信息相关联地存储。
此外,数据库200还配置有与搜集软件相关的其他数据。例如软件的版本信息、与软件相关联的其他软件、软件被判定为恶意软件的统计次数等等。
从而服务器300可以调取数据库200中的数据,向终端100的用户提供期望的服务。
具体地,服务器300的接口程序301可以与提供至终端设备100的接口(例如API)交互,从而根据终端设备100提出的请求,通过调用深度学习模块302、沙箱分析模块303、基因提取模块304、关联分析模块305以及种群分析模块 306等模块中的至少一个模块,向终端设备100提供相应的服务。
其中,统计分析模块302用于根据终端设备100发送的请求,调用数据库 200中的统计分析功能,从而对数据库200中的数据进行统计分析,并且返回统计分析的数据结果。所述统计分析,例如可以是通过数据库的一般统计功能进行的,此处不再赘述。
比对分析模块303用于根据从终端设备100接收的待比对分析软件的软件基因数据,与数据库200中的软件基因数据203进行匹配,从而进行比对分析。具体的比对方法后面详细描述。
沙箱分析模块304用于对从终端设备100接收的软件进行沙箱分析。其中,沙箱是一种虚拟系统程序,从而作为一个独立的虚拟环境,可以用来测试不受信任的应用程序或上网行为。具体地,用户通过终端设备100将陌生的或者不信任的程序软件发送至服务器300,从而在服务器300提供的虚拟环境下运行,从而根据运行中的情况判断该软件程序是否为恶意软件程序。
基因提取模块305,用于提取根据用户从终端设备100发送的软件的软件基因数据,并将软件基因数据存储至数据库200中。尤其是,服务器300可以从全球范围公开采集软件程序,通过基因提取模块305提取该软件的软件基因数据,并且存储于数据库300中。
关联分析模块306,用于对用户从终端设备100发送的软件进行关联性分析。例如,服务器300从终端设备100接收多个软件,从而关联分析模块306 可以根据所述多个软件的软件基因,判断该多个软件之间是否存在关联性,以及对多个软件的具体关联性进行判断。
种群分析模块307,用于对用户从终端设备100发送的软件进行种群分析。具体地,例如种群分析模块307可以根据接收的软件的软件基因,分析软件之间的种群关系。例如,如果软件A中部分性地包含了软件B的代码或资源,而软件B部分性地包含了软件C的代码或资源。在情况下,软件A、B、C之间存在着C->B->A的继承关系。从而种群分析模块307可以根据用户发送的软件,进行相关的种群分析。
从而,基于以上功能模块,服务器300配置用于执行以下所述的至少一项操作:
对数据库200所包括的软件信息进行统计分析(通过统计分析模块302);
根据待比对分析软件的软件基因数据,对待比对分析软件进行比对分析(通过比对分析模块303);
对接收的软件进行沙箱分析(通过沙箱分析模块304);
根据接收的软件的软件基因数据,对接收的软件进行关联分析(通过关联分析模块306);以及根据
接收的软件的软件基因数据,对接收的软件进行种群分析(通过种群分析模块307)。
正如背景技术中所述的,网络安全领域需要识别恶意代码和非恶意代码,软件知识产权保护需要明确代码抄袭的具体情况,软件开发和使用需要对健壮性、安全性进行不断优化,软件应用系统的服务质量提高需要不断进行代码审计和修改,软件产品的供应链需要进行科学有效的管理。上述需求,需要设计一种用以识别、分析、研究软件与软件之间代码关系特性为目的的具有普适性的认知、应用理论和方法。
有鉴于此,本实施例提供了一种全球软件基因数据库系统,通过该全球软件基因数据库系统可以向用户提供关于软件以及软件基因数据的统计分析、软件的比对分析、沙箱分析、关联分析以及种群分析等操作。从而,提供了一种用于识别、分析研究软件与软件之间代码关系特性的数据库系统。解决了现有技术中存在的尚未提出用以识别、分析、研究软件与软件之间代码关系特性为目的的具有普适性的认知、应用理论和方法的技术问题。
此外,作为全球软件数据库系统的更具体的架构,可以参考图3所示,图 3示出了关于全球软件数据库系统的一个更具体的架构。以下是关于各个层的简要描述:
(一)分析层:
比对分析模块:用于根据接收的待比对分析软件的软件基因数据,与数据库中的软件基因数据进行匹配,从而进行比对分析。具体的比对方法后面详细描述。
沙箱分析模块:用于对接收的软件进行沙箱分析。其中,沙箱是一种虚拟系统程序,从而作为一个独立的虚拟环境,可以用来测试不受信任的应用程序或上网行为。具体地,用户将陌生的或者不信任的程序软件发送至全球软件基因数据库系统,从而在全球软件基因数据库系统提供的虚拟环境下运行,从而根据运行中的情况判断该软件程序是否为恶意软件程序。
关联分析模块:用于对接收的软件进行关联性分析。例如,全球软件基因服务器系统能够接收多个软件,从而关联分析模块可以根据所述多个软件的软件基因,判断该多个软件之间是否存在关联性,以及对多个软件的具体关联性进行判断。
软件种群分析:是指软件在发展过程中发生以群体为单位的衍化现行,例如以群体为单位出现了新的特征。
(二)数据层
数据层中的各个数据即数据库中存储的各种数据。
(三)系统层
系统层是【全球软件基因数据库】中十分关键且基础的部分,其中各模块介绍如下:
软件系统:支撑全球软件基因数据库正常运行的操作系统。
驱动程序:软件系统控制或调度硬件资源的程序。
分析程序:用来提供数据分析的程序。
接口程序:API,为用户提供资源访问的API。
此外,系统层还可以设置Hadoop。全球软件基因数据库是一个大规模分布式的存储及计算架构方案,通过Hadoop实现跨地区的存储和计算资源整合。
(五)物理层
物理层中的各个模块和通用计算机中的模块一样。
需要说明的是,图3所示的架构仅仅是用于说明本发明的技术方案的一个实例,不应视为对本实施例的具体限定。实际上,结合图1,符合以下表述全球软件基因数据库系统,均应视为本实施例1所述的技术方案:
一种全球软件基因数据库系统,包括:服务器300以及数据库200,其中服务器300配置为能够访问数据库200的数据。其中,数据库200包括与多个软件相关的软件信息,其中所述软件信息至少包括所述多个软件的软件基因数据。服务器300配置用于执行以下所述的至少一项操作:对数据库200所包括的软件信息进行统计分析;根据待比对分析软件的软件基因数据,对待比对分析软件进行比对分析;对接收的软件进行沙箱分析;根据接收的软件的软件基因数据,对接收的软件进行关联分析;以及根据接收的软件的软件基因数据,对接收的软件进行种群分析。
可选地,参考图6所示,对待比对分析软件进行比对分析的操作,包括:提取待比对分析软件的软件基因;根据所提取的软件基因,生成相应的图结构;根据所述图结构,生成与所述待比对分析软件对应的第一图嵌入;以及根据第一图嵌入,对所述待比对分析软件进行比对分析。
S602:提取待比对分析软件的软件基因;
S604:根据所提取的软件基因,生成相应的图结构;
S606:根据图结构,生成与待识别软件对应的第一图嵌入;以及
S608:根据第一图嵌入,对待识别软件进行比对分析。
具体地,服务器200在接收到待比对分析软件后,首先会从待比对分析软件中提取软件基因(S602)。其中,软件基因是软件体上具有功能或承载信息的二进制片段,是软件功能实现的原子单位,支撑着软件的基本构造,存储着软件生命周期的全部信息,是软件编制者的语义实现、编译器、基础库和系统环境互相依赖、影响、制约的结果。与传统的特征检测技术不同,软件基因检测方法不仅可以识别出目标样本,还能分析与目标样本存在相似性或具备同源性的其他潜在样本,从而实现关联挖掘和衍生进化规律的探索。
例如,图7示出了用于描述软件基因的示意图。其中,图7中示出了3个软件的软件基因401、402和403。其中,由图7可以看出,软件基因401和软件基因402具有实现相同功能的二进制程序段(尽管软件基因401和软件基因 402中相应的二进制程序段中的具体代码形式可能不同,但是其逻辑是一致的),并且二进制程序段的流程也相同,因此可以判定软件基因401和软件基因402 对应于具有相互关联的两个软件,例如存在继承关系。
然后,服务器300根据所提取的软件基因,生成相应的图结构(S604)。具体地,图8A示出了软件基因的示意图,图8B示出了与图8A的软件基因对应的图结构的示意图。
然后,服务器300根据图结构,生成与待比对分析软件对应的第一图嵌入 (S606)。具体地,图嵌入是指用于表示图数据的低维稠密向量,并且其可以进行相似度的计算。从而通过根据图结构生成图嵌入,可以利用生成的图嵌入确定两个软件基因之间的相似度。
最后,服务器300根据第一图嵌入,对待比对分析软件进行比对分析(S608)。例如,服务器300可以根据待比对分析软件的第一图嵌入,确定与第一图嵌入相似度最高的软件作为与待比对分析软件相关联的软件,从而完成对待比对分析软件的比对分析。
作为对软件进行识别的基础,需要建立软件数据库以便保存软件供应链上的各个软件的信息作为识别的参考信息。现有技术通常是预先保存各个软件的标识信息或者版本号来作为参考信息。但是通过软件的标识信息或者版本号,不能发映出软件本身的代码的情况。换句话说,如果有伪造软件盗用其他软件的标识信息或者版本号,则无法通过软件的标识信息或者版本号准确识别出伪造软件,从而带来安全隐患。此外,如果针对软件的全部代码进行比对和匹配,则需要消耗过多的资源和时间。因此,目前还没有提出资源消耗低同时又能准确识别软件的方案。
有鉴于此,本实施例提出了新的基于软件基因的软件识别技术。软件基因是软件体上具有功能或承载信息的二进制片段,是软件功能实现的原子单位,支撑着软件的基本构造,存储着软件生命周期的全部信息,是软件编制者的语义实现、编译器、基础库和系统环境互相依赖、影响、制约的结果。因此采用软件基因可以有效地对软件进行识别,即便是伪造软件盗用了其他软件的标识信息或版本号,也可以通过匹配软件的软件基因,准确识别出软件。
更进一步地,为了能够更有效地针对软件基因进行识别,本实施例根据软件基因生成相应的图结构,并且利用图结构生成可以进行相似度计算的图嵌入,从而即便是对于修改过版本的软件,也可以准确地确定软件之间的关联性。从而准确实现软件的识别。
从而,解决了现有技术中存在的资源消耗过高且无法准确识别软件的技术问题。
可选地,根据所提取的软件基因,生成相应的图结构的操作,包括:确定软件基因所包含的多个程序段以及程序段之间的流程关系;以及利用顶点来表示多个程序段,以及利用边线来表示程序段之间的流程关系,生成图结构。
参考图8A所示,软件基因包括程序段A~N,并且图8A中还示出了程序段A~N之间的流程关系。图8B示出了与图8A中的软件基因对应的图结构。参考图8所示,其中利用顶点A~N表示相应的程序段A~N,并且利用顶点A~N 之间的边线表示程序段A~N之间的流程关系。
从而通过这种方式,可以利用软件基因中程序段以及程序段之间流程关系,生成相应的图结构。从而能够以简单的方式生成与软件基因准确对应的图结构,从而有利于提高软件识别的准确性。
可选地,根据所述图结构,生成与所述待比对分析软件对应的第一图嵌入的操作,包括:确定用于描述图结构的顶点以及顶点之间的边线的矩阵;根据矩阵确定与图结构对应的向量序列;以及利用基于深度学习的图嵌入模型,根据向量序列生成第一图嵌入。
具体地下面表格示出了用于描述图8B中所述的图结构的顶点以及顶点之间的边线关系。
其中,表格中的“1”表示顶点之间连接有边线,表格中的“0”表示顶点之间不存在边线。并且,为了便于计算,各个顶点设置为与自己连接,从而设置为“1”(例如,对角线上的元素均设置为“1”)。
然后,根据上述矩阵,可以确定与软件对应的向量序列Q0~Q13(例如,矩阵中的每一列对应一个向量,从而构成向量序列)。然后,利用基于深度学习的图嵌入模型,利用上述向量序列生成与待比对分析软件对应的第一图嵌入。
从而,本实施例利用基于深度学习的模型,对根据软件基因对应的图结构生成的向量Q0~Q13进行处理,从而生成相应的图嵌入。因此由于采用基于深度学习的模型,从而保证了对图结构的分析能够更加准确,从而提高了软件识别的准确性。
此外,作为深度学习的图嵌入模型,例如可以选择DeepWalk算法生成图嵌入,尤其是使用DeepWalk算法中的Skip-gram模型生成所述图嵌入以及最大化随机游走序列的似然概率,此处不再赘述。
此外,可选地,根据第一图嵌入,对所述待比对分析软件进行比对分析的操作,包括:根据第一图嵌入,从预先设置的软件基因集合中确定与待比对分析软件的软件基因匹配的软件基因,其中与匹配的软件基因对应的第二图嵌入与第一图嵌入的相似度最高;确定与匹配的软件基因对应的软件,作为与待比对分析软件相关联的关联软件;以及根据所确定的关联软件,完成对待比对分析软件的比对分析。
从而,本实施例可以通过计算待比对分析软件对应的图嵌入和参考软件基因的图嵌入之间的相似度,并且基于最大的相似度确定与待比对分析软件的软件基因匹配的软件基因。从而通过这种方式,可以准确地识别待比对分析软件。
可选地,根据第一图嵌入,从预先设置的软件基因集合中确定与待比对分析软件的软件基因匹配的软件基因的操作,包括:获取软件基因集合中的软件基因的图嵌入;利用基于图注意力的匹配神经网络,计算第一图嵌入与软件基因集合中的软件基因的图嵌入的相似度;根据所计算的相似度,确定与第一图嵌入相似度最高的第二图嵌入;以及根据第二图嵌入,确定与待比对分析软件的软件基因匹配的软件基因。
从而,本实施例利用基于图注意力的匹配神经网络,能够更准确地计算软件基因的图嵌入之间的相似度,从而能够更加准确地识别待比对分析软件。
此外可选地,参考图3所示,数据库系统还包括:基于Hadoop+OpenCL 的分布式存储及计算架构,用于实现跨地区的数据存储与传输,地区的计算资源整合,兼容不同类型算力资源的异构设计。
综上所述,本实施例提供了一种全球软件基因数据库系统,通过该全球软件基因数据库系统可以向用户提供关于软件以及软件基因数据的统计分析、软件的比对分析、沙箱分析、关联分析以及种群分析等操作。从而,提供了一种用于识别、分析研究软件与软件之间代码关系特性的数据库系统。解决了现有技术中存在的尚未提出用以识别、分析、研究软件与软件之间代码关系特性为目的的具有普适性的认知、应用理论和方法的技术问题。
更进一步地,为了能够更有效地针对软件基因进行识别,本实施例根据软件基因生成相应的图结构,并且利用图结构生成可以进行相似度计算的图嵌入,从而即便是对于修改过版本的软件,也可以准确地确定软件之间的关联性。从而准确实现软件的识别。从而,解决了现有技术中存在的资源消耗过高且无法准确识别软件的技术问题。
此外,根据本实施例的第二个方面,提供了一种软件基因的处理方法,该方法由附图1中所述的全球软件基因数据库系统执行,参考图9所示,该方法包括:
S902:获取与多个软件相关的软件信息,其中软件信息至少包括多个软件的软件基因数据;以及
S904:执行以下所述的至少一项操作:对多个软件的软件信息进行统计分析;根据待比对分析软件的软件基因数据,对待比对分析软件进行比对分析;对接收的软件进行沙箱分析;根据接收的软件的软件基因数据,对接收的软件进行关联分析;以及根据接收的软件的软件基因数据,对接收的软件进行种群分析。
正如本实施例第一个方面中所述,本实施例可以向用户提供关于软件以及软件基因数据的统计分析、软件的比对分析、沙箱分析、关联分析以及种群分析等操作。从而,提供了一种用于识别、分析研究软件与软件之间代码关系特性的数据库系统。解决了现有技术中存在的尚未提出用以识别、分析、研究软件与软件之间代码关系特性为目的的具有普适性的认知、应用理论和方法的技术问题。
可选地,对待比对分析软件进行比对分析的操作,包括:提取待比对分析软件的软件基因;根据所提取的软件基因,生成相应的图结构;根据图结构,生成与待比对分析软件对应的第一图嵌入;以及根据第一图嵌入,对待比对分析软件进行比对分析。
此外,对待比对分析软件进行比对分析的操作的进一步描述,参考本实施例第一方面中的相应描述,此处不再赘述。
此外,根据本实施例的第三个方面,提供了一种存储介质。所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
此外,图1中的服务器200以及软件基因的数据库300,可以通过以下步骤建立:
步骤1,公开地搜集全球软件,并提取软件基因,被搜集的软件包括但不限于针对Linux各发行版本、Windows各种发行版本、MacOS各种发型版本、 iOS和Android各种发行版本。记录各种软件相应的版本号,根据特定的软件基因算法提取软件基因,并将版本号与软件基因信息相关联地存储(例如,存储在数据库300中)。
步骤2,对存储的软件基因信息对比分析。提取出软件基因后得到基因组的图结构,使用基于深度学习的图嵌入模型训练基因组数据,使之生成可在向量空间中高效执行图相似推理的图嵌入。构造图匹配神经网络,将训练好的图嵌入作为输入,通过基于跨图注意力的新匹配机制进行联合推理,进而计算出不同软件基因组之间的相似性。
步骤3,在步骤1、2的基础上,可以通过每款软件的版本信息、基因组信息、相似性数据推断出:①软件或代码是否具有恶意性,及家族归属判断;②该软件本身是否有安全缺陷,集成了该软件或代码的信息系统是否有安全隐患;③鉴定知识产权,判断不同软件之间的代码继承性问题。
步骤4,构建分布式存储及计算网络,在全球范围内设置多个存储及计算节点,构建海量存储系统,通过大规模分布式的计算网络为软件基因的提取、比对、分析提供支持,保证基于深度学习的图嵌入模型的运算可以稳定运行。然后将训练后的基于深度学习的图嵌入模型设置于服务器200中。
步骤5设置API和SDK,用于全球软件基因数据库对外提供服务,使用者可以根据实际情况及需求选择适当的方式使用全球软件基因数据库(以下简称基因库)。API为使用者提供基于网络的服务支持,即使用者通过API将待分析样本提交给基因库,或从基因库中获取基因数据进行分析。SDK是另一种服务提供方式,使用者可通过SDK建立软件基因数据库以相关开发工作。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘) 中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图10示出了根据本实施例所述的软件基因的处理装置1000,该装置1000 与根据实施例1的第二个方面所述的方法相对应。参考图10所示,该装置1000 包括:软件信息获取模块1010,用于获取与多个软件相关的软件信息,其中软件信息至少包括多个软件的软件基因数据;以及软件基因处理模块1020,用于执行以下所述的至少一项操作:对多个软件的软件信息进行统计分析;根据待比对分析软件的软件基因数据,对待比对分析软件进行比对分析;对接收的软件进行沙箱分析;根据接收的软件的软件基因数据,对接收的软件进行关联分析;以及根据接收的软件的软件基因数据,对接收的软件进行种群分析。
可选地,对待比对分析软件进行比对分析的操作,包括:提取待比对分析软件的软件基因;根据所提取的软件基因,生成相应的图结构;根据图结构,生成与待比对分析软件对应的第一图嵌入;以及根据第一图嵌入,对待比对分析软件进行比对分析。
可选地,根据所提取的软件基因,生成相应的图结构的操作,包括:确定软件基因所包含的多个程序段以及程序段之间的流程关系;以及利用顶点来表示所述多个程序段,以及利用边线来表示所述程序段之间的流程关系,生成所述图结构。
可选地,根据所述图结构,生成与待比对分析软件对应的第一图嵌入的操作,包括:确定用于描述所述图结构的顶点以及顶点之间的边线的矩阵;根据矩阵确定与图结构对应的向量序列;以及利用基于深度学习的图嵌入模型,根据向量序列生成所述第一图嵌入。
可选地,根据第一图嵌入,对所述待比对分析件进行比对的操作,包括:根据所述第一图嵌入,从所述数据库中设置的软件基因数据中确定与所述待比对分析软件的软件基因匹配的软件基因,其中与所述匹配的软件基因对应的第二图嵌入与所述第一图嵌入的相似度最高;确定与所述匹配的软件基因对应的软件,作为与所述待比对分析软件相关联的关联软件;以及根据所确定的关联软件,完成对所述待比对分析软件的比对分析。
可选地,根据所述第一图嵌入,从预先设置的软件基因集合中确定与所述待比对分析软件的软件基因匹配的软件基因的操作,包括:获取所述软件基因集合中的软件基因的图嵌入;利用基于图注意力的匹配神经网络,计算所述第一图嵌入与所述软件基因集合中的软件基因的图嵌入的相似度;根据所计算的相似度,确定与所述第一图嵌入相似度最高的第二图嵌入;以及根据所述第二图嵌入,确定与所述待比对分析软件的软件基因匹配的软件基因。
从而根据本实施例,本实施例可以向用户提供关于软件以及软件基因数据的统计分析、软件的比对分析、沙箱分析、关联分析以及种群分析等操作。从而,提供了一种用于识别、分析研究软件与软件之间代码关系特性的数据库系统。解决了现有技术中存在的尚未提出用以识别、分析、研究软件与软件之间代码关系特性为目的的具有普适性的认知、应用理论和方法的技术问题。
更进一步地,为了能够更有效地针对软件基因进行识别,本实施例根据软件基因生成相应的图结构,并且利用图结构生成可以进行相似度计算的图嵌入,从而即便是对于修改过版本的软件,也可以准确地确定软件之间的关联性。从而准确实现软件的识别。从而,解决了现有技术中存在的资源消耗过高且无法准确识别软件的技术问题。
从而,解决了现有技术中存在的资源消耗过高且无法准确识别软件的技术问题。
实施例3
图11示出了根据本实施例所述的软件基因的处理装置1100,该装置1100 与根据实施例3的第二个方面所述的方法相对应。参考图11所示,该装置1100 包括:处理器1110;以及存储器1120,与所述处理器连接,用于为处理器提供处理以下处理步骤的指令:获取与多个软件相关的软件信息,其中软件信息至少包括多个软件的软件基因数据;以及执行以下所述的至少一项操作:对多个软件的软件信息进行统计分析;根据待比对分析软件的软件基因数据,对待比对分析软件进行比对分析;对接收的软件进行沙箱分析;根据接收的软件的软件基因数据,对接收的软件进行关联分析;以及根据接收的软件的软件基因数据,对接收的软件进行种群分析。
可选地,对待比对分析软件进行比对分析的操作,包括:提取待比对分析软件的软件基因;根据所提取的软件基因,生成相应的图结构;根据图结构,生成与待比对分析软件对应的第一图嵌入;以及根据第一图嵌入,对待比对分析软件进行比对分析。
可选地,根据所提取的软件基因,生成相应的图结构的操作,包括:确定软件基因所包含的多个程序段以及程序段之间的流程关系;以及利用顶点来表示所述多个程序段,以及利用边线来表示所述程序段之间的流程关系,生成所述图结构。
可选地,根据所述图结构,生成与待比对分析软件对应的第一图嵌入的操作,包括:确定用于描述所述图结构的顶点以及顶点之间的边线的矩阵;根据矩阵确定与图结构对应的向量序列;以及利用基于深度学习的图嵌入模型,根据向量序列生成所述第一图嵌入。
可选地,根据第一图嵌入,对所述待比对分析件进行比对的操作,包括:根据所述第一图嵌入,从所述数据库中设置的软件基因数据中确定与所述待比对分析软件的软件基因匹配的软件基因,其中与所述匹配的软件基因对应的第二图嵌入与所述第一图嵌入的相似度最高;确定与所述匹配的软件基因对应的软件,作为与所述待比对分析软件相关联的关联软件;以及根据所确定的关联软件,完成对所述待比对分析软件的比对分析。
可选地,根据所述第一图嵌入,从预先设置的软件基因集合中确定与所述待比对分析软件的软件基因匹配的软件基因的操作,包括:获取所述软件基因集合中的软件基因的图嵌入;利用基于图注意力的匹配神经网络,计算所述第一图嵌入与所述软件基因集合中的软件基因的图嵌入的相似度;根据所计算的相似度,确定与所述第一图嵌入相似度最高的第二图嵌入;以及根据所述第二图嵌入,确定与所述待比对分析软件的软件基因匹配的软件基因。
从而,本实施例可以向用户提供关于软件以及软件基因数据的统计分析、软件的比对分析、沙箱分析、关联分析以及种群分析等操作。从而,提供了一种用于识别、分析研究软件与软件之间代码关系特性的数据库系统。解决了现有技术中存在的尚未提出用以识别、分析、研究软件与软件之间代码关系特性为目的的具有普适性的认知、应用理论和方法的技术问题。
更进一步地,为了能够更有效地针对软件基因进行识别,本实施例根据软件基因生成相应的图结构,并且利用图结构生成可以进行相似度计算的图嵌入,从而即便是对于修改过版本的软件,也可以准确地确定软件之间的关联性。从而准确实现软件的识别。从而,解决了现有技术中存在的资源消耗过高且无法准确识别软件的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器 (RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种全球软件基因数据库系统,包括:服务器以及数据库,其中所述服务器配置为能够访问所述数据库的数据,其特征在于,
所述数据库包括与多个软件相关的软件信息,其中所述软件信息至少包括所述多个软件的软件基因数据;以及
所述服务器配置用于执行以下所述的至少一项操作:
对所述数据库所包括的所述软件信息进行统计分析;
根据待比对分析软件的软件基因数据,对所述待比对分析软件进行比对分析;
对接收的软件进行沙箱分析;
根据接收的软件的软件基因数据,对接收的软件进行关联分析;以及
根据接收的软件的软件基因数据,对接收的软件进行种群分析。
2.根据权利要求1所述的软件基因数据库系统,其特征在于:对所述待比对分析软件进行比对分析的操作,包括:
提取待比对分析软件的软件基因;
根据所提取的软件基因,生成相应的图结构;
根据所述图结构,生成与所述待比对分析软件对应的第一图嵌入;以及
根据所述第一图嵌入,对所述待比对分析软件进行比对分析。
3.根据权利要求1所述的软件基因数据库系统,其特征在于,根据所提取的软件基因,生成相应的图结构的操作,包括:
确定所述软件基因所包含的多个程序段以及所述程序段之间的流程关系;以及
利用顶点来表示所述多个程序段,以及利用边线来表示所述程序段之间的流程关系,生成所述图结构。
4.根据权利要求3所述的全球软件基因数据库系统,其特征在于,根据所述图结构,生成与所述待比对分析软件对应的第一图嵌入的操作,包括:
确定用于描述所述图结构的顶点以及所述顶点之间的边线的矩阵;
根据所述矩阵确定与所述图结构对应的向量序列;以及
利用基于深度学习的图嵌入模型,根据所述向量序列生成所述第一图嵌入。
5.根据权利要求4所述的全球软件基因数据库系统,其特征在于,根据所述第一图嵌入,对所述待比对分析件进行比对的操作,包括:
根据所述第一图嵌入,从所述数据库中设置的软件基因数据中确定与所述待比对分析软件的软件基因匹配的软件基因,其中与所述匹配的软件基因对应的第二图嵌入与所述第一图嵌入的相似度最高;
确定与所述匹配的软件基因对应的软件,作为与所述待比对分析软件相关联的关联软件;以及
根据所确定的关联软件,完成对所述待比对分析软件的比对分析。
6.根据权利要求5所述的全球软件基因数据库系统,其特征在于,根据所述第一图嵌入,从预先设置的软件基因集合中确定与所述待比对分析软件的软件基因匹配的软件基因的操作,包括:
获取所述软件基因集合中的软件基因的图嵌入;
利用基于图注意力的匹配神经网络,计算所述第一图嵌入与所述软件基因集合中的软件基因的图嵌入的相似度;
根据所计算的相似度,确定与所述第一图嵌入相似度最高的第二图嵌入;以及
根据所述第二图嵌入,确定与所述待比对分析软件的软件基因匹配的软件基因。
7.根据权利要求1所述的全球软件基因数据库系统,其特征在于,还包括:
基于Hadoop+OpenCL的分布式存储及计算架构,用于实现跨地区的数据存储与传输,地区的计算资源整合,兼容不同类型算力资源的异构设计。
8.一种软件基因的处理方法,其特征在于,包括:
获取与多个软件相关的软件信息,其中所述软件信息至少包括所述多个软件的软件基因数据;以及
执行以下所述的至少一项操作:
对所述多个软件的软件信息进行统计分析;
根据待比对分析软件的软件基因数据,对所述待比对分析软件进行比对分析;
对接收的软件进行沙箱分析;
根据接收的软件的软件基因数据,对接收的软件进行关联分析;以及
根据接收的软件的软件基因数据,对接收的软件进行种群分析。
9.根据权利要求8所述的方法,其特征在于:对所述待比对分析软件进行比对分析的操作,包括:
提取待比对分析软件的软件基因;
根据所提取的软件基因,生成相应的图结构;
根据所述图结构,生成与所述待比对分析软件对应的第一图嵌入;以及
根据所述第一图嵌入,对所述待比对分析软件进行比对分析。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行权利要求8或9所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910741039.1A CN110618930A (zh) | 2019-08-12 | 2019-08-12 | 全球软件基因数据库系统、软件基因的处理方法及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910741039.1A CN110618930A (zh) | 2019-08-12 | 2019-08-12 | 全球软件基因数据库系统、软件基因的处理方法及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110618930A true CN110618930A (zh) | 2019-12-27 |
Family
ID=68921877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910741039.1A Pending CN110618930A (zh) | 2019-08-12 | 2019-08-12 | 全球软件基因数据库系统、软件基因的处理方法及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110618930A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111562943A (zh) * | 2020-04-29 | 2020-08-21 | 海南大学 | 一种基于事件嵌入树及gat网络的代码克隆检测方法和装置 |
CN112698837A (zh) * | 2020-12-31 | 2021-04-23 | 上海戎磐网络科技有限公司 | 基于软件基因的动态行为与二进制代码匹配方法和装置 |
CN112699371A (zh) * | 2020-12-31 | 2021-04-23 | 上海戎磐网络科技有限公司 | 一种动态行为特征与软件基因匹配系统和方法 |
CN113270144A (zh) * | 2021-06-23 | 2021-08-17 | 北京易奇科技有限公司 | 一种基于表型的基因优先级排序方法和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120174227A1 (en) * | 2010-12-30 | 2012-07-05 | Kaspersky Lab Zao | System and Method for Detecting Unknown Malware |
CN108171059A (zh) * | 2017-12-26 | 2018-06-15 | 中国人民解放军战略支援部队信息工程大学 | 基于软件基因的恶意代码检测与识别方法及装置 |
CN108932430A (zh) * | 2018-07-02 | 2018-12-04 | 北京大学 | 一种基于软件基因技术的恶意软件检测方法 |
CN109002711A (zh) * | 2018-06-04 | 2018-12-14 | 上海交通大学 | 一种基于深度学习的恶意代码同源判定系统及其判定方法 |
-
2019
- 2019-08-12 CN CN201910741039.1A patent/CN110618930A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120174227A1 (en) * | 2010-12-30 | 2012-07-05 | Kaspersky Lab Zao | System and Method for Detecting Unknown Malware |
CN108171059A (zh) * | 2017-12-26 | 2018-06-15 | 中国人民解放军战略支援部队信息工程大学 | 基于软件基因的恶意代码检测与识别方法及装置 |
CN109002711A (zh) * | 2018-06-04 | 2018-12-14 | 上海交通大学 | 一种基于深度学习的恶意代码同源判定系统及其判定方法 |
CN108932430A (zh) * | 2018-07-02 | 2018-12-04 | 北京大学 | 一种基于软件基因技术的恶意软件检测方法 |
Non-Patent Citations (2)
Title |
---|
孟曦: ""基于深度学习的恶意代码分类与聚类技术研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
肖达等: "基于程序基因的恶意程序预测技术.", 《网络与信息安全学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111562943A (zh) * | 2020-04-29 | 2020-08-21 | 海南大学 | 一种基于事件嵌入树及gat网络的代码克隆检测方法和装置 |
CN111562943B (zh) * | 2020-04-29 | 2023-07-11 | 海南大学 | 一种基于事件嵌入树及gat网络的代码克隆检测方法和装置 |
CN112698837A (zh) * | 2020-12-31 | 2021-04-23 | 上海戎磐网络科技有限公司 | 基于软件基因的动态行为与二进制代码匹配方法和装置 |
CN112699371A (zh) * | 2020-12-31 | 2021-04-23 | 上海戎磐网络科技有限公司 | 一种动态行为特征与软件基因匹配系统和方法 |
CN113270144A (zh) * | 2021-06-23 | 2021-08-17 | 北京易奇科技有限公司 | 一种基于表型的基因优先级排序方法和电子设备 |
CN113270144B (zh) * | 2021-06-23 | 2022-02-11 | 北京易奇科技有限公司 | 一种基于表型的基因优先级排序方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dong et al. | An integrated pipeline for annotation and visualization of metagenomic contigs | |
CN110618930A (zh) | 全球软件基因数据库系统、软件基因的处理方法及介质 | |
US10848519B2 (en) | Cyber vaccine and predictive-malware-defense methods and systems | |
Li et al. | Understanding android app piggybacking: A systematic study of malicious code grafting | |
Caliskan et al. | When coding style survives compilation: De-anonymizing programmers from executable binaries | |
Saltz et al. | caGrid: design and implementation of the core architecture of the cancer biomedical informatics grid | |
Hoinka et al. | AptaSUITE: a full-featured bioinformatics framework for the comprehensive analysis of aptamers from HT-SELEX experiments | |
US20200273570A1 (en) | Predictive analysis platform | |
Lee et al. | Instruction2vec: Efficient preprocessor of assembly code to detect software weakness with CNN | |
Chen et al. | BNArray: an R package for constructing gene regulatory networks from microarray data by using Bayesian network | |
Ullah et al. | Clone detection in 5G-enabled social IoT system using graph semantics and deep learning model | |
Wang et al. | You are what the permissions told me! Android malware detection based on hybrid tactics | |
Sürücü et al. | A survey on ethereum smart contract vulnerability detection using machine learning | |
Ashik et al. | Detection of malicious software by analyzing distinct artifacts using machine learning and deep learning algorithms | |
Rathore et al. | Android malicious application classification using clustering | |
He et al. | Msdroid: Identifying malicious snippets for android malware detection | |
Medina-Ortiz et al. | Dmakit: A user-friendly web platform for bringing state-of-the-art data analysis techniques to non-specific users | |
Cabello et al. | Big-data and cyber-physical systems in healthcare: Challenges and opportunities | |
Jiang et al. | Applying blockchain-based method to smart contract classification for CPS applications | |
Ye et al. | Rapidfuzz: Accelerating fuzzing via generative adversarial networks | |
Manziuk et al. | Structural Alignment Method of Conceptual Categories of Ontology and Formalized Domain. | |
Zhang et al. | MDAPlatform: a component-based platform for constructing and assessing miRNA-disease association prediction methods | |
Wang et al. | A novel trace clustering technique based on constrained trace alignment | |
Yao et al. | Android malware detection based on sensitive features combination | |
Salcedo et al. | Machine Learning Algorithms Application in COVID-19 Disease: A Systematic Literature Review and Future Directions |
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 |
Application publication date: 20191227 |
|
RJ01 | Rejection of invention patent application after publication |