作者:苦瓜@DAS
原文作者:Mahmood Sharif; Jumpei Urakawa; Nicolas Christin; Ayumu Kubota; Akira Yamada
原文标题:Predicting Impending Exposure to Malicious Content from User Behavior
原文会议或期刊:CCS-2018
http://users.ece.cmu.edu/~mahmoods/publications/ccs18-exposure-prediction.pdf
论文主要内容:基于用户的流量行为特征和会话级的特征构造了两个预测用户长期和短期后是否会访问恶意网站的系统
一、简介
目前有大量从网络流量对用户行为进行分析的研究,而从安全的角度考虑,预知用户的行为,在用户可能遭遇到威胁之前进行阻断,可以有效的保护用户的安全。原文作者(以下简称作者)收集了2万多用户手机流量以及用户自我测评问卷,通过一些不太隐私的流量特征,设计出两个系统预测用户是否会访问恶意网站,其中一个是长期性的预测系统,用于预测用户在未来的一个月是否会访问恶意网站;另一个是会话级的短期预测系统,能够预测用户是否会在0-30s后访问恶意网站。
二、数据收集
作者的数据收集分成两个部分,流量和用户测评问卷。
1. 流量
收集收集用户3个月的手机流量,因为受限于隐私保护政策,作者只收集如下信息:
HTTP requests of text/html content-type
URL
HTTP Referer
size of uploaded and downloaded
ser-agent string
最后给每个用户一个ID,用于区分每个人的流量。
2. 用户评测问卷
这个问卷的参与者大部分来自于之前被收集流量的用户。问卷共六个问题,主要用于评估用户的安全习惯和安全意识,六个问题如下:
以前是否遭遇过安全事件
手机是否安装了反病毒
是否使用官方的应用市场
浏览器提出安全警告后是否会继续浏览网页
用户在RSeBIS(安全行为意向量表)上的分数
参与者对计算机安全知识的自信分数
作者在论文的前两个部分引入了其他人的研究成果,并在数据分析阶段进行了验证,并在前两个部分引入了一个非常重要的工具:GSB(Google Safe Browsing v3 database),由于用户浏览的页面非常多,人工检测这些页面是否为安全页面时不可行的,所以借用这个数据库进行验证,但基于该数据库有一个严重的空档期:恶意页面总是在被用户访问之后,GSB才会对这个网站进行标记并警告之后的用户不要去访问它。
三、数据分析
此时回到数据分析,作者对自己收集的两部分数据分别进行了分析,首先是用户的流量,3个月的时间里,20645人中,只有2172个用户访问了恶意页面,总共访问了3491个不同的恶意页面。然后作者从前人的研究成果进行介绍,作者在自己收集的数据上也发现了几个同样的特征,并通过曲线图和KS分析结果展现这些特征确实存在。作者从数据出发,最终得到以下六个发现(特征):
一个恶意页面作恶到被标记有延迟
预测器不能完全依赖于以前的暴露信息--作者收集的数据中缺乏这种重复暴露的情况
用户在过去访问了更多的恶意页面,之后就有更高的可能性再次访问恶意页面
暴露过的用户比未暴露过的用户更活跃--发起更多的HTTP请求,有更多更长的浏览会话
暴露过的用户经常在晚上和不上班的时候浏览互联网信息
某些种类的网站可能指示用户有更高的暴露风险
然后作者将用户的测评问卷结合他们的个人是否访问过恶意页面,利用逻辑回归模型,得到了问卷中六个问题的回答在用户是否会访问恶意页面的可能性上的权重。
p-value是KS测试的结果,如果这个只较小,说明数据由可以分离的特征。β是一个权重参数。e^β是一个倍数。
举个栗子,如果一个用户是女性,那么她访问恶意页面的可能性是一个男性用户的0.54倍;如果某个人的手机安装了反病毒软件,那他访问恶意页面的可能性是没有安装反病毒软件的用户的2.51倍。
四、长期预测模型
作者将用户流量行为的特征和用户自我测评问卷的特征分离,验证单独使用两种特征和结合的方式对预测算法准确性的影响;另外定义用户访问过s恶意页面时,才认定他访问过恶意页面,验证s1~5对预测效果的影响。
在长期预测的算法选择上,作者经过实验对比选择了随机森林,采用9 : 1模式的交叉验证,将5月的数据作为训练集,6月的数据作为验证集。实验之后,作者给出了ROC图,分析得出两个结论:s=4,即用户访问过4次恶意页面才认定他以前访问过恶意页面时预测效果最好,s较小时效果不好可能是存在用户误触等情况;基于用户的流量行为特征进行训练得到的效果好于用户的自我测评问卷,但两者结合后效果提升很小,作者分析可能是用户在填写问卷时过于“谦虚”了(存在隐瞒自身真实情况的现象)。
有趣的是作者在文章中并未将自己的长期预测模型的准确性给出,并且过渡性的说到:准确性也不是什么灵丹妙药,因此我们的重点在于会话级的短期预测系统。
五、短期预测模型
作为本文的重点,作者在这个部分提出了会话级的特征如下,并将这些特征与前文的用户流量行为特征和用户测评问卷作为同样独立的特征,对比了单独基于某两项和三者结合对系统准确性的影响,另外也对比了预测不同时间(0-30s)之后用户是否会访问恶意页面的准确性。
会话长度(秒),HTTP请求数,会话中传输的字节总数
是否为非顶级域名
会话是否在周末(1个特征)、会话在一天中的时间(24 features -> 24 hours/day)
六个二元特征(是否问题),Android and iOS,Chrome and Safari,other OS and browser
99个特征分类域名的主题(经常赌博、成人类主题的网站,有更高可能性访问恶意页面)
考虑到这个系统是在真实环境下使用,需要高效实时的计算,所以采用了CNN算法,并将数据做了三个预处理:
会话长度(秒),HTTP请求数,会话中传输的字节总数
只保留用户访问恶意页面前一分钟的数据,一方面可以提高性能,另一方面离用户访问恶意页面时间较久远的数据,与用户当前行为的关联性很小,对预测结果影响不大
只处理超过9个HTTP请求的会话——作者经实验得出,安卓手机浏览网站,平均两个网站才10个HTTP请求
然后作者经验性的将三个月的数据分成了20天一个周期,并用一个周期中的前15天的数据用作训练集,后5天的数据作为测试集。另外,数据集存在不均衡的情况,访问恶意页面的人数只占总人数的11%,并且访问恶意页面的会话数也远小于正常会话,所以作者在每个epoch对正常会话数据欠采样。
六、总结
原文作者写作思路清晰,将自己的idea、数据收集、数据分析和实验思路有逻辑的阐述出,同时将没一个步骤和思考都写的比较清楚。一点点不足之处在于,作者说长期预测模型对比了各种算法,最终选择了效果最好的随机森林算法,但并没有给出一个对比图;另外涉及到作者提出的一些概念的解释并不清晰,导致阅读这些段落非常吃力;最后文章给出的图中使用了一些没有说明的英文字母简写,给理解图的意思造成了一些困难。
文章不愧是一篇顶会论文,首先idea很好,从用户的流量出发,预测用户行为;其次通过多种特征对比验证,找到能最准确描述用户行为的特征;最后是文章的写作,层次清晰,逻辑严谨。
领取专属 10元无门槛券
私享最新 技术干货