以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

從傳統網絡安全視角,區塊鏈安全有何不同?_區塊鏈

Author:

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

原文標題:《區塊鏈安全和傳統安全有什么不同》

作者:衛劍釩,衛Sir說

說起傳統安全,很多朋友都比較熟悉,基本而言,就是針對漏洞的攻擊,和針對攻擊的防護。

但說起區塊鏈安全,很多人就不太了解了。有人說區塊鏈本身是安全的,傳統攻擊根本奈何不了它;但也經常看到區塊鏈里的安全事件,似乎一點也不少。

那到底和傳統安全有什么區別呢?

本文就是講一講這個。

1.總體而言

區塊鏈在設計上大量采用密碼學技術,在業務層、通信層、數據層均使用了加密、簽名、Hash等技術,再加上區塊鏈的去中心化設計,使得區塊鏈所承載業務的保密性、完整性、可用性,達到了史無前例的高度。

但從本質上講,區塊鏈仍然是一個軟件系統,軟件可能存在的安全問題,區塊鏈一樣有。

即便區塊鏈在底層無懈可擊,其上層運行的各種Dapp、Web3應用仍可能漏洞百出。

這就好比,地基做得再安全,也不能保障其上的建筑沒有安全問題。

本文的結構:

安全主要看什么?

傳統安全的問題主要在哪里?

區塊鏈,解決了什么安全問題?沒有解決什么?

2.安全主要看什么?

其實,安全說來說去,就三個東西,至今沒有超越:

保密性、完整性、可用性。

這三性簡稱CIA。

即便有其他的說法,也都不在一個層次上,比如認證性、可控性、可審計性、防抵賴性等等,這些都是CIA的附屬或延伸,都是為CIA服務的。

Yearn:yUSDT代幣合約中漏洞存在于多個版本,下游協議的流動性提供者仍受影響:4月14日消息,Yearn Finance在推特上發布攻擊事件調查進展,稱如之前所訴,Yearn被攻擊的根本原因是遺留在iEarn USDT (yUSDT) 代幣合約中的漏洞。這個漏洞存在于多個版本中,并導致多個Curve池(y、busd、pax)被利用和耗盡。將LP代幣存入下游協議的流動性提供者仍然受到影響,這包括封裝這些受影響的LP的Yearn v2保險庫 (2)和舊版v1保險庫(2)的用戶。在之前的推文中,Yearn表示,當前版本Yearn v2 Vaults不受影響。

此前昨日消息,Yearn Finance項目遭受攻擊,黑客獲利超1000萬美元。[2023/4/14 14:03:24]

如何深刻理解CIA?

熟悉UNIX的同學會比較容易理解一些,在UNIX的思維里,一切都是文件,而文件的安全,最終落實到讀、寫、執行上。用戶對某個文件的訪問權限,就是是否可讀、是否可寫、是否可執行。這大體就對應了保密性、完整性、可用性。

保密性,就是不想讓別人知道的就不讓別人知道。

實現的思路無外這么幾種:

不記錄,不留任何書面記錄,只留在腦海里,且不露聲色。

鎖起來,不管是物理性還是技術性的鎖,實現對訪問者的訪問控制,被授權者才能訪問。

藏起來,只讓授權者知道在哪里,其他人不知道在哪里,隱寫術也可以歸到此類中。

加密,使用編碼或者密碼的方式,有密碼本或者密鑰才能訪問。

完整性的概念不太好理解,最簡單的理解就是,如果沒有授權,對一個東西的任何部分都不能添加、減少、更改,如果非授權地做了這些,就破壞了完整性。

美聯儲柯林斯:還沒有決定央行的數字貨幣是否適合我們:11月4日消息,美聯儲柯林斯表示,還沒有決定央行的數字貨幣是否適合我們。[2022/11/5 12:18:33]

此外,完整性還有一個比較直觀的含義:一致性。也即系統數據和真實世界一致,正如完整性的英文integrity本身有「誠實」含義一樣,數據被篡改就肯定破壞了一致性。

可用性相對比較好理解,系統癱了、慢了,數據不可用了,都是可用性出了問題。凡是系統提供的服務給人「用不成」、「沒法用」、「不起作用」、「不好使」的感覺,那就是可用性出問題了。

信息系統,要保障的就是這三點。

而通常用來保障CIA的做法,就是認證、授權、訪問控制、校驗、加密、檢測、備份、多活等等。當然,這些工作往往沒有做好,會有各種各樣的漏洞,一方面,發現了趕緊補上,另一方面,從源頭做起,盡量減少漏洞的發生。

傳統安全的主體差不多就是這些。

3.傳統安全的問題在哪里?

如果你已經是安全圈的老手,可以跳過這一節。

安全漏洞有很多種,本文不會一一列舉,只是簡單舉一些例子,讓大家看看大致情況。

從最高層面上講,漏洞的共同特點是:攻擊者的行為,使得軟硬件的行為,超出了系統設計者的預期,產生了負面的效果。

例1:SQL注入

所謂SQL注入,就是在頁面輸入欄中或者在URL等處,黑客沒有按照程序員預期的內容輸入正常數據,而是在夾雜了SQL關鍵字,程序在處理輸入數據時,用到了SQL,并把輸入內容作為SQL語句的參數。這樣,SQL語句可能就會執行黑客巧妙插入的SQL內容,使得黑客可以執行程序員預期外的數據庫操作。

美聯儲埃文斯:很可能在9月加息75個基點:9月9日消息,美聯儲埃文斯表示,美聯儲很可能在9月加息75個基點。還沒有對9月加息多少做出決定,但的確需要加息。[2022/9/9 13:17:56]

程序員應該多檢查一下的,絕不能允許輸入中含有這類攻擊嘗試,但大多數程序員并沒有安全知識,即便有一點,也未必能做好,黑客就還有可能繞過。

黑客破壞了什么安全性質?黑客寫入了系統預期外的數據,破壞了系統的完整性。黑客如果通過SQL語句還拖了庫,就進一步破壞了系統的保密性。

程序什么地方沒有做好?訪問控制,就不該讓什么數據都進來的。

例2:緩沖區溢出漏洞

緩沖區是內存中存放數據的地方,通常都會有一個預設的大小。在將用戶輸入的數據放到內存中時,如果不做好檢查,就可能超出內存預先設定的空間,發生緩沖區溢出。由于程序的運行代碼也在內存中,如果黑客設計得足夠精巧,就可以通過溢出覆蓋掉原先的代碼,使計算機最終執行了黑客的代碼。

這和SQL注入有異曲同工之妙,黑客利用輸入數據的機會,寫入了可執行代碼,而受害主機居然執行了它!

后來,為了抑制此類攻擊,CPU廠商提供了DEP功能,在內存頁標志了是否可執行,操作系統如果利用這個功能,就能在很大程度上防范此類攻擊。此外,操作系統推出ASLR技術,通過對堆、棧、共享庫映射等線性區布局的隨機化,增加攻擊者預測目的地址的難度。不過,使用這兩項技術不代表攻擊者就無法繞過。

黑客肆意亂寫內存區,一樣是破壞了系統的完整性。

程序則沒有做好訪問控制。

例3:文件上傳漏洞

Solana生態借貸聚合器Everlend完成260萬美元融資,GSR等參投:8月19日,據官方消息,基于Solana的借貸聚合器Everlend宣布完成260萬美元戰略輪融資,GSR、Serum Foundation、Everstake Capital、Portico VC和幾位天使投資人參投。

此輪融資資金將主要用于促進產品的開發進程和整體增長。此外,一部分資金將專門用于安全基金(Safety Fund),這是一個保險池,在基礎貨幣市場出現違約或黑客攻擊事件時將為Everlend用戶提供保障。

據悉,Everlend于5月初在主網上線,目前支持10種資產和3個貨幣市場。Everlend計劃在未來逐步轉變為社區主導的DAO。[2022/8/19 12:36:20]

比如一個網站給了用戶上.jpg "/>照片的入口,由于未做檢查,黑客成功上傳了JSP文件,然后黑客找到該上傳文件的URL,就可以執行他寫好的腳本,這個腳本完全可以是一個木馬。

和前面一樣,由于檢查不嚴,讓黑客鉆了空子,寫了設計者預期外的文件,運行了設計者預期外的程序。

程序的訪問控制沒有做好。

例4:中間人劫持漏洞

劫持有很多種,比如TCP劫持、HTTP劫持、DNS劫持、證書劫持、密鑰協商劫持等等。

共同的特點是,A以為自己是在和B交互,B以為自己在和A交互,但實際上,他們都是和中間的C在交互。A和B的所有內容都經過了C,C看得見A和B通信的內容,C還可以修改A、B間通信的內容。

這至少破壞了A和B通信的保密性,如果C還修改了數據,就破壞了完整性。

兼容EVM的Cardano側鏈在測試網上線Alpha版本:金色財經消息,Cardano開發公司Input Output在推特上表示,已在測試網推出兼容EVM的Cardano側鏈Alpha版本。[2022/6/13 4:23:42]

程序的認證沒有做好。

例5:口令暴力破解

如果用戶口令比較弱,黑客嘗試多次后,可能破解出口令并進入系統。

這種事,有人可能認為責任在用戶,但一般而言,現代的應用系統都會對用戶所設口令的強度進行強制要求。

因為黑客一旦得手,系統的完整性會遭到破壞,并可能造成進一步的破壞,比如黑客進入后看到了不該看的東西,保密性被破壞。

系統的認證沒有做好。

例6:越權漏洞

在某個網站里,用戶A和B都是普通用戶,按道理只能操作自己的個人信息,A如果通過某種黑客手法,可以操作B的個人信息,這就是平行越權;如果A是普通用戶,B是管理員,A如果能通過某種黑客方法,執行B才能做的操作,這就是垂直越權。

越權漏洞通常是權限校驗邏輯不夠嚴謹導致的。

程序的權限管理沒有做好。

例7:高峰期網站癱掉

明星在網站官宣新聞,導致大量群眾涌入圍觀,以至于該網站癱掉或者響應很慢。

這是典型的系統可用性出現問題。

系統什么沒有做好?可擴展性沒有做好。

例8:自然災害導致系統數據丟失

2015年,谷歌位于比利時的數據中心由于遭遇了4次閃電襲擊,導致磁盤受損,雖然谷歌對這些磁盤進行了緊急修復,但部分數據仍然永久丟失了。谷歌特別強調,丟失的數據非常非常少,只占該數據中心的0.000001%。即便如此,一些谷歌用戶永遠失去自己的部分個人數據。

這典型地破壞了數據的可用性。

系統的容災備份沒有做好。

4.區塊鏈解決了什么安全問題?

區塊鏈和傳統系統的最大區別就是兩點:一是使用了大量的密碼技術,二是使用了去中心化的結構。

前者使得保密性和完整性大為增強,后者使得可用性大為增強。

先說一下密碼技術使用帶來的好處。

在早期的WEB世界里,比如在IP協議里,在HTTP中,在FTP、TELNET中,都不太使用密碼學技術。因為當時互聯網處于早期,主要目的是互聯互通,而且主要在高校和科研機構之間使用,并沒有太多精力和心思去考慮惡意攻擊。程序員在這些方面總是心思純凈的,總以為別人都是可以信任的,總認為沒有人「那么無聊」。

后來他們才發現,現實世界充滿了攻擊、破壞、仿冒和入侵,程序員們不得不引入各種安全技術,密碼學也被因此被引入,SSL、SSH、HTTPS、IPSec這些新一代的網絡協議紛紛出現。

但這些大都處于傳輸層,主要是給傳輸數據加密的,并沒有上升到業務層面或用戶層面,最終用戶并不能感受到密碼學的好處。什么是用戶層面的加密?舉個例子:office文檔的口令加密、winrar加密、truecrypt全盤加密、網銀中的U盾等等。

而區塊鏈在設計的一開始,就內置了的加密算法,這使得:

1、區塊通過hash鏈接起來,從第一個區塊,直到最后一個區塊,所有區塊是否正確,都可以很容易地驗證,這保證了所有區塊數據的完整性。

2、偽造區塊的hash并不容易,只有符合特定難度的hash,才會被認可,偽造這樣的hash,需要付出大量的計算,和挖礦相匹敵的算力。

3、每個用戶有一個私鑰,用私鑰對應的公鑰生成一個可以公開的地址。攻擊者無法通過暴力破解的方法獲得私鑰。

4、由于用戶體系是建立在公鑰體制之上的,對用戶的認證、用戶的簽名,對稱密鑰的建立都變得極為容易和便利。

5、區塊中的每個交易,都要提供簽名才能完成。攻擊者沒有私鑰,無法簽名,無法偽造交易;同時,有了簽名,用戶無法抵賴自己發出過的交易。

可以看到,區塊鏈對hash和公鑰體制的內置采用,直接提供了密碼學級別的完整性、保密性。

而密碼學技術,經過近一個世紀的發展,已經建立起相當堅實的基礎,現代密碼學的一些公開算法提供著全球頂尖級別的安全保障。這些算法中的佼佼者,目前沒有任何國家力量可以破解。

然后看看去中心化的好處:

1、多一個節點,多一個備份。

以比特幣為例,全球接近10000個節點提供服務,導致比特幣系統自誕生以來,一直穩定地運行,任何人都未能讓它停擺。因為即便有8000個節點同時失效,還有2000個在工作。事實上,即便全網只有幾個節點工作,這個網絡就仍然可以運轉。

2、部分變節,仍可工作。

系統的穩健性并不建立在某個操作系統或某種數據庫的安全之上,而是建立在其獨特的區塊式數據結構之上,部分節點即便失陷,即便故意作惡,也不影響大局。具體能容忍多少個失陷變節,要看具體的共識算法。

3、不依賴于某人或機構

只要你愿意,下載一份軟件,你就可以加入比特幣或以太坊或任何一個公鏈,你不用征求任何人意見,也不會因為任何人的失蹤和退出而擔心這個軟件的前途,你只是根據你的判斷、你的興趣和你的利益運行它,也就是說,沒有單人、單機構可以控制它。

去中心化,大大增強了可用性。

5.區塊鏈無法解決什么安全問題?

從最基本的邏輯講,區塊鏈只是大大提升了安全性,但并不能確保沒有問題。

我們已經在區塊鏈安全經典案例「922億個比特幣」和「TheDAO被盜」中看到:

比特幣因為程序員未能注意到整數溢出的問題,鬧了大笑話,說好的總量2100萬個比特幣,居然在某個交易中出現了1845億個比特幣!

構建在以太坊之上的TheDAO,由于開發者對重入攻擊一無所知,導致用戶眾籌而來的300多萬以太幣被人盜走,落得尷尬收場。

這至少告訴我們兩點:

1、作為區塊鏈本身,雖然在設計上使用了大量密碼學算法,但如果設計或編碼不慎,就可能會有大漏洞。

2、即便區塊鏈本身經過千錘百煉,提供了讓人完全放心的安全,其上的智能合約也不能保證安全。

因為智能合約代碼中的邏輯,如果和需求、設計、編碼的預期不符,就會出問題。

這和傳統安全沒有任何不同。

此外,還有一點非常關鍵:

3、區塊鏈所使用的密碼學技術,可能本身也有漏洞。

畢竟,密碼學也是人搞出來的。

只要是人做出來的東西,就總會有漏洞。

Tags:區塊鏈EARNYEA比特幣區塊鏈運用的技術不包括EARNX幣Yearnlab超級比特幣還有價值嗎

以太坊交易所
詳解 NFT 市場新秀 SudoSwap 的 AMM 機制_NFT

作者:十四君 NFT交易市場的近期頹勢頻現,整個市場的流動性大幅降低,而此時8月異軍突起的SudoSwap則憑借一超多強的增長數據,讓基于AMM機制的交易市場映入大眾視野.

1900/1/1 0:00:00
MakerDao 將持有的 33 億美元 USDC 和 4.99 億美元 USDP 分配在 PSM 儲備中_USD

鏈捕手消息,MakerDao在推特上稱將持有的33億美元USDC和4.99億美元的USDP分配在PSM儲備中,這對于穩定穩定幣Dai的價格十分重要。PSM代表Peg穩定性模塊.

1900/1/1 0:00:00
盤點 28 個值得關注的未發幣新公鏈項目_區塊鏈

原文標題:《32個未發幣新公鏈項目整理》 撰文:追風Lab 目前各種公鏈雨后春筍般涌出,其中最有代表性的還數Aptos、Sui、Linera等Meta系.

1900/1/1 0:00:00
Move:Web3 的 Javascript_MOV

原文標題:《Move:TheJavascriptofWeb3?》作者:MustafaYilham,JermaineWong,HenryAng?? 前言:?? 環顧Twitter帖子和加密出版物.

1900/1/1 0:00:00
Arthur Hayes:戰爭時期的比特幣_比特幣

原文標題:《FortheWar》作者:ArthurHayes 編譯:吳說區塊鏈 你會為戰爭做些什么? ZoltanPozar此前在“戰爭與利率”的文章中寫到:戰爭導致通貨膨脹不斷加劇.

1900/1/1 0:00:00
每周薦讀 | 對話 Scroll 與 Mysten Labs 創始人 ;以太坊合并前夜_ROLL

整理:胡韜,鏈捕手 1、《對話Scroll創始人YeZhang:Scroll在zk-rollup突圍戰中處于什么位置?》今年4月,Scroll宣布完成3000萬美元A輪融資.

1900/1/1 0:00:00
ads