Twitter賬戶活動(dòng)情況分析工具 – Simple Twitter Profile Analyzer
注意,你的推文(Tweet)可能會(huì)泄露你的一些生活習(xí)慣和個(gè)人信息!作為一個(gè)每天都會(huì)使用Twitter的網(wǎng)絡(luò)安全顧問(wèn),Twitter是一個(gè)獲取和分享相關(guān)信息的最佳平臺(tái)。隨著川普的走馬上任,他和他的團(tuán)隊(duì)各種推文穿幫搞笑事件相繼發(fā)生,同時(shí)在Twitter上也產(chǎn)生了各種反川普組織。籍此,我想演示一下如何不使用黑客手段,簡(jiǎn)單地通過(guò)他人Twitter賬戶獲取到一些有用的個(gè)人信息。
元數(shù)據(jù)
Twitter和其它社交媒體基本上都是通過(guò)元數(shù)據(jù)(Metadata)提取和保存一些個(gè)人信息,事實(shí)上,從一個(gè)140個(gè)字符的消息中可以獲取到很多有用的元數(shù)據(jù),這些信息量要比用戶輸入內(nèi)容的20倍還多。而且, 所有這些元數(shù)據(jù)都可以通過(guò)開(kāi)放的Twitter API訪問(wèn)。以下就是一些元數(shù)據(jù)示例,任何人(不僅是政府)可以通過(guò)這些信息來(lái)“指紋識(shí)別”或跟蹤某人:
- Twitter接口的時(shí)區(qū)和語(yǔ)言集
- 推文(Tweet)中的使用語(yǔ)言
- 推文(Tweet)發(fā)送端(手機(jī),網(wǎng)頁(yè)…)
- 地理位置
- 使用較多的標(biāo)簽、轉(zhuǎn)發(fā)較多的用戶等
- 每天或每周的Twitter使用情況
估計(jì)大家都清楚泄漏地理位置對(duì)個(gè)人隱私造成的影響,而且也有很少人意識(shí)到,一些有規(guī)律的頻繁的推文發(fā)送也可以曝露個(gè)人習(xí)慣和其它信息。單一一條推文可能會(huì)只包含一些有趣的元數(shù)據(jù)信息,但上千條推文可能就會(huì)曝露出一些獨(dú)特的個(gè)人生活模式,這就是有意思之處。
元-元數(shù)據(jù)(meta-metadata)
元元數(shù)據(jù)構(gòu)成了元模型的結(jié)構(gòu)和語(yǔ)義,元元數(shù)據(jù)的實(shí)例化集合被稱作為元模型。收集獲取了大量推文信息之后,我們其實(shí)就能區(qū)分哪些是“企業(yè)賬戶”哪些是“個(gè)人賬戶”,同時(shí)也能識(shí)別出哪些用戶之間具備互動(dòng)關(guān)系。為此,針對(duì)某個(gè)特定賬戶,我編寫(xiě)了一個(gè)Python腳本,它通過(guò)探測(cè)推文發(fā)布頻率、時(shí)區(qū)和語(yǔ)言、地理位置、推文標(biāo)簽、轉(zhuǎn)發(fā)賬戶、朋友互動(dòng)等信息,具備獲取最新推文、抓取元數(shù)據(jù)、識(shí)別每天每一小時(shí)的Twitter使用情況等功能。以下是兩個(gè)分析示例。
對(duì)斯諾登Twitter賬戶@Snowden的分析
斯諾登自2015年9月以來(lái),共發(fā)布了1682條推文,通過(guò)分析可以發(fā)現(xiàn)他每天和每周的推文發(fā)送時(shí)間、頻率、睡眠模式等相關(guān)信息。
對(duì)特朗普Twitter賬戶@realdonaldtrump的分析
特朗普的Twitter賬戶是由多人負(fù)責(zé)管理嗎? 那么多的推文發(fā)送端,值得回味猜想!
通常建議
在此,強(qiáng)烈推薦閱讀被稱為網(wǎng)絡(luò)軍火商的@thegrugq發(fā)表的《Twitter安全使用指南》,除此之外,請(qǐng)謹(jǐn)慎使用時(shí)區(qū)/語(yǔ)言相關(guān)信息,因?yàn)槟愕耐莆目赡鼙徽w分析被識(shí)別出具體時(shí)區(qū),所以如果想保持匿名,請(qǐng)注意不要在同一天的同一小時(shí)內(nèi)發(fā)布大量推文。
Twitter賬戶分析工具源碼下載:GitHub,安裝使用請(qǐng)參考其中說(shuō)明文檔。
- 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)