国产成人 综合 亚洲欧美,羞羞影院成人午夜爽爽在线,中文字幕av在线一二三区,午夜私人成年影院在线观看,男人把大ji巴放进女人视频

okx

Web3項(xiàng)目安全實(shí)踐要求

時(shí)間:2023-04-07|瀏覽:361

前言

慢霧安全團(tuán)隊(duì)開(kāi)源 --?Web3 項(xiàng)目安全實(shí)踐要求,提供了詳細(xì)的實(shí)踐要求和建議來(lái)幫助 Web3 項(xiàng)目研發(fā)團(tuán)隊(duì)識(shí)別和防范這些潛在的安全風(fēng)險(xiǎn)。Web3 項(xiàng)目方可以參考本文提供的安全實(shí)踐要求,掌握相應(yīng)的安全技能,提高 Web3 項(xiàng)目的安全性,以便更好地保護(hù)項(xiàng)目和用戶的資產(chǎn)安全。

Web3 項(xiàng)目安全實(shí)踐要求包含如下的內(nèi)容:

0x00 背景概述

現(xiàn)今針對(duì) Web3 項(xiàng)目的攻擊手法層出不窮,且項(xiàng)目之間的交互也越發(fā)復(fù)雜,在各個(gè)項(xiàng)目之間的交互經(jīng)常會(huì)引入新的安全問(wèn)題,而大部分 Web3 項(xiàng)目研發(fā)團(tuán)隊(duì)普遍缺少的一線的安全攻防經(jīng)驗(yàn),并且在進(jìn)行 Web3 項(xiàng)目研發(fā)的時(shí)候重點(diǎn)關(guān)注的是項(xiàng)目整體的商業(yè)論證以及業(yè)務(wù)功能的實(shí)現(xiàn),而沒(méi)有更多的精力完成安全體系的建設(shè),因此在缺失安全體系的情況下很難保證 Web3 項(xiàng)目在整個(gè)生命周期的安全性。

通常項(xiàng)目方團(tuán)隊(duì)為了確保 Web3 項(xiàng)目的安全會(huì)聘請(qǐng)優(yōu)秀的區(qū)塊鏈安全團(tuán)隊(duì)對(duì)其代碼進(jìn)行安全審計(jì),在進(jìn)行安全審計(jì)的時(shí)候,才能夠更好地實(shí)現(xiàn)各種安全實(shí)踐要求,但是區(qū)塊鏈安全團(tuán)隊(duì)的審計(jì)僅僅是短期的引導(dǎo),并不能讓項(xiàng)目方團(tuán)隊(duì)建立屬于自己的安全體系。

因此慢霧安全團(tuán)隊(duì)開(kāi)源了 Web3 項(xiàng)目安全實(shí)踐要求來(lái)持續(xù)性幫助區(qū)塊鏈生態(tài)中的項(xiàng)目方團(tuán)隊(duì)掌握相應(yīng)的 Web3 項(xiàng)目的安全技能,希望項(xiàng)目方團(tuán)隊(duì)能夠基于 Web3 項(xiàng)目安全實(shí)踐要求建立和完善屬于自己的安全體系,在審計(jì)之后也能具備一定的安全能力。

0x01 開(kāi)發(fā)準(zhǔn)備

    需求分析文檔要求

1.?確保包含項(xiàng)目的詳盡描述

2.?確保包含項(xiàng)目解決的問(wèn)題

3.?確保包含安全/隱私風(fēng)險(xiǎn)評(píng)估

  • 開(kāi)發(fā)設(shè)計(jì)文檔要求

1.?確保包含項(xiàng)目的架構(gòu)設(shè)計(jì)圖

2.?確保包含代碼中函數(shù)的功能描述

3.?確保包含代碼中合約之間的關(guān)聯(lián)關(guān)系描述

4. 確保安全/隱私的要求被正確實(shí)施

  • 業(yè)務(wù)流程文檔要求

1.?確保包含項(xiàng)目中每個(gè)業(yè)務(wù)流程的描述

2.?確保包含詳盡的業(yè)務(wù)流程圖

3.?確保包含詳盡的資金鏈路圖

0x02 開(kāi)發(fā)過(guò)程

  • 智能合約安全編碼要求

1. 確保包含盡可能基于 OpenZeppelin 等知名 library 進(jìn)行開(kāi)發(fā)

2. 確保包含使用 SafeMath 或 0.8.x 的編譯器來(lái)避免絕大部分溢出問(wèn)題

3. 確保遵循函數(shù)命名規(guī)范,參考:solidity style guide

(https://docs.soliditylang.org/en/v0.8.14/style-guide.html)

4. 確保函數(shù)和變量可見(jiàn)性采用顯性聲明

5. 確保函數(shù)返回值被顯性賦值

6. 確保函數(shù)功能和參數(shù)注釋完備

7. 確保外部調(diào)用正確檢查返回值,包含:transfer,transferFrom,send,call,delegatecall 等

8. 確保 interface 的參數(shù)類型返回值等實(shí)現(xiàn)是正確的

9. 確保設(shè)置合約關(guān)鍵參數(shù)時(shí)有進(jìn)行鑒權(quán)并使用事件進(jìn)行記錄

10. 確??缮?jí)模型的新的實(shí)現(xiàn)合約的數(shù)據(jù)結(jié)構(gòu)與舊的實(shí)現(xiàn)合約的數(shù)據(jù)結(jié)構(gòu)是兼容的

11. 確保代碼中涉及算數(shù)運(yùn)算的邏輯充分考慮到精度問(wèn)題,避免先除后乘導(dǎo)致可能的精度丟失的問(wèn)題

12. 確保 call 等 low level 調(diào)用的目標(biāo)地址和函數(shù)是預(yù)期內(nèi)的

13. 使用 call 等 low level 調(diào)用的時(shí)候要根據(jù)業(yè)務(wù)需要限制 Gas

14. 編碼規(guī)范進(jìn)行約束,遵循:先判斷,后寫(xiě)入變量,再進(jìn)行外部調(diào)用 (Checks-Effects-Interactions)

15. 確保業(yè)務(wù)上交互的外部合約是互相兼容的,如:通縮/通脹型代幣, ERC-777, ERC-677, ERC-721 等可重入的代幣,參考:重入漏洞案例

(https://medium.com/amber-group/preventing-re-entrancy-attacks-lessons-from-history-c2d96480fac3)

16. 確保外部調(diào)用充分考慮了重入的風(fēng)險(xiǎn)

17. 避免使用大量循環(huán)對(duì)合約的 storage 變量進(jìn)行賦值/讀取

18. 盡可能避免權(quán)限過(guò)度集中的問(wèn)題,特別是修改合約關(guān)鍵參數(shù)部分的權(quán)限,要做權(quán)限分離,并盡可能采用治理,timelock 合約或多簽合約進(jìn)行管理

19. 合約的繼承關(guān)系要保持線性繼承,并確保繼承的合約業(yè)務(wù)上確實(shí)需要

20. 避免使用鏈上的區(qū)塊數(shù)據(jù)作為隨機(jī)數(shù)的種子來(lái)源

21. 確保隨機(jī)數(shù)的獲取和使用充分考慮回滾攻擊的可能

22. 盡量使用 Chainlink 的 VRF 來(lái)獲取可靠的隨機(jī)數(shù),參考:Chainlink VRF

(https://docs.chain.link/vrf/v2/introduction)

23. 避免使用第三方合約的 token 數(shù)量直接計(jì)算 LP Token 價(jià)格,參考:如何正確獲取 LP 的價(jià)

(https://blog.alphaventuredao.io/fair-lp-token-pricing/)

24. 通過(guò)第三方合約獲取價(jià)格的時(shí)候避免單一的價(jià)格來(lái)源,建議采用至少 3 個(gè)價(jià)格來(lái)源

25. 盡可能在關(guān)鍵的業(yè)務(wù)流程中使用事件記錄執(zhí)行的狀態(tài)用于對(duì)項(xiàng)目運(yùn)行時(shí)的數(shù)據(jù)分析

26. 預(yù)留全局與核心業(yè)務(wù)緊急暫停的開(kāi)關(guān),便于發(fā)生黑天鵝事件的時(shí)候及時(shí)止損

  • 測(cè)試用例代碼要求

1.?確保包含業(yè)務(wù)流程/函數(shù)功能可用性測(cè)試

2. 確保包含單元測(cè)試覆蓋率 95% 以上,核心代碼覆蓋率要達(dá)到 100%

  • 基礎(chǔ)安全配置要求

1.?確保官方郵箱使用知名服務(wù)商,如 Gmail

2. 確保官方郵箱賬號(hào)強(qiáng)制開(kāi)啟 MFA 功能

3. 確保使用知名域名服務(wù)商,如 GoDaddy

4. 確保域名服務(wù)商平臺(tái)的賬號(hào)開(kāi)啟 MFA 安全配置

5. 確保使用優(yōu)秀的 CDN 服務(wù)提供商,如 Akamai、Cloudflare

6. 確保 DNS 配置開(kāi)啟了 DNSSec,在域名服務(wù)管理平臺(tái)上為管理賬號(hào)設(shè)置強(qiáng)口令并開(kāi)啟 MFA 認(rèn)證

7. 確保全員的手機(jī)和電腦設(shè)備使用殺毒軟件,如卡巴斯基、AVG 等

  • Web 前端安全配置要求

1.?確保全站的 HTTP 通訊采用 HTTPS

2. 確保配置了 HSTS,以防止中間人攻擊,如:DNS hijacking,BGP hijacking,參考:HSTS 配置介紹

(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security)

3. 確保配置了 X-FRAME-OPTIONS,以防止 Clickjacking 攻擊,參考:X-FRAME-OPTIONS 配置介紹

(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options)

4. 確保配置了 X-Content-Type-Options,以對(duì)抗瀏覽器 sniff ?為導(dǎo)致的?險(xiǎn),參考:X-Content-Type-Options 配置介紹

(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options)

5. 確保配置了 CSP 策略,以防止 XSS 攻擊,參考:CSP 內(nèi)容安全策略介紹

(https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP)

6. 確保與權(quán)限和用戶憑證相關(guān)的 Cookie 配置了 HttpOnly, Secure, Expires, SameSite 標(biāo)志,參考:Cookie 配置介紹

(https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies)

7. 確保不同業(yè)務(wù)的子域嚴(yán)格劃分開(kāi),避免子域的 XSS 問(wèn)題互相影響

8. 確保引用的第三方資源使用了 integrity 屬性進(jìn)行限制,避免第三方被黑導(dǎo)致項(xiàng)目方的站點(diǎn)受到影響,參考:SRI 配置介紹

(https://developer.mozilla.org/zh-CN/docs/Web/Security/Subresource_Integrity)

9. 確保正確配置 CORS,僅允許指定 origin 域,協(xié)議和端口訪問(wèn)項(xiàng)目的資源,參考:CORS 配置介紹

(https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS)

10. 確保業(yè)務(wù)中實(shí)現(xiàn)的 addEventListener/postMessage 有檢查消息的 origin 和 target,參考:postMessage 安全介紹?

(https://developer.mozilla.org/zh-CN/docs/Web/API/Window/postMessage)

  • 后端環(huán)境安全配置要

1. 確保選用優(yōu)秀的云服務(wù)器提供商,如:AWS、Google 云等

2. 確保項(xiàng)目使用到的云平臺(tái)管理賬號(hào)使用強(qiáng)口令并開(kāi)啟 MFA 認(rèn)證

3. 確保項(xiàng)目代碼部署到服務(wù)器前對(duì)服務(wù)器進(jìn)行安全加固,如:安裝 HIDS,采用 SSH Key 進(jìn)行登錄,設(shè)置 SSH 登錄 alert,設(shè)置 SSH 登錄 google-auth 等

4. 確保使用專業(yè)軟件監(jiān)控服務(wù)、服務(wù)器可用性,如 APM、Zabbix

5. 確保使用專業(yè)的機(jī)構(gòu)定期測(cè)試項(xiàng)目安全性,如 SlowMist、Trail of Bits 等

0x03 發(fā)布過(guò)程

需要有完備的安全上線發(fā)布流程,可以參考如下的內(nèi)容進(jìn)行細(xì)化:

  • 代碼凍結(jié)要求

在預(yù)計(jì)的上線時(shí)間倒推 2 天,即上線 2 天前必須凍結(jié)代碼不再做任何代碼改動(dòng)

  • 單元測(cè)試要求

1.?確保單元測(cè)試覆蓋率 95% 以上,核心代碼覆蓋率 100%

2. 確保輸出單元測(cè)試的覆蓋率報(bào)告

  • 回歸測(cè)試要求

在上線 1 天前執(zhí)行單元測(cè)試并進(jìn)行回歸測(cè)試

  • 測(cè)試報(bào)告要求

上線前 0.5 天由開(kāi)發(fā)及測(cè)試共同完成測(cè)試報(bào)告,如果不通過(guò)(含單元測(cè)試、回歸測(cè)試),則推遲上線時(shí)間,開(kāi)發(fā)完成修改后重新進(jìn)入代碼凍結(jié)階段(即推遲至少 2 天)

  • 安全審計(jì)要求

1.?安全審計(jì)人員在代碼凍結(jié)后進(jìn)入整體安全回歸,如發(fā)現(xiàn)任一漏洞或安全隱患(嚴(yán)重、高危、中危),則推遲上線時(shí)間,開(kāi)發(fā)完成修改后重新進(jìn)入代碼凍結(jié)(即推遲至少 2 天)

2. 安全審計(jì)需要至少三個(gè)團(tuán)隊(duì)進(jìn)行獨(dú)立的審計(jì),可以采用 1 個(gè)內(nèi)部團(tuán)隊(duì) +?2 個(gè)外部團(tuán)隊(duì)

0x04 運(yùn)行期間

  • 運(yùn)行時(shí)安全監(jiān)控

盡可能的通過(guò)關(guān)鍵業(yè)務(wù)流程中觸發(fā)的事件來(lái)發(fā)現(xiàn)項(xiàng)目運(yùn)行時(shí)的安全問(wèn)題,如:

1. 合約關(guān)鍵權(quán)限/參數(shù)變更:監(jiān)控管理角色發(fā)生變更的事件,管理角色修改合約關(guān)鍵參數(shù)的事件,及時(shí)發(fā)現(xiàn)私鑰可能被盜的情況

2. 合約資金變化:監(jiān)控價(jià)格變動(dòng)及合約資金變動(dòng)的情況,及時(shí)發(fā)現(xiàn)可能的閃電貸等攻擊

3. 周期性對(duì)賬:周期性對(duì)鏈上的事件與交易進(jìn)行對(duì)賬,及時(shí)發(fā)現(xiàn)可能的業(yè)務(wù)邏輯上的問(wèn)題

  • 運(yùn)行環(huán)境安全加固

1. 確保實(shí)施前端代碼所在服務(wù)器的安全加固,如:安裝 HIDS (https://www.aliyun.com/product/aegis),采用 SSH Key?進(jìn)行登錄,設(shè)置 SSH 登錄 alert (https://medium.com/@alessandrocuda/ssh-login-alerts-with-sendmail-and-pam-3ef53aca1381),設(shè)置 SSH 登錄 google-auth (https://goteleport.com/blog/ssh-2fa-tutorial/)?等

2. 確保 DNS 配置開(kāi)啟了 DNS Sec,在域名服務(wù)管理平臺(tái)上為管理賬號(hào)設(shè)置強(qiáng)口令并開(kāi)啟 2 次認(rèn)證

3. 確保項(xiàng)目使用到的云平臺(tái)管理賬號(hào)使用了強(qiáng)口令并開(kāi)啟了 2 次認(rèn)證

  • 發(fā)布漏洞賞金計(jì)劃

發(fā)布漏洞賞金計(jì)劃或入駐知名的漏洞賞金平臺(tái),?吸引社區(qū)白帽子為項(xiàng)目保駕護(hù)航;可以選擇?BugRap?(https://bugrap.io/),?code4rena?(https://code4rena.com/),?immunefi?(https://immunefi.com/)

  • 成立名義應(yīng)急小組

成立名義應(yīng)急小組并對(duì)外提供聯(lián)系方式,由應(yīng)急小組負(fù)責(zé)處理白帽子發(fā)現(xiàn)的問(wèn)題或在黑天鵝事件爆發(fā)時(shí)主導(dǎo)團(tuán)隊(duì)成員進(jìn)行應(yīng)急處置

0x05 應(yīng)急處置

  • 完備的應(yīng)急處置流程

盡可能地制定完備地應(yīng)急處置流程,有條不紊地根據(jù)應(yīng)急處置流程來(lái)處置黑天鵝事件

  • 止損處置要求

1.?根據(jù)問(wèn)題影響的范圍和危害程度,及時(shí)通過(guò)緊急暫停開(kāi)關(guān)進(jìn)行止損

2. 通知社區(qū)成員發(fā)生黑天鵝事件,避免用戶繼續(xù)與項(xiàng)目進(jìn)行交互導(dǎo)致虧損

  • 黑客追蹤要求

1. 迅速分析黑客的獲利地址,并留存 PC/Web/服務(wù)器的訪問(wèn)日志(如果有木馬請(qǐng)留存木馬文件)

2. 對(duì)服務(wù)器進(jìn)行快照,及時(shí)保留被黑現(xiàn)場(chǎng)

3. 聯(lián)系專業(yè)的安全團(tuán)隊(duì)協(xié)助進(jìn)行追蹤,如:?MistTrack 追蹤分析平臺(tái)?(https://misttrack.io/),?Chainalysis?(https://www.chainalysis.com/)

  • 修復(fù)問(wèn)題要求

1. 與專業(yè)安全團(tuán)隊(duì)討論問(wèn)題的最佳修復(fù)方案

2. 正確實(shí)施修復(fù)方案并請(qǐng)專業(yè)的安全團(tuán)隊(duì)進(jìn)行驗(yàn)證

  • 安全發(fā)布要求

執(zhí)行發(fā)布過(guò)程要求,確保一切代碼的變更均有經(jīng)過(guò)測(cè)試和安全審計(jì)

  • 復(fù)盤(pán)分析要求

1.?披露驗(yàn)尸報(bào)告并與社區(qū)成員同步修復(fù)方案及補(bǔ)救措施

2. 驗(yàn)尸報(bào)告需要同步問(wèn)題的本質(zhì)原因,問(wèn)題的影響范圍,具體的損失,問(wèn)題的修復(fù)情況,黑客的追蹤等相關(guān)進(jìn)展

總結(jié)

安全是動(dòng)態(tài)管理的過(guò)程,僅依賴于第三方安全團(tuán)隊(duì)的短期審計(jì)并不能真正保障項(xiàng)目長(zhǎng)期安全穩(wěn)定地運(yùn)行。因此,建立和完善 Web3 項(xiàng)目的安全體系是至關(guān)重要的,項(xiàng)目方團(tuán)隊(duì)自身具備一定的安全能力才能更好的保障 Web3 項(xiàng)目安全穩(wěn)定地運(yùn)行。

除此之外,我們建議項(xiàng)目方團(tuán)隊(duì)還應(yīng)該積極參與安全社區(qū),學(xué)習(xí)最新的安全攻防技術(shù)和經(jīng)驗(yàn),與其他項(xiàng)目方團(tuán)隊(duì)和安全專家進(jìn)行交流和合作,共同提高整個(gè)生態(tài)的安全性。同時(shí),加強(qiáng)內(nèi)部安全培訓(xùn)和知識(shí)普及,提高全員的安全意識(shí)和能力,也是建立和完善安全體系的重要步驟。

最后,Web3 項(xiàng)目安全實(shí)踐要求目前屬于 v0.1 版本,并且還在持續(xù)的完善,如果你有更好的建議,歡迎提交反饋。

熱點(diǎn):項(xiàng)目

歐易

歐易(OKX)

用戶喜愛(ài)的交易所

幣安

幣安(Binance)

已有賬號(hào)登陸后會(huì)彈出下載

« 上一條| 下一條 »
區(qū)塊鏈交流群
數(shù)藏交流群

合作伙伴

減肥瘦身吧 借春秋財(cái)經(jīng) 谷歌留痕 趣玩幣 周公解夢(mèng) 百悅米 今日黃金 玩票票財(cái)經(jīng) 借春秋 幣圈ICO官網(wǎng) 愛(ài)網(wǎng)站 聚幣網(wǎng) 天天財(cái)富 旅游資訊網(wǎng) 數(shù)字財(cái)經(jīng) 金色幣圈 寶寶起名 黃金行情 媽媽知道 百科書(shū)庫(kù) 幣圈官網(wǎng) 去玩唄SPA 玩合約 培訓(xùn)資訊網(wǎng) 秒懂域名 談股票 兼職信息網(wǎng) 美白沒(méi)斑啦 皮卡丘資訊 幣圈交流群 茶百科 代特幣圈 數(shù)字黃金 裝修裝飾網(wǎng) 幣圈論壇 非小號(hào)行情 元宇宙Web
非小號(hào)交易所排名-專業(yè)的交易行情資訊門(mén)戶網(wǎng)站,提供區(qū)塊鏈比特幣行情查詢、比特幣價(jià)格、比特幣錢(qián)包、比特幣智能合約、比特幣量化交易策略分析,狗狗幣以太坊以太幣玩客幣雷達(dá)幣波場(chǎng)環(huán)保幣柚子幣萊特幣瑞波幣公信寶等虛擬加密電子數(shù)字貨幣價(jià)格查詢匯率換算,幣看比特兒火幣網(wǎng)幣安網(wǎng)歐易虎符抹茶XMEX合約交易所APP,比特幣挖礦金色財(cái)經(jīng)巴比特范非小號(hào)資訊平臺(tái)。
非小號(hào)行情 yonghaoka.cn 飛鳥(niǎo)用好卡 ?2020-2024版權(quán)所有 桂ICP備18005582號(hào)-1