温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片!
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片!
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片!
流量安全检测系统
网站具有安全检测与安全防护两大功能块,细化目前安全检测有端口异常监测,风险IP监测,服务器访问量等;安全防护目前正在完善中,具有入侵防御,DDos防护,黑白名单等;
识别并告警危险ip或动作,我们设置了一个危险特征库,库里有已公布的危险特征信息,每条流量都会进行匹配,一旦出现与特征库吻合信息,系统就会将此信息标红警告;首先看到的是我们的系统登陆界面,密码传输采用MD5加密,确保敏感信息传输的安全性;用户名密码输入无误登录后,系统自动获取登录者IP信息并记录到登录日志。
背景
A. 系统名称:基于流量的安全检测分析平台
B. 该系统主要用安全防护,筛选出有威胁的流量加以控制
C. 网络安全形式日趋复杂,信息泄露时有发生,做好网络安全检测与控制尤为重要;
进入首页后,页面展示了系统访问次数,设备数量,站点数量,告警信息数量等信息;表格滚动展示登录日志详细信息;底部以折线统计图形式展示服务器访问量排行以及攻击类型统计排行情况,管理员可直观的获取到系统概要信息。
点击导航栏流量监控大屏后,跳转至大屏界面,大屏中清晰直观的展示了各类流量检测结果统计数据,使得管理人员更清晰直观的对内部网络安全态势及事件进行监控与管理,后面我们将对其进行深度优化,使得流量分析更直观,更具体。
点击导航栏日志信息,页面目前显示告警日志,直观展示五元组信息,可对日志进行查询操作。
点击导航栏中安全检测的端口异常检测后,跳转至检测界面,检测原理主要根据服务器敏感端口,比如21号FTP,22号SSH,23号Telnet,3306mysql数据库等端口服务,像木马外连,异常访问端口等情况进行检测。我们使用线程来模拟流量数据,点击开始检测后,所有数据流量都在右侧栏进行展示,当检测到异常流量后,会在左侧栏进行展示,并记录到端口异常连接告警日志并可对其进行阻断。
点击导航栏风险IP检测,该功能通过用户流量信息与特征库数据进行匹配,显示分险IP的攻击名称、IP归属地等主要信息;方便管理员对其定位,判断非误报情况后,可点击阻断按钮对其进行阻断;点击后将加入黑名单。下面以饼状图形式对各类攻击类型的数量进行展示。
点击导航栏安全检测中的服务器访问数,展示服务器访问数量排行情况,以柱状图形式对其展示。
点击黑白名单,页面展示黑边名单的具体信息,可对其进行增删改查等操作,进行访问控制。IP被加入黑名单后,将无法登录站点。
除此之外,我们还覆盖ddos攻击检测、入侵防御等功能,并在物理服务器与网站的真实场景下得到应用;
核心算法代码分享如下:
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
from tensorflow.keras.utils import to_categorical
# 假设我们有一个CSV文件包含流量数据
# 数据格式:时间戳, 源IP, 目标IP, 源端口, 目标端口, 协议, 数据包长度, 数据包数量, 标签(0表示正常,1表示恶意)
data_path = 'traffic_data.csv'
# 读取数据
df = pd.read_csv(data_path)
# 特征选择(排除时间戳和IP地址)
features = ['source_port', 'destination_port', 'protocol', 'packet_length', 'packet_count']
X = df[features].values
y = df['label'].values
# 数据预处理
# 将协议从文本转换为数值(假设协议只有TCP, UDP, ICMP三种)
protocol_mapping = {'TCP': 0, 'UDP': 1, 'ICMP': 2}
X[:, 2] = [protocol_mapping[protocol] for protocol in df['protocol'].values]
# 数据标准化
scaler = StandardScaler()
X = scaler.fit_transform(X)
# 将标签转换为one-hot编码
y = to_categorical(y)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 构建模型
model = Sequential()
model.add(Dense(64, input_dim=X_train.shape[1], activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(32, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(y_train.shape[1], activation='softmax'))
# 编译模型
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
# 训练模型
model.fit(X_train, y_train, epochs=50, batch_size=32, validation_split=0.2)
# 评估模型
loss, accuracy = model.evaluate(X_test, y_test)
print(f'Test Accuracy: {accuracy:.4f}')
# 使用模型进行预测(示例)
sample_data = np.array([[1234, 80, 0, 500, 10]]) # 示例数据(需先经过同样的预处理)
sample_data = scaler.transform(sample_data)
prediction = model.predict(sample_data)
predicted_class = np.argmax(prediction)
print(f'Predicted Class: {predicted_class} (0: Normal, 1: Malicious)')
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 计算机毕业设计Python+大模型流量安全检测系统 信息安全 网络安全 机器学习 深度学习 数据可视化 大数据毕业设计
发表评论 取消回复