計(jì)算機(jī)安全
設(shè)計(jì)層面上的安全
計(jì)算機(jī)安全技術(shù)的基礎(chǔ)是邏輯學(xué)。安全性并非是大部分的計(jì)算機(jī)應(yīng)用的主要目的,而在設(shè)計(jì)時(shí)就考慮程序的安全性常常會(huì)對(duì)程序的運(yùn)行有所限制。
在計(jì)算機(jī)應(yīng)用上有四種安全設(shè)定,通常會(huì)結(jié)合使用:
信任所有軟件都遵守安全策略,但軟件本身不可信。
信任所有軟件都遵守安全策略,并且該軟件也被證實(shí)為可信的
不信任軟件,但通過(guò)不可信的保護(hù)機(jī)制執(zhí)行安全策略
不信任軟件,但通過(guò)可信的硬件機(jī)制執(zhí)行安全策略
許多系統(tǒng)無(wú)意中使用了以上的第一種設(shè)定。由于第二種方法成本昂貴和不確定性,其使用受到很大限制。第一種和第三種方法會(huì)導(dǎo)致失敗。第四種方法更具實(shí)用性,這是由于它通?;谟布C(jī)制,避免了抽象性和自由性。
設(shè)計(jì)安全系統(tǒng)有很多技巧和技術(shù)。但很少有有效的方法能夠在設(shè)計(jì)完成后提高安全性。有一種技術(shù)能最大程度地執(zhí)行最小權(quán)限原則,即一個(gè)實(shí)體只能擁有它所需要的權(quán)限。在這種方式下,即使攻擊者能夠進(jìn)入系統(tǒng)的某一部分,也難以進(jìn)入到其他部分。
另一方面,將系統(tǒng)劃分為小的組件可降低各部分的復(fù)雜性,并可以使用定理機(jī)器證明(automated theorem proving)來(lái)證明關(guān)鍵的軟件子系統(tǒng)的正確性。因此,當(dāng)單一的有特點(diǎn)的特性可以作為關(guān)鍵點(diǎn)被分離出,而此特性可被數(shù)學(xué)評(píng)估時(shí),安全的解析解(closed form solution)才會(huì)有效。在這種正確性證明不存在時(shí),嚴(yán)謹(jǐn)?shù)拇a審查(code review)和單元測(cè)試(unit testing)是最好的保證模塊安全的方式。
設(shè)計(jì)時(shí)應(yīng)使用縱深防御(Defense in depth),即當(dāng)多于一個(gè)子系統(tǒng)被誤用時(shí),系統(tǒng)的完整性和其存儲(chǔ)的信息才會(huì)受損。當(dāng)對(duì)一種安全措施的破壞不會(huì)使得對(duì)另一種措施的破壞變成更容易時(shí),縱深防御有效。同時(shí),串行原則表明,幾個(gè)簡(jiǎn)單的保護(hù)措施不能連接成為一個(gè)復(fù)雜的保護(hù)措施。
子系統(tǒng)應(yīng)被默認(rèn)在安全設(shè)置下,并應(yīng)盡可能設(shè)計(jì)為fail secure而非fail insecure。理想地,一個(gè)安全系統(tǒng)應(yīng)當(dāng)在合法用戶特意地,自由地決定之下才能使其不安全。
另外,安全不應(yīng)是全有或全無(wú)的問(wèn)題。系統(tǒng)的設(shè)計(jì)者和操作者應(yīng)假定安全性的違反是不可避免的。系統(tǒng)活動(dòng)應(yīng)有完整的審計(jì)日志,在違反安全性的活動(dòng)發(fā)生后才可確定其機(jī)制和程度。遠(yuǎn)程存儲(chǔ)審計(jì)日志可保護(hù)系統(tǒng)日志不被侵入者修改。最后,充分公布(full disclosure)有助于在系統(tǒng)漏洞被發(fā)現(xiàn)時(shí),盡可能地縮短此安全隱患存在的時(shí)間。
安全體系結(jié)構(gòu)
安全體系結(jié)構(gòu)定義為描述安全措施如何放置,如何與整個(gè)信息技術(shù)體系結(jié)構(gòu)關(guān)聯(lián)的設(shè)計(jì)作品。這些安全控制措施旨在維護(hù)系統(tǒng)質(zhì)量參數(shù),包括機(jī)密性,完整性,可用性,問(wèn)責(zé)制,保險(xiǎn)性。
保護(hù)計(jì)算機(jī)和數(shù)據(jù)的硬件機(jī)制
輔助計(jì)算機(jī)安全的硬件為僅基于軟件的計(jì)算機(jī)安全提供了另一個(gè)選擇。由于被損壞時(shí)要求物理接入,因此諸如dondle的設(shè)備被認(rèn)為更安全。
參考資料
Ross J. Anderson: Security Engineering: A Guide to Building Dependable Distributed Systems, ISBN 0-471-38922-6
Morrie Gasser:Building a secure computer systemISBN 0-442-23022-2 1988
Stephen Haag, Maeve Cummings, Donald McCubbrey, Alain Pinsonneault, Richard Donovan: Management Information Systems for the information age, ISBN 0-07-091120-7
E. Stewart Lee:Essays about Computer SecurityCambridge, 1999
Peter G. Neumann:Principled Assuredly Trustworthy Composable Architectures2004
Paul A. Karger, Roger R. Schell:Thirty Years Later: Lessons from the Multics Security Evaluation, IBM white paper.
Bruce Schneier: Secrets & Lies: Digital Security in a Networked World, ISBN 0-471-25311-1
Robert C. Seacord: Secure Coding in C and C++. Addison Wesley, September, 2005. ISBN 0-321-33572-4
Clifford Stoll: Cuckoo"s Egg: Tracking a Spy Through the Maze of Computer Espionage, Pocket Books, ISBN 0-7434-1146-3
Network Infrastructure Security, Angus Wong and Alan Yeung, Springer, 2009.
免責(zé)聲明:以上內(nèi)容版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請(qǐng)告知,我們將盡快刪除相關(guān)內(nèi)容。感謝每一位辛勤著寫的作者,感謝每一位的分享。
- 有價(jià)值
- 一般般
- 沒價(jià)值
{{item.userName}} 舉報(bào)
{{item.time}} {{item.replyListShow ? '收起' : '展開'}}評(píng)論 {{curReplyId == item.id ? '取消回復(fù)' : '回復(fù)'}}
{{_reply.userName}} 舉報(bào)
{{_reply.time}}