自从互联网问世以来,网络攻击和威胁一直存在。恶意的攻击会给企业带来物理上和经济上的的损失。随着技术的发展,恶意的网络攻击不断增加,而且越来越危险。因此,防范网络攻击变得异常重要。
用传统的方法检测攻击,通常是将数据收集下来进行离线的历史分析,但这样难以对网络攻击采取及时有效的应对。在采用离线分析的同时,我们可以利用更先进的技术,实时检测网络攻击和威胁,以便对实时洞察和应对恶意攻击。
利用IBM Streams流计算平台很好地解决这种问题。使用流计算技术,企业很容易实现实时的网络安全分析:通过实时分析网络访问,企业能过滤无关数据,只抓取和保存有意义的数据,然后结合已有的离线分析,将能更好地定制网络安全策略和防止网络非法入侵。
Streams v4.1增加了Cybersecurity Toolkit,该Toolkit将网络访问分析功能构建成模块,以帮助开发者快速地实现实时网络安全分析。Cybersecurity Toolkit提供三个机器学习模型:
- DomainProfiling – 基于DNS响应流量中的域名而构建的Profile,检测可疑的网络访问行为。
- HostProfiling – 基于DNS响应流量中的主机而构建的Profile,检测可疑的网络访问行为。
- PredictiveBlacklisting – 预测是否该将一个域加入到黑名单。
下面举个例子说明如何使用机器学习模型分析DNS的响应记录。
DomainProfiling 模型
DomainProfiling Operator利用机器学习模型分析DNS响应流量并报告域名访问是否是可疑的。通过一定时期内的DNS响应记录构建Profile,然后利用Profile分析每次访问是“可疑的”还是“良性的”。先来看看正常的网络访问演示:
在这个场景中, 30秒时间窗口内的DNS访问和响应被捕获下来。利用这些信息为每个域名构建Profile,这样,访问每个域名的用户数和访问次数被记录下来。这种场景作为网络中的“正常的”或“预期的”行为。这种每个域名在30秒内都有几次的访问,我们认为是良性的(判断时结合历史数据分析)。
这是另一种场景:
在这种场景中,同样是30秒的时间窗口内的DNS访问和响应被捕获下来。然而,根据Profile,a11233112.ru.ch的异常访问马上体现出来。该域名在30秒内被4个不同用户共25访问,对比“正常的”30秒窗口,这种超过10倍的访问是非常可疑的。在这种情况下,DomainProfiling operator就会报告这样的域名是“可疑的”。
前面的例子目的是阐明如何利用DomainProfiling判断域名的访问是“良性的”还是“可疑的”。在实际使用中,并非对所有的DNS记录进行判断,而是根据一定的规则预先进行过滤,例如,利用黑名单和白名单进行过滤,以确保DomainProfiling分析的准确性。下图是Streams实现实时网络检测的原型:
IBM在GitHub上提供了该样例代码,以便开发人员参考和使用。下载代码请访问https://github.com/IBMStreams/streamsx.cybersecurity.starterApps
本文暂时先介绍DomainProfiling,而HostProfiling的用法与前者类似,因此不再阐述。关于PredictiveBlacklisting的原理和使用,请关注下期的文章。
IBM InfoSphere Streams 试用版下载地址: http://bigdata.evget.com/product/201.html
更多大数据与分析相关行业资讯、解决方案、案例、教程等请点击查看>>>
详情请咨询在线客服!
客服热线:023-66090381