CN112084498A - 数据反混淆方法、装置、设备及存储介质 - Google Patents
数据反混淆方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112084498A CN112084498A CN202010955809.5A CN202010955809A CN112084498A CN 112084498 A CN112084498 A CN 112084498A CN 202010955809 A CN202010955809 A CN 202010955809A CN 112084498 A CN112084498 A CN 112084498A
- Authority
- CN
- China
- Prior art keywords
- data
- confusion
- sub
- obfuscated
- decoded
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000014509 gene expression Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 13
- 238000001514 detection method Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 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
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect 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
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据反混淆方法、装置、设备及存储介质,其中,数据反混淆方法包括步骤:接收待解析的混淆数据;判断所述待解析的混淆数据是否存在Base64编码;当所述待解析的混淆数据存在Base64编码时,对所述待解析的混淆数据中的Base64编码部分进行Base64解码,并得到第一解码后的混淆数据;对所述第一解码后的混淆数据进行结构解析,以将所述第一解码后的混淆数据解析为若干段子混淆数据;对所述若干段子混淆数据进行混淆解析并得到目标解析数据。本申请能够对混淆后恶意数据进行解码,以识别恶意数据。与此同时,本申请不需要依赖指定进程获取待解析的混淆数据,从而具有更优的检测范围和检测精度。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种数据反混淆方法、装置、设备及存储介质。
背景技术
通常,恶意软件为了控制用户的系统而会入侵用户的系统。目前,为了防止恶意软件入侵用户的系统,现有技术中存在一种基于签名的静态恶意代码检测技术,该技术用于检测恶意代码进而阻隔恶意代码入侵用户的系统,然而,为了避免这种检测,恶意代码为混淆后的代码,这样一来,为了检测混淆后的恶意代码,需要对恶意代码进行解析。
现有技术中存在一种对恶意代码进行解析的方法,该方法是获取混淆代码,然后分析出混淆代码的混淆特征,根据分析出的混淆特征对混淆的代码进行解混淆,最终获取原始代码,但是这种方法存在检测范围小、检测精度低的缺点。
发明内容
本申请实施例的目的在于提供一种数据反混淆方法、装置、设备及存储介质,用以实现对混淆后恶意数据进行解码,以识别恶意数据。
为此,本申请第一方面提供一种数据反混淆方法,所述方法包括:
接收待解析的混淆数据;
判断所述待解析的混淆数据是否存在Base64编码;
当所述待解析的混淆数据存在Base64编码时,对所述待解析的混淆数据中的Base64编码部分进行Base64解码,并得到第一解码后的混淆数据;
对所述第一解码后的混淆数据进行结构解析,以将所述第一解码后的混淆数据解析为若干段子混淆数据;
对所述若干段子混淆数据进行混淆解析并得到目标解析数据。
在本申请第一方面中,通过对待解析的混淆数据中的Base64编码部分进行Base64解码,可得到第一解码后的混淆数据,进而可对第一解码后的混淆数据进行结构解析,进而可将第一解码后的混淆数据解析为若干段子混淆数据,最终可对若干段子混淆数据进行混淆解析并得到目标解析数据。
在本申请第一方面中,作为一种可选的实施方式,所述对所述若干段子混淆数据进行混淆解析并得到目标解析数据,包括:
确定所述若干段子混淆数据的混淆方式;
根据所述若干段子混淆数据的混淆方式对所述若干段子混淆数据进行逆向解码,并得到所述目标解析数据。
在本可选的实施方式中,通过确定若干段子混淆数据的混淆方式,可根据若干段子混淆数据的混淆方式对若干段子混淆数据进行逆向解码,并得到目标解析数据。
在本申请第一方面中,作为一种可选的实施方式,所述根据所述若干段子混淆数据的混淆方式对所述若干段子混淆数据进行逆向解码,包括:
当对所述若干段子混淆数据中的第一子混淆数据解码并得到第一解析数据后,判断所述若干段子混淆数据中的第二子混淆数据是否包含所述第一子混淆数据;
当所述第二子混淆数据包含所述第一子混淆数据时,将第一解析数据替换所述第二子混淆数据中的所述第一子混淆数据;
根据所述第二子混淆数据的混淆方式对所述第二子混淆数据中未解析部分进行逆向解码,并得到所述目标解析数据。
在本可选的实施方式,可将第一解析数据替换包括第一子混淆数据的第二子混淆数据子中的第一子混淆数据,进而对第二子混淆数据进行解析。
在本申请第一方面中,作为一种可选的实施方式,所述对所述第一解码后的混淆数据进行结构解析,以将所述第一解码后的混淆数据解析为若干段子混淆数据,包括:
根据正则表达式匹配所述第一解码后的混淆数据中的分层符号,并根据匹配结果生成所述若干段子混淆数据。
在本可选的实施方式中,根据正则表达式可匹配第一解码后的混淆数据中的分层符号,进而可根据匹配结果生成若干段子混淆数据。
在本申请第一方面中,作为一种可选的实施方式,所述根据正则表达式匹配所述第一解码后的混淆数据中的分层符号之前,所述对所述第一解码后的混淆数据进行结构解析,以将所述第一解码后的混淆数据解析为若干段子混淆数据,还包括:
判断所述第一解码后的混淆数据的外层是否存在所述分层符号;
当所述第一解码后的混淆数据的外层是不存在所述分层符号时,在所述第一解码后的混淆数据的外层增加所述分层符号。
在本可选的实施方式中,所述待解析的混淆数据为运行于命令行外壳程序和脚本环境中的代码。
在本可选的实施方式中,待解析的混淆数据为运行于命令行外壳程序和脚本环境中的代码,与现有技术相比,本可选的实施方式的运行于命令行外壳程序和脚本环境中的代码不需要必须从PowerShell.exe进程和cmd.exe进程获取,而可以通过WScript、CScript、MShta、WMI等方式获取,进而可以提高检测范围和解码精确度。而现有技术中的现有技术需要利用Hook机制监控所述目标Office文档运行时的PowerShell.exe进程和cmd.exe进程,进而获取命令参数,对所述命令参数进行正则化匹配处理,获得初步去混淆的PowerShell代码,分析初步去混淆的PowerShell代码的混淆特征,并根据混淆特征对初步去混淆的PowerShell代码进行解混淆,最终获取原始PowerShell代码。换而言之,现有技术只能对通过PowerShell.exe和cmd.exe进程获取的代码进行解码,而无法处理通过WScript、CScript、MShta、WMI等方式获取的代码,进而具有检测范围小,恶意代码检测精度低的缺点。
在本申请第一方面中,作为一种可选的实施方式,所述若干段子混淆数据的混淆方式至少为大小写混淆、字符串串联混淆、字符串格式化混淆、字符串替换混淆中的一种。
本可选的实施方式能够根据大小写混淆、字符串串联混淆、字符串格式化混淆、字符串替换混淆中的一种混淆方式逆向解析代码,最终得到目标解析数据。
本申请第二方面公开一种数据反混淆装置,所述装置包括:
接收模块,用于接收待解析的混淆数据;
第一判断模块,用于判断所述待解析的混淆数据是否存在Base64编码;
第一解码模块,用于当第一判断模块判断出所述待解析的混淆数据存在Base64编码时,对所述待解析的混淆数据中的Base64编码部分进行Base64解码,并得到第一解码后的混淆数据;
第二解码模块,用于对所述第一解码后的混淆数据进行结构解析,以将所述第一解码后的混淆数据解析为若干段子混淆数据;
第三解码模块,用于对所述若干段子混淆数据进行混淆解析并得到目标解析数据。
本申请第二方面的数据反混淆装置通过执行数据反混淆方法,能够通过对待解析的混淆数据中的Base64编码部分进行Base64解码,可得到第一解码后的混淆数据,进而可对第一解码后的混淆数据进行结构解析,进而可将第一解码后的混淆数据解析为若干段子混淆数据,最终可对若干段子混淆数据进行混淆解析并得到目标解析数据。
本申请第三方面公开一种数据反混淆设备,所述设备包括:
处理器;以及
存储器,配置用于存储机器可读指令,所述指令在由所述处理器执行时执行本申请第一方面的数据反混淆方法。
本申请第三方面的数据反混淆装置通过执行数据反混淆方法,能够通过对待解析的混淆数据中的Base64编码部分进行Base64解码,可得到第一解码后的混淆数据,进而可对第一解码后的混淆数据进行结构解析,进而可将第一解码后的混淆数据解析为若干段子混淆数据,最终可对若干段子混淆数据进行混淆解析并得到目标解析数据。
本申请第四方面公开一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时执行本申请第一方面的数据反混淆方法。
本申请第四方面的存储介质通过执行数据反混淆方法,能够通过对待解析的混淆数据中的Base64编码部分进行Base64解码,可得到第一解码后的混淆数据,进而可对第一解码后的混淆数据进行结构解析,进而可将第一解码后的混淆数据解析为若干段子混淆数据,最终可对若干段子混淆数据进行混淆解析并得到目标解析数据。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种数据反混淆方法的流程示意图;
图2为本申请实施例提供的一种数据反混淆装置的结构示意图;
图3为本申请实施例提供的一种数据反混淆设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一
请参阅图1,图1是本申请实施例公开的一种数据反混淆方法的流程示意图。如图1所示,本申请实施例的方法包括步骤:
101、接收待解析的混淆数据;
102、判断待解析的混淆数据是否存在Base64编码;
103、当待解析的混淆数据存在Base64编码时,对待解析的混淆数据中的Base64编码部分进行Base64解码,并得到第一解码后的混淆数据;
104、对第一解码后的混淆数据进行结构解析,以将第一解码后的混淆数据解析为若干段子混淆数据;
105、对若干段子混淆数据进行混淆解析并得到目标解析数据。
在本申请实施例中,通过对待解析的混淆数据中的Base64编码部分进行Base64解码,可得到第一解码后的混淆数据,进而可对第一解码后的混淆数据进行结构解析,进而可将第一解码后的混淆数据解析为若干段子混淆数据,最终可对若干段子混淆数据进行混淆解析并得到目标解析数据。
在本申请实施例中,作为一种可选的实施方式,步骤105:对若干段子混淆数据进行混淆解析并得到目标解析数据,包括子步骤:
确定若干段子混淆数据的混淆方式;
根据若干段子混淆数据的混淆方式对若干段子混淆数据进行逆向解码,并得到目标解析数据。
在本可选的实施方式中,通过确定若干段子混淆数据的混淆方式,可根据若干段子混淆数据的混淆方式对若干段子混淆数据进行逆向解码,并得到目标解析数据。
在本申请实施例中,作为一种可选的实施方式,根据若干段子混淆数据的混淆方式对若干段子混淆数据进行逆向解码,包括:
当对若干段子混淆数据中的第一子混淆数据解码并得到第一解析数据后,判断若干段子混淆数据中的第二子混淆数据是否包含第一子混淆数据;
当第二子混淆数据包含第一子混淆数据时,将第一解析数据替换第二子混淆数据中的第一子混淆数据;
根据第二子混淆数据的混淆方式对第二子混淆数据中未解析部分进行逆向解码,并得到目标解析数据。
在本可选的实施方式,可将第一解析数据替换包括第一子混淆数据的第二子混淆数据子中的第一子混淆数据,进而对第二子混淆数据进行解析。
在本申请实施例中,作为一种可选的实施方式,步骤104:对第一解码后的混淆数据进行结构解析,以将第一解码后的混淆数据解析为若干段子混淆数据,包括子步骤:
根据正则表达式匹配第一解码后的混淆数据中的分层符号,并根据匹配结果生成若干段子混淆数据。
在本可选的实施方式中,根据正则表达式可匹配第一解码后的混淆数据中的分层符号,进而可根据匹配结果生成若干段子混淆数据。
示例性地,假设第一解码后的混淆数据为(①((②)③(④))(⑤(⑥)⑦)⑧),其中,带‘圈’的数字表示一段代码,且分层符号为“()”,这样一来,根据正则表达式(?<rec>\((?:[^()]++|(?&rec))*\))可匹配分层符号“()”,进而将(①((②)③(④))(⑤(⑥)⑦)⑧)分为“(②)”,“(④)”,“((②)③(④))”,“(⑥)”,“(⑤(⑥)⑦)”,“(①((②)③(④))(⑤(⑥)⑦)⑧)”这几段子混淆数据。
在本申请实施例中,作为一种可选的实施方式,在步骤:根据正则表达式匹配第一解码后的混淆数据中的分层符号之前,步骤104:对第一解码后的混淆数据进行结构解析,以将第一解码后的混淆数据解析为若干段子混淆数据,还包括:
判断第一解码后的混淆数据的外层是否存在分层符号;
当第一解码后的混淆数据的外层是不存在分层符号时,在第一解码后的混淆数据的外层增加分层符号。
在本可选的实施方式中,通过增加分层符号,可使得正则表达式能够正常匹配第一解码后的混淆数据的分层符号。
在申请实施例中,可选地,待解析的混淆数据为运行于命令行外壳程序和脚本环境中的代码。
在本可选的实施方式中,待解析的混淆数据为运行于命令行外壳程序和脚本环境中的代码,与现有技术相比,本可选的实施方式的运行于命令行外壳程序和脚本环境中的代码不需要必须从PowerShell.exe进程和cmd.exe进程获取,而可以通过WScript、CScript、MShta、WMI等方式获取,进而可以提高检测范围和解码精确度。而现有技术中的现有技术需要利用Hook机制监控目标Office文档运行时的PowerShell.exe进程和cmd.exe进程,进而获取命令参数,对命令参数进行正则化匹配处理,获得初步去混淆的PowerShell代码,分析初步去混淆的PowerShell代码的混淆特征,并根据混淆特征对初步去混淆的PowerShell代码进行解混淆,最终获取原始PowerShell代码。换而言之,现有技术只能对通过PowerShell.exe和cmd.exe进程获取的代码进行解码,而无法处理通过WScript、CScript、MShta、WMI等方式获取的代码,进而具有检测范围小,恶意代码检测精度低的缺点。
在本申请实施例中,作为一种可选的实施方式,若干段子混淆数据的混淆方式至少为大小写混淆、字符串串联混淆、字符串格式化混淆、字符串替换混淆中的一种。
本可选的实施方式能够根据大小写混淆、字符串串联混淆、字符串格式化混淆、字符串替换混淆中的一种混淆方式逆向解析代码,最终得到目标解析数据。
示例性地,如表1所示,若干段子混淆数据的混淆方式为表1中的一种混淆方式。
如表1所示,当确定出子混淆数据的混淆方式后,就能够根据响应的解码方式对子混淆数据进行逆向解析,最终得到目标解析数据。
实施例二
请参阅图2,图2是本申请实施例公开的一种数据反混淆装置的结构示意图。如图2所示,本申请实施例的装置包括:
接收模块201,用于接收待解析的混淆数据;
第一判断模块202,用于判断待解析的混淆数据是否存在Base64编码;
第一解码模块203,用于当第一判断模块判断出待解析的混淆数据存在Base64编码时,对待解析的混淆数据中的Base64编码部分进行Base64解码,并得到第一解码后的混淆数据;
第二解码模块204,用于对第一解码后的混淆数据进行结构解析,以将第一解码后的混淆数据解析为若干段子混淆数据;
第三解码模块205,用于对若干段子混淆数据进行混淆解析并得到目标解析数据。
本申请实施例的数据反混淆装置通过执行数据反混淆方法,能够通过对待解析的混淆数据中的Base64编码部分进行Base64解码,可得到第一解码后的混淆数据,进而可对第一解码后的混淆数据进行结构解析,进而可将第一解码后的混淆数据解析为若干段子混淆数据,最终可对若干段子混淆数据进行混淆解析并得到目标解析数据。
在本申请实施例中,作为一种可选的实施方式,第三解码模块205执行对若干段子混淆数据进行混淆解析并得到目标解析数据的具体方式为:
确定若干段子混淆数据的混淆方式;
根据若干段子混淆数据的混淆方式对若干段子混淆数据进行逆向解码,并得到目标解析数据。
在本可选的实施方式中,通过确定若干段子混淆数据的混淆方式,可根据若干段子混淆数据的混淆方式对若干段子混淆数据进行逆向解码,并得到目标解析数据。
在本申请实施例中,作为一种可选的实施方式,第三解码模块205包括:
判断子模块,用于当对若干段子混淆数据中的第一子混淆数据解码并得到第一解析数据后,判断若干段子混淆数据中的第二子混淆数据是否包含第一子混淆数据;
替换子模块,用于当判断子模块判断出第二子混淆数据包含第一子混淆数据时,将第一解析数据替换第二子混淆数据中的第一子混淆数据;
解析子模块,用于根据第二子混淆数据的混淆方式对第二子混淆数据中未解析部分进行逆向解码,并得到目标解析数据。
在本可选的实施方式,可将第一解析数据替换包括第一子混淆数据的第二子混淆数据子中的第一子混淆数据,进而对第二子混淆数据进行解析。
在本申请实施例中,作为一种可选的实施方式,第二解码模块204执行对第一解码后的混淆数据进行结构解析,以将第一解码后的混淆数据解析为若干段子混淆数据的具体方式为:
根据正则表达式匹配第一解码后的混淆数据中的分层符号,并根据匹配结果生成若干段子混淆数据。
在本可选的实施方式中,根据正则表达式可匹配第一解码后的混淆数据中的分层符号,进而可根据匹配结果生成若干段子混淆数据。
示例性地,假设第一解码后的混淆数据为(①((②)③(④))(⑤(⑥)⑦)⑧),其中,带‘圈’的数字表示一段代码,且分层符号为“()”,这样一来,根据正则表达式(?<rec>\((?:[^()]++|(?&rec))*\))可匹配分层符号“()”,进而将(①((②)③(④))(⑤(⑥)⑦)⑧)分为“(②)”,“(④)”,“((②)③(④))”,“(⑥)”,“(⑤(⑥)⑦)”,“(①((②)③(④))(⑤(⑥)⑦)⑧)”这几段子混淆数据。
在本申请实施例中,作为一种可选的实施方式,本申请实施例的装置还包括:
第二判断模块,用于判断第一解码后的混淆数据的外层是否存在分层符号;
修正模块,用于当第二判断模块判断出第一解码后的混淆数据的外层是不存在分层符号时,在第一解码后的混淆数据的外层增加分层符号。
在本可选的实施方式中,通过增加分层符号,可使得正则表达式能够正常匹配第一解码后的混淆数据的分层符号。
在申请实施例中,可选地,待解析的混淆数据为运行于命令行外壳程序和脚本环境中的代码。
在本可选的实施方式中,待解析的混淆数据为运行于命令行外壳程序和脚本环境中的代码,与现有技术相比,本可选的实施方式的运行于命令行外壳程序和脚本环境中的代码不需要必须从PowerShell.exe进程和cmd.exe进程获取,而可以通过WScript、CScript、MShta、WMI等方式获取,进而可以提高检测范围和解码精确度。而现有技术中的现有技术需要利用Hook机制监控目标Office文档运行时的PowerShell.exe进程和cmd.exe进程,进而获取命令参数,对命令参数进行正则化匹配处理,获得初步去混淆的PowerShell代码,分析初步去混淆的PowerShell代码的混淆特征,并根据混淆特征对初步去混淆的PowerShell代码进行解混淆,最终获取原始PowerShell代码。换而言之,现有技术只能对通过PowerShell.exe和cmd.exe进程获取的代码进行解码,而无法处理通过WScript、CScript、MShta、WMI等方式获取的代码,进而具有检测范围小,恶意代码检测精度低的缺点。
在本申请实施例中,作为一种可选的实施方式,若干段子混淆数据的混淆方式至少为大小写混淆、字符串串联混淆、字符串格式化混淆、字符串替换混淆中的一种。
本可选的实施方式能够根据大小写混淆、字符串串联混淆、字符串格式化混淆、字符串替换混淆中的一种混淆方式逆向解析代码,最终得到目标解析数据。
示例性地,如表1所示,若干段子混淆数据的混淆方式为表1中的一种混淆方式。
如表1所示,当确定出子混淆数据的混淆方式后,就能够根据响应的解码方式对子混淆数据进行逆向解析,最终得到目标解析数据。
实施例三
请参阅图3,图3是本申请实施例公开的一种数据反混淆设备的结构示意图。如图3所示,本申请实施例的设备包括:
处理器301;以及
存储器302,配置用于存储机器可读指令,指令在由处理器301执行时执行本申请实施例一的数据反混淆方法。
本申请实施例的数据反混淆装置通过执行数据反混淆方法,能够通过对待解析的混淆数据中的Base64编码部分进行Base64解码,可得到第一解码后的混淆数据,进而可对第一解码后的混淆数据进行结构解析,进而可将第一解码后的混淆数据解析为若干段子混淆数据,最终可对若干段子混淆数据进行混淆解析并得到目标解析数据。
实施例四
本申请实施例公开一种存储介质,该存储介质存储有计算机程序,计算机程序被处理器执行时执行本申请实施例的数据反混淆方法。
本申请实施例的存储介质通过执行数据反混淆方法,能够通过对待解析的混淆数据中的Base64编码部分进行Base64解码,可得到第一解码后的混淆数据,进而可对第一解码后的混淆数据进行结构解析,进而可将第一解码后的混淆数据解析为若干段子混淆数据,最终可对若干段子混淆数据进行混淆解析并得到目标解析数据。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据反混淆方法,其特征在于,所述方法包括:
接收待解析的混淆数据;
判断所述待解析的混淆数据是否存在Base64编码;
当所述待解析的混淆数据存在Base64编码时,对所述待解析的混淆数据中的Base64编码部分进行Base64解码,并得到第一解码后的混淆数据;
对所述第一解码后的混淆数据进行结构解析,以将所述第一解码后的混淆数据解析为若干段子混淆数据;
对所述若干段子混淆数据进行混淆解析并得到目标解析数据。
2.如权利要求1所述的方法,其特征在于,所述对所述若干段子混淆数据进行混淆解析并得到目标解析数据,包括:
确定所述若干段子混淆数据的混淆方式;
根据所述若干段子混淆数据的混淆方式对所述若干段子混淆数据进行逆向解码,并得到所述目标解析数据。
3.如权利要求2所述的方法,其特征在于,所述根据所述若干段子混淆数据的混淆方式对所述若干段子混淆数据进行逆向解码,包括:
当对所述若干段子混淆数据中的第一子混淆数据解码并得到第一解析数据后,判断所述若干段子混淆数据中的第二子混淆数据是否包含所述第一子混淆数据;
当所述第二子混淆数据包含所述第一子混淆数据时,将第一解析数据替换所述第二子混淆数据中的所述第一子混淆数据;
根据所述第二子混淆数据的混淆方式对所述第二子混淆数据中未解析部分进行逆向解码,并得到所述目标解析数据。
4.如权利要求1所述的方法,其特征在于,所述对所述第一解码后的混淆数据进行结构解析,以将所述第一解码后的混淆数据解析为若干段子混淆数据,包括:
根据正则表达式匹配所述第一解码后的混淆数据中的分层符号,并根据匹配结果生成所述若干段子混淆数据。
5.如权利要求4所述的方法,其特征在于,所述根据正则表达式匹配所述第一解码后的混淆数据中的分层符号之前,所述对所述第一解码后的混淆数据进行结构解析,以将所述第一解码后的混淆数据解析为若干段子混淆数据,还包括:
判断所述第一解码后的混淆数据的外层是否存在所述分层符号;
当所述第一解码后的混淆数据的外层是不存在所述分层符号时,在所述第一解码后的混淆数据的外层增加所述分层符号。
6.如权利要求1所述的方法,其特征在于,所述待解析的混淆数据为运行于命令行外壳程序和脚本环境中的代码。
7.如权利要求1所述的方法,其特征在于,所述若干段子混淆数据的混淆方式至少为大小写混淆、字符串串联混淆、字符串格式化混淆、字符串替换混淆中的一种。
8.一种数据反混淆装置,其特征在于,所述装置包括:
接收模块,用于接收待解析的混淆数据;
第一判断模块,用于判断所述待解析的混淆数据是否存在Base64编码;
第一解码模块,用于当第一判断模块判断出所述待解析的混淆数据存在Base64编码时,对所述待解析的混淆数据中的Base64编码部分进行Base64解码,并得到第一解码后的混淆数据;
第二解码模块,用于对所述第一解码后的混淆数据进行结构解析,以将所述第一解码后的混淆数据解析为若干段子混淆数据;
第三解码模块,用于对所述若干段子混淆数据进行混淆解析并得到目标解析数据。
9.一种数据反混淆设备,其特征在于,所述设备包括:
处理器;以及
存储器,配置用于存储机器可读指令,所述指令在由所述处理器执行时执行如权利要求1-7任一项所述的数据反混淆方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如权利要求1-7任一项所述的数据反混淆方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010955809.5A CN112084498B (zh) | 2020-09-11 | 2020-09-11 | 数据反混淆方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010955809.5A CN112084498B (zh) | 2020-09-11 | 2020-09-11 | 数据反混淆方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112084498A true CN112084498A (zh) | 2020-12-15 |
CN112084498B CN112084498B (zh) | 2024-03-12 |
Family
ID=73736768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010955809.5A Active CN112084498B (zh) | 2020-09-11 | 2020-09-11 | 数据反混淆方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084498B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3012763A1 (en) * | 2014-10-24 | 2016-04-27 | Thomson Licensing | Control flow graph flattening device and method |
CN108804921A (zh) * | 2018-05-29 | 2018-11-13 | 中国科学院信息工程研究所 | 一种PowerShell代码的去混淆方法及装置 |
CN109033764A (zh) * | 2017-06-09 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 反混淆处理方法及终端、计算机设备 |
-
2020
- 2020-09-11 CN CN202010955809.5A patent/CN112084498B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3012763A1 (en) * | 2014-10-24 | 2016-04-27 | Thomson Licensing | Control flow graph flattening device and method |
CN109033764A (zh) * | 2017-06-09 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 反混淆处理方法及终端、计算机设备 |
CN108804921A (zh) * | 2018-05-29 | 2018-11-13 | 中国科学院信息工程研究所 | 一种PowerShell代码的去混淆方法及装置 |
Non-Patent Citations (1)
Title |
---|
林锋等: "一种基于多视角特征融合的 Webshell 检测方法", 《研究与开发》, no. 6, pages 125 - 132 * |
Also Published As
Publication number | Publication date |
---|---|
CN112084498B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110119643B (zh) | 二维码生成方法及装置、二维码识别方法及装置 | |
US10679088B1 (en) | Visual domain detection systems and methods | |
CN105653949B (zh) | 一种恶意程序检测方法及装置 | |
CN109977976B (zh) | 可执行文件相似度的检测方法、装置和计算机设备 | |
CN114936371B (zh) | 基于三通道可视化和深度学习的恶意软件分类方法及系统 | |
CN111241496B (zh) | 确定小程序特征向量的方法、装置和电子设备 | |
CN110704608A (zh) | 文本主题生成方法、装置和计算机设备 | |
Hilal et al. | A hybrid intelligent text watermarking and natural language processing approach for transferring and receiving an authentic english text via internet | |
CN113268453A (zh) | 日志信息压缩存储方法及装置 | |
EP2869210A1 (en) | Document processing system, electronic document, document processing method, and program | |
CN110162729B (zh) | 建立浏览器指纹以及识别浏览器类型的方法、装置 | |
CN112084498A (zh) | 数据反混淆方法、装置、设备及存储介质 | |
CN110032838B (zh) | 一种脚本文件加固方法、装置及设备 | |
CN113360902B (zh) | shellcode的检测方法、装置、计算机设备及计算机存储介质 | |
CN115982675A (zh) | 文档处理方法、装置、电子设备以及存储介质 | |
CN108108267B (zh) | 数据的恢复方法和装置 | |
CN103699841B (zh) | 拦截编码绕过的方法及设备 | |
CN109218284B (zh) | Xss漏洞检测方法及装置、计算机设备及可读介质 | |
CN114741692A (zh) | 一种后门流量识别的方法、系统、设备及可读存储介质 | |
CN113283215B (zh) | 一种基于utf-32编码的数据混淆方法及装置 | |
US11816242B2 (en) | Log compression and obfuscation using embeddings | |
CN116074081B (zh) | Dga域名检测方法、装置、设备及存储介质 | |
CN114500053B (zh) | 一种代码注入检测方法、装置、电子设备及可读存储介质 | |
CN112202822B (zh) | 数据库注入检测方法、装置、电子设备及存储介质 | |
US20220156365A1 (en) | Method to Secure a Software Code |
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 |