CN110472415B - 一种恶意程序的确定方法及装置 - Google Patents
一种恶意程序的确定方法及装置 Download PDFInfo
- Publication number
- CN110472415B CN110472415B CN201910625713.XA CN201910625713A CN110472415B CN 110472415 B CN110472415 B CN 110472415B CN 201910625713 A CN201910625713 A CN 201910625713A CN 110472415 B CN110472415 B CN 110472415B
- Authority
- CN
- China
- Prior art keywords
- program
- sample
- network model
- detected
- determining
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种恶意程序的确定方法及装置,涉及计算机领域,用于有效的确定恶意程序。包括:确定多个样本程序中每个样本程序的预测行为特征;根据所述每个样本程序的静态特征及所述每个样本程序的预测行为特征确定第一网络模型,所述第一网络模型用于预测恶意程序;根据所述第一网络模型与待检测程序之间的相似度,确定所述待检测程序为恶意程序。
Description
本申请要求于2018年12月13日提交国家知识产权局、申请号为201811527256.2、发明名称为“一种恶意程序检测和行为预测的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及计算机领域,尤其涉及一种恶意程序的确定方法及装置。
背景技术
恶意程序是网络安全的主要威胁之一,传统恶意程序检测方法有特征代码、校验和、行为检测等,这些方法实现原理与成本开销各不相同,传统主流检测工具通常基于特征方式。恶意程序的特征由专家人工分析或通过自动分析方式生成,基于该方法能够有效发现已知恶意程序,但无法有效识别未知恶意程序。随着机器学习在安全领域的应用特别是近年来深度学习的发展,其在恶意程序检测领域也得到了有效的应用。
目前,利用静态特征或沙盒进行恶意程序检测,是机器学习在此领域中最为常见的两种应用方式。静态特征能够实时探测恶意程序,但目前大部分恶意程序都能够利用各种工具或技术避免被探测;而通过沙盒虽然能够提供恶意程序的行为强有力的证据,但其不足之处在于易受反沙盒影响,环境依赖度高。
因此,如何有效确定恶意程序成为亟待解决的问题。
发明内容
本申请的实施例提供一种恶意程序的确定方法及装置,用于有效确定恶意程序。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种恶意程序的确定方法,该方法包括:
确定多个样本程序中每个样本程序的预测行为特征;根据多个样本程序中每个样本程序的静态特征及每个样本程序的预测行为特征确定第一网络模型;所述第一网络模型预测恶意程序;根据第一网络模型与待检测程序之间的相似度,确定待检测程序为恶意程序。
本申请实施例提供的恶意程序的确定方法,通过确定多个样本程序中每个样本程序的预测行为特征,并根据每个样本程序的预测行为特征及静态特征确定第一网络模型。由于第一网络模型具有多个样本程序的静态特征及预测行为特征。一方面通过第一网络模型可以有效的预测恶意程序的行为特征。另一方面,还可以根据第一网络模型的特征与待检测程序的特征的相似度,确定待检测程序为恶意程序。
第二方面,提供了一种恶意程序的确定装置,该装置包括确定单元;确定单元,用于确定多个样本程序中每个样本程序的预测行为特征;确定单元,还用于根据多个样本程序中每个样本程序的静态特征及每个样本程序的预测行为特征确定第一网络模型,第一网络模型用于预测恶意程序;确定单元,还用于根据第一网络模型与待检测程序之间的相似度,确定待检测程序为恶意程序。
第三方面,提供了一种可读存储介质,可读存储介质中存储有指令,当指令被执行时,实现如第一方面的方法。
第四方面,提供了一种计算机程序产品,计算机程序产品包含至少一个指令,当至少一个指令在计算机上运行时,使得计算机执行如第一方面的方法。
第五方面,提供一种芯片,芯片包括至少一个处理器及通信接口,通信接口和至少一个处理器耦合,至少一个处理器用于运行计算机程序或指令,以实现第一方面的方法。
上述提供的装置或计算机存储介质或计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文提供的对应的方法中对应方案的有益效果,此处不再赘述。
附图说明
图1为本申请的实施例提供的一种恶意程序的确定方法的流程示意图一;
图2为本申请的实施例提供的一种恶意程序的确定方法的流程示意图二;
图3为本申请的实施例提供的一种恶意程序的确定方法示意图一;
图4为本申请的实施例提供的一种恶意程序的确定方法示意图二;
图5为本申请的实施例提供的一种恶意程序的确定方法的流程示意图三;
图6为本申请的实施例提供的一种恶意程序的确定装置结构示意图一;
图7为本申请的实施例提供的一种恶意程序的确定装置结构示意图二;
图8为本申请的实施例提供的一种芯片的结构示意图。
具体实施方式
下面先对本申请实施例涉及的相关名词进行简单介绍。
深度学习(deep learning):
深度学习的本质是构建含有多隐层的机器学习架构模型,通过大规模数据进行训练,得到大量更具代表性的特征信息,从而对样本进行分类和预测,提高分类和预测的精度。
迁移学习(transfer learning):
迁移学习是将已训练好的模型参数迁移到新的模型以帮助新模型训练。由于大部分数据或任务是存在相关性的,所以可以通过迁移学习将已经学到的模型参数(也可以为通过模型学到的知识)通过某种方式来分享给新模型,从而加快并优化模型的学习效率,不需要从零学习。
N元语法模型:
N元语法模型(N-Gram)基于这样一种假设,第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语言材料中统计N个词同时出现的次数得到。常用的是二元语法模型Bi-Gram和三元语法模型Tri-Gram。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
下面将结合图1至图6对本申请实施例提供的一种恶意程序的确定方法进行具体阐述。
需要指出的是,本申请各实施例之间可以相互借鉴或参考,例如,相同或相似的步骤,方法实施例和装置实施例之间,均可以相互参考,不予限制。
本申请实施例中,服务器可以通过机器学习确定待检测程序为恶意程序。
如图1所示,本申请实施例中,机器学习过程分为三个阶段:预训练阶段、训练阶段及预测阶段。
其中,在预训练阶段,服务器可以根据样本程序的静态特征及动态特征确定第二网络模型;第二网络模型用于确定与静态特征对应的预测行为特征。
如图1所示,在预训练阶段,服务器可以获取多个样本程序中每个样本程序的静态特征。服务器还可以在沙盒中启动/执行多个样本程序,得到多个样本程序中每个样本程序各自在沙盒中的动态特征。其中,每个样本程序的动态特征与静态特征一一对应。
需要说明的是,静态特征用于表示样本程序的基本信息,如样本程序的代码、语言等。动态特征用于反映样本程序的动态行为。沙盒(sandbox,又译为沙箱)是一种安全机制,可以为运行中的样本程序提供隔离环境。
需要说明的是,本申请实施例在预训练阶段引入沙盒,可以使沙盒参与确定恶意程序的同时又保证了实时性,因此可以实现及时防护恶意程序。
如图1所示,在训练阶段,服务器可以根据预训练阶段得到第二网络模型、静态特征确定第一网络模型;第一网络模型用于确定待检测程序为恶意程序。示例性的,第一网络模型还可以用于确定待检测程序为正常程序。
如图1所示,在预测阶段,服务器可以根据训练阶段得到的第一网络模型预测待检测程序是否为恶意程序。如果待检测程序为恶意程序则待检测程序可能影响系统或软件的正常运行。
如图2所示,图2示出了本申请实施例提供的一种恶意程序的确定方法,该方法的执行主体可以为服务器。下述实施例以执行主体为服务器为例描述。
需要说明的,服务器可以为实体服务器,还可以为虚拟服务器,如云端服务器等。
如图2所示,本申请实施例提供的一种恶意程序的确定方法,包括:
S101、服务器确定多个样本程序中每个样本程序的预测行为特征。
其中,多个样本程序可以包括至少一个恶意程序和至少一个正常程序。
本申请实施例中的正常程序指是指在可能不会影响系统或软件正常运行的程序。例如,正常程序指在计算机系统上执行正常任务且不携带病毒、蠕虫和特洛伊木马的程序。
本申请实施例中的恶意程序(Malware)是指在计算机系统上运行时可能会破坏系统或软件进程的程序。例如,恶意程序指执行恶意任务的病毒、蠕虫和特洛伊木马的程序,通过破坏系统或软件的进程来实施控制。恶意程序可以造成多种威胁,所以需要采取多种方法和技术来进行确定并隔离。示例性的,当样本程序为恶意程序时,恶意程序对应的预测行为特征可以确定恶意程序产生的不良影响,如系统无法正常运行等。
一个样本程序的预测行为特征用于预测该样本程序将要执行的动作,或一个样本程序的预测行为特征用于确定该样本程序的行为。例如,图3所示,一个样本程序的预测行为特征用于表示该样本程序将要执行猫捉老鼠的动作。
本申请实施例中,预测行为特征用于确定样本程序运行时可能的行为。
S102、服务器根据多个样本程序中每个样本程序的静态特征及预测行为特征确定第一网络模型。
本申请实施例中的S102具体可以通过以下方式实现:服务器可以通过将每个样本程序静态特征和预测行为特征相结合,形成强化的静态特征。服务器利用服务器中的学习算法模型器训练强化的静态特征,得到第一网络模型。
示例性的,该强化的静态特征不仅可以确定样本程序的基本信息,如样本程序的代码,还可以预测样本程序的行为,如恶意的样本程序的破坏行为。
需要说明的是,第一网络模型中具有多个恶意程序的静态特征及预测行为特征,以及多个正常程序的静态特征及预测行为特征。
S103、服务器根据第一网络模型与待检测程序之间的相似度,确定待检测程序为恶意程序。
本申请实施例中,服务器可以根据待检测程序与第一网络模型中恶意程序的静态特征和/或预测行为特征的相似度,确定待检测程序为恶意程序。
本申请实施例中,服务器可以根据待检测程序与第一网络模型中正常程序的静态特征和/或预测行为特征的相似度,确定待检测程序为正常程序。
一种可能的实现方式中,服务器具有规则评估器,用于计算待检测程序的多个静态特征和/或预测行为特征与第一网络模型中的样本程序的特征的相似度。
本申请实施例提供的恶意程序的确定方法,通过确定多个样本程序中每个样本程序的预测行为特征,并根据每个样本程序的预测行为特征及静态特征确定第一网络模型。由于第一网络模型具有多个样本程序的静态特征及预测行为特征。一方面通过第一网络模型可以有效的预测恶意程序的行为特征。另一方面,还可以根据第一网络模型的特征与待检测程序的特征的相似度,确定待检测程序为恶意程序。
一种可能的实现方式中,如图4所示,S101具体可以通过S210实现:
S201、服务器根据第二网络模型及每个样本程序的静态特征,确定每个样本程序的静态特征各自对应的预测行为特征。
其中,第二网络模型用于确定与静态特征对应的预测行为特征。
如图3所示,服务器还可以通过预训练阶段的学习得到第二网络模型将每个样本程序的静态特征,得到每个样本程序各自的预测行为特征。
例如,服务器根据样本程序1的静态特征,以及第二网络模型,得到样本程序1的预测行为特征。服务器根据样本程序2的静态特征,以及第二网络模型,得到样本程序2的预测行为特征。
如图3所示,服务器通过第一网络模型可以确定待检测程序为恶意程序,还可以通过第二网络模型预测待检测程序的行为。
需要说明的是,图3中,服务器可以通过迁移学习将第二网络模型嵌入第一网络模型。
服务器通过迁移学习将第二网络模型嵌入第一网络模型可以得到一个嵌入式网络,因此可以整合多层次信息,如静态特征和动态特征。本申请实施例中在预训练阶段构建第二网络模型,因此在训练阶段构建第一网络模型时,不需要每次都重新构建第二网络模型,具有稳定性。
一种可能的实现方式中,如图5所示,该方法可以包括S401-S402:
S401、服务器将多个样本程序在沙盒中运行,得到与每个样本程序的静态特征对应的动态特征。
本申请实施例还提供了实验评估过程,在实验中,可以采用一元语法模型作为静态特征,二元语法模型作为动态特征;并将JavaScript作为目标文件类型,收集来自于不同的渠道的1000000个目标文件和超过500000个JavaScript的恶意的程序样本。
需要说明的是,JavaScript一种直译式脚本语言。
其中,服务器可以通过多个渠道中选取第一预设数量的恶意程序和第二预设数量的正常程序作为训练数据。例如,渠道可以包括网站流量、客户环境、VirusTotal网站、蜜罐服务器以及病毒库。
需要说明的是,VirusTotal网站可以提供免费的可疑文件分析服务。
示例性的,第一预设数量可以为128041个,第二预设数量可以为332184个。
S402、服务器根据预设算法、多个样本程序中每个样本程序的静态特征及动态特征确定第二网络模型。
本申请实施例中,服务器还可以根据多个样本程序中每个样本程序的静态特征和动态特征通过深度学习,训练从静态特征到动态特征的深度学习模型,得到第二网络模型,其中,第二网络模型包括多个静态特征、多个动态特征及多个规则。该多个规则中每个规则用于表示一个静态特征与该静态特征对应的动态特征之间的关系,例如映射关系、相似度等。
一种可能的实现方式中,本申请实施例中,服务器可以根据预设算法(例如神经网络算法)、样本程序的多个静态特征和多个动态特征,训练得到第二网络模型。
一种可能的实现方式中,服务器可以确定第二网络模型中的特征分类规则。
本申请实施例,服务器还可以通过在样本程序或预设算法中设置参数,自定义恶意程序。
一种可能的实现方式中,在预训练阶段,可由不同服务器各自独立进行训练确定第二网络模型,因此可以整合多种资源,实现了协同决策。
本申请实施例的实验中可以选取93749个恶意程序和176050个正常程序作为评估数据集。实验结果如表1所示。
表1实验结果
从表1中可知,通过嵌入式网络确定待检测程序为恶意程序,可以得到较高的综合评价指标(F1-Meature),尤其是可以得到较高的召回率。
需要说明的是,本申请实施例的实验首先验证了对样本程序的行为进行预测的可行性,然后评估了通过静态特征和动态特征学习得到的嵌入式网络模型。该评估结果可以表明该嵌入式网络模型可以实现样本聚类,提升恶意程序的预测性能。
需要说明的是,基于评估数据集,服务器可以选取不同的特征(参数)检测程序,如不同的准确度指标、召回率指标等,得到多个不同的测试结果。其中,测试结果越准确则有效性越高、重要程度越高。因此,服务器可以根据测试结果的有效性对测试结果依次排序。从而在构建第二网络模型时,选取的样本程序更加合理。
一种可能的实现方式中,在预测阶段,服务器可以通过第二网络模型以及样本程序的静态特征,得到预测行为特征。由此,服务器将静态特征与预测行为特征结合形成强化的静态特征,然后通过训练阶段学习得到的第二网络模型结合强化的静态特征进行预测,可以准确预测待检测程序的行为。
需要说明的是,在预测中并不需要沙盒,预测行为特征能够提供目标文件的可能行为信息,即行为预测。
一种可能的实现方式中,如图5所示,该方法还可以包括S403或S404:
S403、若待检测程序与第一网络模型中的恶意程序的相似度大于或等于第一阈值时,则服务器确定待检测程序为恶意程序。
示例性的,第一阈值可以为0.7。
S404、若待检测程序与第一网络模型中的正常程序的相似度小于第二阈值时,则服务器确定待检测程序为恶意程序。
示例性的,第二阈值可以为0.6。
一种可能的实现方式中,如图5所示,该方法还可以包括:
S405、在确定待检测程序为恶意程序时,服务器发送提示信息。
当服务器确定待检测程序为恶意程序时,可以向终端发送提示信息。该提示信息用于表示待检测程序为恶意程序。终端可以根据提示信息阻止待检测程序运行。
需要说明的,本申请实施例中的终端可以为提供待检测程序的设备。
本申请实施例提供的终端可以为计算机、移动终端等电子设备。移动终端可以为智能手机等。计算机可以是个人数字助理(personal digital assistant,PDA)电脑、平板型电脑以及膝上型电脑(laptop computer)等。
本申请实施例可以根据上述方法示例对恶意程序的确定装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本申请实施例提供了一种恶意程序的确定装置,该装置可以为服务器,也可以为应用于服务器的芯片。如图6所示,该装置800包括确定单元810。
确定单元810,用于确定多个样本程序中每个样本程序的预测行为特征;
确定单元810,还用于根据多个样本程序中每个样本程序的静态特征及每个样本程序的预测行为特征确定第一网络模型;
其中,第一网络模型用于预测恶意程序。
确定单元810,还用于根据第一网络模型与待检测程序之间的相似度,确定待检测程序为恶意程序。
可选的,确定单元810,具体用于根据第二网络模型及每个样本程序的静态特征确定与每个样本程序的静态特征对应的预测行为特征。
其中,第二网络模型用于确定与静态特征对应的预测行为特征。
可选的,确定单元810,还用于:将多个样本程序在沙盒中运行,得到与每个样本程序的静态特征对应的动态特征;根据预设算法、每个样本程序的静态特征及动态特征确定第二网络模型。
可选的,确定单元810,具体用于:
若待检测程序与第一网络模型中的恶意程序的相似度大于或等于第一阈值,则确定待检测程序为恶意程序;
或,
若待检测程序与第一网络模型中的正常程序的相似度小于第二阈值,则确定待检测程序为恶意程序。
一种可能的实现方式中,如图6所示,该装置还可以包括通信单元820:
在确定待检测程序为恶意程序的情况下,通信单元820,用于发送提示信息。
其中,提示信息用于提示待检测程序为恶意程序。
图7示出了上述实施例中所涉及恶意程序的确定装置的又一种可能的结构示意图。当该装置为服务器时,该装置包括:一个或多个处理器161和通信接口162。处理器161用于对装置的动作进行控制管理,例如,执行上述确定单元810执行的步骤,和/或用于执行本文所描述的技术的其它过程。
在具体实现中,作为一种实施例,处理器161可以包括一个或多个CPU,例如图7中的CPU0和CPU1。
在具体实现中,作为一种实施例,通信设备可以包括多个处理器,例如图7中的处理器161。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
可选的,该装置还可以包括存储器163和通信线路164,存储器163用于存储装置的程序代码和数据。
图8是本申请实施例提供的芯片170的结构示意图。芯片170包括一个或两个以上(包括两个)处理器1710和通信接口1730。
可选的,该芯片170还包括存储器1740,存储器1740可以包括只读存储器和随机存取存储器,并向处理器1710提供操作指令和数据。存储器1740的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,存储器1740存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本申请实施例中,通过调用存储器1740存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
其中,上述处理器1710可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
存储器1740可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
总线1720可以是扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。总线1720可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述方法实施例所示的方法流程中的各个步骤。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(Application Specific Integrated Circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本发明的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行如图2、图4、图5中所述的恶意程序的确定方法。
由于本发明的实施例中的恶意程序的确定装置、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本发明实施例在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种恶意程序的确定方法,其特征在于,包括:
确定多个样本程序中每个样本程序的预测行为特征;
根据所述每个样本程序的静态特征及所述每个样本程序的预测行为特征确定第一网络模型;所述第一网络模型用于预测恶意程序;
根据所述第一网络模型与待检测程序之间的相似度,确定所述待检测程序为恶意程序;
所述确定多个样本程序中每个样本程序的预测行为特征,包括:
根据第二网络模型及所述每个样本程序的静态特征确定与所述每个样本程序的静态特征各自对应的预测行为特征;所述第二网络模型用于确定与静态特征对应的预测行为特征。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述多个样本程序在沙盒中运行,得到与所述每个样本程序的静态特征对应的动态特征;
根据预设算法、所述每个样本程序的静态特征及动态特征确定所述第二网络模型。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述根据所述第一网络模型与待检测程序之间的相似度,确定所述待检测程序为恶意程序,包括:
若所述待检测程序与所述第一网络模型中的恶意程序的相似度大于或等于第一阈值,则确定所述待检测程序为恶意程序;
或,
若所述待检测程序与所述第一网络模型中的正常程序的相似度小于第二阈值,则确定所述待检测程序为恶意程序。
4.根据权利要求1-2任一项所述的方法,其特征在于,所述方法还包括:
在确定所述待检测程序为恶意程序的情况下,发送提示信息;所述提示信息用于提示所述待检测程序为恶意程序。
5.一种恶意程序的确定装置,其特征在于,所述装置包括确定单元;
所述确定单元,用于确定多个样本程序中每个样本程序的预测行为特征;
所述确定单元,还用于根据所述每个样本程序的静态特征及所述每个样本程序的预测行为特征确定第一网络模型;所述第一网络模型用于预测恶意程序;
所述确定单元,还用于根据所述第一网络模型与待检测程序之间的相似度,确定所述待检测程序为恶意程序;
所述确定单元,具体用于:
根据第二网络模型及所述每个样本程序的静态特征确定与所述每个样本程序的静态特征各自对应的预测行为特征;所述第二网络模型用于确定与静态特征对应的预测行为特征。
6.根据权利要求5所述的装置,其特征在于,所述确定单元,还用于:
将所述多个样本程序在沙盒中运行,得到与所述每个样本程序的静态特征对应的动态特征;
根据预设算法、所述每个样本程序的静态特征及动态特征确定所述第二网络模型。
7.根据权利要求5-6任一项所述的装置,其特征在于,
若所述待检测程序与所述第一网络模型中的恶意程序的相似度大于或等于第一阈值时,则所述确定单元,具体用于确定所述待检测程序为恶意程序;
或,
若所述待检测程序与所述第一网络模型中的正常程序的相似度小于第二阈值时,则所述确定单元,具体用于确定所述待检测程序为恶意程序。
8.根据权利要求5-6任一项所述的装置,其特征在于,所述装置还包括通信单元:
在确定所述待检测程序为恶意程序的情况下,所述通信单元,用于发送提示信息;所述提示信息用于提示所述待检测程序为恶意程序。
9.一种可读存储介质,其特征在于,所述可读存储介质中存储有指令,当所述指令被执行时,实现如权利要求1至4中任一项所述的方法。
10.一种芯片,其特征在于,所述芯片包括至少一个处理器及通信接口,所述通信接口和所述至少一个处理器耦合,所述至少一个处理器用于运行计算机程序或指令,以实现权利要求1至4中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811527256 | 2018-12-13 | ||
CN2018115272562 | 2018-12-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110472415A CN110472415A (zh) | 2019-11-19 |
CN110472415B true CN110472415B (zh) | 2021-08-10 |
Family
ID=68507977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910625713.XA Active CN110472415B (zh) | 2018-12-13 | 2019-07-11 | 一种恶意程序的确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110472415B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648585B (zh) * | 2024-01-29 | 2024-05-10 | 中国人民解放军军事科学院国防科技创新研究院 | 基于任务相似度的智能决策模型泛化方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201610600D0 (en) * | 2015-10-20 | 2016-08-03 | Sophos Ltd | Mitigation of anti-sandbox malware techniques |
CN105893848A (zh) * | 2016-04-27 | 2016-08-24 | 南京邮电大学 | 一种基于代码行为相似度匹配的Android恶意应用程序防范方法 |
CN106228068A (zh) * | 2016-07-21 | 2016-12-14 | 江西师范大学 | 基于混合特征的Android恶意代码检测方法 |
CN106874761A (zh) * | 2016-12-30 | 2017-06-20 | 北京邮电大学 | 一种安卓系统恶意应用检测方法及系统 |
CN107194251A (zh) * | 2017-04-01 | 2017-09-22 | 中国科学院信息工程研究所 | Android平台恶意应用检测方法及装置 |
CN108256325A (zh) * | 2016-12-29 | 2018-07-06 | 中移(苏州)软件技术有限公司 | 一种恶意代码变种的检测的方法和装置 |
CN108334781A (zh) * | 2018-03-07 | 2018-07-27 | 腾讯科技(深圳)有限公司 | 病毒检测方法、装置、计算机可读存储介质和计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10176321B2 (en) * | 2015-09-22 | 2019-01-08 | Fireeye, Inc. | Leveraging behavior-based rules for malware family classification |
-
2019
- 2019-07-11 CN CN201910625713.XA patent/CN110472415B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201610600D0 (en) * | 2015-10-20 | 2016-08-03 | Sophos Ltd | Mitigation of anti-sandbox malware techniques |
CN105893848A (zh) * | 2016-04-27 | 2016-08-24 | 南京邮电大学 | 一种基于代码行为相似度匹配的Android恶意应用程序防范方法 |
CN106228068A (zh) * | 2016-07-21 | 2016-12-14 | 江西师范大学 | 基于混合特征的Android恶意代码检测方法 |
CN108256325A (zh) * | 2016-12-29 | 2018-07-06 | 中移(苏州)软件技术有限公司 | 一种恶意代码变种的检测的方法和装置 |
CN106874761A (zh) * | 2016-12-30 | 2017-06-20 | 北京邮电大学 | 一种安卓系统恶意应用检测方法及系统 |
CN107194251A (zh) * | 2017-04-01 | 2017-09-22 | 中国科学院信息工程研究所 | Android平台恶意应用检测方法及装置 |
CN108334781A (zh) * | 2018-03-07 | 2018-07-27 | 腾讯科技(深圳)有限公司 | 病毒检测方法、装置、计算机可读存储介质和计算机设备 |
Non-Patent Citations (1)
Title |
---|
MARVIN: Efficient and Comprehensive Mobile App Classification Through Static and Dynamic Analysis;Martina Lindorfer,etc;《2015 IEEE 39th Annual International Computers, Software & Applications Conference》;20150924;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110472415A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xiao et al. | Android malware detection based on system call sequences and LSTM | |
US10984316B2 (en) | Context aware sensitive information detection | |
JP6758360B2 (ja) | 悪意あるコンテナを検出するための機械学習モデルをトレーニングするシステムおよび方法 | |
US11580222B2 (en) | Automated malware analysis that automatically clusters sandbox reports of similar malware samples | |
CN101901322A (zh) | 用于检测混淆恶意软件的系统和方法 | |
CN103761476A (zh) | 特征提取的方法及装置 | |
US10395033B2 (en) | System, apparatus and method for performing on-demand binary analysis for detecting code reuse attacks | |
CN109271789B (zh) | 恶意进程检测方法、装置、电子设备及存储介质 | |
Li et al. | A lightweight assisted vulnerability discovery method using deep neural networks | |
US11916937B2 (en) | System and method for information gain for malware detection | |
Rajawat et al. | Novel deep learning model for uncertainty prediction in mobile computing | |
CN108470126B (zh) | 数据处理方法、装置及存储介质 | |
Chen et al. | Nmtsloth: understanding and testing efficiency degradation of neural machine translation systems | |
US11048621B2 (en) | Ensuring source code integrity in a computing environment | |
CN116204882A (zh) | 基于异构图的Android恶意软件检测方法及装置 | |
Egitmen et al. | Combat mobile evasive malware via skip‐gram‐based malware detection | |
Alecakir et al. | Attention: there is an inconsistency between android permissions and application metadata! | |
CN110472415B (zh) | 一种恶意程序的确定方法及装置 | |
CN106502707B (zh) | 代码生成方法及装置 | |
Reyhani Hamedani et al. | AndroClass: An effective method to classify Android applications by applying deep neural networks to comprehensive features | |
Vaza et al. | Developing a novel methodology for virtual machine introspection to classify unknown malware functions | |
CN109446054B (zh) | 基于大数据的越权操作请求的处理方法及终端设备 | |
Zheng et al. | A multitype software buffer overflow vulnerability prediction method based on a software graph structure and a self-attentive graph neural network | |
Tang et al. | Deep learning-based solution for smart contract vulnerabilities detection | |
CN117034275B (zh) | 基于Yara引擎的恶意文件检测方法、设备及介质 |
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 |