版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、哈尔滨工程大学信息安全研究中心项目概要设计报告编号:HEUISRC-RDT-014版本:编 写: 检 查: 审 核: 批 准:密级:吕敬辉-郝建波-贺婷 日期:日期:日期:日期:版本日期作者修订要点2007-03-20杨武文件建立2007-03-21杨武内容及文档结构修订错误!未指定书签。 错误!未指定书签。错误!未指定书签。错误!未指定书签。错误!未指定书签。错误!未指定书签。 错误!未指定书签。错误!未指定书签。错误!未指定书签。错误!未指定书签。错误!未指定书签。错误!未指定书签。错误!未指定书签。错误!未指定书签。 错误!未指定书签。错误!未指定书签。错误!未指定书签。错误!未指定书签
2、。错误!未指定书签。错误!未指定书签。错误!未指定书签。 错误!未指定书签。错误!未指定书签。错误!未指定书签。 错误!未指定书签。错误!未指定书签。错误!未指定书签。错误!未指定书签。 错误!未指定书签。 错误!未指定书签。 错误!未指定书签。错误!未指定书签。错误!未指定书签。 错误!未指定书签。错误!未指定书签。错误!未指定书签。错误!未指定书签。 错误!未指定书签。目 录一、引言编写目的项目背景术语参考资料二、任务概述系统描述 开发与运行环境 开发环境的配置 运行环境的配置 测试环境的配置需求概述条件与限制三、总体设计 系统设计原则 系统网络结构 实现框架与处理流程 结构模块设计功能需
3、求与程序模块的关系 尚未解决的问题 四、接口设计外部接口 内部接口 五、数据结构设计逻辑结构设计物理结构设计 数据结构与程序代码的关系 六、数据库设计七、用户界面设计八、出错处理设计出错输出信息 出错处理对策 九、安全保密设计数据传输安全性设计 应用系统安全性设计 数据存储安全性设计 十、维护设计一、引言编写目的对网络数据流异常检测系统的整体开发进行概要设计,为系统编程提供基础支持。项目背景项目名称网络数据流异常检测,该项目主要对网络数据出现大的流量变化,尤其对 syn、fin、ping、端口和主机不可达事件进行异常检测并报警。术语缩写、术语解释libPcap捕包库函数MySQL数据库C+ b
4、uilder界面编程ODBC数据库访问接口标准adsystem服务器端数据库名Newadsystem本地绑定远程数据库的系统数据源变量参考资料二、任务概述系统描述后台:1)本系统能够对网络出入口的数据包进行分析,统计出 TCP UDR ICMP等协议以 及TCP-SYh事件、TCP-FIN事件、ICMP_PING事件、事件(主机不可达事件)、事件(端 口不可达事件)的包的数量。2)通过异常检测算法,对这些统计数量进行异常检测。根据统计结果用自回归模 型对网络数据流量进行预测,当某时刻数据流和预测结果不同时触发报警事件。数据库:将统计量、异常信息存入数据库中前台:1)进行通讯:发送给后台登录、检
5、测、关闭的标识;接收后台数据,包括登录标 识、流量包统计数及异常报警标识。2)对数据解析之后,对用户的不同类型检测的要求进行实时动态曲线的描绘;3)对异常事件进行报警4)对历史流量及异常信息进行数据库查询开发与运行环境Linux操作系统平台C+ builder 、MySQL数据库提供各种端口扫描的机器开发环境的配置类别标准配置最低配置计算机硬件计算机软件Linux、Windows 操作系统、 mysql数据库管理工具、c+ builder前台开发工具网络通信ODBC其它运行环境的配置类别标准配置最低配置计算机硬件计算机软件Linux、Windows 操作系统、mysql数据库管理工具网络通信O
6、DBC其它计算机软件:Linux、Windows操作系统、mysql数据库管理工具 网络通信:ODBC需求概述用户登录:用户输入服务器地址、用户名、密码访问,验证用户权限是否正确用户其他操作:用户的其他操作需要并行进行。包括四个部分,介绍如下:1动态实时曲线描绘:1) 配置信息,用户可自己配置流量统计时间间隔, 根据不同的流量类型,设置曲线图的数据显示高度,同时可设置曲线图的显示宽度(辅助设计);2)对于各项值,需要提供默认值,尤其数据显示高度,需根据以往的数据流量值给出一个不同类型协议或事件的参考值;3)完成信息的配置,启动检测,则在设置的时间间隔内开始描点;4)曲线的描绘:曲线为动态波动、
7、有规律进行的。2、异常检测:当后台检测到异常时,立即发出警报提示。3、历史流量数据的查询:用户可根据协议/事件类型及检测的时间范围完成历史流 量查询。4、异常流量信息查询:用户可根据协议/事件类型及检测的时间范围完成异常流量 信息查询。条件与限制三、总体设计系统设计原则在linux环境下进行系统后台的编程,用libcap库函数进行抓包,并对包进行分 析,统计出TCP UDP ICMP等协议以及TCP-SYN事件、TCP-FIN事件、ICMP_PIN(事件、 事件(主机不可达事件)、事件(端口不可达事件)的包的数量。统计完成后将数据传 递给异常检测算法和数据库,异常检测算法根据初始统计的正常数据
8、包数量对以后到达 的数据包进行预测分析,出现异常时调用socket函数传递给前台一个异常信号,C+building来进行异常报警。另外pcap统计的包的数量也要传递给前台来建立一个正常流量模型。其中向前台传递正常数据和异常信息分别用一个分线程,还有一个分线程用 来接收前台的命令。系统网络结构系统网络结构如图所示:图系统网络结构图实现框架与处理流程1、系统总体设计流程如图所示:图系统总体设计流程图图前台业务流程图结构模块设计结构模块如图所示:V4非法通法字讯符判断曲异线常描报绘警图系统结构模块2、前台业务流程如图所示:模块一览表模块名称标识符模块功能模块性能要求登录模块Logi n与后台进行连接
9、通讯;判 断字符是否合法;判断登 录,登录成功,开启主线 程。能够及时返回 用户登录信 息,提供登录 或重登录信 息。用户操作模块Con figurati on对数据库操作:保存配置 信息,提供检测启动标 识;查看历史流量信息;能快速的对数 据库进行操 作,返回用户查看异常流里信息。查询信息多线程模块TCom mun icatio nThread接收后台数据,判断数据 类型,解析数据,启动曲 线描绘函数及异常警报 线程。当用户进行检 测时,应及时 的、有规律的 描绘出曲线数据包捕获PCAP在网络数据流里捕获数 据包并对数据包进行统 计,提取出相关的数据信 息进行分析并存储于数 据库中。对TCP
10、 UDP ICMP等数据 流量进行统 计,检测出相 关数据流量的 异常。异常检测Ano maly detecti on检测异常数据流对不符合捕获 数据包正常流 量的进行检测 并报警通讯com muni cati on进行前后台的通信将统计得数据 包数量直接输 送到前台进行 显示以及异常 检测的显示。功能需求与程序模块的关系需求-弋码捕包模块异常检测模块通讯登录模块用户操作模块前台多线程模块获取原始数据流V异常数据检测V存储数据VVV查询数据库V接收数据VVVV发送数据VVVVV显示结果VV尚未解决的问题四、接口设计外部接口 内部接口 MySQL 数据库和前台 c+ builder 的连接1)连
11、接步骤第一步:使用ODB(数据库访问接口标准,绑定服务器 adsystem数据库建立一个数据源Newadsystem;第二步:使用 Databasesource (一个能和远端资料库透过 BDE进行连结的元件),绑定数 据源Newadsystem,可以储存登入资料库所需的身分认证资料,包括用户名密码,确保以后的 数据库操作中,不在需要确认;第三步:使用 Query 数据库存取元件,绑定 Databasesource ;第四步:使用 Datasource 传递元件,将 Query 取得的值传递给显示元件; 第五步:使用 StringGrid 元件,将获取到的数据显示。2)数据库连接及数据存取示意
12、图如图所示:图 数据库连接及数据存取示意图MySQL 数据库和后台 Linux 的连接主要是调用 API函数,先用 mysql_init 初始化一个sql描述符 m_sql,再用 mysql_real_connect去连接服务器上的 mysql,然后用mysql_query对数据库进行读写 操作,其中读数据库操作还要 mysql_query 和 mysql_fetch_row 来读出和存储数据库中 的值。后台 Linux 与前台界面的 socket 连接套接字有两套, 分别为后台作为 socket 服务器端前台作为 socket 客户端和后台作 为 socket 客户端前台作为 socket
13、服务器端。也是调用相关的 API 函数来实现套接字连 接与通信,其中服务器端先用 socket 函数初始化一个 socket 描述符 sock_fd ,对 sockaddr_in 结构体的成员变量进行赋值,其中 sin_family 为 AF_INET, sin_port = 为 4005,地址是本地地址, 完了以后用 bzero 函数将结构体其余空间清零, 然后用 bind 函数进行端口与本地地址绑定,用 listen 函数来监听是否用连接,用连接是用 accept 函数生成一个连接socket描述符new_fd,用recv函数来接受前台传来的数据。五、数据结构设计 逻辑结构设计 1)后台T
14、CPtypedef struct tcp_node/存储 TCP 流量的循环链表,结构体初始化流量大小定义指针int value; /TCP struct tcp_node *next;/ tcp_node; tcp_node *head,*tail;/TCP typedef struct tcpsyn_node/ int value; /TCPSYN struct tcpsyn_node *next;/循环链表头尾指针存储TCPSYN流量的循环链表,结构体初始化流量大小定义指针tcpsyn_node;tcpsyn_node *head,*tail;/TCPSYN 循环链表头尾指针typede
15、f struct tcpfin_node/int value; /TCPFIN struct tcpfin_node *next;/ tcpfin_node;tcpfin_node *head,*tail;/TCPFIN存储 TCPFIN 流量的循环链表,结构体初始化流量大小定义指针循环链表头尾指针typedef struct udp_node/存储UDP流量的循环链表,结构体初始化int value;/UDPstruct udp_node *next; / tcpudp_node; udp_node *head,*tail;/UDP typedef struct icmp_node/int
16、value; /ICMP流量大小定义指针循环链表头尾指针typedef struct icmpping_node/int value; /ICMPPINGstruct icmpping_node *next;/流量大小定义指针循环链表头尾指针存储 ICMP 流量的循环链表,结构体初始化struct icmp_node *next;/ icmp_node;icmp_node *head,*tail;/ICMP存储ICMPPING流量的循环链表,结构体初始化流量大小定义指针icmpping_node;icmpping_node *head,*tail;/ICMPPING 循环链表头尾指针typed
17、ef struct icmp31_node/ 存储 ICMP31 流量的循环链表,结构体初始化流量大小定义指针循环链表头尾指针int value; /ICMP31 struct icmp31_node *next;/ icmp31_node;Icmp31_node *head,*tail;/ICMP31typedef struct icmp33_node/ int value; /ICMP33struct icmp33_node *next;/存储 ICMP33 流量的循环链表,结构体初始化流量大小定义指针icmp33_node;Icmp33_node *head,*tail;/ICMP33
18、循环链表头尾指针2)前台实现登录功能,创建的类函数,主要完成用户登录及通讯class TLoginForm : public TForm _published:系统自定义的控件private: / User declarationspublic: / User declarations_fastcall TLoginForm(TComponent* Owner); / 登录表单的构造函数AnsiString Judgement(AnsiString EditContent); / 非法字符判断函数AnsiString GetLLtime ; / 保存获取到的系统时间的变 量AnsiString
19、 ServiesAddress; / 保存服务器地址的变 量; 实现流量检测,包括异常流量报警,正常流量曲线模型的绘制;实现历史流量及异 常流量的历史数据查询操作,对数据库进行取操作。class TConfigurationForm : public TForm_published:/声明系统的控件及方法函数private:/ User declarationspublic:/ User declarations_fastcallTConfigurationForm(TComponent* Owner);/ 配置窗口的构造通函数int _fastcall connect_database1(A
20、nsiString Ip);/Socket讯函数坐标宽度变量坐标高度变量 描绘曲线函数函数 保存配置信息时间差 保存配置完成标识符 历史流量数据库查询函数 所需查询的历史流量类型 记录从历史流量表查询到的记录int AERecordCount; / 数int sock_fd, numbytes; 量char recvbuf100;char sendbuf100;char command20;线程的执行方法函数线程的构造函数 连接函数报警线程的执行方法函数int wWidth; /int WHight; / void DrawDot (int DotValue,int count); / int
21、 TCtime; /int SummitMessage;/void CheckHistoryDatabass();/AnsiString HistoryType; /int SumCount; /数记录从异常流量数据库中获取到的记录/ 通讯端口使用的全局变/ 接收后台数据/ 发送数据/ 发送关闭值;主线程类函数,用于保持接收后台数据,并且进行数据解析,曲线绘制函数的调用 及异常报警线程的调用。class TCommunication : public TThreadprivate:protected:void _fastcall Execute(void); /int Communicatio
22、nSelect;public:_fastcall TCommunication(); / AnsiString _fastcall Connect(); / ;从线程类函数,用于实现异常报警。 class TWarningThread : public TThread private: protected:void _fastcall Execute(void); / public:报警线程的构造函数_fastcall TWarni ngThread();/An siStri ng TempMessage;物理结构设计数据结构与程序代码的关系,结代码捕包模块异常检测模块数据库模块前台struc
23、t ether_headerVVVstruct in _addrVVVstruct arp_headerVVVstruct ip_headerVVVstruct udp_headerVVVstruct tcp_headerVVVstruct icmp_headerVVVstruct Lin klistVclass TLog inFormVclassTCon figuratio nF ormVVclass TCom muni cati onVclass TWarnin gThreadV六、数据库设计异常信息表a_yichang (对异常时间段内异常包的信息进行统计)。其中Yprotocol表示包
24、出 现异常的协议类型,Yevent表示包出现异常的事件类型,Ytime表示统计异常事件发 生的时间,Ynumber表示异常事件还有此类型事件的个数。表 异常信息表(a_yichang)字段含义字段名称数据类型长度空备注IDIDIntP 11否主键,自增协议类型YprotocolVarchar10时间类型Yeve ntVarchar10检测时间YtimeDatatime异常包个数Ynu mberInt10流量表a_liuliang(对包中的tcp等协议流量以及tcp-syn等事件流量进行统计)。其中Ltcp表示单位时间内捕获的tcp协议的包的数量,Ludp表示单位时间内捕获的udpicmp协议的
25、包的数量,Lsyn表示单 表示单位时间内捕获的含有fin事件 ping事件的包的数量,Lzhu表示单 Lduan表示单位时间内捕获的含有协议的包的数量,Licmp表示单位时间内捕获的 位时间内捕获的含有syn事件的包的数量,Lfin 的包的数量,Lping表示单位时间内捕获的含有 位时间内捕获的含有主机不可达事件的包的数量,端口不可达事件的包的数量表流量表(a_liuliang)字段含义字段名称数据类型长度空备注IDIDInt11否:主键,自增Tcp包数量LtcpInt10Udp包数量LudpInt10Icmp包数量LicmpInt10Syn包数量Lsy nInt10Fin包数量LfinInt10Ping包数量LpingInt10包数量LzhuInt10包数量Ldua nInt10检测时间LtimeDatatime配置信息表a_configuration(前台给后台配置时间窗口大小)。Ctime表示前台给后台传的的捕包的窗口大小。表 配置信息表(a_configuration)字段含义字段名称数据类型长度空备注IDIDInt11否主键,自增统计流量时间差CtimeVarchar10用户表表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年两当县医疗事业单位人员招聘考试参考题库及答案解析
- 2026年晴隆县医疗事业单位人员招聘笔试备考题库及答案解析
- 2026年武定县医疗事业单位人员招聘考试参考题库及答案解析
- 2026年志丹县中小学幼儿园教师招聘笔试备考试题及答案解析
- 2026年万安县医疗事业单位人员招聘笔试备考题库及答案解析
- 2026年揭西县医疗事业单位人员招聘考试模拟试题及答案解析
- 2026年舞阳县医疗事业单位人员招聘笔试备考题库及答案解析
- 2026年肃北蒙古族自治县医疗事业单位人员招聘笔试模拟试题及答案解析
- 2026年永新县医疗事业单位人员招聘考试备考试题及答案解析
- 2026年涡阳县带编教师招聘笔试备考题库及答案解析
- 福建省福州市2027届高三上学期开学适应性练习英语试卷(含答案)
- GB/T 31880-2026检验检测机构诚信基本要求
- 2026 年夏季四防洪涝过后复工复产安全课件
- 2026秋新教材人教版五年级上册数学《观察简单组合体》教学设计(3课时)
- 1.4 人口普查 课件(共25张) 北师大版数学四年级上册
- 妊娠期妇女心肺复苏急救指南(2025版)中文版+围产期急救操作规范
- 2026年福建省公需课培训(专业技术人员继续教育)试题及答案
- 精益基础考试题及答案
- 2026年四川省成都市中考语文真题(试题+答案)
- 2025中国联通广东省分公司校园招聘(174个岗位)笔试历年参考题库附带答案详解
- (正式版)DB11∕T 065-2022 《电气防火检测技术规范》
评论
0/150
提交评论