CN117009967A - 一种恶意代码检测模型构建方法、***及存储介质 - Google Patents
一种恶意代码检测模型构建方法、***及存储介质 Download PDFInfo
- Publication number
- CN117009967A CN117009967A CN202310923908.9A CN202310923908A CN117009967A CN 117009967 A CN117009967 A CN 117009967A CN 202310923908 A CN202310923908 A CN 202310923908A CN 117009967 A CN117009967 A CN 117009967A
- Authority
- CN
- China
- Prior art keywords
- model
- malicious code
- code detection
- training
- detection model
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 153
- 238000010276 construction Methods 0.000 title claims abstract description 27
- 238000012549 training Methods 0.000 claims abstract description 112
- 238000000034 method Methods 0.000 claims abstract description 75
- 238000012360 testing method Methods 0.000 claims abstract description 36
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000012800 visualization Methods 0.000 claims abstract description 17
- 238000005516 engineering process Methods 0.000 claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims description 51
- 238000007477 logistic regression Methods 0.000 claims description 28
- 230000006399 behavior Effects 0.000 claims description 24
- 238000004458 analytical method Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 15
- 230000003068 static effect Effects 0.000 claims description 12
- 238000010801 machine learning Methods 0.000 claims description 11
- 238000005457 optimization Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 11
- 238000007781 pre-processing Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 238000002790 cross-validation Methods 0.000 claims description 5
- 238000009434 installation Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 20
- 238000012706 support-vector machine Methods 0.000 description 65
- 239000000523 sample Substances 0.000 description 20
- 239000008186 active pharmaceutical agent Substances 0.000 description 16
- 230000008901 benefit Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 238000011176 pooling Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Virology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种恶意代码检测模型构建方法、***及存储介质,其中方法通过提取APK文件中的元数据并以其为原始数据生成训练集及测试集对模型进行训练及测试,提高了恶意代码检测的效果和准确性;同时,同样由于元数据提供了可以帮助分析人员理解模型在恶意代码检测过程中决策依据的关于APK文件结构和行为的重要信息,本发明通过提取分析元数据配合可视化工具及技术,还揭示了模型对恶意行为的关注点和特征,增强了模型的可解释性。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及的是一种恶意代码检测模型构建方法、***及存储介质。
背景技术
恶意APK(Android Application Package)是指在Android平台上运行的恶意应用程序,通常是指包含恶意代码、具有恶意行为或者对用户隐私和安全构成威胁的APK文件。由于Android平台的开放性和普及性,恶意APK的数量和种类在不断增加,目前已知且常见的恶意APK种类就有:隐私侵犯、金融欺诈、广告滥用、远程控制、拒绝服务攻击及恶意代码注入等等多种,而且随着时间的推移,恶意APK的种类还在不断的增加,对用户隐私和安全所构成的威胁也越来越大,为了应对这种情况,恶意APK检测技术应运而生。但由于恶意APK种类的不断增加,检测的难度也在变的越来越大。
传统的恶意APK检测技术常见的有静态分析和动态分析,其中静态分析是指通过对APK文件的结构和内容进行分析,以期检查应用程序在权限请求、API调用、文件操作等方面的合规性及合法性,来识别潜在的恶意行为,进而判断APK是否属于恶意APK的方法;而动态分析是指在受控环境中执行APK文件并监查其行为,进而判断APK是否属于恶意APK的方法。这两种检测技术各有优缺点,静态分析的优点是:无需实际执行代码,占用资源较少,缺点是:可能受到代码混淆和反分析技术的影响,导致特征模糊而难以检测,即容易漏检;而动态分析的优点是:可以捕获APK运行时的行为以获得更高的检测精度,缺点是:需要大量计算资源和时间,尤其是处理大量APK文件的时候。
申请号为2021107102773的发明专利申请公布了一种基于多尺度卷积神经网络的恶意代码检测方法,如图1所示,其步骤包括:
步骤1:对恶意代码数据进行预处理;
步骤2:设计搭建多尺度卷积神经网络模型:该模型包括卷积层和全连接层;第一层卷积层作为输入层,其输出维度是16,卷积核长度为4,激活函数是ReLU函数;第二层是BN层,将上层输出做标准归一化处理;第三层是一个最大池化层;随后是两层卷积层,其中第二层卷积层后连接一层BN层与最大池化层;在第一层池化层后添加分支网络,包括一层重构层,和两层全连接层,维度分别为512,64;第二层池化层后也添一个加分支网络,包括一层重构层,和两层全连接层,维度变为256,64;第三层卷积层后连接一层Flatten层和Dropout层,Dropout层的随机丢弃权值概率设为0.5;最后使用全连接层作为输出层,输出类别为1类,激活函数采用'sigmoid';
步骤3:搭建传统卷积神经网络模型;
步骤4:配置模型的优化器、损失函数和迭代次数;
步骤5:利用训练数据集对模型进行训练;
步骤6:用训练好的模型对测试集的数据进行预测,记录下各个模型预测的结果。
2021107102773所公开的恶意代码检测方法旨在提取到不同尺度的数据特征,以此来提高恶意代码检测的精确度;同时通过子网络提取较深的特征,以此来提高训练和测试的效率。但正是由于其采用了深层次的网络结构和多个尺度的输入特征,才使得网络的深度和复杂度增加了模型内部的映射关系,难以准确理解每个网络层的作用和特征提取过程,即导致模型的可解释性较低。
可见,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种恶意代码检测模型构建方法、***及存储介质,旨在解决现有恶意代码检测方法所构建模型可解释性较低的问题。
本发明的技术方案如下:
一种恶意代码检测模型构建方法,其包括:
收集APK文件作为APK样本,所述APK样本包括已知的恶意样本及正常样本;
逐一解析APK文件,提取APK文件元数据,以获取APK的权限请求、组件信息、代码结构、资源文件及API调用信息;
对提取的元数据进行预处理,生成数据集;
搭建基于机器学习的恶意代码检测模型,并使用所述训练集进行恶意代码检测模型的训练,通过迭代优化恶意代码检测模型的参数及权重;
使用测试集对训练好的恶意代码检测模型进行评估,计算恶意代码检测模型的准确率、召回率及精确率,并判断计算结果是否达到预设阈值,若是则将训练好的恶意代码检测模型作为最终恶意代码检测模型,若否则继续进行模型训练直至计算结果达到预设阈值;
通过可视化工具及技术,将模型的决策过程、特征之间的关系及恶意代码检测规则呈现出来。
上述方案的效果在于:元数据可以提供关于APK文件结构和行为的重要线索,具有较强的区分性和关联性,将其作为数据集的一部分可以提高恶意代码检测模型对恶意代码的检测能力和准确性,因此,本发明通过提取APK文件中的元数据并以其为原始数据生成训练集及测试集对模型进行训练及测试,提高了恶意代码检测的效果和准确性;同时,同样由于元数据提供了可以帮助分析人员理解模型在恶意代码检测过程中决策依据的关于APK文件结构和行为的重要信息,本发明通过提取分析元数据配合可视化工具及技术,揭示了模型对恶意行为的关注点和特征,增强了模型的可解释性。
在进一步地优选方案中,所述逐一解析APK文件,提取APK文件元数据,以获取APK的权限请求、组件信息、代码结构、资源文件及API调用信息的步骤包括:
逐一读取所收集的APK文件;
提取应用程序在安装时请求的权限列表,识别应用程序的活动组件、服务组件、广播接收器及内容提供器,并对APK文件中的DEX文件进行解析,以了解应用程序的代码结构和类的层次关系;
提取APK文件中的资源文件,并通过静态分析和反编译技术识别APK中使用的API调用,以了解应用程序的行为。
上述方案的效果在于:通过提取APK文件的权限请求信息,可以识别恶意代码可能滥用的敏感权限,例如未经用户同意的数据访问、位置跟踪等,从而帮助模型辨别潜在的恶意行为;提取的应用程序组件信息能够揭示恶意代码可能利用的组件漏洞,帮助模型分析恶意行为的潜在方式;在此基础上,对APK文件中的代码结构进行解析,可以深入了解应用程序的类层次关系,包括调用关系、代码逻辑等,这样的信息对于检测恶意代码的特征和模式至关重要;此外,提取APK文件中的资源文件,结合静态分析和反编译技术识别APK中使用的API调用,能够对应用程序的行为进行分析,包括网络通信、文件操作等,从而帮助模型识别潜在的恶意行为特征;本发明通过上述步骤提取得到的元数据,不仅丰富了数据集,更重要的是为模型提供了关键特征和行为信息,增强了恶意代码检测模型的准确性和鲁棒性;同时,这些元数据也可以帮助分析人员理解模型在恶意代码检测过程中的决策依据,提高了模型的可解释性。
除此之外,本发明将静态分析技术和动态分析技术融合在一起,相对于传统动静分析分离的技术,可以提供更全面、准确和可解释的恶意代码检测效果,同时节省时间和资源,提高了检测的效率和精确性。
在进一步地优选方案中,所述对提取的元数据进行预处理,生成数据集的步骤具体包括:
从提取的元数据中根据其对恶意代码的区分能力选择恶意代码区分特征,同时去除冗余和不相关特征;
对选择的恶意代码区分特征进行特征缩放操作,使所选择的所有恶意代码区分特征具有相同的尺度。
上述方案的效果在于:选择恶意代码区分特征并去除冗余和不相关特征是为了确保数据集只包含对恶意代码检测有意义的特征,减少了噪声和不必要的信息,从而提高了模型的准确性和泛化能力;而特征缩放操作则是为了避免不同特征之间由于尺度不同而导致的权重失衡问题,确保模型能够更加平衡地对待不同特征,提高了模型的稳定性和可靠性。
在进一步地优选方案中,所述搭建基于机器学习的恶意代码检测模型,并使用所述训练集进行恶意代码检测模型的训练,通过迭代优化恶意代码检测模型的参数及权重;并使用测试集对训练好的恶意代码检测模型进行评估,计算恶意代码检测模型的准确率、召回率及精确率,判断计算结果是否达到预设阈值,若是则将训练好的恶意代码检测模型作为最终恶意代码检测模型,若否则继续进行模型训练直至计算结果达到预设阈值的步骤具体包括:
将数据集划分为k个子集,采用交叉验证方法依次将k个子集中的k-1个子集作为训练集,剩余一个子集作为测试集;
对每个训练集进行训练,得到k个训练所得SVM模型;
分别计算k个训练所得SVM模型在对应测试集上的准确率、召回率和精确率,并依次判断计算结果是否达到预设阈值;若仅有一个SVM模型的计算结果达到预设阈值,则将该SVM模型作为最终恶意代码检测模型;若有多个训练所得SVM模型的计算结果皆达到预设阈值,则计算这些SVM模型的F1分数,并选择F1分数最高的SVM模型作为最终恶意代码检测模型;若无SVM模型的计算结果达到预设阈值,则继续进行模型训练和优化,直至至少有一个模型达到预设阈值或达到预设的训练轮数为止。
上述方案的效果在于:本发明通过采用交叉验证方法对训练集进行多次划分并进行多次训练,以有效优化基于机器学习的恶意代码检测模型的参数和权重;通过多次训练和评估模型,可以得到多组准确率、召回率和精确率等性能指标,进而可以根据F1分数来选择最终的恶意代码检测模型,提高了模型在不同测试集上的性能表现,增强了模型的稳定性和泛化能力,确保了模型的性能和可靠性,从而实现了更可靠、准确、高效的恶意APK批量分析和检测。
在进一步地优选方案中,所述准确率的计算公式为:准确率=(真阳性样本数+真阴性样本数)/样本总数,所述召回率的计算公式为:召回率=真阳性样本数/(真阳性样本数+假阴性样本数),所述准确率的计算公式为:精确率=真阳性样本数/(真阳性样本数+假阳性样本数),所述F1分数的计算公式为:F1分数=(2*精确率*召回率)/(精确率+召回率)。
上述方案的效果在于:通过上述公式可以得知,准确率反映了模型在所有样本中正确预测的比例,召回率衡量了模型对恶意样本的正确检测能力,而精确率则表示模型在所有预测为恶意的样本中,真正是恶意样本的比例,综合考虑精确率和召回率的F1分数能够更全面地评估模型的性能;本发明通过使用这些指标,可以对不同训练后的SVM模型进行评估,并选择F1分数最高的模型作为最终的恶意代码检测模型,确保模型在恶意代码检测方面具有较高的性能和可靠性,以帮助用户更准确地识别恶意APK,并有效提高恶意代码检测的准确率和召回率,从而提升安全性和保护用户设备免受恶意攻击的能力。
在进一步地优选方案中,若无SVM模型的计算结果达到预设阈值,则继续进行模型训练和优化,直至至少有一个模型达到预设阈值或达到预设的训练轮数为止的处理方法包括步骤:
为正则化参数C和核函数的参数设定初始范围;
采用网格搜索方法在所设定的初始范围内进行离散化参数搜索,并选择多组候选参数组合;
采用交叉验证方法将多组候选参数组合先后作为SVM模型的初始参数,并进行每个SVM模型的训练、准确率、召回率及精确率计算;
判断重新训练后的多个SVM模型的计算结果是否达到预设阈值,若仅有一个SVM模型的计算结果达到预设阈值,则将该SVM模型作为最终恶意代码检测模型;若有多个训练所得SVM模型的计算结果皆达到预设阈值,则计算该多个训练所得SVM模型的F1分数,将F1分数最高的SVM模型作为最终恶意代码检测模型,若无SVM模型的计算结果达到预设阈值,则继续进行模型训练和优化,直至至少有一个模型达到预设阈值或达到预设的训练轮数为止。
上述方案的效果在于:本发明通过设定SVM模型的正则化参数C和核函数的参数的初始范围,并采用网格搜索方法进行离散化参数搜索,能够在参数空间中全面搜索可能的参数组合,找到潜在的最优参数设置,优化了模型的性能,提高了恶意代码检测的准确性和可靠性;同时,通过采用交叉验证方法,在训练过程中多次划分训练集和验证集,能够充分利用有限的数据集来评估模型的性能,减少了因数据分布不均匀而导致的过拟合或欠拟合问题,并有效提升了恶意代码检测模型的泛化能力。
在进一步地优选方案中,若仍然无SVM模型的计算结果达到预设阈值,则执行如下步骤:
构建逻辑回归模型并采用与SVM模型相同的训练方法训练逻辑回归模型,依次得到初始逻辑回归模型、二次逻辑回归模型、……及k次逻辑回归模型,并计算训练后各个逻辑回归模型的准确率、召回率及精确率;
使用权重策略,根据各个模型在交叉验证中的表现赋予不同的权重,将k个训练所得SVM模型及k个训练所得逻辑回归模型结合生成集成模型,并将所生成的集成模型作为最终的恶意代码检测模型。
上述方案的效果在于:在构建恶意代码检测模型时,若初始的支持向量机(SVM)模型未能达到预设阈值,将引入逻辑回归模型,并采用相同的训练方法进行训练,通过构建多个逻辑回归模型并计算其准确率、召回率和精确率,利用权重策略根据交叉验证中各个模型的表现赋予不同的权重;最后,将训练得到的k个SVM模型和k个逻辑回归模型结合成为一个集成模型。该集成模型的目标是综合考虑多个基模型的意见,通过投票或加权平均等方式得到更稳健和准确的预测结果,从而极大程度的提高恶意代码检测模型的性能和鲁棒性。
一种用于实现恶意代码检测模型构建方法的***,其包括存储器及处理器,所述存储器用于存储用于恶意代码检测模型构建程序,所述处理器用于运行所述恶意代码检测模型构建程序以实现如上所述的恶意代码检测模型构建方法。由于所述***具备上述恶意代码检测模型构建方法的全部技术特征,因此亦具备上述恶意代码检测模型构建方法的全部技术效果,不再赘述。
一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的恶意代码检测模型构建方法的步骤。所述存储介质包括上述恶意代码检测模型构建方法的所有技术特征,因此也具有上述恶意代码检测模型构建方法的所有技术效果,此处不再赘述。
与现有技术相比,本发明提供的恶意代码检测模型构建方法,通过提取APK文件中的元数据并以其为原始数据生成训练集及测试集对模型进行训练及测试,提高了恶意代码检测的效果和准确性;同时,同样由于元数据提供了可以帮助分析人员理解模型在恶意代码检测过程中决策依据的关于APK文件结构和行为的重要信息,本发明通过提取分析元数据配合可视化工具及技术,还揭示了模型对恶意行为的关注点和特征,增强了模型的可解释性。
附图说明
图1是本发明较佳实施例所提供恶意代码检测模型构建方法的流程图。
具体实施方式
本发明提供一种恶意代码检测模型构建方法、***及存储介质,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本发明进一步地详细说明。应当理解的是,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种恶意代码检测模型构建方法,如图1所示,其包括:
S100、收集APK文件作为APK样本,所述APK样本包括已知的恶意样本及正常样本。
APK样本是Android应用程序的安装包文件,其中包含了应用程序的所有资源和代码;为了构建恶意代码检测模型,本发明收集两类样本:已知的恶意样本和正常样本,具体如下:
已知的恶意样本:恶意样本通常来源于已知的恶意软件库、恶意网站或恶意应用分析报告等渠道,这些样本被认定为含有恶意代码,可以作为训练集和测试集,用于训练和评估恶意代码检测模型;
正常样本:正常样本是指合法、无恶意行为的应用程序,可以从官方应用商店、合法的开发者渠道或其他可信来源获取,正常样本作为对比组,用于与恶意样本进行对比,帮助模型识别恶意行为;
需要注意的是,收集样本时可以确保样本的多样性和代表性,覆盖不同种类的应用程序,以确保构建的恶意代码检测模型具有较好的泛化能力;样本收集后,可以对样本进行标记和分类,将恶意样本和正常样本分开,并对其进行预处理(补充缺失值等),以准备进行后续的特征提取和模型训练工作;S100是本发明的重要基础,样本的质量和数量将直接影响模型的性能和准确率。
S200、逐一解析APK文件,提取APK文件元数据,以获取APK的权限请求、组件信息、代码结构、资源文件及API调用信息。
元数据:是指描述数据的数据,它描述了数据的属性、特征和关系,而不包含具体的数据内容;在APK文件中,元数据包括了应用程序的一些基本信息,如权限请求、组件信息、代码结构、资源文件以及API调用信息等。
权限请求:在Android应用程序中,权限是一种安全机制,用于限制应用对***资源和用户数据的访问,权限请求指的是应用程序在安装时向用户请求授予的访问权限,如访问网络、读取存储、获取设备信息等。
组件信息:组件是Android应用程序中的基本构建单元,比如Activity、Service、BroadcastReceiver或ContentProvider,组件信息描述了应用程序中包含的各个组件的属性和配置信息。
代码结构:指的是APK文件中的代码组织方式,包括Java代码、XML文件、资源文件等组织结构,用于了解应用程序的逻辑和功能。
资源文件:包括应用程序使用的图像、布局、字符串等资源,对应用程序的外观和用户体验起着重要作用。
API调用信息:API调用是应用程序与Android***及其他应用程序之间交互的方式,该信息描述了APP在运行时调用的各种***API和第三方API。
对于构建恶意代码检测模型,S200中的操作非常关键:通过解析APK文件的结构并提取元数据,可以获取有关应用程序行为的关键信息,而这些信息将用作特征,用于训练恶意代码检测模型。例如,恶意应用程序通常会请求非常多的权限,并且在代码中可能包含特定的API调用模式,通过提取这些特征,可以训练模型来识别恶意代码,并将其与正常应用程序进行区分。因此,S200的作用是为后续的模型训练和构建提供关键的元数据信息。
而需要特别注意的是,元数据起着特征提取的作用:通过解析APK文件并提取其中的元数据,可以获得有关应用程序行为的重要信息,而这些信息将作为特征,被输入到机器学习模型中进行训练;恶意代码和正常代码通常会表现出不同的元数据特征,因此,恶意代码检测模型可以通过分析元数据来识别潜在的恶意应用程序。本发明在构建恶意代码检测模型时,数据和元数据的关系是这样的:首先,本发明从APK文件中提取元数据,这些元数据是描述应用程序的结构和行为的信息;然后,通过对APK文件的数据进行特征提取和预处理,将数据转化为机器学习模型可以处理的格式,例如,可以对二进制数据进行特征提取,得到数值型的特征向量,这些特征向量和从元数据中提取的特征一起作为模型的输入,用于训练恶意代码检测模型。而现有技术通常是对数据及数据流进行分析,由此可见,元数据的使用使本发明所构建的恶意代码检测模型与现有技术具有了实质性的差别,也为本发明所构建的恶意代码检测模型带来了较为显著的进步。
在具体实施时,所述S200具体包括步骤如下:
逐一读取所收集的APK文件(遍历收集到的APK文件,逐个读取);
提取应用程序在安装时请求的权限列表(通过解析APK文件的清单文件即AndroidManifest.xml来提取权限列表),识别应用程序的活动组件(Activity)、服务组件(Service)、广播接收器(Broadcast Receiver)以及内容提供器(Content Provider),并对APK文件中的DEX(Dalvik Executable)文件进行解析,以了解应用程序的代码结构和类的层次关系;
提取APK文件中的资源文件,并通过静态分析和反编译技术识别APK中使用的API调用,以了解应用程序的行为。
为了更容易理解本发明的具体实现过程,此处进行举例说明(仅为举例说明而不进行技术方案限定):
假设有一个收集的APK文件,名为“malicious_app.apk”;
若使用本发明的恶意代码检测模型构建方法,将执行操作:首先,读取这个APK文件,然后解析其清单文件,提取应用程序请求的权限列表,比如“INTERNET”和“ACCESS_FINE_LOCATION”;接着,解析APK文件的DEX文件,识别应用程序的组件,比如活动组件“MainActivity”和服务组件“MyService”;同时,还提取了APK中的资源文件,如图像“icon.png”和声音“alert.wav”;最后,通过静态分析和反编译技术,识别APK中的API调用,比如“sendBroadcast()”和“readContacts()”,那么这些提取到的特征将用于构建恶意代码检测模型。
若使用传统方法,将执行操作:首先从这个APK文件中提取数据特征,例如二进制指令频率和函数调用数量;然后,使用这些数据特征作为训练样本,通过机器学习算法(如SVM)进行模型训练,在训练过程中,只关注了这些基本的数据特征,而没有深入了解应用程序的结构和行为。
对比而言,在S200步骤中,本发明除了提取数据特征,还获取了更多的元数据信息:读取了APK文件的清单文件,得知该应用程序请求了“INTERNET”和“ACCESS_FINE_LOCATION”权限,然后解析了APK文件的DEX文件,识别了活动组件“MainActivity”和服务组件“MyService”;同时,提取了APK中的资源文件,图像“icon.png”和声音“alert.wav”;最后,通过静态分析和反编译技术,还发现了APK中的API调用“sendBroadcast()”和“readContacts()”。
由此可见,仅使用数据构建恶意代码检测模型时,仅考虑了基本的数据特征,而忽略了应用程序的结构和行为信息;而在S200步骤中则不然,S200获取了更多的元数据信息,从而构建了更全面和准确的恶意代码检测模型,这样的模型在区分恶意代码和正常代码时具有更高的效果和可靠性。
S300、对提取的元数据进行预处理,生成数据集。
在具体实施时,所述S300具体包括步骤如下:
从提取的元数据中根据其对恶意代码的区分能力选择恶意代码区分特征,同时去除冗余和不相关特征;
对选择的恶意代码区分特征进行特征缩放操作,使所选择的所有恶意代码区分特征具有相同的尺度。
假设已有5个恶意样本(标记为1)和5个正常样本(标记为0),并且对于每个样本,已从APK文件中提取了S200中提及的元数据,则S300的实现过程具体如下:
从提取的元数据中,选择恶意代码区分特征,比如权限请求中是否包含敏感权限(例如“SEND_SMS”、“READ_CONTACTS”等)、活动组件的数量、资源文件的类型(图片、声音等)以及是否包含特定的API调用(例如“sendBroadcast()”、“writeExternalStorage()”等);
去除冗余和不相关特征,比如如果活动组件数量与服务组件数量高度相关,则可以去除其中一个特征;
对选择的恶意代码区分特征进行特征缩放操作,确保它们具有相同的尺度,例如将权限请求中的敏感权限个数缩放到0-1的范围。
S400、搭建基于机器学习的恶意代码检测模型,并使用所述训练集进行恶意代码检测模型的训练,通过迭代优化恶意代码检测模型的参数及权重;并使用测试集对训练好的恶意代码检测模型进行评估,计算恶意代码检测模型的准确率、召回率及精确率,判断计算结果是否达到预设阈值,若是则将训练好的恶意代码检测模型作为最终恶意代码检测模型,若否则继续进行模型训练直至计算结果达到预设阈值。
在具体实施时,所述S400具体包括步骤如下:
将数据集划分为k个子集,采用交叉验证方法依次将k个子集中的k-1个子集作为训练集,剩余一个子集作为测试集;
对每个训练集进行训练,得到k个训练所得SVM模型;
分别计算k个训练所得SVM模型在对应测试集上的准确率、召回率和精确率,并依次判断计算结果是否达到预设阈值;若仅有一个SVM模型的计算结果达到预设阈值,则将该SVM模型作为最终恶意代码检测模型;若有多个训练所得SVM模型的计算结果皆达到预设阈值,则计算这些SVM模型的F1分数,并选择F1分数最高的SVM模型作为最终恶意代码检测模型;若无SVM模型的计算结果达到预设阈值,则继续进行模型训练和优化,直至至少有一个模型达到预设阈值或达到预设的训练轮数为止。
具体地,所述准确率的计算公式为:准确率=(真阳性样本数+真阴性样本数)/样本总数,所述召回率的计算公式为:召回率=真阳性样本数/(真阳性样本数+假阴性样本数),所述准确率的计算公式为:精确率=真阳性样本数/(真阳性样本数+假阳性样本数),所述F1分数的计算公式为:F1分数=(2*精确率*召回率)/(精确率+召回率)。
真阳性(True Positive,TP):恶意样本被正确地判定为恶意样本的数量;假阳性(False Positive,FP):正常样本被错误地判定为恶意样本的数量;真阴性(TrueNegative,TN):正常样本被正确地判定为正常样本的数量;假阴性(False Negative,FN):恶意样本被错误地判定为正常样本的数量。
假设有一个数据集,其中包含5个恶意样本,5个正常样本,上述步骤的具体实现过程如下:
将数据集分成5个子集,每个子集包含2个样本;
第一次迭代:
子集1作为测试集,子集2~5作为训练集,得到SVM模型1;
子集2作为测试集,子集1、3~5作为训练集,得到SVM模型2;
子集3作为测试集,子集1、2、4~5作为训练集,得到SVM模型3;
子集4作为测试集,子集1~3、5作为训练集,得到SVM模型4;
子集5作为测试集,子集1~4作为训练集,得到SVM模型5。
对于每个模型,本发明使用测试集进行评估,计算准确率、召回率和精确率,假设计算结果如下:
SVM模型1:准确率=0.8,召回率=0.9,精确率=0.75;
SVM模型2:准确率=0.85,召回率=0.75,精确率=0.9;
SVM模型3:准确率=0.75,召回率=0.8,精确率=0.7;
SVM模型4:准确率=0.9,召回率=0.85,精确率=0.95;
SVM模型5:准确率=0.8,召回率=0.7,精确率=0.8。
假设SVM模型4的计算结果达到预设阈值,则将SVM模型4作为最终的恶意代码检测模型,它具有最高的F1分数(2*0.95*0.85)/(0.95+0.85)=0.9。
这个过程会不断迭代优化,直到达到预设阈值为止,如果没有模型达到预设阈值,会继续进行模型训练和优化,具体将在下文展开描述。
S500、通过可视化工具及技术,将模型的决策过程、特征之间的关系及恶意代码检测规则呈现出来。
具体实施时,可用的可视化工具及技术有多种,比如SHAP(SHapley AdditiveexPlanations),需要注意的是,此处所列举的工具及下文所描述的具体实现过程,仅为解释说明本发明,而不应视为对本发明保护范围的限定。SHAP是一种用于解释机器学习模型预测的开源库,它通过基于Shapley值的方法来评估每个特征对于模型输出的贡献程度,从而可以揭示模型的决策过程和特征之间的关系;以下是使用SHAP可视化工具实现恶意代码检测模型解释的具体实现步骤:
首先,使用pip命令(pip install shap)安装SHAP库;
然后,将数据集划分为训练集和测试集,并使用机器学习算法(例如SVM)训练恶意代码检测模型;
而后,使用SHAP库计算每个样本的SHAP值,这些值表示每个特征对于模型预测的贡献程度,具体可以通过SHAP的“KernelExplainer”来实现,代码如下:
import shap
#初始化KernelExplainer
explainer=shap.KernelExplainer(model.predict,data_train)
#计算SHAP值
shap_values=explainer.shap_values(data_test)
然后,使用SHAP库的可视化工具“summary_plot”和“force_plot”来呈现模型的决策过程和特征之间的关系,代码可以是:
#绘制特征重要性摘要图
shap.summary_plot(shap_values,data_test)
#绘制单个样本的决策过程
shap.force_plot(explainer.expected_value,shap_values[0],data_test.iloc[0,:])
在这个例子中,“summary_plot”将显示每个特征对于模型输出的贡献程度,而“force_plot”将显示单个样本的特征重要性和决策过程;如此一来,可视化工具和技术即可帮助分析人员更好地理解模型的预测结果、发现模型的规则,提高了对恶意代码检测模型的信任和可解释性。
本发明之所以将元数据和可视化工具及技术结合使用,是因为以下几个方面的原因:
第一、元数据中包含了每个特征在模型中的相关信息,如权重、系数、特征的取值范围等;而可视化工具可以将这些信息以直观的方式展示出来,帮助分析人员了解哪些特征对于模型的预测起着关键作用,从而识别出恶意代码检测模型中最重要的特征;
第二、可视化工具可以绘制特征与输出之间的关系图,显示特征值如何影响模型的预测结果,帮助分析人员理解模型是如何根据不同特征值作出决策的,进一步揭示模型的决策过程;
第三、通过可视化工具,分析人员可以追踪单个样本在模型中的决策路径,看到特征对于预测输出的贡献如何累积,从而理解模型是如何对恶意代码进行分类的;
第四、结合元数据和可视化工具,分析人员可以对模型在测试集上的预测结果进行深入分析,找出模型在哪些样本上预测得不准确,并探索造成误差的原因,帮助分析人员发现模型的局限性和改进空间,使分析人员可以手动调整或通过自动化工具来提高模型的鲁棒性和准确性;
总的来说,元数据与可视化工具的结合为恶意代码检测模型提供了一种直观、清晰的解释方式,帮助分析人员理解模型的内部机制和预测过程,增强了对模型的信任和可解释性。
可以理解的是,本发明先后通过提取元数据、生成含元数据特征的数据集、以含元数据特征的训练集训练模型、以可视化工具及技术将模型的决策过程、特征之间的关系及恶意代码检测规则呈现出来,极大程度的提高了所生成恶意代码检测模型的可靠性、鲁棒性、准确性及可解释性等多方面的性能,使得所生成的恶意代码检测模型迥异于现有技术。
在进一步地较佳实施例中,若通过前述内容无法获得符合预期的SVM模型的情况下(某些厂家可能无法获得充足的样本,导致最终训练的SVM模型不符合预期),则可以通过以下步骤进行优化:
为正则化参数C和核函数的参数设定初始范围;
采用网格搜索方法在所设定的初始范围内进行离散化参数搜索,并选择多组候选参数组合;
采用交叉验证方法将多组候选参数组合先后作为SVM模型的初始参数,并进行每个SVM模型的训练、准确率、召回率及精确率计算;
判断重新训练后的多个SVM模型的计算结果是否达到预设阈值,若仅有一个SVM模型的计算结果达到预设阈值,则将该SVM模型作为最终恶意代码检测模型;若有多个训练所得SVM模型的计算结果皆达到预设阈值,则计算该多个训练所得SVM模型的F1分数,将F1分数最高的SVM模型作为最终恶意代码检测模型,若无SVM模型的计算结果达到预设阈值,则继续进行模型训练和优化,直至至少有一个模型达到预设阈值或达到预设的训练轮数为止。
假设设定初始范围如下:
正则化参数C的初始范围:[0.1,1,10,100]
核函数参数的初始范围:['linear','rbf','poly'];
然后,通过在设定的范围内穷举所有可能的参数组合,例如:
C=0.1,核函数='linear'
C=0.1,核函数='rbf'
C=0.1,核函数='poly'
C=1,核函数='linear'
C=1,核函数='rbf'
C=1,核函数='poly'
...
C=100,核函数='poly'。
对于上述的每个参数组合,采用交叉验证方法来训练SVM模型,并在测试集上计算准确率、召回率和精确率;可以采用5折交叉验证,即将数据集划分为5个子集,依次将其中4个子集作为训练集,剩余一个子集作为测试集,进行5轮训练和评估,具体的计算过程及后续的判断同上文,不再赘述。
在更进一步地较佳实施例中,若通过上述步骤的实施仍然无法获得符合预期的模型而又无法补充样本数量,可以继续执行如下步骤:
构建逻辑回归模型并采用与SVM模型相同的训练方法训练逻辑回归模型,依次得到初始逻辑回归模型、二次逻辑回归模型、……及k次逻辑回归模型,并计算训练后各个逻辑回归模型的准确率、召回率及精确率;
使用权重策略,根据各个模型在交叉验证中的表现赋予不同的权重,将k个训练所得SVM模型及k个训练所得逻辑回归模型结合生成集成模型,并将所生成的集成模型作为最终的恶意代码检测模型。
逻辑回归模型的训练及评估过程实质上与SVM模型并无太大差别,此处就不再重复描述了,而集成模型的生成可以采用简单的加权平均方法,即将每个模型的预测结果按照其对应的权重进行加权平均,得到最终的集成预测结果;权重较高的模型对最终预测结果的影响更大,权重较低的模型理所当然的对最终预测结果的影响相对较小。最后,将生成的集成模型作为最终的恶意代码检测模型,由于所生成的集成模型结合了多个训练所得SVM模型和逻辑回归模型,并根据它们在交叉验证中的性能赋予了不同的权重,从而综合考虑了各个模型的优势,提高了模型的整体性能,因此有极大的概率获得满足预期的恶意代码检测模型,而所得到的恶意代码检测模型同样具有较高的可解释性。
本发明还提供了一种用于实现恶意代码检测模型构建方法的***,其包括存储器及处理器,所述存储器用于存储用于恶意代码检测模型构建程序,所述处理器用于运行所述恶意代码检测模型构建程序以实现如上所述的恶意代码检测模型构建方法。
本发明还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的恶意代码检测模型构建方法的步骤。所述存储介质包括上述恶意代码检测模型构建方法的所有技术特征,因此也具有上述恶意代码检测模型构建方法的所有技术效果,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(SyNchliNk)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
在此提供的算法或显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (9)
1.一种恶意代码检测模型构建方法,其特征在于,包括:
收集APK文件作为APK样本,所述APK样本包括已知的恶意样本及正常样本;
逐一解析APK文件,提取APK文件元数据,以获取APK的权限请求、组件信息、代码结构、资源文件及API调用信息;
对提取的元数据进行预处理,生成数据集;
将所述数据集划分为训练集和测试集,搭建基于机器学习的恶意代码检测模型,并使用所述训练集进行恶意代码检测模型的训练,通过迭代优化恶意代码检测模型的参数及权重;并使用测试集对训练好的恶意代码检测模型进行评估,计算恶意代码检测模型的准确率、召回率及精确率,判断计算结果是否达到预设阈值,若是则将训练好的恶意代码检测模型作为最终恶意代码检测模型,若否则继续进行模型训练直至计算结果达到预设阈值;
通过可视化工具及技术,将模型的决策过程、特征之间的关系及恶意代码检测规则呈现出来。
2.根据权利要求1所述的恶意代码检测模型构建方法,其特征在于,所述逐一解析APK文件,提取APK文件元数据,以获取APK的权限请求、组件信息、代码结构、资源文件及API调用信息的步骤包括:
逐一读取所收集的APK文件;
提取应用程序在安装时请求的权限列表,识别应用程序的活动组件、服务组件、广播接收器及内容提供器,并对APK文件中的DEX文件进行解析,以了解应用程序的代码结构和类的层次关系;
提取APK文件中的资源文件,并通过静态分析和反编译技术识别APK中使用的API调用,以了解应用程序的行为。
3.根据权利要求2所述的恶意代码检测模型构建方法,其特征在于,所述对提取的元数据进行预处理,生成数据集的步骤具体包括:
从提取的元数据中根据其对恶意代码的区分能力选择恶意代码区分特征,同时去除冗余和不相关特征;
对选择的恶意代码区分特征进行特征缩放操作,使所选择的所有恶意代码区分特征具有相同的尺度。
4.根据权利要求3所述的恶意代码检测模型构建方法,其特征在于,所述将所述数据集划分为训练集和测试集,搭建基于机器学习的恶意代码检测模型,并使用所述训练集进行恶意代码检测模型的训练,使用测试集对训练好的恶意代码检测模型进行评估,计算恶意代码检测模型的准确率、召回率及精确率,判断计算结果是否达到预设阈值,若是则将训练好的恶意代码检测模型作为最终恶意代码检测模型,若否则继续进行模型训练直至计算结果达到预设阈值的步骤具体包括:
将数据集划分为k个子集,采用交叉验证方法依次将k个子集中的k-1个子集作为训练集,剩余一个子集作为测试集;
对每个训练集进行训练,得到k个训练所得SVM模型;
分别计算k个训练所得SVM模型在对应测试集上的准确率、召回率和精确率,并依次判断计算结果是否达到预设阈值;若仅有一个SVM模型的计算结果达到预设阈值,则将该SVM模型作为最终恶意代码检测模型;若有多个训练所得SVM模型的计算结果皆达到预设阈值,则计算这些SVM模型的F1分数,并选择F1分数最高的SVM模型作为最终恶意代码检测模型;若无SVM模型的计算结果达到预设阈值,则继续进行模型训练和优化,直至至少有一个模型达到预设阈值或达到预设的训练轮数为止。
5.根据权利要求4所述的恶意代码检测模型构建方法,其特征在于,所述准确率的计算公式为:准确率=(真阳性样本数+真阴性样本数)/样本总数,所述召回率的计算公式为:召回率=真阳性样本数/(真阳性样本数+假阴性样本数),所述准确率的计算公式为:精确率=真阳性样本数/(真阳性样本数+假阳性样本数),所述F1分数的计算公式为:F1分数=(2*精确率*召回率)/(精确率+召回率)。
6.根据权利要求4所述的恶意代码检测模型构建方法,其特征在于,若无SVM模型的计算结果达到预设阈值,则继续进行模型训练和优化,直至至少有一个模型达到预设阈值或达到预设的训练轮数为止的处理方法包括步骤:
为正则化参数C和核函数的参数设定初始范围;
采用网格搜索方法在所设定的初始范围内进行离散化参数搜索,并选择多组候选参数组合;
采用交叉验证方法将多组候选参数组合先后作为SVM模型的初始参数,并进行每个SVM模型的训练、准确率、召回率及精确率计算;
判断重新训练后的多个SVM模型的计算结果是否达到预设阈值,若仅有一个SVM模型的计算结果达到预设阈值,则将该SVM模型作为最终恶意代码检测模型;若有多个训练所得SVM模型的计算结果皆达到预设阈值,则计算该多个训练所得SVM模型的F1分数,将F1分数最高的SVM模型作为最终恶意代码检测模型,若无SVM模型的计算结果达到预设阈值,则继续进行模型训练和优化,直至至少有一个模型达到预设阈值或达到预设的训练轮数为止。
7.根据权利要求6所述的恶意代码检测模型构建方法,其特征在于,若仍然无SVM模型的计算结果达到预设阈值,则执行如下步骤:
构建逻辑回归模型并采用与SVM模型相同的训练方法训练逻辑回归模型,依次得到初始逻辑回归模型、二次逻辑回归模型、……及k次逻辑回归模型,并计算训练后各个逻辑回归模型的准确率、召回率及精确率;
使用权重策略,根据各个模型在交叉验证中的表现赋予不同的权重,将k个训练所得SVM模型及k个训练所得逻辑回归模型结合生成集成模型,并将所生成的集成模型作为最终的恶意代码检测模型。
8.一种用于实现恶意代码检测模型构建方法的***,其特征在于,包括存储器及处理器,所述存储器用于存储恶意代码检测模型构建程序,所述处理器用于运行所述恶意代码检测模型构建程序以实现如权利要求1至7中任意一项所述的恶意代码检测模型构建方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的恶意代码检测模型构建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310923908.9A CN117009967A (zh) | 2023-07-26 | 2023-07-26 | 一种恶意代码检测模型构建方法、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310923908.9A CN117009967A (zh) | 2023-07-26 | 2023-07-26 | 一种恶意代码检测模型构建方法、***及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117009967A true CN117009967A (zh) | 2023-11-07 |
Family
ID=88566675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310923908.9A Pending CN117009967A (zh) | 2023-07-26 | 2023-07-26 | 一种恶意代码检测模型构建方法、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117009967A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117521068A (zh) * | 2023-12-08 | 2024-02-06 | 北京云弈科技有限公司 | Linux主机恶意软件检测方法、***、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140181973A1 (en) * | 2012-12-26 | 2014-06-26 | National Taiwan University Of Science And Technology | Method and system for detecting malicious application |
CN105447388A (zh) * | 2015-12-17 | 2016-03-30 | 福建六壬网安股份有限公司 | 一种基于权重的安卓恶意代码检测***及方法 |
CN107392025A (zh) * | 2017-08-28 | 2017-11-24 | 刘龙 | 基于深度学习的恶意安卓应用程序检测方法 |
CN109165510A (zh) * | 2018-09-04 | 2019-01-08 | 中国民航大学 | 基于双通道卷积神经网络的Android恶意应用程序检测方法 |
KR20200039912A (ko) * | 2018-10-08 | 2020-04-17 | 순천향대학교 산학협력단 | Ai 기반 안드로이드 악성코드 자동화 분석 시스템 및 방법 |
CN112182577A (zh) * | 2020-10-14 | 2021-01-05 | 哈尔滨工程大学 | 一种基于深度学习的安卓恶意代码检测方法 |
CN113704759A (zh) * | 2021-08-16 | 2021-11-26 | 广州大学 | 基于Adaboost的安卓恶意软件检测方法、***及存储介质 |
KR20220068859A (ko) * | 2020-11-19 | 2022-05-26 | 숭실대학교산학협력단 | 인접 행렬 기반의 악성 코드 탐지 및 분류 장치와 악성 코드 탐지 및 분류 방법 |
-
2023
- 2023-07-26 CN CN202310923908.9A patent/CN117009967A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140181973A1 (en) * | 2012-12-26 | 2014-06-26 | National Taiwan University Of Science And Technology | Method and system for detecting malicious application |
CN105447388A (zh) * | 2015-12-17 | 2016-03-30 | 福建六壬网安股份有限公司 | 一种基于权重的安卓恶意代码检测***及方法 |
CN107392025A (zh) * | 2017-08-28 | 2017-11-24 | 刘龙 | 基于深度学习的恶意安卓应用程序检测方法 |
CN109165510A (zh) * | 2018-09-04 | 2019-01-08 | 中国民航大学 | 基于双通道卷积神经网络的Android恶意应用程序检测方法 |
KR20200039912A (ko) * | 2018-10-08 | 2020-04-17 | 순천향대학교 산학협력단 | Ai 기반 안드로이드 악성코드 자동화 분석 시스템 및 방법 |
CN112182577A (zh) * | 2020-10-14 | 2021-01-05 | 哈尔滨工程大学 | 一种基于深度学习的安卓恶意代码检测方法 |
KR20220068859A (ko) * | 2020-11-19 | 2022-05-26 | 숭실대학교산학협력단 | 인접 행렬 기반의 악성 코드 탐지 및 분류 장치와 악성 코드 탐지 및 분류 방법 |
CN113704759A (zh) * | 2021-08-16 | 2021-11-26 | 广州大学 | 基于Adaboost的安卓恶意软件检测方法、***及存储介质 |
Non-Patent Citations (7)
Title |
---|
BUTCH QUINTO: "《基于Spark的下一代机器学习》", 31 May 2021, 机械工业出版社, pages: 10 - 11 * |
PABLO RIVAS: "《深度学习》", 31 January 2022, 机械工业出版社, pages: 153 - 154 * |
TONY THOMAS: "《机器学习实战之网络安全分析》", 30 September 2022, 国防工业出版社, pages: 4 - 5 * |
张栋栋: "基于深度残差网络的心电图自动诊断及可解释性研究", 中国优秀硕士学位论文全文数据库, 15 February 2023 (2023-02-15) * |
李超萌: "基于机器学习模型的数据从业者画像分析", 中国优秀硕士学位论文全文数据库, 15 May 2022 (2022-05-15) * |
薛薇: "《Python机器学习》", 31 March 2021, 机械工业出版社, pages: 68 * |
陈登科: "网络钓鱼网址识别的深度学习模型及可解释性研究", 中国优秀硕士学位论文全文数据库, 15 July 2020 (2020-07-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117521068A (zh) * | 2023-12-08 | 2024-02-06 | 北京云弈科技有限公司 | Linux主机恶意软件检测方法、***、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tann et al. | Towards safer smart contracts: A sequence learning approach to detecting security threats | |
Zhou et al. | Spi: Automated identification of security patches via commits | |
Gegick et al. | Prioritizing software security fortification throughcode-level metrics | |
CN109271788B (zh) | 一种基于深度学习的Android恶意软件检测方法 | |
US11019099B2 (en) | Method of application malware detection based on dynamic API extraction, and readable medium and apparatus for performing the method | |
US20200159925A1 (en) | Automated malware analysis that automatically clusters sandbox reports of similar malware samples | |
KR101640479B1 (ko) | 소스코드기반 소프트웨어 취약점 공격행위 분석시스템 | |
Li et al. | A lightweight assisted vulnerability discovery method using deep neural networks | |
US20240241954A1 (en) | Method of detecting android malware based on heterogeneous graph and apparatus thereof | |
Suhuan et al. | Android malware detection based on logistic regression and XGBoost | |
CN112817877A (zh) | 异常脚本检测方法、装置、计算机设备和存储介质 | |
Ghasempour et al. | Permission extraction framework for android malware detection | |
CN112800666A (zh) | 日志行为分析的训练方法、身份安全风险预测方法 | |
CN114285587A (zh) | 域名鉴别方法和装置、域名分类模型的获取方法和装置 | |
CN117009967A (zh) | 一种恶意代码检测模型构建方法、***及存储介质 | |
Shi et al. | SFCGDroid: android malware detection based on sensitive function call graph | |
Wang et al. | Malware detection using cnn via word embedding in cloud computing infrastructure | |
US20220237289A1 (en) | Automated malware classification with human-readable explanations | |
CN113434826A (zh) | 一种仿冒移动应用的检测方法,***及相关产品 | |
Li et al. | ARdetector: Android ransomware detection framework | |
KR102465307B1 (ko) | 화이트 리스트 생성 방법 및 이를 수행하는 사용자 단말, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 | |
Duraz et al. | Explainability-based Metrics to Help Cyber Operators Find and Correct Misclassified Cyberattacks | |
Shar et al. | Experimental comparison of features, analyses, and classifiers for Android malware detection | |
CN112989342B (zh) | 恶意软件检测网络优化方法、装置、电子设备及存储介质 | |
CN118070024B (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 |