【入侵检测】基于机器学习的全流量分析发现入侵行为

admin 2022年4月27日01:00:58评论71 views字数 3216阅读10分43秒阅读模式

|0x0 团队介绍

RedCodeSecurity Team安全团队 & 安全实验室 以及安服团队,是由安全头部企业(奇安信、绿盟、360、深信服、启明等)、互联网头部企业、安全从业人员(渗透测试、安服、等保、重保、HW、代码审计、应急响应、安全巡检、安全产品代理等)、架构师、网络专家、运维专家、人工智能专家、大数据专家组建的一只安全队伍,核心业务涉及安服、渗透、等保、解决方案、以及企业内训、同时我们根据合作伙伴的需求、以及在职人员提升的需求推出安全相关的教育培训业务为安全厂商输送人才。


|0x1 流量分析

随入网络入侵越来越具有隐蔽性、破坏性给现在发现入侵行为增加很大的难度,经常会看到培训机构老师使用各种工具一顿操作猛如虎,其实就是二百五。不夸张的说你连IDS都绕不过去,还内网?即便红队水平一般的,建立内网通信的隧道后帅不过三秒,一样会被 全流量安全分析工程师 所发现。再牛逼一点的高手 才懂得流量加密,所以在安全公司的我们这些团队成员,每天做的就是这份工作。今天我们就来跟大家分享一下,基于全流量分析 基于人工智能技术发现入侵者的蛛丝马迹。


【入侵检测】基于机器学习的全流量分析发现入侵行为

对于一个流量分析朔源入侵行为其实途径无外乎就这么几种,传统的基于流量也就是网络、基于主机也就是日志、基于安全设备比如天眼。前两者那就需要你有一定的技术功底,后者就要求你会用设备实现自动化或半自动化的这样的一个分析朔源。


【入侵检测】基于机器学习的全流量分析发现入侵行为


天眼截图

1.1 什么是RootKit

Rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,比较多见到的是Rootkit一般都和木马、后门等其他恶意程序结合使用。


从某种意义上说这位不速之客就是Rootkit——持久并毫无察觉地驻留在目标计算机中,对系统进行操纵、并通过隐秘渠道收集数据的程序。Rootkit的三要素就是:隐藏、操纵、收集数据。


“Rootkit”中root术语来自于unix领域。由于unix主机系统管理员账号为root账号,该账号拥有最小的安全限制,完全控制主机并拥有了管理员权限被称为“root”了这台电脑。然而能够“root”一台主机并不意味着能持续地控制它,因为管理员完全可能发现了主机遭受入侵并采取清理措施。因此Rootkit的初始含义就在于“能维持root权限的一套工具”。


简单地说,Rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,比较多见到的是Rootkit一般都和木马、后门等其他恶意程序结合使用。Rootkit通过加载特殊的驱动,修改系统内核,进而达到隐藏信息的目的。


1.2 RootKit典型危害和特征


rootkit介绍Rootkit是一种奇特的程序,它具有隐身功能:无论静止时(作为文件存在),还是活动时,(作为进程存在),都不会被察觉。换句话说,这种程序可能一直存在于我们的计算机中,但我们却浑然不知,这一功能正是许多人梦寐以求的——不论是计算机黑客,还是计算机取证人员。黑客可以在入侵后置入Rootkit,秘密地窥探敏感信息,或等待时机,伺机而动;取证人员也可以利用Rootkit实时监控嫌疑人员的不法行为,它不仅能搜集证据,还有利于及时采取行动!


Rootkit 的目的在于隐藏自己以及不被其他软件发现。它可以通过阻止用户识别和删除攻击者的软件来达到这个目的。Rootkit 几乎可以隐藏任何软件,包括文件服务器、键盘记录器、Botnet 和 Remailer。许多 Rootkit 甚至可以隐藏大型的文件集合并允许攻击者在您的计算机上保存许多文件,而您无法看到这些文件。


Rootkit攻击方式多针对类似敏感数据剽窃这样的环节,那么某企业或政府组织“中央服务器”一类设备自然是植入Rootkit的首选目标,可这样的主机设备往往防护严密,不能轻易得手。我们知道数据并不是静止的存放在服务器中,它往往在机构的网络中流动。机构中级别较高的人员常会拥有对这些设备数据的读写权限,但他们所拥有的个人电脑的防护级别却通常比中央服务器要低,这就会给剽窃数据的黑客以可趁之机——将Rootkit程序植入相关人员的个人电脑,并默默的安家,不时地传回重要数据


读到这里想必大家已经对Rootkit有了一个基本的认识、它可以是木 蠕 毒 后门等,但是不管怎么样的形式存在,最重要的是它都会主动或被动的建立网络连接那么这种连接通常都是基于TCP/IP协议进行的,那么我们的思路就有了,要嘛走特定端口 TCP/IP流量分析、要嘛伪装成HTTP HTTPS,走HTTP流量或HTTPS加密流量这样更隐蔽。

【入侵检测】基于机器学习的全流量分析发现入侵行为

那么我们分析的思路就是 TCP/IP数据包内容的分析


【入侵检测】基于机器学习的全流量分析发现入侵行为

而我们进行流量分析的 主要关注点就是 Rootkit建立连接的时候 往往是通过Telnet等协议进行的。所以对于数据收集阶段 我们就需要截取大量的网络流量数据从而进行分析。

【入侵检测】基于机器学习的全流量分析发现入侵行为


|0x2 特征提取

TCP连接的内容特征

【入侵检测】基于机器学习的全流量分析发现入侵行为


|0x3 训练模型


if(x1[41] in ['rootkit.','normal.'] ) and ( x1[2] == 'telnet' )


#len(x) 42 ['804', 'tcp', 'telnet', 'SF', '1589', '36386', '0', '0', '3', '7', '0', '1', '49', '1', '0', '145', '1', '0', '0', '0', '0', '0', '1', '1', '0.00', '0.00', '0.00', '0.00', '1.00', '0.00', '0.00', '18', '4', '0.22', '0.17', '0.06', '0.00', '0.00', '0.00', '0.06', '0.25', 'rootkit.']

#len(x) 42 ['988', 'tcp', 'telnet', 'SF', '1773', '32209', '0', '0', '0', '4', '0', '1', '57', '1', '0', '51', '7', '5', '0', '0', '0', '0', '1', '1', '0.00', '0.00', '0.00', '0.00', '1.00', '0.00', '0.00', '255', '104', '0.41', '0.03', '0.00', '0.00', '0.33', '0.77', '0.02', '0.01', 'rootkit.']

通过机器学习算法KNN实现分类算法


【入侵检测】基于机器学习的全流量分析发现入侵行为


|0x4 精准识别

通过交叉验证对数据进行分割训练,把数据集分成10份,其中一份作为验证集,其他作为训练集,得出10个训练模型,以及10个准确率。


【入侵检测】基于机器学习的全流量分析发现入侵行为

通过训练我们得到10个模型 和 10个准确率 我们可以看到8个模型为100%,两个模型为88.9%

【入侵检测】基于机器学习的全流量分析发现入侵行为

经过优化 我们得到94% 这样对于RootKit的识别准确率就是非常高了。

【入侵检测】基于机器学习的全流量分析发现入侵行为

所以说小白真的不要瞎搞!要不真的送你一份 天空银的限量版手镯。


|0x5 写在最后

随着技术不断的发展,同时越来越多的开发人员已经掌握了安全技术,并且安全意识开始觉醒。安全整个行业将面临洗牌,学历低、能力差、培训出来的这些安全从业人员在将来面临的选择 要么是被人工智能技术淘汰、要吗是被压制在安服底层的初级阶段恶性循环。要么是给培训机构交智商税,给你一个URL或IP你甚至都不知道怎么去做,或是按照教的步骤做了你都没有收获。随着安全设备的普及,渗透人员要面临的过NF、IDS 、IPS、WAF、AntiVirus 设备与软件,路越走越窄。开始内卷,开始焦虑,开始不断找资料学习。现在安全发展趋势表明 渗透测试有自动化的趋势 也就是说以后的渗透都是自动化的过程,那么刚走上渗透路上的小朋友要注意了,一不注意就被淘汰了。毕竟不是每一种牛奶都叫特仑苏!奇安信已经推出这样的产品,留给你提升的时间不多了。

【入侵检测】基于机器学习的全流量分析发现入侵行为

做安全技能提升、学习新技术在安全领域的实践。可以扫码进群交流学习,广告勿扰。

~扫码进群交流~

【入侵检测】基于机器学习的全流量分析发现入侵行为


原文始发于微信公众号(小白嘿课):【入侵检测】基于机器学习的全流量分析发现入侵行为

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月27日01:00:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【入侵检测】基于机器学习的全流量分析发现入侵行为https://cn-sec.com/archives/949534.html

发表评论

匿名网友 填写信息