颠覆传统安全方式,AI重新定义Web安全
对于所有行业来讲,获取样本(标注样本)都不容易,而安全领域尤为困难。如对人脸识别的标注,初中生甚至小学生就可以完成,但对于一次安全的威胁事件,就需要极具经验的安全人员才可以完成,两者的成本差距十分巨大。 某个注入攻击 如上图所示,这个注入攻击经多次复杂编码,非专业人事很难进行样本标注。所以目前在通用场景下,安全领域的深度学习落地并不多,主要原因也是很难获取海量的标注数据。 02、安全领域的场景特点更加明显 判断攻击的标准会随着业务特点的不同而不同。以最简单的 CC 攻击为例,600 次/ 分钟的访问对于某些企业可能意味着破坏性攻击,但对其他企业则属于正常访问范围。 所以,即便有大量的标注样本,某一企业的标注样本可能对于其他企业毫无用处,这也是导致安全领域应用机器学习较为困难的另一个重要原因。 03、针对传统的文本型攻击,传统思维认为简单的特征工程,甚至直接的正则匹配更有效 我们把 Web 攻击分为行为型攻击和文本型攻击两类:
当特征的维度空间较低,且有些维度的区分度很高时,通过简单的线性分类器,就可以实现不错的准确率。 例如我们简单的制定一些 SQL 注入的正则规则,也可以适用于很多场景。但是,这样的传统思维却忽略了召回率问题,实际上也很少有人知道,通过 SQL 注入的正则规则,可以达到多少的召回率。 同时,在某些场景,假如业务的正常接口通过 JSON 传递 SQL 语句,那么这种基于正则规则的分类器就会产生极高的误判。 04、传统安全人员并不了解机器学习 大量传统安全公司的安全人员精于构造各种漏洞探测、挖掘各种边界条件绕过,善于制定一个又一个的补丁策略,却并不擅长 AI 机器学习方面的内容,这也说明了这种跨界人才的稀缺和重要。 机器学习重新定义 Web 安全 如何解决安全领域的样本标注问题呢?机器学习分为两大类:
01、无监督学习 无监督学习无需事先准备大量标注样本,通过特征聚类就可以将正常用户和异常用户区分开,从而避免大量样本标注的难题。 聚类的方式有很多,如距离聚类、密度聚类等,但其核心仍是计算两个特征向量的距离。 在 Web 安全领域,我们获得的数据往往是用户的 HTTP 流量或 HTTP 日志,在做距离计算时,可能会遇到如下问题。 例如:每个维度的计算粒度不一样,如两个用户的向量空间里 HTTP 200 返回码比例的距离是两个 float 值的计算,而 request length 的距离则是两个 int 值的计算,这就涉及粒度统一归一化的问题。 在这方面有很多技巧,比如可以使用 Mahalanobis 距离来代替传统的欧式距离,Mahalanobis 距离的本质是通过标准差来约束数值,当标准差大时,说明样本的随机性大,则降低数值的权值。 反之,当标准差小的时候,说明样本具有相当的规律性,则提高数值的权值。 无监督的聚类可以利用 EM 计算模型,可以把类别、簇数或者轮廓系数(Silhouette Coefficient)看成 EM 计算模型中的隐变量,然后不断迭代计算来逼近最佳结果。 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |