技术分享

合天网络安全技术

从0到1:学安全的你不该懂点AI?
2019-03-13 10:20

 0x01

正式开始前先来讨论下我们生活中接触到的三个名词的关系,这点都拎不清后面就不用看了~

AI,ML,DL是什么关系?先看一张图

1.jpg

说的很直白了,现在的人工智能部分很难落地,这些年很多初创的AI型企业ppt写得好也能拿到投资,至于用python做ML,安全从业者们如果接触够应该是知道的,那些封装好的库拿来用就是了—numpy,scipy,Scikit-Learn, PyMC, Gensim, Orange等,更不用提TensorFlow这种神器,多少人写过importtensorflow as tf就称自己会机器学习了

2.jpg

其实三者关系很简单,就是包含的关系,机器学习是一种实现人工智能的方法,深度学习是一种实现机器学习的技术。什么意思呢?人工智能指机器表现出的智能,是一种构想;为了实现这种构想,手段之一就是通过数据训练处能完成一定功能的机器,这便是机器学习;深度学习是实现机器学习的一套技术,深度学习用于创建人工“神经网络“,可以自己学习和做出明智的决策。

顺便提一下,强人工智能和弱人工智能的差别。

强人工智能具有自我学习、进化的能力,比如流浪地球中的moss;

弱人工智能只擅长某一方面,比如阿尔法狗。

0x02

基础的概念之间的关系厘清了,再介绍下谈到算法层面时的一些关键名词。

回归:

是一种统计学上分析数据的方法,目的在于了解两个或多个变量间是否相关、相关方向与强度,并建立数学模型以便观察特定变量来预测研究者感兴趣的变量。更具体的来说,回归分析可以帮助人们了解在只有一个自变量变化时因变量的变化量。一般来说,通过回归分析我们可以由给出的自变量估计因变量的条件期望。

3.png

在安全领域,有一种思想是利用滑动时间窗口方法将各个离散时间监测点的网络安全态势值构造成部分线性相关的多元回归数据序列,以其做为样本集输入到改进广义回归神经网络加以训练,进而得到网络安全态势预测模型,实现网络安全态势预测的功能。

分类:

根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类[1]。分类是监督学习的一个实例,根据已知训练集提供的样本,通过计算选择特征参数,创建判别函数以对样本进行的分类。


4.jpg

在安全领域,存在信息安全风险评估方法主观性大、建模时间长、分类正确率低的问题,可以考虑采用基于决策树的智能信息安全风险评估方法。该方法利用层次分析法对信息安全风险评估因素进行层次分解,利用机器学习中的决策树分类算法对数据进行分类,实现智能信息安全风险评估。

聚类:
把相似的对象通过静态分类的方法分成不同的组别或者更多的子集(subset),这样让在同一个子集中的成员对象都有相似的一些属性,常见的包括在坐标系中更加短的空间距离等。

5.jpg


在安全领域,传统的异常检测方法需要构造一个正常行为特征轮廓的参考模型,但获取完全正常的数据比较困难。聚类技术是应用到入侵异常检测中的一种较为新颖的技术,是一种无需指导的异常检测技术,可以区分哪些是正常记录,哪些是异常记录。


降维:
在某些限定条件下,降低随机变量个数,得到一组“不相关”主变量的过程。降维可进一步细分为变量选择和特征提取两大方法。变量选择假定数据中包含大量冗余或无关变量(或称特征、属性、指标等),旨在从原有变量中找出主要变量。特征提取可以看作变量选择方法的一般化:变量选择假设在原始数据中,变量数目浩繁,但只有少数几个真正起作用;而特征提取则认为在所有变量可能的函数(比如这些变量各种可能的线性组合)中,只有少数几个真正起作用。

6.jpg


在安全领域可用于网络入侵检测等方向,传统入侵检测方法无法很好地对大样本数据降维、检测效率低、时间长、误报漏报率高等缺点,此时通过数据降维并消除冗余数据,找到具有最优分类效果的主成分属性集,然后再以此数据集训练支持向量机分类器,得到检测器。

上面提到的分类、回归属于有监督学习;聚类、降维属于无监督学习。

监督学习可以由训练资料中学到或建立一个模式(函数/ learningmodel),并依此模式推测新的实例。
训练资料是由输入物件(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(回归),或是预测一个分类标签(分类)。

需要注意的是:一个监督式学习者的任务在观察完一些事先标记过的训练范例(输入和预期输出)后,去预测这个函数对任何可能出现的输入的输出。

7.jpg


无监督学习没有给定事先标记过的训练示例,自动对输入的数据进行分类或分群。

8.jpg

 

0x03

机器学习常分为三大类,除了监督学习、无监督学习,另一类就是强化学习。

强化学习强调如何基于环境而行动,以取得最大化的预期利益。

举个简单的例子,小狗如果把家里弄乱就惩罚,如果捡飞盘就奖励,久而久之,小狗就会养成捡飞盘的行为,减少捣乱行为。

9.jpg


那么与前两类算法有什么区别呢?

与监督学习之间的区别在于,它并不需要出现正确的输入/输出对,也不需要精确校正次优化的行为。强化学习更加专注于在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平衡。

与无监督学习的区别,以推荐系统为例,非监督式会找到用户先前已经阅读过类似的文章并向他们推荐其一,而强化学习将通过向用户先推荐少量的新闻,并不断获得来自用户的反馈,最后构建用户可能会喜欢的文章的“知识图”。

在安全领域,可以在入侵检测环境内模拟出一个马尔科夫过程,将强化学习模型用于入侵检测的分类检测环境当中,通过强化学习学习出最优的分类策略,将分类正确率作为强化学习模型中的奖赏函数,建立基于入侵检测马尔科夫过程的Bellman方程,采用基于γ折扣累计奖赏的策略评估算法计算最优解,可以确定入侵检测中正常行为和非正常行为的阈值,有利于不断地使得正常行为序列得以补充,最终提高入侵检测的检测率,降低误报率和漏报率,最终提升整个入侵检测系统的性能。

0x04

上图来自《人工智能赋能网络空间安全:模式与实践》报告,为人工智能技术在网络空间安全实现模式示意,AI+安全大有可为。

本文作为从0到1的入门级AI+安全的文章,梳理了三大类—监督学习、无监督学习、强化学习的基础概念,以及在学术界、工业届中的一些研究,后面三篇“从1到无穷大-机器学习篇”,“从1到无穷大-深度学习篇”,”从1到无穷大-强化学习篇”将具体到算法模型进行阐述分析。


推荐学习资料

视频

https://www.youtube.com/watch?v=tukidI5vuBs

https://www.youtube.com/watch?v=36IT9VgGr0g

书籍

Machine Learning and Data Mining for Computer Security

Data Mining and Machine Learning in Cybersecurity


本文为原创文章,转载请注明出处!

上一篇:popchain与对应poc的构造分析
下一篇:从1到无穷大—机器学习篇
版权所有 合天智汇信息技术有限公司 2013-2018 湘ICP备14001562号-6
Copyright © 2013-2018 Heetian Corporation, All rights reserved
4006-123-731