技術(shù)宅
在今年的3?15晚會(huì)現(xiàn)場,主持人通過一張用戶的照片順利通過手機(jī)APP上的人臉驗(yàn)證。這個(gè)看似極為安全的人臉識(shí)別是怎么被攻破的?今天就讓我們來解讀其背后隱藏著怎樣的技術(shù)原理,以及我們該如何更好地保護(hù)手機(jī)的安全(圖1)。
露臉就登錄——認(rèn)識(shí)APP上的人臉識(shí)別
現(xiàn)在人臉識(shí)別幾乎已成為手機(jī)的標(biāo)配,很多APP也支持人臉識(shí)別技術(shù)。比如我們常用的手機(jī)支付寶,在登錄界面首次點(diǎn)擊“刷臉登錄”,然后按照APP的要求拿起手機(jī)對著攝像頭眨眨眼,這樣APP會(huì)自動(dòng)讀取當(dāng)前人臉數(shù)據(jù)。下次需要進(jìn)入支付寶時(shí),我們只要再對著APP展展眼,順利識(shí)別后就可以無需密碼直接登錄支付寶了(圖2)。
那么人臉識(shí)別是怎樣實(shí)現(xiàn)支付寶的登錄?人臉識(shí)別實(shí)際上是一項(xiàng)分析比較的計(jì)算機(jī)技術(shù),也是生物特征識(shí)別技術(shù)的一種,通過對生物體(一般特指人)本身的生物特征來區(qū)分生物體個(gè)體,從而將其作為安全驗(yàn)證的手段。因?yàn)槊總€(gè)人(雙胞胎除外)臉部的位置、大小和各個(gè)主要面部器官的位置信息基本上都是不同的。這樣支持人臉識(shí)別的APP會(huì)先采集人臉這些信息,然后依據(jù)這些信息進(jìn)行三維建模,進(jìn)一步提取每個(gè)人臉中所蘊(yùn)涵的身份特征并保存在數(shù)據(jù)庫中。這樣需要再次使用人臉識(shí)別的時(shí)候,APP會(huì)將采集到的人臉信息和數(shù)據(jù)庫中已知的人臉數(shù)據(jù)進(jìn)行對比,如果一致則完成驗(yàn)證通過(圖3)。
照片變?nèi)四樀谋澈蟆四樧R(shí)別怎樣被攻破
人臉識(shí)別的關(guān)鍵主要是兩點(diǎn)認(rèn)證身份,一是人臉比對,即判斷待驗(yàn)證的人臉是不是本人,二是活體檢測,即判斷待驗(yàn)證的人臉是不是真實(shí)有效的。3?15晚會(huì)現(xiàn)場使用的是清晰的本人照片,因此人臉比對驗(yàn)證很容易通過,對于活體檢測主持人又是通過什么方法破解?
大家知道,支持人臉識(shí)別的APP為了確保采集到的是人物的活體信息,APP在采集人臉信息的時(shí)候會(huì)要求我們進(jìn)行眨眼、搖頭、點(diǎn)頭等簡單的頭部動(dòng)作,人臉識(shí)別的漏洞正是由于這些簡單頭部動(dòng)作造成的。如果得到一張靜態(tài)照片,相信很多學(xué)過圖像處理技術(shù)的朋友都可以輕松實(shí)現(xiàn)照片上人臉一些部位的動(dòng)態(tài)處理,比如Faceu就可以實(shí)時(shí)地在人臉上疊加具有動(dòng)態(tài)效果的貼圖和道具,比如可以實(shí)現(xiàn)照片人臉的翹嘴、睜眼等操作(圖4)。
在3?15晚會(huì)現(xiàn)場,后臺(tái)技術(shù)人員使用的正是類似的照片動(dòng)態(tài)處理技術(shù),技術(shù)人員通過人臉關(guān)鍵點(diǎn)定位和自動(dòng)化人臉動(dòng)效技術(shù),通過將自拍照由靜態(tài)改為動(dòng)態(tài),這樣可以完成刷臉登錄需要的眨眼、微笑等動(dòng)作。而活體檢測的破解,則通過3D建模將現(xiàn)場隨機(jī)選擇的觀眾照片轉(zhuǎn)變成立體的人臉模型。這樣當(dāng)主持人開啟手機(jī)APP進(jìn)行人臉識(shí)別檢測的時(shí)候,技術(shù)人員將臉模覆蓋到主持人的臉上,結(jié)合上述技術(shù)手段,使臉模能夠跟隨主持人臉部動(dòng)作指揮,依次按照活體檢測步驟要求,完成左右轉(zhuǎn)頭、搖頭、眨眼、微笑等動(dòng)作,最終騙過人臉識(shí)別系統(tǒng)成功進(jìn)行登錄(圖5)。
當(dāng)然不要以為3?15晚會(huì)現(xiàn)場技術(shù)人員的技術(shù)有多厲害,只要有一定的圖像處理知識(shí),幾乎任何人都可以完成類似的破解。比如在FIT 2017 互聯(lián)網(wǎng)安全創(chuàng)新大會(huì)上,技術(shù)人員利用網(wǎng)上下載的兩個(gè)用來制作3D建模的軟件,參照郭富城照片中的臉部特征,技術(shù)人員在短時(shí)間內(nèi)就做出了對應(yīng)的3D建模圖像。人臉檢測軟件對比結(jié)果顯示,這兩個(gè)在短時(shí)間內(nèi)制作出來的模型與原來照片的相似度分別高達(dá)73.17%和86.71%,這個(gè)假照片足以用來破解一般的人臉識(shí)別(圖6)。
可以看到這次人臉識(shí)別被破解,主要原因是由于很多廠商在開發(fā)人臉識(shí)別技術(shù)的時(shí)候?qū)铙w檢測的重視程度明顯不足,使用的算法比較簡單所致。那么人臉識(shí)別該如何提高安全性?針對類似動(dòng)態(tài)照片即可完成驗(yàn)證的Bug,很多人臉識(shí)別開發(fā)商增加了更多更為先進(jìn)的活體檢測技術(shù)。比如在活體檢測的時(shí)候,增加通過分析人臉皮膚的紋理以及人臉及微小動(dòng)作帶來的光流場的規(guī)律變化,這樣可以更好地防止視頻和面具攻擊。
手機(jī)安全——請不要僅依賴單一保護(hù)手段
隨著移動(dòng)支付的普及,現(xiàn)在手機(jī)已經(jīng)和我們生活、工作緊密關(guān)聯(lián)在一起,手機(jī)不僅僅是單純的通訊工具,里面還保存我們很多的隱私和私人財(cái)產(chǎn)。因此手機(jī)的安全性也得到越來越多朋友的關(guān)注,但是這次3?15晚會(huì)讓我們看到看似安全的人臉識(shí)別技術(shù)被瞬間攻破。
因此無論是對于廠商還是個(gè)人,如果要更好地保護(hù)手機(jī)安全就不能只依賴一種即使看上去很安全的保護(hù)手段。特別是對于類似手機(jī)銀行、支付寶這類涉及個(gè)人隱私、財(cái)產(chǎn)等重要信息的場景下,我們應(yīng)該有更多的保守手段。比如開發(fā)廠商可以使用“人臉登錄+指紋支付”這種多重認(rèn)證方式加以保護(hù),對于個(gè)人用戶則應(yīng)可以啟用手機(jī)本身更多的防護(hù)功能;比如指紋識(shí)別用戶要同時(shí)開啟強(qiáng)密碼保護(hù),并養(yǎng)成不要在微信、微博等網(wǎng)絡(luò)媒體隨意發(fā)布自己的位置、照片、家庭住址等隱私信息的良好習(xí)慣。只有這樣我們的手機(jī)和隱私信息才能獲得更好的保護(hù)。