詳解安全漏洞的劃分
網絡安全漏洞是引發信息安全問題的重要原因,也是互聯網行業需要關注的重點問題。中培偉業《黑客攻防與網絡信息安全技術》培訓專家樊老師在這里就安全漏洞的劃分進行了詳細介紹。
1. 從用戶群體分類:
●大眾類軟件的漏洞。如Windows的漏洞、IE的漏洞等等。
●專用軟件的漏洞。如Oracle漏洞、Apache漏洞等等。
2.從數據角度看分為:
●能讀按理不能讀的數據,包括內存中的數據、文件中的數據、用戶輸入的數據、數據庫中的數據、網絡上傳輸的數據等等。
●能把指定的內容寫入指定的地方(這個地方包括文件、內存、數據庫等)
●輸入的數據能被執行(包括按機器碼執行、按Shell代碼執行、按SQL代碼執行等等)
3.從作用范圍角度看分為:
●遠程漏洞,攻擊者可以利用并直接通過網絡發起攻擊的漏洞。這類漏洞危害極大,攻擊者能隨心所欲的通過此漏洞操作他人的電腦。并且此類漏洞很容易導致蠕蟲攻擊,在Windows。
●本地漏洞,攻擊者必須在本機擁有訪問權限前提下才能發起攻擊的漏洞。比較典型的是本地權限提升漏洞,這類漏洞在Unix系統中廣泛存在,能讓普通用戶獲得最高管理員權限。
4.從觸發條件上看可以分為:
●主動觸發漏洞,攻擊者可以主動利用該漏洞進行攻擊,如直接訪問他人計算機。
●被動觸發漏洞,必須要計算機的操作人員配合才能進行攻擊利用的漏洞。比如攻擊者給管理員發一封郵件,帶了一個特殊的jpg圖片文件,如果管理員打開圖片文件就會導致看圖軟件的某個漏洞被觸發,從而系統被攻擊,但如果管理員不看這個圖片則不會受攻擊。
5.從操作角度看可分為:
●文件操作類型,主要為操作的目標文件路徑可被控制(如通過參數、配置文件、環境變量、符號鏈接燈),這樣就可能導致下面兩個問題:
◇寫入內容可被控制,從而可偽造文件內容,導致權限提升或直接修改重要數據(如修改存貸數據),這類漏洞有很多,如歷史上Oracle TNS LOG文件可指定漏洞,可導致任何人可控制運行Oracle服務的計算機;
◇內容信息可被輸出,包含內容被打印到屏幕、記錄到可讀的日志文件、產生可被用戶讀的core文件等等,這類漏洞在歷史上Unix系統中的crontab子系統中出現過很多次,普通用戶能讀受保護的shadow文件;
●內存覆蓋,主要為內存單元可指定,寫入內容可指定,這樣就能執行攻擊者想執行的代碼(緩沖區溢出、格式串漏洞、PTrace漏洞、歷史上Windows2000的硬件調試寄存器用戶可寫漏洞)或直接修改內存中的機密數據。
●邏輯錯誤,這類漏洞廣泛存在,但很少有范式,所以難以查覺,可細分為:
◇條件競爭漏洞(通常為設計問題,典型的有Ptrace漏洞、廣泛存在的文件操作時序競爭)
◇策略錯誤,通常為設計問題,如歷史上FreeBSD的Smart IO漏洞。
◇算法問題(通常為設計問題或代碼實現問題),如歷史上微軟的Windows 95/98的共享口令可輕易獲取漏洞。
◇設計的不完善,如TCP/IP協議中的3步握手導致了SYN FLOOD拒絕服務攻擊。
◇實現中的錯誤(通常為設計沒有問題,但編碼人員出現了邏輯錯誤,如歷史上博彩系統的偽隨機算法實現問題)
●外部命令執行問題,典型的有外部命令可被控制(通過PATH變量,輸入中的SHELL特殊字符等等)和SQL注入問題。
6. 從時序上看可分為:
●已發現很久的漏洞:廠商已經發布補丁或修補方法,很多人都已經知道。這類漏洞通常很多人已經進行了修補,宏觀上看危害比較小。
●剛發現的漏洞:廠商剛發補丁或修補方法,知道的人還不多。相對于上一種漏洞其危害性較大,如果此時出現了蠕蟲或傻瓜化的利用程序,那么會導致大批系統受到攻擊。
●0day:還沒有公開的漏洞,在私下交易中的。這類漏洞通常對大眾不會有什么影響,但會導致攻擊者瞄準的目標受到精確攻擊,危害也是非常之大。