CN115238270A - 检测方法及装置 - Google Patents
检测方法及装置 Download PDFInfo
- Publication number
- CN115238270A CN115238270A CN202210651376.3A CN202210651376A CN115238270A CN 115238270 A CN115238270 A CN 115238270A CN 202210651376 A CN202210651376 A CN 202210651376A CN 115238270 A CN115238270 A CN 115238270A
- Authority
- CN
- China
- Prior art keywords
- icon
- application program
- file
- detected
- label
- 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 91
- 238000013145 classification model Methods 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000012549 training Methods 0.000 claims description 24
- 238000004458 analytical method Methods 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 11
- 239000013598 vector Substances 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 6
- 230000003321 amplification Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 5
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 5
- 238000012935 Averaging Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 230000003068 static effect Effects 0.000 description 8
- 239000000284 extract Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000009434 installation Methods 0.000 description 4
- 230000002155 anti-virotic effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 241001377938 Yara Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Virology (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种检测方法及装置,所述方法包括:获取应用程序的可执行文件以及第一图标集,所述第一图标集包括操作系统中每种文件类型的图标标签;根据所述应用程序的可执行文件,提取待检测图标;利用原型网络以及所述每种文件类型的图标标签,构建分类模型;将所述待检测图标输入至所述分类模型中,得到所述待检测图标的检测结果;若所述检测结果的值为第一值,则确定所述待检测图标对应的所述应用程序为疑似软件;若所述检测结果的值为第二值,则确定所述待检测图标对应的所述应用程序为非疑似软件。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种检测方法及装置。
背景技术
互联网的蓬勃发展将个人与社会紧密地融合在一起,互联网给人们的工作和生活提供诸多便利的同时,个人身份、创作、交易等敏感信息也随时会被不法份子利用。
近年来,诸如计算机病毒、蠕虫、木马、僵尸网络、勒索软件等在内的恶意软件及其变体的不断扩增,为企业和政府机构构成了巨大的安全隐患。尽管网络安全机制在不断规范,但恶意软件仍然是网络空间中最具威胁的攻击手段之一。在此背景下,恶意软件的检测一直是网络安全领域中的重要课题,在学术界和工业界均具有十分重要的研究价值。
攻击者为了躲避杀毒引擎的检测,最基础、简单的方式是通过修改恶意软件图标的方式对恶意软件进行伪装。具体而言,攻击者利用极具迷惑性的文件名与图标相结合,给用户从视觉上造成欺骗,诱导用户主动运行该恶意软件,从而躲避安全软件的查杀。
现有恶意软件的检测方法主要包括动态检测和静态检测。在动态检测中,沙箱行为分析是最主要的特征提取方式,常见的动态行为特征包括编辑注册表、启动进程、网络访问等行为。动态分析工具在检测过程中发挥重要作用,例如,Procmon可利用过滤规则对Windows系统进程资源的状态进行监控;WireShark及时捕获恶意软件访问C2的流量数据包等等。
上述动态检测在一定程度上能够对抗加壳、代码混淆等问题,但也存在着时间开销大、分析成本高等问题。
在静态检测中,对二进制可执行文件进行静态特征分析,例如,PE文件结构、动态链接库、系统调用、操作码等等。静态检测相对于动态检测而言,提取特征开销更小,提取结果也更为准确,容易实现自动化分析。
但是,静态检测分析样本时,需投入大量的人工经验、时间开销进行深入分析;并且,攻击者为了躲避杀毒软件的检测,加入反调试、代码混淆、压缩、注入等行为绕过杀毒软件的检测策略,极大增加了分析难度。在某些对安全要求较高的应用场景中,从海量样本中能够快速定位、筛选出可疑软件往往是企业、机构更为关注的问题。
发明内容
有鉴于此,本申请提供了一种检测方法及装置,用以解决现有恶意软件的动态检测、静态检测中各自出现的问题。
第一方面,本申请提供了一种检测方法,所述方法包括:
获取应用程序的可执行文件以及第一图标集,所述第一图标集包括操作系统中每种文件类型的图标标签;
根据所述应用程序的可执行文件,提取待检测图标;
利用原型网络以及所述每种文件类型的图标标签,构建分类模型;
将所述待检测图标输入至所述分类模型中,得到所述待检测图标的检测结果;
若所述检测结果的值为第一值,则确定所述待检测图标对应的所述应用程序为疑似软件;
若所述检测结果的值为第二值,则确定所述待检测图标对应的所述应用程序为非疑似软件。
第二方面,本申请提供了一种检测装置,所述装置包括:
获取单元,用于获取应用程序的可执行文件以及第一图标集,所述第一图标集包括操作系统中每种文件类型的图标标签;
提取单元,用于根据所述应用程序的可执行文件,提取待检测图标;
构建单元,用于利用原型网络以及所述每种文件类型的图标标签,构建分类模型;
输出结果单元,用于将所述待检测图标输入至所述分类模型中,得到所述待检测图标的检测结果;
第一确定单元,用于若所述检测结果的值为第一值,则确定所述待检测图标对应的所述应用程序为疑似软件;
第二确定单元,用于若所述检测结果的值为第二值,则确定所述待检测图标对应的所述应用程序为非疑似软件。
第三方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
因此,通过应用本申请提供的检测方法及装置,网络设备获取应用程序的可执行文件以及第一图标集,该第一图标集包括操作系统中每种文件类型的图标标签;根据应用程序的可执行文件,网络设备提取待检测图标;利用原型网络以及每种文件类型的图标标签,网络设备构建分类模型;网络设备将待检测图标输入至分类模型中,得到待检测图标的检测结果;若检测结果的值为第一值,则网络设备确定待检测图标对应的应用程序为疑似软件;若检测结果的值为第二值,则网络设备确定待检测图标对应的应用程序为非疑似软件。
如此,本申请实现了一种轻量级的可疑软件的检测方式,能够在海量样本中快速定位可疑目标,适合实效性要求高、样本量大的应用场景。本申请对海量样本实现初步筛选,从而向安全专家提供可疑目标进一步分析,有效规避检测中的误报和漏报等问题,同时也解决了现有恶意软件的动态检测、静态检测中各自出现的问题。本申请构建的分类模型,能够收集并总结可疑目标常用的伪装图标资源,对恶意软件家族、APT组织溯源和关联性分析具有重要意义。
附图说明
图1为本申请实施例提供的检测方法的流程图;
图2为本申请实施例提供的子图标集示意图;
图3为本申请实施例提供的分类模型框架图示意图;
图4为本申请实施例提供的检测装置结构图;
图5为本申请实施例提供的网络设备硬件结构体。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请实施例提供的检测方法进行详细地说明。参见图1,图1为本申请实施例提供的检测方法的流程图。该方法应用于网络设备,该网络设备可具体为能够按照程序运行、自动、高速处理海量数据的现代化智能电子设备,例如,服务器、台式计算机。本申请实施例提供的检测方法可包括如下所示步骤。
步骤110、获取应用程序的可执行文件PE以及第一图标集,所述第一图标集包括操作系统中每种文件类型的图标标签;
具体地,网络设备从本地获取应用程序的可执行文件(英文:PortableExecutable,简称:PE)以及第一图标集,该第一图标集包括操作系统中每种文件类型的图标标签。
可选地,网络设备获取应用程序的可执行文件,具体过程为:
网络设备内已配置操作系统,例如,Windows操作系统。网络设备获取操作系统中待分析的可执行文件PE。利用预设的筛选规则,网络设备从待分析的可执行文件PE中,筛选出应用程序的可执行文件。网络设备丢弃待分析的可执行文件包括的非应用程序的可执行文件。
需要说明的是,非应用程序的可执行文件也可称之为安装包的可执行文件。
应用程序的可执行文件与安装包的可执行文件的区别在于:安装包的可执行文件在开发过程中包括下述典型的阶段性步骤。例如,1)编辑注册表;2)释放资源;3)创建安装目录;4)创建快捷方式。
正如上文所述的区别,网络设备对四个典型的阶段性步骤所使用的Windows系统API函数、关键字符串进行识别,从而筛选出应用程序的可执行文件。
本申请实施例中涉及的筛选规则(例如,Yara规则),可通过如下程序实现:
其中,”Installation Progerss Logs/Tips”、”Edit Registry”、”ReleaseResources”、”Create InstallationDir”、”Create Shortcuts”等关键内容,可根据实际情况填充对应的API函数名称、字符串,本申请实施例对此不做限制。
例如,”Create InstallationDir”填充为“CreateDirectory()”、”CreateShortcuts”填充为“\HKEY_LOCAL_MACHINE\SYSTEM”。
可选地,网络设备获取第一图标集,具体过程为:
网络设备统计操作系统中每种文件类型以及每种文件类型包括的每个子文件类型。网络设备生成每种文件类型对应的第二图标集,每个第二图标集包括该种文件类型包括的每个子文件类型对应的子图标集;网络设备将多个第二图标集的集合作为第一图标集。
在一个示例中,网络设备统计Windows系统中具有图标的常见文件类型,目前,常见文件类型主要包括文本类型、数据类型、图片类型、网页类型、音视频类型,可分别用TEXT、DATA、PHOTO、WEB、AVIDEO表示。如下表1所示。
表1 Windows系统常见文件类型
在表1中,每种文件类型均包括多个子文件类型,以TEXT为例进行说明,该文件类型由7个子文件类型组成。每个子文件类型可表示为TEXT{DOC、DOCX}、TEXT{LOG}、TEXT{TXT}、TEXT{RTF}、TEXT{TEX}、TEXT{WPS}、TEXT{PDF}。
网络设备收集每个子文件类型对应的图标,并生成每个子文件类型对应的子图标集。例如,IconSetTEXT{DOC、DOCX}、IconSetTEXT{LOG}、IconSetTEXT{TXT}、IconSetTEXT{RTF}、IconSetTEXT{TEX}、IconSetTEXT{WPS}、IconSetTEXT{PDF}。
其中,每个子图标集内包括子文件类型对应的多个图标。例如,IconSetTEXT{PDF}包括的图标如图2所示,图2为本申请实施例提供的子图标集示意图。在图2中,网络设备收集了子文件类型PDF对应的多个图标。
可以理解的是,本申请实施例中,各图标均以黑白图像的形式展示,在实际中,各图标也可为彩色。
网络设备将上述7个子图标集的合集作为TEXT对应的第二图标集。例如,IconSetTEXT{DOC、DOCX、LOG、TXT、RTF、TEX、WPS、PDF}。
重复上述过程,网络设备得到每种文件类型对应的第二图标集。网络设备将多个第二图标集的集合作为第一图标集。
例如,IconSet{TEXT、DATA、PHOTO、WEB、AVIDEO}。
步骤120、根据所述应用程序的可执行文件,提取待检测图标;
具体地,根据步骤110的描述,网络设备获取到应用程序的可执行文件后,从应用程序的可执行文件中提取待检测图标。
可选地,网络设备根据应用程序的可执行文件,提取待检测图标,具体过程为:
网络设备对应用程序的可执行文件进行逆向工程分析,利用PE文件解析模块(pefile)对应用程序的可执行文件的文件格式进行解析处理,得到应用程序的可执行文件的多个资源目录句柄,记为RHandlei。
RHandlei=i:Get_Resource_Handle(IMAGE_DIRECTORY_ENTRY_RESOURCE)
网络设备对多个资源目录句柄进行遍历处理,得到图标资源组,记为RGroupsi。该图标资源组包括多个图标,每个图标具有图标属性值。其中,图标属性值包括不限于尺寸值、像素点的像素值等等。
RGroupsi=RHandlei.search(RT_GROUP_ICON)
网络设备将每个图标的图标属性值与预设的属性阈值进行比较,确定满足属性阈值的图标属性值。网络设备将图标属性值对应的图标作为待检测图标,记为iconi。
iconi=best_icon(RGroupsi)
可以理解的是,网络设备遍历图标资源组中的每个图标,找到尺寸值、像素点的像素值最适合向用户展示的图标。
步骤130、利用原型网络以及所述每种文件类型的图标标签,构建分类模型;
具体地,根据步骤110的描述,网络设备获取到每种文件类型的图标标签后,利用每种文件类型的图标标签,对原型网络进行迭代训练,构建分类模型。
可选地,网络设备利用原型网络以及所述每种文件类型的图标标签,构建分类模型,具体过程为:
本申请实施例中,构建分类模型主要包括两个阶段:特征预处理阶段以及相似性度量阶段。如图3所示,图3为本申请实施例提供的分类模型框架图示意图。
在图3中,网络设备首先对图标标签图像进行预处理,得到每个图标标签图像对应的特征向量。然后,网络设备对特征向量进行相似性度量并对原型网络进行迭代训练,得到分类模型。通过分类模型,输出预测结果。
利用图像变换算法,网络设备对每个子图标集内包括的图标标签的数量进行图标扩增,得到第三图标集。该第三图标集也可称之为常用混淆图标集。
可以理解的是,对每个子图标集内包括的图标标签的数量进行图标扩增后,得到扩增后的子图标集。网络设备将属于同一种文件类型的扩增后的子图标集的集合作为每种文件类型对应的扩增后的第二图标集。网络设备将多个扩增后的第二图标集的集合作为第三图标集。
在本申请实施例中,图像变换算法包括但不限制于平移变换、旋转变换以及SMOTE算法、仿射编号、添加高斯噪音等等。在进行图标扩增过程中,可利用上述算法中的至少一个执行,扩增后的图标标签数量最大值为1000个。上述算法并不改变图标标签的图像尺寸。
网络设备对图标标签的数量进行扩增的目的是为了将与常见文件类型的图标标签具有细微差别的且容易让用户混淆的图标标签均囊括至第三图标集内,尽可能涵盖可疑软件使用的图标标签。
下面以利用上述三种算法(平移变换、旋转变换以及SMOTE算法)进行图标扩增进行说明。
平移变换可表示为将原图像(即图标标签图像)的所有像素点朝同一个方向运动相同距离。初始像素坐标(x,y),经平移(Δx,Δy)后,坐标变为(x′,y′),如下式(1)所示:
SMOTE算法是K近邻思想,从选定像素点的K个近邻中随机挑选像素点以合成新图像,如下式(3)所示:
(x′,y′)=(x,y)+rand(0~1)×((xn-x),(yn-y)) 式(3)
其中,式(3)中,(xn,yn)为像素点(x,y)的随机近邻点。
基于原型网络,网络设备将第三图标集D={(x1,y1),(x2,y2),...,(xn,yn)}进行划分。网络设备从第三图标集中随机抽取N个类别,每个类别包含K个图标标签,这N个类别组成支持集S,剩下的图标标签组成查询集Q。
网络设备将支持集包括的每个图标标签编码为高维向量,映射到M维嵌入空间RM中。如下式(4)所示,存在原型函数fθ,将支持集包括的每个图标标签映射为嵌入向量X。
fθ:I∈RH×W×C→X∈RM 式(4)
其中,式(4)中,H和W为图标标签的高度和宽度,C为通道数,θ表示训练卷积神经网络的权重参数。
网络设备定义类原型,如下式(5)所示,网络设备对多个嵌入向量进行取平均计算,得到多个类原型。
其中:Sk为支撑集S中的第K个类别。
网络设备计算查询集中每个图标标签到达每个类原型的距离。在一种实现方式中,该距离为图标标签到达每个类原型的欧式距离。如下式(6)所示。
其中,Mk为第k个类的协方差矩阵的逆矩阵。
在另一种实现方式中,查询集中每个图标标签到达每个类原型的距离可具体为图标标签哈希值的汉明距离。
网络设备获取预定义的查询集中每个图标标签的真实类别k′以及查询集中每个图标标签到达每个类原型的真实类别分布概率。该真实类别k′、真实类别分布概率具体为管理人员在先订阅。真实类别分布概率如下式(7)所示。
其中,k′表示图标标签的真实类别。
利用查询集中每个图标标签到达每个类原型的距离以及查询集中每个图标标签的真实类别,网络设备计算查询集中每个图标标签到达每个类原型的预测类别分布概率。预测类别分布概率如下式(8)所示。
同时,利用softmax回归函数以及预测类别分布概率,预测查询集中每个图标标签的类别。
网络设备确定损失函数,该损失函数为对真实类别分布概率进行最小化负对数运算后得到。如下式(9)所示。
网络设备确定当前是否已满足预设的停止训练条件。若未满足停止训练条件,则网络设备利用损失函数对原型网络进行迭代训练,直至当前已满足停止训练条件,得到分类模型。
在一种实现方式中,停止训练条件可具体为差距阈值,例如,0.1、0.2等。网络设备比较预测类别分布概率以及真实类别分布概率之间的差距;若差距未满足差距阈值,则网络设备继续利用损失函数对原型网络进行迭代训练,直至差距满足停止条件,得到分类模型。
在另一种实现方式中,停止训练条件可具体为次数阈值,例如,10、20等。网络设备确定当前已执行迭代训练的次数。若次数未满足次数阈值,则网络设备继续利用损失函数对原型网络进行迭代训练,直至次数满足停止条件,得到分类模型。
步骤140、将所述待检测图标输入至所述分类模型中,得到所述待检测图标的检测结果;
具体地,根据步骤130的描述,网络设备构建分类模型后,将待检测图标输入至分类模型中,由分类模型输出待检测图标的检测结果。
网络设备得到待检测图标的检测结果后,识别检测结果的值。若检测结果的值为第一值,则网络设置执行步骤150;若检测结果的值为第二值,则网络设备执行步骤160。
步骤150、若所述检测结果的值为第一值,则确定所述待检测图标对应的所述应用程序为疑似软件;
具体地,根据步骤140的描述,若检测结果的值为第一值(第一值具体为1),则网络设备确定待检测图标对应的应用程序为疑似软件。
需要说明的是,检测结果的值为第一值时,分类模型将待检测图标划分到第三图标集中,也即是常用混淆图标集中。此时,网络设备仅是确定该待检测图标为可疑图标,并不是直接判定待检测图标对应的应用程序为恶意软件。网络设备确定该待检测图标为可疑图标后,向管理人员进行提示。后续,由管理人员对可疑图标对应的应用程序进行人工检测,再判定该应用程序是否为恶意软件。
步骤160、若所述检测结果的值为第二值,则确定所述待检测图标对应的所述应用程序为非疑似软件。
具体地,根据步骤140的描述,若检测结果的值为第二值(第二值具体为1),则网络设备确定待检测图标对应的应用程序为非疑似软件,即正常软件。
因此,通过应用本申请提供的检测方法,网络设备获取应用程序的可执行文件以及第一图标集,该第一图标集包括操作系统中每种文件类型的图标标签;根据应用程序的可执行文件,网络设备提取待检测图标;利用原型网络以及每种文件类型的图标标签,网络设备构建分类模型;网络设备将待检测图标输入至分类模型中,得到待检测图标的检测结果;若检测结果的值为第一值,则网络设备确定待检测图标对应的应用程序为疑似软件;若检测结果的值为第二值,则网络设备确定待检测图标对应的应用程序为非疑似软件。
如此,本申请实现了一种轻量级的可疑软件的检测方式,能够在海量样本中快速定位可疑目标,适合实效性要求高、样本量大的应用场景。本申请对海量样本实现初步筛选,从而向安全专家提供可疑目标进一步分析,有效规避检测中的误报和漏报等问题,同时也解决了现有恶意软件的动态检测、静态检测中各自出现的问题。本申请构建的分类模型,能够收集并总结可疑目标常用的伪装图标资源,对恶意软件家族、APT组织溯源和关联性分析具有重要意义。
基于同一发明构思,本申请实施例还提供了与检测方法对应的检测装置。参见图4,图4为本申请实施例提供的检测装置,所述装置包括:
获取单元410,用于获取应用程序的可执行文件以及第一图标集,所述第一图标集包括操作系统中每种文件类型的图标标签;
提取单元420,用于根据所述应用程序的可执行文件,提取待检测图标;
构建单元430,用于利用原型网络以及所述每种文件类型的图标标签,构建分类模型;
输出结果单元440,用于将所述待检测图标输入至所述分类模型中,得到所述待检测图标的检测结果;
第一确定单元450,用于若所述检测结果的值为第一值,则确定所述待检测图标对应的所述应用程序为疑似软件;
第二确定单元460,用于若所述检测结果的值为第二值,则确定所述待检测图标对应的所述应用程序为非疑似软件。
可选地,所述获取单元410具体用于,获取所述操作系统中待分析的可执行文件;
利用预设的筛选规则,从所述待分析的可执行文件中,筛选出所述应用程序的可执行文件;
丢弃所述待分析的可执行文件包括的非应用程序的可执行文件。
可选地,所述获取单元410具体用于,统计所述操作系统中每种文件类型以及所述每种文件类型包括的每个子文件类型;
生成每种文件类型对应的第二图标集,每个第二图标集包括该种文件类型包括的每个子文件类型对应的子图标集;
将多个第二图标集的集合作为所述第一图标集。
可选地,所述提取单元420具体用于,利用PE文件解析模块对所述应用程序的可执行文件的文件格式进行解析处理,得到多个资源目录句柄;
对所述多个资源目录句柄进行遍历处理,得到图标资源组,所述图标资源组包括多个图标;
将每个图标的图标属性值与预设的属性阈值进行比较,确定满足属性阈值的图标属性值;
将所述图标属性值对应的图标作为所述待检测图标。
可选地,所述构建单元430具体用于,利用图像变换算法,对每个子图标集内包括的图标标签的数量进行图标扩增,得到第三图标集;
基于原型网络,将所述第三图标集划分为支持集以及查询集;
将所述支持集包括的每个图标标签映射为嵌入向量,并对多个嵌入向量进行取平均计算,得到多个类原型;
计算所述查询集中每个图标标签到达每个类原型的距离;
获取预定义的所述查询集中每个图标标签的真实类别以及所述查询集中每个图标标签到达每个类原型的真实类别分布概率;
利用所述查询集中每个图标标签到达每个类原型的距离以及所述查询集中每个图标标签的真实类别,计算所述查询集中每个图标标签到达每个类原型的预测类别分布概率;
确定损失函数,所述损失函数为对所述真实类别分布概率进行最小化负对数运算后得到;
确定当前是否已满足预设的停止训练条件;
若未满足所述停止训练条件,则利用所述损失函数对所述原型网络进行迭代训练,直至当前已满足所述停止训练条件,得到所述分类模型。
可选地,所述构建单元430还具体用于,利用回归函数以及所述预测类别分布概率,预测所述查询集中每个图标标签的类别。
因此,通过应用本申请提供的检测装置,网络设备获取应用程序的可执行文件以及第一图标集,该第一图标集包括操作系统中每种文件类型的图标标签;根据应用程序的可执行文件,网络设备提取待检测图标;利用原型网络以及每种文件类型的图标标签,网络设备构建分类模型;网络设备将待检测图标输入至分类模型中,得到待检测图标的检测结果;若检测结果的值为第一值,则网络设备确定待检测图标对应的应用程序为疑似软件;若检测结果的值为第二值,则网络设备确定待检测图标对应的应用程序为非疑似软件。
如此,本申请实现了一种轻量级的可疑软件的检测方式,能够在海量样本中快速定位可疑目标,适合实效性要求高、样本量大的应用场景。本申请对海量样本实现初步筛选,从而向安全专家提供可疑目标进一步分析,有效规避检测中的误报和漏报等问题,同时也解决了现有恶意软件的动态检测、静态检测中各自出现的问题。本申请构建的分类模型,能够收集并总结可疑目标常用的伪装图标资源,对恶意软件家族、APT组织溯源和关联性分析具有重要意义
基于同一发明构思,本申请实施例还提供了一种网络设备,如图5所示,包括处理器510、收发器520和机器可读存储介质530,机器可读存储介质530存储有能够被处理器510执行的机器可执行指令,处理器510被机器可执行指令促使执行本申请实施例所提供的检测方法。前述图4所示的检测装置,可采用如图5所示的网络设备硬件结构实现。
上述计算机可读存储介质530可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质530还可以是至少一个位于远离前述处理器510的存储装置。
上述处理器510可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例中,处理器510通过读取机器可读存储介质530中存储的机器可执行指令,被机器可执行指令促使能够实现处理器510自身以及调用收发器520执行前述本申请实施例描述的检测方法。
另外,本申请实施例提供了一种机器可读存储介质530,机器可读存储介质530存储有机器可执行指令,在被处理器510调用和执行时,机器可执行指令促使处理器510自身以及调用收发器520执行前述本申请实施例描述的检测方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对于检测装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种检测方法,其特征在于,所述方法包括:
获取应用程序的可执行文件以及第一图标集,所述第一图标集包括操作系统中每种文件类型的图标标签;
根据所述应用程序的可执行文件,提取待检测图标;
利用原型网络以及所述每种文件类型的图标标签,构建分类模型;
将所述待检测图标输入至所述分类模型中,得到所述待检测图标的检测结果;
若所述检测结果的值为第一值,则确定所述待检测图标对应的所述应用程序为疑似软件;
若所述检测结果的值为第二值,则确定所述待检测图标对应的所述应用程序为非疑似软件。
2.根据权利要求1所述的方法,其特征在于,所述获取应用程序的可执行文件,具体包括:
获取所述操作系统中待分析的可执行文件;
利用预设的筛选规则,从所述待分析的可执行文件中,筛选出所述应用程序的可执行文件;
丢弃所述待分析的可执行文件包括的非应用程序的可执行文件。
3.根据权利要求1所述的方法,其特征在于,所述获取第一图标集,具体包括:
统计所述操作系统中每种文件类型以及所述每种文件类型包括的每个子文件类型;
生成每种文件类型对应的第二图标集,每个第二图标集包括该种文件类型包括的每个子文件类型对应的子图标集;
将多个第二图标集的集合作为所述第一图标集。
4.根据权利要求1所述的方法,其特征在于,所述根据所述应用程序的可执行文件,提取待检测图标,具体包括:
利用PE文件解析模块对所述应用程序的可执行文件的文件格式进行解析处理,得到多个资源目录句柄;
对所述多个资源目录句柄进行遍历处理,得到图标资源组,所述图标资源组包括多个图标;
将每个图标的图标属性值与预设的属性阈值进行比较,确定满足属性阈值的图标属性值;
将所述图标属性值对应的图标作为所述待检测图标。
5.根据权利要求3所述的方法,其特征在于,所述利用原型网络以及所述每种文件类型的图标标签,构建分类模型,具体包括:
利用图像变换算法,对每个子图标集内包括的图标标签的数量进行图标扩增,得到第三图标集;
基于原型网络,将所述第三图标集划分为支持集以及查询集;
将所述支持集包括的每个图标标签映射为嵌入向量,并对多个嵌入向量进行取平均计算,得到多个类原型;
计算所述查询集中每个图标标签到达每个类原型的距离;
获取预定义的所述查询集中每个图标标签的真实类别以及所述查询集中每个图标标签到达每个类原型的真实类别分布概率;
利用所述查询集中每个图标标签到达每个类原型的距离以及所述查询集中每个图标标签的真实类别,计算所述查询集中每个图标标签到达每个类原型的预测类别分布概率;
确定损失函数,所述损失函数为对所述真实类别分布概率进行最小化负对数运算后得到;
确定当前是否已满足预设的停止训练条件;
若未满足所述停止训练条件,则利用所述损失函数对所述原型网络进行迭代训练,直至当前已满足所述停止训练条件,得到所述分类模型。
6.根据权利要求5所述的方法,其特征在于,所述确定损失函数之前,所述方法还包括:
利用回归函数以及所述预测类别分布概率,预测所述查询集中每个图标标签的类别。
7.一种检测装置,其特征在于,所述装置包括:
获取单元,用于获取应用程序的可执行文件以及第一图标集,所述第一图标集包括操作系统中每种文件类型的图标标签;
提取单元,用于根据所述应用程序的可执行文件,提取待检测图标;
构建单元,用于利用原型网络以及所述每种文件类型的图标标签,构建分类模型;
输出结果单元,用于将所述待检测图标输入至所述分类模型中,得到所述待检测图标的检测结果;
第一确定单元,用于若所述检测结果的值为第一值,则确定所述待检测图标对应的所述应用程序为疑似软件;
第二确定单元,用于若所述检测结果的值为第二值,则确定所述待检测图标对应的所述应用程序为非疑似软件。
8.根据权利要求7所述的装置,其特征在于,所述获取单元具体用于,获取所述操作系统中待分析的可执行文件;
利用预设的筛选规则,从所述待分析的可执行文件中,筛选出所述应用程序的可执行文件;
丢弃所述待分析的可执行文件包括的非应用程序的可执行文件。
9.根据权利要求7所述的装置,其特征在于,所述获取单元具体用于,统计所述操作系统中每种文件类型以及所述每种文件类型包括的每个子文件类型;
生成每种文件类型对应的第二图标集,每个第二图标集包括该种文件类型包括的每个子文件类型对应的子图标集;
将多个第二图标集的集合作为所述第一图标集。
10.根据权利要求7所述的装置,其特征在于,所述提取单元具体用于,利用PE文件解析模块对所述应用程序的可执行文件的文件格式进行解析处理,得到多个资源目录句柄;
对所述多个资源目录句柄进行遍历处理,得到图标资源组,所述图标资源组包括多个图标;
将每个图标的图标属性值与预设的属性阈值进行比较,确定满足属性阈值的图标属性值;
将所述图标属性值对应的图标作为所述待检测图标。
11.根据权利要求9所述的装置,其特征在于,所述构建单元具体用于,利用图像变换算法,对每个子图标集内包括的图标标签的数量进行图标扩增,得到第三图标集;
基于原型网络,将所述第三图标集划分为支持集以及查询集;
将所述支持集包括的每个图标标签映射为嵌入向量,并对多个嵌入向量进行取平均计算,得到多个类原型;
计算所述查询集中每个图标标签到达每个类原型的距离;
获取预定义的所述查询集中每个图标标签的真实类别以及所述查询集中每个图标标签到达每个类原型的真实类别分布概率;
利用所述查询集中每个图标标签到达每个类原型的距离以及所述查询集中每个图标标签的真实类别,计算所述查询集中每个图标标签到达每个类原型的预测类别分布概率;
确定损失函数,所述损失函数为对所述真实类别分布概率进行最小化负对数运算后得到;
确定当前是否已满足预设的停止训练条件;
若未满足所述停止训练条件,则利用所述损失函数对所述原型网络进行迭代训练,直至当前已满足所述停止训练条件,得到所述分类模型。
12.根据权利要求11所述的装置,其特征在于,所述构建单元还具体用于,利用回归函数以及所述预测类别分布概率,预测所述查询集中每个图标标签的类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210651376.3A CN115238270A (zh) | 2022-06-10 | 2022-06-10 | 检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210651376.3A CN115238270A (zh) | 2022-06-10 | 2022-06-10 | 检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115238270A true CN115238270A (zh) | 2022-10-25 |
Family
ID=83669856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210651376.3A Pending CN115238270A (zh) | 2022-06-10 | 2022-06-10 | 检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115238270A (zh) |
-
2022
- 2022-06-10 CN CN202210651376.3A patent/CN115238270A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mohaisen et al. | AMAL: high-fidelity, behavior-based automated malware analysis and classification | |
US10581879B1 (en) | Enhanced malware detection for generated objects | |
Corona et al. | Lux0r: Detection of malicious pdf-embedded javascript code through discriminant analysis of api references | |
US8701192B1 (en) | Behavior based signatures | |
Cohen et al. | MalJPEG: Machine learning based solution for the detection of malicious JPEG images | |
US20170083703A1 (en) | Leveraging behavior-based rules for malware family classification | |
US8256000B1 (en) | Method and system for identifying icons | |
JP6674036B2 (ja) | 分類装置、分類方法及び分類プログラム | |
Abbas et al. | Low-complexity signature-based malware detection for IoT devices | |
Alotaibi | Identifying malicious software using deep residual long-short term memory | |
Downing et al. | {DeepReflect}: Discovering malicious functionality through binary reconstruction | |
US11423099B2 (en) | Classification apparatus, classification method, and classification program | |
US20240054210A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
Aslan | Performance comparison of static malware analysis tools versus antivirus scanners to detect malware | |
Alshamrani | Design and analysis of machine learning based technique for malware identification and classification of portable document format files | |
Mohaisen et al. | Network-based analysis and classification of malware using behavioral artifacts ordering | |
Rafiq et al. | AndroMalPack: enhancing the ML-based malware classification by detection and removal of repacked apps for Android systems | |
Baychev et al. | Spearphishing malware: Do we really know the unknown? | |
Shi et al. | SFCGDroid: android malware detection based on sensitive function call graph | |
US11321453B2 (en) | Method and system for detecting and classifying malware based on families | |
Gregory Paul et al. | A framework for dynamic malware analysis based on behavior artifacts | |
Bounouh et al. | A scalable malware classification based on integrated static and dynamic features | |
CN115238270A (zh) | 检测方法及装置 | |
US12079285B2 (en) | Training device, determination device, training method, determination method, training method, and determination program | |
Guo et al. | Classification of malware variant based on ensemble learning |
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 |