基于暗网的监控平台设计与实现
2021-10-29冷涛高彬晗熊越谢耕
◆冷涛 高彬晗 熊越 谢耕
基于暗网的监控平台设计与实现
◆冷涛1,2高彬晗1熊越1谢耕1
(1.四川警察学院计算机科学与技术系 四川 646000;2.刑事检验四川省高校重点实验室(四川警察学院) 四川 646000)
暗网充斥着网络犯罪,对暗网进行监控是获取网络情报的重要来源,开发暗网的监控平台对打击暗网犯罪具有重要意义。本文通过对暗网的研究,搭建暗网访问环境,基于网络爬虫,对目标暗网网站进行结构分析,设计算法,爬取内容,并作词云分析。试验结果表明,该设计思路能高效跟踪暗网发布内容,并做数据分析。该监控程序的设计方案有助于公安机关掌握暗网信息,跟踪暗网情报,具有实际意义。
暗网;网络爬虫;词云分析
暗网是指隐藏的网络,需要使用特殊浏览器(如TOR),经过配置网络方可进入。暗网上存在着大量的违法犯罪信息,如贩卖毒品,公民个人信息,传播色情恐怖信息等,严重危害着未成年人的成长,甚至危及政权安全[1]。由于暗网访问的私密性,公安机关对暗网案件打击存在一定困难,针对暗网的监控是公安机关重点关注的问题。针对此问题已有很多学者做了大量研究,文献[2]设计基于Selenium的暗网爬虫,自动采集暗网网页数据,对暗网取证提供了借鉴意义。文献[3]详细介绍了基于Selenium的暗网爬虫程序设计,并检验了该程序获取暗网网页的结果。文献[4]基于Scrapy分布式的暗网爬虫探测方法,将暗网使用的socks5协议转为爬虫支持的http协议,该方法发现了大量的暗网站点信息。文献[5]基于scrapy设计赌博网站爬虫程序,建立赌博网站数据库,并采用jieba,wordcloud等工具对网站进行简单分析。本文通过暗网网站结构分析,设计网络爬虫,爬取站点发布的内容,并对内容进行分析,更有利于公安机关对目标网站的监控,获取情报等。
1 暗网技术
1.1 暗网概念
暗网是由美国军方的一个科研项目发展而来,该项目主要目的是为互联网的用户提供身份隐藏服务,后来因为这个特性导致全球不法分子在暗网活动频繁。暗网通过Tor或者I2P等网络访问的Web站点服务。暗网网络站点特征是域名后缀为“.onion”。
1.2 暗网原理
暗网原理简单来讲是利用多重转发和层层加密,让信息流追溯和信息解密变得非常困难。如下图,A向E发送信息,中间经过B、C、D三个转发节点进行转发,信息全程加密。发送方、接收方和转发节点,没有一方能同时掌握发送方和接收方的真实地址。转发节点B即使直接接收A发送的信息,但是无法判断A是发送方还是转发节点,D同理。B、C、D三个节点是在节点池中随机抽取,并且一定时间之后会更换转发节点。
图1 暗网转发节点示意图
2 基于暗网的监控平台设计与实现
2.1 平台设计
结合现实需要,本文将监控平台设计为,本地环境Ubuntu虚拟机和Tor浏览器可视化访问暗网网站;服务器环境提供Tor代理和爬虫环境;暗网探测为暗网网址收集并针对重点网站监控。如图2所示:
图2 基于暗网的监控平台
2.2 平台搭建
在云服务器上利用Linux系统服务器搭建具有进入Tor网络功能的代理服务器,并且安装Python和爬虫模块构建Python暗网爬虫服务器。本地环境使用Ubuntu16.04版本虚拟机,安装Tor浏览器同时利用代理服务器的代理功能进入Tor网络。根据暗网网址“.onion”的特性,在公网中设计使用爬虫收集暗网网址,根据收集的暗网网址进入暗网。对收集的网址访问分析后,研判具有较大监控价值的网站。针对性地根据网站特点编写Python爬虫进行网站数据监控。
2.3.网站结构分析与算法设计
本文选取了一个比较有典型意义的暗网购物网站,里面有多种非法物品的出售,包括但不限于毒品、枪支、信用卡、各国货币和黑产信息。这个网站整体的出售物品不仅种类较多,而且每种类型的非法物品也较多,每件物品进行了明码标价,整个非法物品出售流程完善,所以具有较大的监控价值。在网站分析的同时,结合网站的特点,编写针对性的Python爬虫。
图3 目标网站
通过对网站的基本结构进行分析,网站采用了PHP语言,物品信息主要以HTML呈现,通过分析单个物品页面的源代码,编写批量爬虫可以爬取所有物品信息。
if not os.path.exists('/root/data/'+str(datetime.date.today())):
os.mkdir('/root/data/'+str(datetime.date.today()))
确定每日爬取的信息保存在对应日期的文件夹中,这里持续跟踪监控了十天,以此观察信息的变化。网页数据爬取采用了Python的BeautifulSoup库,通过pip3 install bs4即可在爬虫服务器上安装。
这个网站中的单个物品有四个特征点,详细购买页面链接、物品名称、物品简介和物品价格(美元)。本爬虫针对这四个点对所有物品信息进行爬取。通过urllib.request模块获得页面的HTML文档。使用BeautifulSoup库,根据标签