原文標題:《區塊鏈安全和傳統安全有什么不同》
撰文:衛劍釩
說起傳統安全,很多朋友都比較熟悉,基本而言,就是針對漏洞(管理、技術、人性)的攻擊,和針對攻擊的防護。
但說起區塊鏈安全,很多人就不太了解了。有人說區塊鏈本身是安全的,傳統攻擊根本奈何不了它;但也經常看到區塊鏈里的安全事件,似乎一點也不少。
那到底和傳統安全有什么區別呢?
本文就是講一講這個。
區塊鏈在設計上大量采用密碼學技術,在業務層、通信層、數據層均使用了加密、簽名、Hash 等技術,再加上區塊鏈的去中心化設計,使得區塊鏈所承載業務的保密性、完整性、可用性,達到了史無前例的高度。
但從本質上講,區塊鏈仍然是一個軟件系統,軟件可能存在的安全問題,區塊鏈一樣有。
即便區塊鏈在底層無懈可擊,其上層運行的各種 Dapp、Web3 應用仍可能漏洞百出。
這就好比,地基做得再安全,也不能保障其上的建筑沒有安全問題。
本文的結構:
安全主要看什么?
傳統安全的問題主要在哪里?
區塊鏈,解決了什么安全問題?沒有解決什么?
其實,安全說來說去,就三個東西,至今沒有超越:
保密性、完整性、可用性。
這三性簡稱 CIA(三個英文單詞的首字母縮寫)。
即便有其他的說法,也都不在一個層次上,比如認證性、可控性、可審計性、防抵賴性等等,這些都是 CIA 的附屬或延伸,都是為 CIA 服務的。
觀點:L1協議應優先考慮PoS共識機制:金色財經報道,Concordium的ESG和可持續發展主管Maria Eisner表示,L1協議應優先考慮PoS共識機制高于PoW,并且盡可能依賴可再生能源。Web3必須追求綠色能源目標,并反駁區塊鏈行業整體對環境不利的說法。為此,L1應投資激勵措施,鼓勵用戶通過可再生能源為其工作提供動力。在有補貼的清潔能源的支持下,用戶會發現他們的工作更便宜且更環保。這是2023年消費者明確想要的東西。[2023/8/7 21:28:31]
如何深刻理解 CIA?
熟悉 UNIX 的同學會比較容易理解一些,在 UNIX 的思維里,一切都是文件,而文件的安全,最終落實到讀、寫、執行(rwx)上。用戶對某個文件的訪問權限,就是是否可讀、是否可寫、是否可執行。這大體就對應了保密性、完整性、可用性。
保密性,就是不想讓別人知道的就不讓別人知道。
實現的思路無外這么幾種:
不記錄,不留任何書面記錄,只留在腦海里,且不露聲色。
鎖起來,不管是物理性還是技術性的鎖,實現對訪問者的訪問控制,被授權者才能訪問。
藏起來,只讓授權者知道在哪里,其他人不知道在哪里,隱寫術也可以歸到此類中。
加密,使用編碼(code)或者密碼(cipher)的方式,有密碼本或者密鑰才能訪問。
完整性的概念不太好理解,最簡單的理解就是,如果沒有授權,對一個東西的任何部分都不能添加、減少、更改,如果非授權地做了這些,就破壞了完整性。
此外,完整性還有一個比較直觀的含義:一致性。也即系統數據和真實世界一致,正如完整性的英文 integrity 本身有「誠實」含義一樣,數據被篡改就肯定破壞了一致性。
AEX:擬每月將部分平臺資產打折轉讓給客戶以換取AUSD銷毀:1月8日消息,加密交易平臺 AEX 發布《平臺情況說明及解決方案 (2)》,稱當前部分平臺高管的強制措施仍未解除,預計短期內不具有解除的可能性。并在此前「軟性兌付」方案的基礎上增加方案 2,以進一步增加客戶的選擇空間,加快客戶的資金回流速度。具體措施包括:
1. AEX 會委托第三方律所及第三方管理公司,在遵從可稅性、合法性的前提下,將部分回款預期相對能預知的項目權益,以較低折扣轉讓給客戶(一般為 2-4 折),法幣交割。(據悉,資產包括影視作品票房收益權、將要上市的企業股票等期限、回報都相對有預知范圍的資產。)
2. 參與前提是客戶實名簽署權益購買合同、完成《合格投資者問卷》、并按規則發送指定數量的 AUSD 至黑洞地址銷毀(根據項目不同而不同)以獲得搶購資格,每個項目發布時,會在項目公告中,單獨約定銷毀所需的 AUSD。
3. 項目及參與方式由第三方公司通過公眾號發布(預計 1 月中旬發布首個項目),每個項目擬支持 1-49 人參與,客戶通過聯系客戶經理完成合同事項,如最終本項目參與人數超過 49 人,則以銷毀 AUSD 時間在先的客戶為準,預計每月會推出 1-2 個項目,客戶可以選擇性參與。[2023/1/8 11:01:18]
可用性相對比較好理解,系統癱了、慢了,數據不可用了,都是可用性出了問題。凡是系統提供的服務給人「用不成」、「沒法用」、「不起作用」、「不好使」的感覺,那就是可用性出問題了。
信息系統,要保障的就是這三點。
而通常用來保障 CIA 的做法,就是認證、授權、訪問控制、校驗、加密、檢測、備份、多活等等。當然,這些工作往往沒有做好,會有各種各樣的漏洞,一方面,發現了趕緊補上,另一方面,從源頭做起,盡量減少漏洞的發生。
被標記為Jump Trading的地址向0x73af開頭地址轉入20萬枚以太坊:12月19日消息,被Etherscan標記為Jump Trading的地址過去兩日向0x73af開頭地址轉入20萬枚以太坊。目前0x73af開頭地址并未有其他動作。[2022/12/19 21:54:50]
傳統安全的主體差不多就是這些。
如果你已經是安全圈的老手,可以跳過這一節。
安全漏洞有很多種,本文不會一一列舉,只是簡單舉一些例子,讓大家看看大致情況。
從最高層面上講,漏洞的共同特點是:攻擊者的行為,使得軟硬件的行為,超出了系統設計者的預期,產生了負面的效果。
所謂 SQL 注入,就是在頁面輸入欄中或者在 URL 等處,黑客沒有按照程序員預期的內容輸入正常數據,而是在夾雜了 SQL 關鍵字,程序在處理輸入數據時,用到了 SQL,并把輸入內容作為 SQL 語句的參數。這樣,SQL 語句可能就會執行黑客巧妙插入的 SQL 內容,使得黑客可以執行程序員預期外的數據庫操作。
程序員應該多檢查一下的,絕不能允許輸入中含有這類攻擊嘗試,但大多數程序員并沒有安全知識,即便有一點,也未必能做好,黑客就還有可能繞過。
黑客破壞了什么安全性質?黑客寫入了系統預期外的數據,破壞了系統的完整性。黑客如果通過 SQL 語句還拖了庫,就進一步破壞了系統的保密性。
程序什么地方沒有做好?訪問控制,就不該讓什么數據都進來的。
緩沖區是內存中存放數據的地方,通常都會有一個預設的大小。在將用戶輸入的數據放到內存中時,如果不做好檢查,就可能超出內存預先設定的空間,發生緩沖區溢出。由于程序的運行代碼也在內存中,如果黑客設計得足夠精巧,就可以通過溢出覆蓋掉原先的代碼,使計算機最終執行了黑客的代碼。
扎克伯格:Meta下一款VR頭顯10月推出,將專注于“虛擬場景中的社交”:金色財經報道,扎克伯格表示,Meta的下一款VR頭顯將于10月推出,并將專注于“虛擬場景中的社交”。[2022/8/26 12:50:26]
這和 SQL 注入有異曲同工之妙,黑客利用輸入數據的機會,寫入了可執行代碼,而受害主機居然執行了它!
黑客肆意亂寫內存區,一樣是破壞了系統的完整性。
程序則沒有做好訪問控制。
比如一個網站給了用戶上傳 jpg 照片的入口,由于未做檢查,黑客成功上傳了 JSP 文件,然后黑客找到該上傳文件的 URL,就可以執行他寫好的腳本,這個腳本完全可以是一個木馬。
和前面一樣,由于檢查不嚴,讓黑客鉆了空子,寫了設計者預期外的文件,運行了設計者預期外的程序。
程序的訪問控制沒有做好。
劫持有很多種,比如 TCP 劫持、HTTP 劫持、DNS 劫持、證書劫持、密鑰協商劫持等等。
共同的特點是,A 以為自己是在和 B 交互,B 以為自己在和 A 交互,但實際上,他們都是和中間的 C 在交互。A 和 B 的所有內容都經過了 C,C 看得見 A 和 B 通信的內容,C 還可以修改 A、B 間通信的內容。
這至少破壞了 A 和 B 通信的保密性,如果 C 還修改了數據,就破壞了完整性。
程序的認證沒有做好。
如果用戶口令比較弱,黑客嘗試多次后,可能破解出口令并進入系統。
這種事,有人可能認為責任在用戶,但一般而言,現代的應用系統都會對用戶所設口令的強度進行強制要求。
美國技術法案創建白宮區塊鏈和加密貨幣問題顧問:金色財經報道,一項旨在促進計算機芯片制造的美國法案將提交給總統拜登,該法案還將在其政府內部建立加密咨詢角色。周四眾議院投票后,兩黨立法通過了國會兩院,將設立一名新的區塊鏈和加密貨幣問題顧問,他將在科技政策辦公室工作。國會區塊鏈核心小組聯合主席、加密貨幣支持者、眾議員 Darren Soto表示,我很自豪能夠制定必要的政策,以確保我們的政府繼續形成創新。
白宮科學辦公室受總統關于加密的行政命令的指示,分析數字資產對氣候變化的影響,并在今年晚些時候提交一份報告。該辦公室在 3 月份就該報告征求了公眾意見。(Coindesk)[2022/7/29 2:45:14]
因為黑客一旦得手,系統的完整性會遭到破壞(系統接受黑客就表明一致性失效),并可能造成進一步的破壞,比如黑客進入后看到了不該看的東西,保密性被破壞。
系統的認證沒有做好。
在某個網站里,用戶 A 和 B 都是普通用戶,按道理只能操作自己的個人信息,A 如果通過某種黑客手法,可以操作 B 的個人信息,這就是平行越權;如果 A 是普通用戶,B 是管理員,A 如果能通過某種黑客方法,執行 B 才能做的操作,這就是垂直越權。
越權漏洞通常是權限校驗邏輯不夠嚴謹導致的。
程序的權限管理沒有做好。
明星在網站官宣新聞,導致大量群眾涌入圍觀,以至于該網站癱掉或者響應很慢。
這是典型的系統可用性出現問題。
系統什么沒有做好?可擴展性沒有做好。
2015 年,谷歌位于比利時的數據中心由于遭遇了 4 次閃電襲擊,導致磁盤受損,雖然谷歌對這些磁盤進行了緊急修復,但部分數據仍然永久丟失了。谷歌特別強調,丟失的數據非常非常少,只占該數據中心的 0.000001%。即便如此,一些谷歌用戶永遠失去自己的部分個人數據。
這典型地破壞了數據的可用性。
系統的容災備份沒有做好。
區塊鏈和傳統系統的最大區別就是兩點:一是使用了大量的密碼技術,二是使用了去中心化的結構。
前者使得保密性和完整性大為增強,后者使得可用性大為增強。
先說一下密碼技術使用帶來的好處。
在早期的 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、不依賴于某人或機構
只要你愿意,下載一份軟件(代碼都是開源的),你就可以加入比特幣或以太坊或任何一個公鏈,你不用征求任何人意見,也不會因為任何人的失蹤和退出而擔心這個軟件的前途,你只是根據你的判斷、你的興趣和你的利益運行它,也就是說,沒有單人、單機構可以控制它。
去中心化,大大增強了可用性。
從最基本的邏輯講,區塊鏈只是大大提升了安全性,但并不能確保沒有問題。
我們已經在區塊鏈安全經典案例「922 億個比特幣」和「The DAO 被盜」中看到:
比特幣因為程序員未能注意到整數溢出的問題,鬧了大笑話,說好的總量 2100 萬個比特幣,居然在某個交易中出現了 1845 億個比特幣!
構建在以太坊之上的 The DAO,由于開發者對重入攻擊一無所知,導致用戶眾籌而來的 300 多萬以太幣被人盜走,落得尷尬收場。
這至少告訴我們兩點:
1、作為區塊鏈本身,雖然在設計上使用了大量密碼學算法,但如果設計或編碼不慎,就可能會有大漏洞。
2、即便區塊鏈本身經過千錘百煉,提供了讓人完全放心的安全,其上的智能合約也不能保證安全。
因為智能合約代碼中的邏輯,如果和需求、設計、編碼的預期不符,就會出問題。
這和傳統安全沒有任何不同。
此外,還有一點非常關鍵:
3、區塊鏈所使用的密碼學技術,可能本身也有漏洞。
畢竟,密碼學也是人搞出來的。
只要是人做出來的東西,就總會有漏洞。
衛劍釩
個人專欄
閱讀更多
金色早8點
Bress
鏈捕手
財經法學
PANews
成都鏈安
Odaily星球日報
區塊律動BlockBeats
Tags:區塊鏈比特幣HASHASH區塊鏈dapp開發費多少錢比特幣行情最新價格美元Decentralized Hash MiningindaHash
上篇指路:Nansen深度研報(上):七大“巨鯨”異動追蹤,揭開 UST 脫錨的神秘面紗追蹤“可疑”錢包異動(5 月 5 日至 5 月 8 日)根據鏈上數據.
1900/1/1 0:00:00不要覺得元宇宙遙不可及,其實你一只腳已經在元宇宙里面了。你覺得它遙不可及,是因為你被帶進了一個誤區——你以為元宇宙是硬件,比如一定是要穿戴齊全,或者開發一個腦機接口,然后進入另外一個夢境般的世界.
1900/1/1 0:00:00本文寫于數字加密產業生死存亡之際,web3的“自治夢想”中道崩殂之時。美國對 Tornado Cash(TC)的制裁,擊碎了很多理想主義者的夢境.
1900/1/1 0:00:00Token2049 區塊鏈周融資信息一覽2022年9月26-9月29日 TokenPocket平臺通證TPT已跨鏈接入火幣生態鏈Heco:據官方消息.
1900/1/1 0:00:00本文摘要 本文首先從現實和數字世界兩個方面分析了身份的發展變化,梳理了賬號、身份、身體、靈魂的相互關系及認證手段,解釋了DID與SBT、Web3與DeSoc的涵義和相互關系.
1900/1/1 0:00:00▌三星申請2023年在韓國推出加密貨幣交易所金色財經報道,Bitcoin Magazine在社交媒體上稱,三星申請2023年在韓國推出比特幣和加密貨幣交易所.
1900/1/1 0:00:00