Page 304 - 《软件学报》2021年第9期
P. 304

2928                                 Journal of Software  软件学报 Vol.32, No.9,  September 2021

         检测效果,最终确定选取的分类器.

         5    实   验

         5.1   数据集
             我们的方法在动态执行的过程中提取 JavaScript 参数特征和 Web 会话特征,需要网站保持可访问状态.因
         此我们从多个来源重新建立了正常网站和恶意 URL 数据集,分别包括:
             ①  正常网站数据集:正常网站来源于 Alexa(https://www.alexa.com/topsites),将 Alexa 公布的受欢迎的网站
                的主页作为初始 URL,使用爬虫请求网页来获取页面中的链接.为了确保正常网站数据集的可信性,从
                正常网站的主页和主页中链接随机选择组成正常网站数据集,共收集了 8 697 个有效存活的正常网站
                的 URL;
             ②  恶意 URL 数据集 1:为了尽可能的增加恶意 URL 的样本数量,分别从著名的恶意 URL发布网站 HpHosts
                (https://hosts-file.net/)和 ZeusTracker(https://www.abuse.ch)收集了自 2016 年 1 月~2019 年 2 月期间内
                公布的仍存活的恶意 URL,共收集了 6 928 个有效存活恶意 URL 的 URL;
             ③  恶意 URL 数据集 2:从安全研究网站 Malwaredomainlist(https://www.malwaredomainlist.com/mdl.php),
                UrlQuery(https://urlquery.net/)和 Malc0de(http://malc0de.com/bl/)网站获取自 2016 年 1 月~2019 年 2
                月期间内公布的存活的恶意 URL,并与恶意 URL 数据集 1 中的恶意 URL 匹配,剔除已有的恶意 URL,
                共收集了 2000 个有效存活恶意 URL 的 URL.
             融合多种特征的检测方法采用机器学习进行分类检测,因此,我们将收集的正常网站和恶意 URL 数据集划
         分数据集 1 和数据集 2,见表 6.
                                             Table 6    The Dataset
                                                表 6   数据集
                             数据集                      来源组成
                                            取数据集①中 6 697 个正常网站的 URL,
                             数据集 1
                                         取数据集②中全部的 6 928 个恶意 URL 的 URL
                                     取数据集①中不同于训练集的剩余 2 000 个正常网站的 URL,
                             数据集 2
                                         取数据集③中全部的 2 000 个恶意 URL 的 URL

         5.2   测试指标
             评价分类器模型的效果通常会使用不同的指标来进行综合评估,其中,True Positive(TP),True Negative(TN),
         False Positive(FP)和 False Negative(FN)是进行评估的基准数据.基于基准评价数据,通常用于评估分类结果的的
         指标包括精确率(precision)、召回率(recall)、F 值(F-measure)、误判率和漏判率,具体是:
             ①  精确率:指测试集中被正确判为恶意页面的数量占所有被判为恶意页面数量的百分比;
             ②  召回率:指测试集中恶意页面被正确判为恶意页面的数量所占全部恶意页面数量的比值;
             ③  F 值:需要综合全面地考虑精确率和召回率,而 F 值是对精确率和召回率的加权调和平均,因此,当 F 值
         比较高时,可以说明检测方法更有效;
             ④  误判率:指测试集中正常页面被误判为恶意网页的数量占全部真正正常页面数量的百分比;
             ⑤  漏判率是指测试集中恶意页面被漏判为正常页面的数量占全部真正恶意页面数量的百分比.
         5.3   十折交叉验证
             对于分类器的选择,我们在数据集 1 上分别采用 5 种不同的机器学习算法训练分类器,并进行十折交叉验
         证,评估不同机器学习算法的分类效果,计算 10 轮的恶意 URL 的平均精确率、平均召回率和 F 值,结果见表 7.
   299   300   301   302   303   304   305   306   307   308   309