- C和C++安全編碼(原書第2版)
- (美)Robert C.Seacord
- 538字
- 2020-10-30 17:56:34
1.2.4 漏洞利用
軟件中的漏洞是可以利用(exploitation)的。利用的形式多種多樣,包括蠕蟲、病毒和木馬等。
利用(exploit)
指借助軟件漏洞來違反一個顯式或隱式的安全策略的軟件或技術。
漏洞利用代碼的存在讓安全分析人員感到不安。因此,需要根據利用代碼的目的對其進行有效的區分。例如,驗證性(proof-of-concept)的漏洞利用代碼是為了驗證某漏洞確實存在而開發的。驗證性的漏洞利用代碼是必要的,因為有時軟件產商會因怕造成不好的影響或者不愿意負擔提供補丁程序所帶來的經濟開銷,而不愿承認軟件漏洞的存在。此外,有時漏洞很復雜,需要有驗證性的利用代碼向廠商證實該漏洞確實存在。
如果適當地加以管理,驗證性的漏洞利用代碼就是有益的。然而,我們也很容易發現,一旦那些代碼被心懷不軌的人所利用,它們將會迅速地變成蠕蟲、病毒或者攻擊者手中其他的兇器。
雖然安全研究者喜歡區分不同類型的漏洞利用,可實際上,所有的利用代碼都只不過是經過編碼了的知識,而知識就是力量。理解程序如何被利用是一個頗有價值的手段,它可以幫助程序員開發安全的軟件。然而,針對已知漏洞而傳播的相應的利用代碼會危害每個人的利益。因此在寫作本書的過程中,我們決定僅針對例子程序展示例子代碼。雖然僅有的這些信息已經可以用于各種目的,但是要想創建實際的利用代碼,仍然需要大量的知識和經驗。
推薦閱讀
- iOS Game Programming Cookbook
- C語言程序設計案例教程
- 自己動手寫搜索引擎
- 計算機圖形學編程(使用OpenGL和C++)(第2版)
- iOS 9 Game Development Essentials
- Visual Basic編程:從基礎到實踐(第2版)
- Web Development with Django Cookbook
- Flask Web開發入門、進階與實戰
- Java:Data Science Made Easy
- 現代C++編程實戰:132個核心技巧示例(原書第2版)
- C++編程兵書
- Unity Character Animation with Mecanim
- 大學計算機基礎實訓教程
- Visual Basic程序設計基礎
- SQL Server 2008實用教程(第3版)