APP下载

一种基于Python的信息安全情报收集工具

2018-08-31邵云蛟吴丽莎张凯吴屏

中国科技纵横 2018年13期

邵云蛟 吴丽莎 张凯 吴屏

摘 要:目前,公司信息安全情报收集工作主要依靠人工方式进行。主要由运维人员每日登陆相关信息安全资讯网站或接收由绿盟、启明等安全厂商发送的信息安全情报信息,这种方式效率低下,耗时耗力。

关键词:Python;终端监控;安全管理

中图分类号:TP391 文献标识码:A 文章编号:1671-2064(2018)13-0019-01

为了提升公司信息安全情报的收集效率,实时掌握网络安全态势[1],公司研发了基于Python的信息安全情报收集工具。工具可通过网络爬虫[2]从百度、360等5家搜索引擎,Freebuf、Rapid7等4家信息安全资讯网站的对接,并实现了与绿盟、启明、天融信等6家信息安全厂商信息安全情报服务的对接,通过自动化手段[3]完成信息安全情报收集工作。

1 工具原理及功能

工具使用MVC框架,从功能上分为3层。分别为数据收集层、分析处理层、用户接口层。

数据收集层由网络爬虫模块及邮件接收模块构成,主要用于完成原始信息安全情报数据的收集。

分析处理层的核心模块为文字处理模块,该模块会对信息安全情报进行分词处理,并进行热点词分析。

用户接口层由安全预警模块构成,该模块会将经过筛选的需要运维人员关注的信息安全情报链接推送该信息安全运维专用邮箱,以便于运维人员查阅。

具体功能模块如下:

1.1 网络爬虫模块

网络爬虫模块使用Python Requests Scrapy标准功能,实现对Google、百度、Bing、Yahoo、NHN五个搜索引擎的对接。分别利用这五个搜索引擎检索“漏洞”、“计算机病毒”、“木马”、“后门”、“蠕虫”、“信息安全大事件”等11个关键词的前100条记录,并爬取Freebuf、Rapid7等4家信息安全专业资讯网站最新安全资讯,并将获取的网页文字数据发送给文字分析模块。

1.2 文字分析模块

文字分析模块主要负责对网络爬虫模块爬取的信息安全文字情报进行分析。文字分析模块的主要功能如下:

(1)利用Python jieba、matplotlib、wordcloud、snownlp库提取信息安全情报标题的关键字。

(2)文档在搜索引擎的排序在很大程度上反应了该文档在互联网上的热度或点击率,文字分析某块会自动分析出热度不断上升的文档。

(3)由于不同搜索引擎对于同一文档的检索热度变化会有所不同。因此,我们确定了Google>百度>Bing>Yahoo>NHN的底层判断逻辑。文档的最终热度变化以靠前的搜索引擎为准。

(4)文字分析模块具有关键字统计分析功能,该模块可以提炼出每个文档的关键词,并针对热度上升的帖子,进行关键词的统计,提炼出当前的热点关键词,供信息安全运维人员参考。

(5)信息安全运维人员每天针对hot_status状态为UP的情报进行查看。根据近两个月的运行结果,每天被标记为UP的文档数据约50-100條。通过对文档名称进行人工识别后,有价值的情报约占5%-10%,在文档筛选过程中,信息安全运维人员可将无用的文档标记为“不关注”,这样该文档的热度值将始终为100(数值越大热度越低,100为最大值),进而降低后续情报识别的工作量。信息安全情报查看界面如图1,图2。

1.3 安全预警模块

安全预警模块实现了与公司短信平台及邮件系统的对接,每日将信息安全情报摘要短信发送给信息安全运维人员,并将带有信息安全情报链接的邮件发送给信息安全情报专用邮箱,以便于运维人员快速查阅。

2 结语

通过利用该工具,信息安全运维人员的情报收集效率大幅提升。之前,公司专人每周一利用1天时间进行人工信息安全情报收集工作,且覆盖面不足,极易造成遗漏。现在通过自动化手段,单人15分钟内就可完成前一天的信息安全情报数据分析工作。同时,该系统的热点关键词提醒功能还可以辅助信息安全运维人员进行人工信息安全情报收集。极大的提升了工作效率以及信息安全情报收集工作的实时性。

参考文献

[1]温晓勇.基于网络爬虫技术的情报信息搜索系统的设计与实现[D].北京大学,2013.

[2]薛丽敏,吴琦,李骏.面向专用信息获取的用户定制主题网络爬虫技术研究[J].信息网络安全,2017,(2):12-21.

[3]沈寿忠.基于网络爬虫的SQL注入与XSS漏洞挖掘[D].西安电子科技大学,2009.