作为一名网络安全顾问,我每天都会使用Twitter,毕竟它是我迄今为止获得最新安全资讯和分享相关信息给他人的最佳工具之一。 随着最近唐纳德·特朗普就职总统,新发表的Twitter和创建的Twitter抗议群体的账户不断增多,我决定在不利用黑客技术的前提下演示如何轻松的从别人的帐户中获取正在泄露账户主人相关的信息。

元数据

像任何其他社交媒体网站一样Twitter实际上知道关于你的很多事情,这要感谢一下“元数据”这个东西。 事实上,只需要140个字符的消息,你就可以获得大量的元数据,超过你输入的初始内容大小的20倍! 那么接下来,你猜怎么着? 几乎所有的这些元数据都可以通过开放的Twitter API进行访问。

这里有一些可以被任何人(不只是政府)用来“甄别”和跟踪某人的几个例子:


Twitter上设置的时区和语言
在发表的推文中检测到的语言
使用的来源(移动应用程序,网络浏览器,...)
地理位置
最常用的主题标签,大多数转贴的用户等。
日常/周期性的活动

每个人都应该知道地理位置泄漏的危害,以及它可能会如何暴露个人隐私等等。 但很少有人意识到,只是一个很正常的推文就可以告诉我关于你的很多习惯。

拆分单个推文可能会显示更多有趣的元数据。拿几千个推文来看吧,你可以看到一些匹配模式。这里就是乐趣开始的地方。

Meta-metadata

收集关于某人的足够多的推文,例如我们可以区分“企业”帐户(一般只在工作时间使用),甚至尝试去猜猜有多少用户对该帐户比较感兴趣。

为了证明我的观点,我开发了一个python脚本,它会检索关于某人的所有最新的推文,并抓取元数据,并能计算在某一个星期内每小时以及每天的活动情况。

分析爱德华斯诺登的Twitter账户 (@Snowden)

Snowden于2015年9月发布了1682条推文。我们可以很轻松确定他的睡眠时间,如下所示(莫斯科时区)。

分析唐纳德·特朗普的Twitter帐户 (@realdonaldtrump)

唐纳德·特朗普的帐户是由多人在管理吗? 看看检测到的源的数量,你来猜猜实际情况…

一般性建议

我强烈建议您阅读grugq发表的Twitter安全指南。 除了这个指南之外,我建议你谨慎使用时区/语言,另外,你还要注意你的推文可以作为一个整体进行分析:如果不想让别人猜测到你的时区,就不要在同一时间发推。当然,前提是你想在Twitter上保持匿名,不过不要将这些原则应用到你的Twitter大号上(毕竟这个比较浪费时间)!

源代码

我把我的脚本放在了Github上,完全开源,请随意使用。