5 億微博數(shù)據(jù)疑泄露,Python 爬蟲如何避免踩天坑?
編者按:本文來自微信公眾號(hào)“CSDN”(ID:CSDNnews),作者:馬超,36氪經(jīng)授權(quán)發(fā)布。
3月19日,默安科技CTO魏興國(guó)發(fā)微博稱,微博數(shù)據(jù)泄露了不少用戶的手機(jī)號(hào),當(dāng)中涉及不少微博認(rèn)證的明星和企業(yè)家。
亦有網(wǎng)友在他的微博評(píng)論區(qū)表示:“有超過5.38億條微博用戶信息在暗網(wǎng)出售,其中1.72億條有賬戶基本信息,售價(jià)0.177比特幣。涉及到的賬號(hào)信息包括用戶ID、賬號(hào)發(fā)布的微博數(shù)、粉絲數(shù)、關(guān)注數(shù)、性別、地理位置等?!?/p>
目前,這條微博已經(jīng)刪除。
針對(duì)此事,微博方面回應(yīng)稱,數(shù)據(jù)泄露屬實(shí),目前微博已經(jīng)及時(shí)強(qiáng)化安全策略,微博一直有提供根據(jù)通訊錄手機(jī)號(hào)查詢微博好友昵稱的服務(wù),用戶授權(quán)后可以使用該服務(wù)。
但微博不提供用戶性別和身份證號(hào)等信息,也沒有“根據(jù)用戶昵稱查手機(jī)號(hào)”的服務(wù)。因此這起數(shù)據(jù)泄露不涉及身份證、密碼,對(duì)微博服務(wù)沒有影響。
據(jù)此我們可以判斷出這次微博個(gè)人信息泄漏的安全事件,其原因應(yīng)該是通訊錄好友匹配攻擊導(dǎo)致的。很多社交App都有通過通訊錄匹配好友的功能。攻擊者可以偽造本地通訊錄來獲得手機(jī)號(hào)到微博用戶賬號(hào)的關(guān)聯(lián)。比如通過偽造的手機(jī)號(hào)匹配好友,并不斷列舉,就能關(guān)聯(lián)出所有用戶帳號(hào)到微博ID到手機(jī)號(hào)的關(guān)系。
本次事件糾其本質(zhì)其實(shí)是利用合法API的不合理使用來套取、收集信息的過程,簡(jiǎn)單來講就是一個(gè)爬蟲引發(fā)的血案。
有關(guān)爬蟲的是是非非實(shí)在太多了,據(jù)筆者觀察2019年幾乎所有的大數(shù)據(jù)即爬蟲公司全部被查,包括新顏科技與魔蝎科技的CEO被查、公信寶被封、聚信立也宣布將暫停爬蟲服務(wù)、國(guó)內(nèi)大數(shù)據(jù)風(fēng)控平臺(tái)龍頭同盾科技也被曝解散爬蟲部門。
這其中最惹人關(guān)注的事件,還是那位來自巧達(dá)科技的程序員,因?yàn)閷懥艘欢闻老x程序,非法從某招聘網(wǎng)站上下載簡(jiǎn)歷信息而被起訴,引發(fā)了全網(wǎng)關(guān)于程序員面向“監(jiān)獄”編程的大討論。
而站在筆者角度來看,有關(guān)爬蟲的爭(zhēng)議和信息泄漏防護(hù)需要從數(shù)據(jù)持有方和數(shù)據(jù)爬取方兩個(gè)角度來審視。
數(shù)據(jù)持有方的盾:DLP數(shù)據(jù)泄露防護(hù)系統(tǒng)
這次信息泄漏事件發(fā)生后,我們可以看到微博第一時(shí)間就回應(yīng)不涉及身份證、密碼等敏感信息的外流,我相信這背后的底氣還是來自于微博對(duì)其數(shù)據(jù)泄漏防護(hù)(Data leakage prevention, DLP)的信心。
遠(yuǎn)程辦公大背景下,先要做好內(nèi)部預(yù)防:據(jù)國(guó)家計(jì)算機(jī)信息安全測(cè)評(píng)中心數(shù)據(jù)顯示,重要資料被黑客竊取和被內(nèi)部員工泄露的比例為1:99.也就是說有互聯(lián)網(wǎng)出口的企業(yè),其內(nèi)部重要機(jī)密通過網(wǎng)絡(luò)泄密而造成重大損失的事件中,只有1%是被黑客竊取造成的,而都是由于內(nèi)部員工有意或者無意之間泄露而造成的。尤其是在目前遠(yuǎn)程辦公的背景下,這種由員工引發(fā)的信息泄漏情況其實(shí)風(fēng)險(xiǎn)更高,企業(yè)在數(shù)據(jù)邊界建立一套安全防護(hù)體系十分重要。
員工終端出口防控:部分大廠都有一套數(shù)據(jù)沙盒運(yùn)行或者加密機(jī)制,用來阻止數(shù)據(jù)由使用的客戶端流出,并且一般在DLP的整體解決方案中,還會(huì)使用圖像處理技術(shù)還會(huì)將員工屏幕圖像的頻域中加入特定指紋,以追蹤員工泄漏截屏信息。記得在2017年阿里腳本秒殺月餅的事件中,就有人因泄漏截圖信息而被處理,這背后其實(shí)就是頻域指紋的技術(shù)。再有就是對(duì)內(nèi)網(wǎng)中包括U盤、移動(dòng)硬盤、紅外、WIFI、藍(lán)牙等輸出端口實(shí)施監(jiān)控,對(duì)拷貝到移動(dòng)存儲(chǔ)設(shè)備的文檔進(jìn)行強(qiáng)制加密。
互聯(lián)網(wǎng)出口防控:而針對(duì)互聯(lián)網(wǎng)出口DLP技術(shù)幾乎和AI圖像處理與NLP技術(shù)同步發(fā)展,一般都會(huì)使用最新的分類模型,監(jiān)控異常流量,防止數(shù)據(jù)外泄,這里還是再次強(qiáng)調(diào)一下系統(tǒng)上云的重要性。
數(shù)據(jù)爬取方之道:避免面向監(jiān)獄編程
根據(jù)最新的流量分析,互聯(lián)網(wǎng)40%左右的流量都是機(jī)器人也就是爬蟲發(fā)起的,站在數(shù)據(jù)爬取方的角度,必須關(guān)注爬蟲技術(shù)的法律邊界,“技術(shù)無罪”的號(hào)往往不能保護(hù)廣大程序員。
而有關(guān)爬蟲的法律問題,筆者特意咨詢了法務(wù)同事,根據(jù)我國(guó)的《刑法》、《網(wǎng)絡(luò)安全法》的規(guī)定,爬蟲可能涉及到的犯罪行為有如下情況:
1.首先侵入國(guó)家事務(wù)、國(guó)防建設(shè)、尖端科學(xué)技術(shù)領(lǐng)域的計(jì)算機(jī)信息系統(tǒng)的,不論情節(jié)嚴(yán)重與否,構(gòu)成非法侵入計(jì)算機(jī)信息系統(tǒng)罪。
2.違反國(guó)家有關(guān)規(guī)定,向他人出售或者提供公民個(gè)人信息,構(gòu)成“侵犯公民個(gè)人信息罪”。也就是說通過出售個(gè)人信息獲利或者侵入含有國(guó)家機(jī)密的系統(tǒng)均會(huì)構(gòu)成犯罪,但這兩種情況均不會(huì)是無心之過,但是以下規(guī)定需要格外注意。
3.違反國(guó)家規(guī)定,對(duì)計(jì)算機(jī)信息系統(tǒng)功能進(jìn)行刪除、修改、增加、干擾,造成計(jì)算機(jī)信息系統(tǒng)不能正常運(yùn)行,后果嚴(yán)重的,構(gòu)成犯罪。也就是如果使用爬蟲的抓取力度過大,造成被攫取的網(wǎng)站無法正常運(yùn)行的情況,并造成嚴(yán)重后果的也會(huì)構(gòu)成犯罪。我們前文所述巧達(dá)科技的程序員也是因?yàn)榕老x流量太大,造成目標(biāo)網(wǎng)絡(luò)接近癱瘓,而涉嫌觸犯此條被捕。
也就是說避免面向監(jiān)獄編程的三原則是
1.不要觸碰國(guó)家事務(wù)、國(guó)防建設(shè)的系統(tǒng)
2.不要觸碰個(gè)人信息,更不能販賣個(gè)人信息
3.合理設(shè)置爬取流量,避免DDOS攻擊式的爬蟲
另外為避免其它民事糾紛,要盡量遵守Robots 協(xié)議。Robots 協(xié)議是一種存放于網(wǎng)站根目錄下的 ASCII 編碼的文本文件,它通常告訴網(wǎng)絡(luò)搜索引擎的漫游器也就是爬蟲,此網(wǎng)站中的哪些內(nèi)容是不應(yīng)被爬蟲獲取的,哪些是可以被爬蟲獲取的。嚴(yán)格按照 Robots 協(xié)議 爬取網(wǎng)站相關(guān)信息一般不會(huì)出現(xiàn)太大問題。
因?yàn)樗痉▽?shí)踐中一般也會(huì)考慮行業(yè)的通行規(guī)范,因此一般遵守Robots 協(xié)議得到的信息不會(huì)被認(rèn)為是商業(yè)機(jī)密或者個(gè)人隱私數(shù)據(jù)。或者說遵守協(xié)議所得的信息即使涉密其泄密責(zé)任一般也不會(huì)由爬取方承擔(dān)。
實(shí)際遭遇信息泄漏時(shí)應(yīng)該做什么
在所有的信息泄漏中最麻煩的就是密碼或者身份證信息泄漏,對(duì)此筆者有如下建議:
1.檢查自己的征信記錄:如果征信記錄中有異常,尤其是遭遇不明原因的貸款時(shí),那么大概率是遇到嚴(yán)重的信息泄漏情況了。此時(shí)如果聯(lián)系不上貸款平臺(tái),可以盡早報(bào)案,以保護(hù)自己的合法權(quán)益。
2.解除三方平臺(tái)的綁定關(guān)系:一般來說銀行對(duì)于客戶銀行卡的保護(hù)力度還是比三方支付公司要大的,所以如遇信息泄漏,可以先解除與三方支付平臺(tái)的綁定關(guān)系及關(guān)閉定時(shí)自動(dòng)扣款服務(wù),必要時(shí)再更換銀行卡。
作者簡(jiǎn)介
馬超,CSDN博客專家、阿里云MVP、華為云MVP,金融科技行業(yè)資深從業(yè)者,著名的國(guó)產(chǎn)操作系統(tǒng)及數(shù)據(jù)庫軟件的布道者