简介:
定义透过隐匿来实现安全
评估透过隐匿来实现安全的措施
评量重新命名系统管理员帐户的价值
订定明智的风险管理决策
「透过隐匿来实现安全」(Security through obscurity)一词常受到安全性人员 (特别是那些喜欢自称专家的人) 的讥讽。那些讥讽几乎与某些圈子所用的四个字母的字没什么两样,
根据 Wikipedia (en.wikipedia.org/wiki/Security_through_obscurity) 的描述,「透过隐匿来实现安全」所表现的,正是安全性真正引起争论的一面。您常常会看到有些人的努力,因为被戏称为「只不过是透过隐匿来实现安全」而遭到漠视。
简而言之,透过隐匿来实现安全违反了科克霍夫法则 (Kerckhoffs' Principle),这项法则认为系统应该是因为它本身的设计而受到保护,而不是因为攻击者不知道它的设计而得到保护。科克霍夫法则的基本前提是,保密的时间根本维持不了多久。
其中一个非常贴切的例子就是 Windows NT® LAN Manager (NTLM) 验证通讯协定,它最初是被视为设计秘密。为了针对 UNIX 作业系统实作 Samba 交互操作性产品,Samba 小组不得不对通讯协定进行反向工程。此举不但产生出最完备的 NTLM 说明文件 (monyo.com/technical/samba/translation/ntlm.en.html),同时也发现了许多问题。由于密码编译引发了这么多的安全性考量,加上揭露了这么多秘密设计,因此许多从事安全性的人深信,所有的资讯安全性都应该遵守科克霍夫法则。
但是透过隐匿来实现安全真的只是有害无益吗?本文将解释何谓透过隐匿来实现安全,尝试点出为什么许多人都认为它是浪费时间 (而其他人则不以为然) 的作法,并且向您说明为什么答案总是比当初看起来的複杂得多。