CN108229170B - 利用大数据和神经网络的软件分析方法和装置 - Google Patents

利用大数据和神经网络的软件分析方法和装置 Download PDF

Info

Publication number
CN108229170B
CN108229170B CN201810107975.2A CN201810107975A CN108229170B CN 108229170 B CN108229170 B CN 108229170B CN 201810107975 A CN201810107975 A CN 201810107975A CN 108229170 B CN108229170 B CN 108229170B
Authority
CN
China
Prior art keywords
open source
source code
software
code
fingerprint information
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
CN201810107975.2A
Other languages
English (en)
Other versions
CN108229170A (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.)
Zhongke Ruanping Technology Beijing Co ltd
Original Assignee
Zhongke Ruanping Technology Beijing 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 Zhongke Ruanping Technology Beijing Co ltd filed Critical Zhongke Ruanping Technology Beijing Co ltd
Priority to CN201810107975.2A priority Critical patent/CN108229170B/zh
Publication of CN108229170A publication Critical patent/CN108229170A/zh
Application granted granted Critical
Publication of CN108229170B publication Critical patent/CN108229170B/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/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Virology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种软件分析方法,包括:步骤101,搜索并下载开源代码;步骤102,提取所述开源代码的指纹信息;步骤103,将所述指纹信息存储到指纹数据库中;步骤104,利用所述指纹数据库对待分析软件进行分析,识别其中的开源代码,并确定识别出的开源代码的来源。本发明还公开了一种与上述方法对应的装置、计算机***和计算机可读存储介质。本发明的优点在于能够提高开源代码数据库覆盖的数据广度,以及软件分析的准确性和效率。

Description

利用大数据和神经网络的软件分析方法和装置
技术领域
本发明属于计算机软件应用领域,具体涉及一种利用大数据和神经网络的软件分析方法和装置,以及计算机可读存储介质。
背景技术
随着计算机软件技术的发展以及用户对互联网应用需求的提升,对软件功能多样性的要求越来越高,这导致软件规模不断增长,出现了大量的大型软件项目。对于软件开发者来说,开发大型软件项目是非常费时费力的,因而,为了节省人力和物力的投入,大型软件项目或多或少会使用互联网上的开源代码。
对于互联网上公开的开源代码,很多由于编写方法不当而存在安全隐患,例如导致内存泄漏等,如果软件开发者将存在安全隐患的开源代码应用到软件中,将导致软件存在安全漏洞,后续软件运行会出现问题。因而,当软件开发者将开发完毕的软件交付给软件用户时,软件用户需要对软件进行全面的分析,确定软件是否能够完成预定功能、软件运行的安全性和稳定性,尤其是,需要识别软件中的所有开源代码及其来源,确定是否存在安全隐患。
已有的解决方案是:搜集已知的开源代码,建立开源代码数据库;将待分析软件的代码与开源代码数据库中的开源代码进行比较,从而识别开源代码及其来源。
上述方案存在以下不足之处:
1.开源代码数据库覆盖的代码有限,不能够识别互联网上所有的开源代码及其来源;
2. 仅能基于开源代码的静态特征进行识别,识别效率和准确率低。
发明内容
本发明的目的是提供一种软件分析方法和装置,其优点在于,通过搜索和下载互联网上所有能够获得的开源代码,基于开源代码的动态特征和静态特征来对待分析软件中的开源代码进行识别,提高了识别准确率。
本发明的上述技术目的是通过以下技术方案得以实现的:
一种软件分析方法,包括:
步骤S 101,搜索并下载开源代码;
步骤S 102,提取所述开源代码的指纹信息;
步骤S 103,将所述指纹信息存储到指纹数据库中;
步骤S 104,利用所述指纹数据库对待分析软件进行分析,识别其中的开源代码,并确定识别出的开源代码的来源。
优选地,步骤S 102具体为:
提取开源代码的静态特征和动态特征,基于所述静态特征和动态特征计算得到开源代码的指纹信息;
所述静态特征包括分析开源代码的语言形式和语法结构而得到的执行路径信息;
所述动态特征包括开源代码执行时的执行路径信息。
优选地,提取开源代码的动态特征包括:对开源代码进行编译,得到二进制代码,分析所述二进制代码中的函数调用关系,得到所述动态特征。
优选地,基于所述静态特征和动态特征计算得到开源代码的指纹信息包括:
对所述静态特征和动态特征进行哈希运算,得到静态特征哈希值和动态特征哈希值;
将所述静态特征哈希值和动态特征哈希值进行合并,从而得到所述开源代码的指纹信息。
优选地,通过以下步骤得到所述动态特征哈希值:
对开源代码进行编译,得到二进制代码;
提取所述二进制代码中的函数调用关系,将其用树状结构表示,该树状结构为动态特征M;
从所述动态特征M中删除无效信息,得到有效动态特征M1;
计算所述有效动态特征M1的哈希值,作为所述动态特征哈希值。
优选地,所述无效信息包括:与所述二进制代码的输入和输出无关的函数,未被调用的函数,以及代码中的说明和备注信息。
优选地,在步骤S 104中,采用基于人工智能预先构建的多个感知单元对待分析软件进行分析;
其中,所述多个感知单元预先对所述指纹信息库中的指纹信息进行学习,在对待分析软件进行分析时,所述多个感知单元基于学习结果,将待分析软件中的代码与指纹库中的指纹信息进行比对,从而识别待分析软件中的开源代码,并确定识别出的开源代码的来源。
本发明还提供一种软件分析装置,包括:
下载装置,搜索并下载开源代码;
提取装置,提取所述开源代码的指纹信息;
存储装置,将所述指纹信息存储到指纹数据库中;
识别装置,利用所述指纹数据库对待分析软件进行分析,识别其中的开源代码,并确定识别出的开源代码的来源。
本发明还提供一种计算机***,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现前述方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述方法。
本发明还提供一种计算机***,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法。
综上所述,本发明具有以下有益效果:
1、利用多个搜索引擎,搜索和下载互联网上海量的开源代码,形成开源代码的大数据,提高了开源代码数据库的覆盖广度,提高了软件分析过程的开源代码的识别率;
2. 结合使用开源代码的静态特征和动态特征进行分析,提高了软件分析过程的开源代码识别的准确率。
附图说明
图1为本发明搜索和下载开源代码的示意图;
图2为软件分析方法流程图;
图3为开源代码指纹提取流程图;
图4为计算动态特征哈希值的流程图;
图5为神经网络示意图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
实施例一
本实施例搜索并下载互联网上海量的开源代码,形成开源代码的大数据集合,然后提取所有开源代码的指纹信息,将其存储到指纹数据库中,在对待分析软件进行分析时,基于所述指纹数据库,识别待分析软件中的开源代码及其来源。
本实施例提供了一种软件分析方法,包括以下步骤:
步骤S 101,搜索并下载开源代码。
图1示出了开源代码的搜索和下载过程。本实施例利用多个搜索引擎,即搜索引擎1,搜索引擎2,……,搜索引擎N(N为大于1的自然数),来搜索并下载互联网上所有公开的开源代码。互联网上的开源代码可能分布在多个来源处,例如,开源社区(例如github、开源中国),软件网站(例如SourceForce.com)等,将这些来源都作为搜索目标。
控制节点用于配置搜索引擎1-N的工作参数,例如下载任务的分配调度等,并用于将搜索引擎1-N下载的开源代码发送给开源代码数据库进行存储。搜索引擎从代码源下载开源代码后,将开源代码和开源代码的来源(即所述代码源,例如前述的开源社区、软件网站等)一并发送给开源代码数据库,开源代码数据库对二者进行关联存储。
现有的开源代码识别方法仅能利用有限的开源代码,本实施例利用多个搜索引擎,搜索和下载互联网上的所有可获得的开源代码,并且开源代码数据库不断更新,与互联网保持同步,从而形成了开源代码的大数据,提高了开源代码数据库的数据覆盖广度,有利于识别待分析软件中的开源代码,提高了开源代码的识别准确率。
为了最大限度地搜索和下载互联网上公开的全世界范围内的所有可获得的开源代码,可以在搜索引擎1-N上采用网络爬虫技术。
网络爬虫是一种自动提取网页的程序,其从一个或多个初始网页的URL开始,在抓取网页的过程中,不断从当前页面上抽取新的URL,并根据一定的网页分析算法过滤与主题无关的URL,保留有用的URL,并将其放入等待抓取的URL队列;然后,根据预定搜索策略从URL队列中选取选择下一步要抓取的网页URL,并重复上述过程,直至达到预定的停止条件为止。
目前,在网络带宽足够的前提下,由一台普通PC构成的服务器,每天工作24小时即能够搜索和下载1GB的开源代码,对于全球每天生成的开源代码,3-5台服务器就可以完成开源代码的搜索和下载工作。
步骤S 102,提取所述开源代码的指纹信息。
现有技术通常是利用代码比对的方式来识别软件中的开源代码,本实施例针对所述开源代码数据库中的每个开源代码,提取其指纹信息,并利用开源代码的指纹信息来识别软件中的开源代码,而且,所述指纹信息中不仅包括开源代码的静态特征,还包括开源代码的动态特征。通过这种处理方式,本实施例提高了开源代码识别的效率的准确率。
软件代码的特征可分为静态特征和动态特征两种,静态特征是指在软件代码未执行时,通过分析软件代码的语言形式(例如C,C++等语言形式)和语法结构而推导得到的执行路径信息,动态特征是指软件代码执行过程中的执行路径信息。
现有的软件分析方法仅利用开源代码的静态特征来判断待分析软件中是否存在开源代码。但是,在对语言形式和语法结构进行分析时,涉及大规模的全文索引,识别效率非常低;并且,软件开发者如果对开源代码的内容稍作修改后再使用,即有可能绕过上述识别过程,这也降低了识别的准确率。
如图3所示,本实施例提取开源代码的静态特征和动态特征,基于静态特征和动态特征得到开源代码的指纹信息,后续将利用该指纹信息来识别待分析软件中的开源代码。
本实施例中,可利用哈希函数对所述静态特征和动态特征进行哈希运算,得到静态特征哈希值和动态特征哈希值,将静态特征哈希值和动态特征哈希值进行合并,从而得到开源代码的指纹信息。
哈希函数是指是把任意长度的数据计算成固定长度的数据的函数。也就是说,哈希函数的输入可以为任意长度,但输出总是固定长度。本发明优选利用MD5函数或SHA-1函数对所述静态特征和动态特征进行计算,得到静态特征哈希值和动态特征哈希值。MD5函数和SHA-1函数具有以下特性:(1)都是“不可逆”的函数,目前还没有一个算法能够根据哈希值倒推得到原始信息;(2)对原始信息的任何一点改变都会导致哈希值巨大的不同;(3)运算代价相对较低,普通的AMD Opteron 2.2GHz的芯片,每秒可以计算出335MB数据的MD5值或192MB数据的SHA-1值;(4)两段不同的原始信息“碰巧”有着相同的哈希值的概率非常低,对于MD5来说是2的128次方分之一,对于SHA-1来说,这个概率更低。由于MD5和SHA-1函数具有以上特性,本发明将其应用到代码指纹的计算中,能够提高开源代码的识别效率和准确率。
但是,本领域技术人员应当知晓,得到开源代码的指纹信息的算法并不局限于上述两种函数,其他具有类似特性的函数也可用来实现本发明。
如图4所示,本实施例采用以下方法步骤得到所述动态特征哈希值:
对开源代码进行编译,得到二进制代码;
提取所述二进制代码中的函数调用关系,将其用树状结构表示,该树状结构即所述二进制代码的动态特征M;
从所述动态特征M中删除无效信息,得到有效动态特征M1,该有效动态特征M1即所述开源代码的动态特征哈希值。
所述无效信息包括与二进制代码的输入和输出无关的函数,二进制代码中未被调用的函数,以及二进制代码中的说明和备注信息;之所以将这部分信息排除在外,是因为这部分信息与程序执行无关,不能用来作为匹配和识别,否则会大大增加误报率。
可以利用MD5函数或SHA-1函数计算所述有效动态特征M1的哈希值,作为开源代码的动态特征哈希值。
由于结合使用了开源代码的静态特征和动态特征,本发明具有“抗混淆”的有益效果,即,即便软件开发者在软件代码中使用了在一定程度内进行修改的开源代码,本发明也能该修改后的开源代码进行识别,从而提高了软件分析过程的开源代码识别的准确率。
步骤S 103,将所述指纹信息存储到指纹数据库中。
指纹数据库中将开源代码的指纹信息和开源代码的来源关联存储。
步骤S 104,利用所述指纹数据库对待分析软件进行分析,识别其中的开源代码,并确定识别出的开源代码的来源。
识别待分析软件中的可疑代码段(即疑似开源代码的代码段),采用同样的方式计算得到该代码段的指纹信息F2;
将所述指纹信息F2与指纹数据库中的多个指纹信息F1逐一进行比较,从而判断其是否属于开源代码;
如果所述指纹数据库中存在某一指纹信息F1与所述指纹信息F2相匹配,则判断该代码段属于开源代码,输出该开源代码的来源。
现有技术在利用数据库对软件代码进行分析时,都是采用简单的数据比对方式,而本实施例采用了神经网络来进行软件分析。
在利用神经网络对待分析软件进行分析之前,需要先构建神经网络。神经网络是一种对人脑的基本单元(即神经元)进行建模和联接,从而构建出的具有学习、联想、记忆和模式识别等智能信息处理功能的人工***。简单地说,神经网络就是将许多个单一的“神经元”联接在一起,一个“神经元”的输出可以是另一个“神经元”的输入。
图5示出了一个神经网络,最左侧为输入层,最右侧为输出层,中间为隐藏层。该神经网络包括3个输入单元,1个输出单元,以及6个隐藏单元。
其中,各隐藏单元的值在样本集学习过程中不能被观测到。由图4可见,输入单元的输出作为隐藏单元的输入,隐藏单元的输出又作为输出单元的输入。
神经网络的样本集学习是这样一个过程:把学习集(Learning Set)中的每个样本输入到神经网络中,并告知神经网络应当输出什么值,按照一定的规则(学习算法)调整网络各层的权值矩阵。在学习集中的样本被学习完毕后,神经网络会总结出自己的“想法”,具体怎么总结的,是一个黑盒;接着,可以利用测试集(Testing Set)来测试神经网络,如果测试通过(比如80%或90%的正确率),那么神经网络就构建成功了。例如,如果神经网络要识别字母“A”和“B”,告知神经网络:输入为“A”时,输出是“1”,输入“B”时,输出是“0”。具体学习过程是:给神经网络的各连接权值赋予(0,1)区间内的随机值,将与“A”对应的多个图象模式陆续输入给神经网络,神经网络将输入加权求和、与门限比较、再进行非线性运算,得到神经网络的输出。在此情况下,神经网络输出为“1”和“0”的概率各为50%,也就是说是完全随机的。此时,如果输出为“1”(结果正确),则使连接权值增大,以便使神经网络再次遇到当前图像模式时,能够作出正确的判断。
在将上述神经网络用于本发明的软件分析方法中时,预先将包括多个软件代码样本的样本集输入到神经网络中,神经网络对该样本集进行学习,学习完毕后,再利用包括多个软件代码样本的测试集来测试神经网络,如果测试通过,则神经网络构建成功。
在神经网络构建成功之后,将待分析软件的代码作为神经网络的输入,神经网络即可识别并输出待分析软件代码中的开源代码及其来源。
由于本发明利用神经网络来模拟软件的执行路径,采用数据库方式优化计算效率,实现了大规模的路径仿真,比传统方式的识别效率高、准确率高。
实施例二
本实施例提供一种软件分析装置,包括:
下载装置,搜索并下载开源代码;
提取装置,提取所述开源代码的指纹信息;
存储装置,将所述指纹信息存储到指纹数据库中;
识别装置,利用所述指纹数据库对待分析软件进行分析,识别其中的开源代码,并确定识别出的开源代码的来源。
上述软件分析装置的具体实现细节参见实施例一。
实施例三
本实施例提供一种计算机***,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现实施例一中的方法。
实施例四
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现实施例一中的方法。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。

Claims (8)

1.一种软件分析方法,包括:
步骤101,搜索并下载开源代码;
步骤102,提取所述开源代码的指纹信息;
步骤103,将所述指纹信息存储到指纹数据库中;
步骤104,利用所述指纹数据库对待分析软件进行分析,识别其中的开源代码,并确定识别出的开源代码的来源;
步骤102具体为:
提取开源代码的静态特征和动态特征,基于所述静态特征和动态特征计算得到开源代码的指纹信息;
所述静态特征包括分析开源代码的语言形式和语法结构而得到的执行路径信息;
所述动态特征包括开源代码执行时的执行路径信息;
提取开源代码的动态特征包括:
对开源代码进行编译,得到二进制代码,分析所述二进制代码中的函数调用关系,得到所述动态特征;
步骤104具体为:
识别待分析软件中的可疑代码段,采用与所述步骤S102同样的方式计算得到该代码段的指纹信息F2;
将所述指纹信息F2与指纹数据库中的多个指纹信息F1逐一进行比较,从而判断其是否属于开源代码;
如果所述指纹数据库中存在某一指纹信息F1与所述指纹信息F2相匹配,则判断该代码段属于开源代码,输出该开源代码的来源。
2.根据权利要求1所述的软件分析方法,其特征在于,基于所述静态特征和动态特征计算得到开源代码的指纹信息包括:
对所述静态特征和动态特征进行哈希运算,得到静态特征哈希值和动态特征哈希值;
将所述静态特征哈希值和动态特征哈希值进行合并,从而得到所述开源代码的指纹信息。
3.根据权利要求2所述的软件分析方法,其特征在于,通过以下步骤得到所述动态特征哈希值:
对开源代码进行编译,得到二进制代码;
提取所述二进制代码中的函数调用关系,将其用树状结构表示,该树状结构为动态特征M;
从所述动态特征M中删除无效信息,得到有效动态特征M1;
计算所述有效动态特征M1的哈希值,作为所述动态特征哈希值。
4.根据权利要求3所述的软件分析方法,其特征在于,所述无效信息包括:与所述二进制代码的输入和输出无关的函数,未被调用的函数,以及代码中的说明和备注信息。
5.根据权利要求1所述的软件分析方法,其特征在于:
在步骤104中,采用基于人工智能预先构建的多个感知单元对待分析软件进行分析;
其中,所述多个感知单元预先对所述指纹信息库中的指纹信息进行学习,在对待分析软件进行分析时,所述多个感知单元基于学习结果,将待分析软件中的代码与指纹库中的指纹信息进行比对,从而识别待分析软件中的开源代码,并确定识别出的开源代码的来源。
6.一种软件分析装置,包括:
下载装置,搜索并下载开源代码;
提取装置,提取所述开源代码的指纹信息;
存储装置,将所述指纹信息存储到指纹数据库中;
识别装置,利用所述指纹数据库对待分析软件进行分析,识别其中的开源代码,并确定识别出的开源代码的来源;
所述提取装置提取开源代码的静态特征和动态特征,基于所述静态特征和动态特征计算得到开源代码的指纹信息;所述静态特征包括分析开源代码的语言形式和语法结构而得到的执行路径信息;所述动态特征包括开源代码执行时的执行路径信息;所述提取装置对开源代码进行编译,得到二进制代码,分析所述二进制代码中的函数调用关系,得到所述动态特征;
所述识别装置识别待分析软件中的可疑代码段,采用与所述提取装置同样的方式计算得到该代码段的指纹信息F2;将所述指纹信息F2与指纹数据库中的多个指纹信息F1逐一进行比较,从而判断其是否属于开源代码;如果所述指纹数据库中存在某一指纹信息F1与所述指纹信息F2相匹配,则判断该代码段属于开源代码,输出该开源代码的来源。
7.一种计算机***,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现1-5之一所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1-5之一所述的方法。
CN201810107975.2A 2018-02-02 2018-02-02 利用大数据和神经网络的软件分析方法和装置 Active CN108229170B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810107975.2A CN108229170B (zh) 2018-02-02 2018-02-02 利用大数据和神经网络的软件分析方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810107975.2A CN108229170B (zh) 2018-02-02 2018-02-02 利用大数据和神经网络的软件分析方法和装置

Publications (2)

Publication Number Publication Date
CN108229170A CN108229170A (zh) 2018-06-29
CN108229170B true CN108229170B (zh) 2020-05-12

Family

ID=62670680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810107975.2A Active CN108229170B (zh) 2018-02-02 2018-02-02 利用大数据和神经网络的软件分析方法和装置

Country Status (1)

Country Link
CN (1) CN108229170B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367566A (zh) * 2019-06-27 2020-07-03 北京关键科技股份有限公司 混源代码特征提取与匹配方法
CN110955758A (zh) * 2019-12-18 2020-04-03 中国电子技术标准化研究院 代码检测方法、代码检测服务器及索引服务器
WO2021188765A1 (en) * 2020-03-20 2021-09-23 Mastercard International Incorporated Method and system for auditing smart contracts
CN111666101A (zh) * 2020-04-24 2020-09-15 北京大学 软件同源分析方法及装置
CN111930610B (zh) * 2020-07-07 2024-05-17 北京鸿渐科技有限公司 软件同源性检测方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104751055A (zh) * 2013-12-31 2015-07-01 北京启明星辰信息安全技术有限公司 一种基于纹理的分布式恶意代码检测方法、装置及***
CN106951743A (zh) * 2017-03-22 2017-07-14 上海英慕软件科技有限公司 一种软件代码侵权检测方法
CN107169358A (zh) * 2017-05-24 2017-09-15 中国人民解放军信息工程大学 基于代码指纹的代码同源性检测方法及其装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073816A (zh) * 2010-12-31 2011-05-25 兰雨晴 基于行为的软件可信度量***及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104751055A (zh) * 2013-12-31 2015-07-01 北京启明星辰信息安全技术有限公司 一种基于纹理的分布式恶意代码检测方法、装置及***
CN106951743A (zh) * 2017-03-22 2017-07-14 上海英慕软件科技有限公司 一种软件代码侵权检测方法
CN107169358A (zh) * 2017-05-24 2017-09-15 中国人民解放军信息工程大学 基于代码指纹的代码同源性检测方法及其装置

Also Published As

Publication number Publication date
CN108229170A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
CN108229170B (zh) 利用大数据和神经网络的软件分析方法和装置
CN106557695B (zh) 一种恶意应用检测方法和***
CN108334781B (zh) 病毒检测方法、装置、计算机可读存储介质和计算机设备
US20190311114A1 (en) Man-machine identification method and device for captcha
CN111639337B (zh) 一种面向海量Windows软件的未知恶意代码检测方法及***
CN109391706A (zh) 基于深度学习的域名检测方法、装置、设备和存储介质
CN108985061B (zh) 一种基于模型融合的webshell检测方法
CN110263538A (zh) 一种基于***行为序列的恶意代码检测方法
CN111259219B (zh) 恶意网页识别模型建立方法、识别方法及***
CN107341399A (zh) 评估代码文件安全性的方法及装置
CN112989348B (zh) 攻击检测方法、模型训练方法、装置、服务器及存储介质
CN108416034B (zh) 基于金融异构大数据的信息采集***及其控制方法
CN104202291A (zh) 基于多因素综合评定方法的反钓鱼方法
CN109784059B (zh) 一种木马文件溯源方法、***及设备
CN110555305A (zh) 基于深度学习的恶意应用溯源方法及相关装置
CN112989157A (zh) 一种检测爬虫请求的方法和装置
CN111090860A (zh) 一种基于深度学习的代码漏洞检测方法及装置
CN114329455B (zh) 基于异构图嵌入的用户异常行为检测方法及装置
CN112688966A (zh) webshell检测方法、装置、介质和设备
Liu et al. Functions-based CFG embedding for malware homology analysis
CN116578980A (zh) 基于神经网络的代码分析方法及其装置、电子设备
CN110808947B (zh) 一种自动化的脆弱性量化评估方法及***
CN113918936A (zh) Sql注入攻击检测的方法以及装置
CN116702160A (zh) 一种基于数据依赖增强程序切片的源代码漏洞检测方法
CN110413909B (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