315晚會上,主持人展示了使用視頻模擬的方式來破解人臉識別,巧的是,在此之前雷鋒網(wǎng)就曾報(bào)道過安全研究員在FIT互聯(lián)網(wǎng)安全創(chuàng)新大會上展示的5種方法破解手法,雷鋒網(wǎng)在此再次編輯整理,呈現(xiàn)給讀者。
一人,一車,一司機(jī),故事還得從一次“網(wǎng)約黑車”的經(jīng)歷說起 。
車到了,可疑的是,接我的司機(jī)、車的信息,與手機(jī)客戶端上顯示的完全不符,但為了趕緊回家,我顧不了太多便上了車,結(jié)果司機(jī)開了不到一分鐘,就回頭對我說:“我要取消訂單了,等會兒你直接給我錢就行 ”,在我的一再拒絕下,司機(jī)說可以把我送回原處,讓我重新打個出租車回去。
結(jié)果當(dāng)我再次用該約車軟件打車,發(fā)現(xiàn)來接我的居然還是那個司機(jī)!司機(jī)說:“你要么就打個出租車回去,只要你還用這個軟件約車,打到的還是我的車!”
當(dāng)時(shí)我就納悶了,為什么還是你的車?why?
?
原來,附近有個由30多個黑車司機(jī)組成的車隊(duì),每個司機(jī)都有一堆虛假的司機(jī)賬號,上百個賬號由同一個人來統(tǒng)一接單,然后通過電臺調(diào)度車輛去接人,因此不管你打到哪個號,都會調(diào)我去接人,而且就算是別人去接你,也是一樣的流程。
于是我感到奇怪,這個 打車APP 上明明使用了人臉識別功能來驗(yàn)證司機(jī)信息,為什么這些司機(jī)可以繼續(xù)使用虛假賬號?經(jīng)過一頓軟磨硬泡,司機(jī)終于透露,雖然人臉識別聽起來很牛逼,但是他們有軟件可以輕易破解。
沒錯,人臉識別技術(shù)就這么被一群黑車師傅給黑了。
以上故事是在 Freebuf 主辦的 FIT 2017 互聯(lián)網(wǎng)安全創(chuàng)新大會上,來自平安科技的安全研究員高小廚(高亭宇)在一場“關(guān)于人臉識別技術(shù)應(yīng)用風(fēng)險(xiǎn)”主題演講中的一段描述。說完他便現(xiàn)場展示了那個司機(jī)用來破解人臉識別技術(shù)的軟件,一個可以讓照片“張口說話”的APP。
【請注意兩張照片的嘴部】
高小廚說,從那之后他開始琢磨人臉識別技術(shù)在實(shí)際應(yīng)用層面的風(fēng)險(xiǎn),并調(diào)研了市面上使用了人臉識別技術(shù)的軟件,最后的結(jié)果出乎自己的預(yù)料。
花式破解人臉識別技術(shù)
通過分析,他發(fā)現(xiàn)市面上大部分使用了人臉識別技術(shù)的軟件,其識別流程均大致如下:
檢測人臉 → 活體檢測 → 人臉對比(和之前上傳的自拍照或證件照)→ 分析對比結(jié)果 → 返回結(jié)果(通過或不通過)
據(jù)雷鋒網(wǎng)了解,其中活體檢測技術(shù)即在人臉識別時(shí)要求用戶進(jìn)行眨眼、點(diǎn)頭、張嘴等動作,以防止靜態(tài)圖像破解,國內(nèi)多個知名APP中的人臉識別都采用了該項(xiàng)技術(shù)。
高小廚表示,一般的APP開發(fā)者不會自己開發(fā)人臉識別技術(shù),而是通過第三方的API接口或SDK組件來獲得人臉識別功能,基于這個特點(diǎn),他對人臉識別技術(shù)從接入到實(shí)際使用過程中的每個關(guān)鍵點(diǎn)進(jìn)行了分析,最終在多個環(huán)節(jié)都找到了多個突破點(diǎn),只要略施小計(jì),就能讓人臉識別形同虛設(shè)。
1.注入應(yīng)用繞過活體檢測
高小廚首先在現(xiàn)場演示了通過注入應(yīng)用的方式來篡改程序,從而繞過所謂的活體檢測功能,使用一張靜態(tài)照片就可以通過人臉識別。
在注入過程中,他首先在程序中布置一個了斷點(diǎn),通過不斷演示人臉識別流程來觸發(fā)該斷點(diǎn),然后分析并修改程序儲存的值,來達(dá)到最終的繞過活體檢測的效果。
除了注入應(yīng)用之外,他還發(fā)現(xiàn)可以通過查看當(dāng)前APP的數(shù)據(jù)結(jié)構(gòu),修改入?yún)⒆值鋪泶鄹幕铙w檢測完成后的圖片,從而達(dá)到活體檢測由任意一個人完成都可以通過的效果,這樣他同樣可以拿著被攻擊者的照片來通過靜態(tài)人臉識別,然后自己眨眼抬頭來破解活體檢測。
2.視頻攻擊繞過活體檢測
如果說前面的方法需要一些技術(shù)門檻,那這個方法就可以適用于所有小白用戶,只需要安裝一個能夠?qū)⑷四樥掌谱鞒梢曨l的手機(jī)軟件,然后在朋友圈、個人空間等地方找到對方的一張正面照片(這個應(yīng)該不難),輸入到軟件中,就可以令其開口說話,所謂的活體檢測也就不攻自破。
文章開頭所說的黑車司機(jī)也正是用的這款軟件,實(shí)現(xiàn)了對APP人臉識別功能的破解。由此雷鋒網(wǎng)猜想,如果使用軟件合成的視頻即能夠破解人臉識別活體檢測,那么任意一段清晰的正面視頻也應(yīng)該可以用來嘗試破解,如果真如此,那些經(jīng)常在網(wǎng)絡(luò)上拋頭露面的明星、網(wǎng)紅、視頻直播,一旦使用人臉識別作為密碼,那就相當(dāng)于把密碼寫在臉上了。
3. 三維建模繞過云端檢測
高小廚注意到,除了點(diǎn)頭、眨眼,有些人臉識別還會要求用戶進(jìn)行點(diǎn)頭、搖頭等動作,于是他立刻想到了使用3D建模,構(gòu)建人臉模型的方式來破解。
通過網(wǎng)上下載的兩個用來制作3D建模的軟件,參照郭富城照片中的臉部特征,高小廚在短時(shí)間內(nèi)就做出了對應(yīng)的 3D 建模圖像,人臉檢測軟件對比結(jié)果顯示,這兩個在短時(shí)間內(nèi)制作出來的模型與原來照片的相似度分別高達(dá) 73.17 %和 86.71%,可以用來破解一般的人臉識別。
【3D人臉模型,以及論發(fā)型的重要性】
4.臉部模具繞過云端檢測
既然3D建模能成功繞過人臉識別,高小廚立刻想到了使用3D 打印來進(jìn)行嘗試,結(jié)果卻出乎意料的失敗了,在分析了失敗原因時(shí),他說:
通常人臉識別會分析臉部的多個特征值,而有的人臉識別技術(shù)會在眉毛部位提取多個特征點(diǎn),而3D打印如果不夠精細(xì),打印出來人臉一般會缺少眉部特征。
如果3D打印模型只采用了一種材料,打印出來的人臉模型顏色會過于單一,比如材料是黃色的,眉毛也是黃色的,這會大大降低識別的成功率。
如果3D打印使用的材料不合適,打印出來的模型的臉部細(xì)節(jié)會很粗糙,需要后期手工打磨。
雖然高小廚在現(xiàn)場沒有直說,但雷鋒網(wǎng)宅客頻道編輯已經(jīng)隱約能讀懂他話中的含義:“不是3D打印不行,而是我用的這臺3D打印機(jī)太辣雞! 如果換一臺更加精密的打印機(jī),破解同樣不在話下?!?/p>
當(dāng)他掏出自己用于測試的3D打印模型時(shí),不得不承認(rèn)這個模型有些慘不忍睹,確實(shí)如同高小廚所說,缺乏面部細(xì)節(jié)、顏色單一,比例似乎也不太對。
【用于測試的3D打印模型】
5.利用接口防護(hù)不當(dāng)和各種奇葩的設(shè)計(jì)缺陷
高小廚發(fā)現(xiàn),部分APP在使用上傳人臉圖像時(shí),沒有對圖像數(shù)據(jù)進(jìn)行簽名,導(dǎo)致圖片可以被工具截獲然后篡改,而有的則是在數(shù)據(jù)報(bào)文沒有加入時(shí)間戳,可以通過重放數(shù)據(jù)報(bào)文的方式來實(shí)施破解。
在測試某一款應(yīng)用時(shí),他發(fā)現(xiàn)人臉識別的成功與否,是通過返回報(bào)文中的一個閾值來決定的,相當(dāng)于考試中的“及格分?jǐn)?shù)”,如果人臉匹配度超過該閾值就可以通過,不幸的是,該APP 沒有對這個返回報(bào)文加簽名,導(dǎo)致該報(bào)文可以被篡改,最終高小廚通過調(diào)低該閾值的方式破解了它的人臉識別。
APP風(fēng)險(xiǎn)初步調(diào)研
高小廚在現(xiàn)場展示了自己進(jìn)行的APP風(fēng)險(xiǎn)調(diào)研的結(jié)果,他發(fā)現(xiàn)除了一般的考勤、賬號安全APP之外,大量的銀行、P2P 金融企業(yè)的 APP 已經(jīng)介入使用了人臉識別技術(shù),其中:
- 金融行業(yè)在使用人臉識別技術(shù)時(shí)安全性明顯高于一般應(yīng)用;
- 當(dāng)人臉識別技術(shù)涉及關(guān)鍵業(yè)務(wù)時(shí),安全防護(hù)水準(zhǔn)往往更高
比如他在測試國內(nèi)某P2P金融的客戶端時(shí),嘗試人臉識別解鎖失敗數(shù)次后,該APP 就檢測出了可能存在惡意破解的情況,強(qiáng)制使用銀行卡信息、手機(jī)短信等其他方式來完成認(rèn)證。
高小廚在現(xiàn)場強(qiáng)調(diào)了一點(diǎn),除了人臉識別技術(shù)在手機(jī)上本身的應(yīng)用缺陷之外,許多問題導(dǎo)致的原因都是開發(fā)者在調(diào)用第三方的人臉識別服務(wù)時(shí),沒有嚴(yán)格按照一個安全的規(guī)范來做,接入流程不夠嚴(yán)謹(jǐn),甚至經(jīng)常出現(xiàn)為了提高用戶體驗(yàn)而舍棄安全性的做法,這樣的做法在技術(shù)實(shí)力不強(qiáng)的小公司十分常見,最終導(dǎo)致的結(jié)果就是,讓用戶把密碼寫在了自己的臉上。
評論
查看更多