美國駭客年會 Black Hat 2008 觀察--第一天

美國駭客年會 Black Hat 2008 觀察--第二天

 

转自:http://armorize-cht.blogspot.com/2008/08/black-hat-2008_18.html

此文續「 美國駭客年會 Black Hat 2008 觀察--第一天」...

1. Rod Beckström: 國家安全
2. Arian Evans: Encoded, Layered, and Trancoded Syntax Attacks: Threading the Needle past Web Application Security Controls
3. Billy Hoffman: 擊敗 javascript 分析工具(Circumventing Automated JavaScript Analysis Tools)
4. Justin Clarke: SQL Injection 蠕蟲:為了興趣也為了利益(SQL Injection Worms for Fun and Profit)
5. Jeremiah Grossman: Get Rich or Die Trying - "Making Money on The Web, The Black Hat Way"
6. Matthieu Suiche: Windows Hibernation File for Fun and Profit

說真的如果不是要來 Black Hat / DEFCON,我是絕對不會想到這邊來的。我去過不少城市,但是了解我的人應該都知道,這邊除了駭客年會,還真沒有東西可以吸引我。

1. Rod Beckström: 國家安全(National Security)()

今天的 keynote 是美國政府資安界的當紅新人炸子雞 Rod Beckstrom,大家都來看他的風采。Rod 是我們營運長 Matt 的 Stanford MBA 學長,也是一位有名的創業家,他之前以 twiki 作者的身份,創辦了 TWIKI.NET。今年三月20日,他正式接受美國國土安全部( DHS、Department of Homeland Security)的邀請,擔任底下一個新成立的單位:「國家資安中心( National Cyber Security Center、NCSC)」的首席。NCSC 是一個新的跨部門單位,負責協調各資安部門之間情報的交換。

NCSC 的成立以及這項任命,是源自於 布希於今年一月簽同的一項機密的指引,主要用以擴大情報界對於目前日益嚴重的針對美國的網路攻擊之掌握度,因為之前美國情報單位對於資安攻擊的掌握過渡零散,缺乏一個中央協調的組織。 Rod Beckstrom 其實並沒有資安背景,但是他有創業家的經驗,對業界很熟,成功創辦 TWIKI.NET 幫助企業用 wiki 觀念協調資訊交換,以及著有很暢銷的「 The Starfish and the Spider」一書,提出新的分散式企業管理概念,這些都是美國國土安全部( DHS)看中他的原因。



Rod 講了很多美國政府的歷史與政府在資安方面的歷史,基本上我覺得就是幫政府建立形象啦,表示美國政府從電報的年代就很懂資安與情報的重要。我對美國政府的歷史沒有興趣,我對駭客的歷史比較有興趣,但是我覺得 Rod 的加入對布希政府在形象上一定是一大加分,因為 Rod 感覺很有業界經驗,不會讓外界覺得政府都閉門造車。

Rod 講了他認為目前資安難做的原因,我非常的認同。他說,有些球類,進攻難,防守易,例如足球,所以分數都不高(幾比幾);有些球類,則是進攻容易,防守難,例如籃球,所以分數都很高(可以破百)。資安比較像籃球;事實上在資安裡面,防守比攻擊要難太多太多了,這也就是資安難做的原因。

這個我完全認同。是的,要有好的防守,必須很懂得敵人,很懂得敵人所用的攻擊方法。所以重要的駭客年會我們都會派人參加。但是這只是基本功而已。懂得攻擊之後,要設計防守,又更加困難。為什麼?因為攻擊成本低,防守成本高!就拿防毒軟體來說,其實測不到,不是防毒廠商沒有樣本,可是防毒軟體不能佔用系統太多資源,所以樣本不能無限制的長大,必須有所選擇,在盡量不影響到系統效能的前提下,達到最高的偵測率。

又像如果打生物戰,那麼一樣,設計病毒,只需能感染讓人致死就好,可是設計解藥,不但要殺死病毒,還要保存人體不被破壞。不論在網路空間或實際生活中,攻擊總比防守簡單太多,這是資安難做的原因。再加上攻擊處於主動,何時攻擊可以自行選擇,但是防守處於被動,何時被攻擊無法預期,所以無時無刻都需要檢查與防範,而這些無時無刻都需要做的檢查與防範,都是成本的增加,這也是資安難做的原因。

另外 Rod 探討了一些我們在業界常探討的資安的投資報酬率問題。感覺他有觀念,但是畢竟他之前不在資安產業,探討的東西都還太淺了些。以下是兩張投影片,基本上是說,如果 x 軸是資安的投資,y 軸是因為資安投資而減低的損失,那麼需要找到投資報酬率最高的點。但是 Rod 你說用一條 45 度的線跟曲線取交點,是這樣嗎?我高中畢業很久了,博班資格考也沒考微積分,但是我怎麼直覺覺得,要分析要看此曲線斜率,所以要做一下一次微分後分析...



這裡有他當天演講的一段錄影:



2. Arian Evans: Encoded, Layered, and Trancoded Syntax Attacks: Threading the Needle past Web Application Security Controls

聽完之後去幫 Jeremiah 捧場,聽他同事 Arian Evans(大會)講「Encoded, Layered, and Trancoded Syntax Attacks: Threading the Needle past Web Application Security Controls

這個題目就不翻譯了,基本上整個演講在說一件事:Web 上的攻擊,如果加上各種不同的編碼方式,那麼穿透率幾乎可以達 100%,沒有任何 Web 防火牆可以阻擋。這是指 Web 防火牆設定成利用黑名單的情況下,如果花時間設白名單的話,一樣可以阻擋,可是一般稍微有規模的站,我看到大部分都是用黑名單方式,因為設白名單是很繁瑣的事情,需要找到好的廠商才行。

講到這裡,其實我深深覺得資安業,找對公司比找對產品重要多了。不論是源碼檢測或 Web 防火牆,如果賣方只是想塞產品給您,那麼買了再好的,牌子在大的產品也沒有用,一樣會失敗,最後還是會發生資安事件。如果找對好的 partner,有心服務客戶,長期經營,技術能量也夠,那即使用免費的開放源碼 ModSecurity 做 Web 防火牆,一樣能設定到讓您高枕無憂。其實對方有沒有心做服務,還是只想塞產品,還有對方的技術團隊有沒有實力,通常很快就能看出來。


這張明天要去賣 Arian 了,拍得太好了 :)


投影片一拿出來就開始講今年初進行到現在的大規模 SQL Injection 加網頁掛馬攻擊(阿碼科技新聞稿PC World(IDG)ITHome)。Arian 拿當初 Neil Carpenter 蒐集到的攻擊字串做例子:


2008-03-08 13:37:13 /dir1/archive.asp id=z%27%20ANd%20char(124)%2Buser%2Bchar(124)=0%20and%20%27%25%27=%27

這是一行 web server 的 log。在這個例子裡,%XX(例如 %27、%20、%2B)是 URL encoding 的一部份,會被 web server decode,decode 完變成:


2008-03-08 13:37:13 /dir1/archive.asp id=z' ANd char(124)+user+char(124)=0 and '%'='


然後整個 SQL injection 字串,會被 SQL server 解碼成:

id=z ANd |user|=0 and '%'='

不要說多層編碼,即使只用一層的 URL 編碼,就可以因為 UTF-8,而使同一個字串幾乎有無限種編碼可能。譬如一個簡單的:


GET / indexA.html HTTP/1.1

就可以被編碼成:


GET /index%41.html HTTP/1.1
GET /index%2541.html HTTP/1.1 (double percent)
GET /index%%34%31.html HTTP/1.1 (double nibble)
GET /index%%341.html HTTP/1.1 (first nibble)
GET /index%4%31.html HTTP/1.1 (second nibble)

然後如果再利用 2-byte or 3-byte UTF-8 編碼的話,變化又更多了。

但是這整個演講的內容其實對我來說一點都不新,這些編碼來穿透 Web 防火牆的方式大概四五年前很多書還有 paper 都已經介紹得很完整了。整理起來,整個演講的重點就兩個:
一、由於 UTF-8,攻擊字串幾乎有無限種編碼方式。
二、攻擊可以分層的編碼,像上述例子,一層給 web server 解,一層給 SQL server 解。或穿插 URI % encoding 或 UTF-8 encoding、HTML decimal entity encoding、SQL server encoding(char())等混合使用。

3. Billy Hoffman: 擊敗 javascript 分析工具(Circumventing Automated JavaScript Analysis Tools)
聽完後去聽好友 Billy Hoffman(大會wikipedia)的演講:「擊敗 javascript 分析工具(Circumventing Automated JavaScript Analysis Tools)」。Billy著有「Ajax Security」,上次在 RSA 2008 辦簽名會,我一口氣簽了很多本回來送朋友,讓他高興得不得了。既然是 Billy,當然要照帥一些囉!有沒有注意到左下方 Billy 的筆電?併購後筆電也該 HP 囉!



今年講網站掛馬的演講真是多,其實這個題目去年就很紅了,今年年初再加上兩點,使得這個議題紅到不行:

一、年初的大規模自動 SQL Injection 加 網頁掛馬(阿碼科技新聞稿PC World(IDG)ITHome

二、網路掛馬所使用的 javascript 語言,其編碼與變形太過容易(除了大家熟悉的 MPack 自動化犯罪工具包,現在線上的 javascript 編碼/變形服務也到處都是:看這裡這裡。)

Billy 在他的摘要裡就直接提到:「拜 MPack 所賜,大部分惡意 javascript 都編碼過
(Obfuscated JavaScript payloads are the norm thanks to malware frameworks like MPACK.)」

的確,根據「IBM X-Force 2008 年終趨勢報告(IBM X-Force 2008 Mid-Year Trend Statistics)」,2007年後半年,網頁掛馬中 javascript 編碼變形以達 100%:「A year later, in the second half of 2007, Web browser attack obfuscation approached 100
percent.」

在這個 talk 中,Billy 講了惡意程式變形技術與偵測技術間永無止境的鬥智遊戲。這是我很期待的一個 talk,因為跟我們 HackAlert 非常相關。

Billy 今年的研究延續去年 Ben Feinstein(網頁Blog)跟 Daniel Peck(blog-1blog-2) 講的 Caffeine Monkeypaper投影片程式碼)。

OKOK,繼續之前,我們先來看看這些人到底在講什麼。

現在的大規模自動網站掛馬(阿碼科技新聞稿PC World(IDG)ITHome)都是利用 SQL Injection 漏洞在網頁裡安插惡意的 javascript。這些 javascript 都經過變形(或稱編碼)。利用 MPack,甚至可以動態變形,也就是說,每一個訪客所下載到的網頁,裡頭的 javascript 都經過不同的變形。

變形的 javascript 到底長什麼樣子?我們就拿我之前寫的「神秘 Web 攻擊綁架剪貼簿」來看好了,其中用的一段範例 javascript:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值