現在,列印好的紙質二維碼,可能也不安全了!
透過雷射照射,攻擊者在一百公尺開外就能分分鐘實施竄改。
更可怕的是,這種雷射用肉眼根本無法察覺#,正常的二維碼在無意之間就有可能變成惡意網站的入口。
最近,日本東海大學的研究人員發展出一種遠距離、超隱密的二維碼篡改方式。
被攻擊後的二維碼不僅在攻擊過程中不可見,即使用肉眼看也和正常情況下沒有任何區別
這樣的攻擊對於普通用戶和設備而言,幾乎無法預防
那麼,科學研究人員是如何在不引人注意的情況下進行「偷天換日」的呢?
若要闡述此問題,我們需先了解二維碼掃描的基本原理
(本文中的「二維碼」皆指我們最常見的QR型二維碼)
通常我們看到的二維碼由定位點、格式及遮罩資訊區、資訊區和糾錯區構成
以下圖中的2(尺寸)M(糾錯等級)型二維碼為例,它由25×25個格點組成,其中左上、左下、右下的7× 7區域為定位點。
圖中的D1~D28以及E1~E16分別代表資料和糾錯字段,而藍色區域則是格式和掩碼資訊的區域
其中資料欄位是由原始文字先經過分組,然後用一定的處理方式轉換為二進位字串,在二維碼中用黑色和白色分別表示1和0。
糾錯字段,顧名思義就是為了避免在生成和掃描過程中產生誤差而設計的,它由資料字段根據里德-所羅門演算法生成,根據糾錯等級的不同長度也有所區別。
格式和遮罩訊息區儲存了二維碼的編碼方式(從明文到二進位串)以及遮罩操作
遮罩是為了避免某些特定圖案影響掃描結果,按照一定規律對原始點陣進行的變換操作,操作方式儲存在了掩碼資訊區域。
讀取過程則是先捕捉定位點,然後對影像進行校正和降噪處理,接著判斷格式及掩碼區的位置並讀取,以獲知資料欄位的解碼#方式。
本實驗中,研究者透過逐步覆寫二維碼資訊的方法,建構出一個介於兩個二維碼之間的混合中間體 。
這個中間體包含了一個關鍵色塊,它的顏色決定了真正被讀取的二維碼究竟是哪一個。
科學家可以用肉眼看不見的雷射照射這個色塊,從而決定攝影機的辨識結果
經過照射之後,雖然肉眼看不出差別,但在相機的視角下原本是黑色的模組就會被辨識為白色。
下圖比較了人眼和攝影機所能辨識的波長範圍:在低光環境中,人眼幾乎無法辨識超過600奈米的光線,即使在明亮的環境中,也無法看到超過700奈米的光線
而攝影機在700奈米的波長下仍有50%以上的捕捉率。
在這個實驗中,研究人員使用了10毫瓦的635奈米(紅色可見光)和785奈米(紅外線)的光,分別在不同距離對二維碼進行了照射
這裡的0~50公尺是實際距離,而100公尺的距離是透過鏡面反射實現的
#結果顯示,在10~40公尺處,兩種波長的光都能成功將二維碼指向的連結改成虛假網址;
在50公尺處,可見光處理的二維碼出現了兩個網址都能掃出的現象,但紅外線光依然能成功篡改;
在距離100公尺的位置,兩種波長的光線照射後,二維碼的顯示結果交替出現
未來,研究者還計畫把攻擊距離增加到1公里。
不過,這個實驗中需要使用透鏡對雷射進行聚焦,進而確定篡改資訊點的位置。
如果光路中的氣流擾動比較明顯,則會對這一過程產生影響,因此長距離攻擊存在更多不確定因素。
只要時不時擾動二維碼面前的氣流,雷射就找不到位置了,這也是為了防禦這種攻擊所提供的可能
有些網友開玩笑說,在二維碼前面扇扇子,把雷射「趕走」可能更有效
在論文中,作者提到了除了透過氣流擾動的方式之外,二維碼擁有者還可以使用防篡改材料來避免被攻擊
有一些案例是透過篡改二維碼或用雷射照射交通標誌來幹擾自動駕駛系統
這種雷射同樣是肉眼不可見,但可以被攝影機識別,從而造成誤導。
相關研究表明,在室內環境下,這種攻擊對停車標誌和限速標誌的攻擊成功率幾乎是百分之百。
論文網址(日文):#http://id.nii.ac.jp/1001/00228597/
以上是紙質二維碼也能隔空竄改:百公尺外無痕攻擊,秒變惡意網站入口的詳細內容。更多資訊請關注PHP中文網其他相關文章!