最近这股市不要脸的涨,实在无聊,又不想打游戏,所以年后动手做了一套方案,用来自动化防护所有节点。

说自动化呢,因为实现了模糊匹配、所以对很多未知事件是可以做到自动化判断的,并且实践几天下来,也符合预期了,所有节点都能做到0.0x秒内自动响应。

 

大体说下思路。

我还是先跑个题吧。本人最tm反感的就是各种宗教里面各种神对人类的“考验”。如果你他妈的能未卜先知,那你为啥要脱裤子放屁来考验?如果你他妈的没法预判,你又凭什么自称神?

跑题完了。我不是神,所以我无法预判什么人什么时候做什么。我也相信有生之年都不会有这样的技术出现。所以,有生之年能提到想到看到的所有“智能”、“自动”、“云计算”、“大数据”等等一切高大上的词汇,事实上都基于某些事实来进行推断和行为。

简单的说,任何防御系统、防御方案事实上都是后知后觉的,只有当恶意行为发生之后才有可能判断出。

 

具体到这次的方案,也是根据几年的数据收集,做了大部分恶意行为的特征归纳,细节就不透漏了。但凡做过较多数据的梳理,大概也会有所得的。

 

本套方案根据程序文件以及运行位置不同,划分为几个部分:

1,日志收集。这部分我做了纯异步模式,测试的每秒钟几千条数据并且全部入库的话是没压力的,在每秒4到6千条数据的时候,cpu使用率不到5%,这部分全程无尿点(阻塞)。

2,行为分析调度中心。这部分我搞了一套类似负载均衡的东西,分析中心只做任务调度与分发,将任务分发给工作器,而自身不参与计算。

3,工作器。行为分析代码在这里运行,接受任务,反馈分析结果。工作器可以动态插拔,所以处理能力没有上限,忙不过来我就点两下鼠标再开几个工作器,随时动态扩容。当然后续如果需要的话,也可以由代码监测,然后自动扩容。

4,管理中心。gui界面,浏览日志,做出操作,也可以对某个服务器节点直接发命令。工作器的匹配机制可以在管理中心生成,后续有可能可以直接发布给工作器。

5,受控端。运行于每个成员节点,接受来自于2的自动化命令,也可以接受来自于4的人工命令,反馈执行结果。

 

所有部分都能跨平台运行,不过管理中心没在非windows试过,但用的qt底层库,所以应该没问题。

整套架构下来,在遇到超大流量的时候,1和3的压力会较大,1还好,仅仅是日志收集方面的,并没有计算压力,测试下来,即便是垃圾vps的性能也足够。而3是需要较大算力的,所以提前把这部分做成动态插拔,也就没有后顾之忧了。

剩下的就是一些细节了,我不太懂怎么搞界面才能好看,所以丑的很,不过不重要了,只有管理中心有界面,家丑不外扬……

像windows平台我还没搞封IP的代码,但我这暂时也用不上,要做的话也就几分钟,有需要再说了……

作者 听涛

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注