遵循Unix哲学 简化系统最安全
作者:Chad Perrin
翻译:PurpleEndurer,2010-04-22第1版
分类:安全
标签:生产率,安全,软件工程,系统设计与实施
前言
在其它所有条件都相等的情况下,简单的方案更安全。
正文
为给定软件系统写的代码越多,bug出现的可能也越大。对代码行数和bug数量的统计分析显示:代码越多,bug越多。由于许多(即使不是全部)bug可能是可被利用的安全漏洞,因此一个单独的软件系统中的代码数量会对系统的安全产生重大影响。
为软件系统增加功能,而无视实现这些功能的代码行数,也会增加bug出现的机会。这是因为系统中的不同功能模块之间相互作用,有时会产生出人意思的效应,特别是在这些功能互相之间严重依赖的时候。这种危险会随着功能的增加而增大,因为多个功能可能同时依赖某一功能的行为——而且同时也可能反过来影响该单一功能的行为。这种相互依赖可能会产生预计不到的影响。
除了严格的技术安全的复杂后果,还有一个问题是对于复杂系统我们是否能了解。系统越复杂,个人对系统各部分可能会互相作用的所有方式也会越难理解。如果对系统各部分之间的这种互动没有完全理解,系统维护人员就不会认识到这些相互作用的安全问题,也因此而无法妥善解决这些问题。
显然,简化系统是一个重要的安全战略。有许多不同的战术有助于简化系统:
▲ 最小化设计(Minimal Design):要抵制向系统添加功能的冲动确实很困难,但抵制的回报的价值会在避免挫折和困难中得到体现。在考虑是否要为系统增加额外的功能时,应考虑这是否有实际需要,或则只是期望列表中可能永远不会真正有用的项目。
▲ 模块化(Modularity):许多人期望在单一整体系统中包含所有可能用到的功能,因此在某些情况下,一个单独系统可能有多种用途,这些用途可能涉及到系统的本地执行。如果能够把系统中这些需要在本地执行的部分挑选出来,将有助于保持该特定用途尽可能的简化。基于这个原因,把系统分解成“模块”,从而可以根据用户的需要包含或排除,有助于在不增加复杂性的前提下满足更多用户的需要。
▲ 关注点分离(Separation of Concerns):把功能分离到不直接互动的离散部分有助于减少系统的复杂性。这通常称为“关注点分离”。通过增加系统中各部件的独立性,每个部分的管理就会变得更加容易,不用担心系统突发安全问题。
Unix哲学中有一个基本原则是“尽力将一件事做到最好。”这种想法也是Unix系统中每个工具的设计理念:只做一件事情,并把它做好(do only one thing, and to do it well)。当同时有多个事情需要做时,多个工具可以一起使用,从而达到所需的复杂性,但这种复杂性不会成为系统本身的一个永久性的部分。Unix和类Unix系统在设计时提供了简单的机制,可以在离散的工具之间自动创建特定的临时连接,制作可以灵活地与其他工具协同工作来完成更复杂任务的单用途工具的策略是值得支持和鼓励的。
结论
尽管这种保持系统简单的方法可能不是一个针对系统安全问题的良方,但它涵盖了上述所有三个简化系统的要点:最小化设计,模块化和关注点分离。因此,在制作软件工具时遵循Unix哲学“做一件事并做好”的忠告,由此带来的安全效益不可忽视。
http://blogs.techrepublic.com.com/security/?p=3337&tag=leftCol;post-3337
分享到:
相关推荐
Unix 哲学 Unix 哲学 Unix 哲学 Unix 哲学 Unix 哲学 Unix 哲学 Unix 哲学
这是计算机安全最重要的问题,一般说来,未被授权使用的用户进入系统,都是为了获取正当途径无法取得的资料或者进行破坏活动。良好的口令管理 (由系统管理员和用户双方配合 ),登录活动记录和报告,用户和网络活动的...
unix系统安全检查参考 帐户安全配置要求 访问、认证安全配置要求
UNIX系统安全工具
本文档是HP-UX 操作系统的对于HP-UX操作系统设备账号认证、日志、协议、补丁升级、文件系统管理等方面的安全配置要求,共29项,对系统的安全配置审计、加固操作起到指导性作用。
UNIX系统安全 有以下几个方面的内容: 一、 UNIX系统安全基础 二、 UNIX系统安全规划 三、UNIX系统入侵防范 四、 UNIX系统入侵检测 五、 UNIX系统安全审计 六、 UNIX系统入侵恢复
UNIX系统管理-系统安全-网络安全技术与黑客攻击威胁.doc
本文首先介绍了UNIX 系统的不安全因素及UNIX 的安全防护机制,然后根据UNIX 系统的特点及本人的实践经验介绍一下如何来加强系统安全管理。
UNIX系统安全
UNIX系统安全,其中讲述很全面,是本很好的电子书
UNIX系统安全基础UNIX系统安全规划UNIX系统入侵防范.ppt
HP-UNIX操作系统安全配置规范.doc
尽管在运行迟缓的 UNIX 系统和您能够提取的统计信息之间可能并不存在直接的关联,但在发现系统运行迟缓的时候,第一件事就应该是收集尽可能多的信息。究竟是应该主动地(通过 ps、uptime 和其他工具)还是被动地...
安全保护机制 UNIX提供了非常强大的安全保护机制,防止系统及其数据未经许可而被非法访问。 稳定性好 在目前使用的操作系统中,UNIX是比较稳定的。UNIX具有非常强大的错误处理能力,保护系统的正常运行。 用户界面...
UNIX系统操作入门简化版.doc
UNIX编程哲学,不同的角度讲述UNIX的编程。
来自广东工业大学 UNIX 网络操作系统 实验 报告 一、 实验目的 1. 掌握UNIX系统的目录和文件管理命令。 2. 掌握shell的输入输出重定向操作符。 3. 编写shell脚本文件,并调试、执行它。 二、 实验要求 1. 要求每人...
UNIX系统下的网络安全服务!!!!!!!!!!!!!!!!!!!