经常听到“搞安全的圈子”这个词,那么安全的这个圈子有多大呢?哪些人是活跃在线上,正在搞安全的呢? 笔者也想知道这个问题的答案,于是做了点有意思的小测试,写下本文。

(注:本文中所指的圈子,仅仅是指那些活跃在线上的安全人员,不包括什么相关部门的隐世高手或者是地下市场的各类大牛)

测试流程


  1. 以我自己的腾讯微博【我收听的人】作为起点,收集【第一页】的人。注意:只收集了第一页,大约30人(有一些官方的游戏帐号,例如:天天爱消除)。

2013090611435916118.jpg

  1. 再以这些人为起点,继续搜集他们所收听的【第一页】的人。

  2. 以上过程中,我们需要记录的有2类数据。(1)用户ID及昵称;(2)收听ID与被收听ID

  3. 编写perl脚本将以上过程自动化,将爬取结果存入sqlite数据库中。

  4. 一段时间后,觉得数据差不多了,CTRL+C 终止了爬取过程。得到了2576个微博ID和3410个微博收听关系。

  5. 由于微博ID中有些帐号是官方帐号,例如:t(腾讯薇薇), 或者是业界大佬,例如:pony(麻花疼),当然还有一些著名公知、游戏宣传ID等。均被剔出上述结果。最终,我们可以得到2209个微博ID。

  6. 从sqlite中导出剔除知名ID后的用户关系数据。使用cytoscape软件进行简单的分析。

测试结果


1. 内外两大圈!

将网络关系通过yFiles的circular layout进行展示,我们可以得到内外两大圈,如下图:

2013090611442070660.jpg

放大显示,我们可以发现,在内圈上,基本都是活跃在安全圈子的人,比如,黑哥。如下图:

2013090611444945715.jpg

至于其它的ID是不是,大家可以去查下上图这几个微博ID。 例如上图中reb1r7h这个ID,很陌生对吧,我也没见过,但是我们查看一下他微博内容,会发现他确实是与安全有关的,如下图:

2013090611450772495.jpg

2. 当然,上图只是截了一个角落,为了进一步看看,这个“内圈”到底覆盖程度如何?我们来搜索下我们经常能见到的ID。

@axis ,微博ID:aullik5,为了方便显示,我们选取与aullik5相关的结点及二级结点,可以得到下图:

2013090611452790960.jpg

前些天,看到tombkeeper在微博上推荐台湾女黑客(微博ID:wintersnow1119),我们会发现,这位女黑客也在我们的圈子里。同样将数据独立显示出来。

2013090611454059782.jpg

我们好像发现了什么:@sogili 这个猥琐的娃子,也关注了女黑阔!!

以我们团队为例,以平时低调的verkey为入口,展现二级结点数据。可以发现我们团队的人员就全部出现在内部小圈子上了。

2013090611455749102.jpg

最后,我在看剑心这个结点的时候,附近还看见了一个很陌生,但是读起来很好听的单词。tarantula!

2013090611461339133.jpg

查了下,原来是。。。(哈哈,是她,是她,就是她,你们自己查去!)

3. 最终,我们手上就有了一份安全人员的大名单。

总结


我仅仅只采集了用户【收听的人】,而没有采集用户的【粉丝】。因为微博上名人经常被收听,而这些名人的粉丝数目众多,如果采集粉丝,当遇到名人时,采集器就会陷入名人不能自拔。当然可以通过黑名单的方式来排除名人,但是我们想要搜集这份黑名单几乎是不可能的。同时,用户【收听的人】价值明显高于【粉丝】,得到的关系结果更为真实。

我们的起点是很小的,在我自己的收听名单第一页中,人数是非常有限的,但是最终收获的名单是挺全面的,这说明这种采集方法还是十分有效果的。

安全圈有多大?也许就这么大?

2013090611465430864.png