如何提高區(qū)塊鏈的安全性
當(dāng)有人提到區(qū)塊鏈時(shí),首先想到的是什么?很多人可能會(huì)說(shuō)比特幣,這是意料之中的,因?yàn)楸忍貛攀堑谝粋€(gè)讓區(qū)塊鏈家喻戶(hù)曉的主要加密貨幣。然而,比特幣只是眾多加密貨幣中的一種,雖然它是區(qū)塊鏈技術(shù)的第一次大規(guī)模實(shí)施,但它只是區(qū)塊鏈用來(lái)幫助社會(huì)和商業(yè)的多種用途的應(yīng)用之一。
區(qū)塊鏈技術(shù)提供了一種在分布式分類(lèi)賬中存儲(chǔ)數(shù)據(jù)的方法。數(shù)據(jù)存儲(chǔ)在區(qū)塊中,在這個(gè)區(qū)塊中數(shù)據(jù)被數(shù)字化記錄,并與其他區(qū)塊鏈接在一起,形成一條鏈。該鏈提供了所有記錄數(shù)據(jù)的整個(gè)歷史。數(shù)據(jù)以交易的形式提交到鏈中。這些交易只有在通過(guò)區(qū)塊鏈網(wǎng)絡(luò)的共識(shí)協(xié)議驗(yàn)證后才會(huì)被添加,所以此真相只有一個(gè)版本。存儲(chǔ)在區(qū)塊鏈上的任何數(shù)據(jù)都是“不可變的”,這意味著它不能被改變。此外,所有的網(wǎng)絡(luò)參與者都有一份數(shù)據(jù)副本,這意味著一切都是透明的,每個(gè)人都有同樣的真相。
區(qū)塊鏈技術(shù)的第一次重大應(yīng)用是在2008年隨著比特幣的發(fā)布而推出的,但只是在過(guò)去的幾年里,企業(yè)才開(kāi)始認(rèn)識(shí)到這種技術(shù)的潛力。之所以會(huì)這樣,是因?yàn)樵谶^(guò)去的十年中,安全存儲(chǔ)、計(jì)算能力和通信的成本已經(jīng)大大降低。因此,更多的創(chuàng)新進(jìn)入了主流市場(chǎng),服務(wù)于普通消費(fèi)者。
這同樣適用于商業(yè)領(lǐng)域。如今,我們開(kāi)始看到許多行業(yè)采用區(qū)塊鏈,包括金融、食品服務(wù)、醫(yī)療保健、航空、汽車(chē)和物流。2017年,區(qū)塊鏈的市場(chǎng)估值為7.08億美元。兩份獨(dú)立的報(bào)告估計(jì),到2024至2025年,市場(chǎng)價(jià)值可能在20美元至600億美元之間。這一顯著增長(zhǎng)意味著在不到10年的時(shí)間里增長(zhǎng)了8300%。
我們?nèi)蕴幱谔剿鬟@項(xiàng)技術(shù)的早期階段,充分實(shí)現(xiàn)其應(yīng)用和潛力需要時(shí)間。例如,電腦花了將近10年的時(shí)間才達(dá)到80%的使用率。對(duì)于企業(yè)來(lái)說(shuō),區(qū)塊鏈技術(shù)只是在2015年末才出現(xiàn)。那么這到底是什么意思?當(dāng)我們看到一項(xiàng)新技術(shù)的出現(xiàn)和穩(wěn)步發(fā)展,那些喜歡站在技術(shù)尖端的人都為區(qū)塊鏈提供的無(wú)盡可能性而興奮。話(huà)雖如此,但隨著新技術(shù)的發(fā)展,也帶來(lái)了新的挑戰(zhàn),特別是在安全方面。
大的實(shí)現(xiàn),有限的專(zhuān)家
深入理解區(qū)塊鏈基礎(chǔ)架構(gòu)的人通常是區(qū)塊鏈開(kāi)發(fā)人員和架構(gòu)師,他們的人數(shù)正在不斷增加,但仍然很少。如果你在區(qū)塊鏈的安全專(zhuān)家層,你會(huì)發(fā)現(xiàn)這個(gè)數(shù)字甚至更小。幾乎不存在任何關(guān)于區(qū)塊鏈安全性的公開(kāi)信息或指導(dǎo)。
那么,在不了解可能導(dǎo)致整個(gè)系統(tǒng)崩潰的潛在攻擊途徑和風(fēng)險(xiǎn)的情況下,開(kāi)發(fā)這些成熟的解決方案意味著什么呢?從本質(zhì)上講,區(qū)塊鏈的分散特性,加上共識(shí)協(xié)議,有助于滿(mǎn)足一些安全需求,但如果不充分探討安全性,后果可能是可怕的。
區(qū)塊鏈?zhǔn)谴a,代碼可能有缺陷
正如前面提到的,區(qū)塊鏈的核心概念很簡(jiǎn)單:它是一個(gè)分布式的、不可變的、在加密學(xué)上有保證的分類(lèi)賬,可以與應(yīng)用程序(通常被稱(chēng)為“智能契約”)進(jìn)行交互。
智能契約是由無(wú)數(shù)行代碼組成的,這些代碼存儲(chǔ)在區(qū)塊鏈中。這些契約在滿(mǎn)足預(yù)定的條款和條件時(shí)自動(dòng)執(zhí)行。它們是可以復(fù)制流程或業(yè)務(wù)邏輯的小型程序,可用于在多個(gè)當(dāng)事人之間強(qiáng)制執(zhí)行協(xié)議,從而使它們能夠確定結(jié)果,而不需要任何中間人。
例如,智能契約可能用于醫(yī)療保健行業(yè)。用戶(hù)的數(shù)據(jù),如血壓和其他指標(biāo),可以發(fā)布到一個(gè)鏈上,一旦一個(gè)指標(biāo)上升到指定的閾值以上,智能契約可以執(zhí)行諸如通知用戶(hù)和/或過(guò)程,如與專(zhuān)家進(jìn)一步協(xié)商,以解決他們的健康問(wèn)題。一個(gè)能夠破壞智能契約的缺陷可以允許攻擊者修改代碼中的關(guān)鍵細(xì)節(jié)。在上面的示例中,如果攻擊者能夠影響業(yè)務(wù)邏輯或引入額外的代碼來(lái)執(zhí)行意外的操作,會(huì)發(fā)生什么呢?
但是,與許多強(qiáng)大的技術(shù)一樣,區(qū)塊鏈在概念上是直截了當(dāng)?shù)?,但如果?zhí)行不當(dāng),缺陷和漏洞可能會(huì)導(dǎo)致風(fēng)險(xiǎn)并引起安全隱患。想想如果一個(gè)人可以在智能契約的數(shù)據(jù)被存儲(chǔ)在鏈上之前改變它,會(huì)發(fā)生什么呢?鏈上的數(shù)據(jù)應(yīng)該是可以信任的,對(duì)吧?那么,導(dǎo)致業(yè)務(wù)邏輯不按預(yù)期運(yùn)行的智能契約怎么辦?
在過(guò)去的幾年中,X-Force Red發(fā)現(xiàn)區(qū)塊鏈生態(tài)系統(tǒng)中引入了過(guò)多的風(fēng)險(xiǎn),在這些系統(tǒng)中,可能會(huì)在用戶(hù)和管理級(jí)別濫用訪問(wèn)控制。例如,一些漏洞可能使攻擊者能夠向網(wǎng)絡(luò)注入惡意代碼,從而有效地危害所有節(jié)點(diǎn)。
撇開(kāi)技術(shù)不談,你的標(biāo)準(zhǔn)日常應(yīng)用(即網(wǎng)絡(luò)/移動(dòng)應(yīng)用)仍然需要在一定程度上與鏈進(jìn)行交互。我們的滲透測(cè)試人員可能會(huì)危及這些組件,并在幾乎沒(méi)有安全保障的后端系統(tǒng)上轉(zhuǎn)到后端系統(tǒng),使攻擊者能夠在鏈上插入數(shù)據(jù)或執(zhí)行任何公開(kāi)的功能。函數(shù)可以包括權(quán)限更高的權(quán)限管理訪問(wèn)或訪問(wèn)用戶(hù)不應(yīng)該訪問(wèn)的數(shù)據(jù)。如果發(fā)生這種情況,環(huán)境如何保護(hù)自己免受惡意行為的影響?
提高區(qū)塊鏈安全標(biāo)準(zhǔn)
安全性就是把門(mén)檻提高到足夠高,攻擊者很難利用任何漏洞。如果他們發(fā)動(dòng)攻擊,他們就會(huì)在網(wǎng)絡(luò)上制造足夠多的噪音,以便被檢測(cè)到,而事件響應(yīng)程序有望關(guān)上大門(mén)。因此,從應(yīng)用程序和網(wǎng)絡(luò)級(jí)別進(jìn)行監(jiān)視是保護(hù)區(qū)塊鏈實(shí)現(xiàn)的關(guān)鍵。內(nèi)部主機(jī)是否應(yīng)該掃描您的內(nèi)部網(wǎng)絡(luò)?我認(rèn)為不是!
另一個(gè)預(yù)防措施是借鑒著名電視節(jié)目《x檔案》(the X-Files),不要相信任何人:
· 構(gòu)建分層防御,其中解決方案的每一層都對(duì)其上的所有層提供一定程度的不信任。
· 在應(yīng)用程序?qū)雍蛥^(qū)塊鏈層都實(shí)施嚴(yán)格的訪問(wèn)控制,以防止過(guò)度許可的訪問(wèn)和濫用。
· 確保在處理包括關(guān)鍵材料在內(nèi)的所有敏感信息時(shí),有強(qiáng)有力的治理控制和過(guò)程。如果您的證書(shū)頒發(fā)機(jī)構(gòu)被泄露給未經(jīng)授權(quán)的第三方,那么游戲就結(jié)束了;他們將完全控制您的區(qū)塊鏈環(huán)境。
· 實(shí)施強(qiáng)有力的變更控制和安全的代碼評(píng)審過(guò)程,以確保所有配置設(shè)置和源代碼(即智能契約)盡可能安全,并且不包含任何可能被濫用的弱點(diǎn)。
這些只是一些基本的操作,您可以采取這些操作來(lái)幫助保護(hù)啟用區(qū)塊鏈的環(huán)境的完整性、可用性和保密性。
在X-Force Red,我們有許多經(jīng)驗(yàn)豐富的黑客,他們擁有區(qū)塊鏈特有的技能集,可以對(duì)區(qū)塊鏈技術(shù)和互聯(lián)基礎(chǔ)設(shè)施中的任何東西進(jìn)行安全評(píng)估和滲透測(cè)試。
IBM是區(qū)塊鏈技術(shù)行業(yè)的領(lǐng)先者,因此,我們的X-Force Red黑客在與該領(lǐng)域領(lǐng)先的專(zhuān)家合作時(shí),會(huì)接觸到該技術(shù)的許多領(lǐng)域。
這一切最終形成了對(duì)技術(shù)的深刻理解,以及從端到端角度評(píng)估任何支持塊鏈的解決方案的能力。X-Force Red可以從設(shè)計(jì)/架構(gòu)的角度審查環(huán)境,并手動(dòng)審查智能契約、訪問(wèn)控制、關(guān)鍵組件的配置等。我們還可以測(cè)試所有與區(qū)塊鏈接口的應(yīng)用程序和技術(shù),與關(guān)鍵的涉眾和開(kāi)發(fā)人員合作,以充分認(rèn)識(shí)他們可能面臨的潛在風(fēng)險(xiǎn),并幫助減少妥協(xié)的風(fēng)險(xiǎn)。