看雪论坛
发新帖

[分享]《安全之美》(Beautiful Security)样章连载

zhengbindu 2011-4-20 10:26 24234

书名:安全之美(分享卓越安全专家的思考)
原书名:Beautiful Security
作者:Andy Oram & John Viega  编
出版时间:2011年5月
定价:65.00元
出版社:机械工业出版社

内容简介:
大多数人不会太关注安全问题,直到他们的个人或商业系统受到攻击。这种发人深省的现象证明了数字安全不仅值得思考,而且是个迷人的话题。犯罪分子通过大量创新取得成功,因此防御他们的人们也必须具有同样的创新精神。
《安全之美》包含以下内容:


[*]  个人信息背后的经济:它的运作方式、犯罪分子之间的关系以及他们攻击猎物的新方法。
[*]  社交网络、云计算及其他流行的趋势如何帮助或损害在线安全。
[*]  度量指标、需求收集、设计和法律如何将安全提高到一个新水平。
[*]  PGP不为人所知的真实历史。


专家推荐:
“这本深思熟虑的论文集(《安全之美》)帮助读者摆脱安全领域闪烁着欺骗光芒的心理恐惧,转而欣赏安全的微妙美感。本书描述了安全的阴和阳,以及引人注目的破坏性和闪亮光辉的建设者之间剑拔弩张的气氛。”
——Gary McGraw,Cigital公司CTO,《Software Security》及其他9本书的作者
本主题帖已收到 0 次赞赏,累计¥0.00
最新回复 (12)
zhengbindu 2011-4-20 10:31
2
从20世纪末以来,Internet得到了极为迅猛的发展,仅用了十年左右的时间就在全球范围内普及。Internt已经融入绝大多数公司、家庭和个人的工作生活之中。我们可以真真切切地感受到层出不穷的新技术给我们的生活所带来的便捷。我们可以足不出户在网上订购自己喜欢的商品。在车站、机场等候时,我们不必像以前那样靠翻报纸来打发时间,而是可以通过无线上网,漫游精彩的网络世界。我们不必再为无法看到心爱的球队比赛而发愁,丰富的网络直播资源可以帮助我们解决这个烦恼。总之,Internet彻底改变了我们的生活方式,使我们的生活变得更加精彩。

但是,鲜花的后面往往可能就是陷阱。从Internet诞生之日起,网络安全就一直是个引人关注的话题。从历史悠久的病毒、木马到最新的网络诈骗,网络安全威胁一直是一把悬在Internet头上的达摩克利斯之剑。由于网络安全威胁的主流逐渐从单纯以破坏为主的病毒、木马转向以获取经济利益为目标的网络诈骗,因此它的危害也越来越大。近些年来,网络上所出现的网络诈骗案件越来越多,很多网友由于对假冒的网络购买链接警惕性不足而蒙受了经济损失。随着网络越来越广泛地渗透到人们的日常生活中,对网络安全的防范也必将越来越引起人们的重视。

《安全之美》萃取了十余位闻名瑕迩的安全专家的智慧,如Philip Zimmermann、Anton Chuvakin、Peiter“Mudge”Zatko等。有些专家着眼于网络安全威胁的心理因素,有些专家侧重于对安全度量指标的讨论,有些专家对电子商务中的网络支付平台的弱点进行了分析,有些专家则对近些年来所发生的几个重大网络犯罪事件进行了详尽分析,还有一些专家对未来的网络安全进行了展望。这些专家的论著对于网络安全从业人员的工作有着非常好的指导意义。对于关注网络安全的人们,这些文章能够极大地拓宽他们的视野,使他们能够发现网络安全的新天地。

本书的翻译工作主要由徐波、沈晓斌完成。另外,姚雪存、陈永军、李福军、杨洁、应巧敏、张瑜等人也为本书的翻译工作作出了贡献。
zhengbindu 2011-4-20 10:33
3
前言   
第1章 心理上的安全陷阱(作者:Peiter“Mudge”Zatko)        1
1.1 习得性无助和无从选择    2
1.1.1 实例:Microsoft是如何允许L0phtCrack的    3
1.1.2 密码和身份认证可以从一开始就做得更好    6
1.1.3 客户的习得性无助—无从选择    8
1.2 确认陷阱    9
1.2.1 概念简介    10
1.2.2 分析师确认陷阱    11
1.2.3 陈腐的威胁模型    11
1.2.4 正确理解功能    12
1.3 功能锁定    13
1.3.1 安全位置的潜在风险    14
1.3.2 降低成本与未来收益:ISP实例    15
1.3.3 降低成本与未来收益:能源实例    16
1.4 小结    19
第2章 无线网络:社会工程的沃土    (作者:Jim Stickley)    21
2.1 轻松赚钱    22
2.1.1 设置攻击    23
2.1.2 隐私的聚宝盆    24
2.1.3 Web安全的基本缺陷:不要相信可信系统    25
2.1.4 建立无线信任    25
2.1.5 采用可靠的解决方案    26
2.2 无线也疯狂    27
2.2.1 无线侧信道    28
2.2.2 无线接入点自身如何    30
2.3 无线仍然是未来    30
第3章 美丽的安全度量指标(作者:Elizabeth A. Nichols)    31
3.1 安全度量指标的类比:健康    32
3.1.1 不合理的期待    33
3.1.2 数据透明性    33
3.1.3 合理的度量指标    34
3.2 安全度量指标的实例    36
3.2.1 巴林银行:内部侵害    36
3.2.2 TJX:外部侵害    46
3.2.3 其他公共数据来源    56
3.3 小结    57
第4章 安全漏洞的地下经济(作者:Chenxi Wang)    59
4.1 地下网络的组成和基础设施    60
4.1.1 地下通信基础设施    61
4.1.2 攻击基础设施    61
4.2 回报    62
4.2.1 数据交换    62
4.2.2 信息来源    63
4.2.3 攻击向量    64
4.2.4 洗钱游戏    66
4.3 如何对抗日益增长的地下网络经济    66
4.3.1 降低数据的价值    67
4.3.2 信息的权限分离    67
4.3.3 构建动力/回报结构    67
4.3.4 为数据责任建立评估和声誉体系    67
4.4 小结    68
第5章 美丽的交易:重新思考电子商务的安全(作者:Ed Bellis)    69
5.1 解构商业    70
5.1.1  分析安全环境    71
5.2 微弱的改良尝试    71
5.2.1 3D安全    72
5.2.2 安全电子交易    74
5.2.3 单用途和多用途虚拟卡    75
5.2.4 破灭的动机    75
5.3 重塑电子商务:新的安全模型    78
5.3.1 需求1:消费者必须通过认证    78
5.3.2 需求2:商家必须通过认证    79
5.3.3 需求3:交易必须经过授权    79
5.3.4 需求4:认证数据不应被认证方和被认证方之外的其他各方所共享    79
5.3.5 需求5:过程不能完全依赖共享秘密    80
5.3.6 需求6:认证应该是可移植的(不受硬件或协议所限)    80
5.3.7 需求7:数据和交易的机密性和完整性必须得到维护    80
5.4 新模型    80
第6章 捍卫在线广告:新狂野西部的盗匪和警察(作者:Benjamin Edelman)    83
6.1 对用户的攻击    83
6.1.1 充满漏洞的横幅广告    83
6.1.2 恶意链接广告    86
6.1.3 欺骗式广告    88
6.2 广告客户也是受害者    91
6.2.1 虚假的印象    92
6.2.2 避开容易受骗的CPM广告    93
6.2.3 广告客户为何不奋起反击    97
6.2.4 其他采购环境的教训:在线采购的特殊挑战    98
6.3 创建在线广告的责任制    98
第7章 PGP信任网络的演变(作者:Phil Zimmermann和Jon Callas)    99
7.1 PGP和OpenPGP    99
7.2 信任、验证和授权    100
7.2.1 直接信任    101
7.2.2 层次式信任    101
7.2.3 累积式信任    102
7.2.4 基本的PGP信任网络    104
7.2.5 最早的信任网络的毛边    106
7.3 PGP和加密的历史    108
7.3.1 早期的PGP    108
7.3.2 专利和输出问题    109
7.3.3 密码战争    110
7.3.4 从PGP 3到OpenPGP    111
7.4 对最初信任网络的改进    111
7.4.1 撤销    111
7.4.2 伸缩性问题    114
7.4.3 签名的膨胀和困扰    115
7.4.4 证书内偏好    117
7.4.5 PGP全球目录    118
7.4.6 可变信任评分    119
7.5 未来研究的有趣领域    119
7.5.1 超级合法    119
7.5.2 社交网络和流量分析    119
7.6 参考资料    120
第8章 开源Honeyclient:先发制人的客户端漏洞检测(作者:Kathy Wang)    123
8.1 进入Honeyclient    124
8.2 世界上第一个开源Honeyclient简介    125
8.3 第二代Honeyclient    127
8.4 Honeyclient的操作结果    130
8.4.1 Windows XP的透明活动    130
8.4.2 Honeyclient数据的存储和关联    131
8.5 漏洞攻击的分析    132
8.6 当前Honeyclient实现的限制    134
8.7 相关的工作    135
8.8 Honeyclient的未来    137
第9章 未来的安全齿轮和杠杆(作者:Mark Curphey)    139
9.1 云计算和Web服务:这里是单机    141
9.1.1 创建者和破坏者    142
9.1.2 云计算和Web服务是拯救方案    144
9.1.3 新曙光    145
9.2 结合人、流程和技术:业务流程管理的潜力    146
9.2.1 发散型世界的发散型安全    146
9.2.2 BPM作为多站点安全的指导方针    147
9.3 社交网络:当人们开始通信时,大变革发生了    149
9.3.1 社交网络的艺术状态和潜力    150
9.3.2 安全行业的社交网络    151
9.3.3 数字中的安全    152
9.4 信息安全经济:超级数据解析和网络新规则    153
9.5 长尾变型的平台:未来为什么会截然不同    156
9.5.1 生产工具的大众化    156
9.5.2 发行渠道的大众化    157
9.5.3 连接供应和需求    158
9.6 小结    158
9.7 致谢    159
第10章 安全设计(作者:John McManus)    161
10.1 无意义的指标    162
10.2 市场还是质量    164
10.3 符合准则的系统开发周期的作用    168
10.4 结论:安全之美是系统之美的象征    170
第11章 促使公司思考:未来的软件安全吗(作者:Jim Routh)    173
11.1 隐式的需求也可能非常强大    173
11.2 公司为什么需要安全的软件    175
11.2.1 如何制订安全计划    176
11.2.2 修正问题    178
11.2.3 把安全计划扩展到外包    179
11.3 对现有的软件进行安全化    180
11.4 分析:如何使世界上的软件更安全    182
11.4.1 最好的软件开发人员创建了具有漏洞的代码    182
11.4.2 Microsoft领先一步    183
11.4.3 软件开发商给了我们想要的,却不是我们需要的    184
第12章 信息安全律师来了(作者:Randy V. Sabett)    187
12.1 文化    188
12.2 平衡    190
12.2.1 数字签名指南    190
12.2.2 加利福尼亚数据隐私法    191
12.2.3 安全的投资回报率    192
12.3 通信    194
12.3.1 技术狂为何需要律师    194
12.3.2 来自顶层的推动力,通过合作实现    197
12.3.3 数据泄露小虎队    197
12.4 正确做事    198
第13章 美丽的日志处理(作者:Anton Chuvakin)    199
13.1 安全法律和标准中的日志    199
13.2 聚焦日志    200
13.3 什么时候日志是极为珍贵的    201
13.4 日志所面临的困难    202
13.5 案例研究:瘫痪服务器的背后    204
13.5.1 事故的架构和环境    204
13.5.2 被观察的事件    204
13.5.3 调查开始    204
13.5.4 使数据起死回生    206
13.5.5 小结    207
13.6 未来的日志    207
13.6.1 来源的扩大化    207
13.6.2 未来的日志分析和管理工具    208
13.7 结论    209
第14章 事件检测:寻找剩余的68%(作者:Grant Geyer和Brian Dunphy)    211
14.1 一个常见起点    212
14.2 改进与上下文相关的检测    213
14.2.1 用流量分析提高覆盖率    214
14.2.2 对监测列表进行综合分析    216
14.3 使用主机日志增强洞察力    217
14.3.1  创建富有弹性的检测模型    218
14.4 小结    222
第15章 无需真实数据就能出色完成工作(作者:Peter Wayner)    225
15.1 数据半透明化的工作原理    226
15.2 一个现实的例子    228
15.3 为便利而存储的个人数据    230
15.4 如何权衡    230
15.5 进一步深入    231
15.6 参考资料    232
第16章 铸造新词:PC安全剧场(作者:Michael Wood和Fernando Francisco)    233
16.1 攻击不断增加,防御不断倒退    234
16.1.1 在Internet的传送带上    234
16.1.2 不正当行为的回报    235
16.1.3 暴徒的响应    236
16.2 揭穿假象    237
16.2.1 严格审查:传统的和更新的反病毒扫描    237
16.2.2 沙盒和虚拟化:新的银弹    240
16.3 桌面安全的更佳实践    242
16.4 小结    243
附录 作者简介    245
zhengbindu 2011-4-20 10:47
4
如果有人相信新闻标题可以揭示趋势,那么对于计算机安全领域而言现在是个有趣的时刻。当《安全之美》出版时,我阅读了一个能够打开麦克风和摄像头并窃取数据的软件的部分代码。这个软件在103个国家的超过1200台计算机上安装,尤其是在大使馆和其他敏感的政府部门。另外,一家法庭支持美国调查官在没有得到授权的情况下可以查看电话和Internet记录(只要交谈的另一端是在美国境外)。最新公布的漏洞包括Adobe Acrobat和Adobe Reader的一个缓冲区溢出漏洞(当前常称为漏洞攻击,英文为exploit),允许攻击者在用户打开PDF之后在用户的系统中通过用户的权限执行任意代码。
新闻标题实际上并不能很好地提示趋势,因为在漫长的历史中,它是由微妙的革命性变化所驱动的,而这种变化往往只有少数人注意到,例如编写本书的前沿安全专家们。读者可以在本书中发现安全威胁的发展方向以及针对它们的响应。
我在第一段中所提到的所有令人惊恐的新闻对于安全领域而言只是普通的业务而已。是的,它们正是我们应该担忧的安全趋势的一部分,但我们还需要注意更新的、更不易被觉察的漏洞。《安全之美》的作者们数十年来一直奋斗在第一线,努力发现我们的工作习惯中的脆弱环节,并提议用非常规的方式来处理它们。

为什么安全是美丽的
我要求安全专家John Viega想方设法为本书寻找一些作者,以便向普通计算机用户提供一些与安全有关的观点。除了在媒体上所看到的骇人听闻的关于网络入侵和盗窃的新闻之外,普通人一般都觉得安全是一件乏味的事情。
对许多人而言,安全就是系统管理员喋喋不休地提醒他们创建备份文件夹,无穷无尽的在网页显示之前跳出来的要求输入密码的对话框。办公室职员每次抄读办公桌边的笔记本上所记录的密码时都怒目圆睁小声咒骂(笔记本就放在打印出来的预算材料的上面,事实上办公室管理人员要求应该将它锁在抽屉里面)。如果这就是安全,那还会有谁想从事这个职业呢?谁会从O'Reilly购买一本关于安全的书呢?谁会一次花费半分钟以上的时间去思考安全呢?
对于那些肩负创建安全系统任务的人们,他们所付出的努力看上去是毫无希望的。站在旁边的人不会对他们的工作提供任何协助,业务经理也拒绝在安全上多花一分钱。程序员和系统管理员由于他们必须使用的工具和语言存在没完没了的零日攻击和未打补丁的漏洞也逐渐变得懒散起来。
这就是为什么关于安全的书卖得很差(尽管在过去的一两年里销量有所上扬)。关于如何入侵系统的书要比关于如何保护系统的书好卖得多,这个趋势着实令我震惊。
是的,本书应该改变这个现象。它应该向读者展示安全是一项最为激动人心的职业。它并不枯燥,也没有太多的官僚主义,更没有太多的约束。事实上,它和其他技术一样充满着想象力。
多年以来,我编辑过的大多数编程书籍都提供了关于安全的内容。这样的内容当然是非常实用的,因为它们允许作者讲述一些基本原则和一些良好习惯。但是,我已经对这种做法感到厌烦,因为它为安全话题划了一条分界线。它所灌输的都是一些老生常谈的安全观点,是一些锦上添花或者事后诸葛亮的东西。本书将颠覆这些观念。
John为本书选择了一些作者,他们已经在安全领域证明了自己具有独特的观点,并且有一些新的思路要和大家分享。有些作者设计了数以千计的人所依赖的系统,有些作者在大型公司担任高管职位,有些作者曾为法庭作证并为政府部门工作。所有的作者都在寻找普通人所不知道的问题和解决方案,但是这可能需要几年的时间才会收到成效。
本书的作者指出:有效的安全需要你始终保持警惕。它会打破技术、认知和组织结构的边界。安全界的黑帽们千方百计通过创新来取得成功。因此,负责防御他们的人们同样需要创新。
本书的作者肩负着世界范围内的信息安全使命,让他们抽出时间编写本书是一件很困难的事。事实上,许多作者在平衡本职工作和本书的写作任务时感受到了压力。但是,他们所花的时间是值得的,因为本书将会促进他们实现更远大的目标。如果有更多的人对安全领域产生兴趣,决定进一步对它进行探索,并向尝试通过组织上的变化以实现更好保护的人们给予他们的关注和支持,这本书就值得作者所付出的心血。
2009年3月19日,美国参议院商业、科学和交通委员会举行了一个听证会,它的主题是信息技术专家的缺乏以及这种现象对美国的网络安全的危害。让学生和专业人员对安全问题产生兴趣是一项极为迫切的需求,本书就代表了迈向这个目标的一小步。

本书的读者
《安全之美》适用于那些对计算机技术感兴趣并希望在最尖端领域体验生活的人们。本书的读者包括可能追求职业生涯的学生、具有一定编程背景的人们以及对计算机有着适度或深入了解的人们。
本书的作者在解释技术时尽量放低门槛,使相对新手级的读者也能领略到攻击和防御活动方式的感觉。专家级的读者能够更多地享受讨论的乐趣,因为本书能够加深他们对安全原则的理解,并提供了未来研究的指导方针。

捐赠

《安全之美》的作者们向互联网工程任务组(The Internet Engineering Task Force,IETF)捐赠本书的版税。这个组织对于Internet以及其具有远见的自我管理式的迷人模型的发展极为关键。如果没有IETF具有奉献精神的成员们的科学讨论、灵活的标准制定和明智的妥协,Internet的发展是无法想象的。IETF在自己的网页上把自己描述成“由网络设计者、操作者、生产商和研究人员所组成的大型开放式国际社区”。O'Reilly将把版税汇给互联网社会(The Internet Society,ISOC),该组织长期向IETF提供资金和有组织的支持。

材料的组织
本书内容并没有按任何特定的方案进行排列,但还是经过了整理,以便提供引人入胜的阅读体验,方便读者惊喜地发现新观点。不过,还是将那些讲述相似主题的内容放在了一起。
第1章   心理上的安全陷阱  作者Peiter“Mudge”Zatko
第2章   无线网络:社会工程的沃土  作者Jim Stickley
第3章   美丽的安全度量指标  作者Elizabeth A. Nichols
第4章   安全漏洞的地下经济  作者Chenxi Wang
第5章   美丽的交易:重新思考电子商务的安全  作者Ed Bellis
第6章   捍卫在线广告:新狂野西部的盗匪和警察  作者Benjamin Edelman
第7章   PGP信任网络的演变  作者Phil Zimmermann和Jon Callas
第8章   开源Honeyclient:先发制人的客户端漏洞检测  作者Kathy Wang
第9章   未来的安全齿轮和杠杆  作者Mark Curphey
第10章   安全设计  作者John McManus
第11章   促使公司思考:未来的软件安全吗  作者Jim Routh
第12章   信息安全律师来了  作者Randy V. Sabett
第13章   美丽的日志处理  作者Anton Chuvakin
第14章   事件检测:寻找剩余的68%  作者Grant Geyer和Brian Dunphy
第15章   无需真实数据就能出色完成工作  作者Peter Wayner
第16章   铸造新词:PC安全剧场  作者Michael Wood和Fernando Francisco

使用本书的代码示例
《安全之美》是为了帮助你完成工作。通常来说,你可以在你的程序和文档中使用本书的代码。除非你使用了本书的大量代码,否则你无需获取我们的许可。例如,写一个程序用到本书的几段代码不需要获得许可;销售和分发O'Reilly 丛书的代码需要获得许可;引用本书的样例代码来解决一个问题不需要获得许可;使用本书的大量代码到你的产品文档中需要获得许可。
我们不要求你(引用本书时)给出出处,但是如果你这么做,我们对此表示感谢。出处通常包含标题、作者、出版社和 ISBN。例如:   “Beautiful Security, edited by Andy Oram and John Viega. Copyright 2009 O誖eilly Media, Inc., 978-0-596-52748-8”。
如果你觉得你对本书样例代码的使用超出了这里给出的许可范围,请和我们联系:permissions@oreilly.com。

如何联系我们
    请把对本书的评论和问题发给出版社:
    美国:
    O'Reilly Media, Inc.
    1005 Gravenstein Highway North
    Sebastopol, CA 95472
    中国:
    北京市西城区西直门南大街2号成铭大厦C座807室(100035)
    奥莱利技术咨询(北京)有限公司
    O'Reilly的每一本书都有专属网页,你可以在那儿找到关于本书的相关信息,包括勘误表、示例代码以及其他的信息。本书的网站地址是:
    http://www.oreilly.com/catalog/9780596527488/
    对于本书的评论和技术性的问题,请发送电子邮件到:
    bookquestions@oreilly.com
    关于本书的更多信息、会议、资料中心和网站,请访问以下网站:
    http://www.oreilly.com
zhengbindu 2011-4-20 11:08
5
在我对软件及其所驱动的工具的攻击生涯中,许多同事认为我采用了一种不符合标准的方法。对于这种说法,我颇感诧异。对我而言,我所采用的方法不仅符合逻辑,而且简单明了。反之,我觉得那些学院派采用的方法对于现实世界的应用程序而言显得过于抽象,难以获得普遍的成功。这些看上去更常规的方法几乎不成章法,没有抓住问题的焦点,甚至完全背道而驰。这些方法往往需要花费数百小时进行逆向工程和应用程序跟踪,才可能在精力耗尽之前发现它们所存在的漏洞。
现在,请不要采用这种错误的方法。我并没有诅咒前面所提到的技巧,事实上我同意它们是发现和利用漏洞的关键工具。但是,我相信可以采用一些捷径,并从另一个视角封装、改进甚至绕过这些方法。
在本章中,我将讨论这些另外的视角,看看它们是如何帮助我们深入到那些被称为安全专家的开发人员的思维中。
为什么要深入到开发人员的思维之中呢?原因有很多,但是在本章中,我们将把注意力集中在对代码的创建过程以及对编写代码的人们所施加的各种约束上。从安全的角度出发,这种问题常常会产生并不是最理想的系统。理解了代码完成时所处的环境、心理和哲学框架之后,我们更容易发现系统中包含可能被攻击者所利用的漏洞的区域。在适当的时候,我会和大家分享一些逸闻作为例子,对一些理念问题进行探讨。
在过去几年里,我的精力集中在大规模的环境,例如大公司、政府机构以及它们的各种附属机构,甚至是州政府。虽然有许多要素也适用于更小的环境,甚至适用于个人,但我喜欢从更广的角度展示这些问题,展现更广阔的社会画面。当然,用这种更为粗犷的画笔作画需要进行一些归纳,读者可能会发现有些情况与这些例子存在冲突。由于篇幅的限制,我并不会举出这方面的反例。
本章的目标并不是强调特定的技术,而是讨论一些导致安全脆弱性的环境和心理情况。对技术实现者所受到的外部影响和限制进行考虑是非常重要的,可以更好地理解这些脆弱性在逻辑上是如何产生的。虽然这对于攻击方而言是一种好玩的智力游戏,但是如果防守方也参与到这个游戏中,就需要考虑一些新的因素:1) 防止可能会导致攻击的错误,2) 使用与攻击者相同的游戏技巧并采用相同的操作方式。此时,这个安全游戏才是我心中最美丽的。
我所讨论的理念可以分为三类:习得性无助和无从选择、验证陷阱和功能锁定。在安全的设计和实现中,这并不是影响因素的安全列表,但它可以作为一个起点,鼓励我们进一步发现自己在系统中所创建或依赖的潜在安全危险。

1.1   习得性无助和无从选择
社会学家和心理学家发现人类和其他动物存在一种现象,这种现象称为习得性无助。它来源于个人在实现自己的目标或者摆脱坏习惯时屡次遭受的挫折。最终,动物们会采取极端的毁灭性措施,就是从内心深处放弃尝试。即使在出现了实现目标的机会或者存在逃脱的良机时,动物们也会表现得很消极,无法利用这些机会。
为了证明即使是资深和理智的软件工程师也会受这个畏缩毛病的影响,我将描述一个由于向后兼容所导致的不良安全性的例子。
向后兼容是现有的技术部署一直存在的一个问题。发现新的技术,并需要部署到不兼容的(甚至在本质上不同的)现有解决方案中。
在系统演化的每个时刻,开发商需要决定是否必须结束现有解决方案的生命,还是提供一条迁移路径或者设计一种方法允许遗留解决方案能够与现代解决方案共存。这样的决定在商业和技术的角度上往往存在很大的分歧。但是,决定通常是从商业的角度作出的,开发人员和工程师必须照办(注1)。出现这种情况时,负责创建实际实现方案的人们就会产生这样一个印象,就是决定已经作出,他们只要照章办理就可以了,不需要进一步的评估或考虑。
想象一下有这样一个决策,在进行技术替换时要求维护与旧技术的兼容。管理层进一步决定,以后不会再向遗留解决方案提供进一步的开发或支持工作,这是为了鼓励现有的顾客迁移到新的替代解决方案。
尽管这种决策在许多方面向开发过程施加了压力(涉及安全问题),但是当一个解决方案(通常是新技术)比其他解决方案更为安全时,无疑会更加引人注目。事实上,新技术的开发常常明确要求满足更高的安全需求,但是仍然必须支持旧技术。在这种情况下会产生什么安全问题呢?
实现向后兼容可以采取不同的方法,有些方法较之其他方法更为安全。但是,一旦开发人员理解了需要让更旧、更缺乏安全的技术继续存活时,那些常常可以缓解这种风险的解决方案往往就不在考虑之列。焦点集中在新技术上,遗留技术将在最大限度地减少遗留效果的情况下被嵌入到新技术中(或反过来)。总之,实际新技术的开发队伍通常并不是开发遗留代码的队伍,他们的最终目标是想方设法移植遗留解决方案,是不是这样呢?
最直接的解决方案是对新技术的健壮性和安全强度作出妥协,以匹配遗留解决方案。在本质上就是允许现代技术和遗留技术共存。当开发人员在迁移遗留代码的漏洞时想不出可以做什么(或更糟,想不出应该做什么)时,就出现了习得性无助。遗留代码对他们施加了压力,他们觉得这不应该在他们的职责范围之内(即使把新技术降低到旧技术的水平而影响了它的安全性)。对于公司的决策,他们觉得不知道做什么好,感觉力不从心。

1.1.1    实例:Microsoft是如何允许L0phtCrack的
数年前,为了帮助系统管理员发现漏洞,我编写了一个密码破解工具,用于恢复Microsoft的用户密码。当时,这个工具称为L0phtCrack,后来重命名为LC5。再后来,Symantec(得到了它的版权)担心违反国际武器限制公约(ITAR)而将它停用了。(注2)网络和技术书籍上有许多文章描述了L0phtCrack的工作原理,但没人关注它为什么会起作用。L0phtCrack所利用的Microsoft Windows的漏洞可能会产生什么影响呢?
事实上,这个工具直接利用了Windows的加密程序的实现和使用中所存在的大量问题。所有这些问题都源于各种版本的Windows(直到Vista)中继续使用的遗留LAN Manager(LANMAN)的散列函数。它的散列表示形式尽管基于已经成熟的数据加密标准(DES),但并没有包含salt。另外,LANMAN中的密码不区分大小写。这个函数把14个字符(或更短)的密码分解为2个7字节的值,每个值根据同一个键进行加密,并连接在一起。当我于20世纪90年代后期在BugTraq的一个帖子上描述这个问题时,基本的加密序列是(见图1-1):

图1-1   LANMAN旧算法的总结


  • 如果密码小于14个字符,就用null字符填满,以便为密码保留14个字符的空间。反之,如果密码大于14个字符,就将它截断。
  • 把14个字符的密码转换为大写形式,并把它分割成7个字符的两半。注意,如果原密码为7个或更少的字符,那么后半部分总是7个null字符。
  • 把7个字符的每半部分转换为一个8字节的检校DES键。
  • 使用前面所提到的每个键对一个已知的常量(“KGS!@#$%”)进行DES加密。
  • 把两个输出连接在一起,形成LM_HASH表示形式。

  由于许多技术上的原因,这种选择组合存在问题。
Windows NT的开发人员意识到了LANMAN散列的脆弱性,并使用一种更健壮的算法进行密码信息的存储,称为NT散列。它维护字符的大小写情况,允许密码长于14个字符,并使用更现代的MD4信息摘录产生它的16字节散列值。
遗憾的是,Windows系统在每个密码的更健壮版本旁边继续存储更脆弱的版本,并在用户每次登录时同时在网络上发送这两个版本。在网络上,更脆弱的16字节LANMAN散列值和更健壮的16字节NT散列值都会经历下面的过程,如图1-2所示:

图1-2   在网络上同时处理LANMAN和NT散列


  • 用null字符把散列值填充为21个字节。
  • 把21字节的结果分割为3个7字节的子部分。
  • 把每个7字节的子部分转换为8字节的检校DES键。
  • 使用前面所提及的DES键,对一个8字节的挑战口令(challenge)进行加密,它在网络上发送时是可见的。
  • 把步骤4的3个8字节输出连接在一起,创建一个将通过网络发送的24字节表示形式。

当然,Microsoft希望他们的所有顾客都升级到更新版本的Windows,但是不敢切断使用旧版本的顾客,甚至不敢用新的散列函数对旧版本进行更新。由于密码是网络的一个关键部分,他们不得不假设在可预见的将来,不理解新散列函数的旧系统可以继续连接到使用更安全的散列函数的新系统。
如果登录两端的系统都是使用新散列函数的新系统,就可以使用更健壮的NT散列执行实际的身份认证。但是,在发送更健壮的新散列表示形式时,必须同时发送更旧、更脆弱的LANMAN散列版本。
由于最大限度地照顾了向后兼容,而忽视了它所产生的复杂后果,Microsoft完全破坏了更新的安全技术所带来的技术优点。
L0phtCrack利用了脆弱的LANMAN密码的编码形式,并根据它的结果破解存储在它旁边的更健壮的NTLM表示形式。即使用户选择了长于14个字符的密码,对LANMAN散列的破解仍然要提供前14个字符,只剩下很少一部分需要通过推断或穷举来猜测。和LANMAN不同,NT散列区分大小写。但是,一旦脆弱的版本被破解之后,最多只要尝试2x次(其中x是密码字符串的长度)就可以推断出NT散列的密码大小写情况,因为每个字符最多只有2种选择(大写或小写)。记住,x小于或等于14,因此对于穷举法来说是小意思。
尽管NTLM网络认证引入了一个挑战,可以扮演支持salt机制的角色,但它的输出仍然包含了太多可以被攻击者看到并利用的信息。16个字节的原散列中只有2个字节进入第3个7字节部分。类似,散列值的前半部分中只有1个字节(第8个)进入第2个7字节部分。
想象一下,如果原密码是7个字符或更短(对于粗心的用户,情况很可能是这样)的情况。在LANMAN散列中,第2组的7个输入字节都是null字符,因此输出散列中第9~16字节将总是相同的值。这个情况进一步随着NTLM算法而传播。至少,它并没有设法确定24字节的NTLM认证响应中的最后8个字节是否来自一个短于8个字符的密码。
简而言之,新的现代安全解决方案的问题来自于遗留系统的脆弱LANMAN密码,因此把整体安全性能降低到最小公分母的水平。过了没多久,在接收到太多的负面安全报道之后,Microsoft引入了在默认情况下只发送一种(或另一种)散列值的功能,而不是两者都发送。后来,他们甚至停止了在本地系统中同时存储LANMAN散列值和NT散列值的做法。

1.1.2     密码和身份认证可以从一开始就做得更好
我讲述这个L0phtCrack故事是为了强调一个常见的安全问题。有许多理由支持多种安全实现,即使其中一种被认为优于其他方案。但是如前所述,在许多情况下,这样做的原因是为了支持向后兼容。如果对遗留系统的支持被认为是非常重要的,可以预计在协议和服务方面将会出现相当数量的冗余。
站在安全的角度,现在问题变成了如何在实现向后兼容的同时不降低新系统的安全性。Microsoft的幼稚解决方案嵌入了所有可能性中许多不好的东西:它把不安全的散列值和更安全的散列值存储在一起,通过网络传输这两种散列的表示形式(即使在不需要的情况下),这就为攻击者提供了便利。
记住,习得性无助就是指一个人得出结论,他已经无能为力或者无法通过学习来解决,而不是想方设法对手头上的情况进行实际分析。换句话说,有人告诉你已经没有希望,并且你相信他的原因也仅仅是因为他说“不行”。在工程任务中,习得性无助可以由处于明显权威位置的人们所作的陈述、对向后兼容(或遗留顾客的要求)的消极抵触以及成本或财政压力(预想或真实)而产生。
Microsoft相信遗留系统非常重要,足以阻止废弃这些系统。为此,他们决定继续支持LM散列。
但是,他们采取了第二个关键的步骤,在选择处理遗留系统和现代系统交互的协议问题时迫使新系统同时与当前协议和遗留协议进行对话,而没有考虑遗留系统的安全问题。其实,他们可以要求遗留系统对一些支持登录所需要的函数进行修补,作为遗留系统的最后升级。也许这个解决方案被拒绝的原因是它可能会设置一个危险的前提条件,就是要求支持一些他们已经声称结束了生命的系统。类似,他们可以选择当新旧系统都可以与更现代、更健壮的函数进行对话时,就不在网络上同时发送新旧散列值。这可以帮助他们的旗舰“新技术”同时提供实际的和预想的安全。
最终,由于媒体和顾客对安全脆弱性的持久抱怨,另外也由于像L0phtCrack这样的攻击工具的出现,Microsoft决定让它们的系统避免传递更脆弱的LANMAN散列表示形式。它显示了生产商应该选择一条不同的起始路径,允许终端用户根据自己的安全需求来配置系统。反之,如果相信确实需要遗留系统,必须简单地把它们和新产品放在一起,并让所有的系统把标准降低到最小公分母的水平,终端用户就会成为牺牲品。这是开发商内部设计人员和实现人员的习得性无助的一个例子。
Microsoft并不孤单
为了避免让读者觉得我是专门找Microsoft的茬,我提供了下面这些平等机会(并且可能具有冒犯性)的评论。
在20世纪90年代中期至晚期,Microsoft在市场和媒体上所持的立场是它的系统比Unix更安全。Internet上的服务器大多是Unix系统,Microsoft试图打入这个市场。众所周知,占据公共Internet上的绝大部分系统的各种Unix操作系统已经发现了许多安全漏洞。但是,很少有人从Internet的角度对Microsoft的Windows NT 4.0的安全性进行探索。这是因为NT 4.0系统在网络上只占据了很少一部分的市场份额。
从本质上说,Microsoft的立场就是“我们是安全的,因为我们不是Unix”。但是直到Windows操作系统的Vista版本,Microsoft才真正拥有了具有强大、现代的安全行为的操作系统。Vista存在一些问题,但主要不是安全方面的问题。因此,当NT 4.0作为新产品出现时,Microsoft把矛头对准了Unix,在各种安全问题上对Unix横加指责。后来,情况掉了个头,人们开始指责Microsoft所存在的各种安全问题。现在,Microsoft实际上提供了一种拥有许多强大的安全组件的操作系统,还有哪一家值得挑剔呢?请看Apple。
在历史上,Apple Computer的市场策略与Microsoft有些相似。正如Microsoft以它们并不是Unix为由吹嘘自己的安全性一样,Apple的市场和用户部门声称它们的OS X平台能够更有效地抵御各种攻击和病毒,但所持的理由也仅仅是它们不是Windows。仔细查看了OS X的内核和userland空间之后,我可能断定它还是存在许多安全漏洞(不论是远程还是本地)需要指出和修正。和Microsoft刚开始提供NT时一样,Apple也享受了一段蜜月期。它很少成为攻击目标,因为它的市场份额非常小。但是,随着它的市场份额不断扩大,可以预想它所受到的攻击也会不断增加……

1.1.3  客户的习得性无助—无从选择

正如我们所看到的那样,Microsoft在向后兼容方面作出的选择所导致的不良安全问题可能会让他们的顾客在环境、技术能力以及接受改变的意愿方面产生自暴自弃的观点(不管是否正当)。我把当前网络上的另一个(甚至更大的)安全问题归因于开发商的习得性无助和顾客的无从选择这两个因素的结合。大量的审查显示,大多数网络交换机的生产商有意把交换机设计为“失败时打开”而不是“失败时关闭”。交换机用于在数据链路层上的系统之间移动数据包。在这种情况下,“失败时关闭”意味着设备要么关闭并停止发挥作用,或者以一种“安全的”方式停止操作。这样,数据就不会通过存在问题的系统被传递。反之,“失败时打开”意味着系统停止执行任何智能功能,而是盲目地发送它从所有端口所接收到的数据包(注3)。
在本质上,“失败时打开”的交换机相当于把自身变成了一个哑的集线器。如果只想消极地嗅探自己并不想要的网络交通,那么哑的集线器可能正是我们所需要的。功能正常的交换机试图只把流量发送到合适的目的地。
许多机构觉得消极的网络嗅探并不是实实在在的威胁,因为许多交换机都是这样运行的。但在当前,把一个嗅探器连接到一个被交换的LAN并观察自己不应该看到的数据是极为常见的做法,常常会导致该机构的网络部门的极度惊奇。他们并没有意识到生产商不惜一切代价避免连接断开的决定(很可能是害怕顾客由于间歇性中断而产生的狂怒),因此当交换机在遇到缺陷、安全攻击或者对某些数据包的处理缺乏明确的指令等事件时,就把交换机恢复到哑的广播模式。换句话说,生产商安静地为他们的顾客作出了最适合顾客的决定。
我相信如果顾客能够决定哪种方式更适合自己的利益,无疑会让他们处于更加有利的位置。虽然对于装配线而言,让交换机在失败时打开无疑要比在失败时关闭更合适,但也有一些情况下交换机用于分离重要的流量并隔离内部的域和系统。在这种情况下,对于顾客而言,最好的方式就是交换机在失败时关闭并发送一个警报。顾客至少应该拥有选择的权力。
在这里,我们讨论了生产商所面临的习得性无助以及顾客的无法选择。习得性无助来自于生产商对于它能够教育顾客并让顾客获得选择权这个价值所采取的消极态度。它与前面所讨论的遗留系统的兼容性解决方案有相似之处。生产商相信为顾客提供这种额外的可配置性只会让顾客感到困惑,使顾客把事情搞砸或者向生产商拨打大量的服务支持电话。
顾客的无从选择是可以理解的:顾客是从信誉良好的生产商那里购买外观漂亮的系统,当时一切看上去都很顺利。但这种无从选择并不是把系统的实用性降低到不利的程度。是不是必须要让一个系统在任何环境下都可以工作而降低它的安全性?协议是否盲目地允许遗留版本的系统在较弱的安全级别上进行交互?当系统不知所措时,它是否应该恢复到扮演哑的遗留设备的角色?这些情况常常是由于习得性无助所致。

1.2 确认陷阱
大约1997年8月的某天,我和Hobbit(我的一位朋友,是一位非凡的黑客(注4))与Microsoft的一位执行官和一位资深工程师(注5)共进晚餐。他们想知道我们为什么能够这么轻而易举地在Microsoft的产品中找到这么多的缺陷。虽然有些细节记得不是特别清楚了,但我相信当时我们是非常诚恳地进行了回答,表示我们的方法是向系统输入一些随机的垃圾。这是一种简明的缺陷和安全测试技巧,有时称为“模糊(fuzzing)”,现在主要的计算机科学出版物都记录了这种方法。但是,当时“黑客”社区还没有普遍采用模糊方法。
我们告诉这位工程师,我们对于Windows在面临垃圾输入时如此频繁地遭到失败而颇为吃惊。接着,我们又问他们执行了哪些类型的健壮性测试,因为适当的QA(质量保证)应该包含坏输入测试,这种测试应该能够发现我们所找到的许多令系统和应用程序崩溃的情况。
这位工程师的回答是他们在所有的产品执行了充分的可用性测试,但是并没有执行试图使产品崩溃的测试。这个答案揭示了问题的原因。Microsoft在努力保证良好的用户体验的同时并没有考虑不良的用户或环境。
例如,开发Microsoft Word的队伍将根据各种可接受的输入格式(Word、Word Perfect、 RTF、普通文本等)对文件解析器进行测试。他们并不会对那些可以通过手工创建的但绝不会由可兼容的字处理程序产生的各种预期格式的变型进行测试。但是,恶意攻击者可以用预期格式的不良版本以及随机的垃圾对这些系统进行测试。
当我们在晚餐上询问那些资深的Microsoft代表为什么不发送恶意数据或提供不良文件作为输入对他们的产品进行测试时,他们的答案是:“用户为什么要这样做呢?”当他们看到任何人可以按照有意让软件失败的方法与软件的一部分进行交互时,显得非常的震惊和沮丧。
他们从来没有考虑过他们的应用程序可能被部署在恶意环境中。这种善良的观点来自于另一个可能被恶意攻击者所利用的心理特征:确认陷阱。

1.2.1  概念简介
Microsoft的产品测试的目的是为了确认他们对软件行为的信任,而不是为了打击这种信任。软件架构师和工程师经常会遇到这种盲点。在1968年的一篇论文中,Peter Wason指出“为了获得正确的解决方案,有必要产生一种意愿,就是试图推翻假设,并对那些常常确信是正确的直观想法进行测试”(注6)。他通过一个简单的智力测试演示了确认陷阱。
找一些人并通知他们正在进行一个小实验。我们将向参与者提供一个整数数列,它们遵循一个规则,参与者的任务就是猜出这个规则。为了确定这个规则,参与者可以说出另外的数列,然后我们告诉他这个数列是否符合这个未知的规则。当参与者认为他已经猜中了这个规则时,就可以把它说出来。
这个规则实际上非常简单,就是递增的数列。但是我们先不把它说出来。
我们最初提供的数列是2、4和6。
此时,其中一位参与者提出了数列8、10和12。我们应该告诉他8、10和12确实遵循这个规则。另一位参与者可能提出1、3和5。同样,我们告诉他数列1、3和5也遵循这个规则。
当人们看到初始数列2、4和6时,会注意到一个显而易见的关系,就是每个后续的数都比前一个数大2。当他们提出匹配的数列时,可能会让它满足这种关系,但这完全只是他们自己的想法,与我们的秘密规则无关。当他们所提出的数列得到证实时,会进一步驱使他们确信自己原先的猜测是正确的,而不是想方设法否定自己的猜测。
现在,我们可以把这个秘密规则想象为一个接受输入的软件规则,并把这个小实验的参与者想象为软件测试人员,他们相信所有用户的输入都应该按2递增。他们并不会测试其他数列,例如1、14和9076(更不用提像-55、-30和0这样的数列了)。因此,系统最终肯定会接受没有经过测试的输入,这很可能导致系统的崩溃。
为什么会出现确认陷阱?事实上我们都倾向于自己的猜测是正确的而不是错误的。虽然按照严格的逻辑要求,应该用不遵循自己的假设的数列(例如10、9、8)对这个假设(即所有的输入必须是偶数,或者必须按2递增)进行测试,但是试图增强自己的假设而不是驳斥它却是人类的天性。
“这部分软件是否按预想的工作?”这个问题不仅需要用我们所倾向的方式进行测试,而且要用怪异的、恶意的和随机的方法进行测试。但是,内部软件测试很少会重建常规的终端用户和恶意对手很可能对软件进行这类输入的这个真实场景。

1.2.2 分析师确认陷阱
考虑一位在一个三字母机构(如CIA、FBI)工作的情报分析师。这位分析师希望创建有效、实用的分析报告,以提升她的职业地位。这位分析师从多个来源采集信息,包括她以前所创建的报告。接着,她把这些报告提交给自己的上司。这个过程看上去很简单,但实际上包含了一个潜在的确认陷阱。在她的上司审阅她的工作之前,很可能上司以前也是一位分析师,并且创建了一些报告,并被现在这位分析师作为参考材料。换句话说,输入决策的创建者同时又是决策的审阅者的情况并非罕见。
显然,分析师会产生一种倾向,就是把她的报告与上司的报告保持一致,而不是与之相悖。她很可能会有意识地这样做,特别是当她试图在该社区或机构内获得更好的职业生涯时。当然,她也有可能是无意识地这样做,就像前面Wason的3个升序数字例子一样。至少,这家机构的结构和信息基础形成了一个很强的自增强反馈循环的可能性。
我个人遇到过两个例子,人们认识到确认陷阱的存在,并积极工作以确保不会陷入其中。毫不惊奇的是,这两个例子都涉及用情报分析场景引起我注意的相同人们,他们证实了我对情报报告中经常出现这种错误的怀疑。

1.2.3  陈腐的威胁模型
在上届总统任职期间,我担任了政府部门的一个关键人员小组的顾问。我的重要任务之一是对有些人所收到的关于网络功能(包括攻击性和防御性)的报告发表自己的看法,并指出报告中的哪些研究领域有效或者具有前途。我常常不得不指出,最初的报告在对手模型和技术方面的不准确达到了令人痛心疾首的程度。报告中所描述的技术、策略和功能与具有良好的经济能力和高度的工作动力的对手可能采用的技术相比实在差得太远。报告中所描述的许多只有强有力的国家级对手才有可能使用的技术和策略对于当前的网络发烧友而言只是雕虫小技。
这些报告试图理解网络威胁是如何演变的,但它们却是根据以前的技术进行推断的,显得毫无新意。技术已经发展了,但模型却没有发展,仍然远远落后于现实。因此这些报告所描述的场景对于过去的某个时期而言可能是准确的归纳,但对于当前而言却是过时的和不准确的。这正是确认陷阱的特点。因此,这些需要我进行评论的报告就是由于与前面所提到的分析师陷阱相似的情况下产生的。

1.2.4 正确理解功能
随着L0pht对安全的成功破坏以及像L0phtCrack这样的工具变得广为人知,政府不得不对我们的队伍勉强产生了一点兴趣,希望理解我们能够做些什么。我勉强答应邀请白宫的一群人参观我们的工作,并向他们简单介绍了我们的情况。不得不说,L0pht成员们对于一大群政府代表的来访感到不安,但最终我和其他成员成功说服了每个人,允许这些“政府人员”来到我们的“秘密”地点。
当晚,在会议结束并共进晚餐之后,我陪同政府代表们走到停车场并向他们道别,然后看着他们走向自己的汽车,以确保他们全都离开。当我看到他们停下来悄悄谈话时,心里就疑神疑鬼的。
我快步走到人群中,冲着他们嚷道:“你们不能这样!回到办公室以后,你们想说什么秘密都可以。我们之所以让你们参观,是因为对你们抱有极大的信任。因此,我想知道你们刚才在讨论什么!”这打断了他们的谈话。也许是酒精的作用,使我有勇气对这群颇有身份的人们说出这番话。也许,当时我不知道更好的做法是什么。
我想这番话让他们呆住了。这五个人都是政府高级职员,每个人都把目光投向其中一个人,这个人看上去像是其中地位最高的。他回过头直接注视着我,并解释道:“我们只是在讨论你们是怎么做出这些东西的……”
“您的意思是?”我继续追问。
他回答道:“我们收到的所有报告都表示,你们在这里所完成的功能,如果没有国家的财政支持,是不可能成功的。”我的答复是我们已经向他们证明,我们在没有得到任何资助的情况下已经完成了这些工作(应当注意,低估那些失去面子的好奇的人们的能量是极大的疏忽)。“我们进一步怀疑,”他说道:“有没有任何政府已经采纳了你们的方法或者试图‘雇用’你们?”我很快用我习惯的风格答复道:“没有。至少我还没有注意到。但是您如果愿意,可以成为第一个,我们愿意接受邀请……”
即使我试图摆出幽默的架势,但我们还是不欢而散。
尽管双方都心怀疑虑,并且双方由于立场差异巨大而导致沟通困难,但政府还是明白了我们的成果确实是一些业余发烧友在几乎没有得到任何资助的情况下在业余时间完成的。
这些访问者就是从各个三字母机构接受报告的人。他们意识到这些机构的职业阶梯很容易导致确认偏见。他们被这些机构的官员所说服,以为我们的成果需要大量的资助,只有特定类型的对手才可能实现。因此,他们采取了大胆的步骤,对我们进行了登门拜访,这样他们可能会抵制向他们所灌输的一些基本信仰。他们的步子迈得真是够大的,竟然造访我们隐秘的L0pht基地。但是,他们最终修正了对手发动恐怖的网络攻击真正所需要的条件的假设。
遗憾的是,很多人并不是像他们一样能够或愿意寻找令自己不安的证据来否定自己的假设。在测试软件和系统时,考虑工程师、开发人员和测试人员可能工作的环境以及他们可能具有的先入为主的想法是非常重要的。当涉及应用程序要求做什么以及什么样的输入可能会有意或出乎意料地对它们造成威胁时,这方面的考虑就显得格外重要。

1.3 功能锁定
功能锁定表示无法看到超出某些东西的常见用法范围的其他用法。这与第一印象的概念有点相似,即第一次接触到信息时(例如一篇新闻报告的偏向性标题或起诉方对案件的陈述)所留下的印象,常常会永远地影响听众对这种信息接下来的感知。
当有人提到“锤子”时,一般人首先想到的是一种用于造房子的实用工具。很少有人在听到锤子时立即把它与一种攻击性武器联系在一起。类似,人们在听到“火焰喷射器”这个词时脑海里立即会浮现一幅军事武器的图像,很晚(即使有的话)才有可能想到它是一种通过先发制人的燃烧策略防止火势蔓延的消防工具。
功能锁定就是指不能理解一种工具的最常见用法或“默认”用法之外的其他用法。如果一个人认为一种工具只有一种可能的用法时,我们就把它称为“锁定”。
考虑口袋里的一把零钱中的一枚二角五分硬币。如果有人问你打算怎么使用这枚硬币,你首先的想法很可能是用它来买东西。但是,人们当然也可以把它派到其他用场:


  •   用来抛硬币,以决定应该怎么做某样事情。
  •   把它当做起子,例如撬开蛤蜊。
  •   投掷物,用来击中别人。
  •   防止门关闭的垫片。
  •   作为具有美学价值和历史价值的收藏品。

  • 如果忽略这些其他功能,很可能会通过想不到的方式让你感到吃惊,例如有人可能会提出购买你的旧硬币,或者当你把一个硬币送给你家的小孩之后,他却用力把它砸在你的后脑上。

    1.3.1 安全位置的潜在风险
    既然对功能锁定已经有了一个基本的理解,现在读者可能会疑惑它是如何与计算机和网络产生关联的。
    许多人把诸如漏洞扫描器和反病毒软件这样的安全产品看成是能够增加系统或组织安全性的工具。但是,如果这只是你的唯一观点,就有可能遇到功能锁定问题。这类技术的每一个都可能非常复杂,由数千行代码组成。在一个环境中引进它们同时也引进了很大的出现新的漏洞和攻击表面的可能性。
    以早年的漏洞扫描器为例,我在自己所在公司的内部网络上设置了一些特殊的系统。这些系统是恶意服务器,目的是攻击当前大多数流行的漏洞扫描器中的客户端漏洞。当时我并没有意识到客户端的漏洞攻击在几年后的恶意软件感染中将会非常频繁地出现。
    例如,ISS扫描器将连接到一个远程系统上的指名服务(finger service),以收集远程系统信息。但是,这个扫描软件在它的其中一个安全测试中出现了一个典型问题:这个程序没有检查返回信息的长度,而是盲目地把它复制到一个固定长度的缓冲区。这就在程序堆栈上产生了一种很普通的缓冲区溢出。知道了这个扫描器的这个弱点,并且知道了这个扫描器所运行的系统架构之后,我对恶意服务器进行了设置,以攻击这个漏洞。
    当我所在的公司将要接受年度审核时,作为审核者的评估工作的一部分,将从审核者所带入并连接到公司内部网络的笔记本电脑上运行网络漏洞扫描。当这个扫描器最终遇到我的其中一个恶意服务器时,扫描系统本身由于扫描软件的这个漏洞而遭到攻击。
    这常常导致很幽默的场景,它为公司的领导层提供了一些借口回应审核人员。由于被攻击的审核系统通常要对多个客户进行审核,因此我们可以用这个审核系统所暴露的其他公司的审核信息来忽悠他们。公司的领导层可以理直气壮地声称,在我们的内部系统中所找到的漏洞(隐藏在防火墙和其他防御技术的后面)相比审核人员向竞争对手泄露敏感信息而言实在算不上什么风险,而且它本身很可能是审核人员所使用的“安全软件”所造成的。功能锁定可能导致人们忘了安全检查软件本身的安全。
    遗憾的是,现代的反病毒软件已经被发现包含了各种类型的常见编程漏洞,例如局部缓冲区溢出、未检查的执行功能以及在自动更新活动中缺乏认证等。因此,安全软件也可能为攻击者开启大门,而不是起到防御作用。
    前面的例子是功能锁定的简单例子,可以归结于我在习得性无助这一节中所讨论的无从选择。但是,还存在更为微妙的例子。

    1.3.2 降低成本与未来收益:ISP实例
    安全的最大阻碍来自公司高层对安全需求的负面认识。其中有些认识代表了功能锁定。
    几个月前,在著名的分布式拒绝服务攻击Internet上主要服务供应商和商业实体(包括eBay、CNN、Yahoo!),并导致它们临时关闭前,(注7)我曾有机会为一家一级ISP分析骨干路由器配置。经过这些核心路由器的IP流量的主体是TCP流量,特别是HTTP通信。UDP所占据的比例要少得多,至于ICMP则少得可怜。我很惊奇地发现,这些路由器对流量缺乏任何控制,只是采用了一些最低限度的过滤器,以防止某些形式的对这些路由器本身的未授权访问。但是,当我建议对核心路由器的配置进行更改,侧重于保护这家ISP的顾客时,这下轮到公司的领导感到惊奇了,他们立即告诉我此事绝不可行。
    两种思维在这里发生了冲突。ISP并不想冒着减少它们的核心路由器吞吐量的风险,如果它们使用了任何类型的具有实质意义的包过滤器,就会发生这种情况。总之,ISP的业务是销售带宽,顾客把它看成是吞吐量。当系统把数据包从A点移动到B点时,就不得不花费额外的时间决定如何处理每个数据包,因此路由器的行为和最终的吞吐量会受到负面影响。
    而且,此时不论是ISP还是它的顾客都无法忍受任何负面效果。管理层可以理解可能会发生针对它们的路由器的攻击,但他们愿意等待,在发生这种情况时再对它进行处理。他们觉得在没有出现问题的时候花钱是件浪费的事情,虽然未来出现问题时所需要的花费可能大于现在积极预防问题发生所需要的开销。此外,对顾客的攻击则不在他们的考虑范围。
    相反,站在我的角度,尽管当时还没有发生广泛的DDoS攻击事件(事实上,当时还不存在DDoS这个词),但我还是意识到了不仅针对ISP的服务器而且针对背后的顾客的网络资源饿死型攻击的可能性。我知道对顾客的攻击将很难被诊断,并且难以快速作出反应,但是我完全无法说服ISP。事实上,我不得不从商业的角度理解他们的想法。他们对自己的系统不需要进一步采取安全措施的理由多少是符合逻辑的。
    (Randy V. Sabett所编写的第12章也讨论了安全是成本而不是收益的问题。)
    在大规模的DDoS攻击之后的某个时刻,我有幸被邀请参加在白宫的椭圆办公室所举行的圆桌会议,所坐的位置距离克林顿总统只有几个座位之遥。这个会议的目的是讨论政府和行业如何应对最近的DDoS攻击以及接下来应该做些什么?
    在会议上,我再次感到吃惊。商业部门的领导层所表达的主要担心是这些攻击可能会导致政府介入,并对它们的行业进行调控。看上去,他们实际上对于理解或处理当前的技术问题并没有什么兴趣。
    我开始渐渐明白,ISP固守一种概念,他们觉得政府在这些事物上的干预很可能会对他们的收益产生负面影响。他们与我在前几个月所遇到的那家拒绝在它们的核心路由器上采用包过滤器的大型ISP具有相同的概念:安全需要花钱,并且只能预防未来潜在的损失。他们从来没有从安全也可能制造收益这个角度去思考问题。
    在会议之后,我重新约见了几个月前打过交道的那家大型ISP的执行官。我告诉他,我理解他为什么做出这样的安全决策,并要求他真心回答后来在我脑海里萦绕的一个问题。我要求他假设我并不是站在安全的角度问这个问题的。反之,假设我已经指出ISP可以协商承诺访问速率(Commited Access Rate),根据这些新的确定性更好地规划利用率,并最终使每台关键服务器服务更多的顾客。而且,他们可以使用这个方案为他们所销售的新类型的服务提供不同的记账和报告功能。过滤和测量可以防止用户不合理地占用带宽,但任何客户端所发现有用的网路被封锁或变慢是可以通过不同服务水平来满意解决的。
    但是,作为回报,这种过滤可以极大地降低外部恶意因素对带宽的不正当占用。我的问题是—这会不会是一个更好的方法?
    他的回答是一声响亮的“是”,因为这家公司把这个方法看成是一个机会,认识到它可能带来的更多收益,而不仅仅是把它看成是与安全姿态相关联的日常开支。
    我从这个事情中认识到,我(包括安全领域的绝大多数实干家)受到“安全只是它自己的事情,它并没有被看成是一个不同目标的副产品”这个功能锁定的困扰。正如经常被事实所证明的那样,构建高效和具有良好定义的需求也可以增强安全。

    1.3.3 降低成本与未来收益:能源实例
    我的工作有一部分涉及详细检查各家电力公司的后端控制系统,有时候还包括石油公司的后端系统。我评估了它们与其他系统和网络的相互联系是如何被保护和跟踪的。令人吃惊的是,石油和电力行业虽然使用了相似的系统和协议,但它们在配置和安全方面的操作和运行存在极大的差别。
    换种礼貌的说法,电力公司的网络是一团糟。电力控制系统和网络可以通过公共的Internet访问。用于通用的系统由许多任务所共享,文字处理和其他日常工作与那些关键的功能混杂在一起,后者应该局限于专用的系统内部,以防止操作的潜在干扰和破坏。在好几个地方,系统和网络的布局随心所欲,根本没有考虑过优化的甚至是准确的操作。实现者在完成一项任务之后就转移到另一项工作。许多电力控制网络、电力信息网络和公司LAN没有配备防火墙或阻塞点。从安全的角度出发,所有这些因素结合在一起,可能导致恶意入侵者潜入后大搞破坏,包括操纵或破坏电力的生产和传输过程所使用的物理组件。
    相反,我所观察的几个近海石油系统虽然也利用了类似的SCADA系统,却采取了不同的配置和操作方式。电力控制和信息网络严格与公司的LAN分享。大多数关键系统进行了正确的设置,使它们的结果和状态由一个管理系统进行处理,然后用一种类似二极管的风格把信息推向更高的分析系统。简洁和高效的网络图导致物理世界中的SCADA和DCS系统可以被清晰、整洁地实现,包括对访问的限制,有效地提高了安全性。在许多场合,组件是自定义的系统,被设计和配置用来执行特定的功能(注8)。
    电力和石油公司之间的反差令我感到好奇和困惑。仿佛是命运的安排,我的职位使我能够与电力公司、石油公司和政府部门的高级技术人员一起开会讨论这个主题。
    在会议中,首先令我感到惊奇的是来自电力系统以及电力系统监管和结算组织的人们,他们并没有反驳我对他们的网络和系统的不良(或者说完全不存在的)安全所作出的论断。这令我感到吃惊,因为电力公司在公开场合总是否认它们存在任何网络系统风险。在会议中,他们指出了一些已经正确地实现了安全的例子,但他们承认这些例子只是例外,并不是普遍现象。
    我的第二个惊奇来自石油公司,他们表示根本没有站在安全的角度设计他们的系统。尽管安全非常重要,但它并不是正确配置系统的商业推动力。主要的推动力来自它们的直接竞争对手的压力。
    如果A公司在关键组件操作的效率能够比B公司高出5%,经过一段时间之后,增加的操作能力或减少的开销可以使A公司赚得大笔的钱。提高这种效率的例子包括:


  •   系统的强制分离,防止关键系统由于管理和报告请求所执行的查询而增加额外的延迟。
  •   利用特殊用途的专门完成特定任务的系统替换通用目的的非优化系统。

  • 这些效率改进措施同时也改善了安全。第一个措施在网络和系统中创建了强大、干净和可实施的边界。第二个措施使系统的表面区域变小,从而增加了攻击的难度。
    可实施的网络和系统边界的效果显而易见,但更小的表面区域这个情况则值得稍加解释。想象一个具有默认配置的通用目的的系统。默认配置可能已经有几个配置并正在运行的服务,以及许多正在执行的协助用户处理的后台进程。这就允许用最大数量的设置对系统进行部署,并最大限度地减少重新配置的数量。系统的生产商希望这样的系统具有更广的功能,因为这样可以使安装更为方便。
    但是,这并不意味着默认设置对于消费者主体都是优化的,只不过是可以接受而已。在默认设置中,每个正在运行的服务都是一个攻击表面,可能会遭到攻击。与此类似的是客户应用程序可能由于来自被盗用或虚假的服务器的恶意输入而被盗用。系统所运行的服务和客户应用程序越多,系统的攻击表面就越大,被远程或本地盗用的可能性也就越大。
    虽然具有较大的攻击表面不是件好事情,但是石油公司所关心的基本缺点实际上是系统的性能不够理想。对于每个正在运行的程序,包括服务器所提供的服务以及本地应用程序,处理时间是由内核和CPU贡献的。如果有许多正在运行的应用程序,系统就不得不为它们划分时间片,这是一种本身就会消耗资源的内核活动。
    但是,如果正在运行的应用程序数量很少,那么每个应用程序可以拥有更多数量的CPU时间片,实现更佳的性能。对系统进行瘦身的一种简单方法是删除多余的服务和应用程序,对系统进行优化,使它尽可能以最专一的方式运行。另一种方法是系统部署为专门实现特定的功能,不提供运行不相关任务的功能。这些策略在我已经检查过的近海石油公司中使用,以便最大限度地提高性能,并因此增加了利润。
    为什么电力企业不采取与石油公司相同的做法呢?首先,电力公司是受控制的垄断企业。这个行业并不存在什么竞争,因此它们就没有动力设计优化和严格结构化的环境。
    人们可能忍不住假设如果取消对电力行业的控制,把电力公司放在竞争环境中会不会提高它们的效率并因此提高它们的安全性(按照与石油公司相同的路径)。但是,事态的发展恰好相反。当电力公司放松管制时,它们意识到需要采取削减成本的措施以保持竞争力。结果,它们的第一个步骤就是削减劳动力。它们让更少的人维护和操作相同数量的本地和远程系统(常常通过远程访问技术),把注意力集中在每天都要进行的操作,而不是高瞻远瞩地看到长期的需要。这通常是提高效率或安全的不佳方案。
    石油公司的故事证实了我在1.3.2一节中对ISP所作的评论。大多数组织把安全看成是一种令人不快的成本,至少到目前为止它们大都是这样想的。按照这种方式实现的安全很可能是不充分或糟糕的。但是,如果有的公司将网络和系统的功能进行优化和流水化,以实现特定的商业目的,那么它们常常可以以副产品的形式实现优质的安全。同样,安全专业人员可以把克服他们对安全的功能锁定作为一个崇高的目标,直到觉得安全本身值得花费大量的资金,而不是把安全看成是一种偶然的副产品。

    1.4 小结
    在本章中,我提供了一些经典的安全失败的例子,并在脱离工具、实践和个人决策的情况下对它们进行跟踪,以探索如何进行思考的基本原则。我们可以采用与自然倾向相反的更明智方式应用我们的资源,以提高安全性。


  •   我们可以保证最初的决定并不会影响创造性的思维,以克服习得性无助和无从选择。
  •   我们可以寻找不同人群的输入并强制自己试图推翻自己的假设,以克服确认陷阱。
  •   我们可以通过寻求工具的替代用法并通过其他路径来实现目标,以克服功能锁定。

  • 所有这些都需要实践。但是对它们进行实践的机会每天都会出现。如果更多的人致力于此,这种常常称为非比寻常的方法将越来越不稀奇。
    上传的附件:
    zhengbindu 2011-4-20 11:24
    6
    如今,许多人都已经听说过关于无线设备安全的问题。从2000年最初发布Wi-Fi时,无线设备安全就已经是许多安全专家所关注的领域了。早在2001年,有线等效保密(Wired Equivalent Privacy,WEP)访问协议就被发现存在严重的缺陷。虽然设计这个协议的目的就是为了阻止非法用户访问无线设备,但是攻击者在几分钟之内就可以绕过它的安全保护机制。随着2003年Wi-Fi网络安全存取(Wi-Fi Protected Access,WPA)协议的公布,无线设备的安全性已经得到了极大的提高。尽管如此,大多数偏执的系统管理员仍然对它的安全性表示怀疑。尤其是在发现了WPA的几个新的漏洞之后,他们就更加确信这一点了。虽然它的危险程度不及WEP,但这足以让许多管理员认为他们的看法是正确的。
    虽然仍然有人对无线网络的安全性持怀疑态度,但大多数人在看到无线技术给生活所带来的便利之后,都接受和认可了这项技术。比如,给百货公司的员工人手配备一台手持设备,那么他们就能够直接与机构的服务器联系,快速高效地完成一些与库存有关的工作。这可以节省大量的时间并提高客户的服务满意度。Wi-Fi也给市政公共事业注入了新的活力,从咖啡馆到公园都有它的身影。遗憾的是,人们对一些针对Wi-Fi的攻击场景仍然不是十分清楚,这种攻击将会引发企业和个人信息被盗的风潮。
    本章首先介绍我作为一个专业的安全研究人员是如何探索无线安全缺陷的,并简单地描述它们所造成的威胁。接着,我继续讨论Wi-Fi的现状以及它是如何破坏安全的。

    2.1   轻松赚钱
    这是一个日常攻击场景。假设你在美国的一个主要机场稍作停留之后准备启程时,把目光转向登机监视器寻找自己的入口时,发现每位旅客都在哀叹:“飞机又延误了。”这时,你已经成为众多“难民”的一员,将在机场的舒适安静环境中度过接下来的6个小时。
    这时你的视线离开监视器,四处搜寻可用的电源插座,以挽救快要没电的笔记本电池。我经历过很多次这样的搜寻,每次都是慢慢地在整个区域到处查找,比如每排座位的后面或者是某根杆子的背面。你可能会注意到,寻找这种隐秘插座的人在路过时,似乎是在盯着你的脚下,却又做的不是太明显。我觉得这类似于穴居人在寻找火种。每个人都想拥有它,但只有少数人能够找到,而一旦你找到了,那么你会极具占有意识。事实上,在不止一个场合,当有人走近时,我都会哼一声,然后锤打胸口以示强势。
    现在,假设你是找到插座的成功人士,然后打开笔记本,将电源插到插座上,并立即开始搜索无线接入点。现在,大多数机场、宾馆、咖啡馆甚至是公园都提供了无线接入设备。你只需打开笔记本电脑,点击无线接入图标,就会弹出一个或多个可供选择的接入点。当你浏览接入点列表时,看到了一个标题为“T-Mobile”的接入点。原来,这个机场使用的是这个接入设备,因此你毫不犹豫地选择了它。几秒钟之后,你打开了一个网页浏览器。此时显示的不是你的主页,而是T-Mobile的页面,它让你选择是使用已有的T-Mobile账号登录还是创建一个新的账号。
    由于你并没有账号,所以点击创建了一个新的账号,这时会发现所需价格是9.99美元一天。虽然这个价格不是太恐怖,但你刚才注意到还有其他的无线接入点,所以你决定看看其中是否碰巧有免费的。你再次点击无线图标,然后看到列表中还有其他三个接入点。其中有两个是加了锁并且需要正确的密钥才能连接,但有一个标题为WiFly的是开放的。然后你选择了WiFly,这一次重定向到的是WiFly的登录页面,上面给出的价格仅为1.99美元。让你感到高兴的是,你刚刚节省了8美元,这时你拿出信用卡,填写在线表单,然后点击提交,瞧,你现在正在浏览互联网。
    别的也没有什么事可做,所以你决定通过在线网页接口来检查你的电子邮件。输入网站的网址后敲回车。突然一个错误消息弹出,告诉你网站的安全证书有问题。只有在浏览需要加密访问的网站时才会用到安全证书。这时你才会意识到这个网站是使用加密会话的,因为网站链接是以https://开头的,而不是http://。
    此外,你还会注意到浏览器的状态栏上有一个闭合的锁,这表示该页面也是加密的。但是,错误消息表明这个网站的安全证书不是由可信任的认证机构颁发的,另外你所访问的网站和证书不符。
    现在你可以选择关闭这个页面或者继续浏览下去。稍做考虑,你想可能是自己访问错了,所以选择关闭该页面。然后你打开了一个新的浏览器窗口又试了一次,结果弹出了同样的错误。此时你可能意识到页面是正确无误的,但确实又有什么地方出了问题。你可能会想这也许和你在机场所用的服务提供商有关,所以选择继续浏览下去。页面出来了,而且看起来很正常,没有什么问题,所以你就登录进去并查看电子邮件。接着你又浏览了几个小时,中间除了又跳出来几次同样的错误消息之外,其他一切看起来都正常。
    最后你的飞机来了,收拾好笔记本,把电源插座留给附近其他正在耐心等待的“穴居人”,然后到达了最终目的地。
    几周过去,你回到了家里,然后去支付账单。当你打开信用卡账单时,大吃一惊,先前信用卡里面还有好几百美元,现在已经被刷爆了。想了一下,然后你去问你的妻子是否去疯狂购物了。让你感到放心的是,她确实没有去,但这些消费账单依旧还在。当然,你已经完全忘记了,在从机场返回的那一天,你选择了一个廉价的无线接入公司,并向其提供了信用卡信息。遗憾的是,原来这个便宜的无线接入公司的确是一个身份窃贼(identity thief)。

    2.1.1   设置攻击
    在工作之余,有人雇我去布置安全陷阱以用于测试。我已经在整个美国多次实施了这种特别的攻击。每一次我都能收集到信用卡信息。虽然骗局看似复杂,但让人如此担忧的情况却可以很容易的实施。
    在我去布置攻击的场地之前,我会先制作像WiFly这样的一个虚构的公司登录页面,这个页面看上去很可信,而且外观绝对专业。它还提供了一个用于填写信用卡信息的表单。
    到了场地之后,我打开一个普通的笔记本电脑并购买了该地提供的真正的互联网接入服务。如果是在没有互联网提供商的地方,我就会用我的手机来进行连接。即使网络速度会很慢,但这没有关系,因为当受害者在使用接入服务时,就已经被骗了。
    接着,我给笔记本安装上一个无线路由设备。根据地方的大小,我会设置比较大的天线来覆盖尽可能广的范围。
    最后,我运行我写的一个程序,截获从不知情的受害者电脑上发送到无线路由设备、再发送到我的电脑上的数据包,然后再把这些数据发送到真正的我所购买的互联网上。万事俱备,此时,我就像是一只等待苍蝇的蜘蛛。
    最终,受害者出现。他们选择了低价的无线接入点,点击了之前设计的网页,并提交了他们的信用卡信息,至此,他们就成了另一个身份窃贼的囊中之物了。

    2.1.2   隐私的聚宝盆
    很明显,获取信用卡信息对身份窃贼来说是有用的,但是这类攻击还有更多的用途。
    还记得浏览器弹出的关于证书的安全警告吗?之所以出现警告是因为那些加密的网络数据并不是在用户认为的最终目的地进行解密的,而是在我的笔记本上进行解密的。换句话说,使用安全的、加密的连接是因为这种操作确实需要,只是用了我的证书来进行加密,当然我可以轻易地解密了。类似于中间人攻击,我能够对用户的数据进行解密,记录下任何数据,然后再重新加密并传送给最终目的地。我可以记录用户名、密码、电子邮件信息以及其他的可能敏感信息,而受害者却认为这些信息会安全地发送给可信的最终接收方。
    即使是一小部分个人网络数据都可能会导致一次危害巨大的身份攻击。举个例子,比如我只得到了你的电子邮件账号,现在我就能够浏览所有你接收到的电子邮件信息。想想那些所有通过电子邮件来获得的令人疯狂的信息吧。
    如果你不用基于Web的电子邮件服务,那么你可能会认为在你的电子邮件账号和网页账号之间存在一个安全的屏障。但是,大多数网站都提供了“忘记密码”的选项。只需要提供你的email地址,他们就会把密码发给你。通过在一个人的足够长的邮件信息中查找泄露秘密的字符串,通常能够得到任何东西的用户名和密码,包括网银账号。
    一个高水平的身份窃贼明白通向王国之路有很多。有时需要从几个不同的源来收集数据。像解决一个谜语一样,你得到的每一份数据都能够用来获取另一份数据。在某些测试中,我也会布置一个什么页面也没有的无线接入点。此时,我暂时放弃了嗅探用户的信用卡信息的机会,但却吸引了更多的用户,他们认为这个接入点更加安全,因为他们不需要提供诸如信用卡信息之类的敏感信息。这种测试的唯一目的就是记录下都有哪些数据流过。几个小时里我就记录到了从用户名和密码到在线购物信息,如姓名、地址和信用卡信息等。
    通常,住在公寓里的人都希望不用自己购买互联网接入服务就能访问网络,这时他们就会连接到发现的开放的无线接入设备,而且认为这可能是邻居的接入点。他们认为这是免费的午餐,实际上他们每天都被身份窃贼所欺骗,身份窃贼布设这些接入点的目的就是为了欺骗别人。
    正因为无线接入点如此普遍并且已成为日常景观的一部分,所以大多数人都没有想这些无线接入点从哪来。在购物商场里,你会相当肯定地认为从一家珠宝店里买的一块看起来不错的手表是没有问题。但是,如果你正在街上开着车,看到一个在他的车外叫卖手表的人,你可能就不会做出同样的判断了。这很容易看出两者之间的区别,知道什么看起来安全,哪些又看起来像一个陷阱。但是对于无线网络,你根本不知道是谁在提供。即使名称叫做T-Mobile而且登录页面也很像真的T-Mobile登录页面,但你又怎样知道这个特殊的页面真的是由T-Mobile运营的呢?任何能够部署无线接入点的人都可以随意设置访问页面。

    2.1.3   Web安全的基本缺陷:不要相信可信系统
    我的攻击之所以能成功的主要原因之一在于用户和服务器对安全证书的处理都存在问题。大多数人在浏览互联网时都不太在意安全警告。这主要有两个原因。
    一方面,一些人根本不明白这些警告的意思。我想用我父母的例子来说明。他们和世界上其他到达退休年龄的老年人一样,他们是聪明的人,非常乐于接受互联网这一新鲜事物。但是,他们从没有接受过关于互联网及其风险的专业训练,也没有在有专门的工程师负责教会员工的公司里工作。他们只是自己体验整个互联网,也只有一般的能够应付在线支付和查看股票证券信息的知识。类似于数字证书这样的东西对他们来讲就像是质子加速器对他们的意义一样。
    另一方面,我发现也有一些精通技术的人不但懂得数字证书,还了解中间人攻击。有人认为这类人从不会中这样的陷阱,但恰恰相反,即使是这些人也很容易上当受骗而成为受害者。与我什么都不懂的父母所不同的是,这些专家受骗的原因是他们太了解这些知识了,以至于能够为自己失误做出合理的解释。
    例如,当安全警告跳出来时,他们首先认为是这因为WiFly网站的管理员没有更新已过期的证书而导致的。或者他们认为由于这个网站是由咖啡馆或宾馆提供的,而配置这个网站的人没有经过良好的技术训练,所以没有正确地配置网站的证书。除此之外,在企业内网中你也会经常碰到证书过期的情况,而这时公司的信息技术人员会告诉员工只要忽略安全警告,然后继续使用网站就可以了。这类事件让普通用户认为证书是不重要的,而那些明白证书重要性的高级用户则对他们没有关注的地方一点都不敏感。
    在完成攻击之后,我和受害者交谈时,受害者对他们的行为的普遍答案都是根本就没有关注所有弹出来的安全警告。他们大多数似乎都是被操作系统搞烦了,因为有些操作系统每天都会给你提示许多的安全警告(最糟的是微软的Vista操作系统),这使得安全警告变成了白色噪音。

    2.1.4   建立无线信任
    尽管使用无线接入存在风险,但它们显然又是非常方便的,而且我也不建议所有人都停止使用它们。人们需要的是在不降低使用频率的前提下,找出减少风险的方法。
    用户进行自我防范的最有效的办法是多注意安全警告。如果你在使用无线接入服务的时候,收到了关于安全证书存在问题的警告,那么你需要立即停止操作。虽然这也有可能是因为某些网站管理员的操作错误或者是没有更新证书所导致的,但继续操作下去的风险仍然非常大。
    当然,这也是要求企业对证书进行良好管理的理由之一。数字证书是企业能够让最终用户对网站的安全持有信心的少数保障之一。如果连证书都没有维护好,那么很容易导致别人对其他方面的安全产生怀疑。
    如果某个要求输入信用卡账号,此时你可以采用一种比较简单的方法来验证这个网站合法性,即提交一个假的信用卡账号。如果这个网站是合法的,那么它会检查信用卡账号并且告诉你交易失败。如果是一个恶意的网站,那么它不会作检查,无论你输入什么它都接受。这种方法并不保证一定有效,但有总比没有好。
    最后一个建议是尽量不要使用公用的接入点来进行个人交易。咖啡馆也许并不是最好的登录并检查你的银行账号收支的场所。在机场登录并进行股票交易可能会受到一些不好的影响。作为一个经常出差的旅行者,我自己也知道有些时候你别无选择,并且可能也摆脱不了使用你所找到的无线接入服务来传输个人信息的情形。如果发生这种情况,而且也稍微注意到你输入了敏感的信息,那么一旦你回到了一个可信的地方,就要立即修改刚才使用无线接入服务时的登录账号。当然,这也不是说你已经是一名受害者了,但这么做没有什么坏处。

    2.1.5   采用可靠的解决方案
    虽然时刻注意你的个人信息安全确实可以起到一定的作用,但却不能真正消除这类攻击所带来的危险。为实现这一目标,业界需要解决信任关系。当我打开无线接入软件并搜索可用的无线接入点时,我需要确信一个叫做“T-Mobile”的无线路由确实是属于T-Mobile公司的。
    要做到这一点,接入点和客户端之间必须能够交换可以对两者进行鉴别的核查信息。虽然在不同的系统中协调实现这种相互信任比较困难,但这种技术本身确实非常容易,而且已经出现很多年了。用于网站的证书技术同样也可以用于无线接入设备。
    这种解决方案的工作流程大致是这样的。用户首先打开无线客户端并收到了一份可用的无线接入点列表。然后客户端会检查对应于每台设备的数字证书。每个证书都包含显示出来的名字、公司名称、硬件标识符以及签发证书的认证机构。由于是无线客户端列出这些设备的,所以能够指明他们是否合法(见图2-1)。
    有许多建立认证中心(Certificate Authority)的方法,我所想象的最容易的办法是采用和Web认证相同的认证机制。使用一套已经建立起来的机制会让这个特殊领域的开发变得更加容易,而且利用已经部署的基础设施可减少大量的重复开发。
    图2-1   假设经过认证的无线路由
    我也意识到有些恶意的无线路由可能会使用伪造的证书,而且一些用户可能从未注意到合法的和非法的接入点之间的区别。但是当对人们进行这种解决方案的培训越来越多以及客户端软件会尽可能正确地指引人们时,这类攻击的风险性将大为降低。

    2.2   无线也疯狂
    在描绘了前沿的无线攻击技术以及如何进行相应的防范之后,我们再回过头来讨论众所周知的Wi-Fi安全问题以及使其成为日常威胁的社会条件。
    习惯于以以太网技术为基础的局域网网络用户和管理员很难理解无线的相对不可控性。局域网使用的是非常不安全的协议(嗅探和篡改、系统伪装和实施拒绝服务攻击都是很常见的),但是有线电缆的物理限制性能够缓解一些安全问题,你不可能在网线内部部署一个恶意的系统。而无线技术故意去掉了我们习以为常的物理安全层,使得网络流量会泄露出去,甚至能够跨域有形的围墙和围栏之类的物理界限。
    如果我在本章开始提到的,管理员(假设他们使用部署任何安全措施时都足够细致)一开始是采用WEP来保证接入点的安全。WEP的主要问题是黑客能够很容易地嗅探到在空气中传输的数据包,并且能够提取密钥进行解密。甚至初级黑客都能够借助于一些工具来实施这种攻击。
    后来又引进了WPA技术来解决WEP问题,即解决从嗅探到的数据包中快速提取密钥的漏洞。这时,无线工程师们都很高兴。
    当然,喜悦是短暂的,又有人发现仍然能够提取用于WPA预共享密钥(Pre-Shared Key,PSK)的密码短语。WPA协议首先传输的是交换包,即所谓的握手机制,它能够验证客户端和接入点。由于数据是加密的,所以即便是在无线路由附近对传输的数据包进行监控并记录整个握手过程,也没有人能够推导出密钥进而破坏整个系统。但是,黑客可以记录下这些数据,然后采用暴力破译密码的方法来进行攻击,即从一张单词列表中对每个单词进行穷举,以找到和记录数据相匹配的。
    黑客要成功地实施这种攻击,需要满足几个条件。首先,黑客要必须能够从接入点接收到无线信号。我见过很多公司把这作为主要的防御点。有些时候,考虑到在墙外接收到的无线信号会很弱,管理员会把接入点安装到非常隐蔽的地方。确实,这样做的话,普通笔记本电脑中的无线设备很难再捕捉到无线信号了,但是对于那些坚定的黑客来说,他们往往都拥有非常强大的天线以接收任何弱小的信号源。
    其次,黑客需要从客户端和无线接入点开始会话时就进行监控。监控会话建立后的数据包没有什么用处。虽然听起来这个要求大大减少了黑客获取初始握手信息的机会,但实际情况是这根本算不上什么。事实证明,已经出现了大量的能够终止无线会话的工具,它们能够迷惑客户端,并发送一条终止会话的命令。一旦连接断开,客户端一般会尝试重新连接。这时黑客就能够对数据包进行监控并获取初始握手信息了。
    最后一条是密码短语本身的强度。在我的测试中已经出现了像tootired和bicycles这样简单的密码。密码破译软件在几分钟之内就能够找到这些密码。一个WPA密码短语可以由8到63个字符组成,但是我发现大多数人一般都只用8个或者9个字符。当然,最好的密码短语是63个字符,它可以混合字母、数字和标点符号。那么为什么没有一个管理员这么做呢?
    最主要的原因是不管你为接入点设置了什么样的密码短语,每台电脑在连接的时候都需要输入这一密码。对于一个真正疯狂的密码的支持成本将成为一个噩梦,因为人们会输错字符或完全忘记了密码。所以,取而代之的是,管理员走向了另一个极端,即使用尽可能简单的密码。虽然没有完美的解决方法,但我建议可以采取皆大欢喜的折中方法。比如“This1was900yearsold!!!”这样的密码既便于记忆,又比标准字典中的单词更难破译。

    2.2.1   无线侧信道
    担心无线接入点被伪造是一回事,但是负责保证网络安全的系统管理员还有更多方面需要考虑。
    一些企业很久之前就认为浏览互联网网站对他们的网络造成了很大的风险,因此完全屏蔽了网络浏览。过去这种办法看起来很有效,但是最近随着开放的无线接入点遍地开花,威胁再次显露出来。许多用户发现他们可以在工作的时候带着一个USB无线设备或者使用笔记本电脑中的无线设备来登录到临近公司的无线网络。
    随着大约五年前“战争粉迹”(warchalking)(译注1)的出现,开始流行黑客们使用别人的无线接入服务。这个术语是指黑客在有开放的无线网络的场所留下来的标记。在有黑客看到这种标记时,就知道能够使用笔记本来连接这里的无线网络了。
    随着无线技术越来越流行,即使是一些没有什么技术的用户也开始使用这种方法了。这时管理员所面临的问题就变成了这些用户根本就不清楚他们使用新发现的接入点会给自己公司的网络所带来的潜在的危险。
    任何绕过自己所在公司的安全基础设施,利用其他设备来访问互联网的用户,都把自己的安全交给其他公司所实现的安全机制来保证。然而,从无线网络是任何人都可以连接的这一点就可以看出这家公司的安全措施并不好。可能已经被本公司的入口所屏蔽的病毒和蠕虫此时就有了新的传播途径,它们会从这个无线接入点进入企业网络。
    一些用户把他们的笔记本电脑或台式电脑通过有线网络连接到他们公司的本地局域网络,同时又通过无线连接到其他公司的网络。这种设计会在两个网络之间创建一个潜在的通道,它能够直接破坏更为安全的企业的整个内部网络,使大部分安全预防措施都形同虚设。
    黑客们也同样知道企业员工是如何利用开放的无线连接来访问互联网的。出于这个原因,黑客就会在一些敏感的场所附近部署伪造的无线接入点来试图获得企业信息。
    他们的攻击相当简单。首先,在某个建筑物中设置一个能够访问互联网的无线接入点。大多数情况下,这相当容易实施。因为许多小公司没有对网络进行真正的控制,而且也不知道员工什么时候安装了这种设备。接着,使用修改的天线来增强无线信号的强度使之覆盖尽可能广的范围。然后,写一个小程序用来监控无线设备上的所有活动。一旦有活动发生,就会通知黑客。此时,黑客就会着手攻击那些连接到无线网络上的电脑。如果某台电脑有漏洞,黑客仍会让它继续使用互联网,同时却静悄悄地获取这台机器的访问权限。通常情况下,间谍软件和木马就会登录到这些用户的电脑上了。
    一旦系统被攻陷,那么黑客就能够获取任何类型的信息。既连接到公司的内部网络,又连接到黑客的接入点的系统简直就是一块金子。虽然在初次访问用户网络的时候会出现一些路由问题,但即便是最低层次的黑客都能够在几分钟内解决这一问题。
    那么企业的内部网络监控此时又会如何呢?取决于所采取的安全机制,他们可能从不知道网络中正在发生些什么,也许直到破坏已经存在许久之后才会发现。

    2.2.2   无线接入点自身如何
    如果我提到TJX,你会想到什么?如果你经常关注过去两年的主流新闻,你可能首先想到的是这家公司曾被盗过许多信用卡账号。这件事在2006年12月才被人们发现,黑客攻入了他们的网络并不断地下载了至少四千五百七十万个信用卡账号,而且据推测这个数据更接近于两亿(TJX事件在第3章中有详细介绍,作者是Elizabeth A. Nichols)。专家预测TJX公司需要花费1亿美元左右才能弥补此事带来的后遗症,在这个时候,越来越多的证据表明,更多的公司每天都面临着同样的安全缺陷:未加保护的无线接入点。
    在2007年11月,Motorola公司提供安全和无线网络监控服务的AirDefense部门发布了一项关于全国范围内的3000个商场的无线设备安全研究报告。据该报告指出,25%的无线设备根本没有使用任何加密措施,剩下的1/4仍然还在使用老的、具有安全漏洞的WEP连接协议。
    在TJX案例被广泛宣传一年之后仍然还有如此之多的安全隐患,这是非常可怕的。1/4的商场比TJX的安全措施更薄弱,剩下的1/4的安全措施和TJX公司的一样容易绕过。
    决定使用无线技术所带来的方便的企业除了清楚地知道它所具有的风险,还要不懈地做好无线设备的安全防护措施。TJX在初次部署无线路由的时候,也实施了当时存在的安全机制。但遗憾的是,这种安全机制很快就过时了。假如这家公司稍微花此时间来更新部署更为安全的WPA机制,很可能我们大多数人都不会听说过TJX。

    2.3   无线仍然是未来
    从酒店和机场到企业办公大楼和超市,无线接入的需求仍然在持续增长。和互联网一样,更多的安全风险将会暴露出来。企业、管理员,甚至是普通用户对这些安全威胁的重视仍然是个问题。使用开放的无线接入点是有风险的,用户需要明白这一点并做出相应的举措。除此之外,如果没有做好无线接入点的安全保护将会导致更加严重的危害,这正如TJX公司的案例。如果你打算采用新技术,那么必须考虑到所有的后果。
    上传的附件:
    zhengbindu 2011-4-20 13:17
    7
    当你可以对自己所论及的东西进行度量,并可以用数字表达它时,你就对它有了相当程度的了解。当你无法对它进行度量,无法用数字表达它时,说明你对它缺乏了解,也就无法达到满意的程度。它可能是知识的起点,但你觉得很难把它推进到科学的状态。
    —William Thomson, Kelvin勋爵,1883
    界定现代和过去的革命性思想就是对风险的掌握;未来并不是上帝的一时兴趣,人类在自然界面前并不是全然被动的。在人类找到办法跨越这个边界之前,未来仍然是过去的一面镜子,它是在预测未来事件方面占据垄断地位的巫师和占卜者的独有领地。
    —Peter Bernstein,1996
    本章开始时的两段引语捕捉到了测量之美的本质:度量指标。Kelvin勋爵的说法是没有度量指标就不能成为科学。Peter Bernstein的说法与风险有关,它在概念上是与安全相关的。Bernstein博士表示,度量指标可以使你不再成为过去的囚徒,更不必依赖占卜者的胡说八道。一般情况下,这正是科学的关键目标。
    由于自身的这些原因,度量指标在概念层次上是美丽的。它在实践中又是怎样的呢?具体地说,度量指标在保护个体、公司、国家和全球利益上的应用是怎么样的呢?特别是当它们的利益依赖于信息产业(IT)基础设施的时候。本章的目标是探索应用安全度量指标的美丽之处。首先,我将使用医学领域作为类比。接着,我将转移到本书所涵盖的领域:计算机安全,并通过实例来讨论度量指标。为此,我将分析一些广为人知并且危害严重的安全事件。其中一个例子是预防ATM欺诈这个基本领域。另两个例子则是众所周知的事件,涉及两家单独的上市公司:巴林银行和TJX。

    3.1   安全度量指标的类比:健康
    医学研究通过度量指标提高了人类健康的科学性和实践性。和安全一样,健康也是无形的。我们可以感觉到它,但不能触摸到它。和安全一样,健康也是为了实现某些缺乏的东西,即由于精神上或身体上的不适而寻求健康监护,就像由于机密性、完整性或可用性不足而寻求安全一样。许多安全专业人员把这些特征(不可触摸和“纠正负面因素”)作为IT安全难以找到一种定量的、严格的、可解析的方法的原因。但是,医学研究却是一个闪亮的反面例子。因此,对医学领域所应用的一些度量指标的观察有助于我们通过例子来讨论安全的度量指标。
    让我们从观察大的问题开始,也就是美丽的安全度量指标应该实现什么目标:
    1)  我的安全状况怎么样?
    2)  我目前的状况是不是比去年同期有所改善?
    3)  我是不是花费了恰当数量的金钱、精力和时间?
    4)  我该如何与同等类型的人进行比较?
    5)  我可能会遇到什么情况?
    第5个问题表示最近可能发生的任何事件(通常是负面的)。
    前4个问题最初是由Daniel E. Geer, Jr博士作为对安全度量指标的挑战而提出的。他是一位非常优秀的安全“度量专家”(注1),他的博士学位是从流行病学专业获得的。在流行病学中,度量指标被认为是公共健康监护研究的基石。第5个问题是我自己添加的。
    Geer博士表示,他最初是在一家大型的公共金融服务公司的CFO那里听到第1-4个问题的。在回顾这段经历时,他描述说当时人们对这些无法顺口回答的问题颇为不屑。显然,需要提供更多的证据证明安全是一门需要度量指标的学科,才能使它获得应有的尊重。
    把前面的安全问题映射医学领域后,我们会发现两者几乎没有什么差别。而且,和安全一样,人的健康也是受许多因素影响的复杂函数。这些因素包括:威胁(例如病菌和疾病)、潜在风险(例如基因或环境条件)以及它们的联合影响。和IT安全一样,预防性健康监护的目标是确定并实现一些措施,减少威胁利用一个或多个潜在风险的可能性。和IT安全操作一样,医学的目标也是确认威胁,当一个威胁利用一个潜在风险发动攻击时尽量减少它的影响。

    3.1.1   不合理的期待
    在医学和IT安全中,前面那些问题是没有办法回答的。用科学术语表示,它们是不规范的(这已经是客气的说法了)。第一个问题是关于定义的。健康或安全的定义是什么呢?如果一个人的指甲边上长了倒刺,是不是就可以认为他是不健康的?或者用类似的说法,如果一台服务器没有打补丁,是不是就可以断定整个公司的IT基础设施就是不安全的?
    第二个问题涉及环境。那里怎么会长倒刺,它是不是很麻烦呢?病人的病史或其他体征是不是能够提示什么?他是不是经常咬指甲?如果倒刺长在一个小提琴演奏家的手上,它的影响显然与长在一个与音乐无关的办公人员手上截然不同。为了对一项IT资产中的一个漏洞进行评估,显然应该考虑漏洞的危险程度、该资产的使用情况以及连贯性(或通用性)。
    第三个问题是不确定性。倒刺也存在极为微小的导致坏疽、截肢或死亡的概率。或者按类似的说法,一个漏洞也存在因为被攻击而导致灾难性损失或声誉尽损的微小概率。大多数人对倒刺以及相关的风险比较了解,知道怎样正确的治疗。反之,许多高管对IT资产中的漏洞并没有清醒的认识。他们把期待的目光投向CISO和CIO,而后者只会让他们失望。
    为什么会这样?答案是影响因素有一部分与文化有关,有一部分是由于缺乏科学的严谨所致。在克服这些影响因素方面,医学研究做得要比IT安全研究好得多。

    3.1.2   数据透明性
    首先让我们观察文化。医学社区具有强大并且体制化的数据共享机制,对于想学习更多的知识并传播他们的研究结果的研究人员而言,这是非常关键的先决条件。我们可以这样,如果发现了一个可能会导致死亡或患病的紧急健康威胁,将会发生什么情况?调查人员将会被紧急召集起来,对来自不同机构不同专业的专家们展开问询。所涉及的专家包括:主治医师、咨询顾问、护士、看护人、疾病控制预防中心(CDC)的免疫专家、保险公司、药物生产商和医院。他们的发现将会受到媒体和政客的检阅,得到医疗服务人员深入讨论,并被编入医学教材和其他职业教育出版物中,快速、准确地引起大众的注意。
    反之,我们可以注意操作ATM网络的银行的行为。20世纪80年代后期,纽约银行发现在ATM收据上打印顾客的完整账号会为窃贼提供帮助,导致银行和顾客的重大经济损失。窃贼可以站在ATM机的黄线边上,通过观察手工输入获取合法顾客的PIN码。然后,窃贼可以使用PIN码和账号(来自被丢弃的打印收据)进行偷窃。许多年以后,非纽约的银行仍然在ATM收据上打印账号,有很多是因为没有意识到这种做法的危险性。至少在1992年的时候,英国还有一家银行因为继续采用这种做法而遭到媒体的指责。虽然公开承认自己的行为缺陷有点颜面无光,但它会带来不可否认的好处,使其他银行能够立即终止这种过时和不安全的做法。
    政府和管理机构深深懂得数据共享的价值。美国国土安全部(DHS)要求像金融服务、电信、电力和制造这样的行业建立信息共享和分析中心。从2002年早期加利福尼亚的SB 1386法案开始,州法律要求在顾客的私人被侵害时必须向顾客报告,现在实行这项法律的州已经扩展到38个。这就产生了一个称为丢失数据库(DataLossDB)的珍贵在线数据库,安全研究人员已经开始从中挖掘数据丢失的规模和发生率的度量指标(按照行业、类型和来源分类)。具体地说,就是可以通过根据准确和(相对)完整的真实数据计算产生的度量指标来描述侵害的规模和发展趋势以及内部犯罪和外部犯罪的比例。

    3.1.3   合理的度量指标
    用于衡量健康合理的医学方法向患者提供了一个合理的指导方针,使他们可以评估自己的健康状况,同时又保持合理的预期。尽管病人会问:“我的健康程度如何?”但他们知道这实际上是一个无法回答的问题,多数医生只会给出一个相对谨慎的回答,例如“目前看来一切正常”。如果病人还想究根问底,医生可能会再加上一些套话,例如“您的生命体征非常正常。您的所有测试结果都是正常的。您并没有超重,但您最好能够戒烟。”他们只是提供了一个总结,列出了一些不包含权重的正面或负面事实。这些事实都直接或间接来自这些度量指标。在有些情况下,如果病人坚持询问,他们会使用像胆固醇和骨质疏松这种专门用来应付门外汉的医学术语。
    重要的是,医生不会试图向病人提供一个全面周到的回答。这个列表常常按照器官系统进行组织:心血管、肺、皮肤、神经系统等。每个系统具有相关的专家,病人可以有的放矢,寻求深入的测试和诊断。
    同样重要的是,病人觉得这样的答案是可以接受的。和Geer博士所参加会议的CFO不同,他们并不期望快速、明确的结果。
    而且,医学领域还发展了令人印象深刻的各种度量指标,值得安全度量专家们学习。
    首先,医学研究需要收集“病人历史”、“生命体征”和“基本生物计量”,以便展开与健康有关的讨论。病人历史提供了广泛的基本上下文,一般由一组答案为“是”或“否”的问题所表示。例如:“您是否得过麻疹?”“您的父母或兄弟姐妹是否患有高血压?”
    对于大多数人而言,医学生命体征包括体温、血压、脉搏和呼吸频率。基本生物计量包括身高、身重和疼痛。对新生儿而言,设计了一组称为阿普加评分的特殊生命体征。这个度量指标是在1952年由小儿麻醉专家Virginia Apgar所发明的。这是一种简单、可重复的方法,可以快速、准确地评估新生儿在出生时的健康状况。新生儿在出生一分钟后和五分钟后根据5个标准进行评估:外观、脉搏、应激反应、活动和呼吸。阿普加评分是为5个标准分别打0分、1分或2分,然后计算总分所得到的。完美的评分是10分。除了如何为每个标准打分的指南之外,还有解释最终得分的指南。超过7的评分被认为是正常的。低于3的评分被认为是非常危险的。
    其次,医学研究更侧重于相对度量指标,而不是绝对度量指标。前面所提到的生物计量指标“疼痛”就是一个很好的例子。有趣的是,疼痛是按照等级0~5或0~10进行测量的,其中0表示不疼痛,5或10表示病人曾经感受过的最剧烈疼痛。它被认为是一种良好的做法,使医生允许病人挑选一种需要使用的等级(0~5或0~10)。同样重要的是,这个度量指标是相对于病人的以前体验进行测量的。它并没有绝对指标。由于一个特定的病人无法体验其他人的疼痛,因此这个方法只是一个知觉选项。
    再次,医学研究引进了“足够好”的概念。正面的生命体征和生物计量指标对于表示一个人是否健康而言既不是必要条件也不是充分条件。一个具有良好评分的人可能患了病,另一个评分很差的人很可能却是健康的。但是,后面这种情况是不寻常的。按照“足够好”的精神,对生命体征和生物计量指标的测量仍然被看成是“最佳实践”。而且,通过统计分析,医学研究提供了不同层次的信心,能够大致确定一个异常情况发生的可能性。
    最后,也可能最为重要的是,医学研究人员把他们所制定的指导方针建立在过去几十年所收集的大量病人数据的基础之上。医学生命体征的值已经通过实验确定,并通过分析数据得到证实。这种数据之所以可用的原因是:1)病人乐意接受测量;2)病人同意共享这些测量结果。对自由共享的病人数据的分析允许研究人员通过分布来确定正常值,描述个体值偏离正常值的可能性并解释这种区别。另外,他们可以确定来自不同人群的值,例如新生儿、儿童、青少年、成人和老年人。通过分析还可以确定对正常值的其他影响,例如性别、国籍、种族、最近活动或生活方式以及是否超重等。注意,单独的病人数据绝不会被泄露给医生或其他病人,实际所提供的只是经过分析的度量指标,例如平均值、百分比范围、最高值、最低值和标准差等。
    从文化上分析,安全专业人员需要模拟医学专业人员,改变工作方式。安全必须开发一个生命体征系统和通常接受的度量指标,能够被理解并且做到“足够好”。这些度量指标并不需要是明确的或绝对的。它们可以是相对的,有时甚至可以是主观的。它们允许出现假阳性或假阴性,但出现的概率必须非常低,能够被接受,并且是可以测量的。IT安全专业人员不但必须定期测量数据,而且还要共享数据,而不是把它们当做秘密而秘而不宣。如果他们不作改变,像加利福尼亚SB 1386这样的法案就会强制他们这样做。
    有了这些变化之后,安全研究人员可以用严格的科学来支持他们的分析。只有到了这个时候,他们才能解放自己,增加别人对他们的信任,而不像以前人们眼中的占卜家和算命先生一样。

    3.2   安全度量指标的实例
    度量指标可以为医学从业人员提供帮助,它为个体或人群健康的量化提供了一个框架,并为如何与非专业人群进行交流提供了指导方针。度量指标可不可以在安全领域发挥同样的作用呢?如前所述,安全领域缺乏自愿的数据共享。但在有些时候,当后果足够可怕时,消息就难以被捂住,接踵而来的调查结果就会被公开。在本节中,我们将分析两个灾难性的安全事故,并讨论有效的安全度量指标计划是如何缓解甚至消除灾难和损失的。

    3.2.1   巴林银行:内部侵害
    首先让我们观察侵害可能导致的最可怕后果:破产。这个侵害实际上是由一个叫Nick Leeson的人所犯下的一连串错误行为所导致的。这个过程持续了4年,最终导致了巴林银行的破产,并在1995年以1英镑的价格卖给了ING集团。
    玩家
    巴林银行是英国最古老的商业银行,成立于1762年。它具有非常悠久和光辉的历史,路易斯安那并购案、拿破仑战争、加拿大太平洋铁路的修筑以及伊利运河的开挖等重大历史事件都留下了它的身影。英国政府通过巴林银行清算它在美国以及其他地方的财产,为第二次世界大战期间的战事筹集资金。黛安娜王妃就是巴林家族的一位成员的曾孙女。巴林银行还是伊丽沙白女王的私人理财银行。
    Nick Leeson出生于1967年,是一位泥水匠工人的儿子。他的生活轨迹是从穷光蛋到富翁,再从富翁到穷光蛋的过程,很可能还会恢复到小富的状态。他在学校里没有通过最终的数字考试,在没有几门课程合格的情况下离开了学校。尽管如此,他还是设法找到了一个银行职员的工作,辗转了几家银行之后,最后在20世纪90年代初期来到了巴林银行。一开始他只是从事期货和期权的结算工作,但到了巴林银行之后不久,他申请并获准来到远东,帮助解决巴林银行在雅加达的混乱期货和期权结算任务。他的工作成效非常显著。1992年,他被任命为巴林期货(新加坡)有限公司(BSS)的总经理,负责雇用交易员以及期货期权结算工作人员,并在SIMEX(现在的新加坡国际金融交易所)启动一个未来的交易操作。尽管交易并不是他的职责,但他很快通过了必要的考试,开始在SIMEX与他的交易员队伍一起执行交易。结果,在侵害过程时,他扮演了三个角色:总经理、交易员和期货和期权结算的实际领导(因为他的过去经历)。对于任何交易操作而言,职权的分离是一项基本原则。但在BSS,这个原则却是不存在的。巴林银行直到4年以后才发现这个事实,但此时已经为时过晚。
    怎么发生的
    Leeson和他的交易员队伍有权执行两种类型的交易:外部客户和其他巴林银行业务单位的期货和期权交易;利用SIMEX和日本的大阪证券交易所(OSE)的期货交易价差的价格套利。
    按官方的说法,巴林银行(Leeson作为它的指定代表)采纳了一种称为“空头跨式套利”的交易策略。它涉及销售(看空)有些股票、利率、指数或其他基础工具的购入期权和卖出期权(在Leeson的案子中是Nikkei 255指数)。为了便于讨论,假设把一个公开交易股票的一定数量的股数作为基础工具。
    如果读者不熟悉期权的概念,可以先了解一些定义。期权有两种类型:卖出期权和购入期权。卖出和购入都是双方(卖方和买方)之间的契约。
    卖出期权提供了卖出的权利。卖出期权的购买者可以自己决定是否在未来的某个时间(T)以协议价格(S)售出一定数量的股票(N)。卖出期权的出售者承诺在未来的某个时间(T)以协议价格(S)购买一定数量的股票(N)。对于一个卖出期权,N、S和T的价值对于该卖出期权的购买者和出售者而言都是相同的。期权(Qput)的价格是购买者为履行契约(即期权)支付给出售者的金额。
    购入在本质上是卖出的映射。购入期权的购买者可以决定在未来的某个时间以协议价格购买一定数量的股票。购入期权的出售者承诺在未来的一个时间以协议价格出售一定数量的股票。和卖出期权一样,参数N、S和T对于购入期权的购买者和出售者而言具有相同的价值。期权的价格是购入者支付给出售者的金额。
    空头跨式套利是一种交易策略,交易员(例如Nick Leeson)出售匹配的卖出和购入期权。注意,多头跨式套利表示交易员购买匹配的卖出和买入期权。对于这两种交易策略,可以创建一个模型,把交易利润(Y)用N、S、T以及当前每股股票价格(X)的函数来表示。由于Nick被授权执行空头跨式套利策略,因此我们详细观察什么是空头跨式套利。
    一天,Nick卖出了两个期权:到期时间为T、协议价格为S的N股的卖出和购入期权。Nick由于卖出他的两个期权而从购入者那里得到:
    Q = Qcall + Qput
    因此,Nick的起始利润相当于Q。稍后从我们的分析中可以看到,这是Nick可以得到的最理想结果。当日期为T + 1天,当这两个期权到期时,会出现3种可能的情况:
    情况1:X = S(当前股票价格X等于时间T的协议价格S)
    如果当前价格和协议价格相同,则两个期权都不会被执行,Nick将不必购买或出售任何股票。他可以保有利润Q,享受胜利的喜悦。
    情况2:S < X(当前股票价格X大于时间T的协议价格S)
    在这种情况下,购入期权的持有人(拥有按价格S低价购入股票的权利)将会执行这个期权。卖出期权的持有人(拥有按价格S出售股票的权利)将不会执行这个期权,因为他可以按更高的当前价格出售。因此,Nick必须按价格X购买N股,并按价格S出售N股,这样总体利润相当于:
    Q -N * (X-S)
    只要N * ( X-S )小于Q,Nick仍然是赚钱的。显而易见,如果N或(X-S)非常大,就会导致Nick陷入亏空。
    情况3:X < S(当前股票价格X小于时间T的协议价格S)
    在这种情况下,卖出期权的持有人(拥有按价格S高价出售股票的权利)将会执行这个期权。购入期权的持有人(拥有按价格S购入股票的权利)将不会执行这个期权,此外他可以按更低的价格购入股票。因此,Nick必须按价格S购买N股并按X出售N股,这样总体利润相当于:
    Q-N * (S-X)
    只要N * (S-X )小于Q,Nick仍然能够赚钱。显而易见,如果N或(S-X)非常大,就会导致Nick陷入亏空。
    我们可以把利润设置为0,通过解前面所显示的方程式来计算当前股票价格X在时间T的保本值:
    0 = Q-N * (S-X)  当S > X
    0 = Q-N * (X-S)  当X > S
    产生:
    X = S-Q/N  当X < S
    X = S + Q/N  当X > S
    为了更好地进行总结,空头跨式套利的模型可以用图3-1所示的图表示。这张图显示了y轴所表示的利润根据x轴所反映的当前股票价格发生变化。
    图3-1   显示空头跨式套利模型:利润Y在期权到期后用当前价格X的函数表示
    这并不是一张很完善的图。如果市场的动荡不大,这种策略将会产生(有限的)利润。但是如果市场较为动荡,就可能蒙受巨大的损失。如图3-1所示,如果N的值非常大或者X和S的差非常大(价格变动很大),利润就会趋向负值。
    差不多就在刚开始时进行交易的时候,Leeson就开始在Nikkei 255指数期货、Nikkei股票期权和日本政府债券上进行了未授权的投机活动。利用他对期货和期权结算部门员工的影响力,他在正确的账户上报告他的授权套利交易的利润,在一个旧的错误账户上隐藏它的未授权活动和损失(账号88888)。这个账户是他以前在雅加达的期货和期权结算项目的复制品。表3-1(注2)显示了描述这个情况的一些金融度量指标,所有的值都用百万英镑(GBP)为单位。
    表3-1:巴林银行:一些金融度量
    年份        报告值        实际值        累计
    1993年年末        +8.83 M        -21 M        -23 M
    1994年年末        +28.529 M        -185 M        -208 M
    1995年年末        +18.567 M        -619 M        -827 M
    直到1995年1月,Leeson的主要问题还是技术不够熟练并且做事肆无忌惮。但在1995年1月17日,坏运气降临到他头上。日本神户大地震导致Nikkei 225平均指数跳水。证券市场的动荡持续了一个多月。谨慎的交易员在这种情况下应该尽量控制自己的损失,但Leeson采取了相反的做法,他开始对Nikkei 225指数的期权采取了积极进取的购入策略,如图3-2所示(注3)。
    图3-2   Leeson在危机期间的购入
    x轴反映了时间,恰好从1995年1月17日神户地震之前开始,直到巴林银行于1995年2月27日进入接管状态。左边的y轴和带有触角的深灰柱形显示了Nikkei 225在大阪证交所的最高均价、最低均价和收盘均价。在地震之前,Nikkei 225指数的交易价格波动在19 000和19 500之间。在神户地震之后,交易价格猛然下探,然后在17 400和18 800之间大幅波动。在空头跨式套利模型中,这意味着X和S之差非常大。
    图3-2中的浅灰柱是以百万美元($M)为规模绘制的,表示Leeson所交易的巴林银行的多头期权位置。这个规模从最低的大约30亿美元到最高的大约200亿美元,其走势恰好与左边表示Nikkei指数(从16 500到20 000)的y轴相反。每个柱形都标上了数字,表示用百万美元表示的相关值。因此,每个柱形的高度反映了Leeson在这段时期内所承诺的在未来日期以一个指定价格购买的Nikkei指数股数。Leeson在这段时间内的最大承诺购买金额是200亿美元,是巴林银行当时大约6.15亿美元的报告资产的32倍。在空头跨式套利模型中,这意味着非常巨大的N值。
    结局是非常的迅速和痛苦,并且很快传播了开来。
    当然,本节中的数据和图表所反映的是金融度量指标,而不是安全度量指标。美丽的安全度量指标的一个关键特征多少与金融度量指标存在联系,至少需要对业务的执行进行一些有意义的测量。能不能采用什么安全度量指标,在事情变得无法收拾之前捕捉问题并发出警告呢?我们首先分析哪里出了问题,然后观察一个“如果……怎么样”的场景,即巴林银行如果采用了一个度量指标计划将会怎么样。
    哪里出了问题
    在回顾前面所描述的事件所处的上下文环境以及它的先后顺序时,我们可以作出下列这些评论:
    ?  Leeson在目标系统的特权上并没有一个清晰定义的角色。事实上,他同时扮演了三个角色:交易员、期货和期权结算管理人和总经理。
    ?  定义、实行、授权和执行政策的职责没有分离。
    ?  Leeson执行期货期权结算和交易功能所需要的访问和授权并没有正式的审核过程,尤其是当他获取对IT应用程序的访问时。
    ?  不存在相关的控制,保证当Leeson的责任和功能发生了变化时进行审查。
    适当的安全度量的一个重要角色就是进行监视并对控制的执行进行测量。在巴林银行的例子中,许多关键的控制都不存在。在3.2.2一节中,我们将吸取医学研究上的一些灵感,显示如何使用安全度量指标来检测是否缺乏关键的控制,并对它们的有效性和效率进行监视。
    巴林银行:“如果……怎么样”
    如前所述,医学研究定义了一组事实,医生可以根据这些事实,对他首次遇到或者以前没什么了解的病人作出评估。第一个步骤是查看病人历史,这也是医生们经常采用的做法。病人历史是一系列的简单问题,提供了病人状态的概况。把话题转回到公司(具体地说,巴林银行),与病人历史相关的适当类比又是什么呢?答案是“安全历史”。这是一系列的高层次问题,提供了一个机构为了保护IT资产的安全所实现控制的基本特征。下面是一些示例问题:
    ?  机构是否具有正式成文的信息安全策略和流程?
    ?  是否要求员工遵循这些策略和流程?
    ?  机构是否具有身份和访问管理流程,支配用户访问和授权的管理?
    ?  是否在IT资产的访问授权人和IT资产的访问人之间实现权责分离?
    ?  当员工的工作或责任发生变动时,是否执行一个正式的审核流程?
    ?  系统和应用程序的活动是否由类似日志文件这样的机制进行指导?
    ?  是否定期对活动日志进行分析?
    安全历史的问题数量可以多达数百个。和病人历史不同,一个机构可能需要花费几天甚至几个星期才能搞清安全历史,但它们的原则是相同的。它强调了高层次的问题,目的是提供一个宏观计划,作为未来调查的路标,并最终成为目标性更强的度量指标的集合。
    和2008年一样,IT安全市场开始开发安全历史的指导方针。在医学领域,存在大量建议使用的病人历史问题。但在IT安全空间,只有极少数的机构或结构从事这项工作。但是,事情正在发生变化,目前已经出现一些提供某些需求的机构:
    ?  支付卡行业(PCI)发布了一组需求,要求它的成员相信公司将会适当地保护顾客的信用卡数据。
    ?  Santa Fe Group联同BITS创建了金融机构共享评估计划,增强评估公司的IT安全姿态的有效性并提高其效率。
    ?  像Unified Compliance Framework(http://www.unifiedcompliance.com)这样的公司已经制定了规范,用来协调由制度、标准、最佳实践以及其他方式所构成的需求。
    这些积极的做法很有潜力产生一个层次的一致“安全历史”,与当前能够为医生提供很大帮助的病人历史非常相似。
    如果有人向巴林银行提问这些示例(毫无疑问是有针对性的)问题,他们的回答肯定也是振振有词的。但是,我们可以很合理地推测到巴林银行在英国的高级管理层并没有意识到远东地区所进行的BSS操作有多么可怕。事实上,如果他们进行了询问,那么Leeson很可能在填写调查表时撒谎。反映人的所想所说的主观性问题必须得到坚实的事实和数据的支持。因此,和病人历史一样,这种类型的安全历史必须通过度量指标来增强它的说服力。历史只是一些简易的信息,用于引导进一步的深入调查应该从什么地方开始。
    考虑下面这个“如果……怎么样”的场景:假设巴林银行决定获取一个共享评估安全评分,会产生什么效果呢?如果巴林银行为了维护与诸如Visa和American Express这样的支付卡公司的友好关系而进行强制的PCI审核又会产生什么效果呢?
    显然,巴林银行立即就会发现对交易和期货期权结算IT系统的访问控制非常松懈。审核者可能会发现缺乏中央化的控制。他们可能会发现对员工的授权没有常规的审核,尤其是当员工的工作发生变动时。根据这些发现,巴林银行就会得到一个很低的共享评估分数,这将影响他们的声誉,他们很可能会失去处理支付卡数据的能力,因此将会导致收益的明显损失。
    最后两个业务冲击很可能会引起巴林银行高级管理层的注意,也许会驱使他们启动一个项目来处理这个问题。但是,他们应该在这方面进行多少投入,并且应该怎样采取一种现实的目标或成功措施呢?很容易想象,他们会提出下面的问题:
    ?  “我们的竞争对手是怎么做的?”
    ?  “他们的身份和访问管理控制的复杂程度如何?”
    和健康监护不同,IT安全同行在这方面并不能提供什么帮助。把个人的医疗数据用于研究会导致当事人存在类似的风险,可能会以几种形式变为现实:更高的医疗保险费用或医疗保险不支付这种疾病,难以找到工作,信用问题,如果他们感染到别人可能会引发诉讼等。但是,尽管存在这种风险,人们还是共享了他们的数据。为什么?一个原因是人们相信他们的数据在被发送给研究人员之前会进行适当的匿名化。为了处理与公司安全相关的担忧,Internet安全中心(CIS)(注4)公布了一个跨企业的基准度量指标项目。为了响应这个项目,我的公司PlexLogic发布了一项服务,称为MetricsCenter,可以匿名地收集计算CIS基准度量指标所需要的数据。MetricsCenter技术利用了匿名研究的成果,它在很大程度上受到了医学研究的隐私需求的启发(注5)。
    当然,和巴林银行在20世纪90年代前期的做法一样,许多公司并没有收集度量指标数据,因此没有什么可报告的。这有点像有些人从来不去看医生一样,显然是不明智的。
    结果,巴林银行的管理层无法使用度量指标(其他公司的或自己的)来定义他们的“处理”的规模和范围。由于别无选择(他们需要并期望良好的安全评分),巴林银行必须启动一个内部项目,“治疗”他们的“患病的”的反凭直觉的身份访问管理控制。假设这次他们决定实现处理程序的同时实现一个度量指标计划。
    好消息是巴林银行的项目可以极大地从度量指标中获益,并且他们的实现完全是在内部可捕捉资源的控制之下,特别是他们并不担心其他公司收集和共享这些数据。
    巴林银行:一些安全度量指标
    因此,在这个“如果……怎么样”场景中,我们假设巴林银行对他们的项目在改进身份和访问管理控制上的效果非常满意。我们进一步假设他们已经采取了一些安全度量指标,并忙于收集、分析和报告结果。注意:虽然访问管理上的改进要推进到远在新加坡的BSS业务单位是比较慢的,Leeson很可能还能自由自在地执行他的交易。但他的好日子快到头了。让我们观察一些很可能暴露他的越权行为的基本度量指标:
    覆盖率度量指标
    这个度量指标对解决方案的实现深入程度以及部署的不一致程度进行量化。下面是一些以巴林银行为实施对象的例子:
    ?  应用程序或基本服务的百分比,例如电子邮件、网站或共享存储,它们的访问是由一个授权系统所管理的。这个值越接近100%,控制就越完全地集中到一个或少数几个管理良好的地方,因此增强了责任性。为了计算这个度量指标,可以比较下面这两个列表:一个是来自授权系统的,另一个是从配置文件和目标应用程序或服务的活动日志编译而来的。这两个列表的重叠百分比就是这个度量指标的测量方法。在Leeson的案子中,这个度量指标将会暴露应用程序所识别的用于授权访问但并不受授权系统正式管理的秘密账户的存在。
    ?  登录账户明确链接到合法的员工或契约人的百分比。如果这个度量指标不是100%,就应该进行仔细检查,并进行最终的调整。无法链接到当前员工或契约人的一大类账户一般都是被解雇的员工,可以肯定有些人对他们的前雇主不会持有积极的态度,并且几乎肯定会有一些“内幕”消息。同样,这个度量指标是通过比较两个列表计算结果产生的:第一个列表来自授权访问控制系统,第二个列表来自公司的人事资源或员工花名册。这两个列表的重叠程度就是这个度量指标的值。这个度量指标可以发现Leeson使用了一位前任员工的账户或一个虚拟账户以获得未授权的访问。
    ?  账户或员工的访问和授权每年、每季度至少正式审核一次或从来不进行审核的百分比。账户或员工从来不进行审核的百分比应该尽可能接近于零。这个度量指标常常来自保存已执行的审核记录的服务票据系统。它的结果是通过把已执行的审核账户数量除以活动账户的总数产生的。Leeson和他的账户很可能从来没有经过审核,因此可能出现最坏的后果。Leeson在他完成新加坡的第一个项目之后就获得了职位提升,但他的访问资格证书从来没有被审核过。和其他度量指标一样,这个指标将会提示Leeson的状态是未经审核的。
    ?  账户组重叠的百分比。在访问控制系统中,定义共享相同的授权的账户组是常见的做法。例如,一个称为期权交易员的组可能被定义为拥有访问交易应用程序所需的授权,另一个称为交易管理的组可能被定义为拥有负责买家、卖家、中介和其他方之间的货币交换所需的授权。期权交易员组和交易管理组之间的组重叠的百分比在理想情况下应该为零。如果位于交集内的所有账户最近(例如,在一个季度内)已经被审核,这个度量指标不太会发生警告。在Leeson的案子中,他的账户将位于这两个组的交集中,并且在超过12个季度的时期内没有经过任何审核。
    与测试体温或脉搏相似,这些度量指标都不难理解,并且都不需要复杂的数学计算。另外,它们很可能并不是非常明确的。总之,任何公司在这些度量指标上都很难实现100%的完美,就像一个体温或脉搏并不完全标准的人可以找出正当的理由来解释这种偏离(例如,他们常常跑了十层楼梯)。另外,这些度量指标是从单个时间点所得出的值,它们只提供了一个机构的状态的一个快照。经过经常和反复的计算,这些测量的时间序列可以形成有价值的数据集,可以支持进一步的、可能更复杂的分析。
    时间序列的度量指标基于一组根据定期或不定期的时间间隔而获取的值。时间序列反映了系统随时间而发生的动态改变,显示了系统的状态是在改善还是下降以及改善或下降的速度。例如,如果我们每月或每季度收集前面所描述的所有度量指标,那么将会看到什么。在一个像巴林银行这样的机构内部的一个业务单位所得到的度量指标很可能可以预告其他业务单位展开这些新控制的期望速度。也许,我们甚至可以推算需要多长时间能够发现和终止Leeson对期货和期权结算的非授权访问。
    投资度量指标
    类似,如果跟踪与一个用于改善访问控制的计划相关的成本,对于前面所描述的任何(或所有)度量指标,都可以得出每单位改进的成本。如果开销率是个常量,并且一个度量指标逼近它的目标(例如100%)的速度开始慢下来,每单位改进的成本就会上升。使用预报模型,可以推算实现其他控制目标(例如95%、96%等)时将耗费的成本。当然,在Leeson的案子中,很容易(凭借事后诸葛)实现只需要很少的开销就能使BSS的身份和访问管理系统得到有效的控制。
    处理效果度量指标
    为了得出处理效果度量指标,可以运行一个时间序列度量指针,对“处理”前后的效果进行比较。我们可以使用基本的统计分析进行无效假设的测试,在这个例子中就是指任何被检测到的变化仅仅是由于几率的原因,“处理”没有产生任何区别。
    例如,假设在启动针对一个指定业务单位的访问控制项目之前,巴林银行决定收集一些与访问相关的安全事件的度量指标。像安全事件之间的平均时间(MTBSI)或修补安全事件的平均时间(MTTRSI)这样的度量指标来显示被观察的访问安全事件的频率和影响。这些基本值(时间序列“之前”)可以与部署了访问控制之后(时间序列“之后))的相同指标进行比较。是不是有所改进呢?改进的幅度大不大(还是纯粹由于几率所致)?统计上的显著结果将使我们确信这些改进是由于部署了访问控制所致。
    通过时间序列“之前”和“之后”的数据,巴林银行就得到了铁的事实,可以用它来评估处理方案的有效性。另外,它可以向审核者提供坚实的数据,因此可以通过一个初始的审核或者清除一个负面的发现。随着时间的过去,将会收集越来越多的结果,因此通过统计所得到的信心会进一步增强,对处理效果的量化也会进一步的完善。最后(由于数据的缺乏,这可以仅仅是个猜测),他们可能会避免这个最终导致巴林银行破产的重大访问控制事件。
    收集测试数据、计算度量指标并对结果进行分析是没有问题的,但是如果不在正确的时间把这些发现与正确的对象进行交流,使后者可以做出更好的决策,那么这些活动就没有什么价值。对于巴林银行而言,很容易断定高层管理层很可能没有阅读与访问控制事件相关的详细报告,或者说并不了解我们刚刚所描述的详细技术度量指标。他们所看到的很可能只是一个包含基本区域列表的圆盘,上面用一些颜色代码标记了各个区域,例如用红色表示差,用黄色表示警告,用绿色表示没问题。负责每个区域的经理将根据他们对我刚刚所描述的度量指标的理解设置颜色代码。
    当经理们负责跟踪和报告安全漏洞时,他们面临很艰险的选择。报告问题是一把双刃剑,它既可以带来潜在的收益,因为上级可能会调拨专款解决这个问题。它也可能对声誉造成损害,因为上级可能会追究为什么会发生这种问题。这种声誉损害实际上类似一些(但不是全部)健康监护的情况。使用度量指标可以避免这种两难的局面,因为它要求经理与他们的上司共享信息,上司可以通过与其他经理进行比较,独立地评估经理们的工作实绩。具有讽刺意味的是,上司可能会拒绝与部门或公司之外的人共享这些信息,因为他们害怕被拿来与同一个市场系统的同级人物进行比较。
    当然,对于BSS业务单位或远东公司而言,Nick Leeson的账户以及在诸如前面所描述的度量指标上的评分至少得用黄色表示。如果长时间维持黄色而没有改进,将会引发领导层进行某种类型的调查,除非有理由说明Leeson的账户已经进行了审核并证明没有发现什么问题。
    可以确定,任何类型的审核都可以震慑或终止Leeson的未授权活动。另外,这样的审核并不需要对复杂的金融衍生品、套利或高层的数字模型有深入的了解。

    3.2.2   TJX:外部侵害
    在本章的第二个安全度量指标实例中,让我们观察有史以来(截止到2008年)最大的支付卡诈骗案件。这是一个最近才发生的案子。事实上,在本章写作之时(2008年10月)与这个案子有关的事件和信息仍在不断地披露中。由于这个案子离现在太近,因此很难断言哪些事情已经被证实、哪些事情还没有被证实。下面的有些描述来源于司法部门未经证实的指控以及与这个案子密切相关的人们的陈述。但是,这并不会减少我所总结出的这个教训的价值,因为我通过这个案子说明了安全度量指标的价值。
    侵害行为相信是从2005年1月在明尼苏达州靠近圣保罗市的一家Marshalls折扣服装店外的一个停车场开始的。侵害行为持续了18个月,直到TJX于2006年12月采取了行动。实际上,并不是TJX首先检测到信用卡和其他顾客的私人数据被从它们的网络上被大量泄露的。信用卡持有人和发行银行早在2005年11月就开始发现在他们的信用卡账户上所发生的奇怪交易。直到2006年12月,TJX才对此引起警觉,并雇用了审计专家展开调查。尽管TJX并没有因为此次侵害行为而破产,但公司为了彻底平息这个事件可能被迫在接下来的五年里花费10亿美元,包括聘请的顾问费用、IT安全的升级、法律费用以及向支付卡公司和银行的潜在赔付支出。受影响的个人以及与TJX有业务往来的合伙伙伴所涉及的开销需要很长时间才能确定。
    玩家
    TJX公司2007年的营收超过170亿美元,是最大的平价服装和家居时尚零售连锁店。这家公司拥有8个子公司、2500家商店和13万名员工。TJX当前在美国的子公司包括T.J.、Maxx、Marshalls、HomeGood和A.J.Wright。
    2008年夏天,有11个人被指控不仅盗窃了T.J. Maxx和Marshalls,而且还涉及另8家美国零售商:Office Max、Barnes & Noble、Sports Authority、Boston Market、DSW Shoe Warehouse、Dave & Buster's、Forever 21和B.J.'s Wholesale Club。其中10人已经被拘禁,另1人在逃。被指控的主犯是Albert Gonzalez,27岁,佛罗里达州迈阿密人。其他罪犯分别来自爱沙尼亚、乌克兰、白俄罗斯和美国。
    当Gonzalez被捕时,他已经拥有了一支格洛克27手枪、一辆2006款宝马车、位于佛罗里达的一座公寓以及165万美元的现金。他高中毕业、单身,与父母生活在一起。2003年,Gonzalez在新泽西州因为欺诈指控而被捕,后来被美国特勤局雇用,协助调查一起重大的计算机黑客事件。2004年,他被公认为协助开设了一项留言板操作,作为购买和出售信用卡号码以及其他个人数据的中介。随后,他被特勤局指派参与TJX案子。他的任务是充当线人,把他从黑客那里所获得的消息透露给特勤局。但是,现在特勤局确信他是个双面线人,同时还把他从特勤局所获悉的消息透露给黑客。据称,Gonzalez在特勤局的顾问工作使他每个月可以领取6000美元的薪水。
    怎么发生的
    首先让我们看一下事件是如何暴露于公众视野之中的。下面的时间线是波士顿环球报在2007年10月25日发布的(注6):
    2007年1月17日:TJX公司声称它的计算机系统遭到未授权的入侵,可能导致顾客的贷记卡和借记卡数据被盗用,所涉及的数据最早包括2003年的。公司表示它确认并没有对数据使用错误。
    2007年1月18日:信用卡公司、银行和顾客开始报告存储在TJX系统中的贷记卡和借记卡账号被欺诈使用。有几千张卡被取消。
    2007年2月21日:TJX报告黑客可能早在2005年就获取了对它的计算机的控制,比之前所想的早了一年。
    2007年3月28日:TJX公布被黑客所盗用的贷记卡和借记卡号码的数量为4570万,但它表示其中有75%已经过期或者数据被屏蔽。
    2007年7月:佛罗里达警方从几个人的认罪答辩中得知他们使用来自TJX的信用卡号码,用代金卡和电子消费券从Wal-Mart和Sam's Club购买了价值800万美元的商品。
    2007年8月14日,在一份公司整理的档案中,TJX推算由于这次数据侵害所导致的总体支出为2亿5600万美元。
    2007年9月21日,TJX与受侵害影响的顾客达成了一个临时和解协议,向受害人提供公司代金券,并计划举行为期三天的“顾客满意”销售。这个和解协议后来进行了修订,受害人可以选择领取代金券或现金。
    2007年9月25日:加拿大保密部门指责TJX没有采取有效的安全措施保护顾客的信息。
    2007年10月23日:在银行向TJX所指控的一个案子的法庭档案中显示受盗窃事件影响的账号总数高达9400万。
    这条时间线显示了此次侵害行为所造成的影响不断地上升,不管是受影响的用户数量还是随之发生的诉讼(为了维护自己的权益)。2007年10月的时候,犯罪分子还没有被捕获,但是已经在美国的几个州和另外几个国家里展开了涉及多家执行机构的积极调查。直到几乎一年之后的2008年8月,才公布了罪犯已被逮捕以及相关的犯罪事实。
    下面是一条从技术角度所看到的时间线:
    1999年:无线LAN诞生:IEEE 802.11b完成并被批准。
    2001年:对无线通信的WEP保护的劫持和破解被证实存在。
    2002年4月:IEEE 802.1X批准使用可扩展认证协议(EAP)处理端口层次的安全。这个协议工作于RADIUS服务器,已经得到了广泛的商业用途。它的目标是对有线网络端口进行标准化,但被发现同样适用于无线网络。
    2002年7月:IEEE 802.11b安全脆弱性被广泛公布,并附带详细的获取企业级的强度的建议。
    2004年6月:IEEE 802.11i被批准为无线IEEE 802.11标准的修正案,以提供安全机制的标准规范,用于取代以前的安全规范。
    2005年6月:TJX仍然在零售商店中广泛地使用WEP保护。
    现在,司法部门宣称Gonzalez和其他犯罪分子使用了一种流行的称为驾驶攻击(wardriving)的低成本技术,用于发现开放的无线网络。驾驶攻击就是在配备了PC和优质天线的汽车里对公共区域进行巡查。天线可以发现无线网络。PC运行无线客户软件,如果该网络具有开放的访问就试图对它进行连接。如果这个网络实现了某种形式的访问安全,就记录被传输的数据包流。如果它的访问安全是脆弱的,就可以通过适当的软件对数据包流进行分析,提取入侵需要使用的所有信息。一旦成功侵入,黑客就可以访问该网络连接的顾客数据库,开始收集信用卡号码和其他个人数据。
    为了理解它的详细工作原理,让我们观察与无线网络有关的一些关键事实。我们还将提供“一致性良好行为”,它们是由不同的行业小组和标准化组织所开发的建议:
    ?  IEEE 802.11b标准指定了一个服务集标识符(SSID),用于区分无线接入点(独立的网络)。例如,一家称为Good Night誷 Rest的宾馆为了方便起见可能把它的WAP命名为GoodNR。默认模式下的WAP操作每隔几秒广播这个SSID,称为“Beacon帧”。这种做法使授权用户很容易发现并连接到网络,而且它同样为非授权用户提供了方便。
    一致性良好行为:公司应该把所有的SSID的值设置为比较含糊。像“TJX-Miami”这样的设置并不是很好的选择。另外,最好关掉SSID广播。
    ?  为了对希望连接到网络的用户进行认证,IEEE 802b指定了一个称为无线等效加密(WEP)的协议。大多数WAP配备了一个默认设置,用于开放式的认证,意味着WEP是被禁用的,因此对希望进行连接的客户不会进行认证。
    一致性良好行为:公司应该修改默认设置进行认证,不允许所有客户的开放式访问。
    ?  当WEP被启用时,每个单独的客户用一个密钥进行配置,由它的相关WAP所共享。想要访问网络的客户首先向WAP发送一个关联请求,WAP对这个请求作出响应,向客户发送一个包含挑战文本的字符串。然后客户采用一种称为RC4的算法对挑战文本进行加密并把它发送回WAP。WAP根据客户是否正确地对挑战文本进行了加密而决定是否通过客户的认证。
    一致性良好行为:WEP的密钥管理是一个噩梦。为了修改共享密钥,每个WAP和客户的配置必须进行更新。
    ?  WEP协议允许未授权的听众捕捉认证方程式的3个变量的其中2个:挑战文本和RC4加密的响应。只要有足够的样本,黑客可以使用嵌入到免费下载的软件中的广为人知的算法破解共享密钥。
    一致性良好行为:WEP并没有对无线网络提供充分的保护。实现强大的无线安全的行为包括:
    —关闭WEP
    —选择含糊的SSID
    —采用路由器和防火墙隔离无线子网
    —使用802.1X进行密钥管理
    显然,和其他遭到侵害的零售商一样,TJX并没有遵循早在2002年7月就已经颁布的指导方针。黑客们利用了这个事实,获取了对公司网络的访问。结果,他们可以通过商店的网络获得顾客的信息,包括通过无线传输的员工资格证书。黑客们使用员工资格证书,访问商店的服务器以及TJX位于马萨诸塞州总部存储了大量的顾客数据的服务器。
    哪里出错了
    与由于访问管理过程的松懈而导致内部侵害行为的巴林银行的遭遇不同,TJX的侵害行为是由外部攻击者利用网络和系统管理过程的松懈而发起的。有关的调查仍在进行之中,据相关人士透露,外部攻击者发现了使用默认配置的WAP、使用了通俗易懂的SSID和开放式访问的WAP以及被配置为使用WEP的WAP。这些WAP是黑客们伸手可及的果实,他们只需要难以置信的微小投资就可以获得数量惊人的有价值数据。
    因此,站在事后的角度,TJX到底哪里做错了?技术上的松懈是很容易列出的:
    ?  不充分的网络配置控制
    ?  不充分的网络使用监管
    ?  不充分的服务器配置和使用监视
    ?  不充分的数据保护,尤其是数据的外流
    当然,在更深层次上,技术上的失败是由于管理上的错位所致:
    ?  忽视或不关心基本的安全行为,例如密码保护;
    ?  忽视无线网络的操作,没有遵循行业警告,并且不关注与常见漏洞有关的新闻;
    ?  缺乏统一的策略,也缺乏与远程网站的通信,未能获取推荐的策略;
    ?  在报告出现了问题时拒绝寻找问题的证据;
    ?  在所有时间内缺乏对安全的基本关注,包括安装、员工培训以及接下来的运营期间。这些时期都应该进行监管。
    无线标准委员会和生产商也对这个问题负有一定的责任,但这个问题过于广泛,无法在这篇文章内深入讨论。
    说明
    并不仅仅是TJX应该受到指责。其他九家零售公司被相同的窃贼利用相同的黑客技巧所入侵,也是利用了他们的IT系统的相同安全漏洞。
    TJX:“如果……怎么样”
    如果TJX使用了有效的感应系统,能够持续监视数以百万计的交易以及在他们的IT基础设施中存储和传输的高达万亿字节(很可能达到)的数据,情况又会怎么样呢?如果他们能够定期对遥测数据(没人可以直接理解)进行汇总,并把它包含在一些度量指标集之中,覆盖聚合标准的某个区域,以便进行定期的审查,情况又会怎么样呢?医学研究已经产生了许多有效的传感系统,并产生大量的数据,同时可供研究人员和医生所使用。这当然是可能的。
    在医学领域,成功创建“优质传感系统(包括数据共享)”的关键是直接与病人打交道的医生需要密切与研究人员进行协作,而后者又需要与生产这些传感系统的厂商进行协作。这样,当一个医学诊断工具投入使用后,它不仅可以感应数据,而且可以对它进行汇总,提供有关如何使用这些结果的特定指导方针。
    例如,我们可以考虑执行骨密度或DEXA扫描用于诊断骨质疏松症的设备。首先,生产商提供相关的信息,说明这个设备用来做什么?怎么操作?应该在什么时候使用以及如何对结果进行分析。另外,医学研究人员也提供各种信息,例如骨质疏松症的风险因素、各种治疗方法(例如节食、敷药等)、当前的研究(包括医学试验)、支持组织、参考资料以及其他产品。DEXA扫描结果常常用显示病人骨骼的颜色图片表示,上面的颜色表示骨密度。这些构成了一个完整的数据包。
    根据安全产品的当前状态,人们可以获取软件以及描述其相关技术和如何操作的手册。包含了推荐用法和事件重要性的论文可以作为承载诊断和解释的主要载体。对于许多安全厂商(以及它们的投资人)而言,这却是他们对产品最不关心的部分。事实上,这个领域的系统管理员也很少阅读和理解这些文档。位于传感系统或软件平台内部的专利技术往往是终端用户完全无法理解的,这些技术使自己蒙上一层神秘的面纱,无形之中抬高了自己的身价。特别是当新产品刚出来的时候,里面常常包含了大量革新的技术。一般而言,安全厂商缺乏发布完整解决方案的专业知识,因此在他们的产品发布和用户能够有效地使用产品之间留下了一个落差。
    安全度量指标具有消除其中一些落差的潜力。度量指标通过提供定义,指定原始(传感系统)数据的来源以及如何解释结果,显著地增加现有安全管理产品的价值。SecurityMetrics.org和MetricsCenter.org联合倡议的Security Metrics Catalog项目的目标就是提供一个中央化的、可搜索的度量指标定义的仓库(注7)。
    下面让我们讨论一些可能对TJX有用的安全度量指标。
    TJX:一些安全度量指标
    和其他计算机问题不同,数据受侵害的问题向我们提供了独特的机会观察一些公共的度量指标,包括全球级别和本地级别。全球级别的度量指标蕴含了整个行业的经验,而本地级别的度量指标体现了单独企业的经验。
    全球级度量指标。全球级度量指标需要全球的数据。加利福尼亚的SB 1386强制法案以及类似的法律要求从2003年7月起报告影响个人私密信息的公共侵害。由一组志愿者所组成的开放软件基金会使用媒体报道作为他们的主要信息来源,追踪公开报道的安全事件。他们的结果以数据丢失数据库(DataLossDB)仓库的形式出现在ttrition网站上(注8)。这个数据库实际上只是一个逗号分隔的文件,很容易用大多数统计软件进行分析。2008年7月15日,开放安全基金会从Attrition.org那里接手了为DataLossDB提供主机服务的责任。DataLossDB将成为一个由社区驱动的项目,它的新地址是http://datalossdb.org。
    我们可以使用DataLossDB作为来源,得到一个简单的度量指标“每季度事件数量”,并生成如图3-3所示的时间序列图。
    图3-3   强制报告第一年内的数据泄露事情发生率
    在过去的几年中,强制报告数据泄露的范围和规模在2003年中期仅包括加利福尼亚。在过去的五年中,实行这个法规的州数量不断增加中。显然,被报告的数据泄露数量的趋势是在不断增加中,但并没有迅速膨胀。毫无疑问,2005年间有一些早期增长归因于一些新的强制法规。以前不想泄露这类事件的人们现在因为法律的规定而不得不这样做。在图3-4中,我们将“放大”原图,以观察每月的数据,从2005年开始。
    每月数据显示了相当程度的波动性。如果我们画一条直线(使用最小正方形模型)进行观察,可以看到趋势是略微增长。我们可以使用这样的直线对将来进行投影,当然不能追求很精确。图中的度量指标(虚线的斜率和截距)清晰地显示了事件的频率是在不断地增加,因此很容易得出结论,就是情况变得越来越糟糕,而不是越来越好。
    TJX的侵害是由外贼所发起的。之前人们广泛相信内部侵害的增长速度要远远高于外部侵害。DataLossDB数据允许我们用真实的事实和数据调查这个问题。由于DataLossDB在每个侵害事件上都加上了“内部”或“外部”的标签,因此我们可以进行新的测量,它与上一个图相似,但是把已发生的事件分解为两个子集。这个计算产生了图3-5的图,也是从2005年开始。
    图3-4   最近几年的数据泄露发生率
    图3-5   数据泄露事件的分解
    实心的深灰色圆圈表示内部侵害的数量,实心的淡灰色圆圈表示外部侵害的数量。黑色的圆环只是复制了两者的总和,它和前一张趋势图一样。深灰、淡灰和黑色虚线分别符合外部、内部和总侵害频率。很容易看出,外部侵害的数量不断增加中,而内部侵害的数量基本是一条水平的直线。因此,总侵害次数的增加实际上完全是由于外部侵害的增加所致,至少根据DataLossDB的数据所得出的结论是这样的。
    侵害的另一个因素是它所造成的后果。每次事件被盗用的数据量可以深入到什么程度呢?Attrition志愿者对每次侵害的记录很好地提供了侵害后果的测量,即受侵害影响的总数。这个值的名称是TotalAffected。当然,对于大多数事件而言,这只是遭到侵害的公司能够提供的最接近估计,但总比没有要好得多。另外,我们也不需要追求特别的精确。因此,图3-6用箱线图反映了一些“分布”度量指标,TotalAffected由log10y-axis来表示,它对从2005开始直到2008年8月11日为止每一年的侵害总数进行了缩放。事实上,由于本书写作时2008年还没有结束,因此有人觉得不该把2008年放在这张图中。我们的理由是最近的年份总是最有价值的。但是需要注意,这一年的数据实际上只反映了七个半月。
    图3-6   数据侵害的严重性比较
    中位数是log10(TotalAffected)经过半年的观察后的值,它可能偏高或偏低。上四分位数和下四分位数分别近似Q1和Q3的观察。上边缘和下边缘涵盖了围绕两个分布的中位数的95%的置信区间的值。在这个例子中,一个分布覆盖了一年的报告侵害数,因此图3-6显示了4个分布,分别表示2005年、2006年、2007年和2008年(只有7.5个月)。在所有的分布中,高度的重叠表示每次侵害受影响的个体数量根据两个数量级而变化(1og10垂直轴上的上边缘和下边缘),从低端的5 000到高端的100 000。
    确定TotalAffected值与发现一个侵害行为所需时间的灵敏度是非常有趣的。在TJX的案子中,这个时间的长度大约是18个月。根据DataLossDB的数据,TJX侵害的TotalAffected值是9400万。注意图中标记为“异常值”的点就表示这个TJX侵害(注9)。遗憾的是,DataLossDB并没有追踪表示发现侵害所需时间的值。
    本地级度量指标。在离开TJX的话题之前,我们非常简单地讨论一下值得进行跟踪的本地度量指标,重点是在内部操作上。也许对这些度量指标的定期审查可以激励TJX的IT安全操作检测并修复一些导致我们所说的受到侵害的漏洞。
    在TJX的IT基础设施内部,漏洞、补丁管理和配置管理系统都是积极的安全系统的例子,它们的目标是发现并修补弱点,不给黑客利用它们的机会。这些系统在执行任务时会创建大量的数据,可以用来得出一些度量指标,能够体现出它们实现目标的程度。下面是两种类型的度量指标例子:
    扫描覆盖率
    公司网络实际上被审核了多少?一般情况下,这个度量指标用一个百分比表示,并且常常被分解为地点、所属业务单位、设备类型、漏洞类型或严重性。显然,它的目标是尽可能地实现100%,即完全覆盖。
    看上去,TJX的WAP覆盖率度量指标是完全缺乏的。TJX忽略了对它们的所有无线接入点的配置审核。
    公司可以使用的各种工具也会使监视复杂化。由于专业化的缘故,安全管理产品常常只覆盖了一个类型的目标,例如路由器、WAP、服务器甚至是运行某个特定操作系统的服务器。2002年,无线接入点常常在企业扫描人员在它们的配置中发现漏洞之前就推向了市场。TJX很可能就是这种落差的受害者。当然,这并不是说它们不该知道得更多。
    修补平均时间(MTTR)
    在IT基础设施中,消除一个已经被发现(按照广泛的定义)的缺陷需要花费多长时间(按平均算)呢?这个度量指标用某些时间单位表示:小时、天、周等。一般而言,这个度量指标的值越低,黑客能够利用这个漏洞的时间就越短。
    尽管这个度量指针显然很有价值,可以作为风险的主要指示标志,但它需要几个前提条件。
    首先,需要安装传感系统,检测像漏洞、不良的配置、未修补的软件这样的缺陷。其次,当一个漏洞被发现时,必须保存记录,跟踪它被发现的时间以及它被有效修补的时间。我们不清楚TJX是否存在任何检测已部署的无线接入点的机制。就算有,它们的配置也肯定大有问题。因此,它们从来不曾被修补,所以MTTR相当于无限长。
    如果无法防止一个侵害行为,接着能够采用的最好策略就尽快检测到它。TJX花了18个月,直到数十万张信用卡号码出现疑问时才发现问题。有什么样的度量指标可以帮助它们呢?
    盗窃信用卡号码的窃贼留下了大量的作案痕迹:
    在对外的网络流量中的敏感数据(例如信用卡号码或SSN)
    这是很容易检测到的,通过现在可用的称为数据使用监视器的商业工具可以在几分钟之内就阻断它们。
    无法解释的账户活动
    黑客从授权用户那边截获账户资格证书之后,就会登录到账户、搜索数据库、提取数据、创建文件并执行文件传输,把他们所窃取的果实转移到他们所控制的服务器。所有这些活动都可以被数据库管理工具所检测,应用程序日志常常也可以记录这些活动。
    对数据使用监视器、数据库管理系统和应用程序日志所收集的数据进行聚合量化的度量指标将会反映黑客为了列集和导出他们所盗窃的材料所需要的活动量级。这些数量在任何时间序列中都会显得特别突出。

    3.2.3   其他公共数据来源
    最后,值得注意的是公共威胁信息的其他公共数据来源正在不断增加。这是个很大的进展,不应该被遗忘:
    Symantec DeepSight威胁管理服务(注10)
    通过捕捉和处理来自路由器、防火墙、IDS和其他设备的日志数据,提供了全球安全威胁的全景视图。它提供了有限的度量指标,通过地址、严重性和类型等进行聚合。例如,http://eval.symantec.com/mktginfo/enterprise/white_papers/b-whitepaper_internet_ security_ threat_report_xiii_04-2008.en-us.pdf提供了2008年7月的一个示例报告。
    iDefense Labs (http://labs.idefense.com/)
    VeriSign的一个附属机构。iDefense Labs监视威胁和黑客活动,并把它的分析结果报告给订阅者和公众。
    SANS Internet Storm Center (http://isc.sans.org/)
    这是个免费和开放的服务,使用一个称为DShield的平台,允许防火墙的用户共享入侵信息。Internet Storm网站提取简单的度量指标,并公布确认了被攻击最多的端口、最大的攻击来源的报告以及国家报告等。
    其他感兴趣的来源还包括:(注11)
    ?  http://www.gocsi.com提供了行业调查的结果。
    ?  http://antiphishing.org提供了与钓鱼、恶意软件和数据盗窃有关的数据和统计数字。
    ?  http://nvd.nist.gov提供了与漏洞有关的数据和统计数字。
    ?  http://www.commtouch.com/Site/ResearchLab/statistics.asp for spam data and statistics
    ?  http://www.postini.com/stats提供了与垃圾邮件有关的数据和统计数字。
    ?  Symantec的Internet安全威胁报告(ISTR),它是人工发布的。
    ?  http://www.webroot.com提供了与间谍软件有关的数据和统计数字。
    ?  http://www.counterpane.com for polity violations与友好违规(例如IDS、IPS等)有关的内容。
    ?  http://www.qualys.com/research/rnd/vulnlaws对漏洞的流行、持续和半衰期进行了有趣的分析。

    3.3   小结
    安全度量指标是把IT安全转变为科学而不是艺术的关键前提条件。我在本章中所讨论的主要思路可以归纳为:
    度量可以显示差别
    度量指标可以更好地引起警觉并帮助作出更好的决策。它们通过把一个结构应用于复杂情况的分析,可以检测出被破坏的进程或异常的活动。当执行官和经理了解这方面的知识时,他们通常可以确认一个解决方案,并在它实施时对它的效果进行监督。在巴林银行和TJX的例子中,只要事先存在一个度量程序提供关键的透明性,就可以显著地避免或缓解严重的后果。
    需要量体裁衣
    度量指标必须处理关键利益的情况,并反映与它们所测量的情况有关的高度领域知识。在讨论“安全度量指标实例”时,我们花费了大量的时间讨论业务环境,显示了度量指标通过帮助避免灾难而显示它们的美丽。
    种瓜得瓜,种豆得豆
    如果公司并不共享与它们的安全成功或失败相关的更多数据,IT安全管理将注定成为像占卜家或巫师这样的迷信,缺乏可信度。在讨论“安全度量指标实例”时,事实上我们可以用来计算和展示内部度量指标的数据非常少。由志愿者所发起的DataLossDB项目很好地填补了这个空白。但是,如果对应的投资没有增加,那么我们无法期待它的范围和规模会进一步的扩大。
    另一方面,如果存在安全数据共享文化,IT安全管理学科将会得到成长,成为一门科学,并产生大量的度量指标,帮助决策制定者在作为日益增长的数字世界的基础设施中进行投资。
    安全度量是跨学科的追求
    从其他学科(例如医学)中可以学到很多东西。安全度量专家必须熟悉IT安全、数字和统计学、量化信息的可视化、可伸缩软件的实现以及度量指标将服务的业务。
    安全度量指标还处于婴儿期,按我的想法它还将蹒跚多年。本章描述了我认为要想让它成长所需要的相关内容。在本章临近结束时,我们用一两句话总结本章的内容。首先,我们关注一门更为成熟并与IT安全具有许多相似之处的学科(医学)的相对成功,然后把我们所学到的东西应用到一些值得注意的IT安全失败实例。
    19
    仙果 2011-4-20 15:35
    8
    等出版的时候要买一本
    xiaocaijk 2011-4-20 19:02
    9
    支持~  最近买的书 还么看完~
    willapple 2011-4-21 22:13
    10
    期待它的出版!
    雪yaojun 2011-4-22 17:22
    11
    楼主辛苦啊。。这么多介绍。
    meakhella 2011-4-25 11:17
    12
    有没有电子书啊
    游戏神通 2011-11-11 14:02
    13
    咋现在啥都和美扯上关系
    方振箱包 2017-3-24 10:01
    14
    此楼层已删除
    返回



    ©2000-2017 看雪学院 | Based on Xiuno BBS | 域名 加速乐 保护 | SSL证书 又拍云 提供 | 微信公众号:ikanxue
    Time: 0.018, SQL: 11 / 京ICP备10040895号-17