Research on mimetic active defense in network security

中文:网络安全中的拟态主动防御研究

​ 一直以来,我以为所谓的拟态防御就是通过机器学习研究人与人之间的动态行为,但了解了网上一些有关拟态防御的文章和比赛原题后,发现与我想的有很大出入,863计划中的“网络空间拟态防御理论及核心方法”,里边研发人员所提出的动态异构冗余体制架构,将未知的转向已知的一个过程,再转向概率极小事件,也就是 unknown+unknown+unknown=>uncertain threat,通过这种架构,系统不再依赖于单一的静态防御,而是借助动态变化来让攻击者难以找到可利用的固定漏洞。系统通过持续改变自身的运行环境,包括操作系统、软件版本、网络协议甚至硬件架构等,增加了攻击的难度。每一个“unknown”代表系统中的不同维度的不确定性,通过多样性和随机性的引入,逐渐将未知风险控制在一定范围内,并最终将攻击成功的概率压缩至极低水平,这在打攻防的时候会有很大优处,有一定的概率渗透不进系统

​ 有个非常强的逻辑性就是,如果我们在系统中引入多个后端,并且每次请求随机分配到不同的后端,那么攻击者无法确定每次请求的响应是否来自同一个服务器或执行环境,这一点在以前打学校的过程中就搭建过类似的靶场,感兴趣的等以后有时间了出篇文章复现下其中的情况,具体说明就是攻击者需要按照特定的顺序访问API才能获取到想要的数据,但由于后端是动态变化的,并且请求的顺序会被记录,攻击者必须确保每一步都发往正确的后端,否则就无法继续下一步,虽说有点脑残,但是实践中的现象表明,如果存在多个异构后端,那么每次请求都会随机分配到其中一个,并且导致某些请求的响应并不正确,攻击者必须通过重复尝试确保发送到正确的后端

​ 在攻击过程中,攻击者既暴露了自己的行为,又逐渐显露出自己想要攻击的目标是什么,并且在攻击过程中,多个后端的不同回显会导致系统自动检测出不一致的行为,并进行报警,长亭的雷池社区waf就有类似的功能,这种机制不仅可以让攻击者的行为更加透明化,还通过逐步缩小攻击者成功的窗口,将威胁锁定在极低的概率区间

这里简单写了一份Nginx配置文件供大家参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
http {
upstream test_backend {
server test-server-1.icecliffs.cn;
server test-fake-server-2.icecliffs.cn;
server test-server-3.icecliffs.cn;

server test-fake-server-2.icecliffs.cn;
server test-server-3.icecliffs.cn;
}

server {
listen 80;
server_name www.icecliffs.cn;

location / {
proxy_pass http://test_backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Cache-Control no-store;
}
}
}

搭配雷池WAF食用更佳(大概,也许?可能?运用jumping不等式,$主=6$)

​ 同理我们还可以设想一个场景,高德地图、百度地图、腾讯地图等地图软件都是可被入侵的对象,如果在短时间内入侵上述地图软件,多路委派错误的导航,可造成一定的交通瘫痪,其危害程度不亚于寻呼机爆炸事件

Reference

Author

IceCliffs

Posted on

2024-10-03

Updated on

2024-11-19

Licensed under

Comments