邮件监测系统在POP3基础上的研究与实现

论文价格:0元/篇 论文用途:仅供参考 编辑:论文网 点击次数:0
论文字数:**** 论文编号:lw20233258 日期:2023-06-27 来源:论文网

第一章绪论

1.1课题背景及意义
随着互联网Internet的发展,电子邮件逐渐普及并成为互联网上最广泛的应用之一。但互联网上垃圾邮件泛滥成灾,且日益激烈,同时,在信息化的日益发展的今天,单位公司的内部资料、商业机密等,很可能会通过邮件被泄漏。
根据中国互联网协会反垃圾邮件中心的2013年第一季度最新统计,中国网民每周收到垃圾邮件的数量为14.6封,垃圾邮件占比37.37%,企业邮箱的综合UEI为63.2,用户收到最多的是欺诈类、网站推广类和病毒类垃圾邮件[1]。网络的迅速发展、网络通信成本降低给垃圾邮件、钓鱼邮件、病毒邮件群发奠定基础,邮件群发工具、黑客攻击、病毒泛滥等现象,为发送垃圾邮件提供了便捷。
同时,在竞争日益激烈的商业背景下,由于邮件系统自身的安全缺陷及企业员工安全防范意识薄弱,电子邮件成为有意或无意地泄漏信息的载体。企业员工在缺乏安全防范意识的情况下,通过邮件进行各种违反保密规定的操作,导致公司内部资料、知识产权资料被泄漏,给公司带来无法挽回的损失。
邮件不再仅以顺利传输为目标,还必须考虑如何防止邮件被截取,涉密信息泄漏等。因此,企业需要拥有一种手段,能够用来监控企业内部网络与外界网络的邮件通信情况,对企业内部的各种业务往来的邮件进行存储和审计追查,可以防止知识产权信息、企业资料的泄漏,从一定程度上保证企业的利益。同时为企业内部制造良好的邮件环境,对来自外部网络的垃圾邮件、病毒邮件、钓鱼邮件进行监控,为反垃圾邮件服务器的配置提供依据,保证了企业用户的邮箱环境安全,同时确保企业内部的邮件服务器的稳定运行。
综上可见,自主开发一个高可靠、可用的邮件监控系统是非常重要的。研究开发基于POP3的邮件监测系统,能够对接收的邮件系统进行过滤并实施审计,将发送垃圾邮件的邮箱列入黑名单中,通过设置敏感关键词,对存在关键词的邮件进行监测,保存邮件原文信息。同时能够使企业员工更好的使用电子邮件,对特定的发送人或收件人的邮箱或邮件进行业务交互的监控,统计出企业内部接收的垃圾邮件的特点,从而为企业内部进行反垃圾邮件的配置提供依据,为企业创造更安全的邮件环境,为企业更好的进行网络信息化建设奠定基础。
.......................................

1.2国内外研究现状
在邮件监控领域,很多国内外的科研人员对邮件监控技术做了研究与探讨,广泛重视,并己取得了一定的成果,已有一些成型的邮件监测系统。
国内的邮件过滤系统一般都是共享软件,需要用户购买,一般用来监测局域网内的邮件的信息。邮件监测系统大部分都是在企业网络出口处工作,对进出企业网络出口处的数据包进行捕获、分析。
例如,梭子鱼垃圾邮件防火墙[2],EQManager邮件安全网关[3],亿邮反垃圾邮件网关,启明星辰天清防垃圾邮件网关[4]等产品,但邮件网关集成在硬件服务器中,不仅价格较为昂贵,而且以直路的方式对邮件进行拦截,在应用时配置复杂,多道检测机制过于复杂,降低检测效率,同时可能造成误判等情况,从而导致企业重要邮件被误判为垃圾邮件,这样会给企业造成一定的损失。
国外的邮件监测系统,例如美国联邦调查的DCSl000,其具备监视可疑的电子邮件功能,监视识别可疑的IP地址。美国国家安全局的“阶梯(Echelon)”的计划,可对全球传递的电子邮件、传真、电话进行监测[5]。DCSl000及Echelon等系统是采用旁路监听的模式。
国内外许多学者、科研人员在研究邮件监测相关关键技术,优化邮件监测系统功能,提高邮件监测系统的性能。
北京邮电大学的王极等研究实现了采用人工智能和自然语言处理技术来实现判定电邮内容所讨论的主题类别,具有内容的监控和过滤的电邮监控系统,实现高质量的精确过滤[6]。
电子科技大学的梁荣金设计并实现了基于贝叶斯算法的垃圾邮件过滤系统[7],应用于企业内部的垃圾邮件监控。
大连理工大学的张宝伟提出了基于旁路侦听技术邮件检测系统,采用旁路方式捕获网络中通信的数据流,进行数据包重组,并实现应用层的协议还原[8]。旁路监听系统捕获的数据包,通过协议栈的IP数据包的重组和数据流的协议还原,生成应用层协议的数据包,并采用高效的关键词匹配算法进行检测识别,实现邮件监测功能。
........................................

第二章基础理论概述与关键技术研究现状

2.1引言
本章阐述基于POP3的邮件监测系统研究开发的理论基础及实现过程中用到的相关关键技术,重点从并行化线程池调度机制、文本敏感关键词的模式匹配等关键技术的研究现状进行分析总结。
.........................................

2.2相关理论及系统开发技术
2.2.1POP3协议
POP3协议是本课题研究实现的基础,只有对POP3协议有了充分的了解才能实现基于POP3的邮件监测系统。POP3属于TCP/IP协议族,根据RFC1939可知,POP3协议可以让邮件用户从邮件服务器上把邮件存储到客户端处,也可以删除在邮件服务器上的邮件[9]。
POP3协议包含了三种状态:认证、处理、更新状态。在认证阶段,客户端与POP3服务器建立连接后,客户端发送邮箱用户名和密码信息到POP3服务器端进行解析认证,当通过POP3服务器的认证后,则进入处理状态,在客户端可以通过list命令读取相关邮件,当客户端发出quit命令,则进入更新状态,开始下载未处理的邮件到客户端处,最后客户端才与服务器的断开连接。如图2-1所示:

2.2.2MIME邮件
MIME是电子邮件的重要内容规定和描述电子邮件信体格式,其全称是“MultipurposeInternetMailExtensions”多用途网际邮件扩充协议。MIME支持非ASCII字符、二进制附件等格式邮件,是当前标准的电子邮件格式[10]。
一封普通的电子邮件中包含邮件头及邮件体等信息,MIME格式邮件头主要字段如下:
MIME-Version:这个头提供了所用MIME的版本号。
From:发件人。
To:收件人。
Cc:抄送人。
Subject:主题。
Date:邮件时间。
Received:邮件传输路径。
Content-Type:数据的类型。
Content-Transfer-Encoding:邮件内容的传输编码,用于信息解码。
2.2.3Libnids简介
Libnids是课题开发后台捕包过程中使用的工具,它提供了强大的数据包捕获重组功能。Libnids是基于Libcap和Libnet而开发的,Libnids的主要功能包括捕获网络数据包、IP数据包重组、TCP数据流重组以及端口扫描攻击检测和异常数据包检测等[11]。
利用Libnids可以在数据包捕获时合理地设计并设置相应的过滤规则,并完成对所捕获的数据包的分析。同时,Libnids提供了TCP数据流、IP分片的重组功能,所以Libnids可以分析过滤面向连接的网络数据包。在本课题的POP3邮件监测系统中使用libnids,主要利用它的TCP数据流的重组功能,通过TCP数据流的重组后,过滤POP3110端口信息,得到应用层POP3协议数据信息,从而实现对POP3邮件协议数据包的识别。
.......................................

第三章POP3邮件监测系统需求分析与设计............................................................13
3.1需求分析..................................................................13
3.1.1用户需求.......................................................13
3.1.2功能需求..................................................13
3.2系统总体框架.........................................................14
3.2.1系统网络结构................................................15
3.2.2系统体系结构.......................................15
3.3系统前台设计.............................................................16
3.4系统后台设计...............................................................21
3.4.1后台主控模块.....................................................22
3.4.2数据包捕包模块........................................................23
3.4.3POP3协议解析模块........................................................24
3.4.4邮件原文解析线程池..................................................24
3.4.5邮件敏感关键词检测模块...............................................32
3.4.6病毒邮件扫描模块..............................................35
3.5本章小结.........................................................36
第四章POP3的邮件监测系统的实现................................................37
4.1开发环境及工具..............................................................37
4.1.1Linux操作系统和GCC简介.......................................................37
4.1.2前台页面开发工具..................................................37
4.2系统实现...............................................................37
4.2.1前台页面设计与实现............................................37
4.2.2后台主控模块实现...................................................41
4.2.3libnids捕包模块实现.......................................................42
4.2.4POP3协议及邮件原文解析的实现...........................................44
4.2.5邮件敏感关键词检测的实现................................................48
4.2.6病毒邮件过滤的实现..........................................................50
4.3本章小结.....................................................................52

第五章POP3的邮件监测系统的测试和应用场景

5.1引言
软件工程最后一个环节是进行系统测试,也是保证软件系统的质量的关键环节。本章首先为了证明所提出的的两个关键技术解决方案的可行性,需对所提出的关键技术解决方案进行模块方案局部测试,然后再进行系统关键功能的测试,最后给出了本课题研究的系统的应用场景。

5.2基于信息熵的线程池调度技术测试
5.2.1测试实验环境
该模块的测试采用对比实验的方式进行。
测试的硬件环境有1台高性能服务器(双路四核,CPU为Intel,主频为2.8G,网卡:2块千兆网卡,内存:2G),客户机普通PC:5台。
软件环境:linuxAS5.0,测试工具主要有Foxmail邮件客户端、邮件群发器。
5.2.2测试过程
该模块的测试,主要是将基于信息熵的线程池调度技术与基于轮询的线程池调度技术进行对比,对大量待处理的邮件原文,用两种不同策略的线程调度器进行任务分发,线程池并发10个邮件原文解析线程,用邮件群发器模拟大量的邮件发送,在本次的实验中,不断接收邮件群发器发送的邮件原文,并写入线程池的待处理的邮件原文队列,分别统计两种不同的策略,在群发相同大小的邮件和不同大小的邮件情况下,平均处理耗时对比。
1)在高性能服务器端,启动邮件接收监听程序,并初始化基于信息熵的调度技术的线程池的参数。
2)在5台客户端普通PC机器上,使用邮件群发器分别发送2000封邮件,大小为10k。
3)统计服务器端接收到每一封邮件后,处理邮件的平均消耗的时间。
4)修改线程池的调度策略后,采用基于线程轮询的调度策略,再次重复步骤1-3。
5)在步骤2)中,使用邮件群发器发送邮件大小10-100K之间的大小不等的邮件,重复上述实验过程,分别记录两种不同策略下的邮件原文解析的平时耗时。
5.2.3测试结果与分析
根据统计学方法,将基于信息熵的线程池调度与基于线程轮询的线程池调度在置信区间为95%时进行数据分析,两种不同策略的邮件处理平均耗时结果如表5-1所示。

从上述统计分析结果可以看出,当邮件大小相等的情况下,基于线程轮询的调度要略优于基于信息熵的线程池调度方法,对于线程轮询的方法,按照线程池中的多个邮件原文解析线程依次轮询分配任务,当每次分配的任务大小一致情况下,基于线程轮询的调度能确保线程池的线程均匀分配,实现真正的并发线程处理,基于信息熵的线程池通过信息熵得到每个线程的综合属性值,选择综合属性值最高的线程。
当每次分配的任务大小不一致情况下,基于信息熵的线程池调度明显优于基于线程轮询的调度方法,因为基于线程轮询的调度方法不考虑每个邮件原文解析线程实际的任务处理量和每个任务的处理耗时,可能导致某些线程的任务缓存环中的堆积较多邮件大小较大的任务,而其他线程则可能分配到邮件大小较小的任务,可以迅速处理完,然后线程处于空闲状态,两种不同的线程池调度策略,在邮件处理的平均耗时中,主要的耗时差异在于某些邮件原文解析线程处理高负荷状态,导致任务缓存环中的邮件在环中等待处理的耗时较长。这样实际上到测试实验后期实际在处理任务的线程可能只有2-4个,没有实现真正的多线程并发,线程池任务分配不均,整体并发度不高,线程资源的利用率降低。
综上所述,在实际应用环境中,每封邮件的大小肯定是不一致的,基于信息熵的线程池调度方法将占优。
........................................

第六章总结与展望

随着互联网Internet的发展,电子邮件逐渐普及并成为互联网上最广泛的应用之一。但互联网上垃圾邮件泛滥成灾,且日益激烈,同时,在竞争日益激烈的商业背景下,由于邮件系统自身的安全缺陷及企业员工安全防范意识薄弱,电子邮件成为有意或无意地泄漏信息的载体。企业员工在缺乏安全防范意识的情况下,通过邮件进行各种违反保密规定的操作,导致公司内部资料、商业机密被泄漏,给企业带来巨大的损失。因此,研究开发基于POP3的邮件监测系统是十分必要的,企业需要拥有一种手段,能够用来监控企业内部网络与外界网络的邮件通信情况,对各种业务邮件进行审计,这在一定程度上可以防止知识产权信息、内部资料的泄漏,从一定程度上保证企业的利益。
本文在分析课题关键技术的研究现状的基础上,结合POP3协议和邮件格式的特征,以提升基于POP3的邮件监测系统的整体性能为目的,提出了一种基于信息熵的线程池调度技术与基于多模式匹配的邮件内容监测机制,研究了基于POP3的邮件监测系统的系统总体设计和各模块设计方案,并详细阐述了基于POP3邮件监测系统具体实现及测试,并给出了典型的应用场景。本文所取得的成果总结如下:
1、本文提出了一种基于信息熵的线程池调度方法,针对实现并行化邮件原文解析线程,结合信息熵的多属性决策模型和邮件解析线程池,设计独立的任务缓存环,动态选择最适合处理新的邮件原文的线程。通过对比基于线程轮询的线程池调度与基于信息熵的线程池调度的效果,说明所提出的方法适合于实际的邮件监测环境,可提高POP3邮件监测系统的整体处理能力,进一步提升邮件原文解析线程池的并行化程度。
2、本文将多模式匹配AC算法应用于邮件监测关键词匹配领域,提出了基于多模式匹配AC算法的邮件内容监测机制,高效进行文本敏感关键词的定位匹配。通过对AC算法的存储空间消耗和文件匹配时间消耗等指标的实验,证明多模式匹配AC算法可以高效的完成POP3邮件监测系统中的邮件原文敏感关键词的识别和检测。
虽然课题工作中取得了一定的进展,但本课题的研究还有一些亟待完善和改进的地方,针对POP3的邮件监测系统,进一步的研究包括:
1、研究POP3的邮件监测系统的多模式匹配算法的优化,当模式集合高达上百万后,研究降低多模式匹配AC算法的空间存储消耗。
.........................................
参考文献(略)


如果您有论文相关需求,可以通过下面的方式联系我们
客服微信:371975100
QQ 909091757 微信 371975100