鏈上項目以及NTF源代碼安全審計能給企業帶來的好處
鏈上項目以及ntf源代碼安全審計能給企業帶來的好處
現在大部分客戶130對于軟9370件開發的6165安全考量基本集中在軟件開發的后期,在測試階段引入。常用的軟件風險評估、漏洞掃描、滲透測試等都是在軟件開發完成后進行。通常這個階段預留的時間非常少,不僅的難度高測試的成本高,而且存在大量的漏洞錯報和誤報的情況。后期的測試手段也無法地測試出代碼漏洞的具體位置。當通過后期測試發現問題后,人工進行代碼審查去查找漏洞所在代碼位置時,我們經常會發現過程中存在效率低、準確率低、無法定位具體問題代碼行等問題。而這些問題導致了客戶后期發現系統漏洞時,無法進行快速、準確地客戶只能讓系統攜帶漏洞上線.
智能合約art coact領域人士想必都不會陌生。智能合約就是將現實合約條款的執行過程電子化并實現量化交易的一種協議,它就是通過一套以數字形式定義的承諾(commitment),讓合約參與方可以在上面執行這些承諾。數字形式就意味著所有的智能合約不得不寫入計算機可讀的代碼中。智能合約是基于技術,它的出現滿足了許多常見的合約條件(如支付條款,留置權性,以及執行等),以及地減少惡意和偶然地異常地減少對可信中介的依賴
智能合約為何要通過代碼審計
但這項新技術并非沒有挑戰,安全問題就是的一環。據統計,在過去的5年間,frenner智能合約代碼審計機構在審查過的近1000個智能合約項目中有超過25%的存在嚴重漏洞,有過半項目至少存在一個安全隱患,而這些安全隱患和漏洞將會給惡意攻擊者帶來機會,惡意項目資產。例如,2016年6月,the daoether的漏洞就造成了5000萬美元的損失。當然,項目的安全問題除了能給項目造成直接的巨額經濟損失外,還會嚴重損害項目的品牌聲譽,導致項目無法正常運營甚至“”。
frenner智能合約代碼審計機構建議廣大智能合約項目方,在項目上鏈之前,務必通過進行嚴格的代碼審計,以確保項目不存在安全問題,讓所有合約得到執行。那么,項目方是否可以內部進行代碼審計呢?理論上講這個是可行的,至少可以為項目節省一筆審計費用,但項目方內部審計存在很明顯的缺陷,首先,項目方作為項目運營方,自己的項目自己審計存在“不可信”的問題,缺乏有效的品牌背書,無法讓合約參與者信服。其次,項目方此前從來沒有接觸過智能合約的審計,復雜的審計流程會給項目的帶來巨大挑戰。
正所謂的事情必須的人來做,如果項目方內部進行審計,就很容易忽略不該忽略的漏洞或安全隱患,這樣一旦上鏈,項目就處于非常不安全狀態,很大幾率遭受惡意攻擊而蒙受巨經濟損失和嚴重名譽損失。因此,項目方是找第三方智能合約代碼審計機構進行代碼審計,雖然由專門從事智能合約審計的第三方對智能合約代碼進行審計也不能萬無一失,但至少能發現代碼中的絕大部分錯誤漏洞,可以大大提升項目的安全性。
智能合約如何進行代碼審計
智能合約代碼審計一般都會圍繞項目的三個方面進行,包括常見的錯誤(包括堆棧問題,編譯和代碼重入錯誤)、智能合約代碼中可能存在的已知錯誤和安全漏洞以及對智能合約進行各種模擬攻擊測試等,例如,為盡可能的找到智能合約中的安全問題,frenner智能合約代碼審計機構一般都會測試各類攻擊,如重入攻擊(reeancy attack)、數值溢出(over and under flows)、重放攻擊(replay attack)、重排攻擊(reordering attack)、短地址攻擊(short address attack)。
一般智能合約代碼審計有兩種基本方法:手動和自動代碼分析。手動代碼分析比較容易理解,就是由代碼審計工程師逐行審查每一行代碼,仔細查看代碼的編譯、重入錯誤和安全等問題,其中安全問題為重要,它能直接影響智能合約是否能長期穩定的運行。自動代碼分析就借助各種審計工具對代碼進行掃描,它的好處就是在檢查代碼時可以節約大量的人力和時間,還可以進行多條件復雜的滲透測試,有助于快速發現漏洞。
當然,目前所有的代碼審計機構都是手動和自動代碼分析相結合,frenner智能合約代碼審計機構也不例外。首先通過自動代碼分析工具對智能合約的代碼進行深度掃描,找到各種已知的漏洞和安全隱患,然后再通過代碼審計工程師進行一次的人工代碼審查,確保上述自動分析不會存在漏報或誤報的問題,讓智能合約保持在一個比較安全的狀態。