攻擊面是未經授權的用戶可能嘗試進入系統、從中擷取資料或造成危害的所有點的總和。
攻擊面常被用作衡量系統暴露程度的粗略指標。攻擊面越小,攻擊者可入侵的途徑就越少,因此縮小攻擊面是安全設計的核心原則之一。不過也值得注意的是,一旦攻擊者已經入侵系統,較小的攻擊面並不會降低其可能造成的損害;它只會降低攻擊者可能入侵的途徑數量。
為了找到入侵途徑,攻擊者往往只需要一個脆弱點。在更複雜的攻擊嘗試中,他們可能會先繪製系統地圖,列出其裝置與連線,接著在選定攻擊位置之前,逐一尋找各個節點的弱點。
縮小攻擊面是打造更安全系統的常見方法。一些可能有幫助的基本措施包括:
執行更少的程式碼:程式碼行數越少,通常代表潛在攻擊向量越少。
限制入口點:存取系統的方式越少,通常就會留下越少讓未經授權用戶鑽漏洞的空間。
關閉不必要的功能:停用僅少數用戶使用的服務,可移除原本可能成為攻擊者目標的功能。
將這些做法一併採用,有助於讓系統更精簡,通常也更能抵禦入侵,但任何方法都無法完全消除風險。