注意,你的推文(Tweet)可能会泄露你的一些生活习惯和个人信息!作为一个每天都会使用Twitter的网络安全顾问,Twitter是一个获取和分享相关信息的最佳平台。随着川普的走马上任,他和他的团队各种推文穿帮搞笑事件相继发生,同时在Twitter上也产生了各种反川普组织。籍此,我想演示一下如何不使用黑客手段,简单地通过他人Twitter账户获取到一些有用的个人信息。
元数据
Twitter和其它社交媒体基本上都是通过元数据(Metadata)提取和保存一些个人信息,事实上,从一个140个字符的消息中可以获取到很多有用的元数据,这些信息量要比用户输入内容的20倍还多。而且, 所有这些元数据都可以通过开放的Twitter API访问。以下就是一些元数据示例,任何人(不仅是政府)可以通过这些信息来“指纹识别”或跟踪某人:
- Twitter接口的时区和语言集
- 推文(Tweet)中的使用语言
- 推文(Tweet)发送端(手机,网页…)
- 地理位置
- 使用较多的标签、转发较多的用户等
- 每天或每周的Twitter使用情况
估计大家都清楚泄漏地理位置对个人隐私造成的影响,而且也有很少人意识到,一些有规律的频繁的推文发送也可以曝露个人习惯和其它信息。单一一条推文可能会只包含一些有趣的元数据信息,但上千条推文可能就会曝露出一些独特的个人生活模式,这就是有意思之处。
元-元数据(meta-metadata)
元元数据构成了元模型的结构和语义,元元数据的实例化集合被称作为元模型。收集获取了大量推文信息之后,我们其实就能区分哪些是“企业账户”哪些是“个人账户”,同时也能识别出哪些用户之间具备互动关系。为此,针对某个特定账户,我编写了一个Python脚本,它通过探测推文发布频率、时区和语言、地理位置、推文标签、转发账户、朋友互动等信息,具备获取最新推文、抓取元数据、识别每天每一小时的Twitter使用情况等功能。以下是两个分析示例。
对斯诺登Twitter账户@Snowden的分析
斯诺登自2015年9月以来,共发布了1682条推文,通过分析可以发现他每天和每周的推文发送时间、频率、睡眠模式等相关信息。
对特朗普Twitter账户@realdonaldtrump的分析
特朗普的Twitter账户是由多人负责管理吗? 那么多的推文发送端,值得回味猜想!
通常建议
在此,强烈推荐阅读被称为网络军火商的@thegrugq发表的《Twitter安全使用指南》,除此之外,请谨慎使用时区/语言相关信息,因为你的推文可能被整体分析被识别出具体时区,所以如果想保持匿名,请注意不要在同一天的同一小时内发布大量推文。
Twitter账户分析工具源码下载:GitHub,安装使用请参考其中说明文档。
- usage: tweets_analyzer.py -n <screen_name> [options]
- Simple Twitter Profile Analyzer
- optional arguments:
- -h, --help show this help message and exit
- -l N, --limit N limit the number of tweets to retreive (default=1000)
- -n screen_name, --name screen_name
- target screen_name
- -f FILTER, --filter FILTER
- filter by source (ex. -f android will get android
- tweets only)
- --no-timezone removes the timezone auto-adjustment (default is UTC)
- --utc-offset UTC_OFFSET
- manually apply a timezone offset (in seconds)
- --friends will perform quick friends analysis based on lang and
- timezone (rate limit = 15 requests)