自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

不同角度看安全漏洞的分類和利用

安全
雖然傳統(tǒng)木馬和安全漏洞關系不大,但最近很多木馬都巧妙的利用了IE 的漏洞,讓你在瀏覽網(wǎng)頁時不知不覺的就中了招。

網(wǎng)絡安全的核心目標是保障業(yè)務系統(tǒng)的可持續(xù)性和數(shù)據(jù)的安全性,而這兩點的主要威脅來自于蠕蟲的暴發(fā)、黑客的攻擊、拒絕服務攻擊、木馬。蠕蟲、黑客攻擊問題都和漏洞緊密聯(lián)系在一起,一旦有重大安全漏洞出現(xiàn),整個互聯(lián)網(wǎng)就會面臨一次重大挑戰(zhàn)。雖然傳統(tǒng)木馬和安全漏洞關系不大,但最近很多木馬都巧妙的利用了IE 的漏洞,讓你在瀏覽網(wǎng)頁時不知不覺的就中了招。

安全漏洞的定義已經(jīng)有很多了,我這里給出一個通俗的說法就是:能夠被利用來干“原本以為”不能干的事,并且和安全相關的缺陷。這個缺陷可以是設計上的問題、程序代碼實現(xiàn)上的問題。

一、不同角度看安全漏洞的分類

對一個特定程序的安全漏洞可以從多方面進行分類。

1. 從用戶群體分類:

◆ 大眾類軟件的漏洞。如Windows的漏洞、IE的漏洞等等。

◆ 專用軟件的漏洞。如Oracle漏洞、Apache漏洞等等。

2. 從數(shù)據(jù)角度看分為:

◆ 能讀按理不能讀的數(shù)據(jù),包括內(nèi)存中的數(shù)據(jù)、文件中的數(shù)據(jù)、用戶輸入的數(shù)據(jù)、數(shù)據(jù)庫中的數(shù)據(jù)、網(wǎng)絡上傳輸?shù)臄?shù)據(jù)等等。

◆ 能把指定的內(nèi)容寫入指定的地方(這個地方包括文件、內(nèi)存、數(shù)據(jù)庫等)

◆ 輸入的數(shù)據(jù)能被執(zhí)行(包括按機器碼執(zhí)行、按Shell代碼執(zhí)行、按SQL代碼執(zhí)行等等)

3. 從作用范圍角度看分為:

◆ 遠程漏洞,攻擊者可以利用并直接通過網(wǎng)絡發(fā)起攻擊的漏洞。這類漏洞危害極大,攻擊者能隨心所欲的通過此漏洞操作他人的電腦。并且此類漏洞很容易導致蠕蟲攻擊,在Windows。

◆ 本地漏洞,攻擊者必須在本機擁有訪問權(quán)限前提下才能發(fā)起攻擊的漏洞。比較典型的是本地權(quán)限提升漏洞,這類漏洞在Unix系統(tǒng)中廣泛存在,能讓普通用戶獲得最高管理員權(quán)限。

4. 從觸發(fā)條件上看可以分為:

◆ 主動觸發(fā)漏洞,攻擊者可以主動利用該漏洞進行攻擊,如直接訪問他人計算機。

◆ 被動觸發(fā)漏洞,必須要計算機的操作人員配合才能進行攻擊利用的漏洞。比如攻擊者給管理員發(fā)一封郵件,帶了一個特殊的jpg圖片文件,如果管理員打開圖片文件就會導致看圖軟件的某個漏洞被觸發(fā),從而系統(tǒng)被攻擊,但如果管理員不看這個圖片則不會受攻擊。 #p#

5. 從操作角度看可分為:

◆ 文件操作類型,主要為操作的目標文件路徑可被控制(如通過參數(shù)、配置文件、環(huán)境變量、符號鏈接燈),這樣就可能導致下面兩個問題:

寫入內(nèi)容可被控制,從而可偽造文件內(nèi)容,導致權(quán)限提升或直接修改重要數(shù)據(jù)(如修改存貸數(shù)據(jù)),這類漏洞有很多,如歷史上Oracle TNS LOG文件可指定漏洞,可導致任何人可控制運行Oracle服務的計算機;

內(nèi)容信息可被輸出,包含內(nèi)容被打印到屏幕、記錄到可讀的日志文件、產(chǎn)生可被用戶讀的core文件等等,這類漏洞在歷史上Unix系統(tǒng)中的crontab子系統(tǒng)中出現(xiàn)過很多次,普通用戶能讀受保護的shadow文件;

◆ 內(nèi)存覆蓋,主要為內(nèi)存單元可指定,寫入內(nèi)容可指定,這樣就能執(zhí)行攻擊者想執(zhí)行的代碼(緩沖區(qū)溢出、格式串漏洞、PTrace漏洞、歷史上Windows2000的硬件調(diào)試寄存器用戶可寫漏洞)或直接修改內(nèi)存中的機密數(shù)據(jù)。

◆ 邏輯錯誤,這類漏洞廣泛存在,但很少有范式,所以難以查覺,可細分為:

條件競爭漏洞(通常為設計問題,典型的有Ptrace漏洞、廣泛存在的文件操作時序競爭)

策略錯誤,通常為設計問題,如歷史上FreeBSD的Smart IO漏洞。

算法問題(通常為設計問題或代碼實現(xiàn)問題),如歷史上微軟的Windows 95/98的共享口令可輕易獲取漏洞。

設計的不完善,如TCP/IP協(xié)議中的3步握手導致了SYN FLOOD拒絕服務攻擊。

實現(xiàn)中的錯誤(通常為設計沒有問題,但編碼人員出現(xiàn)了邏輯錯誤,如歷史上博彩系統(tǒng)的偽隨機算法實現(xiàn)問題)

◆ 外部命令執(zhí)行問題,典型的有外部命令可被控制(通過PATH變量,輸入中的SHELL特殊字符等等)和SQL注入問題。

6. 從時序上看可分為:

◆ 已發(fā)現(xiàn)很久的漏洞:廠商已經(jīng)發(fā)布補丁或修補方法,很多人都已經(jīng)知道。這類漏洞通常很多人已經(jīng)進行了修補,宏觀上看危害比較小。

◆ 剛發(fā)現(xiàn)的漏洞:廠商剛發(fā)補丁或修補方法,知道的人還不多。相對于上一種漏洞其危害性較大,如果此時出現(xiàn)了蠕蟲或傻瓜化的利用程序,那么會導致大批系統(tǒng)受到攻擊。

◆ 0day:還沒有公開的漏洞,在私下交易中的。這類漏洞通常對大眾不會有什么影響,但會導致攻擊者瞄準的目標受到精確攻擊,危害也是非常之大。

二、不同角度看待漏洞利用

如果一個缺陷不能被利用來干“原本”不能干的事(安全相關的),那么就不能被稱為安全漏洞,所以安全漏洞必然和漏洞利用緊密聯(lián)系在一起。

漏洞利用的視角有:

◆ 數(shù)據(jù)視角:訪問本來不可訪問的數(shù)據(jù),包括讀和寫。這一條通常是攻擊者的核心目的,而且可造成非常嚴重的災難(如銀行數(shù)據(jù)可被人寫)。

◆ 權(quán)限視角:主要為權(quán)限繞過或權(quán)限提升。通常權(quán)限提升都是為了獲得期望的數(shù)據(jù)操作能力。

◆ 可用性視角:獲得對系統(tǒng)某些服務的控制權(quán)限,這可能導致某些重要服務被攻擊者停止而導致拒絕服務攻擊。

◆ 認證繞過:通常利用認證系統(tǒng)的漏洞而不用受權(quán)就能進入系統(tǒng)。通常認證繞過都是為權(quán)限提升或直接的數(shù)據(jù)訪問服務的。

◆ 代碼執(zhí)行角度:主要是讓程序?qū)⑤斎氲膬?nèi)容作為代碼來執(zhí)行,從而獲得遠程系統(tǒng)的訪問權(quán)限或本地系統(tǒng)的更高權(quán)限。這個角度是SQL注入、內(nèi)存指針游戲類漏洞(緩沖區(qū)溢出、格式串、整形溢出等等)等的主要驅(qū)動。這個角度通常為繞過系統(tǒng)認證、權(quán)限提升、數(shù)據(jù)讀取作準備的。 #p#

三、漏洞發(fā)掘方法

首先必須清除安全漏洞是軟件BUG的一個子集,一切軟件測試的手段都對安全漏洞發(fā)掘?qū)嵱谩,F(xiàn)在”黑客“用的各種漏洞發(fā)掘手段里有模式可循的有:

◆ fuzz測試(黑盒測試),通過構(gòu)造可能導致程序出現(xiàn)問題的方式構(gòu)造輸入數(shù)據(jù)進行自動測試。

◆ 源碼審計(白盒測試),現(xiàn)在有了一系列的工具都能協(xié)助發(fā)現(xiàn)程序中的安全BUG,最簡單的就是你手上最新版本的C語言編譯器。

◆ IDA反匯編審計(灰盒測試),這和上面的源碼審計非常類似,唯一不同的是很多時候你能獲得軟件,但你無法拿到源碼來審計,但IDA是一個非常強大的反匯編平臺,能讓你基于匯編碼(其實也是源碼的等價物)進行安全審計。

◆ 動態(tài)跟蹤分析,就是記錄程序在不同條件下執(zhí)行的全部和安全問題相關的操作(如文件操作),然后分析這些操作序列是否存在問題,這是競爭條件類漏洞發(fā)現(xiàn)的主要途徑之一,其他的污點傳播跟蹤也屬于這類。

◆ 補丁比較,廠商的軟件出了問題通常都會在補丁中解決,通過對比補丁前后文件的源碼(或反匯編碼)就能了解到漏洞的具體細節(jié)。

以上手段中無論是用哪種都涉及到一個關鍵點:需要通過人工分析來找到全面的流程覆蓋路徑。分析手法多種多樣,有分析設計文檔、分析源碼、分析反匯編代碼、動態(tài)調(diào)試程序等。 #p#

四、漏洞等級評定

考察漏洞的危害性應該緊密的和利用該漏洞帶來的危害相關,并不是通常大家認識的所有緩沖區(qū)溢出漏洞都是高危漏洞。以遠程漏洞為例,比較好的劃分方法為:

1   可遠程獲取OS、應用程序版本信息。

2   開放了不必要或危險得服務,可遠程獲取系統(tǒng)敏感信息。

3   可遠程進行受限的文件、數(shù)據(jù)讀取。

4   可遠程進行重要或不受限文件、數(shù)據(jù)讀取。

5   可遠程進行受限文件、數(shù)據(jù)修改。

6   可遠程進行受限重要文件、數(shù)據(jù)修改。

7   可遠程進行不受限得重要文件、數(shù)據(jù)修改,或?qū)ζ胀ǚ者M行拒絕服務攻擊。

8   可遠程以普通用戶身份執(zhí)行命令或進行系統(tǒng)、網(wǎng)絡級的拒絕服務攻擊。

9   可遠程以管理用戶身份執(zhí)行命令(受限、不太容易利用)。

10   可遠程以管理用戶身份執(zhí)行命令(不受限、容易利用)。

本地漏洞幾乎都是導致代碼執(zhí)行,歸入上面的10分制可以為:

5   遠程主動觸發(fā)代碼執(zhí)行(如IE的漏洞)。

6   遠程被動觸發(fā)代碼執(zhí)行(如Word漏洞/看圖軟件漏洞)。 #p#

五、DEMO

一個防火墻隔離(只允許運維部的人訪問)的網(wǎng)絡里運行一臺Unix服務器;操作系統(tǒng)中只有root用戶和oracle用戶可登陸,操作系統(tǒng)中運行了Apache(nobody權(quán)限)、Oracle(oracle用戶權(quán)限)等服務。

一個攻擊者的目的是修改Oracle數(shù)據(jù)庫中的帳單表的數(shù)據(jù)。

其可能的攻擊步驟為:

1. 接入運維部的網(wǎng)絡,獲得一個運維部的IP地址從而能通過防火墻訪問被保護的Unix服務器。

2. 利用Apache服務的某遠程緩沖區(qū)溢出漏洞直接獲得一個nobody權(quán)限的shell訪問。

3. 利用操作系統(tǒng)某suid程序的漏洞將自己的權(quán)限提升到root權(quán)限。

4. 用Oracle的sysdba登陸進入數(shù)據(jù)庫(本地登陸不需要密碼)。

5. 修改目標表的數(shù)據(jù)。

以上5個過程分析下來為:

第1步:認證繞過

第2步:遠程漏洞、代碼執(zhí)行(機器碼)、認證繞過

第3步:權(quán)限提升、認證繞過

第4步:認證繞過

第5步:數(shù)據(jù)寫  

【編輯推薦】

  1. Web安全設備彌補UTM內(nèi)容安全漏洞
  2. 使用BackTrack檢查Linux安全漏洞
責任編輯:許鳳麗 來源: 軟件測試網(wǎng)
相關推薦

2014-05-09 09:58:04

2011-07-29 10:46:44

2010-09-16 14:05:48

2017-05-04 15:10:01

漏洞IoT智能燈泡BLE

2013-09-03 15:45:50

2014-10-08 09:25:30

2022-04-29 15:53:20

網(wǎng)絡安全漏洞隱私

2010-07-30 16:02:56

2010-07-26 15:37:12

telnet安全漏洞

2009-08-25 17:46:31

C#多態(tài)

2023-08-25 13:47:53

2021-08-14 20:21:21

漏洞勒索軟件攻擊

2014-06-03 09:23:41

2014-06-03 11:36:18

2010-10-08 13:08:47

2010-09-17 16:16:28

2020-10-09 09:52:00

漏洞分析

2009-03-07 09:59:16

2011-12-26 11:22:48

2021-05-12 10:46:23

漏洞BINDDNS服務器
點贊
收藏

51CTO技術棧公眾號