「計然講座10」新技術、區塊鏈與安全

「計然講座10」新技術、區塊鏈與安全

主講人介紹

周燃 | CareerOn聯合創始人 首席技術官

前阿里高級安全專家,曾在美亞柏科、阿里、騰訊等做過安全;

分佈式計算與區塊鏈專家,從11年開始從事雲安全相關業務,之後在騰訊負責區塊鏈與安全相結合的一些業務;

講座部分

1 AI

AI作為通用技術,在互聯網以及實體生活的方方面面起著越來越舉足輕重的的作用,同時安全問題越來越突出。比如,在交通領域的道路標牌識別,通常利用AI領域的圖像識別技術來確定道路標牌所表示的意思,然後用識別結果來決定下一步的動作,比如自動駕駛、自動違章監控等等。

「計然講座10」新技術、區塊鏈與安全

「計然講座10」新技術、區塊鏈與安全

這兩個圖片我們肉眼根本看不出區別,但是如果在AI看來,第二個圖會是如下這樣:

「計然講座10」新技術、區塊鏈與安全

實際上,第一個圖是我在網上隨便找的一個圖片,一般生活中也常見,沒什麼特殊。特殊在第二個圖片,我是在第一個圖片的基礎上加了一個遮罩層,遮罩層裡我添加了大家看到的第三幅圖的內容。這個遮罩層對我們肉眼來看,不產生額外影響。但對AI來說,他能看到遮罩層的內容,這個做法,與傳統互聯網安全某些釣魚網站做法很像:在正常按鈕上放一個肉眼不可見的層,在這個層上放超鏈接。

如果這樣的攻擊手法,出現在自動駕駛的訓練庫裡,後果可想而知:基本都會是車毀人亡的。針對AI的攻擊遠不止於此,像谷歌的TensorFlow就被人發現過其底層機制的漏洞,導致攻擊者可以構造一些惡意樣本,使得AI被“帶壞了“,最終使得攻擊者能夠根據訓練結果得出AI系統原本的一些架構和設計方面的問題。

所以AI的最大問題在於:它需要一個師傅,AI的所有行為邏輯都會來自這個師傅;而且AI會很敏感,可能這個師傅的某些違背本意的“教學樣本”也會被AI學走。它本身沒有自己的價值判斷,不會有去粗取精的過程,這就是AI安全的其中一個來源。

2

無服務器計算

之前我在朋友圈說過一句話,我說“安全問題,能搞定90%就很不錯了,剩下10%,只能隨緣了”。這其實是一個很無奈的事情。即使大到萬億人民幣規模的企業,養著幾百人幾千人規模的安全團隊,這樣的問題仍然不可避免。

比如某大廠,其在2016年的一次偶然的情況下,才發現了一個藏匿兩年之久的入侵事件,損失肯定超9位數的,這要是一般的企業肯定就破產倒閉了。雖然事後採取了很多措施補救,不過已經發生的損失不可挽回。還有就是幾個月前的事情,另一大廠,發生了被基於區塊鏈技術的遠控木馬入侵的事件。黑客利用區塊鏈技術實現了一個遠控木馬,具體架構基本就是智能合約+whisper+ipfs+ens這樣的。

普通的入侵,要應急止損的話,封ip、封域名就夠了,但是對於區塊鏈系統,這兩個最便捷的應急手段完全不起作用。最終,不得不花費大量人力物力把幾十上百萬臺服務器全部特徵碼掃一遍。如果這事是在任何一個其它即使百億千億規模的公司,可能憑他自己的力量已經搞不定了。在區塊鏈的加持下,服務器安全領域很常見的遠控木馬直接就成不死遠控了。

而且據我掌握的,目前整個安全業界對於這種不死遠控除了加強監控外,沒有任何手段能對抗它。但好在,越來越越多的基礎設施供應商認識到“沒有安全屬性的基礎設施是不可用的”。除了加強安全技術的投入外,也有越來越多的基礎設施產品一出身就自帶安全屬性。這也是我之前說的,安全行業的危機所在。

比如,前不久谷歌發佈了一份對未來技術的預測pr,其中包括了無服務器計算。無服務器計算就是這種自帶安全屬性的雲計算產品:傳統安全手法在這種產品上沒有用武之地,其自身所帶的安全屬性,也導致絕大多數的傳統安全問題弱化或者消失。

比如入侵問題,掛馬問題,DDOS攻擊問題等等,在這樣的產品能上完全消失了。其原因是,所謂無服務器計算,其實基於這樣一個思路:它本身以算力為對外輸出內容,基於這樣一個事實:任何人使用服務器其實並不是真的要那臺服務器,僅僅需要的是有個地方能運行他的程序,且他的程序有辦法與用戶交互,接受輸入且有法輸出,無服務器計算提供過的就是這樣一個環境。在無服務器環境下,不再有固定的服務器、ip、域名、進程、內存、文件、磁盤。而這些東西,都是傳統攻擊手段的攻擊目標。

如果連攻擊目標都沒了,你還怎麼攻擊。黑客真要發起攻擊的話,最終承受攻擊的會是基礎設施平臺(比如各種雲平臺),要把雲平臺打掉,這個明顯付出與收益不成比例的。

3 區塊鏈

首先說一個我對區塊鏈這個技術的總結:區塊鏈未來一定是和雲計算一樣是互聯網的基礎設施,所謂基礎設施,也就是和水電氣一樣,沒人離得開。但是目前,區塊鏈處於非常初級的階段,絕大多數項目都還只是出於“好玩”的階段,基本沒見到什麼有實際意義的項目。

這與當前互聯網剛出來時,人們質疑“網站有什麼用”是很類似的情況,但是現在大家應該不會再對互聯網有任何質疑。我想要不了多久,區塊鏈會是類似的情況。展開說之前,我先假設把目前使用區塊鏈的人分為好人和壞人。

好人通常會有各種歷史包袱,面對新技術多數都會各種顧慮而瞻前顧後,對新技術的應用也更多處於一個比較保守的態度,而壞人它本就沒什麼顧慮、不用擔心自己手上有什麼東西損失掉了。所以壞人對新技術的應用更加激進,從而也導致了一個新技術在剛出來時很容易被壞人利用,從而帶來以前從來沒有過的巨大破壞力。

因為在傳統中心化網絡裡,任何不符合政府以及法律要求的東西,政府以及司法機構直接封ip、域名,甚至更暴力點,直接去機房把服務器砸了。然後這東西就消失了,但是,在區塊鏈環境下,政府以及司法機構的所有這些手段都失靈了。

比如,已經有證據證實的,有一部分暗網業務已經搬到了以區塊鏈為代表的去中心化網絡上,面對這樣一個事實,我們的所謂好人,還在討論”要不要使用區塊鏈“。這種巨大的破壞力某天集中爆發時,我們的政府和社會,是否有足夠的能力去解決面臨的危機。

比如最敏感的言論管制:萬一哪天區塊鏈上出現一個類似新浪微博的東西,是不是要翻天了,而且這不是技術理論,而是技術上已經切實可行的東西。比如上面距離的某大廠被基於區塊鏈的遠控黑了的事就是證明,區塊鏈的另一個技術特性,就是它是可信計算的一種實現。

在區塊鏈環境下,就如雲3.0的無服務器計算一樣,絕大多數的傳統安全問題在區塊鏈上消失了。比如網絡DDOS攻擊,業務層面的DDOS先不說,這是另外一個問題,主機入侵問題等傳統服務器環境裡的老大難問題在區塊鏈環境不再存在。

但是另一個平時傳統安全領域不怎麼被重視的安全問題卻被凸顯出來:代碼審計。傳統互聯網安全領域,因為各種原因(比如絕大多數代碼不可審計或者審計不過來),代碼審計在安全方面的作用非常弱,我個人認為可能不到5%。但是在區塊鏈環境下,可信計算的特點所帶來的負面影響使得代碼審計顯得尤其重要。目前看來,代碼審計是智能合約安全最重要的手段,當然還有些其它的環節措施,比如架構上的,搞個智能合約適配器,甚至基於圖形化組件來拖流程圖實現智能合約的代碼,這都是手段。

不過智能合約這種可信計算環境下,傳統安全問題也基本消失。比如幾把呢不可被入侵(單個節點入侵沒有意義)。然後面對一系列新技術帶來的新的安全問題,我們的安全行業目前是顯得很遲鈍的。比如在AI安全問題上,在區塊鏈安全問題上,目前各個大廠都沒看到有什麼特別明顯的動作。當某一天這些安全問題集中爆發時,我們又如何保護自己不被傷害:不要覺得離自己很遠,比如AI攻擊導致的自動駕駛事故,導致的各種機械、交通故障,導致的醫療事故,這都是實實在在已經發生過的事情。

區塊鏈上,當犯罪團伙以區塊鏈和去中心化技術為掩護,盜竊你的血汗錢、控制各個核心系統時,當暗網上的那些不堪入目而又恐怖的違法交易以去中心化技術為掩護,堂而皇之出現在公眾面前時,我們只能惶惶不可終日麼?

接下來想針對安全行業拓展說幾句。目前從事安全業務的企業分為兩類:一類是企業內部的安全相關部門,一類是第三方安全企業。

問答與交流環節

問題 區塊鏈應用相關

B:為什麼說,站在技術角度,區塊鏈和雲計算,是未來互聯網的基石?換成去中心化網絡和雲計算,是未來基石,是不是更恰當?

周燃:應該是吧,只不過目前去中心化應用比較成功也最為人所知的,就是區塊鏈了。有可能最終就以區塊鏈代去中心化網絡也為未可知。具體來說,去中心化網絡和中心化網絡,他們二者不是替代關係,是一個相互補充的關係。在互聯網環境,不同的業務場景和需求場景下,他們只有誰更適合,沒有誰更好,所以未來,不會是誰替代誰,而是,相互融合,實現整個互聯網的再一次升級。

A:去中心化網絡,可不可能跟區塊鏈沒啥關係?

周燃:二者確實可能沒啥關係

A:你剛剛提到的無服務器計算,是不是就是一種去中心化網絡?

周燃:不是,這個被谷歌認為是雲3.0技術,是中心化方案,這個方案裡不再有傳統服務器環境下的那些資源。

B:上次我記得ipfs的一位主講人,特意區分了filecoin(基於區塊鏈的經濟激勵)和ipfs(分佈式存儲),後者本質上不需要前者。

周燃:是的。

D:我在研究FAAS的時候,有看到一個國外的區塊鏈的項目,叫computes,不知道有沒有了解?由於對於無服務器計算是中心化的,如果你部署上去以後,想從AWS跳槽到Googel 就很難,被限定死了。

周燃:這個,我之前考慮過,而且還做過創業項目。賣點就是:可以多個雲無縫切換。不過我當時做時,重點到不在於多雲遷移,只是有這個特性。更核心在於容災,優勢資源互補,以及,多雲網絡無縫切換,無需人工干預。我當時希望達到的效果是:用戶不再關心是哪個雲。

E:這個其實和中心化無關,無服務計算主要講的是形態,或者說接口形態,是雲服務的更高一層抽象,目的是更進一步的對應用屏蔽技術層面的東西,理想狀況下是讓用戶只關心業務邏輯。

在去中心化環境裡也可以做無服務計算服務,比如目前業界在p2p環境裡提供計算服務的項目,在接口層如果以 serverless 的形式暴露,就是無服務計算服務。這種 vendor-lockin 不是提供無服務計算是否是中心化導致的,而是在 serverless 領域現在無標準帶來的互不兼容導致的。aws lambda是業界事實標準,但即使如此,各廠家,包括各來源項目其實實現時也不盡相同。

C:但這應該不是創業公司乾的活,或者說不適合創業公司幹?

周燃:這個是可以實現的,但問題在於可用性如何保障(可能性高可能就要犧牲去中心化特性),反之依然

C:是,因為這種根本沒有辦法保障SLA ,所以應該中心+去中心結合。

B:現在無服務器計算跟區塊鏈怎麼結合,這個點在哪裡呢?

G:去中心化雲計算,可以參考golem,還有各種類型的off chain computing+ onchain state.

周燃:這裡主要是在分享新技術與安全以及我們如何對待新技術這個問題,所以到不是說怎麼把無服務器計算與區塊鏈結合。

B:嗯,安全的東西在分佈式上天然就有優勢,我有注意你說的那個觀點。

E:無服務器架構並不代表沒有服務器,只不過是把服務器給輕量化設計了。可以理解為與區塊鏈智能合約這層設計是相類似的。

周燃:本質上是這樣,但是對於用戶來說,他不需要關注自己的程序是如何運行起來的,所以對用戶來說,就是無服務器,服務器的事丟給平臺去解決。其實傳統互聯網環境,多數安全問題是由於中心化導致的。分佈式或者說去中心化環境下,那些安全問題不再有存在的基礎。

B:我知道用分佈式做DDOS攻擊防護是可以的。另外分佈式的Ddos防護可以讓IDC機房不用採購昂貴的盾機。

周燃:傳統的各種攻擊手段,其攻擊目標都是中心化的一些資源,比如你說的ddos一旦分散了,它就沒處著力了。

B:我理解的實現的原理,還沒有來的及去求證:外部攻擊來的時候,是虛擬化出非常多的IP地址讓訪問請求跳轉,而隱藏真實的IP地址,一般在APP裡面植入自己的SDK包,私鑰保存好。當外部模擬攻擊的時候,沒有這個私鑰,所以可以直接被無視。不知道這樣理解是否正確?

周燃:

你說盾機麼?任何盾機或者高防機房,帶寬夠是前提,沒這個前提,什麼都白搭。比如阿里之前幫數夢扛了400多g的ddos,那是因為阿里幾乎用了整個杭州市的儲備帶寬,很少有黑客有這麼大能量。

B:不是,我是說基於區塊鏈的技術,做新一代的DDOS攻擊防禦,如果我有很多的分佈式的計算節點,然後這些節點放在服務器的前端。

周燃:區塊鏈這種分佈式系統,沒有哪個是核心,任何一個都可以死。所以天然不存在網絡層面的ddos攻擊問題。

B:不是 被我服務的對象可能還是中心化的機房裡面託管的服務器。

周燃:目前的雲平臺所謂黑洞手段就是這麼做的,前端是n個可以死的炮灰。

B:以前的炮灰還是比較昂貴的,用分佈式炮灰,這樣理解麼?

周燃:是的。

B:無服務器的業界標準(特別是美國)在討論中,希望很快達成一致。區塊鏈的安全和傳統的有相同,也有不同。和區塊鏈一樣,也有一些新的想法出來(如零信任,CARTA、SDP隱形等等)。也在研究如何應對區塊鏈帶來的安全問題和把區塊鏈技術用到安全領域。如同AI一樣,把AI用到安全中,應對威脅(如AI防範APT和MFA與AI結合保護密碼威脅等);同時,也有研究AI帶來的新威脅如何防範。都已有一些不錯的嘗試。

周燃:無服務器計算確實本身是與中心化還是分佈式無關。不過目前可用的,基本都是中心化。而且目前的無服務器計算,都超級不友好,有各種限制和要求,與傳統架構非常不兼容。而且與平臺相關性太強,然後還有一點,這種有sla要求的,完全去中心化是不太現實的。技術角度,區塊鏈裡的智能合約,實際是可信計算的一種實現。

B:是的!所以需要業界協作,儘快出來標準協議。 SLA可以在協議中規定,起碼可以在行業和聯盟裡用。

周燃:這也是它的安全性來源,這種,就不要想各家統一了,類似雲計算接口基本不會有人願意統一。不兼容有利益考量,不純粹是技術問題

B:說的很對!合約是建立在共識和信任的基礎上!

周燃:是啊,雲計算領域,贏家通吃局面很突出,所以他們不會願意統一的,如果都是戰國時期那種情況,還有可能。

B:就美國看,AWS、GOOGLE、MICROSOFT等還是願意合作的。我相信國內的阿里、華為等也是。

D:願意合作,不代表合作成功,最後肯定是按事實性標準來,辦法總比問題多。


「計然講座10」新技術、區塊鏈與安全

關注“計然區塊鏈研究院” 圍觀更多區塊鏈大咖講座


分享到:


相關文章: