這讓我感到十分不解:都有建立複雜交互的能力,為什麼一般認為前者的漏洞更多?

如果是因為Flash使用二進位內容,那將來的WebAssembly不是一樣的嗎?


Flash 是一個具體實現,HTML5 是一個標準。用 Flash 和 HTML5 來比較。就好像用豐田普銳斯和「軌道式交通」進行比較。

能做出這種比較的人,其結論的參考意義就可想而知了。如果你身邊的人很多都這樣看,以至於給了你「一般認為」的印象,你就需要考慮更新自己的技術信息來源了。


這兩者沒有可比性,

Flash是一個實現,而HTML5隻是一個標準。

要比漏洞要拿HTML5的實現來和Flash來比,一個標準都能搞出漏洞,還很嚴重,還是HTML這種簡單的語言,真當參會的人都是瞎子麼?


一個原因是,Flash是閉源的,所以不太容易「提前發現漏洞」。雖然說開源在這方面到底有沒有更好也很難說。

另一個原因就是,Flash的確是渾身是洞,主要還是Macromedia寫這玩意的時候太早太超前了,後續的更新維護又很難憑自身來做到十全十美(嗯,也許連五全五美都算不上)。Flash才能給Adobe帶來多少收入?而要憑Adobe一己之力維護和更新一個像Flash這樣、需要讓HTML5或者WebAssembly這些競品/替代品在全行業一起投入好幾年的支持才能比擬的平臺,著實是有些超出Adobe的實力和財力。

所以說歸根結底還是錢的問題,Adobe一直想靠Flash、Action Script和自家的Flash IDE啥的來賺錢、結果也沒賺到幾毛錢,後續的AIR也是慘慘慼慼,所以你看今天Adobe基本也就不提這些「跨平臺編程產品」了,老老實實做自己的CC去了。既然賺不到錢就更不可能用心去維護了,只想窮根竭底地撈些剩餘價值,你看狗屎Adobe這不就把中國地區的Flash Player插件賣給臭名昭著的思傑馬克丁了麼。

而HTML5/WebAssembly這些就不一樣了。這些東西說白了是一套標準,各大瀏覽器廠商自己去根據大家商量好的標準、在標準的指導下去實現自己的產品。WebKit搞一套自己的產品內核,Blink搞一套,Chakra搞一套,將來紅芯啥的可能也回去搞一套(大霧),每家的實現都不盡然相同,一家爆了另一家未必會爆,而且這些內核大多比較現代,背後的維護也都是財力充足的主,而且大多還靠瀏覽器喫飯,當然會盡心儘力了。所以不管怎麼說,將來肯定是要比Flash更靠譜點的。唯一的缺點是可能Web程序在不同瀏覽器的兼容性會不太好甚至可能跑不起來,而不像有Flash的時候那樣,通常而言兼容性還湊合能使。


其實原因很簡單,Adobe安全水平不行。。

調過幾個他們的cve,基本上root cause很弱智,比方說一些危險函數調用,都是編譯期間就能檢查出來的問題。。。

據說搞漏洞利用的時候,經常拿Adobe的東西當跳板,比方說他們很多模塊都沒有開啟ASLR。

還有他們那個flv格式的設計,為了節約空間設計的非常複雜,程序員一不小心就寫出漏洞,最後節約空間的效果還不如搞個壓縮演算法壓縮下。

總之其實就是水平不行,相比之下Chrome和Firefox比他不知道高到哪裡去了,所以flash便有了「漏洞之王」的稱號。


最大的問題在於Flash對瀏覽器來說是完全不可控的,就是一個封閉的黑盒子,也很難控制它對系統的訪問許可權。所以Flash出了問題,瀏覽器一點辦法也沒有,何況Flash出問題的概率還很高。

WebAssembly是完全可控的,它的許可權不會比JavaScript更多,實際上它最終生成的機器碼和JavaScript是一樣的,WebAssembly運行在瀏覽器的沙箱裡面,是無法繞過瀏覽器去訪問系統,硬體的。


Flash 作為一種閉源產品,一但出了漏洞就只能等待 adobe 修復,更關鍵是它一出問題,拖累的是所有瀏覽器商,因此當替代技術出現後,各家封殺就不難理解了。Html5 是一種標準,各大瀏覽器商自己實現,出了問題僅僅是某個瀏覽器的實現有問題,而且沒地方丟鍋,只能自己快速修復。

說到底,安全控制在別人手裡,是十分不安全的。


Flash、Silverlight 都是私有技術,代碼並沒有開源

* 規範、代碼的可靠性只有極少人能 Review

WebAssembly 是一個開放的技術,由專門的社區組織負責制定標準、開源組織實現細節

* 規範、代碼的可靠性經過更多的人 Review

私有的代碼大部分都不如公開的代碼安全。

公開的代碼這麼多雙眼睛盯著,更容易發現破綻和修補。


技術相關的事情,其他回答已經說得很清楚了,就是惡意把兩種事物放在一起混淆視聽。

Chrome瀏覽器爆出19個遠程漏洞 6種漏洞都全了 63.0.3239.84之前受影響

19個安全漏洞,涉及6種漏洞類型,包括任意代碼執行漏洞、URL重定向漏洞、安全繞過漏洞、未授權訪問漏洞、DoS漏洞、信息泄露漏洞,其他攻擊也有可能近日,Google Chrome曝出23個安全漏洞,CVE編號CVE-2018-6031至54,漏洞類型包括任意代碼執行漏洞、安全繞過漏洞、 DoS漏洞等。攻擊者可以利用這些問題在瀏覽器的上下文中執行任意代碼,繞過安全限制並執行未經授權的操作,或導致拒絕服務條件,這可能導致攻擊者竊取基於cookie的身份驗證憑據並發起其他攻擊。Chrome 64.0.3282.119之前的版本均受影響。Chrome 曝出新高危漏洞,已釋出Chrome 67.0.3396.79,需儘快更新修復5 月下旬,有安全研究人員發現谷歌 Chrome 中存在嚴重漏洞,影響所有主要操作系統(包括 Windows,Mac 和 Linux)的網頁瀏覽軟體。Chrome 安全團隊接到漏洞報告後,將其列為 CSP 頭相關的漏洞,並表示目前將保留漏洞細節,在大部分用戶更新修復之後才會放出。

另外隨便百度一下就能查到一堆主流瀏覽器的惡性BUG,部分WebAssembly的BUG甚至都像當年Flash的翻版。為什麼一般認為Flash漏洞更嚴重,因為這是一個商業事件,Adobe要對抗一眾互聯網大佬,大佬們有錢,有流量,有水軍,還有一批無腦粉絲,死磕會被揍成篩子,於是就認慫了。


實名反對高贊回答,大家一目瞭然,知道題主想問的問題是什麼意思!瀏覽器需要遵從大傢伙制定的標準!而 Flash 是把瀏覽器打一個大洞,運行在操作系統上的;瀏覽器實現的 H5 是運行在瀏覽器層面的,類似一個沙箱環境,能對系統做出的更改實在有限,即便瀏覽器本身有漏洞,相對而言也不會比 Flash 的危害大。


falsh漏洞影響面大;幾乎所有操作系統;flash本身介面設計和實現的時候就安全性考慮不足,從而導致修復之後還有新的;

flash由一個公司維護,漏洞修復不是主業,維護不及時。


只能說因為設計原因,有些東西寫出來就註定了渾身是洞。

比如 NPAPI 技術,在瀏覽器中 Flash 是建構在其上的,結果因為漏洞太多,大家就說要把它淘汰掉


推薦閱讀:
查看原文 >>
相關文章