麻豆国内精品欧美在线-麻豆国内精品久久久久久-麻豆国产在线观看一区二区-麻豆国产在线观看免费-麻豆国产原创-麻豆国产一区二区在线观看

從The DAO黑客事件看區塊鏈安全隱患區塊鏈

三言財經 2018-07-13 14:35
分享到:
導讀

在編程人員努力對抗各種漏洞的時候,也需要思考如何將對安全問題的防范嵌入到整個開發過程中。市面上有一些輔助性的工具,但編程人員需要首先理解他們自己在面對此類問題時的脆弱之處。

image.png

在軟件行業,整體而言安全方面的考慮是重中之重。這一點對于區塊鏈技術來說尤為如此。如果安全底線被突破,其他問題也就無從談起。區塊鏈技術被證明可以用于打造一個去中心化、去信任的交易系統,但區塊鏈系統仍然不是百分之百的安全無虞。

安全漏洞存在于設計、架構、編程、運營等各個階段,因此,區塊鏈也是可能被黑客攻擊的。

對于智能合約而言,只要被部署在區塊鏈上,就會和該區塊鏈共存。所以,所有的漏洞與安全缺陷也會和智能合約共存。

基本上每一個區塊鏈都使用一套自己的編程語言來部署智能合約。我們來仔細研究一下。

智能合約語言

區塊鏈環境包括開發智能合約所使用的語言。

例如,以太坊平臺使用的是Solidity語言編寫智能合約。Solidity語言的開發者將其設計成一種圖靈完備的編程語言。所謂圖靈完備,就是該語言允許編程者可以執行一切底層系統可以計算的問題。這就讓編程者可以在代碼中實現循環,但也潛在地為區塊鏈帶來了安全隱患。

圖靈完備

圖靈完備語言天然具有復雜性,而復雜性又會帶來漏洞和安全隱患。

比特幣網絡使用了一個名為Script的編程語言,該語言并不是一種圖靈完備語言,目的就是為了增強安全性。

編程人員的可選擇性越少,那么區塊鏈產生安全隱患的幾率就越低。

為了減少釋放錯誤代碼帶來的危害,編程人員需要了解智能合約開發過程中的陷阱和反模式(反模式是指錯誤的編程方式)。

The DAO黑客事件:一個可重入性問題在編程人員開發智能合約給區塊鏈帶來的眾多安全隱患中,可重入性問題危害最大。它會導致一個賬戶在同一交易中被重復支出。這問題經常會發生在退款處理的過程中,但實際上這一缺陷,如果在設計和編程階段不被預先處理,就會影響到所有交易過程。

在迄今為止最臭名昭著的加密貨幣領域攻擊事件中,黑客就是利用了the DAO在可重入性問題上的缺陷。The DAO的全稱為Decentralized Autonomous Organization,意為“去中心化自治組織”,也就是說,沒有一個機構化的領導者對其運營進行管理。The DAO本身提倡的是讓用戶自主投票,選擇要進行投入的項目。在the DAO成立的首個月里,它就籌集了1.5億美元的資金。2016年6月17日,黑客利用其可重入性缺陷,盜取了其中價值5000萬美元的以太幣資金。該問題直到后來以太經典與以太坊進行了硬分叉之后才得以解決。

image.png

反模式易受可重入性問題侵害

一個易受侵害的可重入性程序邏輯是如下這樣的

function to process a payment () {

check the validity of the transaction, the recipient, and the account balance;

(2) process the transaction;

(3) update the state of the system to show the transaction has been processed;

}

一眼看上去,這個邏輯是完整且正確的,但問題隱藏在第二步之中。

對于該函數的第一個調用,會繼續執行第二步,另一個對于同一交易的調用則會進入該函數。因為狀態信息表明其仍在初始狀態,且沒有在第三步中被執行,那么第二次調用則會驗證其為一次有效交易,并予以執行。

最終,系統因為同樣的理由再次對貨幣進行消費。黑客們就會利用這一漏洞,在狀態被調整正常前多次使用該函數進行交易。

解決可重入性問題的方法

解決該問題,可以對函數進行一個調整:

function to process a payment () {

check the validity of the transaction, the recipient, and the account balance;

(2) update the state of the system to show the transaction has been processed;

(3) process the transaction;

}

代碼需要對所有可能的例外進行解釋,同時也需要對所有的邏輯相關性進行解釋。

溢出問題

溢出是另一個需要編程人員警惕的問題。

不同的編程語言提供的版式不同。例如,強版式語言不允許編程者向數值變量中添加串數據,而弱版式語言則允許。強版式語言對范圍進行限制,如果一個數組包含是個元素,那編程人員就無法獲取第是一個元素。弱版式語言則沒有這樣的限制,但因此也帶來了崩潰的可能。如果最大允許值為一個值為99的變量,如果你賦值為100,運行的時候必然會崩潰!

所以,溢出也是一個黑客可能利用的漏洞。如果黑客將一個超出代碼可運行范圍的參數植入一個智能合約,那系統就會崩潰,而這一次崩潰就會導致一系列的漏洞。這樣的崩潰可能引發“拒絕服務”攻擊(DDoS attack),關于系統內部運行的關鍵信息有時候也可能會在錯誤信息頁面中被暴露出來。

在網絡應用中,黑客通常會用惡意代碼去塞滿內存,當程序崩潰、進入到內存的隨機點時,惡意代碼就會被釋放。

弱版式語言提供能力和動態靈活性,但這也需要更靈活的設計和測試,以加強針對攻擊的保護。

密碼信息漏洞無法斬斷

軟件世界充斥著大量的安全問題。當一個新興技術誕生,新的安全威脅也隨之而來。除了上述問題以外,下面還有一些區塊鏈安全方面的隱患值得注意。

壞的加密貨幣會帶來很多問題。密碼學方面的安全是隱私的保障,如果隱私問題被突破,那么一切安全問題就無從談起。IOTA團隊在他們的產品的首個版本開發過程中,在編寫密碼數據庫時就犯了錯誤。編制密碼時,有一個無法避免的問題在于,所有復雜的軟件都存在漏洞,所以你的密碼信息必然會有漏洞。

已有的密碼數據庫,經過了學術界的審核,也在經年累月的實踐中經受住了考驗。

在數字錢包的世界中,隨機數據的生成必須真的是隨機的。尤其是在加密貨幣早期階段,有些錢包并沒有達到這一要求。

加密貨幣地址要求必須是唯一的。這一唯一性來自于一個隨機數值生成器,而這個生成器需要一個誘因才能觸發。如果這個誘因不是隨機的,那整個系統就會失效。

如果隨機性失效,一個重大的后果就是有很多相同的地址會被生成。想象一下,如果同一錢包地址X被分配給不同的人,那如果一個款項被分配進X,究竟誰有資格領取這筆款項?

隨機性失效帶來的另一個問題是,黑客有可能破解制造誘因的算法,那么他就可以重復為自己制造誘因,從而控制整個系統。

image.png

問題源源不斷

安全性問題是一場永無止境的戰斗,就算是編程人員、架構師、測試人員解決了代碼中的所有問題,運行過程中的問題仍然層出不窮。

在一個可信工作環境中,如果有壞人掌控了整個網絡的51%,那么網絡的完整性就被破壞掉了。博弈論為這種攻擊提供了緩沖。一個新的加密貨幣,因為在網絡中的暴露程度最低,可能遭受的攻擊幾率最大。但51%的網絡攻擊會損傷加密貨幣本身的價值,所以攻擊者實際上是在攻擊他們自己。

區塊鏈因為存在于網絡中,所以就像整個網絡一樣,暴露在黑客面前。例如,你要從一個網上交易所購買代幣,植入攻擊、跨站腳本、釣魚攻擊,還有其他各種傳統黑客攻擊方式就會接踵而至。

結語

在編程人員努力對抗各種漏洞的時候,也需要思考如何將對安全問題的防范嵌入到整個開發過程中。市面上有一些輔助性的工具,但編程人員需要首先理解他們自己在面對此類問題時的脆弱之處。

去中心化應用安全計劃(DASP,The Decentralized Application Security Project)致力于成為區塊鏈安全信息和資源的知識庫。他們在開源Web應用安全計劃(OWASP,the Open Web Application Security Project)上進行建模。年度OWASP名單會將現有的10個主要網絡應用隱患列入其中。而DASP希望在區塊鏈領域發布同類榜單。

不是所有的網絡攻擊都可以被預先估計到。所謂“零日攻擊”就是指在一次攻擊中,黑客先于所有人知道相關情況。因此,編程人員需要在設計和部署軟件的過程中,模仿黑客的思維進行思考。如果你不能在代碼中找到軟肋,那就等著黑客前來攻擊吧。

問題 安全 編程 黑客 區塊
分享到:

1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。


專題報道

主站蜘蛛池模板: pregnantxxx孕交 | 日韩性生活片 | 双夫1v2 | 久久中文字幕乱码免费 | 无人在线视频高清免费观看动漫 | 国产成人cao在线 | 日本亚洲娇小与黑人tube | 爸爸的宝贝小说全文在线阅读 | 久久精品观看影院2828 | 免费看美女被靠到爽 | 无遮18禁在线永久免费观看挡 | 国产自在线观看 | 亚洲妇熟xxxxx妇色黄 | 日韩欧美一区二区三区免费观看 | xxxxxx性受 | 紧身牛仔裤美女被啪啪久久网 | 波多野结衣中文字幕在线 | 手机av影院 | 欧美干b视频 | 久久久黄色片 | 亚洲精品日韩专区在线观看 | 午夜精品久久久久久中宇 | free性泰国娇小videos | 天天爱综合网 | 亚洲黄色网页 | 精品视频在线免费观看 | 国产精品怡红院永久免费 | 久久久久国产一级毛片高清片 | 性色老女人 | 午夜勾魂曲 | 日韩亚洲一区中文字幕在线 | 蜜桃成熟时1997在线看免费看 | 激情婷婷成人亚洲综合 | 美女张开大腿让男人桶 | chinese壮直男gay老年人 | 国产99久久精品一区二区 | 大肥婆丰满大肥奶bbw肥 | 奇米小说 | 热99精品视频 | 精品国产在天天线在线麻豆 | 欧美肥胖bb |