基于Tilera多核板卡网络数据包邮件还原技术研究

中国科技纵横 / 2018年09月07日 08:37

新闻

邮件

幸娟+高海源+张晓峰

摘 要:网络数据包邮件还原技术基于Tilera多核板卡硬件平台的高速收包引擎和多核并行处理性能,对接重构的libnids数据流重组功能,分业务实现不同邮件协议POP3、STMP、IMAP、Webmail的邮件还原流程,最终输出标准邮件文件格式eml。

关键词:多核;邮件还原;Webmail;IMAP

中图分类号:TN946;TP311.52 文献标识码:A 文章编号:1671-2064(2017)10-0030-01

在网络安全方面对往来邮件的关注度日益增高,如何能在网络安全审计系统中将前端输入网络数据流进行相应处理恢复得到最终直观可读的邮件内容。为了解决这个问题本文设计了基于Tilera多核板卡平台开发,借助其高速收包引擎和多核并行处理的高性能进行数据流捕获,并对libnids数据流重组进行代码结构重写完成数据流重组,最后对邮件相关协议POP3、STMP、IMAP、Webmail进行分析,设计还原算法,实现邮件内容获取解析拆分重组等操作,并将内容按邮件eml标准格式输出。

1 Tilera多核板卡收包模块

基于Tilera平台开发,使用高速收包引擎接口mPIPE进行开发实现大数据量的网络数据包捕获,收包流程如图1。

该模块主要通过接收用户设置参数进行相应配置和初始化硬件资源,给多核板卡的NotifRng、buckets等进行内存分配,同时对tcp重组的部分进行初始化和回调函数注册,最后调用mPIPE高速收包接口,peek方式收包进行网络数据包的接入。

2 数据流重组模块设计

该模块(如图2)主要重构修改libnids开源代码,添加与mPIPE的对接接口,将网络数据包流量引入tcp流重组模块,同时对libnids的数据结构进行修改,加入数据还原算法需要用到的用户字段。后进入回调函数进行邮件协议的分类判断,根据端口走入不同的邮件还原模块算法中。

3 邮件还原模块设计

(1)pop3邮件还原模块根据协议的特征设计算法,当识别到TOP或RETR协议命令时缓存邮件内容并判断结束符,最后将完整邮件存入eml文件。

(2)stmp郵件还原模块的算法和pop3类似,不同的是需要识别的协议命令是DATA。

(3)imap邮件还原模块根据协议交互特征,识别带用FETCH等请求获取邮件全部内容或部分内容的协议命令时,组合缓存邮件内容结束符,当邮件内容到达时,判断结束符,进行单封邮件的循环拆分和eml存储。

(4)Http邮件还原模块根据邮箱操作的协议命令格式,每个操作对应一个或多个post或get的url命令格式,其中包含如func=mbox:listMessage"等特征标识,解析并组合其中携带的邮件内容,抽取mime格式中的From、To等字段信息写入eml文件。

4 结语

本文基于Tilera多核板卡硬件平台进行开发,结合mpipe收包引擎接口和libnids数据流重组功能,针对邮件协议特征设计算法实现POP3、STMP、IMAP、Webmail的邮件还原。

参考文献

[1]丁岳伟.基于SMTP协议电子邮件的还原[J].小型微型计算机系统,2002(03):290-293.

[2]吴勋,刘嘉勇.网络数据包的邮件还原技术研究[J].通讯技术,2011(04):124-126.

[3]KOZIEROK. TCP/IP指南.北京:人民邮电出版社,2008.

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。