官术网_书友最值得收藏!

1.2 安全概念

計算機安全(computer security)指的是阻止攻擊者通過未授權訪問或未授權使用計算機和網絡達到目的[Howard 1997]。安全包含開發和配置兩方面的元素。開發安全要求具有安全的設計和無瑕疵的實現;配置安全則要求系統和網絡被安全地予以部署以免遭攻擊。兩種安全不分主次,屬于雞和蛋的問題,不過有一點是確定無疑的:二者缺一不可。原因在于,就算能夠開發出極其安全的軟件,最后仍然需要對其進行安全的部署和配置。如果部署階段的工作沒有做好,即便設計為最安全的代碼也會給攻擊者以可乘之機。這種情形與最終用戶要求軟件易使用、易配置、易維護同時價格低廉的目標是矛盾的。

圖1.4展示了這些安全概念之間的關系。

程序是由軟件組件(software component)和定制開發的源代碼(source code)構建而成的。軟件組件是組成大型軟件程序的元素[Wallnau 2002]。軟件組件包括各種共享庫,例如,動態連接庫(DLL)和ActiveX控件、EJB(Enterprise JavaBeans)以及其他一些組合單元。軟件組件在運行時可靜態或動態鏈接到程序中。然而,軟件組件并不是由最終用戶直接執行的,它只不過是一個大程序中的一個組成部分而已。因此,軟件組件是不可以有漏洞的,因為它不可能脫離程序的上下文而獨立運行。源代碼指的是程序指令集的原始形式。“源”這個詞將代碼與它可能具有的其他任何形式(例如,目標代碼和可執行代碼)區分開。雖然有時也需要對代碼的“非源”形式(例如,當集成某些不包含源代碼的第三方組件時)進行分析,但我們在這里只關注“源”形式的代碼,因為本書的目標讀者主要是軟件開發人員(他們通常都可以訪問源代碼)。

圖1.4 安全概念、角色和關系

圖1.4還展示了人和物之間的關系。這些角色在不同的組織中有所不同,在本書中使用如下定義。

·程序員(programmer):對源代碼的正確性、性能和安全等特性負責。

·系統集成人員(system integrator):負責集成新的和現有的軟件組件,以創建滿足特定顧客要求的軟件或系統。

·系統管理員(system administrator):負責管理系統并維護其安全性,包括安裝和卸載軟件、給系統打補丁以及管理系統權限等。

·網絡管理員(network administrator):負責管理網絡安全事務。

·安全分析員(security analyst):關注安全缺陷并提供識別方法。

·漏洞分析員(vulnerability analyst):負責分析現有的和已部署的程序中的漏洞。

·安全研究員(security researcher):負責開發緩解措施和解決方案,可能從業于業界、學術界或政府。

·攻擊者(attacker):利用軟件漏洞達到其不可告人目的的壞家伙。他們的動機視威脅而定。攻擊者通常也稱為敵手、惡意用戶、黑客或其他別名。

主站蜘蛛池模板: 滦南县| 舟山市| 鄱阳县| 屏东县| 太仓市| 南城县| 冕宁县| 青龙| 伊宁县| 调兵山市| 广东省| 南漳县| 无棣县| 隆安县| 六安市| 金湖县| 北安市| 稷山县| 长葛市| 克东县| 正阳县| 平远县| 襄樊市| 贵德县| 炎陵县| 德惠市| 信宜市| 探索| 新化县| 健康| 郎溪县| 贵阳市| 安平县| 佳木斯市| 和田县| 苏尼特右旗| 博湖县| 东丰县| 姜堰市| 增城市| 汝城县|