電腦保安

計算機安全(computer security)是計算機與網絡領域的信息安全(information security)的一個分支。其目的是在保證信息和財產可被授權用戶正常獲取和使用的情況下,保護此信息和財產不受偷竊,污染,自然災害等的損壞。計算機系統安全是指一系列包含敏感和有價值的信息和服務的進程和機制,不被未得到授權和不被信任的個人,團體或事件公開,修改或損壞。由於它的目的在於防止不需要的行為發生而非使得某些行為發生,其策略和方法常常與其他大多數的計算機技術不同。

設計層面上的安全

計算機安全技術的基礎是邏輯學。安全性並非是大部分的計算機應用的主要目的,而在設計時就考慮程序的安全性常常會對程序的運行有所限制。

在計算機應用上有四種安全設定,通常會結合使用:

  1. 信任所有軟件都遵守安全策略,但軟件本身不可信。
  2. 信任所有軟件都遵守安全策略,並且該軟件也被證實為可信的
  3. 不信任軟件,但通過不可信的保護機制執行安全策略
  4. 不信任軟件,但通過可信的硬件機制執行安全策略

許多系統無意中使用了以上的第一種設定。由於第二種方法成本昂貴和不確定性,其使用受到很大限制。第一種和第三種方法會導致失敗。第四種方法更具實用性,這是由於它通常基於硬件機制,避免了抽象性和自由性。

設計安全系統有很多技巧和技術。但很少有有效的方法能夠在設計完成後提高安全性。有一種技術能最大程度地執行最小權限原則,即一個實體只能擁有它所需要的權限。在這種方式下,即使攻擊者能夠進入系統的某一部分,也難以進入到其他部分。

另一方面,將系統劃分為小的組件可降低各部分的複雜性,並可以使用定理機器證明(automated theorem proving)來證明關鍵的軟件子系統的正確性。因此,當單一的有特點的特性可以作為關鍵點被分離出,而此特性可被數學評估時,安全的解析解(closed form solution)才會有效。在這種正確性證明不存在時,嚴謹的代碼審查(code review)和單元測試(unit testing)是最好的保證模塊安全的方式。

設計時應使用縱深防禦英語Defense in depth (computing)(Defense in depth),即當多於一個子系統被誤用時,系統的完整性和其存儲的信息才會受損。當對一種安全措施的破壞不會使得對另一種措施的破壞變成更容易時,縱深防禦有效。同時,串行原則表明,幾個簡單的保護措施不能連接成為一個複雜的保護措施。

子系統應被默認在安全設置下,並應儘可能設計為fail secure而非fail insecure。理想地,一個安全系統應當在合法用戶特意地,自由地決定之下才能使其不安全。

另外,安全不應是全有或全無的問題。系統的設計者和操作者應假定安全性的違反是不可避免的。系統活動應有完整的審計日誌,在違反安全性的活動發生後才可確定其機制和程度。遠程存儲審計日誌可保護系統日誌不被侵入者修改。最後,充分公布(full disclosure)有助於在系統漏洞被發現時,儘可能地縮短此安全隱患存在的時間。

安全體系結構

安全體系結構定義為描述安全措施如何放置,如何與整個信息技術體系結構關聯的設計作品。這些安全控制措施旨在維護系統質量參數,包括機密性,完整性,可用性,問責制,保險性。

保護計算機和數據的硬件機制

輔助計算機安全的硬件為僅基於軟件的計算機安全提供了另一個選擇。由於被損壞時要求物理接入,因此諸如dondle的設備被認為更安全。


參考文獻

引用

來源

外部連結