Posted on 2009-05-15 19:08
Condor 閱讀(252)
評論(0) 編輯 收藏 引用
最近沒啥好八卦的,拿這個來充數.HOHO.0day在文章最后面.
|=---------------------------------------------------------------------------=|
|=----------------------=[ 專訪wordexp ]=---------------------=|
|=---------------------------------------------------------------------------=|
|=---------------------------------------------------------------------------=|
|=-------------------=[ By wordexp ]=------------------=|
|=---------------------------------------------------------------------------=|
[目錄]
1. 據您所知現在都還有哪些嚴重的0DAY沒被公開?
2. 挖漏洞有什么竅門?可以具體談談fuzzer怎樣構造樣本么?
3. 請問您對0day市場有什么看法?
4. 您建立wordexp這個blog的初衷是什么?為什么叫wordexp,而不是pdfexp或者是exclexp?
5. 請問0day是咋來的?
6. 請問在安全圈子誰是您的偶像?
7. 請問溢出這面紅旗還能打多久?
8. 您對我們雜志以及我們小組的發展有什么建議?
一、據您所知現在都還有哪些嚴重的0DAY沒被公開?
主流應用軟件方面目前微軟公司的IE6/7和PPT 2003 SP3前一陣子就有EXP在外面跑了,
adobe公司的FLASH產品中也有一個能被利用的漏洞,拿到的人應該也不少,往后的一到三個月
內就應該出補丁或是有相關新聞,當然以我們目前的視界能看到的只有很少很少的一部分,其
實國外的很多安全機構比如:idefense和zdi可以確定還有不少沒被公開的漏洞,只是這些漏
洞可能并不是我們想象的那么通用,成功率也許有限。
其實經常聽到朋友問這個問題,說白了就是個消息的打聽,這個一方面要提高自已的敏感
度,注意隨時關注國內外相關網站的新聞,比如NORTON和MCAFEE的網站經常有一些抓到的0DAY
樣本的新聞,有時還有一些細節。還有就是消息的共享,你提前能知道消息并告知朋友,以后
也許人家也會這樣對你。
二、挖漏洞有什么竅門?可以具體談談fuzzer怎樣構造樣本么?
這個問題太為難我了,很多人比我更有資格回答這個問題。我只是斗膽胡說幾句。
要說竅門,應該是不同軟件的洞竅門還不一樣,然后還要看挖洞的目的,如果是為了出名
在bugtraq之類的郵件列表上能多露幾次臉,那么可以盡可能的找那種用戶少關注少的軟件特
別是WEB腳本程序的洞。如果是公司有任務必須往CVE、MS上報多少條漏洞那么可以找大公司
的二三線產品的漏洞或是有一定用戶數但版本很久不更新的軟件的洞,而且這些洞是不一定
要可利用的。如果是為了混zdi、idefense那么可以把fuzz到的POC只要看起來有可能被利用
的都提交上去,也可以找默認情況下不支持的功能的洞,多少可以騙點錢。
如果是要挖賣得出去也能利用的洞,比較通用的一些竅門我能想到的是:
1. 找大眾軟件生僻功能,生僻協議/文件格式的洞
2. 找幾乎沒有文檔化的功能的洞
3. 新版本軟件為了向下兼容所支持的老協議/老文件格式的洞
4. 新版本軟件增加的新功能/新格式
5. 不容易fuzz到的洞,比如數據是加密/壓縮/編碼過的,或是有驗效的
6. 某軟件某功能剛出了漏洞,馬上測試其它同類軟件同類功能是否有類似漏洞
7. 多分析老漏洞,善于總結前人挖漏洞的經驗技巧,很多不同的洞其實都有相類似的發
掘方式和思路
第二個問題,我以文件型漏洞舉例子,fuzz樣本的構造,首先是按照上述幾個竅門來生成
原始模版,這樣相對可以弄出一些人家不太容易fuzz到的數據格式結構,當然在生成原始模版
的前期功課也是很花時間的。做好樣本后就是寫具體的fuzz程序, 如果對文件格式比較熟,
那么可以節約很多的時間,我比較喜歡的一個辦法是fuzz某一些功能的洞,那么就先看格式,
把數據在文件中的位置先手工定位,然后小粒度的測試,要注意的是可能與某功能相關聯的數
據比較雜亂數據很可能并不是連續存放的。一般1-4KB的數據要不了多少時間就可以手工測
試完畢。另外具體測試時,數據替換的長度(一次替換幾個字節),替換的內容也是非常重要的。
為此我們將提供一個PPT 2003 sp3的“0day”poc,在這個“0day”中數據替換的步進就必須為1
字節,而且值也必須為一個固定的值才能觸發出錯。最后要注意的就是錯誤的捕捉,有些洞是
打開就退出進程,有些是打開要停頓一定時間才退出進程,有些是CPU 100%程序掛起,有些是
關閉時觸發,甚至有些是文檔打開后進行某種操作才會觸發,當然還有一種情況進程不退出,
也沒有提示,也不出錯,象這種情況一般依靠進程/窗口/CPU來檢測錯誤的fuzz就失效了。
三、請問您對0day市場有什么看法?
很復雜的一個圈子,搞技術的不搞技術的啥人都有,不過目前看來很多都是為了各種利益
混這個圈子。簡單說就是:
池塘不大但人雜,水深。
四、您建立wordexp這個blog的初衷是什么?為什么叫wordexp,而不是pdfexp或者是exclexp?
初衷就是團隊成員工作之余發發勞騷,聊聊八卦的地方,希望大家別見怪。另外這個名字
是因為我們幾個人搞客戶端的漏洞都比較多,所以隨便就取了這么個名字。
五、請問0day是咋來的?
最初當然是某個人找出來的。從這個0DAY的發掘者到最終的用戶中間可能會只有一層關
系,也可能會有N層關系,也許直到這個0DAY被補上,使用者也不知道洞是誰挖到的。下面舉幾
個例子吧:
情況一:A挖到一個0day,但對黑產沒有了解或接觸,或者也不想靠這個賺錢,或者覺得漏
洞不值錢,或者壓根以為漏洞不能夠被利用,那么A有可能把這個漏洞公開給類似PST的網站,
網站上的代碼通常是POC或是只有一部分細節。這時黑產中的漏洞研究者B,很快會看到這個
消息,并且分析POC然后寫出EXP。隨后B再聯系具體的使用者C或是自已使用。最終或是因為
這個0DAY的POC被公開,也或許因為EXP被殺毒軟件公司抓到樣本等等,軟件廠商推出補丁。在
這個過程中B可能是一個人也可能是很多水平各不相同的人,所以公開的0DAY的EXP有時是千
差萬別,有的好用,有的很差。
情況二:A是黑產中的一員,挖到一個0DAY并賣給X,或是接受使用者X的定制并找到0DAY,
X偷偷的使用0DAY,這樣的情況一般0DAY的生存期會比較長一些,因為這才算是真正的私洞,知
道的人不多。但是在X的使用中,EXP可能被別的黑產從業者Y抓到樣本,然后Y把樣本提供給技
術員T分析并重新寫出EXP,而成果Y和T分享。這時T可能再次把EXP賣給其它的黑產使用者W,
同樣X或Y在使用一段時間后也可能交換或者再出手給其它的買家,而且這個過程是可以無限
次重復的,當然時間越久知道的人越多,0DAY就越掉價。
情況三:白帽子A挖到一個0day,并提交給軟件廠商B。假設A是個真真正正的白帽子,也假
設這個0day的確也只被A發現了,但0day到了廠商B那兒,最終會找公司內負責安全的部門對漏
洞進行研究,假設這個公司內部的研究者是C,C有可能在圈子中也有其它從事黑產的朋友或是
自已本身就偷偷的在參與黑產,那么在金錢或是感情的作用下C完全有可能違背道德,寫出EXP
出售或是使用。象這種情況,0day可能剛出來沒幾天就被補上了,或者圈子里的很多人根本就
沒機會見到0day,知道有這么個東東的時候早就被補上了。
情況四:軟件廠商B在代碼審計或軟件測試過程中發現了漏洞,自已在新版本中偷偷的補
上了漏洞,但并沒有在相對老的版本中打補丁,也沒有公開任何細節和公告。 研究人員A通過
補丁比較,直接定位出老版本中的漏洞位置,然后動態調試找到觸發方式,并寫出EXP,由于很
多情況下老版本的軟件反而用戶更多,所以這樣的0day還是有一定的價值。
情況五:研究員A挖到了一個Nday而這個Nday以前在圈內并不為人所知,或是研究員A研究
出某Nday的新利用方式,比如說可以和某某軟件結合看起來和以前的EXP完全不一樣,或是成
功率有很大的提高。研究員A以較低的價格出售給中間人B。B拿到EXP后,發現圈內還沒人有,
成功率各方面也還不錯,于是號稱0day到處叫賣。如果買家發現問題,B就裝傻說自已也上當
了?,F在象B這樣的人其實也是不少的, 因為很多最終用戶對技術并不是特別懂,而且有些
Nday測試起來也不是那么簡單,如果剛好EXP效果不錯,可能就忽悠過去了。那么我們能看到
的情況就是,江湖傳言又出了個0day,或是某某手上有0day,但等呀等就是見不到東東,最終傳
言不了了之或是被人家揭發出來。
所以要搞到0day可以自已挖,可以補丁比較,也可以分析已公開信息快速寫出EXP,可以買,
也可以換,不要命也可以偷搶騙,技術手段非技術手段都是可能的。也正是因為上述情況的多
樣性,所以經常有不怎么搞技術的人,手上也有些0day。
六、請問在安全圈子誰是您的偶像?
我的偶象是那種啥技術不懂,還能發大財的,不PF不行。
七、請問溢出這面紅旗還能打多久?
僅僅是溢出這塊,我們團隊里面意見也大不相同,另外幾個成員還是比較樂觀的,如果比
較全面的分析這個問題,首先要看站在什么人的角度來看這個問題,是黑產工作者是安全公司
還是軟件生產商。假設以黑產工作者的角度來看,那么我是非常非常悲觀的,因為溢出漏洞從
技術角度上說:有一個通用性和成功率的問題,直觀的說就是有一個效果的問題,再深一點說
就是經濟成本的問題。往后走溢出漏洞單從個數上說還是會有很多的。但是現在從編譯器和
OS(/GS、/SafeSEH、/DYNAMICBASE、DEP、PEB隨機等等)到CPU(NX),軟件公司和硬件廠商已
經越來越關注安全問題,幾十年來溢出漏洞最關鍵的命脈無非是數據能夠被當做代碼來執行,
以前這一點基本上不被軟硬件廠商所重視,這幾年來人家開始重視了,開始從體系上解決這個
問題,那么這個命脈也將因為各種防范檢測技術的運用被卡得越來越死,另外現在很多軟件也
有自動升級功能了。
往后走是個什么樣的情況,我想應該是上面提到的各種技術隨著新型CPU和OS的占有率越
來越高,被越來越多的應用。一個溢出漏洞的成功率將會大大下降,再加上主流軟件公司的產
品也越來越安全,以后那種一個漏洞打天下的局面將會越來越少(現在黑產工作者的網馬都是
漏洞合集了,無非就是提高成功率),具體的情況也許就是現在我有一個IE的0DAY,100個人看
也許能中10-20個,以后可能手上能用的就變成某個第三方控件的0DAY,100個人看網頁就能中
1-2個吧。當你使用溢出漏洞的時間,人力,金錢成本和產出完全不成正比的時候,也基本上算
溢出這面紅旗倒下的時候。
估計也就三四年以后,具體指標就是上面提到的各種檢測技術的普及率,至少往后的發展
不會是車到山前必有路。如果把挖溢出漏洞當成一個產業,也就是個夕陽產業。
八、您對我們雜志以及我們小組的發展有什么建議?
不走商業路線是正確的,反正你們那群人也不差錢,就不定期搞搞科普工作吧,為普及中
國安全事業做點貢獻,同時也可以鍛煉你們各方面的能力,繼續努力!
-EOF-