Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >机器学习在web攻击检测中的应用实践

机器学习在web攻击检测中的应用实践

作者头像
两只橙
发布于 2018-04-27 09:25:20
发布于 2018-04-27 09:25:20
1.7K00
代码可运行
举报
文章被收录于专栏:深度学习深度学习
运行总次数:0
代码可运行

一、背景

通俗地讲,任何一个的机器学习问题都可以等价于一个寻找合适变换函数的问题。例如语音识别,就是在求取合适的变换函数,将输入的一维时序语音信号变换到语义空间;而近来引发全民关注的围棋人工智能AlphaGo则是将输入的二维布局图像变换到决策空间以决定下一步的最优走法;相应的,人脸识别也是在求取合适的变换函数,将输入的二维人脸图像变换到特征空间,从而唯一确定对应人的身份。

在web应用攻击检测的发展历史中,到目前为止,基本是依赖于规则的黑名单检测机制,无论是web应用防火墙或ids等等,主要依赖于检测引擎内置的正则,进行报文的匹配。虽说能够抵御绝大部分的攻击,但我们认为其存在以下几个问题:

(1)规则库维护困难,人员交接工作,甚至时间一长,原作者都很难理解当初写的规则,一旦有误报发生,上线修改都很困难。

(2)规则写的太宽泛易误杀,写的太细易绕过。

例如一条检测sql注入的正则语句如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Stringinj_str = “’|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|;|or|-|+|,;

一条正常的评论,“我在selected买的衬衫脏了”,遭到误杀。

(3)正则引擎严重影响性能,尤其是正则条数过多时,比如我们之前就遇到kafka中待检测流量严重堆积的现象。

那么该如何解决以上问题呢?尤其在大型互联网公司,如何在海量请求中又快又准地识别出恶意攻击请求,成为摆在我们面前的一道难题。

近来机器学习在信息安全方面的应用引起了人们的大量关注,我们认为信息安全领域任何需要对数据进行处理,做出分析预测的地方都可以用到机器学习。本文将介绍携程信息安全部在web攻击识别方面的机器学习实践之路。

二、恶意攻击检测系统架构介绍

图1: 攻击检测系统架构第一版

首先我们简单介绍一下携程攻击检测系统的最初架构,如上图1所示,我们在流量进入规则引擎(这里指正则匹配引擎)之前,先用白名单过滤掉大于97%的正常流量(我们认为如http://ctrip.com/flight?Search?key=value,只要value参数值里面没有英文标点和控制字符的都是“正常流量”,另外还有携程的出口ip流量等等)。

剩下的3%流量过正则规则引擎,如果结果为黑(恶意攻击),就会发到漏洞自动化验证系统hulk(hulk介绍可以参考https://zhuanlan.zhihu.com/p/28115732),例如调用sqlmap去重放流量,复验攻击者能否真的攻击成功。

目前该系统我们改进到了第五版,架构如下图2,其中最重要的改变是在规则引擎之前加入了spark机器学习引擎,目前使用的是spark mllib库来建模和预测。如果机器学习引擎为黑,则会继续抛给正则规则引擎做二次检查,若复验依然为黑,则会抛给hulk漏洞验证系统。

图2:攻击检测系统架构最新版

这么做带来了以下好处:

(1)机器学习的处理速度比较快,能够过滤掉大部分流量再扔给正则引擎。解决了过去正则导致kafka堆积严重的问题(即使是原始流量中的3%也存在此问题)。

(2)可以对比正则引擎和机器学习引擎的结果,互相查缺补漏。例如我们可以发现正则的漏报或误报,手工修改或补充已有的正则库。若是机器学习误报,白流量识别为黑,首先想到的是否黑样本不纯,另外就是特征提取有问题。

(3)如果机器学习漏报,那怎么办呢?按图2的流程我们根本不知道我们漏报了哪些。最直接的想法就是并列机器学习引擎和正则引擎,来查缺补漏,但这样违背了我们追求效率的前提。

最近的一个版本我们加入了动态ip黑名单,时间窗口内多次命中的的高风险ip重点关注,直接忽略storm白名单。在实践中,我们借鉴了此部分黑ip的流量来补充我们的学习样本(黑ip的流量99%以上都是攻击流量),我们发现了referer,ua注入等,其他还发现了其他逻辑攻击的痕迹,比如订单遍历等等。

有人可能会问,根据上面的架构,如果对方拿新流出的攻击poc来攻击你,只攻击1次,那不是检测不出来了么?首先如果poc中还是有很多的特殊英文标点和敏感单词的话,我们还是能检测出来的;另一种情况如果真的漏了,那怎么办,这时候只能人肉写新的正则加入检测逻辑中,如图2中我们加入了“规则引擎(新上规则)”直接进行检测,经过不断的打标签吐到es日志,新型攻击的日志又可以作为学习用的黑样本了,如此循环。

加入机器学习前后的效果对比:kafka消费流量:1万/分钟->400万+,白名单之后的检测量:1万/分钟->10万+。

我们设置了一分钟一个批次消费,每分钟有10万+数据从storm过来,只花了10秒钟左右处理完,所以如果我们缩短消费批次窗口,理论上还可以提高5-6倍的吞吐,如下图3。

图3:新架构下storm处理速度

我们先看一个机器学习的识别结果,如下图4:

图4:机器学习es记录日志

rule_result标签是正则的识别结果,由于当时我们没有添加struts2攻击的正则,但是由ES日志结果可知,机器学习引擎依然检测出了攻击。

介绍了完了架构,回归机器学习本身,下面将介绍如何建立一个web攻击检测的机器学习模型。而一般来讲,应用机器学习解决实际问题分为以下4个步骤:

(1)定义目标问题 (2)收集数据和特征工程 (3)训练模型和评估模型效果 (4)线上应用和持续优化

三、定义目标问题

核心的目标问题:

(2)二分类问题,预测流量是攻击或者正常

(2)漏报率必须<10%以上(在这里,我们认为漏报比误报问题更严重,误报我们还可以通过第二层的正则引擎去纠正)

模型预测速度必须快,例如knn最近邻这种带排序的算法被我们剔除在外

机器学习应用于信息安全领域,第一道难关就是标签数据的缺乏,得益于我们的ES日志中已有正则打上标签的真实生产流量,所以这里我们决定使用基于监督学习的二分类来建模。监督学习的目的是通过学习许多有标签的样本,然后对新的数据做出预测。当然也有人提出过无监督的思路,建立正常流量模型,不符合模型的都识别为恶意,比如使用聚类分析,本文不做进一步讨论。

没有一个机器学习模型可以解决所有的问题, 我们可以借鉴前人的经验,比如贝叶斯适用垃圾邮件识别,HMM适用语音识别。具体的算法对比可参考https://s3-us-west-2.amazonaws.com/mlsurveys/54.pdf 明确了我们需要达到的目标,下面开始考虑“收集数据和特征工程 ”,也是我们认为模型成败最关键的一步。

四、收集数据和特征工程

我们写段脚本,分别按天分时间段取ES黑白数据,并将其分开存储,再加上自研waf的告警日志,以及网上收集的poc,至此我们的训练原始材料准备好了 。另外特别需要注意的是:get请求和post请求我们分开提取特征,分开建模,至于为什么请读者自行思考。

一开始本地实验时,我是选用的python的sklearn库,训练样本黑白数据分别为10w+条数据,达到1比1的平衡占比。项目上线的时候,我们采用的是spark mllib来做的。本文为了介绍方便,还是以python+sklean来进行介绍。

再来聊聊“特征工程”。我们认为“特征工程”是机器模型中最重要的一部分,其更像是一门艺术,往往依赖于专家的“直觉”和专业领域经验,更甚者有人调侃机器学习其实就是特征工程。你能相信一个从来不看NBA的人建模出来的NBA总决赛预测结果模型么?

限于篇幅,这里主要介绍我们认为项目中比较重要的“特征工程”的步骤:特征提炼

核心需求:从训练数据中提取哪些有效信息,需要这些信息如何组织?

我们观察一下ES日志中攻击语句和正常语句的区别,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
攻击语句:flights.ctrip.com/Process/checkinseat/index?tpl_content=<?phpeval($_POST[c])?>&name=test404.php&dir=index/../../../..&current_dir=tpl
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
正常语句:flights.ctrip.com/Process/checkinseat/index?tpl_content=hello,world!

明显我们看到攻击语句里面最明显的特征是,含有eval, ../等字符、标点,而正常语句我们看到含有英文逗号,感叹号等等,所以我们可以将例如eval的个数列出来作为一个特征维度。在实际处理中我们忽略了uri,只取value参数中的值来提特征。比如上面的2条语句flights.ctrip.com/Process/checkinseat/index?tpl_content部分都被我们忽略了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def get_evil_eval(url):
   return len(re.findall("(eval)", url, re.IGNORECASE))

如果不存在value,例如是敏感目录猜测攻击,那怎么办,我们的做法是分开对待,剔除掉例如flights.ctrip.com等无效数据,取整个uri来提特征。

假设我们规定取5种特征,分别是script,eval,单引号,双引号,左括号的个数,那么上面攻击语句就转换为[0,1,0,0,2]

最后我们得到一个攻击语句的特征是5维的,打上标签label=1 ,正常流量label=0做区分。这样,一个请求就转换成一个1n的矩阵,m个训练样本就是mn的输入建模。

但是上线了第一版后,虽然消息队列消费速度大幅提升,识别率也基本都还可以,但我们还是放弃了这种正则匹配语句的特征提取方法,这里说下原因:

(1)这样用正则来提取特征,总会有遗漏的关键词,又会陷入查缺补漏的怪圈

(2)优化特征较麻烦,例如加上某个特征维度后,会增加误报,去掉后又会增加漏报

(3)预测的时候,还是要将请求语句过一遍正则,转化为数字向量特征,降低了引擎效率

我们得到了使用机器学习来做情感二分类的启发,查证了资料1 https://github.com/jeonglee/ML后,决定替换掉正则提取特征的方式,采用tfidf来提取特征。

我们认为本质上情感二分类和黑白流量分类是比较相似的问题,前者是给出一句话例如“Tom,you are not a good boy!”来判断是否正面评价,而我们的语句中没那么多正面或负面的情感词,更多的是英文标点和和一些疑似高危词语如select,那我们概念替换一下,高危英文标点是否就像是负面情感词,其他词就像是中性词,从而我们的问题就变成了二分类“中性语句和恶意语句”。

这里简单介绍下tfidf,更详尽的可以参考https://en.wikipedia.org/wiki/Tfidf

例如我们有1000条get请求语句,第一条语句共计10个单词,其中单引号有3个,from也有3个。1000条语句中有10条语句包含单引号,100条包含from,tfidf计算如下(在进行tfidf计算之前,我们需要对句子中的标点和特殊字符做处理,比如转为string类型,具体参考资料1):

计算结果:单引号的tfidf=0.587 > from的tfidf=0.3318

TFIDF的主要思想是:如果某个词或短语在一篇文章中出现的频率,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。这里和我们的大脑判断基本一致,单引号的tfidf值对比之下更大,比from更能代表一句话是否是攻击语句。

代码demo如下:

之所以取ngram_range={1,3},是因为我们想保存前后单词间的顺序关系作为特征的一部分,例如前面的“Tom,you are not a good boy!”中的一个维度特征是[not, a , good],然后计算得到这个“集合词”的tfidf 。当然你可以基于char来取特征,具体的参数取值宽度都需要实验来证明哪一种效果最好。至于去停用词,标点怎么转换等等,大家可以参考https://github.com/jeonglee/ML/blob/master/spark/NaiveBayes/src/main/java/WordParser.java,这里就不赘述。

(1)样本数据清洗

虽然我们已经明确了如何提取特征,建模貌似也ok了,这时我们问自己一个问题:训练数据覆盖率怎么样,原始训练数据的标签是否准确?如果我们本身的训练样本就不纯净,结果一定也不尽如人意。下面说一下我们在样本清洗中做过的工作:

(2)优化已有的检测正则:当打开white.txt和black.txt,我们肉眼观察了一下,发现不少的错误归类,所以说明我们的正则引擎本身就存在优化的需要。

(3)加入动态ip黑名单,收集其攻击日志,加入黑样本。经过我们观察,发现这种持续拿扫描器扫描的ip,其黑流量占比99%以上

(4)关于白样本,我们可以直接按时间段取原始流量作为白样本数据,因为毕竟白样本占镜像流量的99.99%以上

(5)样本去重,相同请求内容语句进行去重

(6)一些加密请求,根据参数名称,从样本中剔除

(7)自建黑词库,放到白样本去中去匹配是否命中词库内容,查找标签明显错误的样本。举个例子,建立一个黑词库[base64_decode, onglcontext, img script, struts2....],然后放到白样本里去查找匹配中的句子,剔除之。其实这种方法可应用的地方很多,例如旅游业的机器人客服,就可以用酒店的关键词去火车票的样本中去清洗数据,我们也是受此启发。

特征清洗大概占我们工作量的60%以上,也是不可避免的持续优化的过程,属于体力活,无法避免。

特征归一化:由于这里我们采取了tfidf,所以这里就没有使用归一化处理了,因为词频tf就带了防止偏向长句子的归一化效果。这里再提一下,如果用第一版正则取特征的方式就必须使用特征归一化,具体原因和归一化介绍请参考http://blog.csdn.net/leiting_imecas/article/details/54986045

五、训练模型和评估模型效果

初步评判sklearn训练模型很简单,这里我们交叉训练下,拿50%的数据训练,50%的数据做测试,看下效果是否符合预期。

如果此时交叉训练的结果不尽如人意,一般原因有3个,且一般是下列第一、二种原因导致偏离预期结果较远,我们认为算法只是锦上添花,特征工程和样本的质量才是准确率高低的关键。

(1)特征提取有问题,这个没办法,完全基于个人特定范围的知识领域经验 (2)训练样本有问题,错误标签较多,或者样本不平衡 (3)算法和选取的训练参数需要优化

前面2个都介绍过了,下面我们讲一下参数如何优化,这里我们介绍使用sklearn里面的GridSearchCV,其基本原理是系统地遍历多种参数组合,通过交叉验证确定最佳效果参数,参考官方使用示例http://scikit-learn.org/dev/modules/generated/sklearn.grid_search.GridSearchCV.html

交叉训练达到心理预期之后,我们就将训练得到的本地模型存储到硬盘上,方便下次直接load使用。

训练和在线预测的demo代码如下,首先我们将黑白样本存储在trainData.csv,分别存在uri和label标签下,

图5:训练样本数据csv存储格式

此时,如果用已知标签的验证数据来评估我们的机器学习模型,我们推荐使用混淆矩阵作为评判标准,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#expected是标签值,predicted是模型预测的结果

print("Confusion matrix:\n%s" % metrics.confusion_matrix(expected,predicted)) 

输出:
Confusion matrix:
[[    1   0]
 [ 4226 65867]]

大概解释下混淆矩阵的结果:

由于此次我们的验证数据集只有1条正常流量,所以我们看到FN为0 。我们更关心恶意流量被识别为正常流量的情况(漏报),我们看到这里漏报达到4226条,如果要计算漏报率,可以使用以下指标

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print("Classification report for classifier %s:\n%s\n"% (model, metrics.classification_report(expected, predicted)))

召回率:Recall=TP/ (TP+FN) 准确率:Accuracy=(TP+TN)/ (TP+FP+TN+FN) 精准率:Precision=TP/ (TP+FP) ,

f1-score是召回率和准确率的调和平均数,并假设两者一样重要,计算公式: f1-score=(2RecallAccuracy) / (Recall+Accuracy)

很明显,我们这里的召回率0.94,代表我们的漏报率为6%,勉强属于可接纳的范围内,还需持续优化。

六、线上应用和持续优化

线上应用,也就是将建好的模型嵌入到我们已有的nile框架中去,且需要设置好一键开关机器学习引擎,还有正则的一键开关,对于某些经常漏报的就直接先进正则引擎了,当然正则个数需要约束,不然又走回了正则检测的死胡同了。后面我们就需要持续的观察输出,不断的自动化补充规则,自动训练新的模型。

参考前面提到的nile框架,目前遇到的最大的问题:我们如何面对遗漏了的攻击流量,是否可接受这部分风险。目前还没有想到一个好的方案。

归根结底,我们还是认为特征提取是对模型准确率影响最大的因素,特征工程是一个脏活累活,花在上面的时间远远大于其他步骤,对工程师的要求更高,往往要求大量的专业知识经验和敏锐的直觉,外加一些“灵感”。 可以这样说,好特征即使配上较差的算法或参数,依然可以获得较好的结果。因为好的特征就意味着离现实问题的本质更加接近。另外就缺一个勤勤恳恳洗数据的工程师了。

七、未来展望

目前我们在机器学习方面的信息安全应用还存在以下可以更进一步的地方:

对非标准的json,xml数据包的判断,因为这些数据中内容长,标点多,且有的是非标准结构,例如json结构体无法顺利拆开,造成预测结果有误差。

加入多分类,可以识别出不同web攻击的类型,从而更好的和hulk结合。

在其他方面的应用,例如随机域名检测,ugc恶意评论,色情图片识别等等,目前这方面我们也已经陆续展开了实践。

将spark mllib库替换为spark ml库。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.01.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Web攻击检测机器学习深度实践
传统的WAF,依赖规则和黑白名单的方式来进行Web攻击检测。该方式过分依赖安全人员的知识广度,针对未知攻击类型无可奈何;另一方面即使是已知的攻击类型,由于正则表达式天生的局限性,以及shell、php等语言极其灵活的语法,理论上就是可以绕过,因此误拦和漏拦是天生存在的;而提高正则准确性的代价就是添加更多精细化正则,由此陷入一个永无止境打补丁的漩涡,拖累了整体性能。
FB客服
2019/07/09
1.4K0
Web攻击检测机器学习深度实践
基于机器学习的Web管理后台识别方法探索
长期以来,Web管理后台一直是攻击者觊觎的目标。部分信息安全意识薄弱的业务在未作任何安全加固(设置IP白名单、强口令、二次认证、验证码、请求频率审计等)的情况下直接将Web管理后台暴露到互联网,而管理后台由于本身的管理和敏感属性,外部一旦攻击成功,则极大可能造成数据泄露和服务器被入侵。
腾讯安全应急响应中心
2021/01/15
7340
基于机器学习的Web管理后台识别方法探索
机器学习检测WebShell脚本实践
webshell作为黑客惯用的入侵工具,是以php、asp、jsp、perl、cgi、py等网页文件形式存在的一种命令执行环境。黑客在入侵一个网站服务器后,通常会将webshell后门文件与网站服务器WEB目录下正常网页文件混在一起,通过Web访问webshell后门进行文件上传下载、访问数据库、系统命令调用等各种高危操作,达到非法控制网站服务器的目的,具备威胁程度高,隐蔽性极强等特点。
FB客服
2020/12/08
8800
机器学习检测WebShell脚本实践
在网络安全领域应用机器学习的困难和对策
网络安全领域的独特对抗属性给人工智能应用落地带来了重重困难,但我们并不认为这最终会阻碍人工智能成为网络安全利器。我们尝试分析了人工智能在网络安全应用里的潜在困难,并试着解决它们。
FB客服
2020/05/29
1.2K0
在网络安全领域应用机器学习的困难和对策
机器学习在安全攻防场景的应用与分析
一、引言 随着人工智能(artificialintelligence, 简称AI)的技术突破,现今的计算技术可从大数据平台中挖掘出有价值的信息,从而为人们在决策制定、任务执行方面提供建议对策与技术支持,将专业分析人员从复杂度高且耗时巨大的工作中释放。 企业与用户每天面临各种安全威胁,无论是钓鱼邮件中的恶意链接还是恶意软件的非法操作等,日新月异的攻击手段给用户安全带来了极大的困扰,造成了严重的安全威胁。由于现有的检测技术与防御系统已渐渐无法应对多变的挑战,而以机器学习(machinelearning,简称ML
FB客服
2018/02/26
8.5K0
机器学习在安全攻防场景的应用与分析
【机器学习】机器学习实践中的7种常见错误
本文作者是 Codecademy 的分析主管 Cheng-TaoChu,其专长是数据挖掘和机器学习,之前在 Google、LinkedIn和Square就职。 ---- 统计建模非常像工程学。 在工程学中,有多种构建键-值存储系统的方式,每个设计都会构造一组不同的关于使用模式的假设集合。在统计建模中,有很多分类器构建算法,每个算法构造一组不同的关于数据的假设集合。 当处理少量数据时,尝试尽可能多的算法,然后挑选最好的一个的做法是比较合理的,因为此时实验成本很低。但当遇到“大数据”时,提前分析数据,然后设计相
陆勤_数据人网
2018/02/27
7590
携程:机器学习在酒店服务领域的实践
在携程技术中心推出的线上公开课程[携程技术微分享]上,携程酒店研发BI经理潘鹏举介绍了如何借助大数据和算法,通过机器学习去克服酒店服务行业挑战。目前的应用主要包括订单量预测、回复市场预测、询房预测和用户价格偏好预测。采用的算法包括GBM、SVD++、XGBoost以及集成建模等。 携程是一家在线OTA服务公司,特点包括天生限时限购、每个酒店库存固定、代理房型、与酒店直接谈合作房型等。作为第三方平台,OTA酒店行业也面临众多挑战,比如无法掌握实际库存,依赖酒店行为;有些酒店设备落后,导致无法系统直连、无法接
CSDN技术头条
2018/02/12
1.4K0
携程:机器学习在酒店服务领域的实践
[系统安全] 三十三.恶意代码检测(3)基于机器学习的恶意代码检测技术
该系列文章将系统整理和深入学习系统安全、逆向分析和恶意代码检测,文章会更加聚焦,更加系统,更加深入,也是作者的慢慢成长史。漫漫长征路,偏向虎山行。享受过程,一起加油~
Eastmount
2021/12/01
2.2K0
[系统安全] 三十三.恶意代码检测(3)基于机器学习的恶意代码检测技术
主机安全——洋葱Webshell检测实践与思考
Webshell是网站入侵的常用后门,利用Webshell可以在Web服务器上执行系统命令、窃取数据等恶意操作,危害极大。Webshell因其隐秘性、基于脚本、灵活便捷、功能强大等特点,广受黑客们的喜爱,因此Webshell的检测也成为企业安全防御的重点,Webshell检测已是主机安全系统的标配功能。洋葱系统是腾讯自研的主机安全系统,Webshell检测是其基础功能之一,洋葱系统在2008年上线了第一代Webshell检测引擎,14年上线了动态检测功能(RASP)并在TSRC进行了众测,其后还增加了统计分析、机器学习等能力。2012年phpmyadmin某个分发节点被植入后门(CVE-2012-5159)就是被Webshell检测引擎所发现。
腾讯安全应急响应中心
2020/06/02
1.1K0
主机安全——洋葱Webshell检测实践与思考
基于机器学习的web异常检测
Web防火墙是信息安全的第一道防线。随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战。传统web入侵检测技术通过维护规则集对入侵访问进行拦截。一方面,硬规则在灵活的黑客面前,很容易被绕过,且基于以往知识的规则集难以应对0day攻击;另一方面,攻防对抗水涨船高,防守方规则的构造和维护门槛高、成本大。 基于机器学习技术的新一代web入侵检测技术有望弥补传统规则集方法的不足,为web对抗的防守端带来新的发展和突破。机器学习方法能够基于大量数据进行自动化学习和训练,已经在图像、语音、自
FB客服
2018/02/09
2.8K0
基于机器学习的web异常检测
MIT公开课-机器学习导论(附视频中字)
MIT6.0002课程《计算机科学与用Python编程》(Computer Science and Programming in Python)针对没有或有少量编程经验的学生,目的是让学生了解计算在解决问题中的作用,并帮助学生用自己的能力编写小的程序并实现目标。在当中这节机器学习导论课中,Grimson教授介绍了机器学习,并展示了使用特征向量进行监督学习的例子。 主讲人: Eric Grimson Eric Grimson是麻省理工学院计算机科学与工程学教授2011年至2014年间,担任麻省理工学院的校长,
CDA数据分析师
2018/02/08
1.3K0
MIT公开课-机器学习导论(附视频中字)
基于机器学习的敏感信息泄露治理探索
企业数据包含着用户个人信息、隐私信息、商业敏感数据等,一旦泄漏,会给企业带来巨大的经济损失,甚至承担相关法律责任和巨额罚款。因此,如何保障企业存储的各类敏感数据的安全,成为企业信息安全工作的重中之重。
腾讯安全应急响应中心
2021/01/21
1.2K0
基于机器学习的敏感信息泄露治理探索
[当人工智能遇上安全] 4.基于机器学习的恶意代码检测技术详解
《当人工智能遇上安全》系列博客将详细介绍人工智能与安全相关的论文、实践,并分享各种案例,涉及恶意代码检测、恶意请求识别、入侵检测、对抗样本等等。只想更好地帮助初学者,更加成体系的分享新知识。该系列文章会更加聚焦,更加学术,更加深入,也是作者的慢慢成长史。换专业确实挺难的,系统安全也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~
Eastmount
2021/12/03
1.3K0
[当人工智能遇上安全] 4.基于机器学习的恶意代码检测技术详解
AI in WAF | 腾讯云网站管家 WAF AI 引擎实践
 导语: 互联网公司数据被窃取并在暗网兜售的事件屡见不鲜,已引起了人们对网络安全风险问题的热议,某些站点的 Shell 也直接被标价出售。黑客是利用哪些缺陷成功入侵并获取站点权限的?我们的网站防护真的
腾讯云安全
2018/07/30
17.2K0
机器学习算法评价指标
准确率(accuracy):(TP + TN )/( TP + FP + TN + FN)
分母为零
2020/05/11
8520
[当人工智能遇上安全] 3.安全领域中的机器学习及机器学习恶意请求识别案例分享
《当人工智能遇上安全》系列博客将详细介绍人工智能与安全相关的论文、实践,并分享各种案例,涉及恶意代码检测、恶意请求识别、入侵检测、对抗样本等等。只想更好地帮助初学者,更加成体系的分享新知识。该系列文章会更加聚焦,更加学术,更加深入,也是作者的慢慢成长史。换专业确实挺难的,系统安全也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~
Eastmount
2021/12/03
1.9K0
[当人工智能遇上安全] 3.安全领域中的机器学习及机器学习恶意请求识别案例分享
机器学习究竟有没有用 | FreeBuf甲方群话题讨论
随着网络攻击变得越来越多样化,网络安全人员越发需要更加复杂且具有预见性的规则或策略来迅速处理各类安全风险,而目前热门的机器学习,凭借强大的数据处理、检测识别及自动学习等能力,在网络安全领域也开始发挥作用,那实际效果究竟如何?是与人工优势互补,还是更进一步,开始取代人工,在系统中发挥关键作用?本期话题,我们将围绕目前机器学习在网络安全中的实际运用能力,就相关问题展开讨论。 机器学习本质上也是在解决相似性问题,比如流量识别、漏洞挖掘,安全态势感知等,那目前机器学习在这些领域做得如何,是否噱头大于实际能力?
FB客服
2023/03/29
3220
机器学习究竟有没有用 | FreeBuf甲方群话题讨论
【机器学习】网络安全——异常检测与入侵防御系统
随着全球互联网和数字基础设施的不断扩展,网络攻击的数量和复杂性都在显著增加。从传统的病毒和蠕虫攻击到现代复杂的高级持续性威胁(APT),网络攻击呈现出更加智能化和隐蔽化的趋势。面对这样的挑战,传统的基于规则和签名的网络安全方法已显得力不从心。为此,借助机器学习技术,异常检测与入侵防御系统得以实现自动化、智能化,从而有效应对不断变化的网络安全威胁。
2的n次方
2024/10/15
3000
【机器学习】网络安全——异常检测与入侵防御系统
深度学习500问——Chapter02:机器学习基础(1)
机器学习起源于上世纪50年代,1959年在IBM工作的Arthur Samuel设计了一个下棋程序,这个程序具有学习的能力,它可以在不断的对弈中提高自己。由此提出了“机器学习”这个概念,它是一个结合了多个学科,如概率论、优化理论、统计等,最终在计算机上实现自我获取新知识,学习改善自己的这样一个研究领域。机器学习是人工智能的一个子集,目前已经发展处许多有用的方法,比如支持向量机,回归,决策树,随机森林,强化学习,集成学习,深度学习等等,一定程度上可以帮助人们完成一些数据预测,自动化,自动决策,最优化等初步替代脑力的任务。本章我们主要介绍下机器学习的基本概念、监督学习、分类算法、逻辑回归、代价函数、损失函数、LDA、PCA、决策树、支持向量机、EM算法、聚类和降维以及模型评估有哪些方法、指标等等。
JOYCE_Leo16
2024/03/19
1670
深度学习500问——Chapter02:机器学习基础(1)
机器学习在网络安全中的防护:智能化的安全屏障
随着数字化进程的加速,网络安全威胁愈发复杂和多样化。传统的防护手段在面对高级威胁时逐渐显现出不足,而机器学习技术的兴起,为网络安全领域注入了新的活力。本文将深入探讨机器学习在网络安全中的应用,展示其在威胁检测、防护和响应中的实际价值,并通过代码示例加以说明。
Echo_Wish
2025/01/01
1860
机器学习在网络安全中的防护:智能化的安全屏障
推荐阅读
相关推荐
Web攻击检测机器学习深度实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验