WebShell脚本检测机器学习一_从文件名判断可能属于webshell文件的是(1)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
img

正文

1.2 特征码匹配法
特征码匹配法目前普遍采用的一种静态检测方法,通过对webshell文件进行总结,提取出常见的特征码、特征值、威胁函数形成正则,对整个网页文件进行扫描。特征码匹配的方式优点也是十分突出,能对webshell后门精细化分类具备高可解释行且逻辑结构简单,便于在苏宁安全平台的工程化部署。同时缺点也很明显,对安全专家的知识广度和深度高度依赖,且只能识别已知的webshell模式,同样对混淆加密webshell效果有限。对安全人员来说,维护起来极其繁琐,拆西墙补西墙,陷入不断打补丁的死循环,针对大文件对性能消耗较高。厂家更多情况下是采用正则先做一遍筛选,命中严格正则的直接定性,命中宽泛正则的进一步采取其他分析方式。
rule=r’(array_map[\s\n]{0,20}(.{1,5}(eval|assert|ass\x65rt).{1,20}KaTeX parse error: Undefined control sequence: \s at position 57: …ll\_user\_func[\̲s̲\n]{0,25}(.{0,2…(GET|POST|REQUEST).{0,15})’
rule=’(KaTeX parse error: Undefined control sequence: \s at position 29: …QUEST)[.{0,15}]\̲s̲{0,10}(\s{0,10}
(GET|POST|REQUEST).{0,15})’
rule=’((KaTeX parse error: Undefined control sequence: \w at position 48: …ER)([[’"]{0,1})\̲w̲{1,12}([’"]{0,1…((GET|POST|REQUEST|SESSION|SERVER)([[’“]{0,1})\w{1,12}([’”]{0,1}])|\w{1,10}))[\s\n]{0,5}))’
rule=’\s{0,10}=\s{0,10}[{@]{0,2}(KaTeX parse error: Undefined control sequence: \s at position 142: …((eval|assert)[\̲s̲|\n]{0,30}([\s|…((
(GET|POST|REQUEST|SESSION|SERVER)([[’“]{0,1})[\w()]{0,15}([’”]{0,1}]))|\w{1,10}))\s{0,5}))’
rule=’((eval|assert)[\s|\n]{0,30}((gzuncompress|gzinflate(){0,1}[\s|\n]{0,30}base64_decode.{0,100})’
rule=’\s{0,10}=\s{0,10}([{@]{0,2}\{0,1}KaTeX parse error: Undefined control sequence: \s at position 144: …e)(*once){0,1}[\̲s̲\*]+["|’]+[0-9A…(*(GET|POST|REQUEST|SERVER)([[’“]{0,1})\w{0,8}([’”]{0,1}])|[\w]{1,15}))[’“]{0,1})’
rule=’\s{0,10}=\s{0,10}([{@]{0,2}KaTeX parse error: Undefined control sequence: \s at position 146: …(preg\_replace[\̲s̲\n]{0,10}([\s\n…[a-zA-Z_][\w”’[]]{0,15})\s{0,5},\s{0,5}.{0,40}($_(GET|POST|REQUEST|SESSION|SERVER)|str_rot13|urldecode).{0,30})’

1.3 语义分析
语法分析可以看作是特征匹配的抽象升级版。 其根据脚本语言的编译实现方式,对代码进行清洗,抽取函数、变量、系统关键字等字符串单元,来实现危险函数的捕获。通常将源代码拆分后结构化为中间状态表示,再在抽象后状态的基础上进一步分析。相比特征正则匹配,可以做到更精细化的关联分析,在检出率和误报率上提升一大步。该方法要做到非常好的检出效果相对困难,实现复杂,对开发人员要求较高且十分耗时,性价比并不是很高。
Pecker Scanner检测工具就是基于语法的php文件webshell检测方法。该方法对检测文件代码进行清洗后,分析其变量、函数、字符串来实现关键危险函数的捕获,这样可以很好地解决漏报,但同时也存在大量误报。

1.4 统计特征检测
针对某些变形混淆的webshell,代码在编码风格上会明显有别于正常脚本,同时会表现出特殊的统计特征。NeoPI就是一个典型的代表,它通过多种统计方法来检测文本/脚本文件中的混淆和加密内容,辅助检测隐藏的webshell。进一步剖析,NeoPI通过计算下属5中特征来标注可疑文件:
字符级重合指数(LanguageIC): 字符重合指数越低,说明代码越混乱,有可能被加密或混淆过
字符级信息墒(Entropy):度量代码中所使用字符的不确定性,可用gini系数来代替使计算更高效,二者具备相似性质(跟上面的字符重合指数也具有相似的效果)
最长单词长度(LongestWord):最长的字符串一般是base64编码,存在被编码或被混淆的可能
恶意代码签名特征(SignatureNasty):统计代码中包含的恶意代码片段个数
压缩特征(Compression):计算代码文件压缩比
上述5种类型的特征重点在于识别混淆代码,但正常代码被base64编码后也会被识别为高风险webshell文件,产生一系列误报,同时对未经过编码和混淆的webshell代码不敏感。在实际应用中可以考虑对恶意代码片段的正则进行完善,利用gini系数来代替信息墒等方式对其进行改进。另一方面,我们也可以围绕上述特征提取思想来挖掘出更多有效特征,与机器学习结合,以取得更佳效果。

​如果想了解更多安全知识,或者有问题,都可以关注以下公众号,私信我:
在这里插入图片描述

本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。

最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。

最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。

学习路线图

其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。

相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。

网络安全工具箱

当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。

项目实战

最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

面试题

归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

628615)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值