Loading AI tools
来自维基百科,自由的百科全书
在電腦安全領域中的安全強化(hardening)也稱為安全固化,是指減少系統的攻擊表面,提昇系統安全性的作法。若系統的功能越多,攻擊表面就越大。理論上單一功能的系統會比多功能的系統要安全。減少攻擊可能性的方式一般包括有更換預設密碼、移除不必要的軟體、不必要的用戶或是登入、關閉或是移除不必要的服務。
![]() |
依照NIST的定義,安全強化是指:「利用增加漏洞的修補程式,關閉不必要的服務來消除攻擊表面的作法。」[1]
有許多對Unix及Linux系統安全強化的方式。這些包括有在內核增加像是Exec Shield或是PaX的修補程式,關閉通訊埠、架設入侵檢測系統(IDS)、防火牆及入侵預防系統(IPS)。不過也有來源認為防火牆、入侵檢測系統及入侵預防系統不算是安全強化。
也有用來安全強化的腳本語言和工具,像是Lynis、 Bastille Linux、Solaris系統的JASS以及Apache/PHP Hardener,這些工具可以在組態檔案中關閉不必要的功能,或是進行其他保護性的措施。
實務上,安全強化的目的有以下幾點:
安全強化也可能會降低系統的複雜度以及維護時需要花的心力,這也可以看成安全強化的另一個目的,可以增加系統受控的程度,減少管理錯誤的可能性。
二進制強化(Binary hardening)是一種分析並且修改二進位文件以避免常見暴露的安全技術。二進制強化和編譯器無關,和工具鏈(toolchain)有關。例如,有一種二進制強化技術是偵測潛在的緩衝區溢位,將已有的程式改為較安全的程式。處理二進制檔的優點是可以直接處理既有程式碼的漏洞,不需要其原始碼(原始碼可能已無法取得或是不完整。再者,相同的技術可以應用在由多個編譯器產生的二進制檔中,其中可能有些是比較不安全的。
二進制強化常伴隨著非確定性的,對控制流及指令位置的修改,其目的是避免駭客可以復用程式碼來進行攻擊。常見的強化技術有: