一种基于自顶向下的ApacheLog4j2远程代码执行语句构造方法技术

技术编号:36692987 阅读:8 留言:0更新日期:2023-02-27 20:02
本发明专利技术提供一种基于自顶向下的Apache Log4j2远程代码执行语句构造方法,在进行网络安全攻防研究时,需要生成大量存在混淆数据的Apache Log4j2远程代码执行语句。本发明专利技术基于自顶向下、逐步混淆等方法,能够为单条Apache Log4j2远程代码执行语句生成大量的混淆语句。Log4j2远程代码执行语句生成大量的混淆语句。Log4j2远程代码执行语句生成大量的混淆语句。

【技术实现步骤摘要】
一种基于自顶向下的Apache Log4j2远程代码执行语句构造方法


[0001]本专利技术属于网络安全
,涉及远程命令执行注入领域,具体地涉及一种基于自顶向下的Apache Log4j2远程代码执行语句构造方法。

技术介绍

[0002]2021年12月9日,Apache Log4j2远程代码执行漏洞(CVE

2021

44228)公开。Apache Log4j从2.0

beta9到2.15.0(不包括安全版本2.12.2,2.12.3,和2.3.1)的全版本都存在远程代码执行漏洞,攻击者使用“${}”标识符,触发JNDI注入漏洞,可在未授权的情况下远程执行代码,获得服务器控制权限。该漏洞危害程度高、利用难度低、影响范围大。
[0003]目前国内外对于Apache Log4j2远程代码执行漏洞的应急方法大体相近,大都建议更新Log4j2至2.15.1

rc2及以上的版本,进而从根本上防御Apache Log4j2远程代码执行漏洞。同时对于部分暂时无法更新Log4j2版本的用户,大都采用部署使用第三方防火墙产品的方式进行安全防护,并更新WAF、RASP规则等,实时监测网络流量,匹配过滤恶意请求。
[0004]但是由于Apache Log4j2远程代码执行漏洞特性,Web应用防火墙规则仍然存在缺陷。因而构建多样化的Apache Log4j2远程代码执行漏洞的有效荷载,对Web应用防火墙规则优化存在重要意义。
专利
技术实现思路

[0005]本专利技术的目的在于针对现有技术的不足,提供了一种基于自顶向下的Apache Log4j2远程代码执行语句构造方法。
[0006]本专利技术的目的是通过如下技术方案实现的:
[0007]一种基于自顶向下的Apache Log4j2远程代码执行语句构造方法,包括如下步骤:
[0008]步骤一:构造数据混淆规则集G,包括等价替换规则集G
E
、敏感字符替换规则集G
c
和无意义数据集G
U
,即G=(G
E
,G
c
,G
U
);
[0009]步骤二:将Apache Log4j2远程代码执行语句S分为4个部分:标识符“${}”、jndi属性名、jndi可访问服务、访问服务器IP地址,分别命名为S
L
,S
A
,S
AS
和S
IP
,即S={S
L
,S
A
,S
AS
,S
IP
};
[0010]步骤三:利用数据混淆规则集G,对S
A
、S
AS
和S
IP
进行自顶向下的逐层细粒度混淆,依次得到对S
A
、S
AS
和S
IP
细粒度混淆完成的语句T
A
、T
AS
和T
IP
,最终获得细粒度混淆完成的Apache Log4j2远程代码执行语句T={S
L
,T
A
,T
AS
,T
IP
}。
[0011]进一步地,利用数据混淆规则集G,对S
A
、S
AS
和S
IP
进行自顶向下的逐层细粒度混淆时,同时利用等价替换规则集G
E
、敏感字符替换规则集G
c
和无意义数据集G
U
进行逐层细粒度混淆。
[0012]进一步地,所述等价替换规则集合G
E
,用于在Apache Log4j2远程代码执行语句
中,生成多样化的恶意数据;
[0013]所述敏感字符替换规则集合G
c
,用于Apache Log4j2远程代码执行语句中敏感字符的替换;
[0014]所述无意义数据集合G
U
,用于增加Apache Log4j2远程代码执行语句逻辑复杂性。
[0015]进一步地,所述步骤三中,由S
A
得到细粒度混淆完成的语句T
A
的子步骤如下:
[0016](1)首先对S
A
随机分割成n个字符长度不小于1的字符串集合A,即A={A
i
|=1,2,3,

,n},其中,n<len(S
A
);
[0017](2)根据等价替换规则集G
E
,在A中的每个元素的A
i
中插入可用的恶意数据,生成新的字符串集合A
E
,即A
E
={A
Ei
|=1,2,3,

,n};
[0018](3)根据敏感字符替换规则集G
c
,对A
E
中的每个元素的A
Ei
中的敏感字符进行替换,降低A
R
的恶意程度,生成新的字符串集合A
C
,即A
C
={A
Ci
|=1,2,3,

,n};
[0019](4)根据无意义数据集G
U
,在A
C
中的每个元素的A
Ci
插入可用的恶意数据,生成新的字符串集合A
U
,即A
U
={A
Ui
|=1,2,3,

,n};
[0020](5)最后将字符串集合A
U
,拼接生成对S
A
的细粒度混淆完成的字符串T
A

[0021]由S
AS
到T
AS
、由S
IP
到T
IP
的子步骤与S
A
得到T
A
相同。
[0022]进一步地,根据等价替换规则集G
E
,在A中的每个元素的A
i
中插入可用的恶意数据时,选用多种等价替换规则逐层叠加插入恶意数据,生成新的字符串集合A
E

[0023]进一步地,根据无意义数据集G
U
,在A
C
中的每个元素的A
Ci
插入可用的恶意数据,选择多种无意义数据插入,生成新的字符串集合A
U

[0024]与现有技术相比,本专利技术具有如下有益效果:
[0025](1)字符串级别的处理无法支持对Apache Log4j2远程代码执行语句细粒度的分析混淆,本专利技术使用自顶向下的思想方法,将Apache Log4j2远程代码执行语句逐步分解,逐本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于自顶向下的Apache Log4j2远程代码执行语句构造方法,其特征在于,包括如下步骤:步骤一:构造数据混淆规则集G,包括等价替换规则集G
E
、敏感字符替换规则集G
c
和无意义数据集G
U
,即G=(G
E
,G
c
,G
U
);步骤二:将Apache Log4j2远程代码执行语句S分为4个部分:标识符“${}”、jndi属性名、jndi可访问服务、访问服务器IP地址,分别命名为S
L
,S
A
,S
AS
和S
IP
,即S={S
L
,S
A
,S
AS
,S
IP
};步骤三:利用数据混淆规则集G,对S
A
、S
AS
和S
IP
进行自顶向下的逐层细粒度混淆,依次得到对S
A
、S
AS
和S
IP
细粒度混淆完成的语句T
A
、T
AS
和T
IP
,最终获得细粒度混淆完成的Apache Log4j2远程代码执行语句T={S
L
,T
A
,T
AS
,T
IP
}。2.根据权利要求1所述的基于自顶向下的Apache Log4j2远程代码执行语句构造方法,其特征在于,利用数据混淆规则集G,对S
A
、S
AS
和S
IP
进行自顶向下的逐层细粒度混淆时,同时利用等价替换规则集G
E
、敏感字符替换规则集G
c
和无意义数据集G
U
进行逐层细粒度混淆。3.根据权利要求1所述的基于自顶向下的Apache Log4j2远程代码执行语句构造方法,其特征在于,所述等价替换规则集合G
E
,用于在Apache Log4j2远程代码执行语句中,生成多样化的恶意数据;所述敏感字符替换规则集合Gc,用于Apache Log4j2远程代码执行语句中敏感字符的替换;所述无意义数据集合G
U
,用于增加Apache Log4j2远程代码执行语句逻辑复杂性。4.根据权利要求2所述的基于自顶向下的Apache Log4j2远...

【专利技术属性】
技术研发人员:吕萍刘智扬王余谭宇辰葛方隽魏启超
申请(专利权)人:杭州中尔网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1