如果你對區塊鏈技術感興趣的話,可能聽說過很多攻擊者利用程序代碼中的漏洞而導致的大量資金被盜事件。例如,2016 年臭名昭著的 DAO 攻擊事件,攻擊者利用一個名叫「重入」的漏洞超額提取了他們原本所能提取的資金。另一個更近期的事件是閃電貸攻擊,發生于 2022 年 4 月 17 日,造成 1.82 億美元的資金損失。雖然所有攻擊都源于底層源代碼的安全漏洞,但好消息是現在已經有能夠檢測此類漏洞的程序分析技術。在接下去的幾篇博文中,我們會解釋程序分析是什么,以及它如何幫助在部署前捕獲安全漏洞。
程序分析指的是一類用于檢測程序中安全漏洞的技術。程序分析有兩種主要形式,動態和靜態。動態程序分析的目標是通過執行程序來檢測問題,而靜態程序分析則無需運行程序本身就可以對源代碼進行分析。然而,在這些技術之中,只有靜態分析能夠確保程序中不存在漏洞。相反,不同于靜態分析,動態分析能證明問題的存在,它并不能夠證明漏洞并不存在。
動態 | 外媒:由于安全問題,Yubico替換YubiKey FIPS設備:據鯨交所6月14日消息,在發現可能嚴重的加密相關問題后,Yubico正在取代YubiKey FIPS(聯邦信息處理標準)安全密鑰,該問題可導致在這些設備上生成的RSA密鑰和ECDSA簽名的強度降低。 在周四發布的安全公告中,該公司告知客戶該問題會影響YubiKey FIPS系列設備運行固件版本4.4.2和4.4.4(版本4.4.3不存在),包括Nano FIPS,C FIPS和C納米FIPS設備。沒有其他Yubico產品似乎受到影響。 在一些YubiKey FIPS應用程序中利用的隨機值包含在YubiKey FIPS啟動后執行的第一個操作的隨機性降低。保持隨機值的緩沖區包含FIPS上電自檢遺留的一些可預測內容,這可能會影響需要隨機數據的加密操作,直到可預測內容耗盡為止。[2019/6/15]
乍一看,靜態分析聽起來似乎很神秘:表面看來,靜態分析似乎違反了一個被總結為萊斯定理「Rice's theorem」的基本原則,該定理聲稱程序的每一個非平凡性質都是不可判定的。在此,語義屬性是關于程序行為的屬性(與語法屬性不同),而非平凡性質是指只有某些程序擁有而其他程序沒有的性質。與我們手頭話題更相關的是,安全漏洞的存在是非平凡性質的一個典型例子。因此,關于「這個程序是否存在安全漏洞」這一問題,萊斯定理告訴我們沒有一個算法能夠終結并準確回答這一問題。
聲音 | rivetz移動設備安全總監魏卡爾:區塊鏈技術可以有效解決安卓機錢包的安全問題:金色財經獨家消息,今日,美國rivetz公司大中華與亞太地區移動設備安全總監魏卡爾接受金色財經合伙人佟揚的采訪,采訪中魏卡爾就“區塊鏈技術對手機安全的重要性”進行了回答。他表示,當前手機,尤其是安卓機的安全性不夠。在安卓應用商店下載的數字貨幣錢包會儲存在開放的操作系統中,根本就沒有安全,比特幣等加密貨幣存儲在這樣的環境下很容易受到黑客攻擊。而區塊鏈的加密技術,就可以對安卓機錢包進行有效的防護,手機廠商需要引入區塊鏈技術來保護用戶的資產。而要解決區塊鏈技術問題,手機廠商有兩種選擇。第一是投入大量時間財力去研發,但對手機廠商來說開發區塊鏈技術會有一定的難度;第二就是與專業的區塊鏈技術安全公司進行合作。[2019/2/18]
那么,靜態分析的可行性源自哪里呢?答案藏于以下的觀察:沒錯,沒有一個算法能夠準確地給出是或否,但可以有一個算法在程序有安全漏洞時總是會回答「是」,在程序沒有安全漏洞時算法有時可能也會回答「是」。換句話說,只要我們愿意容忍一些誤報,我們就可以繞過賴斯定理和不可判定性。
聲音 | 全國政協委員王茜:區塊鏈協同計算技術可解決數據安全問題:全國政協委員王茜表示,現在區塊鏈協同計算技術已經可以解決數據安全問題了。政府應下決心突破屏障,建立囊括多元主體的數據開放機制。[2019/1/12]
讓我們以高一維度的視角來看看靜態分析是如何運作的。靜態分析的基本原理是將程序所處的狀態集合進行過近似「over-approximate」。我們將程序狀態視為從變量到值的映射。一般來說,不存在一個算法能夠明確也許是執行某一程序引起的確切程序狀態集。但可以近似該集合,如下圖所示:
聲音 | 康鏈科技CEO唐健云:冷錢包存在很大安全問題:據華夏時報消息,近日康鏈科技CEO唐健云在出席會議時對數字資產存儲中暴露的安全問題進行分析。他表示,隨著持幣人數不斷上漲,數字貨幣硬件冷錢包廠商先后涌現搶占市場,很多用戶崇拜冷錢包,實際上冷錢包具有很大安全問題。比如冷錢包官網上更新三個bug的修補補丁,就相當于官方在告訴黑客,沒有更新補丁的設備有這三個漏洞可以去黑。[2018/8/25]
此處,藍色的不規則形狀對應在執行某些程序時可能出現的實際狀態集,紅色區域對應預示錯誤或安全漏洞的「壞狀態」。由于不可判定性,永遠沒有一個算法能夠準確表明藍色區域到底是什么,但是我們能設計一個算法以系統性的方式過近似這個藍色區域,如上面常規綠色區域所示。只要綠色和紅色的交集為空,我們就有證據證明程序沒有做壞事。然而,如果我們的過近似不夠不準確,可能會使得紅色區域重疊,即使藍色和紅色區域的交集依舊為空,如下圖所示:
這種情況會導致所謂的「誤報」,由于分析與真實問題不相應而報告的虛假錯誤。一般而言,靜態分析的圣杯是構造過近似,即 (1)過近似足夠準確因此我們在實際中不會獲得很誤報 (2)過近似的計算足夠有效率,因此分析可擴展到我們所關心的現實世界的程序。
附帶說明一下,還可以設計靜態分析算法來近似如下所示的程序行為:
在此情況下,綠色區域(通過靜態分析計算)包含在藍色區域內(表示實際狀態),和另一種方式正好相反。這種分析是不可靠的,意味著可能會漏掉真正的程序錯誤:正如我們在上圖所看到的那樣,綠色和紅色的交集為空,因此即使程序真的存在漏洞,分析也不會報告問題。這會導致所謂的假陰性,真正的漏洞被靜態分析給遺漏了。
大體來說,如果我們想獲得可證明的安全性,我們會想要可靠的從來不會有誤報的靜態分析器,同時還需要足夠精確,在實踐時不會報告太多誤報。然而,好消息是,幾十年的正統研究表明設計這樣的靜態分析器有可能的。下篇博文,我們會更詳細地介紹靜態分析器具體是如何運作的!
程序分析是一種有效的能夠捕捉各種程序中安全漏洞的技術,包括區塊鏈應用程序。此外,可靠的靜態分析器的過近似程序行為能確保整個類別中不存在漏洞。
撰文:Veridise
編譯:CCC
1.推特接受馬斯克收購:或將算法開源 接受狗狗幣支付美國社交媒體公司推特(Twitter)周一(4月25日)宣布.
1900/1/1 0:00:00CS Lewis?說,完整性即“做正確的事,即使沒有人在看”。?尖端的密碼學將使區塊鏈能夠根據這一理念管理每個人的數據.
1900/1/1 0:00:00頭條 ▌英偉達因未披露加密挖礦對公司業務的影響被美SEC罰款550萬美元5月6日消息,美國證券交易委員會今天宣布了對科技公司NVIDIA Corporation(納斯達克股票代碼:NVDA)的和.
1900/1/1 0:00:00注:WEB3 VC 巡禮是我們的一個系列策劃,去深度挖掘WEB3 VC的創始人故事、投資方法論、行業觀點等與眾不同的地方,給予新知與啟迪.
1900/1/1 0:00:00要估算 OP 的價格和空投價值,我們需要:1. 分析 OP 的 Token 經濟學;2. 把它與其他協議及相關指標進行對比;3. 基于 3 個估值預期進行分析:樂觀、溫和和悲觀.
1900/1/1 0:00:00中非共和國總統Faustin Archange Touadera 4月22日批準國民議會通過的加密貨幣監管法案.
1900/1/1 0:00:00