比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > 瑞波幣 > Info

區塊鏈:獵豹區塊鏈研究中心楊文玉:智能合約自動化審計存在誤報率高、自動化程度低及審計時間長三大問題 | 區塊鏈P.O.D大會

Author:

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

9月5日,在由Odaily星球日報主辦、36Kr集團戰略協辦的P.O.D大會安全論壇上,獵豹區塊鏈研究中心安全專家楊文玉發表題為《智能合約自動化審計技術》的演講。楊文玉開場介紹了智能合約發展的現狀。大部分人認為區塊鏈現在是一個寒冬時期,但是據獵豹區塊鏈研究中心統計,過去一個月中,智能合約每日新增數量為1317個。研究中心收錄的項目中,區塊鏈基礎設施占9.38%,游戲和VR4.44%,商業和零售3.6%,社交媒體與通訊3.4%。在數量穩定增長的同時,智能合約還面臨著安全問題。從2017年到2018年6月,智能合約漏洞頻繁爆發,帶來大量資金損失,也使得區塊鏈甚至智能合約的一些開發者或者用戶對智能合約的安全性產生質疑,也阻礙了以太坊之后的發展。除此之外,Fomo3D在興起的時候,僅僅在第二天就出現了大量的山寨合約。山寨Fomo3D游戲開發者更改了積極分配的邏輯,導致投入的資金大部分都流向山寨合約開發者,也對DApp發展造成阻礙。在這樣的背景下,如何有效保障海量智能合約的安全?楊文玉認為,最好的方法是降低人工審計復雜度,采用智能合約自動化審計。具體來講,自動化審計方法主要分為三類:第一種是特征代碼匹配,就是對惡意代碼進行提取、抽象,形成匹配模塊對待檢測源碼進行檢測。優點是速度快、迅速響應新漏洞,缺點則是使用范圍有限、漏報率高。第二種是基于形式化驗證的自動化審計方法。最早是在2016年由Hirai提供,Grishchenko和Hildenbrandt之后進行了改進,采用F*framework和Kframework,將EVM轉化為一個Formalmodel。Formal是航空航天領域常見的形式化驗證框架,而Kframework則是一個語義的轉化框架。最后一種是現在最常用的方法,基于符號執行和符號抽象自動化審計。分析智能合約時,通過編譯源碼,可以形成EVMOPCODE,然后輸入到自動化分析引擎,轉化成CFG,再利用這兩種方法進行分析。比較典型的是Oyente和Securify系統,可以降低誤報率和漏報率,但是分析方法繁瑣并且耗時。不過,楊文玉也指出,現在自動化審計方法處于一個很不成熟的階段,主要面臨三大問題:誤報率高,自動化程度低、依賴人工二次審計,審計時間比較長。以下為楊文玉演講全文,enjoy:

精選 | 獵豹區塊鏈安全實驗室提供TradingView高危漏洞測試方案及修復服務:獵豹區塊鏈安全團隊已協助多家合作數字貨幣交易所針對TradingView XSS高危漏洞進行測試和修復。TradingView 是一款開源免費的K線圖分析工具,大量使用于數字貨幣交易所。該高危漏洞可繞過現有防御機制導致用戶帳號權限被盜,賬戶內資產可被黑客任意轉移。獵豹區塊鏈安全團隊將免費提供對該漏洞的測試和修復服務。

在提供專業安全解決方案的同時,獵豹區塊鏈安全團隊目前也提供了臨時解決方案方便開發者自行修復漏洞具體步驟為:在TradingView 庫 bundles目錄下以 library 開頭的 js 文件中,暫時禁止使用indicatorsFile參數,就可以臨時修復此漏洞,等待TradingView官方更新。詳情以及解決方案可點擊原文鏈接查看。[2018/9/19]

謝謝大家,今天非常榮幸來參加這個會議,今天我所帶來演講主題就是我們一起來淺析一下當下智能合約自動化安全檢測的技術,今天我的演講可能分兩位個部分,首先第一部分我們會一起來看一下現在以太坊上智能合約發展的現狀,第二部分基于這個現狀了解,再詳細描述一下現在智能合約自動化涉及的一些方法。首先我們一起看一下現在智能合約發展的一個現狀,根據我們平臺,可以知道在過去一個月當中,智能合約的數量每天還在以1317個的平均增長率高度穩定地增長著,可能和我們所理解的區塊鏈現在是一個寒冬時期,所不太一樣這種增長率還比較穩定的。其次我們通過一些NLT方法,把智能合約領域劃分出來,除了一些敏感領域,現在智能合約比較多的應用在一些基礎設施,商業零售,游戲以及社交媒體和通訊。這是一個智能合約大的現狀,智能合約現在面臨一個安全現狀是什么樣的,可能剛才兩位嘉賓已經都進行了非常詳細的描述,從2017到2018年6月,這種智能合約漏洞頻繁爆發,每次都帶來大量資金損失,也使得區塊鏈甚至智能合約的一些開發者或者一些用戶對智能合約這種安全性產生一些高度的質疑,也阻礙了以太坊之后的發展。除此之外,我們還可以看到像剛才嘉賓講到Fomo3D這件事情,除了基本智能合約安全,現在安全受到極大的關注,之前Fomo3D在興起的時候,僅僅在第二天就出現了大量的山寨合約,山寨的Fomo3D,在這種游戲當中,其實開發者更改了積極分配的邏輯,使得其實玩那個蜂窩游戲過程當中,投入的資金大部分都是流向山寨合約開發者,也對DApp發展造成阻礙。現在面臨一個問題是如何有效保障海量智能合約的安全,也是我們今天要討論的問題,也是第二部分想跟大家分享一個現在智能合約自動化審計技術的發展。再回顧一下,現在智能合約截止到昨天中午12點,以太坊總共有193萬個合約,日增長率穩定增長,現在審計方法有人工審計,以及自動化審計。在海量智能合約當中,我們最好的方法就是降低人工審計復雜度,從而讓更多通過自動化審計進行。我們把自動化審計分為三個部分。首先第一種是特征代碼匹配,第二類是基于形勢化驗證的子都化審計方法,最后一種是基于符號執行和符號抽象自動化審計。首先看特征代碼匹配,從名字可以很清晰理解到,就是對惡意代碼進行提取抽象,我們是一種語義匹配,匹配靜態原代碼,審計的方法優點是很顯而易見的,比如說速度很快,因為對源碼進行一個字符串匹配,第二個可以迅速進行新的漏洞,他審計出現一個新的漏洞,我們就可以快速提交一些新的匹配模式。他缺點在哪里,再來看一下,我們所理解的現在區塊鏈都上應該是公開透明的,但實際情況并不是這樣,我們大概做了一個統計,目前代碼的開原率僅僅只占48.62%,就是說在以太坊上,其實有超過一半合約是不開源的,只暴露code,剛剛那個嘉賓也說,他們也費了十分大的力氣去立項這個code這種限制就導致這種方法使用范圍有限,傳統的靜態審計方法比如說App檢測,會調用一個庫里面確定唯一一些函數,對他進行審計,智能合約里面一些函數一些特征變化性比較多的,所以說漏洞率比較高。第二個方法,我們就來探討一下現在比較火的,基于形式化驗證的自動化審計,形式化驗證審計智能合約安全,最早是在2016年由Hirai提供的,他提出了一點,他當時拿出邏輯交互證明器,通過IsabeldeLem-Language->Formal-model,通過形式化model驗證,來判斷代碼邏輯是否存在問題,這項工作最后的兩個把形式化方面進行進一步改造,他們放棄Lem-language也是比較低效的轉化方式,他們采用了F*framework和Kframework,將EVM轉化為一個Formalmodel,而Formal可能就是經常在航空航天領域當中做一些形式化驗證的框架,而Kframework則是一個語義的轉化框架,這兩個比較有代表性的技術研究,如果想更加深入了解可以參考下列的一些論文。第三點就是今天想要著重跟大家交流,以及現在最常用的一些方法,就是基于符號執行和符號抽象的自動化審計,這種自動化審計現在看一下,我們在分析一個智能合約的時候,首先要明確分析對象是什么,像我們剛才在解釋特征匹配代碼當中,我們知道現在EVM上智能合約代碼大部分是不公開的,我們現在分析對象就確認應該是EVMOPCODE,在通過一些源碼,我們通過編譯,可以形成EVMOPCODE,輸入到自動化分析引擎。在這種基于符號執行和符號抽象化自動化審計框架里面,有些共有的特性,OPCODE在輸入這個引擎當中,都會轉化成一個CFG,就是一個一個控制流程圖,通過這個CFG,可以簡單了解一下這個CFG是什么意思,CFG就是把合約代碼里面邏輯包裝成哪個快,在里面邏輯分叉的時候,左邊那個合約形成一個十分龐大完善的CFD,讓程序員更好了解能夠執行一些邏輯。在有CFG生成之后,現在就出現兩種分析方法,第一類就是基于符號執行的驗證,這類比較有代表性,大家都比較熟知像Mythril、Oyente、Maian,還有一種就是上個月剛剛公開的一個符號抽象分析的方法,就是Securify,今天主要跟大家講一下Oyente跟Securify這兩種系統具體的架構以及實現方法,首先我們來看Oyente,Oyente的邏輯我們可以從左邊看到,在CFG申請之后,首先是一個explorer,會把代碼當中每一個流程驗證一邊,進行一個形式化驗證,就像這個我們驗證是我們是否有一個X,使得X不僅滿足C1、C2、C3條件,這時候可以判斷狀態是no還是yes,以此驗證整個邏輯的流程。第二個coreanalysis這一部分其實是Oyente最為核心的一個部分,將剛剛輸出的explorer這種路徑,把它轉化,只進行一些漏洞驗證,目前只提供包括TOD和Timestampdependence和Mishandledexceptions,這三種驗證,最后這個系統又能保證誤報率和漏報率,他采用微軟的開源的驗證器,進行整體的架構封裝,在剛剛我們講述過程中,大家也應該了解到,在CFG轉explorer驗證的時候,我們是需要對他的循環,每次都是一個驗證,所以這種分析方法特別耗時,并且不一定成功。這就是Oyente目前存在一個巨大問題。在這個問題基礎上,像Securify,他們就提供了另外一種方法,他們認為現在合約的代碼其實是特別容易解耦合的,不像傳統代碼,耦合性特別高,像合約代碼這個一些比較固定形式化的解耦合模塊,我們并不是需要對整個合約邏輯進行一個交驗,我們對合約解耦各個模塊進行分析,以此提高自動化程度,左邊這個圖是整個驗證流程,把contractbytecode通過定義域語言之后有一個驗證模塊,特別像之前說的模式匹配,把一些漏洞轉化成驗證語言模式匹配框架,驗證這個語義是否磨合這個。最后也給出一個report,通過這個自動化審計方法,最終可以輸出錢包的管理者是可以被修改的。再具體一點是怎么做語義分析,其實分析這種explorer代碼是從兩個維度,第一個是邏輯,第二個是數據,邏輯方式定義兩種邏輯,第一個叫做MayFollow,第二個叫做MustFollow,MayFollow的意思就是說,L2必須是有一條路徑跟在L1后面,而MustFollow是說L2每一條路徑都跟在L1后面,這兩種區別定義了整個邏輯的框架。第二個是數據,怎么定義合約里面數據變化用了三種,第一個MayDepOn,就是兩個因素,一個叫做Y,一個叫T,T變,Y可能變也可能不變。第二個是Eq,就是Y是由T決定的。第三個是DetBy,Y和T是一一對應的,只要T變Y肯定要變了,這里面用更加形象的方法來想象一下,其實Maydepon就像我們的T變量是time,在一段時間中,Y可能是一個值,T變,Y可能不變,第三個就是說一對一關系,就像我們算哈希,只要你T變,Y肯定要變,通過邏輯和數據這兩個維度,他們進行一些驗證,最終驗證模塊現在提供了大概六、七個智能合約漏洞驗證性的語言,這種語言都是以插件化來寫的,其他的安全開發者可以在不斷豐富漏洞的驗證語言。最終我們在對自動審計進行評估的時候,是從要自動化程度、漏報率、誤報率提供這件事情,我們現在知道數據就可以綁定出來,檢測出來數據還是需要人工進行二次確認,這個工作是十分繁瑣的,經過這種方法可以是誤報率會降低,這兩種符號執行和符號抽象的自動化審計方法。最后回顧一下,現在自動化審計方法分為三種,特征代碼匹配,形式化驗證以及符號執行、符號抽象。回顧整個淺析過程,我們可以清楚知道,現在自動化審計方法是在一個很不成熟的階段,主要面臨三大問題,第一個是誤報率高,并不能做到完全自動化,還需要人工參與。第二個是自動化程度比較低,還需要不斷去審計它,第三個審計時間比較長。最后就是回顧一下我們整個分析,首先我們明晰一下智能合約發展現狀,又檢測自動化審計方法,左右各有我們技術交流群,有感興趣小朋友歡迎加入,可以一起更加深入的討論,這就是我今天所分享的內容,謝謝。

聲音 | 獵豹區塊鏈研究中心楊文玉:智能合約自動化審計存在三大問題:據36kr報道,近日獵豹區塊鏈研究中心安全專家楊文玉在關于如何有效保障海量智能合約的安全的問題時表示,最好的方法是降低人工審計復雜度,采用智能合約自動化審計。即主要通過特征代碼匹配、基于形式化驗證的自動化審計方法、基于符號執行和符號抽象自動化審計這三類方法。此外,她也指出,現在自動化審計方法處于一個很不成熟的階段,主要面臨三大問題:誤報率高,自動化程度低、依賴人工二次審計,審計時間比較長。[2018/9/10]

獵豹區塊鏈AI音箱:本月21日正式發布 用戶通過積分參與人工智能建設:就近日媒體曝光的獵豹移動的人工智能+區塊鏈項目“智能鏈”(AI BlockChain) ,官方最新回應:小豹AI音箱將于3月21日正式對外發布,用戶可以通過購買和使用小豹AI音箱,加入到“智能鏈”中, 用戶享受小豹AI音箱的個性化人工智能服務的同時,每個人都能幫助AI進化,通過獲取AI積分深度參與人工智能建設。并表示了:AI積分能實際兌換等價的數字服務,包括版權內容服務、數字娛樂產品、智能設備和其他增值服務。[2018/3/3]

獵豹移動發布報告:Bitcoin Wallet和Jaxx錢包存在安全漏洞:獵豹移動近日發布報告《2018全球加密數字貨幣錢包安全白皮書》,其中對市面上的數字錢包產品在私鑰存儲問題上進行了安全分析,發現Bitcoin Wallet 和Jaxx Blockchain Wallet 兩款產品在私鑰存儲中存在巨大的安全漏洞。Bitcoin Wallet的助記詞是以明文方式存放在系統文件中,意味著其將資產安全性完全交給了系統來維護,只要一個漏洞就可以獲得助記詞和私鑰;而Jaxx相比Bitcoin Wallet更嚴重,存儲在Jaxx中的私鑰被黑客竊取,只需很少的努力。[2018/2/27]

獵豹移動CEO傅盛:區塊鏈是新時代的生產關系:在獵豹2018全球年會上,獵豹移動CEO傅盛談到了獵豹將如何運用AI和區塊鏈對獵豹產品進行改造。AI為產品賦能,為用戶提供最好的工具,以此為核心建設獵豹的生態;用區塊鏈的思維放大生態勢能。他認為如果說AI是新時代的生產力,那區塊鏈就是生產關系。區塊鏈帶來的去中心化思維體系,可能會普及一代人對整個社會關系的思考。區塊鏈的去中心化和互信機制,極大提高了組織效率,也有可能重塑整個社會關系。[2018/2/7]

Tags:區塊鏈ODECFGCOD區塊鏈通俗易懂的說法ODEX價格CFG幣code幣怎么挖

瑞波幣
區塊鏈:咖啡與區塊鏈 | 一份完美的區塊鏈應用實戰指南

編者按:本文來自鏈內參,作者:AnnEwan和CurtisMiles,星球日報經授權發布。區塊鏈是一種在網絡參與者之間交換貨物、服務和信息的安全途徑.

1900/1/1 0:00:00
區塊鏈:目標是全球旅游嚴選社區,「秀豹科技」幫區塊鏈手機找到了新場景

千億級的旅游市場中,服務賽道從不乏創業者,如何在OTA巨頭之外找到新的差異點?這是大多數創業者要交的一份答卷。星球日報此前接觸的秀豹科技認為,區塊鏈可以改造旅游業態也可帶來新的玩法.

1900/1/1 0:00:00
區塊鏈:區塊鏈初創項目如何進行種子輪融資

編者按:本文來自鏈聞ChainNews,作者:ReganBozman,編譯:PerryWang,星球日報經授權發布.

1900/1/1 0:00:00
區塊鏈:AI如何與區塊鏈結合?亞聯發展董事易歡歡:不要為了結合而結合,要看它們能一起解決什么問題

越來越多的人認為,區塊鏈只有在技術組件中才能發揮其最大的價值。不管是大數據、云計算、AI還是區塊鏈都是在最大化數據的價值,比如有采集數據的、有分析數據的、有利用數據的,而區塊鏈只不過提供了可信、.

1900/1/1 0:00:00
區塊鏈:落地海南、專注區塊鏈研發,百度成立的新公司“度鏈”要在區塊鏈領域為百度加碼?

8月31日,據財聯社快訊消息,近日百度旗下北京鼎鹿中原科技公司注資5000萬元,成立度鏈網絡科技有限公司,百度高級副總裁向海龍擔任董事長。公司經營范圍為區域鏈技術研發、技術轉讓及技術應用等.

1900/1/1 0:00:00
DAG:DAG技術與區塊鏈有什么不同?| 區塊鏈課堂第 66 問

編者按:本文來自哈希派,作者:LucyCheng,星球日報經授權轉。DAG最早由Rootstock開發者SergioDemianLerner于2015年9月發表的《DAGCoinDraft》中提.

1900/1/1 0:00:00
ads