2024年1月22日,據(jù)Beosin旗下EagleEye安全風(fēng)險監(jiān)控、預(yù)警與阻斷平臺監(jiān)測顯示,一位加密大戶遭受到網(wǎng)絡(luò)釣魚攻擊,造成了420萬美元的損失,而關(guān)鍵點漏洞,是我們經(jīng)常提及的Permit簽名。
在早些時間Beosin與區(qū)塊鏈安全研究員菠菜共同研究并發(fā)布了《簽名就被盜?用過Uniswap的請警惕!揭秘Permit2簽名釣魚》安全研究文章,文中詳細(xì)描述了攻擊者如何利用permit2函數(shù)對用戶發(fā)起釣魚攻擊,而本次事件所利用的攻擊原理與文章中描述的permit2攻擊方式基本一致,只是permit是針對于支持該函數(shù)的erc20合約,而permit2針對的可以是所有erc20合約。
本篇文章我們一起來看看攻擊者一般是利用什么來誘騙用戶對詐騙信息進(jìn)行簽名的,以及一些安全防范技巧。
什么是Permit簽名釣魚?
Permit簽名是一種特定的數(shù)字簽名機制,用于在某些情況下簡化授權(quán)操作。它是基于區(qū)塊鏈技術(shù)和密碼學(xué)原理的一種安全驗證方式。
在傳統(tǒng)的數(shù)字簽名中,簽名者需要擁有私鑰來對特定的數(shù)據(jù)進(jìn)行簽名,并將簽名后的數(shù)據(jù)與公鑰一起傳輸給驗證方。驗證方使用相應(yīng)的公鑰來驗證簽名的有效性。
然而,Permit簽名采用了一種不同的方法。它允許持有者通過簽署一份特殊的授權(quán)消息,將對特定操作的訪問權(quán)限授予他人,而無需直接將私鑰傳輸給受許可方。
Permit簽名釣魚則是利用用戶對授權(quán)操作的不加仔細(xì)驗證或理解,以獲取未經(jīng)授權(quán)的權(quán)限或敏感信息。這種攻擊利用了用戶對授權(quán)流程或簽名機制的信任,通過欺騙用戶產(chǎn)生偽造的授權(quán)操作或簽名請求。
黑客通常采取哪些Permit簽名釣魚攻擊?
偽造授權(quán)請求:
攻擊者可能創(chuàng)建一個看似合法的授權(quán)請求,以騙取用戶的信任。這可能涉及偽造的應(yīng)用或網(wǎng)站,要求用戶提供他們的授權(quán)或簽名來執(zhí)行某個操作。
誤導(dǎo)用戶操作:
攻擊者可能通過欺騙用戶進(jìn)行誤操作來實施攻擊。例如,他們可能創(chuàng)建一個看似無害的按鈕,但實際上觸發(fā)了未經(jīng)用戶認(rèn)可的授權(quán)操作。
偽造授權(quán)頁面:
攻擊者可能通過偽造與正常授權(quán)頁面相似的頁面來引誘用戶進(jìn)行授權(quán)操作。這些頁面通常設(shè)計得與正常的授權(quán)頁面幾乎一模一樣,以欺騙用戶并使其相信他們正在與合法的應(yīng)用或服務(wù)進(jìn)行交互。
社交工程:
攻擊者可能利用社交工程技巧,通過發(fā)送釣魚郵件、短信或社交媒體消息等方式,引導(dǎo)用戶點擊惡意鏈接或進(jìn)入偽造的授權(quán)頁面。
如何安全防范?
考慮到Permit簽名的一些釣魚攻擊,此前研究員菠菜給了我們一些有效的防范手段有:
1 理解并識別簽名內(nèi)容:
Permit的簽名格式通常包含Owner、Spender、value、nonce和deadline這幾個關(guān)鍵格式,如果你想享受Permit帶來的便利和低成本的話一定要學(xué)會識別這種簽名格式。(下載安全插件是一個很好的選擇)
我們向各位讀者朋友推薦下面這款Beosin Alert反釣魚插件,可以識別Web3領(lǐng)域的大部分釣魚網(wǎng)站,守護(hù)大家的錢包和資產(chǎn)安全。
反釣魚插件下載:
https://chrome.google.com/webstore/detail/beosin-alert/lgbhcpagiobjacpmcgckfgodjeogceji?hl=en
2 放資產(chǎn)的錢包和交互的錢包分離使用:
如果你有大量資產(chǎn)的話,建議資產(chǎn)都放在一個冷錢包中,鏈上交互的錢包放少量資金,可以大幅減少遇到釣魚騙局時的損失。
3 識別代幣性質(zhì),是否支持permit功能:
后續(xù)可能越來越多的ERC20代幣使用該擴展協(xié)議實現(xiàn)permit功能,對于你來說需要關(guān)注自己所持有的代幣是否支持該功能,如果支持,那么對于該代幣的交易或操縱一定要格外小心,對于每條未知簽名也要嚴(yán)格檢查是否是對permit函數(shù)的簽名。
4 若被騙后還有代幣存在其他平臺,需制定完善的拯救計劃:
當(dāng)你發(fā)現(xiàn)自己被詐騙,代幣被黑客轉(zhuǎn)移出去后,但自己還有代幣通過例如質(zhì)押等方式存在其他平臺上,需要提取出來轉(zhuǎn)移到安全地址上,這時需要知道黑客可能時刻監(jiān)控著你的地址代幣余額,因為他擁有你的簽名,只要你的被盜地址上出現(xiàn)了代幣,那么黑客可以直接轉(zhuǎn)移出去。這時需要制定完善的代幣拯救過程,在提取代幣和轉(zhuǎn)移代幣兩個過程需要一起執(zhí)行,不能讓黑客交易插入其中,可以使用MEV轉(zhuǎn)移,這需要一些區(qū)塊鏈知識以及代碼功底,也可以尋找專業(yè)的安全公司比如Beosin團隊利用交易搶跑腳本來實現(xiàn)。