- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
大数据:高端安全检测的必由之路
信息安全的检测中有一部分是高端安全检测,高端安全检测涉及对检测模式的重新认识,这就涉及到大数据。
探寻高端检测
从检测方面来看,有三个境界:
第一种是"检测足",属于简单检测,比如:有阈值限制,超过了什么值,系统就会告警;再比如,包过滤规则;这些检测都相对简单。
第二种是"检测腰",基于单一特征的检测,比如:漏洞特征、病毒特征、攻击特征、URL黑白名单等等特征库检测。单一特征强调的是可表达、可处理和可操作性。所谓特征(或者称某种模型),我们使用它的计算复杂度要大大低于提炼获取它的复杂度。这里比喻成检测腰,就是因为它有一个收紧计算复杂度的作用。传统安全公司技术能力的竞争,主要就是看你能获取和积累多少特征。
第三种是"检测颈",属于高端检测,包括APT检测或者宏观态势感知等。另外,检测腰中部分特征的提炼和分析其实也属于高端检测的范畴。
安全的三种境界
谈到高端安全检测问题,可以简单地分为两类,一类是宏观安全检测,典型问题就是网络宏观态势感知;一类是微观安全问题,典型问题就是APT(Advanced Persistent Threat,高级持续性威胁)攻击发现。
关于宏观态势感知,如城域网的网络事件态势感知,目前方法还相对较少。举个例子,启明星辰实现了一个地址熵算法。熵是离散度的一种评价,所谓地址熵就是累积计算网络上的源地址的熵和目的地址的熵,并对两条随时间变化的地址熵曲线进行跟踪分析。如果目的地址熵突然下降,也就是目的地址突然集中了,由此可以立即判断出来可能发生了分布式拒绝服务攻击;如果目的地址熵微升而源地址熵下降,源地址相对较集中,意味着有网址在密集地向外广泛地发包,可以初步判断可能出现了扫描事件或蠕虫传播。这两个地址熵指标就像天气预报中常用的温度、气压等这些衡量指标。目前,在城域网监控方面这样特别有效的既简单又精妙的算法并不多。
关于APT攻击,目前常见的提出的APT应对方法,很多是在APT中的A(高级)上下功夫。也就是如何深入分析隐蔽性很深的恶意代码和行为。确实,当我们拿到一段值得怀疑的代码和数据集,对其进行深入分析是可行的;但是难的就是,从茫茫数据中,我怎么能够确定哪段数据值得怀疑并进行深入的分析呢?
试解高端检测中的大数据问题
上面提到的这两种高端信息安全检测问题,最终都导向了大数据方法。
面对宏观态势感知和预测问题,归结起来就是在海量的数据中发现宏观的波动趋势。哪怕是细微的波动,也是宏观问题。宏观态势感知和预测,就是要发现这些波动,并且判断出来哪些波动会演变成灾难性的网络风暴,以便及时加以遏制。要发现和描述这样的态势,仅仅靠局部数据计算得出的简单统计指标是非常不够的,即使是地址熵这样的精妙指标也是不够的。在这方面的研究中,可以类比的其他学科就是天气预报、股票期货金融品分析预测等等。这种分析活动,自然而然就是大数据。
而面对APT攻击发现问题,最终也是大数据问题。
APT的A高级,不仅仅是某些具体攻击手法隐藏很深,还包括APT攻击在空间上的不确定性;而APT的P所代表的时间上的长期持续性或者断续性,更是APT的检测难点。
攻击的空间拓展变化包括持续性、蔓延性、传播性、渗透性等等,这一变化带来了安全模式的变化。求检对象隐藏在一个检测环境里,你采集过来进行检测计算的就是一个"被检测域"。你并不确切地知道你所要找的求检对象在哪里;于是检测者就希望"被检测域"尽可能地多覆盖求检对象,也就是要先扩大被检测域。被检测域变大了数据变多了,自然而然就变成了大数据问题。APT检测的出路可能就在大数据上。
APT有很大的空间不确定性。APT攻击走哪条路径不得而知,这就是信息不对称。防御者不知道攻击者从哪条路径来进行攻击,这是非常头疼的事情。但路是防御者的路,攻击者一定会通过防御者的路并靠近防御者,这就是防御者的优势。我们讲从空间角度来扩展被检测域,只要扩展更多的有效检测点,总能获得更高概率来截获攻击路径。更多的检测点、更多样的检测点、更多的数据,有利于解决APT问题。
APT有很大的时间不确定性。从时间角度来扩展被检测域,一个最简单直接的思维突破就是"存储"。说得更哲理一些,就是"记忆"。比如0-day问题,在没有特征的时候是难于检测到的。如果用一个网络录像机把所有的网络流全录下来,回过头来有了特征之后再检测,就可能发现攻击。有部电影名字叫《源代码》,其情节就是这个感觉。能够运用存储、运用记忆,形成一个时间机器,反复的回溯分析,这就是所谓的时间领域扩展。也就是用P来对抗APT中的P.
在信息安全检测的采集上,可以考虑给被检测域数据提前打标签,可以称之为轻干扰检测(轻破坏检测)。这可以使其具有某种全息性。这种干扰的不同处理,都是分析目的和过程对于前端采集技术链条施加影响。当然,这样很可能会进一步增加检测过程的复杂程度,也可能让检索变得更快捷。
新安全检测思路——四阶段检测
原先我们的安全检测都是三步检测——采集、分析、关联。而有了上面阐述的"大"思路,就变成了一个四步检测——扩大、浓缩、精确、场景。也就是将原先三步中的"采集",变成了"扩大"——扩大被检测域以便更可能覆盖求检对象,以及"浓缩"——将海量被检测域数据中的有用数据浓缩下来。
浓缩、筛选、抽样等等可以理解为分析过程中的物理处理过程,所谓物理过程就是不改变被检测域数据的原有性质和形态,就如同炼铁过程中的选矿筛矿。比如渲染+半衰的处理算法:对于被检测域进行数据分块,对数据块的疑似程度进行打分渲染;然后再一个周期中对所有数据块进行半衰式处理;之后在进行打分再半衰,低于某一个阈值的数据块被丢弃。如此循环下去,留下的数据块集合就是被浓缩的被检测域。
精确检测就是借助传统的误用检测和异常检测来进一步分析。在这个阶段我常常将之比喻成分析过程的化学反应。这个时候提取出来的结论数据,其数据性质和形态都与被检测域的数据大大不同了。