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