返回
policy2026年7月10日1 分钟

住宅代理与爬虫现状:开放互联网的防御之战

#住宅代理#爬虫攻击#AI训练数据#网络安全#开放互联网

1. 住宅代理:攻击的源头

正如去年所述,爬虫攻击来自网络上的海量源头。在短短几小时内,看到来自数百万个独立IP地址的协调请求并不罕见,每个地址最多只访问网站两到三次。攻击者控制的数据(如用户代理字段)完全是虚构的;每次访问都旨在伪装成另一个使用浏览器的普通人类。有一些方法可以区分——例如,爬虫通常不会获取图片或CSS——但等到做出判断时,相关地址已不会再被使用。此时封锁该地址只是浪费时间。这些流量主要来自住宅和移动网络,由中央指挥控制节点引导。软件被安装在普通系统上,接收控制节点的指令,按需获取网页,并将结果数据转发回控制器。大多数情况下,这种活动是在设备所有者不知情或未同意的情况下进行的。“住宅代理”(residential proxies)一词用于描述以这种方式使用的系统。

2. 运营者的类型与动机

运营住宅代理网络攻击网站的操作者大致分为几种不同类型(至少表面如此)。一种是纯粹的犯罪型,在已被某种恶意软件入侵的系统上运行爬虫。今年年初,谷歌采取行动摧毁了一个名为IPIDEA的爬虫网络,并提供了大量关于这些操作如何运作的信息。IPIDEA的关闭与LWN爬虫流量的显著减少相关;几个月内情况相对平静。然而,这段平静期此后已告结束。最近,媒体流设备被识别为恶意爬虫软件的主要载体。有时设备在源头就被入侵;其他时候,它们只是安全性差,事后容易被攻破。第二种操作者更为公开,假装具有一定合法性,并提供“道德来源”的IP地址。一家名为Bright Data的公司是其中最突出的之一;它乐于宣传自己绕过网站访问控制和流量限制的能力。Bright Data提供一项“免费”VPN服务;用户只需让Bright Data能够通过用户设备路由流量——换句话说,就是成为该公司住宅代理网络的一部分。每部使用此VPN的手机或其他设备都成为另一个用于攻击网站的端点。还有许多其他此类操作者的例子;它们通常提供一个库,应用开发者可以将其集成到自己的产品中,并通过劫持用户的网络连接获得报酬。其中一家甚至向我们询问在LWN上为其SDK投放广告的事宜;简而言之,那是一次简短的对话。总体而言,这些公司范围从那些力求表面合法(例如宣传“符合GDPR”)的,到其他公然卑劣的。虽然这些住宅代理网络用于网站爬取,但值得强调的是,这些操作者有能力运行代码,访问数百万设备恰好连接的任何网络上的资源。假设这种访问仅用于爬取,至少是天真的。

3. 模型开发公司与隐藏的参与者

当然,还有那些以开发模型为核心业务的高调公司。这些公司自行爬取;可轻松归因于它们的流量在用户代理字段中清晰标识,并且通常遵守robots.txt等措施。它们也会反复爬取整个网站,似乎基于2003年写的文章可能在昨天以某种方式发生了变化的理论,但它们不会从数百万系统产生压倒性的流量,因此不是最大的问题。不清楚的是谁在使用住宅代理;有人付钱给它们对网站发动这些攻击。没有证据(据我所知)表明前沿模型公司正在使用这些网络。然而,如果事实证明它们确实如此,全球的惊讶程度几乎不会增加。这些公司以某种方式喂养它们的模型,它们对如何获取训练数据并不坦诚,并且它们在尊重内容创作者——或任何可能对其运营有担忧的人——方面并未表现出色。然而,每一个公开模型背后,必定有大量秘密模型。许多公司肯定在尝试构建自己的模型;毕竟,我们可靠地得知AI将接管世界,而在这场竞赛中胜出的公司将价值连城。许多国家的秘密政府机构肯定也在开发自己的模型,并在任何能找到的地方搜寻训练数据。大规模犯罪组织(在它们与政府有区别的程度上)可能也想要自己的模型。这些工具被视为武器,一场军备竞赛正在进行。整个互联网陷入了交火之中。

4. 防御措施与开放互联网的代价

针对这一切,网站运营者一直在争相保护自己的网站,同时尽量减少对实际用户的影响。Anubis(一种通过要求工作量证明来抵御爬虫的工具)现已广泛使用。其他网站使用商业服务,这些服务有时会通过“证明你是人类”按钮来表明自身。或者网站强迫用户选出包含路灯(但仅限于LED灯泡的)、放置拼图碎片,或按住空格键时哼唱歌曲。许多网站功能已被置于登录门或付费墙之后。一些网站尝试使用iocaine等工具主动毒化发送给爬虫的数据。设置和维护这些机制的需求,以及用户访问网站时必须应对这些机制的要求,构成了爬虫及其付费者对整个世界征收的沉重税负。最近,LWN遭受了迄今为止最严重的爬虫攻击。得益于已实施的防御措施,网站承受住了流量,大多数实际读者可能甚至没有注意到。有人要求描述我们为保护网站所采取的措施;出于显而易见的原因,我们不愿详细讨论。在这个层面上,这也是一场军备竞赛。我们可以说的是,我们已尽力将对真实读者的影响降至最低。我们没有采用Anubis等工具,部分原因是它会给试图访问网站的人带来烦人的延迟,但也部分原因是爬虫最终似乎不可避免地会找到绕过它的方法。事实上,有一些迹象表明这已经在发生。当你拥有数百万台他人的机器来完成工作时,工作量证明要求并不是一个巨大的障碍。我们还希望不妨碍合法搜索引擎、互联网档案馆(Internet Archive)和其他此类团体的运作。一些网站可能会添加明确的允许列表,例如,让主导搜索引擎访问网站。此类措施会进一步巩固一个已经服务不佳的垄断地位,应予以避免。到目前为止,我们在这方面取得了成功。我们积极优化了网站的某些部分,并找到了在网站遭受攻击期间最小化昂贵操作的方法。匿名读者偶尔可能会遇到其中一项措施;已登录用户则不会。有趣的是,网站遭受攻击时的响应时间通常比平静时期(防御措施处于休眠状态)更好。然而,我们已学会不要认为问题已经解决;一旦当前措施不再有效,我们必须考虑下一步行动。

5. 执法行动与持久解决方案的缺失

7月2日,谷歌宣布与美国联邦调查局(FBI)等机构协调,摧毁了一个名为“NetNut”的住宅代理网络。就目前而言,这一行动确实似乎成功降低了爬虫攻击的水平。然而,经验表明,这种受欢迎的平静只会持续那么久。谷歌不遗余力地指出,其Play商店现在将检查受NetNut感染的应用程序,但所有主要供应商对为什么将具有住宅代理功能的应用程序放入其应用商店如此容易这一话题保持沉默。最好能在整个互联网被逼到防御墙之后,以及那个激发如此多创造力的开放网络消失之前,找到一个更持久的解决方案。推动这些攻击的行业似乎完全心安理得,在掠夺独立网站的内容后将它们变成冒烟的弹坑——这种态度也延伸到了地球及其经济。然而,我们中的一些人反对这种想法,并将与之抗争。幸运的是,总有一天,整个世界将决定让大型语言模型及相关技术背后的公司遵守最低道德标准。但在那之前,这种行为将继续下去,我们别无选择,只能防御自己。

6. 读者讨论:如何避免成为住宅代理

如何避免无意中运行这些代理之一?在台式机/笔记本电脑上很容易检查意外的网络使用情况(而且我怀疑Linux机器是这些木马的常见目标,更不用说大多数Linux用户从发行版仓库获取全部或大部分软件),但对于那些在智能手机上使用专有应用程序的人(以我为例,Android),监控网络使用并不总是那么容易,是否有办法扫描已安装的应用程序以查找这些恶意SDK?如果你使用Google Play服务,请开启Play Protect并让它定期扫描——这将捕获谷歌发现包含这些代理之一的任何应用程序。除此之外,你可以让Android告诉你一个应用程序使用了多少移动数据;进入“设置”,然后“应用程序”,它在单个应用程序的“应用程序信息”屏幕中。如果你怀疑某个应用程序,你还可以禁用“后台数据”——这可以阻止它在你没有打开它且使用移动数据时使用数据;据我所知,这也涵盖设置为“按流量计费”的WiFi网络,但这一点我可能错了。TEMU据传包含一个。据我所知,它只是在设备用户浏览其市场时在前台运行。请注意这是传闻。我自己没有安装那个应用程序,也没有嗅探其流量。但它是第一个我听说现在被称为住宅代理的,通过“被木马化的”应用程序,并且来自多个来源。我确信来自GAFAM应用程序的“链接获取器”偶尔也能做到这一点……如何避免无意中运行这些代理之一?其他一些评论者已经评论了如何在自己的系统上避免这些类型的代理,但我想指出,个人行动不足以解决更广泛的问题。我不想劝阻任何人尝试保持自己系统的清洁,但我们永远无法通过鼓励每个拥有移动设备的人避免它们来摆脱这些类型的代理。你需要阻止对绝大多数可用设备的访问才能取得任何实际进展,而涉及实际努力的自愿项目永远无法达到那种参与水平。这些事情需要在系统层面处理——将应用程序从应用商店中移除,使这种行为明确非法并起诉违法者等——而不是在个人用户层面。感谢提醒!我完全理解,并为我的评论可能给人留下的印象(这主要是需要由个人用户解决的问题)道歉;这绝对不是我的本意。我只是想确保我个人没有为问题做出贡献,无论任何一个用户的部分有多小;我不是要求每个拥有智能手机的人都研究他们使用的每个应用程序。我无法回答监控问题,但NetGuard(在f-droid或play商店上)可以按应用程序阻止网络访问。我完全拒绝大约三分之一需要网络的应用程序的网络访问,另外大约三分之一仅在屏幕打开时获得访问权限。这不是一个完美的修复,但是一个不错的保护层。对于你很少使用但不想一直卸载和重新安装的应用程序(最新的不同版本),有一个“暂停应用程序”按钮,当你长按应用程序时可用。除了……它莫名其妙地只暂停应用程序一天:-( 但还有另一个永久选项。长按 - 应用程序信息 - 屏幕时间!你可以将其设置为零,它保持为零。它被称为“屏幕时间”,但它似乎也阻止后台使用,希望一些Android开发者可以确认。(当然,这种建议只对技术人员有用,对拯救开放互联网无济于事)

7. 感谢与反思:防御措施与未来挑战

嗨,Jon,我认为我们这里的许多人完全意识到这些爬虫和代理对像这样的网站造成的问题,以及对抗它们的困难。至少我可以说,我没有注意到这个网站上有任何异常,所以从用户体验的角度来看,你们的行动是好的。谢谢!你说得对,永远不要公开解释你应用的反制措施很重要。很多时候,一些措施极其简单有效(我9个月前部署的一些简单技巧,我原以为只能持续一周,现在仍然有效)。而且它们通常非常特定于网站,很难适应其他网站(除了主要原则),所以通过解释每个人的特定网站如何对抗这些来分享的东西很少。我注意到7月2日流量下降了30%,此前6月25日下降了50%,我无法解释(主要归因于用户代理“sleepbot”)。所以是的,这些网络似乎正在逐步被拆除,可能很快会在其他地方重新出现,因为受感染的浏览器(及其不知情的用户)只是在等待另一个C&C来照顾它们:-/ 我必须承认,我有点担心在未来几年内,由于针对非人类的已安装反制措施,网络上会失去大量合法内容索引的风险。如果网站无法通过搜索引擎找到,这将成为一个问题。这一切都是因为AI初创公司在竞相训练自己的模型(或变体)。也许建立一个静态的中央互联网内容注册表会更好,这些公司可以随意爬取,而不会杀死小型网站。不过,这可能需要很长时间才能开始看到这样的事情发生。你提出的中央注册表以Common Crawl的形式存在:https://commoncrawl.org/ 这个想法是,你为他们的项目贡献资源,他们有一个_单一的_爬虫,以礼貌的方式(遵守速率限制和robots.txt)下载网络内容,然后任何想要的人都可以使用爬取的内容,而无需重新爬取。这种方法存在一些问题,但当我看到Common Crawl出现在服务器日志中时,我通常很高兴,因为我知道那是一堆不需要向我们发送多个请求的不相关项目。哦,谢谢链接,我之前不知道。我会确保不封锁那个!

8. 应用商店层面的预防难题

所有主要供应商对为什么将具有住宅代理功能的应用程序放入其应用商店如此容易这一话题保持沉默。谷歌的规则已经禁止未经用户授权的“住宅代理”:https://support.google.com/googleplay/android-developer/a... 但如果用户真正同意,是否仍应禁止?这是一个艰难的决定。当然,开发者可以并且确实违反了这些规则。那么问题在于,通常不可能仅通过检查代码来检测代码是否会违反这些规则。那么,除了人们举报并在事后关闭它们之外,如何检测违规行为?这大致就是现在发生的情况,这比什么都没有好,但仍然是一场打地鼠游戏。谷歌的规则已经禁止未经用户授权的“住宅代理”。但如果用户真正同意,是否仍应禁止?这是一个艰难的决定。不,它们不应该被允许。禁止它们至少与保护整个互联网免受其有害影响同样重要,就像保护用户免受欺骗一样。


🔗 原文链接:https://lwn.net/SubscriberLink/1080822/990a8a5e2d379085/