軟件漏洞成因有這些:
計算機系統結構決定了漏洞的必然性:現今的計算機基于馮·諾依曼體系結構,其基本特征決定了漏洞產生的必然。雖然計算機指令能夠決定這些串如何解釋,但是攻擊者常常在內存溢出類攻擊中,將數據溢出到可執行代碼中,然后選擇能夠被當作有效指令的數據值來達到攻擊的目的。
軟件趨向大型化,第三方擴展增多:現代軟件功能越來越強,功能組件越來越多,軟件也變得越來越復雜。現在基于網絡的應用系統更多地采用了分布式、集群和可擴展架構,軟件內部結構錯綜復雜。軟件應用向可擴展化方向發展,成熟的軟件也可以接受開發者或第三方擴展,系統功能得到擴充。
新技術、新應用產生之初即缺乏安全性考慮:伴隨信息技術的發展出現了很多新技術和新應用,如移動互聯網、物聯網、云計算、大數據和社交網絡等。隨著移動互聯網、物聯網的出現,網絡終端的數量呈幾何倍數增長,云計算和大數據的發展極大提高了攻擊者的計算能力,社交網絡為攻擊者提供了新的信息獲取途徑。總之,這些新技術、新應用不僅擴展了互聯網影響范圍,提高了互聯網的復雜度,也增大了漏洞產生的概率,必然會導致越來越多的漏洞的產生。
軟件使用場景更具威脅:網絡技術拓展了軟件的功能范圍,提高了其使用方便程度,與此同時,也給軟件帶來了更大風險。由于軟件被應用于各種環境,面對不同層次的使用者,軟件開發者需要考慮更多的安全問題。同時,黑客和惡意攻擊者可以比以往獲得更多的時間和機會來訪問軟件系統,并嘗試發現軟件中存在的安全漏洞。
對軟件安全開發重視不夠,軟件開發者缺乏安全知識:傳統軟件開發更傾向于軟件功能,而不注重對安全風險的管理。軟件開發公司工期緊、任務重,為爭奪客戶資源、搶奪市場份額,經常倉促發布軟件。軟件開發人員將軟件功能視為頭等大事,對軟件安全架構、安全防護措施認識不夠,只關注是否實現需要的功能,很少從“攻擊者”的角度來思考軟件安全問題。如果采用嚴格的軟件開發質量管理機制和多重測試技術,軟件公司開發的產品的缺陷率會低很多。在軟件安全性分析中可以使用缺陷密度(即每千行代碼中存在的軟件缺陷數量)來衡量軟件的安全性。以下各類軟件代碼缺陷的統計數據也說明了這個情況。
回答所涉及的環境:聯想天逸510S、Windows 10。
軟件漏洞成因有這些:
計算機系統結構決定了漏洞的必然性:現今的計算機基于馮·諾依曼體系結構,其基本特征決定了漏洞產生的必然。雖然計算機指令能夠決定這些串如何解釋,但是攻擊者常常在內存溢出類攻擊中,將數據溢出到可執行代碼中,然后選擇能夠被當作有效指令的數據值來達到攻擊的目的。
軟件趨向大型化,第三方擴展增多:現代軟件功能越來越強,功能組件越來越多,軟件也變得越來越復雜。現在基于網絡的應用系統更多地采用了分布式、集群和可擴展架構,軟件內部結構錯綜復雜。軟件應用向可擴展化方向發展,成熟的軟件也可以接受開發者或第三方擴展,系統功能得到擴充。
新技術、新應用產生之初即缺乏安全性考慮:伴隨信息技術的發展出現了很多新技術和新應用,如移動互聯網、物聯網、云計算、大數據和社交網絡等。隨著移動互聯網、物聯網的出現,網絡終端的數量呈幾何倍數增長,云計算和大數據的發展極大提高了攻擊者的計算能力,社交網絡為攻擊者提供了新的信息獲取途徑。總之,這些新技術、新應用不僅擴展了互聯網影響范圍,提高了互聯網的復雜度,也增大了漏洞產生的概率,必然會導致越來越多的漏洞的產生。
軟件使用場景更具威脅:網絡技術拓展了軟件的功能范圍,提高了其使用方便程度,與此同時,也給軟件帶來了更大風險。由于軟件被應用于各種環境,面對不同層次的使用者,軟件開發者需要考慮更多的安全問題。同時,黑客和惡意攻擊者可以比以往獲得更多的時間和機會來訪問軟件系統,并嘗試發現軟件中存在的安全漏洞。
對軟件安全開發重視不夠,軟件開發者缺乏安全知識:傳統軟件開發更傾向于軟件功能,而不注重對安全風險的管理。軟件開發公司工期緊、任務重,為爭奪客戶資源、搶奪市場份額,經常倉促發布軟件。軟件開發人員將軟件功能視為頭等大事,對軟件安全架構、安全防護措施認識不夠,只關注是否實現需要的功能,很少從“攻擊者”的角度來思考軟件安全問題。如果采用嚴格的軟件開發質量管理機制和多重測試技術,軟件公司開發的產品的缺陷率會低很多。在軟件安全性分析中可以使用缺陷密度(即每千行代碼中存在的軟件缺陷數量)來衡量軟件的安全性。以下各類軟件代碼缺陷的統計數據也說明了這個情況。
回答所涉及的環境:聯想天逸510S、Windows 10。