CN118246006A - 一种文档文件的行为检测方法、装置、设备及存储介质 - Google Patents
一种文档文件的行为检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN118246006A CN118246006A CN202410433615.7A CN202410433615A CN118246006A CN 118246006 A CN118246006 A CN 118246006A CN 202410433615 A CN202410433615 A CN 202410433615A CN 118246006 A CN118246006 A CN 118246006A
- Authority
- CN
- China
- Prior art keywords
- document file
- detected
- analysis library
- determining
- version
- 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 132
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000012795 verification Methods 0.000 claims abstract description 35
- 244000035744 Hura crepitans Species 0.000 claims abstract description 15
- 238000004458 analytical method Methods 0.000 claims description 114
- 230000006870 function Effects 0.000 claims description 77
- 230000006399 behavior Effects 0.000 claims description 62
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 18
- 238000005516 engineering process Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000004891 communication Methods 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
- 238000010586 diagram Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000010921 in-depth analysis Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 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/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/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供的一种文档文件的行为检测方法、装置、设备及存储介质,在一种文档文件的行为检测方法中,获取待检测文档文件;解析所述待检测文档文件,确定所述待检测文档文件的预设检测环境以及经过编译的宏代码;在所述预设检测环境中检测所述待检测文档文件,包括:绕过版本号验证,执行对所述经过编译的宏代码,得到宏代码执行结果;根据宏代码执行结果确定所述文档文件的行为检测结果。通过上述方法,可以在沙箱系统中,在预设检测环境下进行解析执行待检测文档文件,并且在检测过程中会绕过版本号验证,避免重新编译原始宏代码导致覆盖经过编译的宏代码,提高文档文件的行为检测的检测效率和准确性。
Description
技术领域
本申请涉及安全技术领域,尤其涉及一种文档文件的行为检测方法、装置、设备及存储介质。
背景技术
文档文件,由于广泛用于日常办公并具有调用系统功能的能力,成为攻击者常用的入口。因此需要针对文档文件进行行为检测,以判断文档文件是否存在恶意行为,危害计算机系统安全。
VBA(Visual Basic for Applications)Stomping技术是一种被广泛采用的攻击技术,该技术可以销毁Microsoft Office文档中的VBA源代码,只留下文档文件中称为p-code的宏代码的编译版本。在现有的检测方案中,对于具备VBA Stomping风险的可疑样本,其检测往往侧重于静态分析,例如通过比较流结构中的CompressedSourceCode与PerformanceCache代码的规模来识别潜在的VBA Stomping。然而,这种方法难以获取文档文件的完整行为,从而限制了对文档文件的行为的深入分析和理解,导致文档文件的行为检测的检测效率和准确性不高。
发明内容
有鉴于此,本申请的目的在于提供一种文档文件的行为检测方法、装置、设备及存储介质,提高文档文件的行为检测的检测效率和准确性。
为实现上述目的,本申请实施例公开了如下技术方案:
第一方面,本申请提供了一种文档文件的行为检测方法,所述方法应用于沙箱系统,所述方法包括:
获取待检测文档文件;
解析所述待检测文档文件,得到所述待检测文档文件的预设检测环境以及经过编译的宏代码;
在所述预设检测环境中检测所述待检测文档文件,包括:绕过版本号验证,解析所述经过编译的宏代码,得到所述宏代码执行结果;
根据所述宏代码执行结果确定所述待检测文档文件的行为检测结果。
可选的,所述解析所述待检测文档文件,得到所述文档文件的预设检测环境,包括:
解析所述待检测文档文件,得到所述待检测文档文件的结构信息,所述结构信息包括:末次编辑所述待检测文档文件的第一解析库版本标识;
根据所述第一解析库版本标识确定所述预设检测环境。
可选的,所述根据所述第一解析库版本标识确定所述预设检测环境,包括:
根据所述第一解析库版本标识以及预设对应关系,确定所述第一解析库版本标识对应的标准解析库标识,所述预设对应关系包括第一解析库版本标识与标准解析库标识的对应关系;
根据所述标准解析库标识确定所述预设检测环境。
可选的,所述绕过版本号验证,包括:
根据所述标准解析库标识确定版本号校验函数;
基于所述版本号校验函数定位校验值地址;
基于所述校验值地址,将所述标准解析库标识对应的标准解析库中的版本标识替换为所述第一解析库版本标识。
可选的,所述解析所述经过编译的宏代码,得到所述宏代码执行结果,包括:
根据所述第一解析库版本标识确定未导出函数地址;所述未导出函数地址对应的未导出函数用于执行所述宏代码;
根据所述未导出函数地址,对所述未导出函数进行拼接,得到目标函数;
执行所述目标函数,以解析所述经过编译的宏代码,得到所述宏代码执行结果。
第二方面,本申请提供了一种文档文件的行为检测装置,所述装置应用于沙箱系统,所述装置包括:
获取单元,用于获取待检测文档文件;
解析单元,用于解析所述待检测文档文件,确定所述待检测文档文件的预设检测环境以及经过编译的宏代码;
检测单元,用于在所述预设检测环境中检测所述待检测文档文件,包括:绕过版本号验证,解析所述经过编译的宏代码,得到所述宏代码执行结果;
确定单元,用于根据所述宏代码执行结果确定所述文档文件的行为检测结果。
可选的,所述解析单元,包括:
解析子单元,用于解析所述待检测文档文件,得到所述待检测文档文件的结构信息,所述结构信息包括:末次编辑所述待检测文档文件的第一解析库版本标识;
确定子单元,用于根据所述第一解析库版本标识确定所述预设检测环境。
可选的,所述确定子单元,具体用于:
根据所述第一解析库版本标识以及预设对应关系,确定所述第一解析库版本标识对应的标准解析库标识,所述预设对应关系包括第一解析库版本标识与标准解析库标识的对应关系;
根据所述标准解析库标识确定所述预设检测环境。
可选的,所述检测单元,包括:
确定子单元,用于根据所述标准解析库标识确定版本号校验函数;
定位子单元,用于基于所述版本号校验函数定位校验值地址;
替换子单元,用于基于所述校验值地址,将所述标准解析库标识对应的标准解析库中的版本标识替换为所述第一解析库版本标识,以确保版本号验证过程中版本号验证成功。
可选的,所述检测单元,包括:
确定子单元,用于根据所述第一解析库版本标识确定未导出函数地址;所述未导出函数地址对应的未导出函数用于执行所述宏代码;
拼接子单元,用于根据所述未导出函数地址,对所述未导出函数进行拼接,得到目标函数;
执行子单元,用于执行所述目标函数,以解析所述经过编译的宏代码,得到所述宏代码执行结果。
第三方面,本申请提供一种文档文件的行为检测设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序以实现如第一方面提供的所述文档文件的行为检测方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面提供的所述文档文件的行为检测方法的步骤。
本申请提供的一种文档文件的行为检测方法、装置、设备及存储介质,在一种文档文件的行为检测方法中,获取待检测文档文件;解析所述待检测文档文件,确定所述待检测文档文件的预设检测环境以及经过编译的宏代码;在所述预设检测环境中检测所述待检测文档文件,包括:绕过版本号验证,执行对所述经过编译的宏代码,得到宏代码执行结果;根据宏代码执行结果确定所述文档文件的行为检测结果。通过上述方法,可以在沙箱系统中,在预设检测环境下进行解析执行待检测文档文件,并且在检测过程中会绕过版本号验证,避免重新编译原始宏代码导致覆盖经过编译的宏代码,提高文档文件的行为检测的检测效率和准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种利用VBA Stomping的恶意文档文件的处理流程示意图;
图2是本申请实施例提供的一种文档文件的行为检测方法的流程示意图;
图3是本申请实施例提供的另一种文档文件的行为检测方法的流程示意图;
图4是本申请实施例提供的一种文档文件的行为检测装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先,对本发明涉及的攻击技术VBA Stomping(Visual Basic for Applicationsstomping)原理进行简要介绍。VBA Stomping是一种用于隐藏恶意宏代码的技术,通常用于Microsoft Office文档。攻击者通过这种技术,将恶意的P-code(已编译的宏代码)嵌入文档中,同时提供一个不包含恶意行为的宏代码文本作为掩饰。在解析流程中,Office会根据当前解析库的版本,编译宏代码以生成相应的P-code,以保证执行的稳定性。仅当文档末次编辑环境下vba解析库版本号与当前执行环境相同时,为了提高加载速度,office会直接加载P-code执行。攻击者确定目标环境的具体版本,然后在对应执行环境下构建恶意P-code代码。此时在目标环境下Office程序会直接执行P-code而不是重新编译原始宏代码,因此恶意代码就能逃避安全软件的检测。这种方法可以使得攻击者定向地对特定版本的Office环境发起攻击,同时在其他环境中保持隐蔽。
如图1所示,图1本申请实施例提供的一种利用VBA Stomping的恶意文档文件的处理流程示意图。office文档在加载过程中,会先去进行版本号验证,若版本号验证通过,才会直接执行office文档中的P-code代码,使得采用VBA Stomping技术的恶意P-code代码能存活,会通过Pcode解析模块执行意P-code代码,从而发现office文档存在恶意行为。然而,在绝大多数情况下,由于执行环境与样本末次编辑环境都是不一致的,这使得版本号在大多数情况下都是验证不通过的。若版本号验证不通过,Office不会直接加载并执行包含恶意行为的P-code代码。而是会重新编译原始宏代码对恶意P-code代码进行无害化处理,原始宏代码是指office文档中未经编译的宏代码。生成符合当前版本的P-code后,会将原先包含恶意行为的P-code代码覆盖,Pcode解析模块执行的的P-code代码则是安全的,从而造成文档文件的恶意行为逃逸。
现有技术中VBA Stomping技术通常通过静态检测来实现。而静态方案如对比流结构中的CompressedSourceCode与PerformanceCache代码的规模来识别潜在的攻击样本在可疑样本识别场景下效果良好,但难以获取样本完整的行为,从而限制了对样本行为的深入分析和理解。
因此,发明人提出了本申请实施例提供的一种文档文件的行为检测方法、装置、设备及存储介质,可以在沙箱系统中,在预设检测环境下进行解析执行待检测文档文件,并且在检测过程中会绕过版本号验证,避免因检测环境不满足而无法触发恶意行为,避免重新编译原始宏代码导致覆盖经过编译的宏代码,提高文档文件的行为检测的检测效率和准确性。
为便于理解本申请提供的技术方案,下面将结合附图对本申请提供的一种文档文件的行为检测方法进行说明。参见图2,该图为本申请实施例提供的一种文档文件的行为检测方法的流程示意图,如图2所示,该方法包括S101-S104。本申请提供的一种文档文件的行为检测方法可以应用于沙箱系统,可以理解的是,沙箱系统是一个虚拟的系统,在沙箱系统中的操作并不会影响到真实系统。
S101:获取待检测文档文件。
本申请实施例中,会先去获取待检测文档文件,可以理解的是,待检测文档文件可以是包含经过编译的宏代码和原始宏代码的office文档文件。原始宏代码是指office文档文件中未经编译的宏代码。
S102:解析待检测文档文件,得到待检测文档文件的预设检测环境以及经过编译的宏代码。
本申请实施例中,在获取到待检测文档文件后,可以直接对待检测文档文件进行解析,从而得到待检测文档文件的预设检测环境以及经过编译的宏代码。可以理解的是,经过编译的宏代码(P-code)可能存在恶意行为,预设检测环境存在能够执行该经过编译的宏代码的环境文件。
本申请不限制解析待检测文档文件,得到文档文件的预设检测环境的具体方式,作为一种可能的实现方式,解析待检测文档文件,得到文档文件的预设检测环境,包括以下步骤:
A1:解析待检测文档文件,得到待检测文档文件的结构信息,结构信息包括:末次编辑待检测文档文件的第一解析库版本标识。
A2:根据第一解析库版本标识确定预设检测环境。
具体的,本申请可以通过解析待检测文档文件,获取待检测文档文件中的VBA_PROJEC流结构,从VBA_PROJEC流结构中获取待检测文档文件的结构信息。可以理解的,待检测文档文件的结构信息也包括宏代码的结构信息,该结构信息中会包括末次编辑待检测文档文件的第一解析库版本标识。本申请不限制解析库的具体内容,解析库可以是vba解析库。
本申请实施例中,末次编辑待检测文档文件的第一解析库版本标识可以为版本号,用于唯一标识的解析库版本。末次编辑待检测文档文件的第一解析库版本标识用于指示最后一次编辑该待检测文档文件是使用哪个解析库版本,从而可以确定出与该解析库版本对应的哪个预设检测环境能够对待检测文档文件进行解析,从而基于预设检测环境对经过编译的宏代码进行解析。
本申请实施例中,可以通过第一解析库版本标识进行确定预设检测环境,更快速有效地确定出预设检测环境,提高后续文档文件的行为检测的检测效率和准确性。
本申请不限制根据第一解析库版本标识确定预设检测环境的具体方式,作为一种示例,A2根据第一解析库版本标识确定预设检测环境,包括以下步骤:
A21:根据第一解析库版本标识以及预设对应关系,确定第一解析库版本标识对应的标准解析库标识,预设对应关系包括第一解析库版本标识与标准解析库标识的对应关系。
A22:根据标准解析库标识确定预设检测环境。
本申请实施例中,会预先建立预设对应关系,预设对应关系包括第一解析库版本标识与标准解析库标识的对应关系。可以理解的是,末次编辑待检测文档文件的第一解析库版本标识对应的解析库可以有多种,本申请可以设置统一的标准解析库,使得每一个标准解析库都可以对应多个第一解析库版本标识,通过一个标准解析库可以实现模拟多个不同第一解析库版本标识对应的预设检测环境,使得无需为每个第一解析库版本标识设置对应的单独的检测环境,这不仅提高了检测效率,还降低了资源消耗。
通过分析得知,当需要检测采用VBA Stomping技术的恶意P-code代码时,可以使用vbe6、vbe7、vbe7.1三个主要版本的vba标准解析库来覆盖检测需求。可以理解的是vbe6、vbe7、vbe7.1为3个不同的标准解析库标识,分别对应3个vba标准解析库,多个末次编辑的解析库版本号会对应一个标准解析库标识,每一个标准解析库对应一个预设检测环境。
本申请不限制建立预设对应关系的具体方式,作为一种示例,本申请可以基于大数据对待检测文档文件样本进行分析、整理汇总得到。
S103:在预设检测环境中检测待检测文档文件,包括:绕过版本号验证,解析经过编译的宏代码,得到宏代码执行结果。
本申请实施例中,在确定出预设检测环境中,会将待检测文档文件投递至预设检测环境中,使得可以在预设检测环境中进行检测待检测文档文件。
具体的,本申请会绕过版本号验证,进行直接解析经过编译的宏代码,从而得到宏代码执行结果。可以理解的是,版本号验证的目的是决定是否还需要对原始宏代码进行重新编译,若对原始宏代码进行重新编译,会覆盖经过编译的宏代码,导致经过编译的宏代码被隐藏。本申请可以绕过版本号验证,即保证能够直接对经过编译的宏代码进行解析,保证采用VBA Stomping技术的恶意P-code代码能在沙箱环境中被激活和执行。
本申请不限制绕过版本号验证以及解析经过编译的宏代码的具体方式,在下文中详细阐述。
S104:根据宏代码执行结果确定待检测文档文件的行为检测结果。
本申请实施例中,在得到宏代码执行结果后,即可根据宏代码执行结果确定文档文件的行为检测结果,可以理解的是,若宏代码执行结果存在攻击系统的行为,则可以确定待检测文档文件的行为检测结果为存在恶意行为。
通过上述方法,可以在沙箱系统中,在预设检测环境下进行解析执行待检测文档文件,并且在检测过程中会绕过版本号验证,避免重新编译原始宏代码导致覆盖经过编译的宏代码,提高文档文件的行为检测的检测效率和准确性。
本申请不限制绕过版本号验证的具体操作,作为一种示例,绕过版本号验证,包括以下步骤:
B1:根据标准解析库标识确定版本号校验函数。
B2:基于版本号校验函数定位校验值地址。
可以理解的是,在不同版本的标准解析库中,整体调用链相同,但是后续部分函数实现细节不同。本申请需要先进行确定出版本号校验函数,作为一种示例,本申请可以通过加载标准解析库标识对应的标准解析库的特征,进行调用cfb复合文档格式流处理函数链进行确定版本号校验函数。
在确定出版本号校验函数后,可以基于版本号校验函数的执行逻辑进行定位出校验值地址。作为一种示例,该校验值地址在待检测文档文件中使用类属性偏移进行表示。
B3:基于校验值地址,将标准解析库标识对应的标准解析库中的版本标识替换为第一解析库版本标识。
本申请实施例中,在确定出校验值地址后,即可将校验值地址中原本的标准解析库中的版本标识替换为第一解析库版本标识。使得版本号验证过程中,会基于第一解析库版本标识进行验证,以确保版本号验证过程一定成功,实现绕过版本号验证的操作,绕过版本号校验后,可跳过宏代码重新编译的过程,直接执行已经编译的宏代码。
本申请不限制解析经过编译的宏代码,得到宏代码执行结果的具体方式,作为一种示例,解析经过编译的宏代码,得到宏代码执行结果,包括以下步骤:
C1:根据第一解析库版本标识确定未导出函数地址;未导出函数地址对应的未导出函数用于执行宏代码。
可以理解的是,经过编译的宏代码的解析功能属于不公开的内部函数功能,完整的解析功能以代码片段的形式分散在多个内部函数中,未导出函数是用于执行经过编译的宏代码的内部函数,其存在多个且地址分散。作为一种示例,本申请会根据第一解析库版本标识,确定从哪个版本的解析库进行获取各个函数的特征,本申请可以根据当前版本的解析库的原子功能顺序及代码片段特征,根据特征匹配所有原子功能代码片段,从而确定出未导出函数的地址。
C2:根据未导出函数地址,对未导出函数进行拼接,得到目标函数。
C3:执行目标函数,以解析经过编译的宏代码,得到宏代码执行结果。
本申请实施例中,在得到各个分散的未导出函数地址之后,需要对未导出函数进行拼接。本申请不限制对未导出函数进行拼接的具体方式,作为一种示例,本申请可以通过钩子(HOOK)函数对未导出函数进行拼接,从而得到一个钩子函数作为目标函数。通过执行目标函数,即可替代原有的默认宏代码解析函数,进行解析经过编译的宏代码,得到宏代码执行结果。通过上述方法,可以更快速准确地对经过编译的宏代码进行解析。
下面结合具体例子对本申请进行进一步说明,如图3所示,图3是本申请实施例提供的另一种文档文件的行为检测方法的流程示意图。
首先在沙箱系统中的沙箱调度程序中读取待检测文档文件的静态检测结果,可以理解的是,该静态检测结果可以包括末次编辑待检测文档文件的第一解析库版本标识以及经过编译的宏代码。末次编辑待检测文档文件的第一解析库版本标识这一信息是选择适当检测环境的依据,因为不同的版本号对应不同的P-code执行逻辑和环境需求。
通过分析得知,可以使用vbe6、vbe7、vbe7.1三个主要版本的vba解析库来覆盖检测需求。因此为了简化环境选择过程,通过版本号区间映射转化将获取对应版本P-code解析功能对应的vba解析库。然后根据所需vba解析库版本,选择相应的预设检测环境。这个过程取代了原本在Office进程内进行的版本校验。
以假设捕获了待检测文档文件,该待检测文档文件对应版本号为0xAF,末次编辑环境应该为Office2013某子版本对应vba解析库为例。在非目标环境(如Office2010环境)下打开只能看到伪装用的宏代码,,具体行为仅包含msgbox弹窗,没有恶意行为。在具备本发明中提出的P-code模拟功能的沙箱环境下,首先分析样本得出版本号0xAF,通过区间映射得知对应的vba解析库应该为vbe7.1。接下来将待检测文档文件投递至对应环境,创建office进程并打开待检测文档文件(即图中的样本文件)。沙箱中vbe7.1对应的检测环境为Office2016,对应版本号为0xB2,理论上也无法触发恶意P-code。P-code模拟模块首先通过校验值替换绕过vba解析库中版本号验证功能,然后根据版本号重构P-code解析钩子函数,替换后实现跨版本P-code执行。P-code模拟模块初始化完成后,执行恶意P-code以进行宏行为监控及输出,可以看到Office进程创建powershell进程下载二阶段载荷,实现定向攻击。
综上,可见本发明能够有效规避VBA Stomping技术所导致的环境独占性和检测干扰问题,提高恶意行为的检测准确性和效率。
参见图4,图4为本申请实施例提供的一种文档文件的行为检测装置结构示意图,该装置应用于沙箱系统,该装置包括:获取单元401、解析单元402、检测单元403和确定单元404。
获取单元401,用于获取待检测文档文件。
解析单元402,用于解析所述待检测文档文件,确定所述待检测文档文件的预设检测环境以及经过编译的宏代码;
检测单元403,用于在所述预设检测环境中检测所述待检测文档文件,包括:绕过版本号验证,解析所述经过编译的宏代码,得到所述宏代码执行结果;
确定单元404,用于根据所述宏代码执行结果确定所述文档文件的行为检测结果。
获取待检测文档文件;解析所述待检测文档文件,确定待检测文档文件的预设检测环境以及经过编译的宏代码;在所述预设检测环境中检测所述待检测文档文件,包括:绕过版本号验证,执行对所述经过编译的宏代码,得到宏代码执行结果;根据宏代码执行结果确定所述文档文件的行为检测结果。通过上述装置,可以在沙箱系统中,在预设检测环境下进行解析执行待检测文档文件,并且在检测过程中会绕过版本号验证,避免重新编译原始宏代码从而覆盖经过编译的宏代码,提高文档文件的行为检测的检测效率和准确性。
作为一种可能的实现方式,所述解析单元,包括:
解析子单元,用于解析所述待检测文档文件,得到所述待检测文档文件的结构信息,所述结构信息包括:末次编辑所述待检测文档文件的第一解析库版本标识;
确定子单元,用于根据所述第一解析库版本标识确定所述预设检测环境。
作为一种可能的实现方式,所述确定子单元,具体用于:
根据所述第一解析库版本标识以及预设对应关系,确定所述第一解析库版本标识对应的标准解析库标识,所述预设对应关系包括第一解析库版本标识与标准解析库标识的对应关系;
根据所述标准解析库标识确定所述预设检测环境。
作为一种可能的实现方式,所述检测单元,包括:
确定子单元,用于根据所述标准解析库标识确定版本号校验函数;
定位子单元,用于基于所述版本号校验函数定位校验值地址;
替换子单元,用于基于所述校验值地址,将所述标准解析库标识对应的标准解析库中的版本标识替换为所述第一解析库版本标识,以确保版本号验证过程中版本号验证成功。
作为一种可能的实现方式,所述检测单元,包括:
确定子单元,用于根据所述第一解析库版本标识确定未导出函数地址;所述未导出函数地址对应的未导出函数用于执行所述宏代码;
拼接子单元,用于根据所述未导出函数地址,对所述未导出函数进行拼接,得到目标函数;
执行子单元,用于执行所述目标函数,以解析所述经过编译的宏代码,得到所述宏代码执行结果。
本申请还提供了一种文档文件的行为检测设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述终端还可以包括各种网络接口,电源等组件。
需要说明的是,本申请实施例提供的一种文档文件的行为检测设备,具有如上任意一个实施例所具有的技术效果,本申请实施例在此并不作赘述。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本申请实施例提供的一种计算机可读存储介质,具有如上任意一个实施例所具有的技术效果,本申请实施例在此并不作赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本领域技术人员可以理解,图所示的流程图仅是本申请的实施方式可以在其中得以实现的一个示例,本申请实施方式的适用范围不受到该流程图任何方面的限制。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种文档文件的行为检测方法,其特征在于,所述方法应用于沙箱系统,所述方法包括:
获取待检测文档文件;
解析所述待检测文档文件,得到所述待检测文档文件的预设检测环境以及经过编译的宏代码;
在所述预设检测环境中检测所述待检测文档文件,包括:绕过版本号验证,解析所述经过编译的宏代码,得到所述宏代码执行结果;
根据所述宏代码执行结果确定所述待检测文档文件的行为检测结果。
2.根据权利要求1所述的方法,其特征在于,所述解析所述待检测文档文件,得到所述文档文件的预设检测环境,包括:
解析所述待检测文档文件,得到所述待检测文档文件的结构信息,所述结构信息包括:末次编辑所述待检测文档文件的第一解析库版本标识;
根据所述第一解析库版本标识确定所述预设检测环境。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一解析库版本标识确定所述预设检测环境,包括:
根据所述第一解析库版本标识以及预设对应关系,确定所述第一解析库版本标识对应的标准解析库标识,所述预设对应关系包括第一解析库版本标识与标准解析库标识的对应关系;
根据所述标准解析库标识确定所述预设检测环境。
4.根据权利要求3所述的方法,其特征在于,所述绕过版本号验证,包括:
根据所述标准解析库标识确定版本号校验函数;
基于所述版本号校验函数定位校验值地址;
基于所述校验值地址,将所述标准解析库标识对应的标准解析库中的版本标识替换为所述第一解析库版本标识。
5.根据权利要求2所述的方法,其特征在于,所述解析所述经过编译的宏代码,得到所述宏代码执行结果,包括:
根据所述第一解析库版本标识确定未导出函数地址;所述未导出函数地址对应的未导出函数用于执行所述宏代码;
根据所述未导出函数地址,对所述未导出函数进行拼接,得到目标函数;
执行所述目标函数,以解析所述经过编译的宏代码,得到所述宏代码执行结果。
6.一种文档文件的行为检测装置,其特征在于,所述装置应用于沙箱系统,所述装置包括:
获取单元,用于获取待检测文档文件;
解析单元,用于解析所述待检测文档文件,确定所述待检测文档文件的预设检测环境以及经过编译的宏代码;
检测单元,用于在所述预设检测环境中检测所述待检测文档文件,包括:绕过版本号验证,解析所述经过编译的宏代码,得到所述宏代码执行结果;
确定单元,用于根据所述宏代码执行结果确定所述文档文件的行为检测结果。
7.根据权利要求6所述的装置,其特征在于,所述解析单元,包括:
解析子单元,用于解析所述待检测文档文件,得到所述待检测文档文件的结构信息,所述结构信息包括:末次编辑所述待检测文档文件的第一解析库版本标识;
确定子单元,用于根据所述第一解析库版本标识确定所述预设检测环境。
8.根据权利要求6所述的装置,其特征在于,所述确定子单元,具体用于:
根据所述第一解析库版本标识以及预设对应关系,确定所述第一解析库版本标识对应的标准解析库标识,所述预设对应关系包括第一解析库版本标识与标准解析库标识的对应关系;
根据所述标准解析库标识确定所述预设检测环境。
9.一种文档文件的行为检测设备,其特征在于,包括::
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序以实现如权利要求1至5任一项所述文档文件的行为检测方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行以实现如权利要求1至5任一项所述文档文件的行为检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410433615.7A CN118246006A (zh) | 2024-04-11 | 2024-04-11 | 一种文档文件的行为检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410433615.7A CN118246006A (zh) | 2024-04-11 | 2024-04-11 | 一种文档文件的行为检测方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118246006A true CN118246006A (zh) | 2024-06-25 |
Family
ID=91560175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410433615.7A Pending CN118246006A (zh) | 2024-04-11 | 2024-04-11 | 一种文档文件的行为检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118246006A (zh) |
-
2024
- 2024-04-11 CN CN202410433615.7A patent/CN118246006A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alazab et al. | Towards understanding malware behaviour by the extraction of API calls | |
US7376970B2 (en) | System and method for proactive computer virus protection | |
US8850581B2 (en) | Identification of malware detection signature candidate code | |
Bergeron et al. | Static analysis of binary code to isolate malicious behaviors | |
CN102043915B (zh) | 一种非可执行文件中包含恶意代码的检测方法及其装置 | |
EP3262557A1 (en) | A method to identify known compilers functions, libraries and objects inside files and data items containing an executable code | |
CN109255235B (zh) | 基于用户态沙箱的移动应用第三方库隔离方法 | |
CN109271789B (zh) | 恶意进程检测方法、装置、电子设备及存储介质 | |
CN113961919B (zh) | 恶意软件检测方法和装置 | |
US20240143739A1 (en) | Intelligent obfuscation of mobile applications | |
CN105550581A (zh) | 一种恶意代码检测方法及装置 | |
CN103559447A (zh) | 一种基于病毒样本特征的检测方法、检测装置及检测系统 | |
CN105760761A (zh) | 软件行为分析方法和装置 | |
CN115659333A (zh) | 一种基于二进制插桩的沙箱、内存隔离方法及存储介质 | |
CN110717181B (zh) | 基于新型程序依赖图的非控制数据攻击检测方法及装置 | |
US10275595B2 (en) | System and method for characterizing malware | |
Lancia et al. | Java card virtual machine compromising from a bytecode verified applet | |
CN118246006A (zh) | 一种文档文件的行为检测方法、装置、设备及存储介质 | |
Mori et al. | A tool for analyzing and detecting malicious mobile code | |
Lancia et al. | Fuzzing and overflows in Java Card smart cards | |
CN107239703B (zh) | 一种动态链接库缺失的可执行程序的动态分析方法 | |
US11783013B2 (en) | Protected processing of operations | |
CN113391873B (zh) | 基于虚拟机的行为采集方法、虚拟机、装置及存储介质 | |
US11989291B2 (en) | System, method, and apparatus for software verification | |
EP3739484B1 (en) | Method and system for detection of post compilation modification of binary images |
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 |