type
status
date
slug
summary
tags
category
icon
password

引言

在当今数字化时代,网络安全攻击已成为一个日益严重的问题。了解各种攻击类型和模式对于有效预防和应对网络威胁至关重要。在逛kaggle社区的时候,发现数据集:'cybersecurity_attacks.csv',同过介绍和字段查看,发现它经过精心制作,真实地再现了网络安全攻击的历史,这个数据集为我们提供了一个理想的场所,进行各种分析任务和研究,了解网络安全攻击的特征和趋势。
通过使用这个网络安全攻击数据集,可进行多个层面的评估和分析。可以生成热图来可视化攻击活动的分布和强度,探索不同攻击特征和模式,以了解攻击者的策略和技术。可以对攻击类型进行分类和分析,以便更好地了解不同类型攻击的特点和威胁级别。
这篇博文将针对这个令人兴奋的数据集展开数据分析,探索网络安全攻击的潜在模式和趋势。希望通过对数据的深入挖掘,了解有关网络安全保护和防御的有用见解,并为构建更加安全的数字环境贡献一份力量。让我们一起开始这个令人兴奋的数据探险之旅吧!
数据集来源:https://www.kaggle.com/datasets/teamincribo/cyber-security-attacks/data
以下过程使用 jupyter notebook实现,代码均无使用print输出, Jupyter具有交互式和文档化的特点 , 即使您没有使用print函数,执行单元格时, Jupyter Notebook的默认行为,仍将在屏幕上打印每个变量的值以元组形式输出,使用其他实现方式的小伙伴需要使用print输出

数据信息获取

读取csv内容有如下:
Timestamp
Source IP Address
Destination IP Address
Source Port
...
0
2023/5/30 6:33
103.216.15.12
84.9.164.252
Qui natus odio asperiores nam. Optio nobis ius...
1
2020/8/26 7:08
78.199.217.198
66.191.137.154
Aperiam quos modi officiis veritatis rem. Omni...
2
2022/11/13 8:23
63.79.210.48
198.219.82.17
Perferendis sapiente vitae soluta. Hic delectu...
3
2023/7/2 10:38
163.42.196.10
101.228.192.255
Totam maxime beatae expedita explicabo porro l...
4
2023/7/16 13:11
71.166.185.76
189.243.174.238
Odit nesciunt dolorem nisi iste iusto. Animi v...
字段还挺多的哈,25个
这个数据集包含了 40,000 条网络流量记录,每条记录有 25 个字段。这些字段包括时间戳、源 IP 地址、目的 IP 地址、源端口、目的端口、协议类型、数据包长度、数据包类型、流量类型、负载数据等。一些与安全相关的字段,如恶意软件指标、异常分数、警报/警告、攻击类型、采取的行动等。
针对此类数据,先分析以下三个方面:
  • 热图:可视化源和目的IP地址或端口的频率。
  • 攻击特征与类型:识别可能表明恶意活动的模式,例如短时间内多次尝试连接;分析攻击类型与严重级别;
  • 流量类型:对流量类型(HTTP、DNS等)进行分类,了解使用模式。

数据清理

老样子,开始数据分析前必做的事:确保数据集没有重复或不相关的条目。

清理重复数据

通过对删除重复行前后的行数对比,40000条数据无变化,看来数据集作者是已经清洗过的了^_^

特征提取

关注以下几个主要特征:
  1. Source IP Address 和 Destination IP Address(源IP和目的IP): 是网络通信中非常基本的信息,它们用于识别发送和接收方。通过将这些信息可视化为热图,可以更好地了解网络流量的分布情况
  1. Timestamp(时间戳): 时间戳表示网络通信发生的时间点,可以帮助我们发现和识别攻击模式。例如,如果我们发现某个时间段内有大量的数据包发送,那么可能表示有人正在对系统进行攻击
  1. Traffic Type(流量类型): 用于了解网络通信的性质。不同类型的流量(例如HTTP、FTP等)有着不同的特征和限制条件。通过对流量类型的分类和分析,了解网络通信的本质,从而有针对性地采取措施来保护系统和数据的安全。

数据可视化

创建热图

创建几个热图,分别表示“源 IP 地址”和“目的 IP 地址”的频率。
哦吼,有意思,MemoryError......,是的,没错,数据计算机无法为其分配足够的空间,导致内存溢出错误;
为了解决这个问题,我们可以采取以下几种方法:
  1. 缩小数据范围: 选择数据集的一个子集进行分析。
  1. 聚合数据: 只考虑最频繁出现的 IP 地址。
先尝试第二种方法,只考虑出现次数最多的 IP 地址。这样,就可以减少数据的规模,同时仍能获取有用的信息。

创建简化版的热图

notion image
这出了两个简化版的热图,分别表示出现次数最多的前 10 个“源 IP 地址”和“目的 IP 地址”。
热力图中的颜色表示频率的大小,较深的颜色代表较高的频率。通过观察热力图,可以得出以下分析结果:
  1. 前10个最常见的源IP地址:根据柱状图的高度,可以看出哪些IP地址是数据中最常见的来源。这可能有助于识别哪些IP地址发送了大量的网络流量或请求。
  1. 前10个最常见的目的IP地址:类似地,通过目的IP地址的频率,可以确定哪些IP地址是数据中最常见的目标。这可能有助于发现接收大量流量或请求的主机。
通过分析这些数据,可以发现网络流量的热点区域,识别潜在的异常行为或攻击。此外,还可以帮助网络管理员优化网络结构、检测潜在的安全风险,以及进行其他网络运维和安全方面的决策。然而,具体的分析结果仍然需要根据实际情况和进一步的上下文来解读和应用。

分析攻击特征与类型

攻击特征

为了分析可能的攻击特征,观察在短时间内是否有多次连接尝试。这通常是暴力破解或其他类型攻击的一个信号。
通过输出可以发现:在这个数据集中没有发现在短时间内重复出现的“源 IP 地址”,这意味着没有明显的恶意攻击活动。

攻击类型

由此得出,数据集中有三种主要的攻击类型:
  1. DDoS(分布式拒绝服务攻击): 这类攻击涉及多个系统联合攻击单一目标,导致目标系统的服务中断或崩溃。
  1. Malware(恶意软件): 这涉及到恶意软件,例如病毒、蠕虫、特洛伊木马等,它们会侵入并可能损害系统。
  1. Intrusion(入侵): 这涉及未经授权的访问,旨在窃取敏感数据或破坏系统。
针对一下两点分析:
  1. 严重性级别:分析每种攻击类型的严重性级别分布。
  1. 网络段影响:查看哪些网络段受到了最多的攻击。
notion image
从上图中,我们可以得出以下结论:
  1. Malware 攻击:这类攻击主要是中等,低高级攻击较少。
  1. DDoS 攻击:这类攻击的严重性级别分布相对均匀,但高级攻击略多中低级攻击。
  1. Intrusion 攻击:这类攻击中高级较低级相对多一些
柱形图没有特别起伏大的柱状,但是高低依旧清晰可见,如此结论足矣
notion image
从上图中,可分析各个网段,受哪种攻击较多
a类网段受malware攻击较多
b类网段受intrusion攻击较多
c类网段三种攻击接近持平

流量类型分类

分析不同类型的网络流量(如 HTTP, DNS 等)在数据集中的分布。

流量类型分布

notion image
额......出来的条形图怎么肉眼有点看不出区别呀 ̄□ ̄|| 有点尴尬,
这时候,想到的就是三种类型的count差异不大,这时候就添加如下代码
notion image
这时候,条形统计图,每个柱体上都有清晰的数值大小,从图和数值可以看出,DNS流量是最常见的,其次是 HTTP,最后便是ftp。

前三特征总结

通过分析,得出了以下几点:
  1. 热图分析: 识别了出现次数最多的前 10 个源和目的 IP 地址。
  1. 攻击特征与类型: 受最多的类型攻击为ddos攻击,流量特征方面需持续监控。
  1. 流量类型: DNS 是最常见的流量类型,这可能意味着大多数网络活动是 DNS 查询或域名解析。
基于这些信息:
  • 关注高频 IP 地址:识别出现次数最多的前 10 个源和目的 IP 地址,并对这些 IP 地址进行进一步的监控或安全审查。这有助于提高对可能存在的潜在威胁的感知,并采取必要的行动。
  • 持续监控数据以识别潜在的恶意活动:维持对网络流量的持续监控,使用威胁情报和异常检测系统来识别任何可能的恶意活动。通过实时监测和分析数据,可以及早发现和应对潜在的威胁,确保网络的安全性。
  • 优化网络性能和安全措施,特别是针对 DNS 流量:基于对 DNS 流量的分析,对网络进行优化和强化安全措施。例如,确保 DNS 服务器的稳定性和高可用性,优化 DNS 解析速度,防止 DNS 劫持等。

其他特征分析

异常检测

根据“异常分数”字段进行的异常检测的输出,没有检测到超过阈值的异常流量。这个阈值是基于异常分数的平均值加上三倍的标准偏差计算。

协议分析

输出结果显示,此数据集中最常见的协议是 ICMP、UDP 和 TCP。没有检测到任何非标准协议。

威胁情报对接分析

威胁情报对接分析显示,“恶意软件指标”字段中确实存在非空值。总共有 20,000 条记录显示了恶意活动的迹象(指标为 "IoC Detected")

端口使用分析

通过输出数据:
  • 最活跃的端口是 1547、3120、8653、10530 和 14155,每个端口都有 7 个条目(源端口和目的端口的组合)表明这些端口频繁用于网络通信。。
  • 有大量不常用但开放的端口,每个端口的记录少于 5 条。这可能表明网络中有大量不常用的开放端口,这种情况可能会增加网络的安全风险,因为攻击者可能会利用这些少见的开放端口进行攻击。

设备类型分析

通过输出数据分析:
  • "Windows" 设备是最常见的,共有 17,953 个条目。
  • 其次是 "Mac" 设备,有 11,587 个条目。
  • "Mobile" 设备(包括 Android、iPhone 和 BlackBerry)有 9,063 个条目。
  • "Linux" 设备有 8,840 个条目。
  • 没有检测到明显的爬虫或机器人流量(如 bot、crawler、spider、robot、cURL、python、java 等)。
Windows 设备在网络中最为常见,其次是 Mac 和移动设备,对于设备的差异, 可以分析不同设备类型的用户行为差异
这些数据可能并不全面,鉴于设备类型是通过用户代理字符串中的关键词进行分类的,而这些字符串可以被修改或伪造。

用户-应用行为分析

数据集中没有直接关于应用类型的字段,可以根据其他相关字段(如 "设备信息"、"目的 IP 地址" 或 "协议")进行推断。
从 "设备信息" 字段中提取应用数据,并且数据集中包含 "用户信息" 字段,由此可以进行用户-应用行为分析。分析哪些用户更倾向于使用哪种类型的浏览器。
notion image
分析结果:
  • 这个样本中,Safari 浏览器拥有最多的用户数量,占总用户数量的 23.9%。
  • 排名第二的是 MSIE 浏览器,占20.5%;并排第三的是 Opera、 Chrome浏览器,占 19.0%。
  • Firefox 浏览器的用户数量占比最低。

总结

通过该数据集,针对不同的特征,做对应的分析,深入了解网络安全威胁的特征和趋势,并从中获取有价值的见解。这样的分析有助于我们更好地理解攻击者的策略和技术,从而能够采取有效的预防和应对措施来保护我们的数字环境。 当然,针对数据的来源于具体的业务方向,可以更加深入,有针对性的分析,以发掘更好的价值。

附录

数据来源:kaggle社区公开数据集
文中代码与csv数据集: https://bevis.lanzouq.com/i28Ci1c0eb9i (文章代码与数据集放压缩包了)
[两万字教程]MYSQL必知必会一站式完全教程解读IMDb电影Top250-电影数据探索
宓翊23
宓翊23
博学而笃志,切问而近思~ 爱探索,热爱技术的Geek一枚~
Announcement
type
status
date
slug
summary
tags
category
icon
password
🎉欢迎来到我的博客🎉
工具-资源-技术-随笔
--- 感谢您的支持 ---
👏希望能帮助到您👏
主博客:作者站点中的bevis23