APP下载

网上信息侦听与分析系统的设计

2014-09-07王超WANGChao

价值工程 2014年12期
关键词:黑名单报文数据包

王超WANG Chao

(辽宁建筑职业学院,辽阳111000)

0 引言

互联网带给人们便利的同时,各种非法信息也迅速蔓延,为有效地屏蔽网络上的非法信息,本文提出了在Linux平台下对接收到的网络数据包进行分析,过滤各种不良信息的一种解决方案。

1 系统设计

1.1 系统结构设计 基于网络监听的数据包捕获技术广泛应用于各种有关网络信息安全的软件设计中。本系统是由一个Mirroring Tap、一个L4 switch和四个服务器(拦截服务器、分配服务器、消息服务器和NMI服务器)等部分组成。

1.2 功能模块设计 本系统采用由上到下的模块化的设计思想,将系统划分为:网络数据包捕获、数据分析、响应、存储、规则解析、界面管理等模块。系统结构图如图1所示。

1.2.1 网络数据包捕获模块 此模块将采用BPF捕获机制,借助Libpcap库函数,从以太网中捕获数据包,并负责对数据进行简单的过滤,以方便分析模块进行处理。主要包括开启网络设备、接受网络数据包两部分。首先找到当前机器可用的网络接口,注册网卡接口。同时,设置过滤条件,设置网卡为混杂工作模式。经过网卡混杂模式的设置,当一个数据包到达网络接口时,利用套接字接口可以将网络低层数据包捕获,并将数据包信息写入缓存区,为后续的功能模块的实现提供条件。

图1 系统结构图

1.2.2 数据分析模块 此模块可以通过简单网络协议分析和模式匹配与状态协议分析,并结合规则解析模块比对规则特征数据库中的规则特征,分析出两类数据包。一种是对不良信息的请求数据包,另一种是网络上的恶意数据包。此模块分析的结果将是响应模块的依据。

该模块下又分为提取数据包信息子模块、获取用户请求URL子模块、判断用户请求数据子模块、IP数据包重组子模块和TCP协议状态分析处理子模块。

提取数据包信息子模块就是通过简单协议分析,判定数据包中各层协议的类型,依据不同的协议类型提取数据包中的信息,再交由不同的分析函数作进一步处理。对于URL黑名单模式,则提取出数据包中的应用层信息。获取用户请求URL子模块是获取用户请求URL完成对应用层数据的处理,对HTTP请求报文进行处理。通过对GET后的URL和Host首部字段值的提取,按照定义格式得到用户请求的URL。判断用户请求数据子模块是对于URL黑名单模式,通过比对URL黑名单,对用户请求URL的安全性进行判断。对于入侵检测模式,要对数据包的行为做出分析判断。IP数据包重组子模块对于因在网路传输中出现的IP分片,能够实现重组操作,还原原有信息。TCP协议状态分析处理子模块可以对TCP报文的行为状态做出判断处理,能够应对常见的SYN Flooding攻击。

1.2.3 响应模块 此模块将实现两项主要功能。一是对于不良信息请求的HTTP重定向,以实现对于不健康网站、网页等的屏蔽。二是对于入侵事件作出相应的处理,如发出警报、切断链接等。该模块又包含以下四个模块:创建套接字接口子模块、创建HTTP重定向报文子模块、切断TCP请求子模块和事件报警模块。

创建HTTP重定向报文子模块是在拦截模块中,需要创建一个TCP原始套接字,用来向用户和有害网站服务器发送拦截消息数据包和TCP Reset数据包。

创建HTTP重定向报文是调整套接字层参数,包括调整错误处理、数据缓冲、地址处理、端口处理和收发数据的超时参数等。在网络协议的不同层次对参数进行调整,使用 AF_INET(如 IPv4、UDP、TCP、ICMP 等协议)的特定方面进行调整。填充头部信息是按照IP数据报格式和TCP数据报格式来填充拦截消息数据包和TCP Reset数据包的IP头部和TCP头部字段,保证数据包发送的可靠性。最后向用户发送拦截消息数据包,使用户在浏览器看到拦截消息页面,使用户浏览器重定向到健康的网站。

切断TCP请求是当系统处于URL黑名单模式时,系统会向不良网站的服务器发送为RST的TCP报文,以切断已经建立的连接。

事件报警模块是当发生入侵事件,系统会采用两种方式报警,一是写日志记录,二是采用声音报警。

1.2.4 存储模块 该模块实现添加记录和读取记录两项功能。添加记录可以保存经过分析网络信息。读取记录是读出入侵规则,URL黑名单等。

1.2.5 规则解析模块 该模块中包含初始化规则模块和规则匹配模块。规则解析模块是当开机时将保存在文件中的规则逐条读入内存。规则匹配是依据模式匹配与协议分析技术判断入侵事件。

1.2.6 界面管理模块 系统可以以图形界面的方式提供使用,为用户操作给予便利。

1.3 工作流程 首先明确系统的需求,根据系统需求完成系统的硬件结构设计、功能模块设计和数据结构设计。设计好系统每个模块中各个功能的完整工作流程,使这些功能都能作为一个完整的程序框架,然后编写代码,使之完善。

1.4 结果输出 依据用设定的模式不同,系统的结果输出部分分为两种:一是在URL黑名单模式中,若用户访问URL存在拦截目录中,系统输出的是一个发给用户的拦截消息(Web Direction)和一个发给有害网站的TCP Reset,内容就是一个网络数据包,客户在浏览器上看到的是一个拦截页面;二是在入侵检测模式中,当检测到入侵事件时,系统能够给出应对措施,并做好日志记录。

2 结语

本文描述了网上侦听与分析系统的总体结构和整体设计概念,解析了系统实现的流程,给出了模块之间的相互关系,对各个模块的功能进行了描述,体现了系统的设计思想。该系统实现了对于各种不良信息的屏蔽;能实现入侵检测分析和处理。

[1]兰超,王静.网络攻击中的监听技术分析[J].兵工自动化,2007(07).

[2]赵谦.基于Linux下的网络监听技术[J].贵州科学,2007(S1).

[3]魏文清,王长征.Linux下的TCP/IP架构与网络监听技术[J].计算机与现代化,2005(12).

[4]姚越.Linux环境下防火墙功能的实现[J].北京劳动保障职业学院学报,2008(02).

猜你喜欢

黑名单报文数据包
基于J1939 协议多包报文的时序研究及应用
防晒黑名单?第2款就翻车了!
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
SmartSniff
受惩黑名单
受惩黑名单
黑名单
ATS与列车通信报文分析
视觉注意的数据包优先级排序策略研究