邱元陽
條碼的應用由來已久,它最早被用在圖書和食品包裝上,后來推廣到各種商品。尤其是超市中,所有的商品都要有條碼,以方便識別和快速錄入。
隨著支付寶和微信等各種電子支付手段的普及,二維碼掃描成了最方便、最常用的支付方法,社會已然進入了“掃碼”時代。不僅僅是支付,掃碼還有更多的應用,如掃碼關注、掃碼加群、掃碼下載、掃碼播放等,甚至用于交換名片、打開鏈接、會議簽到、文件防偽等,不一而足。
但方便快捷的背后,總會有一些安全問題。尤其是掃碼支付,直接涉及到錢財交易,更會引起不法者的注意,他們想法設法尋找各種漏洞,布下種種陷阱。
先看最常用的掃碼付款,其掃碼方式有兩種:主動掃碼(主掃)與被動掃碼(被掃)。“主掃”是由商戶主動去掃描消費者的條碼,由商戶來輸入支付金額,一般使用掃碼槍來完成。“被掃”是由消費者掃商戶的二維碼,支付金額由消費者手動輸入。
超市一般都是采用“主掃”模式,方便快捷,不容易出錯。由于需要消費者出示自己的付款二維碼,可以避免逃付情況,但是這里面仍有漏洞存在——當消費者出示的付款二維碼被泄露時(如別有用心的商家在掃碼設備上附加拍照裝置),就會出現小額盜刷現象。而一些餐館、門市則大都采用“被掃”模式,不需要任何設備,只要張貼好自己的收款二維碼就行了。“被掃”方式下,需要消費者用手機來掃碼,少付逃付的情況非常容易發生。比如,故意輸入相近的錯誤數字欺瞞商家,或者虛假掃描(提前準備好掃描結果圖片或使用簡單的偽裝掃描APP),商家根本無法分辨(人多時不可能在手機上查看實時的付款結果)。
在個人面對面收付款的交易中,也有類似情況,但是因為雙方手機都有提示,無法作弊。不過老年人和小白搞錯收款二維碼與付款二維碼的情形卻是有的,結果會完全顛倒交易方向。
有個笑話中提到,盜賊可以利用偷換商家的收款二維碼為自己的收款二維碼來坐享其成。這雖然是個笑話,但是卻完全有可能,而且正被很多不法分子使用。小型店鋪受損的可能性不大,因為常常手機在手,掃碼付款時沒有提示就會被發現。但若共享單車上的開鎖二維碼被替換的話,掃碼支付200元是有可能會被誤認為是支付的注冊押金的。等發現開鎖不成功為時已晚,支付已經完成。同樣,偽造違章停車罰單二維碼騙掃,也會讓很多人上當。
二維碼覆蓋和替換,是一種偷梁換柱的陷阱,第三方掃碼平臺應該提高對掃碼結果的識別和監管,研發推廣帶有安全掃描技術的掃碼軟件。
即使非支付形式的二維碼,也可能是虛假二維碼,掃描后不知不覺地被安上病毒和后門,或者打開惡意網址的鏈接。以安卓系統的手機為例,如果掃描二維碼得到的結果是個網址,大部分Android App會直接用Webview來打開,而Webview的UXSS漏洞很容易導致資金被竊、賬號被盜或者隱私泄露。
利用二維碼盜刷消費者存款,已成為一種新的犯罪途徑,二維碼是否正常或藏有病毒,從外觀上無法辨別,每個二維碼后面都可能隱藏著一個陷阱,使我們步步驚心。
發現漏洞,修補漏洞,這一過程會一直進行下去。對技術的敬畏讓我們不可能不擔心信息安全問題。如果程序員的聰明才智用在了利用軟件漏洞上,后果是很可怕的。