面向代理服务的信任管理策略
2014-04-29王雅山
王雅山
摘 要: 随着互联网技术的迅猛发展,使用互联网服务的人越来越多。网络代理作为互联网中的一项重要应用其用户数量也与日俱增。通过代理浏览恶意内容,进行匿名攻击等恶意使用代理的现象日趋严重。为了防止被滥用,许多代理使用了内容审计分析技术。而内容审计带来的处理延迟和开销严重影响了服务质量。针对内容分析的性能瓶颈问题,本文提出基于用户信任的审计加速策略。通过访问时间,目标网站类型等多个维度对代理用户行为进行细腻度的刻画,并充分考虑历史行为的累计效应,建立了多层次的用户信任模型,在完成内容审计功能的同时,提高基于内容分析可信代理的服务性能。
关键词: 网络管理;代理服务;内容审计;信任计算
中图分类号: TP391 文献标志码: A 文章编号: 2095-2163(2014)02-
The Trust Model Oriented Proxy: Design, Implement
WANG Yashan, HE Hui, LI Dong, LI Qiao
(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China)
Abstract: With the rapid growth of Internet technology, more and more people has enjoyed Internet service. As a important application, the number of the user of network proxy service has grew. The phenomenon of network proxy service abuse is more and more serious. In order to avoid network proxy service abuse, some proxy server adopt content analysis technology. The traditional analytical auditing based on the content is time consuming, which can impact the users experience. In this paper a speed-up method of Content Audit based on users trust has been proposed. Through the access time, the type of the target site and other dimensions, the user behavior has been exquisite portrayed, and the information of user historical actions has been token account of, then a multi-layered trust model has been constructed, which can improve the network proxy service quality.
Key words: Network Management; Proxy Service; Content Audit; Trust Computing
0 引 言
随着互联网技术的迅猛发展,互联网服务的人群正不断扩大。网络代理[1-4]作为互联网中的一项重要应用,其用户数量也与日俱增。网络代理是一种特殊的网络服务,允许一个网络终端通过此服务与另一个网络终端进行非直接的连接。网络代理能提高访问速度,隐藏真实IP,突破自身IP访问限制等功能。网络代理在给用户带来便利的同时,也被部分用户恶意使用。如黑客利用网络代理实现匿名攻击, 用户通过代理访问国内外一些不健康的内容,由此将会给社会带来不良影响。为了防止代理被恶意使用,大部分代理只使用了简单的黑白名单技术,对于更大量的灰名单内容,代理并不能实时区分灰名单里面的恶意内容,从而无法有效防范用户的恶意滥用。因此如何区分灰名单中的恶意内容、防止滥用代理即已成为需要迫切解决的重点研究问题。
因为基于内容分析的数据检测方法增加了大量的处理延时和开销,使得代理服务质量有所降低。本文提出一种基于用户信任的审计策略,通过访问时间、目标网站类型等多个维度对用户行为进行细腻度刻画,同时考虑历史行为的累积效应,构建多层次、多维度的代理用户信任模型,进一步提升基于内容分析可信代理服务质量。
1相关工作
1994年,Marsh[5-6]根据对社会生活中信任关系的研究提出了信任模型的概念。其后为解决互联网上的安全问题,Blaze[7]提出了“信任管理”的概念。后来,在此基础上出现了信任管理系统。信任管理系统的核心是建立能准确评估实体间信任关系的信任模型。由于互联网的异构性,在不同系统中的信任模型也各不相同。现有模型大多则为面向P2P网络和电子商务系统。
P2P网络的匿名性和开放性吸引了很多恶意用户。如何减少与恶意用户的协作,避免下载虚假数据一直都是备受关注的问题。为用户节点建立信任模型是解决这些问题的有效方法。以下则是一些常见的P2P网络中的信任模型。
Eigen Trust算法[8-10]是一种全分布式的算法。首先有交互的节点间会建立直接信任关系。接着将其转化为一个向量并对该向量进行迭代运算直到其收敛于一固定向量。该固定向量是结合全部节点的意见之后得出的,是对节点的全局评价。节点可以通过尽量选择高评价的节点来避免与恶意用户节点协作。
由于可能存在大量节点之间并无直接交互,难以建立直接信任关系的问题。于是田慧蓉等人提出了基于群组的信任模型[11]。该模型是对P2P网络中节点之间信任模型的改进。由于节点之间可能兴趣不同,部分节点之间交互较少,不足以建立信任关系。基于群组的信任模型将节点以群组为单位聚集,建立群组之间的信任模型。填补了交互较少的节点之间信任关系的空白。
在电子商务中为了解决优质商品和店铺的推荐问题,也有各种信任模型在相继地提出。最初在eBay中,交易双方在交易完成后,用(-1,0,1)来投票表达交易方对另一方的评价。eBay统计这些投票,来累计对该用户的评价,并且提供给所有人。这样的投票评分系统过于简单。后经改进后,Yu等人提出了基于证据理论的信任模型[12]。该模型用于电子商务中的评价信誉管理。将用户评价表示为对目标实体的信任的证据,收集所有证据并按照一定的规则合并证据从而来表示目标的信任度。该模型由于没有考虑到评价用户本身的信任度,所以并不能真实地反映目标信任度。于是朱艳春等人提出了基于评分用户可信度的信任模型[13]。这种模型与基于证据理论的信任模型基本一样,不同之处只是在于计算评分时,引入了当前评价用户的信任度。如果用户信任度高,那么该模型评价的可信度也就随之很高。
在系统安全方面,田立勤等人提出了基于角色的用户信任[14]。基于角色的信任模型是引入角色层,分离用户和权限。每种角色代表不同的权限,通过给用户分配角色来分配权限。
近年来,网络信任模型的研究呈现出多样化的趋势。因为互联网的开放性,异构性,导致网络信任模型的分类没有一个统一的标准。根据评价主体的范围可分为全局信任模型和局部信任模型。全局模型需要根据所有节点之间的信任关系来得到节点的全局信任值。例如Eigen Trust就是全分布式信任模型。在局部信任模型中,实体的信任值来源于与其有交互的实体的评价。基于证据理论的信任模型就是局部信任模型。在全局信任模型中,节点的信任值需统一管理使得扩展性很差。在局部信任模型中,信任值可由各个实体自己管理,具有良好的扩展性,但信任值的准确度会不及全局信任模型。
如按信任关系中客体来区分,又可将信任模型分为基于用户角色的信任模型和基于用户资源的信任模型。在基于用户角色的信任模型中,可将用户分为许多不同的角色,不同角色的信任值不同。而在基于用户资源的模型中,用户信任值主要与用户提供资源的可信度有关,如PKI系统中的认证就是基于用户资源的。
虽然现有的模型算法很多,但大都针对特定网络设计,很难直接用于网络代理系统。因此需要在考虑代理用户行为特征的基础上设计出合适的信任模型。
2信任模型建立
考虑到用户使用代理的不同目的,将会导致使用代理的行为上的差异。如有些人使用代理就是为了突破防火墙的限制去访问一些禁止访问的不良网站,而普通用户可能就是为了该正常的网络访问进行提速。对用户行为进行分析,建立用户信任模型,帮助代理来判断请求是否来自恶意用户,若是则可对其请求内容进行审计。这样可以减少内容审计次数。
2.1 信任的定义
不同的文献对信任的定义不同。但却一致认为信任具有以下一些性质[15]:
定向性:信任面向信托人(trustor)和受托人(trustee)之间的关系。
主观性:信任是一个固有的私人想法。会基于一些因素导致在某些方面更看重某固有想法的一种私人的,主观的现象。
上下文相关性:一般地,信任是在某一特定的环境中主观地相信某一实体。
可度量性:信任值能够用来表示对不同实体的不同信任程度。这一点是建立信任模型的基础。
历史性:这点表明过去的经历会影响现在的信任程度。
动态性:信任一般随时间的变化而变化。可能是周期性地变化,也可能会消失,但却一定是随着做出信任决定的环境条件的变化而发生相应变化。对环境高度敏感。
条件转移性:信任能够通过推荐而实现传递或接受。
因为各个系统中的信任可能不同,为便于描述,在这里针对代理服务定义本系统中的信任如下:
定义1 信任:代理服务与代理用户之间的一种主观期望关系,即代理用户的网络访问行为是否符合好的访问约束,符合即为信任。
根据定义1,可以看出信任关系的实体是代理服务和用户,各个用户之间并不存在信任关系,因此也就不需要满足信任可转移这一特性。本文将以代理用户行为特征为基础,并以满足上述信任特点为目标建立基于代理的用户信任模型。
2.2 代理用户的行为
代理用户的生活习惯,作息时间,兴趣爱好对用户使用代理的行为会产生影响,从而不同用户能表现不一样的行为特征。代理可以获取用户请求数据包和服务器响应的数据包。从这些数据包中获得用户使用代理时所用的协议,请求的内容。通过记录用户使用代理的时间和次数,还能获得用户使用代理的时间段和使用频度。因此可以从用户使用代理请求的内容,协议,时间段,频度这四个方面来对用户行为进行分析。
请求内容会与用户的兴趣爱好有很大的关系。如一个喜欢看小说的用户很可能在60%的时间内使用代理看小说,另有20%的时间看图片,其他20%时间在看视频。假设用户浏览的图片全部是一些不良内容,小说和视频是正常的。那么对用户使用代理请求的小说和视频进行内容分析就完全是一种不必要的浪费。所以用户请求内容类型也应该作为用户建立信任模型必须要考虑的一个因素。
用户通过代理服务使用选择不同的应用时会使用不同的协议。如某用户可能通过HTTP协议浏览网页,TCP协议玩游戏,P2P协议下载文件。如果用户只使用P2P下载不健康的内容,那么就只需要对用户使用P2P时请求的内容进行分析即可。所以建立信任模型时,对用户使用协议也应有所考虑。
由于每个人生活作息时间不同,使用代理的时间段也会有差异,相同用户在不同时间段使用代理的目的,访问的内容也会随之而有不同。例如用户在上班时使用的可能是公司电脑,不便使用代理去访问一些不健康的内容。晚上休息时用的则是个人电脑,这时就可能使用代理会去浏览一些不健康的内容。
有些用户喜欢关闭一个网页之后再去打开另外一个网页,还有些用户喜欢一次点开多个网页。用户正常使用代理的频度总会有个上限。如果频度大于该上限,则可以认为这是恶意行为。这时代理就可以拒绝给该用户提供服务。
通过从多个方面对用户行为进行分析,为建立更细粒度的信任模型提供了依据。
2.3 代理信任模型
信任度的量化基础是恶意度。为方便描述恶意度,定义如下:
定义2 恶意度:表示用户使用代理的方式和通过代理请求或上传内容的恶意程度。
信任度可以通过恶意度来求得。而恶意度可以通过内容分析模块对用户访问的内容进行分析之后,按照设计者制定的规则评定具体的恶意度值。
通过2.2节中提出的代理用户行为的区别,结合本节中提出的信任关系的量化基础,给出如下定义:
定义3 总体信任度:代理和用户ui的信任关系可以表示为T(ui, Tpro, Ttype, Tinv, Ttime)。T为总体信任度。Tpro表示协议总信任度,Ttype表示类型总信任度,Tinv表示访问频度的信任度,Ttime表示时间段的信任度。
总体信任度是分层次的结构,具体如图1所示。
图1 信任度层次结构图
Fig.1 hierarchical chart of trust model
协议总信任度的计算公式则如公式(1)所示:
(1)
其中Thttp是值用户在HTTP协议上的信任度,Tp2p指在P2P协议上的信任度。可能还有其他协议,只是并未在公式中全部列出。a是参数权值,表示使用某子协议的访问次数占总访问次数的百分比, ai = 1,ai > 0。
内容类型总信任值的计算公式如下:
(2)
其中,Tpic表示用户在图片上的信任值,Ttext表示的是文本信任值。根据粒度的不同,内容类型还可分为很多种,如音频,视频,文本等。b是参数权值,表示访问某类型内容的次数占总访问次数的百分比, bi = 1,bi > 0。
访问频度信任度主要是用来区分用户的行为是否是攻击行为。如果用户请求代理的速度过快,影响了代理的正常工作,或者超过了代理为用户限定的连接数,频率等就会将频度信任度置为最低。在一段时间后会再将频度信任度复位。计算公式如下:
(3)
其中,INVmax为代理系统默认允许的最大访问频度。时间段信任度的计算公式如下:
(4)
Ttime1, Ttimen表示各个时间段内的信任度。c为参数权值,表示在某一时间段内的访问次数占总访问次数的百分比。 ci = 1,ci > 0。
在公式(1)、公式(2)、公式(4)中都出现了参数权值。在统计用户使用代理次数的基础上通过下面的方式可计算得到各个权值。以Ttype计算公式中的权值确定为例,假设一个用户通过代理看小说的次数百分比为40%,听音乐占10%,视频20%,看图片30%。那么Ttype可以用以下公式求得:
(5)
公式(1)和公式(4)中的参数权值也可由以上方法求得。公式(3)中的代理默认的最大访问频度可通过实验来找到一个合适的值。
根据2.1节信任的特点可知,信任具有历史性,即历史的信任关系会影响到以后的信任关系。而在用户使用代理的初期,信任关系是非常薄弱的,还需要足够的积累,才能对以后的信任关系产生影响。 可以通过比较用户使用代理的次数与某一具体值,如果小于该值,可认为用户尚处于积累期。
在积累期对于只与恶意度相关的信任,如Thttp,Ttext等可以使用以下公式计算:
(6)
其中,i表示的是恶意度的等级。S表示恶意度的数值,一般与等级一致。N表示这一数值的恶意度请求发生的次数。这个公式就是求出平均每次访问内容的恶意度值,然后由最大信任值将其减去,即得到相应的信任值。
在积累期过后可以使用以下公式进行计算:
(7)
其中,d是参数权值,d<1,表示历史信任This在新信任中占有的比例。随着最近一次访问与上次访问之间时间差的增加,d值会越来越小。
3 实验
3.1 实验环境
文中实验的软硬件环境设置如表1所示。
对于公式中引入的时间率先因子,可固定为0.5。公式中其他系数则是以平均值的方式加以确定的。
3.2 阻断实验
信任模型的作用是帮助代理过滤掉那些没有必要检测的请求,减少内容分析所带来的处理延迟和开销。阻断实验主要是为了测试用户请求的阻断率,在不同的情况下能减少的检测次数。阻断策略是这样的:当用户信任度低于2时,会对用户的每次请求都阻断;当用户信任度在2到8之间时,就会按一定的概率就进行阻断,阻断概率与信任度成反比;当用户信任度大于8时,则不阻断。
测试方案一:进行20组实验。每组实验模拟500用户的30万次请求。其中,恶意度为10的用户请求所占的比例由0上升到100%,每次比例上升5%。测试结果如图2所示。
图2结果图
Fig.2 Results
因为数据是随机生成的,数据均匀分布,所以结果图中表现为直线。由此可以直观地看出,随着黑名单(高恶意度访问)比例的增加,需要阻断的次数越来越多。而引入信任机制后,在高恶意度访问较少的情况下,可以明显减少检测次数。由图2可以看出最好情况下只需要检测一半的请求。
测试方案二:随机制造20组数据,使低恶意度的访问比例由0增加到20%,其他等级恶意度访问次数则随机选取。该方案测试的是不需要检测次数的变化情况。
图3是整体的结果图,图4是局部放大之后的情况。由图4能更加清楚的看出随着白名单(低恶意度)访问的增加,不允许检测的次数越来越高。因此可知结果符合预期。
图3变换恶意度比例阻断总结果图
Fig.3 the results of using different trust degree
图4变换恶意度比例阻断局部结果示意图
Fig.4 Magnification of Fig.3
此处可通过对比利用各维度的信任值进行阻断的效果,来说明引入多维度信任的必要性。
(1)按类型信任阻断与按总信任度阻断的效果对比
实验数据:模拟500个用户的36万次访问。其中类型分为文本,音频,视频,图片和 未知。所有图片类型的恶意度均不小于8。其他类型恶意度均小于5。测试20组数据。
由图5中可以看出分类型阻断的减少的检测次数占总次数的比例大约为0.7,而按总信任度阻断这一比例仅大约为0.3。这是因为仅图片类型的恶意度高,其他类型的恶意度均较低。为此则导致总信任度较低和图片信任度较低,而其他类型信任度较高。在分类型阻断时,除图片类型外其余均不需要检测,而按总信任度阻断时则大部分均需检测。
图5类型信任度与总信任阻断结果比较
Fig. The result for using total trust degree incomparison with type trust degrees
(2)按协议信任阻断与按总信任度阻断的效果对比
实验数据:模拟500个用户的36万次访问。其中协议分为HTTP协议和非HTTP协议。所有HTTP协议的恶意度均不小于8。其他协议恶意度均小于5。测试20组数据。
图6的结果与分类型阻断的结果类似。不同之处在于协议只分了2种,不够细致。由此也导致相比按总信任度阻断减少次数所占比例值高出了10个百分点。
从上述多个测试中可以得出如下结论:建立多维度的信任模型,设计出更加精细粒度的过滤规则,能更好地减少内容分析次数,且节约系统开销,提高代理服务质量。
图6协议信任度与总信任阻断结果
Fig.6 The result for using total trust degree in comparison with protocol rust degrees
4结束语
本文提出一种基于用户信任的加速审计策略,通过访问时间、目标网站类型等多个维度对用户行为进行细腻度刻画,同时考虑历史行为的累积效应,构建多层次、多维度的代理用户信任模型,进一步提升基于内容分析可信代理服务质量。
首先对现有的代理系统和信任模型进行了归纳总结。其次对代理用户的行为进行分析,在此基础上结合信任的特点建立拥有协议,类型,时间段,访问频度四个维度的代理用户信任模型,并给出了各维度信任值的计算公式。其后也给出了完整的模型建立策略,并进行了实验分析。证明为用户建立信任模型能有效加速内容审计速度。
接下来的工作中可以将系统中的信任细分出更多的属性,设计更加复杂的计算公式。使信任值的区分粒度加大。同时,可以使信任的管理和访问控制策略更加地灵活。其后将从以上2个方面来对系统和算法进行优化。不论哪个方面得到改进都能使得信任系统更好地工作,给代理提供更加准确的信任值,使其成为既能满足普通用户的需求,又能防止被滥用的代理系统。
参考文献:
[1]吴益清, 谢培泰. 代理服务器的原理与实现[J]. 信息工程大学学报, 2000,1(4) :40-43.
[2] 张明武, 陈启祥, 楚帷善, 等. HTTP代理服务系统的实现与分析[J]. 网络通信, 2001(3):145-147.
[3]孙永辉, 姜昱明. HTTP代理服务器的实现[Z]. 西安电子科技大学, 2003.
[4]余强. Socks代理协议分析[J]. 四川工业学院学报, 2004(01):34-36.
[5]徐文拴, 辛运帏, 卢桂章.普适计算环境下信任机制的研究进展[J]. 计算机科学,2008(35):1-2.
[6] MARSH S P.Formalizing trust as a computational concept[ D].University of Stirling,1994.
[7] BLAZE M, FEIGENBAUM J, LACY J. Decentralized trust management[C]//Security and Privacy, 1996. Proceedings., 1996 IEEE Symposium on. IEEE, 1996: 164-173.
[8] KAMVAR S D, SCHLOSSER M T, GARCIA-MOLINA H. The EigenTrust algorithm for reputation management in P2P networks[C]//Proceedings of the Twelfth International World Wide Web Conference, Budapest, May, 2003: 640-651.
[9] 贺耿, 罗晓奔. P2P 网络中基于用户行为的分布式信任模型研究[J]. 计算机与数字工程, 2006, 34(6): 84-86.
[10]王东安. 网格计算中信任模型及其应用研究[D].北京: 中国科学院研究生院 2005-12
[11]田慧蓉. P2P网络信任模型及激励机制的研究[D]. 北京:北京邮电大学,2006.
[12] YU B, SINGH M P, SYCARA K. Developing Trust in large-scale Peer-to-Peer systems[C]// Proceedings of the 1st IEEE Symposium on Multi-Agent Security and Survivability Philadelphia, 2004: 1-10.
[13] 朱艳春, 刘鲁, 张巍. 基于评分用户可信度的信任模型分析与构建[J]. 管理工程学报, 2007, 21(4): 150-152.
[14] 田立勤, 冀铁果, 林闯, 等. 一种基于用户行为信任的动态角色访问控制[J]. 计算机工程与应用, 2008, 44(19): 12-15.
[15] ZHENG Yan. Trust management for mobile computing platforms . Department of Electrical and Communications Engineering, 2007-12-14.