acm-header
登录

ACM通信

实践

你必须信任谁?


你必须信任谁?插图

图片来源:Michael Glenwood

回到顶部

在他的小说中钻石时代5Neal Stephenson描述了一个被建构的社会(称为一个宗族)建立在对同伴极度信任的基础上。成员资格的要求之一是,不时要求每个成员承担任务,以加强这种信任。例如,一名phyle成员可能会被告知在特定的时间到达悬崖顶部的特定位置,在那里他会找到连接脚踝的蹦极绳。绳子的另一端延伸到灌木丛中。到了约定的时候,他要把绳子系在脚踝上,从悬崖上跳下去。他必须相信那个被分配到把蹦极的另一端固定在一棵粗大树上的看不见的同伴确实完成了他的工作;否则,他就会掉下去摔死。第三个成员暗中监视,以确保前两个人不以任何方式交流,只依靠信任来防止悲剧发生。

你信任谁,你信任他们什么,以及你对他们的信任程度是当今互联网的中心,也是你技术生活的每一个其他方面。

这里有一个实验。在各种各样的混合使用社区散步,这里有各种各样的住宅和企业。在白天,午餐前后散步。在夜间散步,在夜间活动的高峰期。在深夜散步,在大多数东西都关闭之后。每次外出时,让自己处于一种安全的心态,也就是说,用小偷的眼光去观察,注意你所看到的。

例如,在白天,在繁忙的路边咖啡馆,人们会把自己的东西放在桌子上,然后进去点餐,以此来预订户外的桌子吗?他们用购物袋来做这个吗?他们的车和房子钥匙?他们的钱包吗?

深夜里,那些桌椅是放在外面还是里面?他们被拴在一起了吗?这些链条是轻的还是结实的?

邻居的房子有门廊家具或草坪工具从街上可以看到吗?他们被关起来了吗?你看到家里窗户上的铁栏了吗?家里的车停在外面吗?他们有方向盘锁吗?

邮政人员或快递服务人员会把包裹放在家门口无人看管吗?报刊亭开门前是否会把成捆的报纸和杂志放在前面?

这些观察,以及更多的观察,都是人们对邻居和社区的隐性信任水平的标志。人们自己甚至可能不会想到这些事情。他们可能会把东西留在门廊上,也许是偶然的,没有什么不好的事情发生,所以他们不担心再次发生。过了一段时间,他们甚至都没有注意到这一点。

回到顶部

Heartbleed

2014年春天,开源包OpenSSL中的一个漏洞广为人知。被称为心脏出血(http://heartbleed.com),该漏洞已经存在了一段时间,可能已经被一些人知道,但直到最近,OpenSSL包中的问题才被全面披露,引起公众的注意。OpenSSL已经被许多专家审查过了,在此之前,它一直是互联网生态系统中得到广泛使用和信任的一部分。在撰写本文时,没有证据表明除了OpenSSL贡献者的编程错误之外还有其他原因。

在“心脏出血”漏洞公开之前的那个早上,几乎没有人熟悉OpenSSL,也几乎没有再考虑它提供的功能。那些知道它的人通常对它有很强的信任。到那天结束的时候,一切都变了。系统管理员和各种规模的公司都在争先恐后地控制这个问题。在短短几天内,这款鲜为人知的专业软件就登上了新闻的头条,坐在户外咖啡馆用房屋和汽车钥匙预定的桌子旁的陌生人用他们可能谈论其他灾难的口吻讨论起它来。

回到顶部

系统管理员

在Internet上工作的一切的核心是系统管理员。他们有时是技术熟练的专家,有时是低工资和缺乏训练的志愿者,有时是已知或未知的来源。他们经常长时间不受赏识地工作,在幕后解决问题或那些太明显的问题。他们可以使用普通用户无法使用的系统。

其中一名系统管理员为国家安全局工作。他叫爱德华·斯诺登。您现在对他的了解可能比您对任何系统管理员的了解都要多,即使您自己就是系统管理员。

另一个不太为人熟知的名字是特里·蔡尔兹,3.7他于2008年因拒绝泄露该市FiberWAN网络的管理密码而被捕。


无论您选择什么组件或服务,都要考虑它们是如何进行可信度测试的。


这个网络构成了许多城市服务的核心。据报道,蔡尔兹是一名高素质的认证网络工程师,他对这座城市的网络占有欲很强,大部分都是他自己设计和实现的——也许占有欲太强了,因为他成为了网络的唯一管理员,声称不信任同事的能力。他允许自己全年24小时随叫随到,而不是委派给那些他认为不太合格的人。

一位新老板违背了Childs的意愿,想要审计该网络,在与他发生争执后,该市的CIO要求Childs向FiberWAN提供管理证书。查尔兹拒绝了,他因此被捕。他的上司说他疯了,想破坏网络。蔡尔兹声称,他不想向不合格的个人提供敏感的访问凭证,因为他们可能会破坏“他的”网络。

2010年,查尔兹被判犯有篡改网络的重罪,被判处四年监禁,并赔偿该市为重新控制该网络而付出的150万美元。上诉法院维持了这一判决。

查尔兹是一个狂热分子,为了自己的利益而紧紧抓着不放,还是一个高度负责的网络管理员,不允许他认为不称职的人管理他的网络?他的案例引发了以下问题:

  • 这样的事情会发生在你的企业吗?你怎么知道这个问题在发展,之前这成了一个严重的问题?
  • 你们有什么保障措施来防止像这样的单点权力集中?
  • 如果您的组织发现自己处于这种情况下,您会怎么做?

回到顶部

你必须信任谁?

有些人梦想回归自然,远离人类生活。他们将建造自己的小屋,自己种植或种植食物,完全依靠自己的双手和可靠的斧头建造的基础设施生活。但这把斧子是谁做的?即使你可以用当地的材料制作手工切割的燧石斧,它也远远不是“可靠的”,而且你用燧石斧所能切割的木材数量与你用现代钢斧所能切割的相比相形见绌。所以,如果你带着一把现代斧头进入森林,你真的能说你是独立于这个世界的吗?

如果你在互联网上工作,或为互联网提供一些服务,你会有类似的问题。如果您打算提供一个现代的、有用的网络服务,就不能编写所有的代码。网络堆栈、磁盘驱动程序、Web服务器、调度程序、中断处理程序、操作系统、编译器、软件开发环境以及运行一个简单Web服务器所需的所有其他层都经过了多年的发展。完全根据规范进行重新设计,而在过程中的任何地方都不使用其他人的代码,这不是胆小者的任务。更重要的是,你不能完全信任它,即使你真的写了所有的东西。在您能够提供单个数据包之前,您将永远在测试和修复错误,更不用说一个简单的Web页面了。

您也不能构建运行该服务的所有硬件。制造一个简单的晶体管所需的工具层都是令人生畏的,更不用说制造一个微处理器所需的工具层之上了。你也不能建立自己的互联网来托管它。您必须信任提供该服务所需的一些基础设施。但是是哪几块呢?

回到顶部

你需要多少信任?

要确定您的信任需要扩展到什么程度,首先要评估您的服务和妥协的后果。任何有趣的服务都会为用户提供一些价值。许多服务为它们的提供者提供了一些价值。你的服务有什么价值,这种价值如何可能被破坏?

一旦您处理了这些问题,您就可以开始考虑提供这种服务所需的最少组件和服务,以及您必须信任哪些组件。

编写您自己的软件可以是这个练习的一部分,但是要考虑由此产生的大量安全性,即所谓的“通过模糊实现的安全性”。攻击会失败,因为攻击者不理解你的代码。如果您选择隐晦的路径作为策略,那么您就是在打赌,没有人会对攻击您的服务表现出兴趣,您的程序员比其他人更擅长以新颖的方式编写隐晦的代码,并且即使代码是隐晦的,它仍然足够安全,决心突破它的人将会被阻挠。历史证明,这些都不是好赌注。

回到顶部

别人信任谁?

更好的方法可能是调查该领域,看看其他处于类似职位的人在做什么。毕竟,如果您的大多数竞争对手都相信某个软件包是安全的,那么如果它失败了,您也会面临同样的情况。当然,也存在变数,因为任何软件,即使是最好的软件,如果安装或配置不当,也可能是不值得信任的。此外,你的竞争对手可能搞错了。

这种方法的一个变体是找出所有竞争对手的软件希望他们可以利用。使用他们现在使用的技术,可能会让你在投入使用时落后一代。另一方面,向前移动一代可能会让你容易出现尚未被发现的缺陷。诀窍在于做出明智的选择。

回到顶部

如何评估服务的安全性?

无论您选择什么组件或服务,都要考虑它们是如何进行可信度测试的。想想这些被认为是19世纪荷兰语言学家和密码学家Auguste Kerckhoffs提出的原则:

  • 这个体系如果不是理论上牢不可破,那么在实践中也应该牢不可破。
  • 系统的设计不应该要求保密,系统设计的妥协不应该给通信者带来不便。

Kerckhoffs谈到了密码系统中的密码设计,但他在这里列出的两个原则可以应用于许多安全问题。

在为您的企业考虑组件时,您应该询问它们是否符合Kerckhoffs的原则。如果他们看起来是,谁说他们是?这是开源软件最有力的例子之一。如果操作得当,开源代码的质量和安全性可以与专有代码相媲美。2

对于您希望订阅的服务,请考虑对其进行审计的频率和彻底程度,以及由谁进行审计。服务提供者会发布结果吗?他们是否允许潜在客户看到结果?测试结果是显示了他们的缺陷,并描述了他们是如何修复或补救的,还是只是给了一个整体的赞?

回到顶部

先考虑坏的情况

传奇人物弗雷德·布鲁克斯,他是神话中的男人月1有句名言:“所有的程序员都是乐观主义者。”Brooks的意思是,程序员倾向于认为他们可以比实际需要的时间更快地完成项目。但是,随着通信自己的Kode Vicious经常指出,这也涉及到安全问题。开发人员通常先编写他们想要处理的用例,如果有足够的时间,则稍后填写错误处理代码。

然而,当您担心安全问题时,反转这些操作的顺序是很有意义的。例如,如果您的应用程序需要一个加密证书来操作,那么安全程序员应该考虑的首要问题之一是如何撤销和替换该证书。从这个角度选择证书供应商可能与通常的标准(几乎总是成本很高)截然不同。从一开始就构建敏捷基础设施,其中替换加密证书是直接的、容易的,并且对最终用户的影响最小,这为最小化对任何一个供应商的信任指明了方向。

开发一个可以轻松交换证书的基础设施会导致下一个有趣的问题:您如何知道何时交换错误的证书?也许这个问题可以反过来问:换一个证书要花多少钱,付出多少努力,还要让客户不满意?如果可以便宜、快速、轻松地完成,并且没有客户的注意,也许应该经常完成,以防万一。如果操作得当,频繁更改证书将有助于限制任何损害的范围,即使最初没有注意到问题。

但是这里有龙!有些人可能阅读了前面的段落,并认为拥有每周过期的证书,例如,就不需要监视基础设施的问题,或者不需要撤销错误的证书。远非如此!所有这些步骤都是必要的。安全是一个皮带和背带带的世界。

对已知威胁进行良好监控的基础设施是信任等式的另一部分。如果您确信您的基础结构和人员将使您意识到某些类型的问题(或潜在的问题),那么您就可以开发和实践处理这些问题的过程。

正如美国前国防部长唐纳德·拉姆斯菲尔德所说,这包括了“已知的未知”4说过了,那"未知的未知"呢?几年来,《心脏出血》就是其中之一。OpenSSL中的错误是存在的,对于那些知道它并知道如何做的人来说是可以利用的。在撰写本文时,我们不确定是否有人利用了它,但如果有人这样做了,漏洞的本质是,利用后几乎不会留下任何痕迹,因此很难确定。

在提供网络服务时,有两种主要的“未知的未知”需要注意。第一种是那些你不知道,但其他人可能知道并公开披露或讨论过的未知信息。我们称它们为“可发现的未知”。你现在还不知道它们,但你可以从经验中或从别人的经验中了解它们。

当且仅当你努力去发现时,可发现的未知才会被发现。要做到这一点,最实用的方法是创建自己的“情报机构”。如果你愿意使用,因特网上有很多安全资源。在安全问题上,也充满了误导、夸大和利己主义。诀窍在于了解哪些资源是黄金,哪些是傻瓜的黄金。这需要练习,不幸的是,常常以大大小小的错误为代价。

一个谨慎、积极的组织有专门的人员和预算来获取和培养安全资源。这包括有人评估可能的网站,并定期阅读它们;订阅信息服务;保安组织成员资格;去参加会议;和一般人培养良好的交往关系。它还包括帮助处于类似情况的其他组织,如果可能的话,成为开源世界的好公民和参与者。如果你帮助你的朋友,他们通常会在你需要的时候帮助你。

第二种类型的未知可以称为“意外的未知”。你不知道它们是什么,你甚至不知道它们是否存在,你也不专门去寻找它们。但是您可以通过观察您的网络的行为来寻找它们。如果您有办法了解网络、系统或应用程序的基线行为,那么您就可以将该基线与系统现在正在执行的操作进行比较。这可能包括监视服务器的意外进程、关键软件的意外校验和、在不寻常的地方创建的文件、意外的负载变化、意外的网络或磁盘活动、执行特权程序的失败尝试,或不寻常的成功尝试。对于网络,您可能会寻找不寻常的协议、不寻常的源或目的IP地址,或者不寻常的高或低流量概要文件。你越能描述你的系统应该在做什么,你就越容易发现它在做别的事情。

检测异常是一回事,但跟踪检测到的异常至少同样重要。在互联网的早期,克利福德·斯托尔,6当时,加州劳伦斯伯克利实验室的一名研究生注意到,在他管理的一些计算机系统上,有一个75美分的会计错误。很多人可能会忽略它,但这让他很困扰,以至于他找到了它。那次调查一步步地发现了一名名叫马库斯·赫斯(Markus Hess)的攻击者,他被逮捕、审判并被判犯有间谍罪和向苏联克格勃(KGB)出售情报的罪名。

意外的未知可能被发现,如果它们能被发现的话,通过反应的方法。异常情况必须被发现,追踪并解释。日志必须被阅读和理解。但是对已知攻击的防御也可以防止来自未知攻击的意外。最小化网络的“攻击面”也将最小化攻击者的妥协机会。对网络的划分和对常规流量模式的密切描述有助于发现不寻常的东西。

回到顶部

你能做什么?

如何在商业、学术或工业计算环境中管理信任问题?

一个实践者能做的最重要的一件事就是放弃这个任务会被完成的想法。不需要购买设备,不需要安装软件,也不需要实现任何协议来满足您的所有信任和安全需求。永远不会有一天你会完成它,然后去做其他的事情。

安全是一个过程。这是一门你可以通过学习、思考和不断的练习来学习应用的武术。如果你不经常练习和练习,你就会对它生疏,当你需要它的时候,它就不会为你服务。即使你成为了这方面的专家,攻击者有时也会制服你。然而,你在这个过程中做得越好,对你造成伤害的对手数量就越少,伤害就越小,你就能更快地恢复过来。

以下是一些你可以努力的基本领域。

知道你信任谁,你信任他们做什么.尽管“信任之网”是一个被过度使用的术语,但它描述了你正在构建的东西。与任何复杂的结构一样,您应该有一个计划、一个图表或其他形式的枚举,这些枚举需要信任机制来支持您的企业。以下实体可能在这样的计划中:数据中心提供者(电源、a /C、LAN);电信链路供应商;硬件供应商;付费软件供应商;开源软件供应商;密码证书供应商;时间源供应商; systems administrators; database administrators; applications administrators; applications programmers; applications designers; security engineers.

当然,里程可能有所不同,而且可能有更多的实体。无论你生成的列表上有什么,对每个条目执行以下练习:

  • 确定这个实体信任谁来做这项工作,以及谁信任这个实体。
  • 估计如果这个实体不能正确地完成工作的后果。
  • 如果这个实体是试图以某种方式破坏企业的不良行为者(未经授权提取信息、拒绝服务、向您的客户或您自己提供不良信息,等等),估计后果。
  • 对每个后果的严重性进行评级。

知道如果任何一个实体失去了你的信任,你会怎么做.现在,您已经有了企业可能受到影响的可能方式的集合,并按严重程度进行了排序,您可以计算出将如何处理每个项目。这可以根据你的习惯简单或复杂,但请记住,你正在创建你的操作手册的关键部分,所以如果你的计划不能在这些情况发生时变成行动,它们将没有多大价值。


开发一个可以轻松交换证书的基础设施会导致下一个有趣的问题:您如何知道何时交换错误的证书?


以下是一些可能需要的后果和行动的例子:

  • 一个关键的开源包被发现有严重的bug,必须被替换为一个更新的、修复bug的版本;替换为具有相同API的不同包;使用不同的API替换为不同的包;或者在找到解决办法之前有所缓解。你的计划应该是处理这些情况的一个很好的指南。
  • 一个关键系统管理员一直在向可能不友好的第三方提供网络访问。您必须:确定信息丢失的程度(或者您的信息被修改了吗?)确定是否有系统因后门访问而受到损害;确定系统管理员下的其他哪些系统可能受到影响;找出处理人事问题的最佳方法(解雇、调动、法律诉讼)。
  • 关键数据中心因灾难或攻击而无法使用。你必须:移动到备用位置;或者临时建立一个备份数据中心。

练习,练习,再练习.有一个计划是很好的,但如果它是在一个满是灰尘的文件柜里,或者更糟的是,在一台机器的存储卷上,而正是在您计划的情况下,它是不可用的,那么它对任何人都没有帮助。即使计划是现成的,在危机期间第一次执行它也是确保它不会起作用的好方法。

确保你的计划是可行的最好方法就是实践。这意味着每个计划都需要有一个模拟原因和评估结果的方法。有时,这很容易,只需关闭冗余服务器并验证服务是否继续。其他的则更难以模拟。即使只是在桌面上讨论需要做什么,也比从不实践你的应急计划好。

实践也可以采取常规操作的形式。例如,Heartbleed要求许多服务提供商撤销和重新颁发证书。如果这对您的企业来说是一个关键的恢复操作,那么请找到一种方法将该过程工作到您的常规业务过程中,可能是每月撤销并重新颁发一次证书。

其他操作也可以从实践中获益,例如从备份中恢复文件;重建一个重要的服务器;将操作转移到备份数据中心;或者验证备用电源的可用性以及你切换到备用电源的能力。

设置捕鼠器.防御攻击者(或墨菲定律)最重要的一步是了解你有问题。如果你了解你的信任关系,谁被信任什么,谁不被信任,那么观察违反这些关系将是非常有教育意义的。每一个违规行为都可能属于以下一类:

  • 一种非法但合法的信任关系。例如,这可能是系统管理员在执行分配给他们的工作,但是在构建信任映射时,该工作被不恰当地忽略了。
  • 一个可能合理但未被考虑的潜在信任关系,必须对其进行评估并将其添加到信任映射中或明确禁止。例如,系统管理员执行未分配但必要的工作以保持系统运行。
  • 不合理的或不合法的使用

知道是哪一种情况的唯一方法是调查每一种情况并相应地修改您的信任映射。就像所有这种性质的东西一样,捕鼠器必须定期测试,看它们是否还能用。

审查你的关键人员.信任系统管理员通常表现为管理层对系统管理员说,“这是所有东西的密钥”,然后或多或少地盲目信任这些密钥不会被滥用。或者用科幻小说作家罗伯特·海因莱因的话来说:“令人惊讶的是,成熟的智慧多么像太累了。”这种盲目信任是自找麻烦。

另一方面,密切跟踪系统管理员并强迫他们为希望执行的每个特权操作请求许可,可能会使组织陷入困境。很有可能,系统管理员和许可授予者都将对此感到厌倦,组织将回到完全信任的状态。


有一个计划是很好的,但如果它是在一个满是灰尘的文件柜里,或在一台由于你正在计划的情况而无法使用的机器的存储卷上,那么它对任何人都没有帮助。


在这两个困难之间航行的一个好方法是雇用优秀的人并善待他们。与他们沟通以加强组织的安全和信任目标几乎同样重要。如果他们知道什么必须做,什么不能做,至少在一般原则上,知道为什么这些约束是好的,那么他们在紧要关头采取适当行动的可能性就更大。

记录他们做了什么.让别人定期检查这些日志。好人也会犯错,有时甚至会误入歧途。普通的非特权(在安全意义上)员工仍然应该对工作场所的隐私有合理的期望,但系统管理员应该知道,在执行敏感任务或访问敏感资源时,他或她正在被监视。此外,鼓励系统管理员在至少有一名级别相同或更高的人员在场的情况下执行极其敏感的任务。这样,其他人可以证明所采取的行动是必要和合理的。

在可能的情况下,记录系统管理员使用他们的特权所做的事情,并让第三方定期检查这些日志是否异常。第三方应该与系统管理员或其他具有可信访问权限的员工保持足够的距离,这样就不会有任何个人或专业关系影响对日志的解释。

调查你的怀疑,并根据你的发现采取行动。提前让你信任的人知道你会这么做。让他们知道,他们的职责是让他们知道,如果信任被违反,他们是名单上的第一个嫌疑人。

尽量减少你的弱点.一旦您知道了哪些方面容易受到攻击,就要制定计划来最小化和减轻这些弱点。如果你能堵上这个洞,那就堵上它。如果你不能关闭它,那就限制通过这个洞可以做的事情。如果你不能限制可以做什么,那就限制谁可以做它,以及什么时候可以利用它。如果您不能限制任何东西,那么至少要度量是否发生了利用。你可能没有一个完美的解决方案,但你对一个潜在的问题设置的限制越多,它就越不可能成为一个真正的问题。

分层安全措施.当谈到信任时,你不应该依赖任何一个实体来获得安全。这就是所谓的“纵深防御”。例如,如果可以有多层加密,每一层都实现不同(例如,一层依赖于OpenSSL,另一层使用不同的包),那么单个漏洞不会使您完全暴露。

这是一个很好的理由来查看您的企业的每个组件,并问:如果这些组件被破坏了怎么办?

练习敏捷.如果一个组件被破坏了,你将如何替换它,用什么替换它?换台需要多长时间?理论在这里不算。您需要准备好切换软件包、供应商或硬件,以保证足够的安全性。例如,您的采购部门要花多长时间来处理一个新的许可证的文书工作?要多久才能签下采购订单?供应商多久能交货?

这不是你做一次就认为你已经准备好了的工作。您需要定期重新访问所有组件,并随着环境的变化对每个组件执行这种分析。

像攻击者那样查看您的网络.了解网络的“构建”配置,而不仅仅是“指定”配置。记住,内置配置每天都可能发生变化。这意味着你必须有人来测量网络,有工具来检查它。每个组件提供什么网络服务?是否需要这些服务?它们是否只提供给需要它们的地方?所有组件都打了补丁吗?它们是否用于检测和报告攻击企图?有人看过那些日志吗? What is the longest period of time between when an attack happens and when somebody notices it? Are there any events (such as holidays) when the length of time an attack goes unnoticed might increase?

互联网上有大量免费或廉价的安全分析软件。这些是攻击者和防御者经常使用的工具。通过攻击者可能使用的相同工具查看您的网络,可以学到一些东西。

跟踪安全问题并确认它们已得到解决.如果您发现了一个问题,如何跟踪它?谁负责把它放进追踪系统,把它交给能修好它的人,然后把它修好?你如何衡量问题的存在?您是否在应用修复后再次测量以确保其工作?

开发自己的安全情报资源.您的组织是否有专人跟踪用于潜在安全问题的技术?他们多久检查一次?当他们报告问题时,他们被倾听了吗?

你所依赖的任何设备、软件、供应商或人员都应该定期进行调查。以质量安全为重点的网站是存在的,但它们的数量往往被那些出售产品或传播错误信息的网站所包围和超过。让员工获得辨别好坏的专业知识是非常有价值的。

为大问题做好计划.如果您运行的是一个网络企业,无论您提供的是公共、私有或内部的服务套件,您都会发现受信任的服务辜负你,迟早的事。反复。你如何应对这些信任的缺失将成为你公司声誉的重要组成部分。如果您明智地选择您的供应商、合作伙伴和组件,认真地计划对困难情况的反应,并在时机到来时执行您的计划,那么从长远来看,您将比那些在“运气”项下进行危机计划的人表现得更好。

回到顶部

结论

信任的问题并不新鲜。如果有的话,那就是唯一的部分原因是人们错误地认为事物是可以信赖的,因为很多新事物似乎都是值得信赖的。这是一种有时令人安慰的错觉,但尽管如此,它仍是一种错觉。要创造任何有价值的东西,你必须信任某些人、产品和服务。明智地信任他人是一项需要时间来学习的技能。在这个过程中,错误会层出不穷。为自己的错误和他人的错误做计划是信任的关键。

一般来说,采用符合良好可信度标准的东西,并通过审计、分层或添加到开源中来为其增加价值,要比自己开发更好、更快、更安全。准备好对所选择的组件、将它们包含在其中的系统以及构建和维护该系统的人员保持警惕。要为麻烦做好准备,因为麻烦总会找上门来。

如果你想完成任何事情,你必须有一定的信任,但你不能让自己自满。托马斯·杰斐逊说过:“永远的警惕是自由的代价。”这也是安全的代价。

回到顶部

致谢

感谢Jim Maurer和George Neville-NeilACM队列感谢编委会对本文的鼓励和支持。本文的扩展版本可在以下网站获得http://queue.acm.org/detail.cfm?id=2630691

ACM队列的q戳相关文章
queue.acm.org

答案当然是42
托马斯Wadlow
http://queue.acm.org/detail.cfm?id=1071727

大规模分配武器
帕特里克·麦肯齐
http://queue.acm.org/detailcfm?id=1964843

LinkedIn密码泄露:给他们的伪装撒盐
Poul-Henning坎普
http://queue.acm.org/detail.cfm?id=2254400

回到顶部

参考文献

1.小布鲁克斯,F.P.神话中的人月.addison - wesley, 1975年。

2.Coverity。Coverity Scan报告发现,2013年开源软件的质量首次超过了专有代码;http://www.coverity.com/press-releases/coverity-scan-report-finds-open-source-software-quality-outpaces-proprietary-code-for-the-first-time/

3.麦克米伦,r。IT管理员封锁了旧金山的网络。PCWorld的这个清单,2008;http://www.pcworld.com/article/148469/article.html

4.拉姆斯菲尔德,新闻发布会(2002年2月12日);http://www.c-span.org/video/?168646-1/DefenseDepartmentBriefing102

5.斯蒂芬森,N。钻石时代.矮脚塔姆光谱,1995。

6.斯托尔,C。布谷鸟的蛋.布尔,1989年。

7.维尼齐亚,p,在调查特里·查尔兹一案的事实。首席信息官(2008年7月31日);http://www.cio.com.au/article/255165/sorting_facts_terry_childs_case/?pf=1

回到顶部

作者

托马斯Wadlow是旧金山的一名网络和计算机安全顾问,他喜欢那里的咖啡馆,但是从来没有他用钥匙救了一张户外桌子。


版权归所有者/作者所有。授权ACM出版权利。

数字图书馆是由计算机协会出版的。版权所有©2014 ACM, Inc.


没有找到条目

Baidu
map