如果你對區塊鏈技術感興趣的話,可能聽說過很多攻擊者利用程序代碼中的漏洞而導致的大量資金被盜事件。例如,2016年臭名昭著的DAO攻擊事件,攻擊者利用一個名叫「重入」的漏洞超額提取了他們原本所能提取的資金。另一個更近期的事件是閃電貸攻擊,發生于2022年4月17日,造成1.82億美元的資金損失。雖然所有攻擊都源于底層源代碼的安全漏洞,但好消息是現在已經有能夠檢測此類漏洞的程序分析技術。在接下去的幾篇博文中,我們會解釋程序分析是什么,以及它如何幫助在部署前捕獲安全漏洞。
程序分析簡介
Azuki 24小時交易額達1614.78枚ETH:金色財經報道,據NFTGo數據顯示,NFT項目Azuki 24小時交易額達1614.78枚ETH(約合204.55萬美元),漲幅達79.59%。截止目前,該系列NFT地板價已回升至14.23ETH,24小時交易數為98。[2023/1/8 11:01:13]
程序分析指的是一類用于檢測程序中安全漏洞的技術。程序分析有兩種主要形式,動態和靜態。動態程序分析的目標是通過執行程序來檢測問題,而靜態程序分析則無需運行程序本身就可以對源代碼進行分析。然而,在這些技術之中,只有靜態分析能夠確保程序中不存在漏洞。相反,不同于靜態分析,動態分析能證明問題的存在,它并不能夠證明漏洞并不存在。
巴塞爾委員會:銀行希望將比特幣持有量占資本的上限從1%提高到5%:金色財經報道,Bitcoin Archive在社交媒體上稱,根據巴塞爾委員會的新規則,銀行希望將比特幣持有量占資本的上限從1%提高到5%。否則客戶會去其他地方。[2022/10/5 18:39:44]
乍一看,靜態分析聽起來似乎很神秘:表面看來,靜態分析似乎違反了一個被總結為萊斯定理「Rice'stheorem」的基本原則,該定理聲稱程序的每一個非平凡性質都是不可判定的。在此,語義屬性是關于程序行為的屬性,而非平凡性質是指只有某些程序擁有而其他程序沒有的性質。與我們手頭話題更相關的是,安全漏洞的存在是非平凡性質的一個典型例子。因此,關于「這個程序是否存在安全漏洞」這一問題,萊斯定理告訴我們沒有一個算法能夠終結并準確回答這一問題。?
Two Sigma Ventures兩支新基金共計完成4億美元募資:9月14日消息,對沖基金投資公司Two Sigma旗下風險投資部門Two Sigma Ventures宣布為其2支新基金完成4億美元募資,新基金將投資早期加密和DeFi公司、軟件即服務和金融科技等領域的早期公司,以及其他使用數據和技術促進社會進步的初創公司。(The Block)[2022/9/15 6:56:43]
那么,靜態分析的可行性源自哪里呢?答案藏于以下的觀察:沒錯,沒有一個算法能夠準確地給出是或否,但可以有一個算法在程序有安全漏洞時總是會回答「是」,在程序沒有安全漏洞時算法有時可能也會回答「是」。換句話說,只要我們愿意容忍一些誤報,我們就可以繞過賴斯定理和不可判定性。
Unity CEO:網站將在 2030 年之前轉變為元宇宙目的地:金色財經報道,實時 3D 引擎提供商Unity 的首席執行官 John Riccitiello 預測,互聯網將在未來幾年成為元宇宙的一部分。這位高管預測,大多數網站將成為虛擬世界的目的地,這一變化將在 2030 年完成。然而,根據 Riccitiello 的說法,遺留網站當時仍然存在。
根據預測,在網絡目的地中,基本上將有三種。首先,將完全集成元宇宙的站點,被確定為“您可以居住和居住的地方”。第二種將現實世界的位置與擴展功能相結合,而另一類站點將只是“當今世界上的一點點”,對其進行增強。
這些元宇宙體驗將能夠通過足夠的硬件充分享受,但也必須適應其他功能較弱的硬件,如 PC 和手機。(news.bitcoin)[2022/6/9 4:12:02]
靜態分析原理
讓我們以高一維度的視角來看看靜態分析是如何運作的。靜態分析的基本原理是將程序所處的狀態集合進行過近似「over-approximate」。我們將程序狀態視為從變量到值的映射。一般來說,不存在一個算法能夠明確也許是執行某一程序引起的確切程序狀態集。但可以近似該集合,如下圖所示:
此處,藍色的不規則形狀對應在執行某些程序時可能出現的實際狀態集,紅色區域對應預示錯誤或安全漏洞的「壞狀態」。由于不可判定性,永遠沒有一個算法能夠準確表明藍色區域到底是什么,但是我們能設計一個算法以系統性的方式過近似這個藍色區域,如上面常規綠色區域所示。只要綠色和紅色的交集為空,我們就有證據證明程序沒有做壞事。然而,如果我們的過近似不夠不準確,可能會使得紅色區域重疊,即使藍色和紅色區域的交集依舊為空,如下圖所示:
這種情況會導致所謂的「誤報」,由于分析與真實問題不相應而報告的虛假錯誤。一般而言,靜態分析的圣杯是構造過近似,即過近似足夠準確因此我們在實際中不會獲得很誤報過近似的計算足夠有效率,因此分析可擴展到我們所關心的現實世界的程序。
附帶說明一下,還可以設計靜態分析算法來近似如下所示的程序行為:
在此情況下,綠色區域包含在藍色區域內,和另一種方式正好相反。這種分析是不可靠的,意味著可能會漏掉真正的程序錯誤:正如我們在上圖所看到的那樣,綠色和紅色的交集為空,因此即使程序真的存在漏洞,分析也不會報告問題。這會導致所謂的假陰性,真正的漏洞被靜態分析給遺漏了。
大體來說,如果我們想獲得可證明的安全性,我們會想要可靠的從來不會有誤報的靜態分析器,同時還需要足夠精確,在實踐時不會報告太多誤報。然而,好消息是,幾十年的正統研究表明設計這樣的靜態分析器有可能的。下篇博文,我們會更詳細地介紹靜態分析器具體是如何運作的!
總結
程序分析是一種有效的能夠捕捉各種程序中安全漏洞的技術,包括區塊鏈應用程序。此外,可靠的靜態分析器的過近似程序行為能確保整個類別中不存在漏洞。
在Terra生態的算法穩定幣獲得成功之后,Waves、NEAR、TRON等公鏈紛紛推出了自己的算法穩定幣。而如今,Terra已經走下神臺,UST脫錨最低跌至0.2美元,LUNA也一度跌破1美元.
1900/1/1 0:00:00VOLTInu于2022年4月19日,完成了$VOLT通證從V1到V2的手動遷徙。遷移的過程是用戶將持有的符合時間要求的$VoltV1代幣轉移到VoltInu列出的錢包中.
1900/1/1 0:00:002022年4月20日,NBA推出了有史以來第一組基于以太坊的NFT,共計18000個。每個在NBA季后賽中的球員對應75個NFT。后因鑄造漏洞,增發至30000個,每個球員對應125個NFT.
1900/1/1 0:00:00北京時間5月18日晚上,硅谷頂級VCa16z宣布推出了一只規模6億美元的元宇宙游戲基金,致力于投資游戲行業最優秀的創始人.
1900/1/1 0:00:005月27日,金沙江創投合伙人朱嘯虎參與的Web3.0游戲StepN,宣布將清退中國大陸用戶。據公告內容顯示,為積極主動響應相關監管政策,StepN將清查中國大陸帳戶,若發現中國大陸地區用戶,St.
1900/1/1 0:00:00回顧?Terra?過去一年的發展,LUNA的價格最高達到119.18美元,市值也曾達到410億美元,其生態業已推出了超過100個項目,涉及?DeFi?、元宇宙、游戲、NFT?等等.
1900/1/1 0:00:00