没有合适的资源?快使用搜索试试~ 我知道了~
∗1970ProxyTorrent:解开免费HTTP(S)代理生态系统的谜团0Diego Perino TelefónicaResearchdiego.perino@telefonica.com0AT&T Labs - Researchvarvello@research.att.com0Claudio Soriente NEC LabsEuropeclaudio.soriente@emea.nec.com0摘要0免费网络代理承诺以零成本提供匿名性和绕过审查。有几个网站按国家、匿名级别和性能组织免费代理列表。这些列表通过自动化工具和众包发现了数十万个主机。多年来,一个复杂的免费代理生态系统已经形成,但我们对其了解甚少。在本文中,我们通过ProxyTorrent揭示了这个生态系统,ProxyTorrent是一个利用主动和被动测量的分布式测量平台。主动测量发现免费代理,评估其性能,并检测潜在的恶意活动。被动测量涉及代理性能和在野外的使用情况,这些数据由我们开发的Chrome插件通过免费代理用户收集。ProxyTorrent从2017年1月开始运行,监控多达180,000个免费代理,并在10个月的时间内总计超过1,500个用户。我们的分析显示,在Web上宣布的代理中,只有不到2%的代理实际上代理了用户的流量;此外,只有一半的代理具有良好的性能并可靠使用。约10%的工作代理表现出恶意行为,例如广告注入和TLS拦截,而这些代理也是提供最佳性能的代理。通过分析超过2TB的代理流量,我们发现网络浏览是主要的用户活动。除了托管受欢迎的地理阻塞内容的国家之外,避免地理阻塞并不是一个突出的用例。0ACM参考格式:Diego Perino,Matteo Varvello和ClaudioSoriente。2018年。ProxyTorrent:解开免费HTTP(S)代理生态系统的谜团。《2018年Web会议论文集(WWW2018)》。ACM,纽约,美国,10页。https://doi.org/10.1145/3178876.318608601 引言0Web代理是在客户端和服务器之间建立HTTP(有时也是HTTPS)连接的中间箱。它们被广泛用于安全性、隐私、性能优化或策略执行等用途。许多Web代理是免费且公开可用的。例如,这些代理可以用于私人上网和访问否则会被阻止的内容(例如,由于地理限制)。专门的论坛、网站甚至VPN服务提供商10编译每日的免费网络代理列表。经测试,其中大多数0� 在Telefonica Research期间完成的工作 1例如,https://hide.me0本文发表在知识共享署名4.0国际许可证(CC BY4.0)下。作者保留在个人和公司网站上传播作品的权利,并附上适当的归属。WWW2018,2018年4月23日至27日,法国里昂© 2018IW3C2(国际万维网会议委员会),根据知识共享CC BY 4.0许可证发布。ACM ISBN978-1-4503-5639-8/18/04。https://doi.org/10.1145/3178876.31860860代理通常很慢、无法访问或根本不是真正的代理。此外,有传言称免费网络代理会执行恶意活动,例如注入广告和用户指纹识别。可以说,免费代理构成了一个庞大而复杂的生态系统,我们对其了解甚少。例如,这个生态系统的规模有多大,有多少代理是安全可用的?这些代理用于什么目的?由于生态系统的规模以及涉及到两个无法接触的参与者(免费代理和用户),回答这些问题是困难的。在这项工作中,我们通过构建ProxyTorrent来解决上述挑战,ProxyTorrent是一个免费代理生态系统的分布式测量平台。ProxyTorrent利用我们的前提条件来主动发现和评估可以安全使用的生态系统核心的性能。使用统计数据则是通过免费代理用户匿名地被动收集,以换取ProxyTorrent编制的高质量代理列表。ProxyTorrent每天从最受欢迎的免费代理聚合网站爬取数以万计的潜在代理。潜在代理经过测试,以排除无法访问、不代理流量或执行恶意活动的代理。这是通过加载我们精心制作的“诱饵”网页以及几个热门网页,并将通过代理接收到的内容与未设置代理时接收到的内容进行比较来完成的。在TLS连接的情况下,相同的方法用于检测X.509证书的问题。这些操作每天在我们的机构运行,并生成几千个可信的代理。接下来,我们在大约30个网络位置(Planetlab节点[17])上测试可信代理的性能,同时通过HTTP/HTTPS获取热门网站的落地页。最后,收集的数据用于填充一个好的代理列表,即工作和值得信赖的免费代理。然后,我们将这个好的代理列表提供给我们开发的Chrome插件(Ciao[3,18]),以帮助用户与免费代理生态系统进行交互。Ciao用户选择目标匿名级别和国家,插件会自动识别最适合任务的免费代理(如果有的话)。当用户通过代理浏览互联网时,我们会收集关于免费代理性能和它们在野外的使用情况的匿名统计数据。我们使用ProxyTorrent收集的数据提供了免费代理生态系统的独特概览。在本文中,我们展示了长达十个月的数据,涵盖了多达180,000个免费网络代理和1,500多个用户。通过对这个数据集的分析,我们得出以下关键发现:0免费代理生态系统庞大且不断增长,但宣布的代理中只有一小部分实际可用。虽然每天有数千个新的免费代理被宣布,但总体而言,不到2%的代理是可达和正确代理流量的。此外,这些代理中有一半在几天后停止工作。许多原因导致这种短暂的行为:主机配置错误、动态寻址,甚至是旨在吸引更多客户的VPN提供商的诱饵代理。0跟踪:Web上的安全与隐私WWW 2018年4月23日至27日,法国里昂1980工作中的可疑代理的比例不可忽视,但它们的性能比安全代理更好。每天,大约10%的在Web上宣布的工作代理表现出可疑行为,从注入广告到TLS中间人攻击。平均而言,这些代理的速度是非恶意代理的两倍。快速连接很可能用于吸引潜在的“受害者”,支持免费代理“有所代价”的普遍观点。0代理的地理分布相当不均衡。一半的免费工作代理位于少数几个国家,其中美国、法国和中国位居前列。虽然美国和中国之所以居于前列是因为它们的规模,但法国拥有大型云服务提供商是代理数量庞大的原因。0避免地理屏蔽并不是免费Web代理的主要用途。通过分析1500个Ciao用户在7个月内生成的2TB流量,我们得出结论,Web浏览是最主要的活动。代理很少在与访问的网站位于同一位置的地方被选择,这表明规避潜在的地理屏蔽规则并不是主要的用户关注点。然而,一些国家如美国是个例外,可能是因为托管了大量受地理屏蔽的内容。02背景和相关工作0背景 -Web代理是一种作为客户端请求服务器资源的中间设备/应用程序,例如GET和CONNECT的HTTP(S)请求的中介。Web代理通常被分类为透明代理、匿名代理和精英代理,这取决于它们提供的匿名程度。透明代理会向源服务器透露客户端的IP地址,例如通过添加X-FORWARDED-FOR头部来指定客户端的地址。匿名代理会阻止可能使源服务器检测到客户端身份的头部,但仍然会将自己标识为代理,例如通过添加HTTP_VIA头部。精英代理不发送上述任何头部,并且在源服务器看起来像普通客户端。然而,源服务器可能通过探测从接收到的流量中提取的IP地址来检测是否使用了代理。0相关工作 -我们简要概述了相关工作的相关结果,并强调了与ProxyTorrent的区别。免费Web代理。Scott等人[20]也研究了免费Web代理,但他们的目标和方法与我们不同。虽然我们的目标是对免费代理生态系统进行全面的观察,但他们主要关注免费代理的使用方式和用途。他们通过扫描IPv4地址空间中流行的代理端口(例如3128、8080和8123)寻找无需身份验证的代理接口(即无需身份验证的代理接口)来获取使用统计信息。这种方法意味着很少运行,因为IPv4扫描的成本很高。此外,它引发了与暴露通过扫描发现的主机以及侵入其管理接口相关的一些道德问题。ProxyTorrent的设计考虑了可扩展性和用户隐私。请注意,我们曾经对流行的代理端口的IPv4地址空间进行了全面扫描,以将我们的方法与[20]中的方法进行比较(见表2)。0ProxyTorrent与proxycheck[7]有一些相似之处,proxycheck是一种可以通过使用代理下载托管在私有Web服务器上的几个不同对象来检查代理行为的工具。接下来,如果检索到的对象与原始对象相比只有一个位的差异,它将标记代理为不可信,可能会产生大量的误报。代理一次只能测试一个,每天只能测试大约10,000个代理。尽管有一些相似之处,但我们的方法基本上是不同的,因为我们设计了一个漏斗形状的方法(见图1),旨在最大限度地减少误报,同时最大限度地提高性能,例如,扩展到每天数十万个代理。在一项并行的研究工作中,Tsirantonakis等人[21]在两个月的时间内分析了大约66,000个开放代理。我们分享了类似的代理发现和内容操作检测方法,并且我们的结果是一致的。然而,我们提供了更长的观察期(即10个月,180,000个代理),并且还考虑了TLS证书操作和代理性能。此外,我们还通过被动实验来增加这种类似方法,以了解代理性能和在实际中的使用情况。路径中的操作。许多论文通过利用从受控主机提供的诱饵内容来研究路径中的Web内容操作。Reis等人[19]专注于中间盒并提供了一个带有嵌入式JavaScript的页面,用于检测和报告修改。他们的数据集包含对其网站的50,000次独特访问,总共650次内容操作。Chung等人[2]使用Hola的付费版本[8](一种点对点代理网络)来检测DNS,HTTP和HTTPS流量中的端到端违规。他们目睹了DNS劫持,HTTP操作,图像转码以及一些TLS中间人攻击的情况。[2]中报告的许多违规行为归因于ISP和运行在Hola代理对等体上的(恶意)软件。Tyson等人[22]使用相同的方法来调查HTTP头操作。他们利用Hola在3,818个自治系统(ASes)中收集了143k个视角,并在大约25%的ASes中检测到头操作。Weaver等人[24]使用Netalyzr[11]检测到14%的HTTP连接被网络中间盒操作,即拦截流量而不通知用户的设备。与上述所有方法不同的是,我们研究用户明确插入其流量以提供隐私、绕过审查等功能的免费Web代理的性能和内容操作。此外,我们使用从受控主机提供的诱饵内容以及真实网站。我们的测量平台还通过插件利用真实用户,以提供易于使用的代理,以换取在实际中使用代理的匿名统计数据。虚拟专用网络。Perta等人[15]研究商业VPN系统中的隐私泄漏。尽管有VPN隧道,他们发现以下流量泄漏。首先,IPv6流量通常不会被隧道化。其次,客户端对DNS配置的管理不当可能导致对手劫持DNS请求并了解用户访问的网站。Ikram等人[10]也报告了类似问题,他们分析了283个AndroidVPN应用程序。[10]的作者还检测到具有嵌入式跟踪库和恶意软件的VPN应用程序。与这些工作不同,我们专注于免费的Web代理,这是商业VPN的有效替代品,用于访问地理限制内容。除了它们的行为,我们还进一步评估它们的性能。0跟踪:Web上的安全与隐私WWW 2018年4月23日至27日,法国里昂potentialproxiesunresponsiveunreachableothertrusted proxiesworkingproxiesusagestatisticsperformancerankingbehaviorstatisticsperformancestatisticssuspiciousunrated1990第一阶段 第二阶段 第三阶段.A 第三阶段.B 第四阶段0# 客户端 1 1 1 � 30 高达1,500 工具 beautifoulsoup curl PhantomJS/curl/OpenSSL curl Chrome插件 主要任务 网络爬虫 获取1KB的合成对象 获取合成网页获取真实网页 与免费代理接口 主要目标 寻找潜在代理 寻找可用代理 测试行为 测试性能 监控性能和使用频率 每天 每天,按需 每天 每5分钟 用户控制0分类潜在工作/不可达/其他 可信/可疑/未评级 可信/可疑/未评级 —0表1:ProxyTorrent每个阶段的关键方面。03 PROXYTORRENT0本节描述了ProxyTorrent,这是一个分布式测量平台,用于监控免费代理生态系统(见图1)。由于代理生态系统的规模可能达到数百万台机器[20],我们使用漏斗形状的方法,分为几个阶段(见图1)。代理被送入漏斗,在每个阶段都经历一系列逐渐增加的复杂性测试。只有通过给定阶段的代理才能进入下一个阶段。由于每个阶段都减少了测试中的代理数量,我们可以逐步增加测试的复杂性。最后一个阶段发生在真实的代理用户中,可以通过野外测量来补充受控实验的结果。表1列出了每个阶段的关键方面。在本节的其余部分,我们详细描述了所有阶段。0第一阶段通过爬取几个定期发布免费代理列表的聚合网站,发现互联网上的免费代理(对)。每天的爬取工作由我们机构的一台机器完成。发现的主机用于填充一个按照每个代理出现在我们爬取的任何网站上的最后一天进行排序的“潜在代理”列表。0第二阶段测试第一阶段生成的潜在代理的代理能力。我们使用经过全面统计和头部收集的curl[4],通过每个潜在代理获取一个1KB的对象,该对象通过由亚马逊爱尔兰托管的服务器上的nginx[14]提供。为了显示为标准浏览器,curl的用户代理(UA)设置为最新的Chrome的UA。第二阶段每天从一台机器运行。它按顺序遍历潜在代理列表,并运行最多24小时,直到所有代理都被测试完或时间结束。这种策略排除了最近爬取的潜在代理,以防列表变得太大而无法在一天内处理。每个代理都与一个相似度得分相关联,该得分计算为通过代理和未经代理检索的网页之间的共同内容的比例。因此,相似度得分为1意味着通过代理获取的内容与未经代理获取的内容完全相同。第二阶段将主机分类如下。无响应:触发了连接或最大持续时间超时的主机。20第一阶段0第二阶段0第三阶段B第三阶段A0第四阶段0图1:ProxyTorrent系统概述。0结束。这种策略排除了最近爬取的潜在代理,以防列表变得太大而无法在一天内处理。每个代理都与一个相似度得分相关联,该得分计算为通过代理和未经代理检索的网页之间的共同内容的比例。因此,相似度得分为1意味着通过代理获取的内容与未经代理获取的内容完全相同。第二阶段将主机分类如下。无响应:触发了连接或最大持续时间超时的主机。20不可达:主机关闭了TCP连接并发送了重置消息,或者发送了声明网络或请求的主机不可达的ICMP消息。工作中:相似度得分≥0.5的主机,即至少正确代理了我们合成的1KB对象的50%。选择此阈值是为了排除返回错误或登录页面的代理,我们经验性地测得其相似度得分低于0.3(平均值)。请注意,大幅改变网页的代理也可能被此规则捕获。这对于找到安全的工作代理是可以的,但它会阻止第三阶段的完整行为分析,从而产生错误的负面结果(见第4.2节)。我们还使用在客户端和服务器端收集的HTTP头来进一步将工作代理分类为透明、匿名或精英(见第2节)。还会分析所有代理的HTTP头,以识别潜在恶意的头部操作。最后,使用Maxmind[13]获取每个工作代理的国家/AS信息。其他:所有返回与预期内容明显不同的主机,例如返回登录页面(私人或付费代理)或错误页面(配置错误的主机)。0第三阶段针对行为和性能测试工作代理。为了评估代理的行为,我们使用比较代理内容与不使用代理时接收到的内容的先前方法。与第二阶段相比,我们引入了一个无头浏览器、真实内容、HTTPS测试和多个位置的客户端。对于性能,我们测量页面下载时间(PDT)和页面加载时间(PLT)。PDT是下载一个网站的入口页面所需的时间;PLT是从浏览器开始获取网站到JavaScript的onLoad()事件触发的时间,该事件在页面的嵌入资源下载完成后触发,但可能在通过脚本加载的所有对象下载完成之前触发。第三阶段包括两个部分(A和B),两者都在过去7天内由第二阶段确定的工作代理集合上运行。0我们经验性地测量到,对于95%的代理来说,3秒(TCP握手)和30秒(最大持续时间)足够长。0Track: Security and Privacy on the Web WWW 2018, 2018年4月23日至27日,法国里昂3http://phantomjs.org/network-monitoring.html4https://www.theguardian.com and https://www.google.com5https://goo.gl/y86fOy808080817.2M4.65M1.55M0.95M17181184.7M3.45M1.150.1M1,09331283.7M2.29M0.76M0.65M8782000第三阶段A每天从我们的一个机器在本地运行。它使用PhantomJS[16],一个流行的无头浏览器,来获取我们提供的一个真实的网站。我们设计了这个网站,包括可能触发代理内容操作的元素:一个入口页面index.html(83.7KB),两个javascript文件(635B和22.9KB),两个png图片(1.5KB和13.5KB),以及一个favicon(4.3KB)。我们的诱饵网页类似于相关工作设置的用于寻找途中内容操作的网页[2]。数据以HTTP存档(HAR)的形式收集;为此,我们扩展了PhantomJS的HAR捕获器3,以便将实际下载的内容也转储出来。HAR文件包含了关于加载哪个对象以及何时加载的详细信息,以及PLT。我们在onLoad()事件之后一秒钟停止PhantomJS,以允许可能还有待下载的对象,或者在45秒的最大持续时间超时之后停止。与第二阶段相比,我们增加了最大持续时间超时,以适应更复杂的操作。与第二阶段一样,我们将PhantomJS的用户代理设置为最近的Chrome的用户代理。第三阶段A还检查X.509证书的问题。首先,我们使用curl通过433端口连接到我们的服务器,并将客户端呈现的X.509证书与我们的原始证书(由LetsEncrypt[12]提供)进行比较。如果curl检测到证书有任何问题,我们使用OpenSSL从我们的网站以及两个流行网站下载X.509证书。0第三阶段A将工作代理分类为“可信”、“可疑”或“未评级”。可信代理提供预期的内容,不进行替换或修改X.509证书。可疑代理会更改中继的流量,例如添加未经请求的内容或不中继预期的X.509证书。最后,“未评级”代理的速度非常慢,无法在允许的最大持续时间内提供完整的请求内容。它们提供的部分内容没有修改,否则我们将其标记为可疑。第三阶段A使用我们的真实网站的PLT来量化可信和可疑代理的性能。0第三阶段B每天从30个Planetlab节点运行。使用Curl通过工作代理列表中的每个代理获取Alexa排名前1000的网站的入口页面。具体来说,我们从Alexa构建了两个包含1000个网站的列表,分别支持HTTP和HTTPS。对于每个代理和获取的页面,第三阶段B报告PDT和相似度得分。代理主要针对HTTP网站进行测试;每10次测试中,代理还会通过从HTTPS列表中获取一个随机网站来测试其对HTTPS的支持。我们经验性地测量到,第三阶段B目前能够至少每5分钟测试一次每个工作代理。0第四阶段允许在野外测试免费网络代理,并了解免费代理的使用情况。它在安装了我们开发的Chrome插件Ciao的用户的机器上运行,以帮助用户找到免费代理。用户选择所需的匿名级别(透明、匿名、精英)和位置,Ciao根据来自ProxyTorrent的输入自动设置免费代理。0总计 无响应 不可达 其他 工作中0爬取 0.16M 0.11M 0.04 8,000 2,895 Zmap 29.1M 17M 5.66M6.4M. 2,5180表2:爬取和扫描(Zmap)摘要,2017年6月18日。最后四行的结果是按端口扫描。0为了最小化风险并最大化可用性,我们只考虑在第三阶段A中被标记为“可信”的代理,并在第三阶段B中表现最佳的代理。用户可以随时请求新的代理,以反映新的偏好或在发生故障时。Ciao根据下载报告统计数据,该数据捕获了浏览器标签从一个URL过渡到另一个URL的所有事件,通常是响应直接输入URL、刷新或中止加载网页、在页面内点击链接等。我们利用Chrome的webNavigationAPI来识别下载的开始和结束。对于每个下载,收集以下统计数据:与下载开始和结束相关的时间戳、PLT、每个协议类型(HTTP/HTTPS)的请求数和字节数、导航错误(如果有)。任何时候都不会报告个人信息,如IP地址、浏览器/操作系统信息或URL。用户会被告知收集的数据和进行匿名研究出版的可能性。0第4节 自由代理生态系统0本节描述了自由代理生态系统。我们首先量化了其规模和随时间的演变。接下来,我们提供了支持(或不支持)自由代理主要是恶意的并倾向于操纵服务内容的数据。最后,我们评估了生态系统的性能,并提供了一些关于自由代理在野外使用方式的证据。我们报告了10个月的数据(2017年1月至10月),涵盖了超过180,000个代理和1,500个用户。0限制我们首先承认我们的方法的局限性。根据我们的研究结果,每天约有10%的工作代理表现出恶意行为,例如注入内容、操纵头部或替换X.509证书。这只是恶意代理的下限,因为通过仅控制少数客户端和服务器进行详尽的行为分析是不可行的。然而,我们强调,使用类似于我们的设置的相关工作也存在相同的限制[2, 19, 22,24]。代理可能只在某些情况下表现出恶意行为以避免被检测到。例如,它可能根据上下文因素(如客户端IP地址、请求的域等)决定操纵内容。我们的实验表明,只有20%的恶意代理操纵每个请求页面的内容,而许多(40%)只在十个请求页面中的一个页面上进行操纵。此外,并不能保证在我们的实验中以原样代理流量的代理在为其他用户提供服务时不会操纵内容。也许我们请求的内容或者请求其他用户的内容时,代理会操纵内容。0跟踪:2018年WWW上的网络安全与隐私,2018年4月23日至27日,法国里昂11010001/0102/0103/0104/0105/0106/0107/0108/0109/0110/012010图2:主机分类的时间演变:不可达、无响应、工作中和其他。0我们的实验表明,我们的客户端IP地址根本没有触发代理的内容操纵。我们无法完全评估的另一种恶意行为是用户跟踪和个人资料化。我们的实验揭示了几次注入跟踪/指纹代码的尝试,但我们不能排除即使是看似无害的代理也通过利用用户的IP地址和她的请求列表进行用户个人资料化。然而,我们认为ProxyTorrent改善了对代理用户的当前情况,这些用户对于给定的代理是否执行任何恶意活动的传输是毫无所知的。此外,ProxyTorrent提高了恶意代理避免被检测到的门槛。04.1特征描述0规模。表2显示了免费代理生态系统的快照(2017年6月18日)。我们选择这个日期,因为当时我们通过扫描整个IPv4空间并针对聚合网站上最受欢迎的代理端口来补充ProxyTorrent的爬虫策略。我们的目标是了解我们爬取的聚合网站的覆盖范围。IPv4地址扫描利用我们控制的多台机器上的Zmap[5]。由于与端口扫描相关的伦理问题,我们只运行一次扫描。虽然我们测试找到的代理进行分类,但我们不使用仅通过扫描找到的代理进行以下实验,也不将它们提供给Ciao用户。表2报告了通过爬取聚合网站(第一行)和通过端口扫描(第二行)获得的代理。该表区分了四个主机类别:不可达、无响应、工作和其他(参见第3节)。爬取产生了更高比例的工作代理(约160k中的2,895个)与端口扫描(超过29M中的2,518个)。只有719个代理同时出现在两个数据集中。无论发现策略如何,表格显示大多数主机要么无响应,要么不可达,只有几千个主机实际上可以标记为工作代理。表2的最后四行显示了通过扫描按端口发现的代理的细分。图2显示了每个代理类别随时间的演变,如第II阶段所定义。在第一天,我们用包含118,915个主机()的潜在代理列表引导ProxyTorrent。01k010k0代理[#]0未评级受信任0操0证书问题0图3:按类别划分的工作代理的时间演变:未评级、受信任和可疑(数据或TLS证书操纵)0通过在专门的论坛上收集数据,我们每天通过爬虫补充这样的列表。总体而言,该图表显示工作代理类别的趋势与其他类别不同。虽然每个类别中的主机数量随时间增加,但工作代理的数量在900到3000之间波动。我们现在专注于进一步测试的工作代理的核心。图3显示了活跃代理的随时间演变,即在第III.A阶段至少在一天内可达的代理集合。图3还显示了受信任、可疑(分为操纵TLS证书的代理和操纵实际内容的代理)和未评级类别的演变。0根据图3,每天大约有66%的活跃代理被标记为可信,而约24%的活跃代理被标记为未评级。可疑代理占活跃代理的10%,其中100-300个代理操纵代理的内容,只有少数代理被发现替换X.509证书。平均而言,40%的代理支持HTTPS。在6月中旬,所有曲线的下降是由于我们系统资源的部分故障引起的。0要点:代理生态系统的特点是一个小而不稳定的核心代理群体,周围是一个庞大且不断增长的非代理主机集合,这些主机在聚合网站上错误地宣布为代理。0地理位置。图4和5显示了前20个国家和自治系统(AS)的代理总数和可疑代理的数量。这些图是根据在六个月的监测期间至少观察到一次的所有工作代理计算得出的。美国(11%)、法国(9%)、中国(6.7%)、印度尼西亚(6.6%)、巴西(6.5%)和俄罗斯(6%)托管了45%的代理,而其余的代理分散在160个国家。对于可疑代理,有一个类似的趋势,主要的区别是中国(130个代理)超过了美国(120个),与法国(70个)的差距增大。至于托管的自治系统,约28%的代理集中在仅有的六个自治系统中,而其余的代理分布在4,386个自治系统中。前20个自治系统中既有互联网服务提供商,也有云服务提供商。06曲线证书问题始于2月中旬,当时我们为ProxyTorrent添加了HTTPS支持。0Track: Security and Privacy on the Web WWW 2018, April 23-27, 2018, Lyon, France110100USFRCNID BRRUIT THGBCAIN BDDEPLLBUAVESGTRNL0.00350.0350.353.535110100OVH-FRARUBA-FRCHINANETTELKO-IDARUBA-ITCHINA169DIGITALOCEAN-USCHOOPA-USGOOGLE-USAMAZON-USCANTV-VEBIZNED-IDHOSTWINDS-USBBP-LBISP-LBTRIPLENET-THNOBIS-USDIGITALOCEAN-GBMICROSOFT-USDIGITALOCEAN-NY30.00350.0350.353.535 0 0.1 0.2 0.3 0.40.50.6 0.7 0.8 0.9 1 0 50 100 150 200 250 30020201k010k0代理[#]0代理[%]0可疑的0图4:前20个国家的代理数量。01k010k0代理[#]0代理[%]0可疑的0图5:前20个自治系统的代理数量。0(不)稳定性。接下来,我们探讨了位于免费代理生态系统(可用)核心的代理的稳定性。我们报告了它们的生命周期,即代理第一次活动和最后一次活动之间的天数,以及它们的可用时间,即代理在其生命周期内活动的天数。这两个指标是使用代理的IP地址和端口作为标识符来计算的;因此,我们的估计值是动态寻址存在时的下限。图6显示了10个月内生命周期和可用时间的CDF,区分了所有代理和可疑代理。代理倾向于具有较长的可用时间,例如,55%的代理在其整个生命周期内都可用,无论它们是否可疑。该图还显示,与生态系统的其他部分相比,可疑代理的生命周期明显较短,例如,中位数生命周期为15天,而其他代理为35天。大约一半的被监测代理的寿命不超过一个月。这个结果表明,免费代理随时间变化相当不稳定。这可能是由于动态寻址,例如当代理运行在住宅主机上时,它们的IP地址由dhcp服务器分配。另一个可能的原因是,由于管理员最终发现并修复了一些错误配置,一些代理会提供公共流量。对于可疑代理来说,测得的寿命较短也可能是故意的,即频繁更改IP地址可能被用作规避远程服务器封禁的手段。0要点:免费代理生态系统的核心具有很高的不稳定性,这使得定位可用的代理变得极为具有挑战性。这个核心的一半位于少数几个国家,其中美国领先于可信代理,中国领先于可疑代理。0CDF0天数[#]0可用时间(可疑)生命周期0可用时间(全部)生命周期(全部)0图6:所有代理和可疑代理的生命周期和可用时间的CDF。04.2行为0与上述不同,以下数据是在10个月的监测期间对数据进行聚合统计。我们发现了39,143个工作代理,其中16,700个(42%)被分类为未评级,1,833个(4.5%)被分类为可疑,20,610个(53.5%)被分类为可信。排除未评级的代理(由于没有提供足够的内容进行分类),8.2%的代理是可疑的,91.8%是可信的。本小节重点关注可疑代理,以详细讨论它们的行为。0可疑行为分类可疑代理操纵的内容可以总结如下:html(所有操纵流量的74%)、javascript(24%)和图像(2%)。未经请求的内容注入主要包括javascript,但我们也发现了少量的php和图像注入。总体而言,我们目睹了228个独特的内容操纵,这意味着有几个代理以相同的方式操纵流量。此外,可疑代理不会在每个请求中操纵流量:只有20%的代理始终操纵流量,而40%的代理操纵流量的时间不到10%。为了更好地理解内容操纵的目的,我们采用了视觉检查。为了减少工作量,我们首先使用亲和传播聚类将操纵的内容进行聚类[6]。具体而言,我们将每个被修改或注入的内容片段视为一个字符串,并使用编辑距离计算聚类算法所需的距离矩阵,该矩阵计算每对字符串之间的编辑距离。在输出的聚类中,有两个聚类涵盖了大约60%的内容操纵实例。第一个聚类包含84个广告注入代码实例,其中50个可以与两家提供热点变现服务的公司相关联。第二个聚类包含47个指纹/跟踪代码实例,主要是试图识别用户的javascript;这47个实例中有30个包括rum.js,这是一个流行的监视用户-网页交互的库。尽管rum.js通常由CDN提供商使用,但免费代理注入此类代码没有明显的动机。其余的聚类包括以下注入代码实例。九个实例只能归因于两个代理,显示与宗教相关的内容。有四次我们目睹了pyweb的元数据,pyweb是一个用于实时网页内容重写的流行代理重写工具。Pyweb的元数据引发了我们的检测,但进一步的检查显示没有实际内容重写。最后,我们无法弄清楚其余84个内容操纵的语义,因为它们被混淆或者它们只有几个字节的大小。0Track:网络上的安全与隐私WWW 2018年4月23日至27日,法国里昂 0.1 1 10 100 0.1 1 10 1002030X-Ford0通过0连接0X-代理0代理-0缓存控0服务器0日期0内容类0If-Modified-S。0头部[%]0修改0图7:头部操纵:请求头部。0实际内容重写。最后,我们无法弄清楚其余84个内容操纵的语义,因为它们被混淆或者它们只有几个字节的大小。0外卖:很少有共享于许多代理之间的内容操纵策略,其中广告注入是最常见的一种。可疑的代理不会持续操纵流量;因此,ProxyTorrent的持续监控对于检测此类代理至关重要。0无效的X.509证书HTTPS支持17,350个代理(约占工作代理的44%),其中0.9%(173个代理)被捕获干扰TLS握手。这些代理中最常见的行为是用一个显示模糊的CommonName属性(如“https”或“US”)替换原始证书为自签名证书。三个代理提供的证书的CommonName与原始域名匹配,但由“Zecurion ZgateWeb”(一家提供企业网关以防止信息泄漏的公司)和“Olofeo.com”(一家提供托管安全服务的法国公司)签名。只有一个代理提供了一个大小为2的证书链,其中叶子证书的CommonName与预期的CommonName匹配,但根证书的CommonName设置为“STATESTATESTATESTATESTATE”。这个证书的发行者是wscert.com,该域名已于2017年2月过期。0外卖:在免费代理生态系统中,TLS拦截的尝试很少见。现代浏览器可以轻松检测到这些潜在的攻击并通知用户。然而,以前的研究表明用户倾向于忽略警告[1]。0头部分析我们现在分析HTTP请求和响应头部,目的是了解代理提供的匿名级别,以及免费代理的头部操作是否超出了流量匿名化。首先,我们专注于在六个月内至少观察到一次的工作代理。然后,我们将分析被分类为其他的代理,即将网页中继给客户端的代理,该网页与我们的诱饵网页不同(参见第3节中的第二阶段)。图7显示了观察到的前10个请求头部修改和注入;Via、X-Proxy-ID、X-Forwarded-For和Connection是最常添加的头部。前两个头部被代理用于向源服务器宣布自己,而第三个头部指定了客户端IP地址给源服务器。0连接0X-Cac0通过0Proxy-0服务器0ETag0接受范0Vary0内容类0Age0头部[%]0修改0图8:头部操作:响应头部0当代理透明地运行时,通过利用这些头部信息,我们将代理分类为:1)透明代理(77%),将原始客户端IP透露给服务器;2)匿名代理(6%),保护客户端的匿名性但向服务器透露其存在;3)精英代理(17%),保护客户端的匿名性并且不向源服务器宣布自己的存在。连接是另一个经常注入的头部。大约60%的代理将其设置为close或keep-alive。这种行为并不令人惊讶,因为这个头部是为点对点通信保留的,即客户端和代理之间或服务器和代理之间的通信。Proxy-Connection头部起到类似的作用,在大约10%的情况下也会被添加。Cache-Control是唯一会被修改的请求头部;大约10%的代理会修改这个头部以接受带有给定max-age值的缓存内容,尽管我们的测试工具明确指定不提供缓存内容。我们还观察到不到1%的代理(图7中未显示)通过删除或指定自己的代理来修改用户代理。虽然客户端用户代理的暴露减少了匿名性,但它允许服务器根据用户设备和应用程序优化提供的内容。图8显示了工作代理执行的前10个响应头部修改和注入。对于请求头部,Via头部是最常注入的头部之一;这被代理用于向客户端宣布自己和其协议能力。大约30%的代理还会添加X-Cache头部,以指定所请求的内容是从代理的缓存中提供的还是之前缓存的响应可用。最常修改的头部是Connection头部,要么被删除(50%的情况),要么被设置为close。如前所述,这是一种常见行为,因为这个头部是连接特定的,不需要传播到客户端。最后,不到10%的代理会修改Server头部以反映他们使用的软件,而不是源服务器的软件。现在我们专注于被分类为其他的代理。与上述类似的观察仍然成立;此外,我们观察到在响应中注入了一定数量的Set-Cookie(5%)、Access-Control-Allow-*(1%)和X-Adblock-Key(0.5%)头部。Set-Cookie头部向客户端推送一个可能用于跟踪的cookie。Access-Control-Allow-*头部用于授予客户端从不同源域访问资源的权限。0Track: Security and Privacy on the Web WWW 2018, April 23-27, 2018, Lyon, France 0 0.1 0.2 0.3 0.40.50.6 0.7 0.8 0.9 1 0 5
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功