天天看點

安全漏洞本質 各漏洞成因表

http://weibo.com/p/1001603806840004717482

漏洞類型比較多,就不一一詳述了。列了一張表,各安全漏洞的成因表,如下

        可參考 一個flash的0day導緻的淘寶網存儲xssby Neobyte http://www.wooyun.org/bugs/wooyun-2013-039481

        該文章已經描述了這其實是一個flash的0day,但是Adobe把它當做了一個“特性”,不予修複。這就給使用FlashLSO的使用者們埋了一個很大的“坑”。Adobe把這個安全問題直接交給了使用者去解決,實在不負責任啊。

第一:使用者的開發人員很難了解這裡面的細節,開發人員參差不齊。

第二:漏洞的源頭在Flash本身,不在底層修複,在應用層很難修複的好。 

        是以有了下面連結的文章裡gainover在同一點上報告三次安全漏洞. http://drops.wooyun.org/papers/1426

        底層的安全漏洞一般要在底層才能修複的好,交給上層去修複既很難修好,也是不負責任的表現。當然有一個東西的漏洞往往上層幫它修複的,那就是CPU漏洞。CPU漏洞是硬體漏洞很難去修複,是以這種情況,一般作業系統會出更新檔去修複對應的CPU漏洞。

 UXSS

        可參考 通用跨站腳本攻擊(UXSS)by @CnFooyinghttp://www.ijiandao.com/safe/cto/7192.html

        UXSS是一種利用浏覽器或者浏覽器擴充漏洞來制造産生XSS的條件并執行代碼的一種攻擊類型。這個漏洞其實就是上面談到的浏覽器跨域漏洞的一種(可能是跨本地域漏洞,也可能是跨域腳本漏洞),是污點資料變成腳本Script的一種浏覽器跨域漏洞。反過來,浏覽器的跨域漏洞不限于UXSS,因為污點資料可以變身為任何東西。

競争條件漏洞Race Condition 

        競争條件漏洞是時序相關(時間和順序)的安全漏洞,我們可以了解為相對同一的時間下,一個代碼流程A可被中斷(達到資源競争條件),而此時另一個代碼流程B運作并影響一些A相關的資源狀态,導緻A繼續執行的時候出現意想不到的情況。很多情況下,兩個代碼流程可能是相同的代碼流程,這時經常被稱為代碼重入。

        TOCTOU(Time of Check ,Time ofUse)也是競争條件漏洞一種,同一個時間下,一個代碼流程A檢查和使用不是原子操作可被打斷,在另一個代碼流程B裡影響了某些因數,該因數又反過來影響代碼流程A,導緻向黑客設計的方向發展。

        TOCTOU可參考http://en.wikipedia.org/wiki/Time_of_check_to_time_of_use

        從本質來說,一部分的Use After Free的漏洞成因也是由于競争條件引起的。

        對那些攻擊界面較大的軟體或者系統來說,容易形成競争條件漏洞。要攻擊界面大主要原因是需要利用各種技巧達到競争條件以及中斷那些看視原子實非原子的操作。是以我們可以看到作業系統核心一直是競争條件漏洞的主戰場,當然還有檔案系統以及IE,AVM等。

        競争條件漏洞是容易被人忽視的,随着CPU越來越快,核數越來越多,競争條件也越來容易達到。未來會有更多關于競争條件類型的安全漏洞出現,大夥挖漏洞的時候可多關注下。

格式化字元串漏洞format string vulnerability

1:淺析格式化串漏洞 by isno http://www.xfocus.net/articles/200103/123.html

更多安全漏洞類型參考

https://www.owasp.org/index.php/Category:Vulnerability 

http://cwe.mitre.org/top25/index.html#Details

小結

         選擇了一部分安全漏洞做了些描述和解釋,主要還是讓小夥伴們了解安全漏洞内在的一些東西,圍繞着我們前面談到過的總綱,小夥伴們自己也可以推演下那些沒有列在上面的安全漏洞。舉一反三,屬于你自己發現的安全漏洞指日可待。

        回顧下 安全漏洞和利用的本質 總綱:攻擊者精心構造的資料從一個攻擊界面經過傳播到達另一個攻擊界面的處理它的代碼,改變或獲得其想要的控制流,進而造成獲得不同的權限或能力。關鍵詞:從資料流到控制流。