比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

a16z:如何建立提高智能合約安全性的開發流程_HOW

Author:

Time:1900/1/1 0:00:00

Web3項目在開發生命周期的各個階段都應考慮添加保障安全性的流程。

許多發生在Web3項目上的黑客攻擊都可以通過加強智能合約的安全性進行避免。

通常,攻擊者會發現并利用整個軟件開發環節中的一些缺陷——從設計到部署和維護以及發布新代碼等一系列步驟。如果擁有一套標準的智能合約開發和危險應對流程,我們相信安全事件會相應減少。

本篇文章的目的是概述Web3建設者、開發人員和安全團隊在設計、開發和維護智能合約系統時必須考慮的核心安全因素。以下框架討論了應在整個軟件開發生命周期中實施的八種核心安全因素——從威脅建模到應急響應準備。

在了解智能合約安全防護之前,要先了解軟件的開發階段。軟件開發可以分為以下五個階段:

設計:開發人員描述系統所需的功能和操作,包括重要的基準和固定的屬性。

開發:開發人員編寫系統的代碼。

測試和審查:開發人員將所有模塊放在一個測試環境中運行,以此評估代碼的準確性和穩定性。

部署:開發人員將系統投入實際環境。

a16z crypto敦促英國考慮更細致的監管框架:金色財經報道,a16z crypto 在給英國財政部的一封公開信中表示,“一刀切”的加密資產交易監管方法不符合財政部“相同風險,相同監管結果”的核心設計原則,英國應該考慮采用“更細致的方法”來監管數字資產,政策制定者和監管者需要對去中心化在 web3 系統中的運作方式形成“更統一”的理解。

這份公開信是對英國政府 2 月份首次發布的咨詢文件的回應。該風險投資公司認為,監管框架應包括“基于原則的分析”,考慮給定平臺或協議的結構是否已經減輕了可能的風險,法規不應不必要地阻礙項目去中心化。a16z crypto 敦促監管 DeFi 應用程序和業務,而不是協議或軟件。此外,允許通過旨在實現去中心化的協議免費分發代幣的規則將對開發人員具有吸引力。[2023/5/2 14:37:46]

維護:開發人員評估和修改系統以確保它執行預期的功能。

有了這個基本開發周期的基礎,現在我們可以深入了解每個步驟中影響智能合約安全的注意事項。下圖將需要考慮的因素對應到相關的開發階段。需要注意的是,環節中的某些步驟有多方面安全考慮:?

“Twitter替代品”Post News獲a16z投資:11月29日消息,“兩周前剛剛公開的“Twitter替代品”Post News宣布已獲得a16z和紐約大學教授兼科技評論員Scott Galloway投資,具體投資金額暫未對外披露。

Post News表示將提供“無需訂閱或廣告的優質新聞內容”,目前已推出測試版,其中有類似于Twitter的基本功能,如發帖、點贊和轉發。分析認為a16z投資Twitter競爭對手行為是個“奇怪的選擇”,因為該風投在馬斯克收購Twitter中貢獻4億美元。(TechCrunch)[2022/11/29 21:09:44]

如上所示,軟件開發生命周期不一定總是遵循線性路徑。在實踐中,可能出現重疊或延伸到其他階段的情況。某些步驟可能在每個版本中都需要重復。一些任務——例如測試和安全審查——可能需要自始至終執行。

上述的軟件生命周期和相應的安全注意事項為促進智能合約的安全性提供了有用的基礎信息,但我們將在下文中對其進行更詳細地研究,使得理解、應用和分享這些實踐變得盡可能簡單,并具體分析關鍵問題:What、Why以及How。

A16z發布第三代全新互聯網政策議程:金色財經報道,10月13日消息,a16z發布第三代互聯網政策議程,該議程將成為a16z全新Web3 Policy Hub的動態文件,同時為政府、學術界、民間社會和私營部門的領導者提供更多資源并致力于為網絡未來建立一個共同愿景。?A16z表示,過去十年教會我們需要一個積極的戰略來塑造技術,并且在開放社會中發揮作用,在這種情況下,Web3將會帶來一波全新的創新浪潮,政策制定者和監管機構可以利用 Web3 提供的工具來構建互聯網,從而更好地為社會釋放更多機會、保護數據、并且解決關鍵問題。?A16z已經開始努力確保這個新議程能夠運作,在過去幾周時間已經向參議院領導層提交了一封信函,旨在解決目前基礎設施法案中稅收條款的挑戰,此外a16z還發布了一個政策框架,概述了穩定幣在促進金融包容性方面的作用,另外也與參議院銀行委員會的每位成員分享了四項立法提案,以鼓勵政策制定者考慮周到、具體的方案去監管去中心化技術。由于 Web3 的廣度和影響,定義開明的政策和監管戰略是一項重要任務,任何單個組織都無法自行解決。A16z認為,現在是時候開始建立一個更好的互聯網了。[2021/10/13 20:26:46]

設計階段的智能合約安全注意事項

推特發言人Nick Pacilio將加入a16z,負責媒體關系:9月17日消息,推特發言人Nick Pacilio在推特任職7年后將離開推特,加入a16z并負責媒體關系。[2021/9/17 23:32:33]

考慮威脅建模和安全設計

What:從開發生命周期的一開始就實施識別系統的潛在威脅并確定其優先級的具體方案是很重要的——智能合約開發人員應確定要在開發中實施的所有安全控制以及應在開發中檢查的所有威脅測試、審計和監控。所有的安全假設,包括攻擊的預期復雜程度和手段,都應在設計階段明確定義和闡明。

Why:雖然開發人員傾向于只關注智能合約或協議的預期用途,但這種關注的單一性可能會給他們留下被攻擊者利用的盲點。

How:遵循已知的威脅建模實踐。如果開發團隊沒有內部安全專業知識,那么它應該在設計階段的早期與安全顧問合作。在設計系統時采用「攻擊者」的心態,并假設任何個人、硬件或服務都可能受到攻擊。

開發階段的安全考慮

考慮管理和訪問控制

What:實施訪問控制,限制特權賬戶的權限和智能合約調用執行管理任務的特殊功能。遵循「最低權限原則」:每個參與者應該只擁有所需的最低訪問權限。

動態 | 風投公司a16z回應Facebook Libra治理問題:任何節點都將是平等的:據fortune消息,風投公司Andreessen Horowitz(a16z)發言表示:任何節點在Libra的治理問題上都將是平等的。與Andreessen一起,PayPal、Coinbase、Visa和MasterCard也是Libra協會的一部分,所有成員一同負責對Libra代幣的監督。 前司法部檢察官Haun表示,該協會面臨的挑戰是推動項目的發展,以促進創新,同時保護消費者。例如,若法院要求Libra追蹤用戶身份,協會應該如何應對等。[2019/6/21]

Why:通過升級和治理流程維護協議允許開發人員通過添加新功能、修補安全問題和優化不斷變化的條件來改進協議。如果升級的能力沒有得到適當的控制,這可能構成一個嚴重的安全漏洞。

How:建立一個多重簽名錢包或DAO合約,將對協議的更改透明化,并且應通過徹底的審查流程以及時間鎖,以確保可以驗證它們的正確性并在發生治理攻擊時回滾。確保特權密鑰在自托管錢包或安全托管服務中,且可以被安全地存儲和訪問。

考慮集成可重復使用、久經考驗的模板

What:盡可能利用現有的智能合約標準并評估您可能需要與現有協議進行集成中可能出現的安全問題。

Why:使用現有的經過實戰檢驗、社區審核的標準在降低安全風險方面大有幫助。評估協議集成的風險有助于您進行安全檢查,以防止針對外部組件的攻擊,例如預言機操縱。

How:導入經過安全審計的可信合約庫和接口,畢竟Crypto和Web3的重點是開源、重用和可組合性。請務必在代碼庫中記錄您的合約依賴項及其版本,并盡可能減少您代碼的資源占用量;例如,導入大型項目的特定子模塊而不是所有內容;了解您的風險敞口,以便監控攻擊;使用官方接口調用外部協議,并確保考慮到潛在的集成風險;監控您重復使用的合約的更新和安全信息披露。

測試和審查階段的安全注意事項

考慮測試和項目文檔

What:創建清晰、全面的代碼文檔,并設置快速、全面、易于運行的測試套件。在可能的情況下,在測試網上或通過主網模擬設置測試環境中進行更深入的實驗。

Why:為預期行為編寫假設不僅有助于確保威脅模型中的風險得到解決,也有助于用戶和外部審計人員了解開發團隊的意圖。為代碼創建測試套件有助于證明或反駁假設,并鼓勵對威脅模型進行更深入的思考。該測試套件應包括在極端市場情景下檢查項目代幣經濟學的機制設計測試,以及單元測試和集成測試。

How:通過已知的測試框架和安全檢查應用進行測試——例如Hardhat、?Mythril、?Slither、Truffle等;提供不同的測試技術,例如模糊測試、屬性檢查,甚至形式驗證;全面記錄您的代碼,使用NatSpec注釋來指定預期的副作用、參數和返回值。使用文檔生成工具和高級設計說明生成實時文檔。?

考慮內部審查和安全審計

What:花時間通過內部和外部代碼審計來發現錯誤。

Why:從功能開發轉移到安全問題上,讓開發人員有時間發現潛在的安全問題。外部審計在這方面可能特別有用,因為它們可以帶來開發團隊沒有的外部觀點和專業知識。

How:在項目開發的適當時刻,安排功能凍結,以便有時間進行內部審查,然后進行外部審計。這些動作應該在實時部署和升級之前進行,可以查看來自ConsenSys、Nascent、OpenZeppelin和TrailofBits的指南,這些指南為開發人員提供了考慮事項清單——包括時間安排——供任何準備審計的人使用。還要確保查看部署事務以確保它們使用經過審核的代碼版本并具有適當的參數,尤其是在升級軟件時。

部署和維護階段的安全注意事項

考慮激勵白帽社區參與

What:創建鼓勵社區參與開源代碼庫安全改進的計劃。一種方法是建立漏洞賞金。另一種方法是鼓勵社區開發協議監控檢測機器人。

Why:開發團隊可以從更廣泛的知識和經驗中受益。值得注意的是,此類程序可以幫助激發開發者對項目的熱情,實質上將社區和白帽黑客變成了傳道者。它們還可以通過為黑客提供成為防御者的途徑來幫助將潛在的攻擊者轉變為守護者。

How:使用漏洞賞金平臺為賞金系統提供基于嚴重程度的獎勵,以激勵熟練的黑客披露漏洞。開發團隊可以鼓勵他們的協議社區利用傳統和Web3原生的方法來激勵對漏洞的尋找,并讓參與者通過增強安全性來獲得潛在獎勵,從而為所有人帶來雙贏。

考慮實時監控

What:實施監控智能合約和關鍵運營組件的系統,并根據已知威脅模型向開發團隊和社區報告可疑活動。

Why:早期發現問題使團隊能夠快速對漏洞和錯誤進行響應,從而可能阻止或減輕損害。這似乎很容易想到,但在規劃中可能會被忽略。

How:使用監控平臺或分布式節點運行實時監控智能合約事件的機器人。根據需要為開發團隊和更廣泛的社區建立儀表板和警報通知。

考慮事件應急響應流程

What:利用能夠在出現任何安全問題時立即做出響應的工具和流程。

Why:即使有最好的部署前保護措施,智能合約和關鍵組件仍然可能存在臨時問題。擁有專門的人員、清晰的流程和適當的自動化確保可以快速調查并盡快解決事件。

How:通過計劃如何響應事件或緊急情況以及最大程度地使得響應能力自動化,為最壞的情況做準備。包括為有能力的人員分配調查和響應責任,這些人員可以通過分布式安全郵件列表、代碼存儲庫中的說明或智能合約注冊表公開聯系與安全問題相關的人員。根據協議的威脅模型,開發一套流程,其中可能包括場景演習和采取緊急行動的預期響應時間。考慮將自動化集成到事件響應中:例如,工具可以接收來自Forta機器人的事件并對其采取行動。

對于安全的考慮應該是成功開發的一個組成部分,而不僅僅是事后的想法。?

盡管上述框架為構建Web3協議和應用的團隊在整個開發過程中提高安全性方面提供了一些快速指南,但簡短概述不足以提供對智能合約安全性各個方面的詳盡討論。缺乏內部安全專業知識的團隊應該聯系合格的Web3安全專家,他們可以幫助團隊將上述的通用指導應用于他們的具體情況。但最重要的是,請記住,安全絕不僅僅是在簡單的清單中打勾以管理復雜的問題,它始終是一套永無止境、持續不斷的實踐過程。我們仍處于建立這些實踐的開始階段,因此現在是為所有開發人員協作創建和共享安全實踐的時候了。

Tags:WEBWEB3HATHOWWEBOO幣web3游戲行業chat幣還會漲嗎Doges Spirited Howling Castle Game

火幣APP下載
全解析:以太坊第一層、第二層擴展解決方案_以太坊

以太坊著重強調兩點:去中心化和安全性,這使得它處理交易的速度很慢。進而影響了其網絡吞吐量,去中心化應用程序(dApp)的擴展能力.

1900/1/1 0:00:00
金色Web3.0日報 | Opensea更新NFT版權保護計劃_TIM

1.DeFi代幣總市值:497.28億美元 DeFi總市值數據來源:coingecko2.過去24小時去中心化交易所的交易量:43.

1900/1/1 0:00:00
Web2.0的VC巨頭 已經盯上Web3.0_WEB3.0

伴隨元宇宙概念在2021年出圈,關于新一代互聯網協議的Web3.0也迎來了爆發期。近期,多個Web3.0項目的融資背后出現了老牌風險投資機構的身影,這些曾在Web2.0時代成功押注了臉書、阿里巴.

1900/1/1 0:00:00
Web3 與Web2:根本意識形態分歧_WEB3

Web3不會殺死Web2。在本文中,我將使用Web3來泛指支持通過區塊鏈技術來實現去中心化所有權的社區和項目,以及使用Web2來泛指互聯網「常態」部分特有的社區和項目,比如Tumblr、Redd.

1900/1/1 0:00:00
深度解析DAO的激勵機制_TOKEN

原文標題:《DAO的激勵機制》在中文的加密圈子,如果要說最近DAO的表現,SeeDAO的發展和融資情況可圈可點。該DAO于2022年1月底以3000萬美元估值完成A輪融資.

1900/1/1 0:00:00
盤點近期值得關注的四個Web3獲獎應用_DAO

6月3日結束的ETHShanghai黑客松活動中涌現出了不少優質的Web3.0項目,在上百個參賽團隊中,有四個脫穎而出,分別摘得金銀銅獎.

1900/1/1 0:00:00
ads