如果你對區塊鏈技術感興趣的話,可能聽說過很多攻擊者利用程序代碼中的漏洞而導致的大量資金被盜事件。例如,2016 年臭名昭著的 DAO 攻擊事件,攻擊者利用一個名叫「重入」的漏洞超額提取了他們原本所能提取的資金。另一個更近期的事件是閃電貸攻擊,發生于 2022 年 4 月 17 日,造成 1.82 億美元的資金損失。雖然所有攻擊都源于底層源代碼的安全漏洞,但好消息是現在已經有能夠檢測此類漏洞的程序分析技術。在接下去的幾篇博文中,我們會解釋程序分析是什么,以及它如何幫助在部署前捕獲安全漏洞。
程序分析指的是一類用于檢測程序中安全漏洞的技術。程序分析有兩種主要形式,動態和靜態。動態程序分析的目標是通過執行程序來檢測問題,而靜態程序分析則無需運行程序本身就可以對源代碼進行分析。然而,在這些技術之中,只有靜態分析能夠確保程序中不存在漏洞。相反,不同于靜態分析,動態分析能證明問題的存在,它并不能夠證明漏洞并不存在。
報告:如果SBF沒被指控從事欺詐活動,FTX也會因為大量安全問題而倒閉:金色財經報道,正在進行的FTX破產傳奇中的一份新中期報告描繪了該交易所資產的不安全程度,并提供了有關公司無能和可能瀆職行為的更多細節。該報告表示,如果SBF沒有被指控從事欺詐活動,那么FTX及其附屬公司可能會因為新報告中概述的大量安全問題而倒閉。報告稱,持有價值數千萬美元資產的熱錢包的密鑰沒有安全存儲,對熱錢包本身的依賴違反了標準的行業慣例。FTX和Alameda的數字資產可能永遠丟失,除了極易遭到盜竊或黑客攻擊外,許多錢包密鑰也沒有備份。 該報告由公司臨時首席執行官JohnRay III和一個外部法律團隊編寫,對SBF商業行為的混亂進行了更多詳細說明,并將其歸因于“傲慢、無能和貪婪”。[2023/4/11 13:55:31]
乍一看,靜態分析聽起來似乎很神秘:表面看來,靜態分析似乎違反了一個被總結為萊斯定理「Rice's theorem」的基本原則,該定理聲稱程序的每一個非平凡性質都是不可判定的。在此,語義屬性是關于程序行為的屬性(與語法屬性不同),而非平凡性質是指只有某些程序擁有而其他程序沒有的性質。與我們手頭話題更相關的是,安全漏洞的存在是非平凡性質的一個典型例子。因此,關于「這個程序是否存在安全漏洞」這一問題,萊斯定理告訴我們沒有一個算法能夠終結并準確回答這一問題。
Matter Labs質疑ZKSwap的用戶資金安全問題:2月24日消息,以太坊二層擴容解決方案開發團隊Matter Labs發推質疑基于ZK Rollup擴容技術的AMM去中心化交易所ZKSwap,稱ZKSwap克隆zksync的代碼,甚至懶得從Etherscan上的合約代碼中刪除Matter Labs的作者身份,也沒有發布更改,Matter Labs表示擔心ZKSwap的用戶資金的安全。“將AMM功能正確地添加到我們的代碼中是非常不平凡的,并且需要在ZKP有很強的能力。它還需要由經驗豐富的密碼學家進行非常徹底的安全審計(不僅僅是你發布的文章中提到的靜態代碼分析)。你會對自己的用戶如此友好以至于開放你的合約和環路(Circuit)的完整源代碼嗎?”[2021/2/24 17:47:22]
那么,靜態分析的可行性源自哪里呢?答案藏于以下的觀察:沒錯,沒有一個算法能夠準確地給出是或否,但可以有一個算法在程序有安全漏洞時總是會回答「是」,在程序沒有安全漏洞時算法有時可能也會回答「是」。換句話說,只要我們愿意容忍一些誤報,我們就可以繞過賴斯定理和不可判定性。
周鴻祎:未來區塊鏈行業一定會出現更多的安全問題,這就是我們的機會:周鴻祎稱:“我們現在看區塊鏈,涉足區塊鏈,肯定還是圍繞安全。我希望大家記住,EOS這個漏洞,不是最后一個,也一定不是最厲害的一個。未來區塊鏈行業一定會出現更多的安全問題,這就是我們在其中的機會。”[2018/5/30]
讓我們以高一維度的視角來看看靜態分析是如何運作的。靜態分析的基本原理是將程序所處的狀態集合進行過近似「over-approximate」。我們將程序狀態視為從變量到值的映射。一般來說,不存在一個算法能夠明確也許是執行某一程序引起的確切程序狀態集。但可以近似該集合,如下圖所示:
鏈英區塊鏈CTO解旻:中心化交易所最大的問題是安全問題:在由sharex基金會主辦,GBLS、COINCLUB協辦的《區動世界 鏈接未來-區塊鏈應用項目分享會》上,鏈英區塊鏈CTO解旻分享了區塊鏈交易所的現狀與未來,解旻認為,目前交易所最大的問題是中心化服務所帶來的安全問題;同時,對于新交易所而言,TOP10的交易所日交易量已經達到1000億,流量十分集中。解總認為,隨著DAPP的落地應用,其應用所帶來的價值將凸顯;同時,從技術層面來說,分布式跨鏈是下一代交易所的核心技術,只有實現了分布式跨鏈,每一筆交易才會記錄在鏈上。[2018/5/5]
此處,藍色的不規則形狀對應在執行某些程序時可能出現的實際狀態集,紅色區域對應預示錯誤或安全漏洞的「壞狀態」。由于不可判定性,永遠沒有一個算法能夠準確表明藍色區域到底是什么,但是我們能設計一個算法以系統性的方式過近似這個藍色區域,如上面常規綠色區域所示。只要綠色和紅色的交集為空,我們就有證據證明程序沒有做壞事。然而,如果我們的過近似不夠不準確,可能會使得紅色區域重疊,即使藍色和紅色區域的交集依舊為空,如下圖所示:
這種情況會導致所謂的「誤報」,由于分析與真實問題不相應而報告的虛假錯誤。一般而言,靜態分析的圣杯是構造過近似,即 (1)過近似足夠準確因此我們在實際中不會獲得很誤報 (2)過近似的計算足夠有效率,因此分析可擴展到我們所關心的現實世界的程序。
附帶說明一下,還可以設計靜態分析算法來近似如下所示的程序行為:
在此情況下,綠色區域(通過靜態分析計算)包含在藍色區域內(表示實際狀態),和另一種方式正好相反。這種分析是不可靠的,意味著可能會漏掉真正的程序錯誤:正如我們在上圖所看到的那樣,綠色和紅色的交集為空,因此即使程序真的存在漏洞,分析也不會報告問題。這會導致所謂的假陰性,真正的漏洞被靜態分析給遺漏了。
大體來說,如果我們想獲得可證明的安全性,我們會想要可靠的從來不會有誤報的靜態分析器,同時還需要足夠精確,在實踐時不會報告太多誤報。然而,好消息是,幾十年的正統研究表明設計這樣的靜態分析器有可能的。下篇博文,我們會更詳細地介紹靜態分析器具體是如何運作的!
程序分析是一種有效的能夠捕捉各種程序中安全漏洞的技術,包括區塊鏈應用程序。此外,可靠的靜態分析器的過近似程序行為能確保整個類別中不存在漏洞。
撰文:Veridise
編譯:CCC
去年加密貨幣的大牛市吸引了一眾美股上市公司,Elon Musk 也從之前喊單美股改為喊單比特幣,特斯拉等上市公司在主營業務之余也買入了不少比特幣.
1900/1/1 0:00:00上周,領先的數字資產管理公司 Arca 的首席投資官 Jeff Dorman 做客了 DeCential Media 的播客節目.
1900/1/1 0:00:00相信你對預付式消費并不陌生,但你體驗過數字人民幣預付式消費嗎?5月6日,北京商報記者獲悉,全國首個數字人民幣預付式消費平臺在深圳福田落地,并首選教培行業進行試點.
1900/1/1 0:00:00為了方便我自己學習和參考有關代幣經濟學的知識和內容,我努力收集了來自各方的信息、并促成了這篇文章,它涵蓋了各種關于代幣經濟學的例子,方便大家對代幣有更好的理解.
1900/1/1 0:00:00“區塊鏈技術基于密碼學原理和共識機制,是一種去中心化的分布式賬本數據庫,具有鮮明的保密性。雄安新區自2017年上線區塊鏈資金管理平臺開始,大力建設全球第一座區塊鏈城市.
1900/1/1 0:00:00“大多數 P2E 游戲都被過度炒作了,并且這些游戲并不好玩。”這樣的觀點在當前的 crypto 行業里是普遍存在的,也因此,很多傳統游戲玩家對 Gamefi 依舊抱著懷疑的態度,而目前市場上可玩.
1900/1/1 0:00:00