【数据可视化-27】全球网络安全威胁数据可视化分析(2015-2024)
🧑 博主简介:曾任某智慧城市类企业
算法总监
,目前在美国市场的物流公司从事高级算法工程师
一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907
)
💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。
【数据可视化-27】全球网络安全威胁数据可视化分析(2015-2024)
- 一、引言
- 二、数据探索
- 2.1 数据集介绍
- 2.2 数据清洗与探索
- 三、单维度特征可视化
- 3.1 各年份攻击事件数量
- 3.2 威胁类型分布
- 3.3 受影响行业分布
- 3.4 数据泄露量分布
- 3.5 财务影响分布
- 3.6 安全漏洞类型分布
- 四、多维度关系可视化
- 4.1 年份与威胁类型的关系
- 4.2 攻击源与威胁类型的关系
- 4.3 受影响行业与威胁类型的关系
- 4.4 不同威胁类型的数据泄露量与财务影响的关系
- 4.5 安全漏洞类型与事件解决时间(小时)的关系
- 4.6 使用的防御机制与威胁类型的关系
- 4.7 国家与目标行业的关系
- 五、总结与洞察
一、引言
在当今数字化时代,网络安全威胁日益复杂且多样化。通过数据可视化分析,我们可以从多维度揭示网络安全威胁的分布特征、演变趋势以及各因素之间的关联。本文将基于2015-2024年间全球网络安全威胁数据集,进行深入的可视化探索,帮助大家更直观地理解网络安全态势。
二、数据探索
2.1 数据集介绍
本数据集包含以下变量:
- 国家:发生攻击的国家
- 年份:事件发生年份(2015-2024)
- 威胁类型:网络安全威胁类型(如恶意软件、DDoS等)
- 攻击类型攻击方法:(如网络钓鱼、SQL注入等)
- 目标行业:目标行业(如金融、医疗保健等)
- 数据泄露量(GB):数据量受损
- 财务影响($M):估计经济损失(百万美元)
- 安全漏洞类型:例如,零日漏洞、SQL 注入漏洞
- 响应时间(小时):缓解攻击所花费的时间
- 缓解策略:采取的对策
2.2 数据清洗与探索
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns# 加载数据
df = pd.read_csv('global_cybersecurity_threats.csv') # 请替换为实际文件路径# 查看数据基本信息
print(df.info())
print(df.describe())# 查看各列唯一值数量
print(df.nunique())
从数据的基本信息中,我们可以发现:
- 数据集包含多个类别型变量(如国家、威胁类型、攻击向量等)和数值型变量(如数据泄露量、财务影响等)
- 一共3000个样本,且无缺失值存在
- 也可以发现类别型变的中类别的个数情况,如一共有7种不同的攻击类型。
三、单维度特征可视化
3.1 各年份攻击事件数量
plt.figure(figsize=(12, 6))
sns.countplot(x='年份', data=df, palette='viridis')
plt.title('Cybersecurity Attacks by Year (2015-2024)')
plt.xlabel('Year')
plt.ylabel('Number of Attacks')
plt.tight_layout()
plt.show()
观察结果:攻击事件数量呈现增长趋势,尤其在近5年攻击数量明显高于开始的5年的攻击数量,反映出网络安全威胁的不断加剧。
3.2 威胁类型分布
plt.figure(figsize=(12, 8))
sns.countplot(y='威胁类型', data=df, order=df['威胁类型'].value_counts().index, palette='plasma')
plt.title('Distribution of Cybersecurity Threat Types')
plt.xlabel('Number of Attacks')
plt.ylabel('Threat Type')
plt.tight_layout()
plt.show()
观察结果:恶意软件和DDoS攻击是最常见的威胁类型,占据较大比例。
3.3 受影响行业分布
plt.figure(figsize=(12, 8))
sns.countplot(y='目标行业', data=df, order=df['目标行业'].value_counts().index, palette='inferno')
plt.title('Distribution of Affected Industries')
plt.xlabel('Number of Attacks')
plt.ylabel('Industry')
plt.tight_layout()
plt.show()
观察结果:IT和银行行业是攻击的主要目标,可能因其数据价值较高。
3.4 数据泄露量分布
plt.figure(figsize=(12, 6))
sns.histplot(df['数据泄露量 (GB)'], kde=True, color='teal', bins=40)
plt.title('Distribution of Data Breach Volume (GB)')
plt.xlabel('Data Breached (GB)')
plt.tight_layout()
plt.show()
3.5 财务影响分布
plt.figure(figsize=(12, 6))
sns.histplot(df['财务影响 ($M)'], kde=True, color='coral', bins=40)
plt.title('Distribution of Financial Impact ($M)')
plt.xlabel('Financial Loss ($M)')
plt.tight_layout()
plt.show()
3.6 安全漏洞类型分布
plt.figure(figsize=(12, 6))
sns.countplot(x='安全漏洞类型', data=df, palette='rocket')
plt.title('Distribution of Severity Levels')
plt.xlabel('Security Vulnerability Type')
plt.ylabel('Number of Attacks')
plt.tight_layout()
plt.show()
四、多维度关系可视化
4.1 年份与威胁类型的关系
plt.figure(figsize=(15, 8))
sns.countplot(x='年份', hue='威胁类型', data=df, palette='tab20')
plt.title('Threat Types Over the Years')
plt.xlabel('Year')
plt.ylabel('Number of Attacks')
plt.legend(title='Threat Type', bbox_to_anchor=(1, 1), loc='upper left')
plt.tight_layout()
plt.show()
4.2 攻击源与威胁类型的关系
plt.figure(figsize=(15, 10))
sns.countplot(y='攻击向量', hue='威胁类型', data=df, palette='Set2')
plt.title('Relationship Between Attack Vectors and Threat Types')
plt.xlabel('Number of Attacks')
plt.ylabel('Attack Vector')
plt.legend(title='Threat Type', bbox_to_anchor=(1, 1), loc='upper left')
plt.tight_layout()
plt.show()
4.3 受影响行业与威胁类型的关系
plt.figure(figsize=(15, 10))
sns.countplot(y='目标, hue='威胁类型', data=df, palette='Dark2')
plt.title('Relationship Between Affected Industries and Threat Types')
plt.xlabel('Number of Attacks')
plt.ylabel('Industry')
plt.legend(title='Threat Type', bbox_to_anchor=(1, 1), loc='upper left')
plt.tight_layout()
plt.show()
4.4 不同威胁类型的数据泄露量与财务影响的关系
plt.figure(figsize=(12, 8))
sns.scatterplot(x='数据泄露量 (GB)', y='财务损失(单位:百万美元)', data=df, hue='威胁类型',alpha=0.6, color='purple')
plt.title('Relationship Between Data Breached and Financial Impact')
plt.xlabel('Data Breached (GB)')
plt.ylabel('Financial Loss ($M)')
plt.tight_layout()
plt.show()
4.5 安全漏洞类型与事件解决时间(小时)的关系
plt.figure(figsize=(12, 8))
sns.boxplot(x='安全漏洞类型', y='事件解决时间(小时)', data=df, palette='muted')
plt.title('Relationship Between Severity Type and Response Time')
plt.xlabel('Severity Type')
plt.ylabel('Response Time (Hours)')
plt.tight_layout()
plt.show()
4.6 使用的防御机制与威胁类型的关系
plt.figure(figsize=(15, 10))
sns.countplot(y='使用的防御机制', hue='威胁类型', data=df, palette='tab20b')
plt.title('Relationship Between Mitigation Strategies and Threat Types')
plt.xlabel('Number of Attacks')
plt.ylabel('Mitigation Strategy')
plt.legend(title='Threat Type', bbox_to_anchor=(1, 1), loc='upper left')
plt.tight_layout()
plt.show()
4.7 国家与目标行业的关系
# 提取前10个国家进行展示
top_countries = df['国家'].value_counts().index[:10]
country_industry_df = df[df['国家'].isin(top_countries)]plt.figure(figsize=(15, 10))
sns.countplot(y='国家', hue='目标行业', data=country_industry_df, palette='Spectral')
plt.title('Relationship Between Countries and Affected Industries')
plt.xlabel('Number of Attacks')
plt.ylabel('Country')
plt.legend(title='Industry', bbox_to_anchor=(1, 1), loc='upper left')
plt.tight_layout()
plt.show()
五、总结与洞察
通过以上多维度的可视化分析,我们得出以下关键洞察:
-
攻击事件逐年增长:尤其在近几年,网络安全威胁呈现快速上升趋势,企业需加强防护能力。
-
行业差异显著:IT和银行行业是攻击的主要目标,因其数据价值高且系统复杂度高。
-
威胁类型集中:恶意软件和DDoS攻击是最常见的威胁类型,企业需针对性加强防护。
-
攻击向量与威胁类型关联紧密:例如网络钓鱼常与恶意软件相关联,SQL注入多与数据泄露相关。
-
数据泄露与财务损失正相关:泄露量越大,经济损失往往越高,凸显数据保护的重要性。
-
严重性级别影响响应时间:高危事件处理时间更长,需优化应急响应流程。
这些可视化结果为网络安全研究和防护策略制定提供了数据支持,帮助企业和组织更好地理解和应对网络安全威胁。
相关文章:

【数据可视化-27】全球网络安全威胁数据可视化分析(2015-2024)
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...

【6G 开发】NV NGC
配置 生成密钥 API Keys 生成您自己的 API 密钥,以便通过 Docker 客户端或通过 NGC CLI 使用 Secrets Manager、NGC Catalog 和 Private Registry 的 NGC 服务 以下个人 API 密钥已成功生成,可供此组织使用。这是唯一一次显示您的密钥。 请妥善保管您的…...
计算机视觉各类任务评价指标详解
文章目录 计算机视觉各类任务评价指标详解一、图像分类(Image Classification)常用指标1. 准确率(Accuracy)2. Top-k Accuracy3. 精确率(Precision)、召回率(Recall)、F1 分数&#…...

SIEMENS PLC程序解读 -Serialize(序列化)SCATTER_BLK(数据分散)
1、程序数据 第12个字节 PI 2、程序数据 第16个字节 PI 3、程序数据 第76个字节 PO 4、程序代码 2、程序解读 图中代码为 PLC 梯形图,主要包含以下指令及功能: Serialize(序列化): 将 SRC_VARIABLEÿ…...

宁德时代25年时代长安动力电池社招入职测评SHL题库Verify测评语言理解数字推理真题
测试分为语言和数字两部分,测试时间各为17分钟,测试正式开始后不能中断或暂停...
python源码打包为可执行的exe文件
文章目录 简单的方式(PyInstaller)特点步骤安装 PyInstaller打包脚本得到.exe文件 简单的方式(PyInstaller) 特点 支持 Python 3.6打包为单文件(–onefile)或文件夹形式自动处理依赖项 步骤 安装 PyIns…...
数据加密技术:从对称加密到量子密码的原理与实战
数据加密技术:从对称加密到量子密码的原理与实战 在网络安全体系中,数据加密是保护信息机密性、完整性的核心技术。从古代的凯撒密码到现代的量子加密,加密技术始终是攻防博弈的关键战场。本文将深入解析对称加密、非对称加密、哈希函数的核…...
高性能的开源网络入侵检测和防御引擎:Suricata介绍
一、Debian下使用Suricata 相较于Windows,Linux环境对Suricata的支持更加完善,操作也更为便捷。 1. 安装 Suricata 在Debian系统上,你可以通过包管理器 apt 轻松安装 Suricata。 更新软件包列表: sudo apt update安装 Suricata: sudo apt …...

【硬核解析:基于Python与SAE J1939-71协议的重型汽车CAN报文解析工具开发实战】
引言:重型汽车CAN总线的数据价值与挑战 随着汽车电子化程度的提升,控制器局域网(CAN总线)已成为重型汽车的核心通信网络。不同控制单元(ECU)通过CAN总线实时交互海量报文数据,这些数据隐藏着车…...
React类组件与React Hooks写法对比
React 类组件 vs Hooks 写法对比 分类类组件(Class Components)函数组件 Hooks组件定义class Component extends React.Componentconst Component () > {}状态管理this.state this.setState()useState()生命周期componentDidMount, componentDidU…...

Uniapp 自定义 Tabbar 实现教程
Uniapp 自定义 Tabbar 实现教程 1. 简介2. 实现步骤2.1 创建自定义 Tabbar 组件2.2 配置 pages.json2.3 在 App.vue 中引入组件 3. 实现过程中的关键点3.1 路由映射3.2 样式设计3.3 图标处理 4. 常见问题及解决方案4.1 页面跳转问题4.2 样式适配问题4.3 性能优化 5. 扩展功能5.…...

记录一次使用面向对象的C语言封装步进电机驱动
简介 (2025/4/21) 本库对目前仅针对TB6600驱动下的42步进电机的基础功能进行了一定的封装, 也是我初次尝试以面向对象的思想去编写嵌入式代码, 和直流电机的驱动步骤相似在调用stepmotor_attach()函数和stepmotor_init()函数之后仅通过结构体数组stepm然后指定枚举变量中的id即…...

Spark-streaming核心编程
1.导入依赖: <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming-kafka-0-10_2.12</artifactId> <version>3.0.0</version> </dependency> 2.编写代码: 创建Sp…...
Exposure Adjusted Incidence Rate (EAIR) 暴露调整发病率:精准量化疾病风险
1. 核心概念 1.1 传统发病率的局限性 1.1.1 公式与定义 传统发病率公式为新发病例数除以总人口数乘以观察时间。例如在某社区观察1年,有10例新发病例,总人口1000人,发病率即为10/10001=0.01。 此公式假设所有个体暴露时间和风险相同,但实际中个体差异大,如部分人暴露时间…...

vue3+TS+echarts 折线图
需要实现的效果如下 <script setup lang"ts" name"RepsSingleLineChart">import * as echarts from echartsimport { getInitecharts } from /utils/echartimport type { EChartsOption } from echarts// 定义 props 类型interface Props {id: strin…...
MYSQL中为什么不建议delete数据
在 MySQL 中不建议频繁使用 delete 删除数据的原因主要在于性能、数据安全等方面的问题,以下是具体介绍: 性能问题 磁盘空间与碎片:delete 操作只是将数据标记为 “已删除”,并不会立即释放磁盘空间,频繁执行会导致大量…...
Linux多线程技术
什么是线程 在一个程序里的多执行路线就是线程。线程是进程中的最小执行单元,可理解为 “进程内的一条执行流水线”。 进程和线程的区别 进程是资源分配的基本单位,线程是CPU调度的基本单位。 fork创建出一个新的进程,会创建出一个新的拷贝&…...
12个HPC教程汇总!从入门到实战,覆盖分子模拟/材料计算/生物信息分析等多个领域
在科学研究、工程仿真、人工智能和大数据分析等领域,高性能计算 (High Performance Computing, HPC) 正扮演着越来越重要的角色。它通过并行处理、大规模计算资源的整合,极大提升了计算效率,使原本耗时数日的任务能够在数小时内完成。 随着计…...
[OpenGL] Lambertian材质漫反射BRDF方程的解释与推导
一、简介 本文简单的介绍了 Physical Based Rendering, PBR 中的 Lambertian 材质漫反射BRDF公式 f r l a m b e r t i a n c d i f f π fr_{lambertian}\frac{c_{diff}}{\pi} frlambertianπcdiff的推导。 二、漫反射项 根据 渲染方程: L o ( v ) ∫ …...

小火电视桌面TV版下载-小火桌面纯净版下载-官方历史版本安装包
别再费心地寻找小火桌面的官方历史版本安装包啦,试试乐看家桌面吧,它作为纯净版本的第三方桌面,具有诸多优点。 界面简洁纯净:乐看家桌面设计简洁流畅,页面简洁、纯净无广告,为用户打造了一个干净的电视操…...
VSFTPD+虚拟用户+SSL/TLS部署安装全过程(踩坑全通)
Author : Spinach | GHB Link : http://blog.csdn.net/bocai8058文章目录 前言准备配置虚拟用户1.创建虚拟用户列表文件2.生成数据库文件3.设置虚拟用户独立访问权限 配置PAM认证1.创建PAM配置文件2.测试PAM认证 创建虚拟用户映射的系统用户生成SSL/TLS证书配置VSFTPD服务1…...
07 Python 字符串全解析
文章目录 一. 字符串的定义二. 字符串的基本用法1. 访问字符串中的字符2. 字符串切片3. 字符串拼接4. 字符串重复5.字符串比较6.字符串成员运算 三. 字符串的常用方法1. len() 函数2. upper() 和 lower() 方法3. strip() 方法4. replace() 方法5. split() 方法 四. 字符串的进阶…...

androidstudio安装配置
B站配置视频AndroidStudio安装配置教程(最新版本教程)3分钟搞定 快速安装使用_哔哩哔哩_bilibili 1、环境变量 D:\AndroidSdk ANDROID_HOME ANDROID_SDK_HOME 2、新建 3、配置 distributionUrlhttps://mirrors.cloud.tencent.com/gradle/gradle-8.11.1-…...
全面解析 MCP(Model Context Protocol):AI 大模型的“万能连接器”
一、MCP 的定义与技术定位 **MCP(Model Context Protocol,模型上下文协议)**是由 Anthropic 公司于 2024 年 11 月推出的开源协议,旨在为 AI 大模型与外部数据源、工具之间建立标准化连接通道。它被业界称为 “AI 的 USB-C 接口”,通过统一的通信协议和数据结构,解决大模…...

《AI大模型趣味实战》基于RAG向量数据库的知识库AI问答助手设计与实现
基于RAG向量数据库的知识库AI问答助手设计与实现 引言 随着大语言模型(LLM)技术的快速发展,构建本地知识库AI问答助手已成为许多企业级应用的需求。本研究报告将详细介绍如何基于FLASK开发一个使用本地OLLAMA大模型底座的知识库AI问答助手&…...
Lua 第8部分 补充知识
8.1 局部变量和代码块 Lua 语言中的变量在默认情况下是全局变量 ,所有的局部变量在使用前必须声明 。 与全局变量不同,局部变量的生效范围仅限于声明它的代码块。一个代码块( block )是一个控制结构的主体,或是一个函…...
正则表达式三剑客之——awk命令
目录 一.什么是awk 二.awk的语法格式 1.选项 2. 模式(Pattern) 3. 操作(Action) 4. 输入文件(file) 5.总结 三.awk的工作原理 1. 逐行扫描输入 2. 匹配模式 1.正则表达式: 2.逻辑…...

BeeWorks Meet:私有化部署视频会议的高效选择
在数字化时代,视频会议已成为企业沟通协作的重要工具。然而,对于金融、政务、医疗等对数据安全和隐私保护要求极高的行业来说,传统的公有云视频会议解决方案往往难以满足其严格的安全标准。此时,BeeWorks Meet 私有化部署视频会议…...
[Mybatis-plus]
简介 MyBatis-Plus (简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变。Mybatis-plus官网地址 注意,在引入了mybatis-plus之后,不要再额外引入mybatis和mybatis-spring,避免因为版本…...

IPv6 技术细节 | 源 IP 地址选择 / Anycast / 地址自动配置 / 地址聚类分配
注:本文为 “IPv6 技术细节” 相关文章合集。 部分文章中提到的其他文章,一并引入。 略作重排,未整理去重。 如有内容异常,请看原文。 闲谈 IPv6 - 典型特征的一些技术细节 iteye_21199 于 2012-11-10 20:54:00 发布 0. 巨大的…...