Keras介绍
Keras是由 Python 编写的神经网络库,专注于深度学习,运行在 TensorFlow 或 Theano 之上。TensorFlow和Theano是当前比较流行的两大深度学习库,但是对初学者来说相对有些复杂。Keras 使用简单,结构清晰,底层计算平台可基于 TensorFlow 或 Theano 之上,功能强大。Keras 可运行于 Python 2.7 或 3.5 环境,完美结合于 GPU 和 CPU,基于 MIT license 发布。Keras 由 Google 工程师Fran?ois Chollet开发和维护。
安全能力&感知攻击
如何监控感知一个安全的应用边界,提升边界的安全感知能力尤为重要,那么常见七层流量感知能力又有哪些?
静态规则检测方式,来一条恶意流量使用规则进行命中匹配,这种方式见效快但也遗留下一些问题,举例来说,我们每年都会在类似 WAF、NIDS 上增加大量的静态规则来识别恶意攻击,当检测规则达到一定数量后,后续新来的安全运营同学回溯每条规则有效性带来巨大成本、规则维护的不好同样也就暴露出了安全风险各种被绕过的攻击未被安全工程师有效识别、规则数量和检测效果上的冗余也降低了检测效率、海量的攻击误报又让安全运营同学头大,想想一下每天你上班看到好几十页的攻击告警等待确认时的表情 凸 (艹皿艹) 凸。
如何使用多引擎的方式对数据交叉判断,综合权重计算形成报告,提升安全运营通过对七层恶意流量的感知能力同时攻击降低漏报率,其中是有很多种引擎或方案可以考虑的,比如最近几年流行的语义识别、AI 识别等等,本文主要说一下通过其中一种 AI 方式进行补充交叉识别恶意攻击。
常见攻击&XSS
在 Web 漏洞中常见的数量最多的漏洞应该是 XSS 了,XSS 跨站脚本 (Cross Site Script),在 Web 页面中,导致攻击者可以在 Web 页面中插入恶意 JavaScript 代码 (也包括 VBScript 和 ActionScript 代码等),用户浏览此页面时,会执行这些恶意代码,从而使用户受到攻击。
有的安全同学可能非常不屑,认为这是垃圾洞有些 src 确实也这么认为的看到 xss 直接忽略,说 xss 垃圾的理由很多,比如什么现在都上 https、http-only。你是打不到我的核心 Cookies 的一样没用,其实想想笔者也在刚入行的时候在某 SRC 日夜审洞,一边审核一边骂这些都是垃圾洞没鸟用。等到笔者真正在进行渗透的时候发现一个垃圾 XSS 洞也可以有很多种高级玩法,比如可以用 XSS 嗅探内网,用 XSS 获取 redis-shell、struts-shell、后渗透等。
实现思路
用神经网络搭建一个 XSS 攻击感知器,一般我们说达到 3 层的神经网络才称为深度神经网络,而组成神经网络的就是感知器,本次使用输入的 XSSplayload 预测使用二分类的方式判断是否为 xss。
进入正文,使用 AI 模型达到的效果,测试结果在测试集与验证集上准确率和召回率都达到 95% 以上,预测效果:
恶意流量:/examples/jsp/jsp2/el/search=恶意流量:/iajtej82.dll? alert(/1/) 恶意流量:/cgi-bin/index.php?gadget=glossary&action=viewterm&term= 恶意流量:/fmnveedu.htm?a= 0
数据集结构,准备了两个文本文档,黑白样本各 10+万,其中恶意样本内容如下,每行代表一个 xss 的 playload。