【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

Editor發表於2017-11-25

看雪編輯按:7 月份的時候,Adobe 公司正式宣佈於 2020 年底停止支援 Flash Player,較之“老兵不死,只是逐漸凋零”平添了幾分悲情。時光倒回幾年前,那時對挖漏洞的人來說 Flash 是再熟悉不過了,每次更新都伴隨著一堆 CVE 的修復,此外 Flash 漏洞還備受駭客組織的青睞,被整合到了各種 EK 工具包中。但事物的發展總有其特定規律,無法做到適應的終將被歷史所淘汰。本次分享的議題是由看雪『二進位制漏洞』版主、來自興華永恆的仙果帶來的有關 Flash 漏洞的繁華往昔及作為漏洞之王的隕落,跟著演講者過一遍 Flash 漏洞的利用思想也許會為你在研究其它型別漏洞時帶來新的靈感。以下內容為仙果演講實錄,由看雪學院(微信公眾號:ikanxue)整理。

【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

仙果:剛剛看到一個十幾歲的小朋友很認真的在翻簡頁,感覺到四個字:後生可畏。給自己的感覺是壓力很大,心情是越來越緊張。

下面開始我們的議題:議題的名字是Flash漏洞之殤,曾經的漏洞之王的末路。大家可以簡單跟著我聊一下Flash是怎麼流行的,flash漏洞是怎麼回事,又是怎麼樣利用的,高階的漏洞定義技巧又是什麼?大家可以帶著這些疑問跟我一塊來聽一下。

首先自我介紹。我們公司專門做漏洞攻防對抗以及攻防研究的對抗,公司比較久了,來公司已經呆了快十年了,方向是研究漏洞攻防,研究軟體漏洞、硬體漏洞以及路由器的漏洞,包括虛擬化的漏洞也會研究,研究的面是比較廣的。專注軟體漏洞的利用研究以及對抗分析。平時呢我其實是比較逗的人,工作中是這樣子的,基本上是回到家“修電腦”的人。

第一是FlashPlayer的往昔盛景,第二是FlashPlayer的成也平臺,敗也平臺。第三,是FlashPlayer漏洞面面觀。第四,漏洞緩解措施和對抗,第五,Adobe最後的努力以及放棄。


Flash Player的往昔盛景


【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

研究漏洞的人年齡比較大,對這些有印象。像剛剛小朋友肯定沒有這種印象。首先,為什麼會流行?當時的網路很卡,10KB,還是在一個貓(音)的階段。當時很流行一句話,多圖殺貓。你的流量很卡,但是如果用FlashPlayer開啟非常流量,而且圖象不會失真,非常小巧,非常好用。在那個時候它就相當於是一個超人,小巧高效,而且Flash小遊戲稱霸天下。包括現在很多的頁遊,就是用Flash進行開發的。

【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

這個圖我不知道大家是否有印象,年齡比較大的網蟲肯定有印象,閃客帝國和閃吧,我不知道大家是否對這兩個還有印象?這對於當時來說非常流行、非常火的兩個網站。而且絕大多數是Flash遊戲開發以及周邊開發都是在這兩塊發起的。從這個可見,當時FlashPlayer是有多火。

【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

我們可以看到它火的一個流程:

1996年釋出的Flash,

1998年開始了Flash3,

1994年Flash4,

2000年Flash5,包括一直到Flash10的階段,一直到2008年都是很火的。

透過了十年的發展,它佔領了網際網路、多媒體的半壁江山,一直到了2005年,是最鼎盛的時候,佔有了多媒體瀏覽98%以上。

大家新安裝以及XP系統預設安裝Flash的組建,不知道大家是否有注意到這個情況。它火了之後,安全人員以及漏洞挖掘人員就會針對Flash進行挖掘,2008年開始一直到今年,2015年是Flash鼎盛之年,2016、2017年也在不斷的發展。

大家是否注意到漏洞一些利用包很多都是用的Flash的漏洞,包括APT28,就是這段時間疑似操作美國大選的攻擊組織,我們透過分析發現它也使用了Flash的漏洞。


成也平臺,敗也平臺

【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

截止到2015年Flash早已經從最簡單二維向量網路動畫製作軟體發展成為跨網路、本地移動裝置的應用設計、開發和釋出平臺。這樣就有一個疑問,它為什麼會成了一個平臺,為什麼還要放棄?

它就像一個小孩,就像一個嬰兒,他承擔了一個年輕人,一箇中年人,他要承擔的份量,這個時候肯定會存在一個問題,它根本就不能承受那麼大的重量,而且還發展的那麼好,這是一個畸形的發展。

【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

Flash已經成為了一個平臺,已經佔領了網際網路那麼大的江山。但是,你在這其中發現了什麼?大家能否注意到問題的真正所在?

發展那麼大,佔用那麼大的江山,但是它還是瀏覽器的組建,還是瀏覽器的外掛,它的命掌握在別人手裡面,說禁用就禁用,說不用就不用,相當於自己的命根子掌握在別人的手裡面一樣,這就是它的問題所在。

像IE11還支援Flash,其他瀏覽器的已經不支援Flash。如果瀏覽器不支援,就會慢慢消亡。

【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

當蘋果iOS釋出的時候,移動端的iOS已經不再支援Flash,而網際網路的發展從現在回頭往前看,是移動端者得天下。像iOS和安卓打架諾基亞死掉一樣,諾基亞當時多火,但是還是死掉了。

Flash放棄了Linux的平臺,同時安卓平臺也放棄了。很多應用端的遊戲,用到的Flash但是已經不算是FlashPlayer了。

Flash Player漏洞面面觀

看一下FlashPlayer的攻擊面:最鼎盛的時候Flash是支援了很多平臺,像windows linux 等等,支援這麼多的平臺,但是它一旦有了漏洞,它的影響面很大,同時一個漏洞影響多個平臺。就像曾經的漏洞之王,Java一樣,也是一個跨平臺的,一個漏洞影響多個平臺,會波及整個網際網路。

圖片解析,這是Flash的原始碼擷取一部分針對圖片解析的資料夾,ICO還是比較常建見的,WX是什麼?大家知道WX是什麼圖片?它是具有圖片解析的程式,很大可能性是存在漏洞的。

【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

正規表示式,這個很奇葩。我們在研究的時候就發現真的是解析出現問題。連正規表示式都會出現問題,這是很奇怪的。影片各式解析,這是它解析FIV格式的漏洞,給我的感覺是什麼概念呢?只要是Flash支援的元件,支援的格式,都會存在著漏洞。

它就像一個千瘡百孔一樣,任何人都可以插一腳。Action script 3自身,這個不用舉例了,很多的漏洞都是自身資料結構上的問題。包括跨域、XSS等等的漏洞。

【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

它的影響面,一個Flash漏洞,攻擊者怎麼應用這個?它的影響除了在作業系統層面還會顧及到什麼層面,這是播放的一個影片,在Word的影片,這個影片是Flash的模式。Flash它影響到了office,包括一些的Adobe組建都會受影響,還有國內的軟體WPS,它也支援Flash的元件。

大家可能不太清楚,這是在Flash裡面來利用IE漏洞,這樣做出來有一個非常大的好處,是攻擊者進行漏洞攻防對抗的時候,就有非常大的好處。免殺以及通用性非常大。而且,Flash本身是支援很多作業系統的判斷以及瀏覽器的判斷更準確,影響面更大,可以做的事情更多。這是一個漏洞,可以針對w7、W8。只不過這個攻擊者沒有寫相應的XP。

作業系統層面,從應用層的層面,包括多功能組合的層面,都會有很大的問題。最奇葩的一個問題是,之前我們測試過的是,PDF的漏洞可以結合多個Flash的漏洞,做到什麼程度呢,你只有你想不到,沒有做不到。

可能大家看到漏洞演示比較多的是一個網頁,計算器彈出來了大家很高興。下面大家看這一種,開啟Flash,作業系統裡面安裝的軟體,補丁就全部洩露出來了,作業系統是Win7,除了Flash是低版本,其他的全都是最新版本。電腦所有安裝軟體以及補丁全部都有洩露出來,漏洞的威力是非常大的,是很典型檔案資訊洩露的,是檔案讀取以及資訊洩露的漏洞,這個漏洞可能沒有你在本地開啟計算器的漏洞危害大,好處是:穩定、好用、高效。

在APT攻擊流程裡面,資訊探測佔到非常大比例,這個漏洞就是非常好的資訊探測的漏洞。你比如說把這個放到區域網裡面可以做到什麼效果,我不知道大家是否有這樣的想法,所有資訊全部被洩露了。

【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

不知道大家是否見過這個軟體,DoSWF,就是剛剛開始用這個軟體進行混淆之後,把它應用到漏洞攻防的EXP混淆的時候,所有操作軟體,所有的防禦軟體全部是繞過的。針對這個檢測,安全人員是無從下手的,包括國外的研究人員他們是怎麼把這個解析出來,他們是條形載入,解析到流程全部走完之後再從記憶體裡面找到原始有的漏洞放出來,生生的把漏洞扣出來的一個高強度混淆的軟體。

【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

現在用的比較多的還有另外一個,這個軟體是國外用的比較多,SecureSWF,混淆的強度還是比較大的。

【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

在2015年的Flash漏洞直線上升,其實榮升了漏洞之王的稱號。再來回顧一下漏洞利用的歷史,這是2009年、2010年左右的時候Flash是這樣利用的,很粗略、很粗糙,現在回頭來看這是非常粗糙的,也是最原始的。這個時候IE只能夠做到穩定的控制堆,進行堆風水,Flash能做到什麼大家不知道,但是正式測試的時候發現可以很好的進行堆填充。

【看雪2017安全開發者峰會演講回顧0x5】Flash 之殤:漏洞之王 Flash Player 的末路

這個編號是cve-2011-2011,漏洞原因是函式引數導致的問題,三個點來觸發的漏洞。牽扯到另外一個問題,很明顯的是在進行IE的漏洞,剛才提到了HTML怎麼利用的?像剛剛2011一樣,有三個點的A,這個利用漏洞是怎麼樣,直接在Flash裡面執行windons。這是payload,這樣執行起來非常簡單。


漏洞緩解措施和對抗


在2015年漏洞之後,Adobe針對vector物件引入了Cookie和lenght檢測機制,使得Vector的力利用方式被封堵。引入了隔離堆機制,當然還有一些沒有加入堆隔離的物件,物件的大小以及不同物件雖然隔離了,但是對於普通物件還是會分到同類的堆裡面,包括物件儲存的這樣機制,延遲釋放的這樣一些機制。既然是機制,就不可能把每一個物件,因為Flash的物件太複雜了,還是有突出的一些。那怎麼辦?


Adobe 最後的努力和放棄


很明顯,Adobe公司已經不要Flash了,它已經把它拋棄了,就像一個很明顯的是:爸爸不要你了。

這是我的演講過程,希望能跟大家進行漏洞研究方面的交流,謝謝大家!

本演講PPT:https://bbs.pediy.com/thread-222956.htm

相關文章