阻击黑客:技术、策略与案例
  • 推荐0
  • 收藏4
  • 浏览1.3K

阻击黑客:技术、策略与案例

Steven M. Bellovin (作者)  徐菲 (译者) 刘芸 (责任编辑)

  • 丛  书:安全技术大系
  • 书  号:978-7-121-31066-9
  • 出版日期:2017-03-30
  • 页  数:356
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 原书名: Thinking Security: Stopping Next Year's Hackers
  • 原书号:9780134277547
  • 维护人:张春雨
作者是世界上最受尊重和认可的安全专家之一,他在本书中提供了一种看安全的新视角。
本书第1部分从问题定义开始,从系统化的角度看待安全,讨论当前安全发展的变化、安全的思维方式、目标,并且分析了不同的威胁模型。在此基础之上,第2部分介绍安全相关的技术,除了对技术本身进行介绍之外,作者还很好地考虑了不同情况、不同需求,以及在应对不同威胁模型时,各种技术的优势和可能面临的问题。第3部分介绍具体的安全操作,即如何创建安全的系统,考虑了包括代码、设计、架构、管理以及人员等众多综合因素。第4部分分析具体案例,并且对未来的技术发展和应对给出了建议。
本书基于作者在安全领域多年的实际经验,结合新技术的发展,给出了实用而全面的安全技术指导,为创建安全系统提供了很好的借鉴。
本书的目的就是教你将安全看作一个系统问题来考虑,使防御措施与实际威胁相匹配,让企业的安全措施不会过于严苛而影响生产效率,也不会太过松懈给人可趁之机。
除了安全相关的技术、应对策略,本书还讲授如何设计一个架构,来处理安全问题造成的后果。
作者基于自己在安全领域丰富的经验,分享了针对SSO、联合认证、BYOD、可视化以及云安全等方面问题的解决方案。

序言
多数计算机安全类书籍只告诉大家应当做什么和不应当做什么。而本书将会告诉你为什么。
要保证安全,需要做的事情有很多:运行杀毒软件,安装防火墙,将所有东西上锁,遵循严格的检查规定,加密并监视网络中的所有流量,重金聘请安全顾问,等等。可结果却是相当让人失望的:公司在安全上投入巨大,却还是会遭受大量的计算机相关的攻击。很明显,这里还存在问题。
问题的根源具有两面性:我们在保护(以及在保护上投资)错误的东西,我们在这个过程中影响了生产效率。与汽车的车锁不同,有了汽车车锁就能够将车停在不安全的地方,从而加强了汽车的使用功能。而计算机安全似乎是在限制用户做事情,而不是让用户能够在不安全的地方做事情。人们——尤其是雇员——希望能够提高生产效率,当安全措施影响生产效率时,猜测一下什么会被牺牲掉?没错,就是安全。
解决方法同样也有两面性:保护正确的事情,并且让雇员能够很容易地做正确的事情。这不仅仅需要一个列表,还需要对于实际威胁和技术的了解。这就是这本书的内容,如何来思考安全。
保护正确的事情
安全始于知道保护什么,以及保护其不受何种威胁。这也就意味着,任何安全建议,如果没有以这两个问题开始,都是没有意义的。你将会花太多精力在错误的事情上面。如果你是在保护国家的安全机密信息不受外国情报机构的探测,可能就需要应用所有现有的防护方法,以及一些还未出现的防护措施。此外,你还需要保护其不受“3B”的威胁,“3B”即盗窃(Burglary)、贿赂(Bribery)和勒索(Blackmail)。
大多数人都不像对手那样有一些间谍(尽管新闻报道称情况正在改变[Barrett 2015])。当今的典型黑客都是受利益驱使的,需要问的问题是,黑客是如何利用你的计算机和网络来获益的。如果你在银行工作,那么答案就很明显;用大家都知道的话说,因为银行是钱在的地方。但是坏人可以利用任何一台计算机来盗窃我们个人的东西,因此我们不能放松防御。这些攻击更多可能是随机的,而不是针对特定目标的。即使这样,风险程度也可以划分为不同等级。
这就造成一个结果,防御也是利益相关的。花费比原物价值更多的费用来保护原物是没有意义的。一种值得记住的说法是[Schiffman 2007]“业余人士担心算法,专业人士担心经济”。你的目标并不是让一个系统无法被渗透,而是提高被渗透的代价,让敌人不愿付出高额代价去做,同时降低自己的投入。
我们以典型的密码为例。30多年来,一直有人不断地告诉我们弱密码是不安全的[Morris and Thompson 1979]。毫无疑问这是正确的,由于弱密码造成的安全问题十分常见。也有人不断告诉我们不应当把密码记下来。但是,自从1979年以来,世界在各个方面都有了很大的变化。
假如我设置了一个很强的密码,并且我不只是设置了一个很强的密码,而是对于需要登录的不同网站,设置了很多个不同的强密码。我不可能记住所有的密码,一定会忘掉几个,因此我必须采取密码恢复机制。什么是密码恢复机制呢?对于很多网站来说,它们会把新密码通过邮件发送给我。那么我的账号安全就取决于邮箱的安全了,对吗?不仅如此,还存在一些其他的问题。
对很多人来说,真正的威胁不是密码猜测,而是按键记录器。也就是说,有人在计算机上安装了一些恶意软件。这些软件记录了键盘按键的所有行为,包括密码。即使你设置了一个很强的密码,也记住了这个密码,但只要你通过键盘输入这个密码,那么你的账户就可能被攻破[D. Florêncio, Herley, andCoskun 2007]。与之对应,如果密码是通过一个恢复邮件发送给你,你使用了复制粘贴输入,而不是键盘输入,那么你就会更安全。很多人的邮箱密码都是自动保存的,同样不需要用键盘输入。但是如果用键盘输入了邮箱密码,那么所有的对于网站的密码加强机制都会失效,因为坏人会通过盗用邮箱密码来恢复所有网站的密码。
因此,密码安全问题远比一个简单的检查表更加复杂。你必须要有很强的密码,必须用正确的方式,保护密码不受威胁。没有什么方法是完美的。要做出最佳决定,需要理解交互、取舍以及威胁。换句话说,仅遵循一个检查表的规定是不够的,你还需要理解为什么要做检查表所列的事情。
做正确的事情
在拨号访问时期,硅谷有一家公司担心自己的安全。他们担心“战争拨号”,即黑客拨叫一个交换区内所有电话号码,找到一个调制解调器,然后进行密码猜测攻击,因此禁用了调制解调器。
禁用的问题与硅谷流行的习惯产生了冲突,硅谷的研发人员都习惯了衣着随意的在一天的任意时间内工作。研发人员也做了一件事:他们到隔壁商场的计算机专柜,花29.95美元买了一个调制解调器接到公司电话线上,然后一整天都开着。公司的安全人员意识到这个问题,于是安装了一个数字电话系统,使得研发人员无法在这个系统中随时使用调制解调器。要使用一个普通的模拟电话线路,需要公司副总经理签字。看起来问题解决了,但是安全人员没有禁止其他的能够连接调制解调器的线路:传真机。因此,一下子很多工程师都提出办公室需要一台传真机,这样的请求被批准了。这些29.95美元的调制解调器能够发送和接收传真,当然也并不是100%的需求造假。
大家都很高兴。安全人员很高兴,因为他们以为没有拨号线路了;工程师很高兴,因为他们能够随意登录。一切都很顺利,直到一个心怀不满的前雇员攻击了这些不安全的防护。而安全人员十分不解,因为他们还以为没有调制解调器呢!
想象一下,如果换一种方式,采用一个集中管理的调制解调器池,通过恰当的认证和登录列表连接到部门人员数据库。这种方式会更加安全,并且会提高生产力,而不是驱使员工去破坏规则。
安全:不需要太多,不需要太少,刚刚好
这两个情形有很多共同之处。更重要的是,它们都说明了安全决策无法凭空产生。这里面有很大一部分人的因素,不与人的行为相匹配的安全解决方案,不管好方案还是坏方案,都会失败。
另外一个相似点是,这些防御通常与实际威胁之间没有匹配好。强密码无法防护按键记录器;此外,无数的用户都认为遵循强密码规则太麻烦。更糟糕的是,他们必须遵守很多套规则,每一套都略有不同。强密码更容易忘记,因此必须依赖密码恢复机制。这些机制通常比原有的认证机制更不安全,Sarah Palin在电子邮件账号被黑客攻击之后得出了这个结论[Zetter 2010]。她使用的网站花费了很多努力来设计恢复方法、收集和存储数据,以及提出相关问题。从很大程度上讲,他们不得不这么做;人会忘记密码,但是问题是不是首先出现在对强密码的依赖上呢?
禁用调制解调器是为了防止那些恶意拨号的人。他们忽略了内部的威胁,同时也牺牲了一些生产力。他们同样受到其他问题的困扰,例如在零售商那里购买了太多的调制解调器,并且为额外的电话线花费太多。
可能在未来的几年,你的老板将会读到新的Herkawat攻击的信息,以及Kushghab.com的软件如何来阻止这些攻击。你要买他们的产品吗?如何做出选择呢?我希望你能通过阅读本书,得到这些问题的答案,不仅仅是针对那些随机密码生成器造成的攻击和相关产品是否购买的答案。
对迷惘的一些引导
这本书并非一本安全类的介绍书籍。本书面向的读者对象是系统管理员、IT管理员、首席安全官以及系统架构师。阅读本书,读者要熟悉防火墙,了解对称加密与非对称加密之间的区别。你可能见过常用的安全检查表,可能获得了某个安全证书,并且拥有证书中描述的能力。我不会告诉你如何避免缓存溢出、跨站脚本攻击,以及SQL攻击等,因为已经有很多关于这些内容的书籍了。本书的目的是教会你如何考虑安全决策的内涵,以及如何设计一个架构,来处理安全问题造成的后果。我不知道十年后,网络会变成什么样子,会出现哪些流行的服务和设备。我很确定会有很多新东西出现,一些现在我们想都想不到的东西。你如何保护自己,保护这些新东西,以及保护自己不受新东西的威胁呢?安全检查表是对于知道正确答案的人来说的,但是有时候,正确答案尚未出现。
本书的第1部分是关于理论的。讨论了如何进行思考,同时包含了一些对于可能的威胁的讨论。
第2部分讨论一些基本的技术,不仅包括安全技术,例如防火墙,而且包括其他针对无线通信独有特征的技术。
第3部分讨论如何创建并且运行实时系统。我们生活在一个不完美的世界,我们需要现在就解决这些问题。
第4部分通过对一些案例的学习来掌握这些原则,并且提出对这个领域未来的一些想法。
链接失效说明
George R.R. Martin写过[G. R. R. Martin 2000]“凡人皆需伺奉,凡人皆有一死”。同样的,网页链接也会失效。我在2015年8月检查了这本书中的所有URL,但是当你看到这本书的时候,可能有些链接已经失效了。即使美国最高法院也受这个问题的困扰[Zittrain, Albert, and Lessig2014]。目前,没有什么好办法,试着使用时光机器(https://www.archive.org)可能是最好的选择。
致谢
计算机安全科学不是我创建的,我也不是自学的。我要感谢三位学术泰斗,从他们身上我学到了很多:贝尔实验室的Fred Grampp、NSA国家计算机安全中心的Bob Morris,以及北卡罗莱纳大学教堂山分校的Fred Brooks。从Grampp那里我学到了密码、日志文件以及社会工程学,这很重要。Morris教会我在展示安全操作系统设计时,考虑其功能,“你如何进行备份和恢复?”他的系统是安全的吗?Morris还告诉我在评估安全时,经济所处的角色。Brooks教会我如何考虑软件系统,并让我意识到松散的编码是多么令人痛苦的问题。
我还要感谢在写本书时给过我帮助的所有人。按字母顺序,这些人包括(不仅仅是这些人):Randy Bush、Bill Cheswick、Richard Clayton、Greg Conti、Simson Garfinkel、Levi Gundert、Paul Hoffman、Russ Housley、Maritza Johnson、Brian Kernighan、Angelos Keromytis、Brian Krebs、Bala Krishnamurthy、Susan Landau、Fabian Monrose、Kathleen Moriarty、Kevin Poulsen、Avi Rubin、Adam Shostack、Sal Stolfo、Rob Thomas、Win Treese、Paul van Oorschot。还有所有的跟我一起完成这本书的Addison-Wesley出版社的人:John Fuller、Stephanie Geels、Julie Nahil、Melissa Panagos、Mark Taub、John Wait等。当然,本书中出现的错误是我个人的问题。

Steven M. Bellovin
https://www.cs.columbia.edu/_smb

目录

目录
第1部分 问题定义
第1章 介绍 3
1.1 变化 3
1.2 适应变化 5
1.3 安全分析 9
1.4 用词的一点说明 11
第2章 对安全的思考 13
2.1 安全的思维方式 13
2.2 明确你的目标 15
2.3 安全作为一个系统问题 19
2.4 像对手一样思考 22
第3章 威胁模型 27
3.1 谁是你的敌人 27
3.2 攻击的分类 30
3.3 高级可持续性威胁 32
3.4 什么处在威胁之中 36
3.5 期限问题 37

第2部分 技术
第4章 防病毒软件 41
4.1 特征 41
4.2 防病毒软件的养护和培育 46
4.3 随时都需要防病毒吗 48
4.4 分析 52
第5章 防火墙和入侵检测系统 57
5.1 防火墙不做的事 57
5.2 防火墙的原理 58
5.3 入侵检测系统 65
5.4 入侵防御系统 66
5.5 泄露检测 67
5.6 分析 71
第6章 加密和VPN 75
6.1 加密——特效药 75
6.2 密钥分发 78
6.3 传输层加密 79
6.4 客体加密 82
6.5 VPN 85
6.6 协议、算法和密钥长度建议 89
6.7 分析 96
第7章 密码和认证 99
7.1 认证的原则 99
7.2 密码 100
7.3 存储密码:用户 106
7.4 密码被盗 110
7.5 忘记密码 112
7.6 生物特征 114
7.7 一次性密码 118
7.8 加密认证 122
7.9 令牌和手机 124
7.10 单点登录和联合认证 126
7.11 存储密码:服务器 128
7.12 分析 132
第8章 PKI:公钥基础设施 137
8.1 什么是一个证书 137
8.2 PKI:你相信谁 138
8.3 PKI与pki 142
8.4 证书的过期和撤销 148
8.5 分析 153
第9章 无线访问 157
9.1 无线不安全的迷思 157
9.2 保持连接 163
9.3 断开连接 166
9.4 智能手机、平板电脑、玩具以及移动电话接入 167
9.5 分析 168
第10章 云和虚拟化 171
10.1 分布式和隔离 171
10.2 虚拟机 172
10.3 沙箱 174
10.4 云 177
10.5 云提供商的安全架构 178
10.6 云计算 180
10.7 云存储 181
10.8 分析 183

第3部分 安全操作
第11章 创建安全系统 189
11.1 正确的编码 190
11.2 设计问题 194
11.3 外部链接 196
11.4 可信方 200
11.5 原始系统 203
11.6 结构化防御 204
11.7 安全评估 207
第12章 选择软件 211
12.1 质量问题 211
12.2 明智地选择软件 214
第13章 及时更新软件 219
13.1 漏洞和补丁 219
13.2 补丁的问题 222
13.3 如何打补丁 223
第14章 人 227
14.1 雇员、培训和教育 228
14.2 用户 231
14.3 社会工程 233
14.4 可用性 235
14.5 人的因素 240
第15章 系统管理 243
15.1 系统管理员:你最重要的安全资源 243
15.2 走正确的路 244
15.3 系统管理工具和架构 247
15.4 将系统管理外包 250
15.5 黑暗面是权力 251
第16章 安全过程 255
16.1 计划 255
16.2 安全策略 256
16.3 记录和报告 259
16.4 事件响应 262
第4部分 关于未来
第17章 案例分析 267
17.1 小型的医疗实践 267
17.2 电子商务网站 269
17.3 加密的弱点 272
17.4 物联网 274
第18章 恰当的做法 281
18.1 过时 281
18.2 新设备 282
18.3 新的挑战 283
18.4 新的防御 284
18.5 考虑隐私 285
18.6 整体考虑 286
参考文献 287

读者评论

同系列书

  • Android软件安全权威指南

    丰生强 (作者)

    本书从平台搭建和语言基础开始,循序渐进地讲解了Android平台上的软件安全技术,提供了对Windows、Linux、macOS三个平台的支持,涉及与Andro...

     
  • 极限黑客攻防:CTF赛题揭秘

    王新辉 天融信阿尔法实验室 张黎元 郭勇生 (作者)

    CTF在网络安全领域特指网络安全技术人员之间进行技术竞技的一种比赛。CTF代替了以往黑客通过互相发起真实攻击进行技术比拼的方式,题目来自日常工作环境,并将其中的...

    ¥99.00
  • 网页木马攻防实战

    罗诗尧 (作者)

    介绍网页木马发展的历史、网页木马剖析、调试器与脚本语言、缓冲区溢出的概念、shellcode的编写、网马免杀方法、网马实例编写与分析、网页木马的防范等内容。 ...

    ¥48.00
  • 代码优化:有效使用内存(含光盘1张)

    Kris Kaspersky(克瑞丝·凯斯宾革)著 (作者) 谭明金 谭明金 (译者)

    本书主要介绍该书作者对计算机底层有深入的了解,市面上没有很好的这方面的书籍。这本书将和上一本一起组成我们的安全精品系列。 本书关注代码的优化,有效的内存使用。...

    ¥48.00
  • 数据恢复技术(经典重现版)

    戴士剑 (作者)

    数据恢复技术逐渐成为一门常用技术,它通过各种手段把丢失和遭到破坏的数据还原为正常数据。本书通过多个典型实例详细介绍了Windows系统下数据恢复技术的原理和方法...

    ¥99.00