根據缺陷形成的原因、被利用的可能性、造成的危害程度和解決的難度等因素進行綜合考慮,可以將常見的安全缺陷分為八類:
輸入驗證與表示(Input Validation and Representation)
輸入驗證與表示問題通常是由特殊字符、編碼和數字表示所引起的,這類問題的發生是由于對輸入的信任所造成的。這些問題包括:緩沖區溢出、跨站腳本、SQL注入、命令注入等。
API誤用(API Abuse)
API是調用者與被調用者之間的一個約定,大多數的API誤用是由于調用者沒有理解約定的目的所造成的。當使用API不當時,也會引發安全問題。
安全特性(Security Features)
該類別主要包含認證、訪問控制、機密性、密碼使用和特權管理等方面的缺陷。
時間和狀態(Time and State)
分布式計算與時間和狀態有關。線程和進程之間的交互及執行任務的時間順序往往由共享的狀態決定,如信號量、變量、文件系統等。與分布式計算相關的缺陷包括競態條件、阻塞誤用等。
錯誤和異常處理缺陷(Errors)
這類缺陷與錯誤和異常處理有關,最常見的一種缺陷是沒有恰當的處理錯誤(或者沒有處理錯誤)從而導致程序運行意外終止,另一種缺陷是產生的錯誤給潛在的攻擊者提供了過多信息。
代碼質量問題(Code Quality)
低劣的代碼質量會導致不可預測的行為。對于攻擊者而言,低劣的代碼使他們可以以意想不到的方式威脅系統。常見的該類別缺陷包括死代碼、空指針解引用、資源泄漏等。
封裝和隱藏缺陷(Encapsulation)
合理的封裝意味著區分校驗過和未經檢驗的數據,區分不同用戶的數據,或區分用戶能看到和不能看到的數據等。常見的缺陷包括隱藏域、信息泄漏、跨站請求偽造等。
代碼運行環境的缺陷(Environment)
該類缺陷是源代碼之外的問題,例如運行環境配置問題、敏感信息管理問題等,它們對產品的安全仍然是至關重要的。
安全缺陷級別:
回答所涉及的環境:聯想天逸510S、Windows 10。
根據缺陷形成的原因、被利用的可能性、造成的危害程度和解決的難度等因素進行綜合考慮,可以將常見的安全缺陷分為八類:
輸入驗證與表示(Input Validation and Representation)
輸入驗證與表示問題通常是由特殊字符、編碼和數字表示所引起的,這類問題的發生是由于對輸入的信任所造成的。這些問題包括:緩沖區溢出、跨站腳本、SQL注入、命令注入等。
API誤用(API Abuse)
API是調用者與被調用者之間的一個約定,大多數的API誤用是由于調用者沒有理解約定的目的所造成的。當使用API不當時,也會引發安全問題。
安全特性(Security Features)
該類別主要包含認證、訪問控制、機密性、密碼使用和特權管理等方面的缺陷。
時間和狀態(Time and State)
分布式計算與時間和狀態有關。線程和進程之間的交互及執行任務的時間順序往往由共享的狀態決定,如信號量、變量、文件系統等。與分布式計算相關的缺陷包括競態條件、阻塞誤用等。
錯誤和異常處理缺陷(Errors)
這類缺陷與錯誤和異常處理有關,最常見的一種缺陷是沒有恰當的處理錯誤(或者沒有處理錯誤)從而導致程序運行意外終止,另一種缺陷是產生的錯誤給潛在的攻擊者提供了過多信息。
代碼質量問題(Code Quality)
低劣的代碼質量會導致不可預測的行為。對于攻擊者而言,低劣的代碼使他們可以以意想不到的方式威脅系統。常見的該類別缺陷包括死代碼、空指針解引用、資源泄漏等。
封裝和隱藏缺陷(Encapsulation)
合理的封裝意味著區分校驗過和未經檢驗的數據,區分不同用戶的數據,或區分用戶能看到和不能看到的數據等。常見的缺陷包括隱藏域、信息泄漏、跨站請求偽造等。
代碼運行環境的缺陷(Environment)
該類缺陷是源代碼之外的問題,例如運行環境配置問題、敏感信息管理問題等,它們對產品的安全仍然是至關重要的。
安全缺陷級別:
回答所涉及的環境:聯想天逸510S、Windows 10。