路径标记: 保护网页内容免受内部爬虫的攻击外文翻译资料

 2022-08-09 10:08

英语原文共 17 页,剩余内容已隐藏,支付完成后下载完整资料


路径标记: 保护网页内容免受内部爬虫的攻击

摘要
网络爬行器被滥用,用于若干恶意目的,如下载服务器数据时不使用网站管理员的权限。此外,装甲爬行正在向新的爬行进化,爬行开发人员和爬行防御人员之间的竞赛机制也日益进化。在本文中,基于观察正常用户和恶意爬行者有不同的短期和长期下载行为,我们开发了一种称为路径标记的新的抗爬行者机制来检测和约束持久分布的爬行者。通过向每个统一资源定位器(url)添加标记,我们可以跟踪导致访问此url的页面以及访问此url的用户身份。有了这些支持信息,我们不仅可以做更多的工作利用路径相关特性进行精确的启发式检测,同时开发出基于支持向量机的机器学习检测模型,通过检测普通用户与恶意爬行者的不同访问路径和访问时间的模式。除了尽早有效探测爬行者在此阶段,路径标记器可以显著地抑制爬行者在被检测到之前的爬行效率.我们部署我们在网上论坛网站上的方法,以及评估结果显示,路径标记可以快速捕捉到所有六个开源和内部爬行,加上两个外部爬行(即谷歌和雅虎搜索)。


关键词:反爬虫机制,潜行传播,机密网站内容保护

引言

随着互联网数据源的繁荣,对爬虫的需求急剧增加。 摘要(network 2018)的2018年网上机器人流量报告指出,自动程序占所有网站流量的42.2% ,恶意自动程序贡献了近21.8% 的网站流量。 与此同时,越来越多的新算法(baeza-yates 等人,2005年; de groc,2011年; batsakis 等人,2009年; jin 等人,2013年)被恶意爬虫采用,以提高下载效率,减少被检测到的机会。

为了保护机密文件或敏感数据,大多数网站都要求用户在访问有价值的网页内容前先进行身份验证。 虽然这一层的认证可以成功地阻止外部恶意的爬虫,授权的内部人员仍然可以爬虫整个网站。 例如,爱德华 · 斯诺登可以完全访问 thensa 的文件,他使用廉价且广泛使用的网络爬虫工具,获取了至少170万个秘密文件(斯诺登使用普通的网络爬虫工具,收集了国家安全局的文件)。 为了防止被轻易发现,隐形内部人员可能会定制他们的爬行器,以更好地模仿真实用户的访问行为。 为了补偿故意降低的下载效率,内部人员需要耐心在一段时间内启动一个持久的下载。 此外,多个内部人员可能串通一气,采取分而治之的策略,以加快爬行过程。

为了检测和约束恶意爬虫,研究人员开发了一系列反爬虫机制(stevanovic et al. 2013; tan and kumar 2004; stasshoplou and dikaiakos 2006; 2009; doran andgokhale 2011; yu et al. 2010; park et vec2006; gianchioet al. 2009; gianchioet al. 2008; jacob et al. 2012) ,这些机制通常可以分为两类,即启发式检测和机器学习检测。 启发式检测机制依赖于分析良好定义的特征(例如,单个访问者的访问率) ,首先定义异常的网站访问行为,然后定义任何其他行为为正常行为(yu 等人,2010; park 等人,2006)。 然而,他们不能保证检测到能够约束他们的行为和操纵那些观察到的特征的爬虫。 机器学习检测机制可以基于正常用户和恶意爬行者之间不同的访问模式检测恶意爬行者(stevanovic et al. 2013; stassopoulou 和 dikaiakos 2006; 2009)。 换句话说,他们首先将正常的网站访问行为建模,然后将任何其他行为定义为异常行为。 大多数最近的反爬虫机制结合了这两种技术,以更好地打败恶意的爬虫(tan and kumar 2004; jacob et al 2012)。 然而,这仍然是一个挑战,侦测和限制内部相互勾结的爬虫,需要一个长期的磨练。

本文提出了一种新的反爬虫机制——路径标记(pathmarker) ,旨在检测和约束爬虫内部的持久分布式爬虫,该机制具有验证用户帐户,可以偷取有价值的网站内容的功能。 此外,我们设法准确地检测到这些装甲爬虫在其最初的爬行阶段。 基本思想是基于一个观察正常用户和恶意爬虫有不同的短期和长期下载行为。 换句话说,爬虫在短期和长期的路径访问模式(例如,深度优先、宽度优先或随机访问)相似,而人类只在短期有明显的访问模式,长期没有特定的模式。 这是因为爬虫基于特定的爬虫算法工作,一旦选择了算法,爬虫路径就会遵循特定的模式。

众所周知,现有的基于路径的反爬虫解决方案(tan and kumar 2004)很难精确计算一个访问的深度和宽度。给定一组访问日志,我们可能不知道每个日志条目的链接的父页,所以我们只能推测这个链接是深度还是广度。 例如,当一个页面 a 链接到另外两个页面 b 和 c 时,如果 b 和 c 都在 a 之前被访问过,就很难找到它的父页面。

我们在路径标记中通过自动生成和在每个 web 页面上添加标记来解决这个问题。 我们称这个标记为 url 标记,它记录了链接访问的页面和访问这个链接的用户标识。 为了进一步保护地址标记不被装甲爬虫误用,我们将地址标记和原始地址一起加密。 在用户 id 不匹配的情况下,url 标记可以帮助快速检测分布式抓取程序,这些抓取程序在池中共享收集到的链接,因为收集页面的用户可能与访问页面中包含的 url 的用户不同。 借助于 url标记,我们不仅可以利用路径相关特征进行更准确的启发式检测,而且可以开发基于支持向量机(svm)的机器学习检测模型,以模拟人类和恶意爬虫之间不同的 url 访问路径模式和访问时间。 此外,url 标记会降低爬虫的下载效率。 因为网站用户可以通过不同的父页面多次下载同一个网页。

我们在开源论坛网站上开发了路径标记原型。 我们利用100多个正常用户和6个内部爬虫采集的访问日志数据对支持向量机模型进行训练,然后利用6个开源爬虫和另一组正常用户数据对模型进行测试。 实验结果表明,我们的反爬虫技术能够有效地检测到所有的爬虫,并且还检测到了两个外部爬虫,即 googlebot (sexton)和 yahoo slurp (yahoo) ,路径标记能够成功地抑制这两个分布式爬虫。

bull;我们设计了一个名为路径标记(pathmarker)的反爬虫系统,用于检测持久的、分布式的网络爬虫,这些爬虫拥有将私人访问的有价值的网页内容下载为内容的凭证。路径标记依赖于 url 访问路径和 urlvisiting 计时功能,这些功能来自添加到 url 的加密标记。

bull;路径标记可以即时检测分布式爬虫,它们以很高的准确度共享下载链接。 如果分布式爬虫不共享池中的链接,我们的加密 url 技术可以有效地抑制它们的效率低于单个爬虫的和。 对于模仿人类下载行为的个人持久爬虫,我们可以将其下载速度降低到人类的水平。

bull;我们在一个在线论坛网站上实现了一个路径标记原型,实验结果表明,路径标记能够检测包括 googlebot 和 yahoo slurp 在内的最新爬虫。

文件的其余部分是这样组织的。 「背景」部分介绍背景资料。 “威胁模型和假设”部分描述了威胁模型。 我们在“路径标记体系结构”部分提出了路径标记体系结构,并在“安全分析”部分进行了安全性分析。 系统实施在“系统实施”部分进行了介绍,评估在“系统评估”部分进行了详细阐述。 “讨论和限制”部分讨论了限制和潜在的扩展。 我们在「相关工作」部分介绍相关工作。 最后,在“结论”部分对论文进行总结。

背景

爬行算法

网络爬虫通过访问播种页面开始下载,这通常是目标网站的首页。 通过解析种子页面,爬虫程序收集了页面中的所有内容。 基于爬行算法,爬行器从已收集的 url 中选择下一个页面进行访问。 Olston 和 najork (2010)总结了15种技术,它们能够使用不同的特性来决定页面访问的顺序。 这里我们重点介绍了三种常用的技术(即深度优先、宽度优先和类随机)来显示不同爬行算法中的访问路径。 我们使用一个简单的网站结构,如图1所示,以显示差异。

首先,从种子页面(主页)开始,深度第一爬虫贪婪地访问网站链接,尽可能在一个网站树图之前回溯。 因此,图1中的访问路径是首页、第一页、第三页、第四页和第二页。 广度优先的爬虫在访问另一个页面的链接之前访问一个页面的所有链接,因此它的访问路径应该包括页面1、页面2、页面3和页面4.

pagerank 优先的爬虫旨在收集一个服务器的最有价值的内容。 Pagerank 是 google 用来给一个网站的所有页面排序的算法。 Pagerank ——首先根据几个特性评估网页的重要性,然后使用 highestrank 访问链接。 然而,这些特征与深度和宽度没有直接关系。 因此,我们将 pagerankfirst 算法归类为“类随机” ,因为相应的爬行器对深度和宽度没有偏好,除了这一个,所有访问路径对深度和宽度没有偏好的爬行器都可归类为“类随机”

反爬行机制

研究人员已经研制出了一些反爬行机制。

超文本传输协议请求字段检查。 网络服务器管理员可以检查他们的网络服务器的日志,并检查几个字段的 http 请求,如 referrers 和 cookies,以检测异常请求。 一些爬虫的请求忽略了这些字段,而其他一些请求与普通用户在这些字段中的请求有明显的不同。 请求的一个典型字段是 user-agent。 每个 http 请求包含字段用户代理,我们可以根据这个字段判断哪个软件代表用户。 例如,google 机器人的一个用户代理是“ googlebot / 2.1” ,而普通用户的用户代理在大多数情况下是 browsers 的名称。

URL功能识别。 服务器可以检查会话中一个用户的 url,以确定该用户是否正常。 Asession 是属于同一个用户的一组连续访问日志。 例如,一些爬虫试图“猜测”网址,以便将来访问,所以他们将访问非存在的网址在一个会话内存在高速率。 另一个例子是,当爬虫试图避免多次访问同一页面时,重新访问页面的速度将会降低。

基于时间的特征识别。 当服务器检查会话日志的时间戳时,它可能会获取每个特征来识别爬虫。 一个例子是,一些爬虫可能访问网页比人类的能力更快。 一艘装甲马利西乌克兰渔船可能会发现访问速度的上限,通过追踪和故障,然后它可以将其下载速率设置在这个阈值以下。 然而,由于一个攻击者的分布式爬虫具有类似的基于时间的模式,防御者可能通过分析每个用户的时间序列的相似性来检测它们(jacob et al 2012)。


爬虫陷阱。 爬虫陷阱可以用来抓住爬虫,引诱它们发出无数无意义的请求。 爬虫陷阱,如隐藏链接对普通用户是透明的,但可以看到爬虫(barbosa 和 freire 2007年)。 装甲爬虫可以通过分析页面的 css 结构来识别爬虫陷阱。

威胁模型和假设

这项工作的目标是发现有验证用户帐户的内部人员,从受害者网站上刮取私人可访问的网络内容。 像 google. com 这样的人人都可以访问的网站超出了本文的范围。 我们假设攻击者可以在很长一段时间内,持续爬行整个网站。 此外,一些业内人士可以协调搜刮网站内容。 我们假设攻击者可能控制一个或多个用户帐户,但由于经济原因(例如支付保费)、劳工原因(重复注册过程)或身份限制(需要实名或身份证号码) ,受到攻击的帐户数量有限。 攻击者通过破解网站的密码数据库来控制所有用户帐户的情况超出了本文的讨论范围。因为我们的目标是探测爬行者内部,我们假设我们可以访问网络服务器的源代码并在某些网页上进行修改。此外,我们假设我们有权限读取服务器访问日志。我们假设网络服务器有一个自己的秘密密钥来加密所有的url。因为这把钥匙未与任何用户共享,用户无法伪造有效的url向服务器请求。

路径标记架构

图2展示了路径标记体系结构,它由两个主要组件组成,即网站预处理和实时检测。 网站预处理包含两个主要变化,即在目标网站系统中增加 url 标记和创建扩展访问日志表,以帮助记录准确的网页访问信息,实时检测。 我们引入 urlmarker 到网站的现有网址,以帮助准确地跟踪每个访问者的访问路径。

实时检测模块由启发式检测、基于路径的机器学习检测和验证三部分组成。 对于传入的 http 请求,路径标记 firstextraction 从原始 url 中提取 url 标记,并为下一步检测收集功能。 启发式检测侧重于调查请求的字段以及检查 url 标记完整性。

基于路径的机器学习检测的重点是检查来自 url 标记的访问路径特征和来自网站访问日志的访问时间特征。 如果用户多次失败或激活验证码挑战,它将被标记为恶意爬虫。

网站预处理

给定一个要保护的网站,路径标记需要进行两个主要的更改,即在所有的url标记中添加url标记,并创建扩展的访问记录表以保存访问者信息和url标记信息。

添加网址标记

路径标记动态地在每个网页的每个超链接的末尾添加一个 url 标记。 每个 url标记都记录了 url 被检索的页面和请求 url 的用户。 通过分析 url 标记中的信息,我们能够验证用户是否访问了其他用户,通过比较访问者的用户 id 和标记中的 id 获得的 url,我们还可以从 url 标签中了解两个链接之间的

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[239691],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。