基于页面标签和文本特征的暗网重要站点识别*
2019-12-11曹哲超王轶骏
曹哲超,王轶骏,薛 质
(上海交通大学 电子信息与电气工程学院,上海 200240)
0 引 言
暗网是采用特殊的暗网技术构成的网络,通常使用私有的网络传输协议和端口,因此普通的浏览器不能直接访问暗网,而暗网网站的域名也无法在公网中得到解析[1]。暗网大都采用不定数量、不定路线的路由中继技术,并在通信过程中对数据进行了层层加密,保证了通信的保密性和匿踪性[2]。
由于暗网的匿踪性,使得政府部门难以对暗网站点上发布的内容进行有效监管,导致暗网中充斥着各种违法犯罪活动。例如,2017年3月,一位名为suntzu583的供应商在暗网某市场中公开售卖上百万个谷歌和雅虎账号[3]。2018年8月,华住集团5亿条用户信息数据在暗网中文论坛上公开售卖[4]。
目前,面向暗网的主要研究在于暗网技术的匿名性和安全性,如提出隐私增强技术[5]、流量混淆[6]或是利用协议的脆弱性实现针对Tor的攻击方式[7],而对于暗网空间资源的侦测和采集相关的研究较少。Iliou等学者设计了一个聚焦爬虫系统,以爬取明网和暗网中涉及恐怖主义的内容[8]。杨溢、曹旭、郭晗分别针对Tor、I2P、Freenet3种暗网技术采集相应的暗网域名、地址和页面数据,但并没有对采集到的数据进行深入分析[9-11]。对整体暗网空间数据的研究分析和暗网重要站点的识别则几乎无人涉猎。
本文关注的重要站点主要是暗网中的市场和论坛。这两类网站聚集了暗网中的绝大部分用户。暗网市场和论坛主要出售各种非法商品和数据,但很多站点为对抗网络爬虫和DDoS攻击,需要用户登录或通过人机识别后才能看到具体商品或帖文,因此往往将含有验证码的页面或登录页面作为网站的入口。而这些页面含有的可见文字较少,无法通过页面文本特征进行识别。因此,本文首次提出页面中验证码/登录界面检测和文本数据特征检测两种方式来识别暗网中的重要站点,符合上述任一条件即被判断为暗网重要站点。本文针对两种检测方式分别提取页面中的标签特征和文本特征,并训练得到两个分类模型,将其对于同一个页面的预测结果进行或运算得到最终分类结果。
1 系统架构
本文首先设计开发了一套暗网空间资源采集系统,主要用于爬取暗网中的站点页面数据,然后选择各个站点的首页内容数据作为初始样本。通过对页面内容的观察和分析,暗网重要站点的首页大都包含下述至少一个特征:
(a)含有验证码或登录界面;
(b)含有网站介绍信息;
(c)含有直接可见的商品或帖文数据。
其中,包含特征(a)的页面通常页面内容简洁,含有大量标签元素和少量可见文本,而包含特征(b)和特征(c)的页面则恰恰相反。因此,本文通过下述两个规则分别对同一份初始样本进行标注,进而训练得到两个分类模型,将两个模型的预测结果进行或运算得到最终结果,即其中任一模型预测结果为正样本,则认为该网站为暗网重要站点。系统架构如图1所示。
图1 系统架构
规则1:包含特征(a)的样本标记为正样本,其他标记为负样本;
规则2:包含特征(b)或特征(c)的样本标记为正样本,其他标记为负样本。
2 暗网站点页面采集
由于缺少公开的暗网页面数据样本,本文设计开发了一套暗网空间资源采集系统,用于获取分类所需的初始样本。该系统首先采集暗网站点地址,然后抓取地址所对应的暗网页面内容。该系统结构如图2所示。
其中,暗网站点地址分别从明网和暗网两个网络空间采集。
明网中,暗网地址的采集来源如下。
(1)用户生成内容(User-Generated Content,UGC)网站的用户数据,如Reddit、Pastebin、Twitter等社交网站;
(2)Tor网关的统计信息,Tor网关是指在明网中提供暗网代理服务的公开网站,通常会记录下最近的暗网站点访问记录;
(3)公开的暗网域名列表,如由ahmia.fi网站提供的超过5 000条的Tor暗网站点域名。
图2 暗网空间资源采集系统架构
暗网中暗网地址的采集主要通过提取暗网站点页面中的外部站点超链接实现暗网页面的递归抓取,此过程中同时采集暗网地址和暗网页面数据。
3 验证码/登录页面检测
含有验证码或登录界面的页面拥有相似的特征,至少包含一个输入框和一个提交按钮,且页面内容简洁,可见文本较少。通常,市场、论坛等暗网重要站点为保证用户的匿名访问,会提醒用户禁用JavaScript,其中部分站点甚至禁止未禁用JavaScript功能的用户访问。因此,这些网站的HTML表单的提交几乎都采用form标签这一形式。
通过对含有验证码或登录界面的页面的观察和分析,先从页面中抽取表1中的特征。考虑到页面大小对特征提取产生的影响,最终确定如下特征向量FV,其中C表示页面去标签后的可见文本字符数量。
表1 验证码/登录页面特征提取
4 页面文本特征检测
部分暗网市场、论坛并非以验证码或登录界面作为网站入口,其站点首页通常市场、论坛的介绍信息,或是可直接浏览其中的商品或帖文。这些页面含有较多的可见文本,可通过页面文本特征识别暗网的重要站点。
根据站点页面内容提取特征,具体步骤如下:
(1)去除页面中的HTML标签,提取页面纯文本信息;
(2)判断文本的语言,如果非英语,则利用Google API翻译文本;
(3)利用NLTK模块对整段文本分句,再对每一个语句分词,得到该文本的向量表示;
(4)删除上述向量中的非单词数字和停止词,停止词指没有实际意义的词(如a、what等高频词汇),其存在会严重干扰文本内容的分析和处理;
(5)将向量中的每个词进行词干化处理,即将名词统一成单数形式,将动词统一为基本形态;
(6)采用卡方检验筛选分词结果,实现特征矩阵降维。卡方检验是统计样本的实际值与理论值之间的差异程度。如表2所示,以四格卡方检验为例,其理论值计算方法如下:
表2 四格卡方检验
卡方检验的计算为:
式中,A是实际值,T是理论值。卡方值越大,二者的偏差值越大,即可以断定特征词与类别有着较高的关联度。
利用词频-逆文本频率(Term Frequency-Inverse Document Frequency,TF-IDF)对每个词加权。TFIDF是一种统计方法,用于评估一字词对于一个文件的重要程度。主要思想:如果一个词在一篇文章中出现的频率高,且在其他文章中很少出现,则认为此词具有很好的类别区分能力,适合用来分类。
TF-IDF的具体计算公式如下:
5 实验结果与分析
5.1 评估指标
采用准确率、召回率、精确率、F1值作为分类模型的主要评价指标。其中,准确率、召回率、精确率、F1值的计算公式如下。
准确率:分类混淆矩阵,如表3所示。
表3 分类混淆矩阵
5.2 实验设计
本次实验的暗网站点页面数据全部来源于暗网空间资源采集系统。该系统于2018年9月开始运行,直到2019年5月累计采集暗网站点和页面数量如表4所示。
表4 Tor站点和页面采集统计
采用文本相似度比较算法simhash对上述采集到的站点首页去重后,随机挑选一定数量的页面作为初始样本集。分别采用规则1和规则2对该样本集进行人工标注,得到对同一份初始样本的两个标注结果,分别用于训练两个分类模型。其中,根据规则1标注的样本集主要提取标签特征,用于验证码/登录页面检测;根据规则2标注的样本集仅提取文本特征,用于页面文本内容检测。对同一份初始样本集的两种标注结果,如表5所示。
表5 实验样本数统计
比较多种常见的分类算法,为上述两个分类模型确定效果最佳的分类器,并通过调整文本特征个数,优化分类模型。最后,将两个模型的结果进行或运算得到最终的预测结果,同时计算得出该系统的各个指标。
5.3 实验结果
本次实验采用十折交叉验证法进行训练和测试,即将数据集随机分成10组,每次使用其中9组进行训练而将另外1组用作测试,重复10次得到10个测试结果,取平均值得到最终结果。
5.3.1 分类方法比较
在验证码/登录页面检测实验中,由表6的实验数据可知,线性SVM的分类效果最佳,其准确率、召回率、精确率和F1值均高于其他两种分类算法。
在文本内容检测实验中,根据表7可以看出,NB的分类性能远高于其他两种算法,且测试时间最短。
因此,在验证码/登录页面检测时选择线性SVM分类算法,而在文本内容检测时选择NB分类算法。
表6 3种分类算法在验证码/登录页面检测的性能比较
表7 3种分类算法在页面文本检测的性能比较
5.3.2 特征个数选择
在文本内容检测实验中,直接通过词袋模型得到的特征矩阵非常稀疏且维度上万,因此采用卡方检验选取与类别相关度最高的k个特征。k的大小与最终模型的分类效果相关。不同k值和模型准确率的关系如图3所示。
图3 特征个数与模型准确率关系
可以发现,SVM和NB的分类效果普遍优于KNN。当特征个数达到75左右,NB的准确率最高,随着特征个数逐渐增加,准确率开始下降。SVM的准确率略低于NB,但稳定性较好。当特征个数超过200时,其分类性能最佳。根据卡方检验提取的前10个特征,如表8所示。
表8 卡方检验提取的文本特征前10
5.3.3 最终分类结果
根据上述实验结果,分别采用线性SVM和NB分类算法建立验证码/登录界面和文本内容检测模型,其中文本内容检测模型的特征个数为75个。采用十折交叉验证,假设正样本标签为1,负样本标签为0,则最终分类结果为两个模型的预测结果取或,最终计算得到的各项指标如表9所示。
表9 系统的各项指标
可以看到,整个系统的最终准确率达到96.47%,说明该系统已经拥有较好的分类能力。从表8的数据可以发现,系统的召回率高于两个检测模型,但精确率偏低,主要原因如下:
(1)系统对两个检测模型的结果取或运算,提高了对重要站点的识别能力,但识别的准确度下降,即误报率增加;
(2)两个检测模型的分类性能对整个系统的分类性能有较大影响;
(3)暗网中的市场和论坛数量较少,正负样本不平衡。
6 结 语
目前,暗网市场论坛的数据泄露事件频发,而面向暗网空间数据的研究和分析匮乏。因此,本文首次提出结合页面标签特征和页面文本特征两种方式进行暗网重要站点的识别。由于暗网中的部分市场和论坛为防御DDoS和网络爬虫,会将验证码界面设置为网站入口,或要求登录后才能浏览网站内容,所以单纯基于页面可见文本的文本分类方法无法识别含有验证码或登录界面的网页。通过对暗网页面内容的观察和分析,本文最终采用验证码/登录页面检测和文本内容检测两种方式,分别从页面标签特征和页面文本特征两个角度进行识别,只要其中任一预测结果为正样本,即将其识别为暗网重要站点。同时,本文也设计并实现了一套暗网空间资源采集系统用于收集暗网站点页面数据。通过实验,本系统的准确率可达96.47%,验证了本文检测方法的适用性和有效性。
本文采用的检测方法作为暗网重要站点识别的初步尝试仍存在很多不足,后续研究工作将从以下两个方面入手:
(1)探索其他关于暗网重要站点的特征,提高分类的准确率;
(2)采集更多暗网页面数据,使用更大规模的数据集进行验证。