暗网
暗网(深网,不可见网,隐藏网)是指那些存储在网络数据库里、但不能通过超链接访问而需要通过动态网页技术访问的资源集合。
1、基本信息
-
中文名称
暗网
-
属性
搜索引擎索引
-
性质
表面网站
-
又称
深网
2、暗网定义
暗网
“深网”是指互联网上不能被搜索引擎抓取到的内容。比如我和同事的微信聊天记录,存在网盘里的仅自己可见的音频视频,设置了仅显示三天朋友圈,那三天之外的朋友圈内容就是属于搜索引擎无能为力的范围了。这部分的数据量比搜索引擎能够抓取到的多得多就比较正常了,至于是不是96%和4%的比例就不知道了。
“暗网”,通常可以认为是“深网”的一个子集,而且是很小的一部分子集。因为使用暗网确实需要一点点的技术门槛和成本,这决定了能够使用暗网的人数仅仅是网民中极少的一部分,因为使用暗网确实很难被追踪到,所以具体有多少也很难去界定。有数据指出浏览暗网所用的Tor浏览器年下载量在5000万,日活只有数十万。指望这少部分暗网用户创造96%的互联网数据量也不可信,即使他们每个人都占着千兆带宽的网络不停地复制粘贴上传下载也做不到。
迈克尔·伯格曼将当今互联网上的搜索服务比喻为像在地球的海洋表面的拉起一个大网的搜索,大量的表面信息固然可以通过这种方式被查找得到,可是还有相当大量的信息由于隐藏在深处而被搜索引擎错失掉。绝大部分这些隐藏的信息是须通过动态请求产生的网页信息,而标准的搜索引擎却无法对其进行查找。传统的搜索引擎"看"不到,也获取不了这些存在于暗网的内容,除非通过特定的搜查这些页面才会动态产生。于是相对的,暗网就隐藏了起来。
3、暗网传说
传说中与外星人的道西战争
早在2012年就有报告指出,在2011年(中国)大约有9万人参与网上黑市交易,造成了当地53.6亿元人民币的损失,1.1亿用户成为受害者(占当时中国网民的22%),影响了110万网站(占当时中国网站数量的20%)。与使用暗网不同的是,中国互联网黑市上的个体户更倾向于用公开的网络平台来进行买卖。
他们通过黑话来掩饰交易,比如银行卡账号密码和各种网游账号密码均被称为“信封”或“信”,而不法分子用来收取账号密码的电子邮箱、在线Web应用程序等则被称为“箱子”。包含银行卡磁条的窃取信息则通常称为“资料”、“轨道料”或简称“料”。
暗网,一个比表面网站大几个数量级的隐藏网络因为章莹颖的失踪而在国内掀起了讨论。关于它的传说众多,虽然没有网络传言描述的那么恐怖,但它本身真的很不光彩。
暗网真的有,但你看到的大多数是假的,关于暗网描写流传比较广的当属《暗网,一个比你想象中恐怖100倍的互联网世界》,还有写手“恐惧鸟”关于“暗网”的夸张性描写,再附上几张模糊而血腥的图片,就足以让多数人畏惧了。
这种描写就跟看到的那些地摊文学《全球UFO探秘》差不多。比如下面这张照片,被恐惧鸟称之为1979年人类和外星人的“道西战争”的照片,巨大的灰人正在向人类迈进,这张照片在“暗网”上才能看到,属于互联网的深层信息。关于“道西战争”就属于和都市传说类似的外星人传说范围了。
事实并不如此,上面那张模糊的黑白照片只是由下图转换而成,所谓的灰人,也只是三个雕像而已。雕像位于塞尔维亚,用来纪念二战中的死难者,其中部分雕像在2009年被盗。
中国访问学者章莹颖在美国失踪的案件发生后,以及案情水落石出之前,很多公众号就发文表示这件事背后是国际人口贩卖以及“暗网”在作祟。一时间,“暗网”这个对大多数人来说都还很陌生的概念再次走入人们的视线,激起社交网络上一阵又一阵的恐慌。
4、暗网来源
暗网创始人罗斯·威廉姆斯·乌布利希
"这些网站可能已经被合理地设计出来了,但是他们却没有被任何搜索引擎编列索引,以至于事实上没有人能找到他们。我可以这样对这些不可见的网站说,你们是隐藏了的。"
另外早期使用"不可见网络"这一术语的,是一家叫做"个人图书馆软件"公司的布鲁斯·芒特(产品开发总监)和马修·B·科尔(首席执行官和创建人),当他们公司在1996年12月推出和发行的一款软件时,他们对暗网工具的有过这样的一番描述:
不可见网络这一术语其实并不准确,它描述的只是那些在暗网中,可被搜索的数据库不被标准搜索引擎索引和查询的内容,而对于知道如何进入访问这些内容的人来说,它们又是相当可见的。
第一次使用暗网这一特定术语,是2001年伯格曼的研究当中。
从信息量来讲,与能够索引的数据相比,"暗网"更是要庞大得多。根据BrightPlanet公司此前发布的一个名为《TheDeepWeb-SurfacingTheHiddenValue》(深层次网络,隐藏的价值)白皮书中提供的数据,"暗网"包含100亿个不重复的表单,其包含的信息量是"非暗网"的40倍,有效高质内容总量至少是后者的1000倍到2000倍。更让人无所适从的是,BrightPlanet发现,无数网站越来越像孤立的系统,似乎没有打算与别的网站共享信息,如此一来,"暗网"已经成为互联网新信息增长的最大来源,也就是说,互联网正在变得"越来越暗"。
当然,所谓"暗网",并不是真正的"不可见",对于知道如何访问这些内容的人来说,它们无疑是可见的。2001年,ChristSherman、GaryPrice对HiddenWeb定义为:虽然通过互联网可以获取,但普通搜索引擎由于受技术限制而不能或不作索引的那些文本页、文件或其它通常是高质量、权威的信息。根据对HiddenWeb的调查文献得到了如下有意义的发现:
(1)HiddenWeb大约有307,000个站点,450,000个后台数据库和1,258,000个查询接口。它仍在迅速增长,从2000年到2004年,它增长了3~7倍。
(2)HiddenWeb内容分布于多种不同的主题领域,电子商务是主要的驱动力量,但非商业领域相对占更大比重。
(3)当今的爬虫并非完全爬行不到HiddenWeb后台数据库内,一些主要的搜索引擎已经覆盖HiddenWeb大约三分之一的内容。然而,在覆盖率上当前搜索引擎存在技术上的本质缺陷。
(4)HiddenWeb中的后台数据库大多是结构化的,其中结构化的是非结构化的3.4倍之多。
(5)虽然一些HiddenWeb目录服务已经开始索引Web数据库,但是它们的覆盖率比较小,仅为0.2%~15.6%。
(6)Web数据库往往位于站点浅层,多达94%的Web数据库可以在站点前3层发现。
暗网分类
一种是技术的原因,很多网站本身不规范、或者说互联网本身缺少统一规则,导致了搜索引擎的爬虫无法识别这些网站内容并抓取,这不是搜索引擎自身就能解决的问题,而是有赖整个网络结构的规范化,百度的"阿拉丁计划"、谷歌的"云计算"就是要从根本解决这一问题。
另一个原因则是很多网站根本就不愿意被搜索引擎抓取,比如考虑到版权保护内容、个人隐私内容等等,很多网站都在屏蔽百度、比如视频网站优酷也宣布屏蔽百度一样,这更不是搜索引擎能解决的问题了。如果他们能被搜索引擎抓取到,就属于违法了。
数据显示,能够搜索到的数据仅占全部信息量的千分之二。而对暗网的发掘能扩大搜索数据库,使人们能够在搜索引擎上搜索到更多的网页、信息。
几乎任何有抱负的通用搜索引擎都有一个共同的梦想:整合人类所有信息,并让大家用最便捷的方式各取所需。
对此,百度说:"让人们最便捷地获取信息,找到所求";谷歌说:"整合全球信息,使人人皆可访问并从中受益"。这两者表达的实际上是同一个愿景。
然而,这注定是一项不可能完成的任务。据科学家估测,人类信息大概只有0.2%实现了web化,并且这个比例很可能在持续降低。更甚的是,即便在已经Web化的信息中,搜索引擎的蜘蛛能抓取到的和不能抓取到的比例为1:500。
万里长征的第一步即是对付"暗网"。所谓"暗网",简言之即为"搜索引擎抓取不到的网页数据"。点亮"暗网"早已纳入各大搜索引擎的日程之中,很明显,这将是一场旷日持久的战争。
5、解决方法
为实现自动获取HiddenWeb页面的任务,此爬虫必须能自动寻找表单,填写表单,然后获取和识别结果页面。HiddenWeb爬虫系统结构如图所示
1.寻找HiddenWeb入口页面
Web上存在多种多样的表单,同时表单上含有各种各样的元素,如单选按钮、下拉列表框、文本框等,有些还是用户自定义的,因此处理所有的表单是比较困难的。为此,需要先解析HTML页面,获取要研究的表单类型,同时从中抽取有用信息。本文要研究的是不含或含有少量的文本框元素,其它类型元素都具有默认值的表单。这很容易通过解析HTML表单来完成,如可以使用标记序列树或DOM(文档对象模型)来过滤出要研究的表单。
2.自动提交表单
当搜索表单提供了每一表单元素所有可能的值时,直接的方法是对具有少量的文本框元素使用空串作为默认值,穷尽表单其他元素所有可能值的组合来填写表单,获取后台数据库全部的数据。
此方法存在两个问题:
①处理过程非常耗时;
②在穷尽所有可能值组合之前,也许已经获取了所有或大部分的后台数据库数据,从而出现了重复提交;
③多个字段组合可能存在语义上的冲突。HiddenWeb爬虫设计的目标是使用最少的资源(如提交时间或次数等)获取特定HiddenWeb站点内最大量的数据,然而不能保证对所有表单使用有限次的提交可以获取后台数据库的全部数据,因此有必要再次发送查询来确定是否已获取了全部数据。本文提出一种两阶段采样爬行策略以充分获取HiddenWeb数据,它分为如下两个步骤:
(1)首先使用表单提供的默认值来提交;
(2)然后对表单元素值组合进行采样以确定默认值提交是否返回了后台数据库的所有数据,若返回了后台数据库所有或大部分数据则可以结束提交过程。否则,在爬虫所具有资源限制范围内穷尽所有可能值的组合。
如果C次采样提交每次都产生了新的记录,则穷尽表单元素其它可能值组合来提交表单,直到满足特定的结束条件。然而在继续提交表单前,先要估计完成这样的操作所需的最大剩余时间和用于存储所有结果记录所需的最大空间。可以指定如下几个参数来完成此阶段的任务:最大查询提交次数、最大存储空间和最大剩余时间等。
可以通过叠加每次查询所返回的数据量来估计所需最大存储空间S。类似地可以估计最大剩余时间T。
在穷尽阶段,可以使用几个参数阀值来提前结束提交过程。包括:
(1)获取Web数据库数据的百分比:通过估计Web数据库百分比以确定获取了多少数据以后可以结束提交过程。
(2)查询提交次数:通过确定查询提交次数来减轻站点的负担。
(3)获取数据的数量:即获取了多少惟一性的Web数据库信息。
(4)提交时间:爬行某特定站点需要多长时间。
上述每一个阀值或其组合都可以在穷尽阶段提前结束爬虫爬行。
3.识别和存取查询结果
对表单提交操作产生的响应主要有如下几种情况:响应页含有后台数据库部分或所有数据;响应页不仅包含有数据还包含链接;响应页含有数据和原始表单结构;响应页可能是另一张需要进一步填写的表单;错误页面通知;无记录通知或需要缺失字段。这一步主要是针对这些可能出现的情况进行处理。然后从含有丰富数据的页面中使用信息抽取工具抽取结构化的数据构建数据,以进一步提供信息检索服务。
6、暗网现状
暗网
对于庞大的"暗网",搜索业界通行的策略主要有两种:其一,构建更有针对性的"暗网"爬虫,以便获取后台数据库;其二,与"暗网"网站合作,实现信息的对接和上浮。
对于第一种策略,它始终贯穿搜索引擎的发展过程。百度产品部相关人士对此表示,针对搜索引擎的升级和更新中,大部分与"暗网"问题有关,只不过对普通用户来讲,他们很难察觉。
第二种策略似乎更成效。不管是国外的谷歌、雅虎,还是国内的百度,都有针对性的计划,并且用户已经体验到了它们带来的变化。
巨头的较劲
股民刘先生在百度搜索时无意中发现,当关键词为股票代码时,得到的结果第一项便是该股票的K线图,还有当日的成交量等信息。而切换到谷歌,得到的结果如出一辙。他体验到的这一技术,在百度被称为"阿拉丁",在谷歌则叫"onebox"。
除了股票,在百度搜索英文单词、人民币汇率、天气预报、电视节目表等等,网民都会有意外收获。这一点,网民的感触要比在谷歌中深,一个典型的例子是,在百度和谷歌中分别输入"天气",百度将直接根据用户的IP判断其所处位置,给出当地的天气情况,而谷歌则在第一个结果中给出了一个搜索框,让用户进一步查询。
显然,在用户体验上,百度占了上风。这得益于其上线不久的"搜索开放平台",这一平台是"阿拉丁"计划的一部分。其运作逻辑是:百度开放API接口,各大网站提交已经结构化的数据,设定好关键词和展示方式、位置,获得百度审核后,当网民检索设定的关键词,则自动触发这一机制,展现最直接的信息。
对比百度搜索开放平台和谷歌onebox,两者的最大区别就是与网站的互动,前者更为充分。换句话说,onebox更多是谷歌自己在使劲,而搜索开放平台则是百度与站长一起在努力。据百度阿拉丁项目负责人透露,平台上线两个月以来,站长提交的资源数量超过3000个。
搜索的变革
在对付"暗网"的过程中,搜索引擎正在完成它的蜕变,不论是后台还是前台,这才是这场战役的真正意义。
"搜索引擎越来越聪明了,它能看穿我的心思。"90后网民小龚说。他是一个球迷,平时最喜欢看意甲,一天在百度搜索"意甲射手榜","居然结果中直接就是榜单,让人意外。"
一位业内人士表示,搜索引擎试图让人们以最小的成本获得最直接的信息,"哪怕是少一次鼠标点击,也是巨大进步。"
有意思的是,随着百度搜索开放平台、谷歌onebox、雅虎SearchMonkey等计划的展开,搜索结果真正变得"乱糟糟"的---你总能看到网页链接的结果中间夹杂着图片、新闻、视频,或者图形、表格等信息,这种变革对网民的体验大有裨益。
而评论人士则指出,这些计划将搜索引擎从"只读时代"带入了"可写时代"。或许未来,对于每一个网站,每一个用户,都有资格改变搜索引擎。
信息模块技术
对于暗网爬虫来说,一个简单粗暴的方式是:将各个输入框的输入值组合起来形成查询,比如机票查询来说,将所有出发城市、所有目的城市和时间范围的选项一一组合,形成大量的查询,提交给垂直搜索引擎,从其搜索结果里提炼数据库记录。
GOOGLE对此提出了解决方案,称之为富含信息查询模块技术。
假设为了描述一个职位,完整的查询由3个不同的属性构成:出发城市、到达城市和出发日期。如果在搜索引擎提交查询的时候,部分属性被赋予了值,而其他属性不赋值,则这几个赋值属性一起构成了一个查询模块。
如果模块包含一个属性,则称之为一维模块。图中模块1是一维模块,模块2和模块3是二维模块,模块4是三维模块。
模块1={出发城市}
模块2={出发城市,到达城市}
模块3={到达城市,出发日期}
模块4={出发城市,到达城市和出发日期}
对于某个固定的查询模块来说,如果给模块内每个属性都赋值,形成不同的查询组合,提交给垂直搜索引擎,观察所有返回页面的内容,如果相互之间内容差异较大,则这个查询模块就是富含信息查询模块。但是这将是一个庞大的查询组合基数,为了进一步减少提交的查询数目。GOOGLE的方案使用了ISIT算法。
ISIT算法的基本思路是:首先从一维模块开始,对一维查询模块逐个查询,看其是否富含信息查询模块,如果是的话,则将这个一模模块扩展到二维,再次依次查询对应的二维模块,如此类推,逐步增加维数,直到再无法找到富含信息查询模块为止。通过这种方式,就可以找到绝大多数富含信息查询模块,同时也尽可能减少了查询总数,有效达到了目的。