《威胁建模:设计和交付更安全的软件》——3.5 信息泄露威胁

3.5 信息泄露威胁

信息泄露威胁是指允许别人去看其没有权限查看的信息。表3-5中列举了一些信息泄露威胁。

https://yqfile.alicdn.com/2ab5075ee1049655de808ccded8407c8e3869f70.png" >

3.5.1 进程信息泄露
进程信息泄露的事件往往预示着进一步的攻击。可以在进程中通过泄漏内存地址、从出错信息提取秘密信息或者从出错信息中提取设计细节,从而泄露信息。泄漏内存地址可以帮助绕开ASLR等防御措施。泄露秘密信息可能包括数据库连接字符串或者密码口令。泄露设计细节可能意味着暴露反欺诈规则,例如“新账户不可订购钻石戒指”。
3.5.2 数据存储信息泄露
数据存储自然是要存储数据,那么就有很多方式泄漏数据。首先引发泄漏的就是没有合理使用安全机制。最常见的就是,没有设置适当的权限或者希冀没人能发现隐藏着的文件。加密密钥是个特例,凭借这个泄漏信息会引发更多攻击。在数据存储中进行网络数据读取时,通常在网络中数据是可读取的。
经常忽视的一种攻击是通过文件名得到数据。如果有个目录名称为“2013年5月裁员”,那么文件名“Alice辞退信.docx”本身就会暴露重要信息。
还有一些攻击利用程序将信息发送到运行环境来实施。日志、临时文件、交换区等都可以容纳数据。通常,操作系统会保护交换区的数据,但是像加密密钥数据,你该使用操作系统的工具来防止它们被交换出去。
最后,还有一类攻击是用户设备所使用的操作系统能够被攻击者控制,攻击者从这些设备中提取数据。最常见的是(2013年),攻击者瞄准USB key,不过他们也会对CD、备份磁带、硬盘驱动器、被盗的笔记本电脑或服务器下手。硬盘驱动器往往没有将数据完全删除。(要清除硬盘中的数据,你可以买个硬盘削片机或者破碎机嘛,这些机器太了不起了,你到底为什么不用呢?)
3.5.3 数据流中的信息泄露
当信息在网络上传输时,数据流特别容易遭受信息泄露攻击。不过,单一机器上的数据流也是会遭受攻击的,尤其是当机器在云端共享或者由一台计算机服务器的很多互相不信任的用户共享时更易遭受攻击。除了在网络上简单地读取数据,攻击者还会将流量重定向到他们自己那里(经常通过假冒一些网络控制协议),这样他们即使不在数据流路径上也能看到数据。甚至在网络流量本身加密的时候,也可能获取信息。有很多种方式可以获悉人与人之间的对话信息,包括查看DNS、朋友在LinkedIn等网站的活动及其他形式的社交网络分析。
安全行家可能在想,本书会不会涉及旁路信道攻击和隐秘通道相关内容。这些攻击很有趣(旁路信道攻击会在第16章中涉及一些内容)。不过,只有在解决上述所提的问题之后,这些内容才有意义。

时间: 2024-12-03 16:14:57

《威胁建模:设计和交付更安全的软件》——3.5 信息泄露威胁的相关文章

《威胁建模:设计和交付更安全的软件》——第2章威胁建模策略2.1 “你的威胁模型是什么样?”

第2章威胁建模策略 越早发现问题,越容易解决问题.威胁建模要做的就是发现问题,让你在开发与设计的早期阶段或准备发布操作系统时及时解决问题.威胁建模方法有很多种,有些方法是特定的,就好比模型飞机装备只能用于构建F-14战斗机一样.有些方法则比较通用,例如用乐高模型可以创造很多种东西.但有些威胁建模方法不是很容易融合,就像Erector的模块和乐高模块连接就不合适.本章内容将讲述多种威胁建模策略和方法,每一种都会深入讲解,为更有效地发现威胁做准备. 我们从简单的问题开始,例如询问"你的威胁模型是什么

《威胁建模:设计和交付更安全的软件》——3.9 STRIDE变种

3.9 STRIDE变种 在发现威胁中,STRIDE是非常有用的助记符,不过它也不是完美无缺的.在这一部分内容中,你会学到STRIDE的一些变种,以期能帮助弥补其部分弱点.3.9.1 STRIDE-per-Element 对图表中的某些元素来说,所对应的威胁很普遍,而STRIDE-per-Element方法就是使得STRIDE方法更加规范.例如,一个数据存储区不太可能去假冒别的数据存储区(尽管运行代码可能对它正在访问哪个数据库而感到迷惑).通过关注对每个元素的一系列威胁,该方法就能更容易地找到威

《威胁建模:设计和交付更安全的软件》——2.2 集体研讨

2.2 集体研讨 集体研讨是列举威胁的最传统方法.召集经验丰富的专家集聚一堂,提供工作环境(白板和鸡尾酒餐巾纸都是很传统的),然后开始讨论威胁.集体研讨结果的质量与专家经验和所用时间有很大关系. 集体研讨分为产生创意.分析.选择创意三个阶段.集体研讨将会发现各种类型的可能发起的攻击.在产生创意阶段,应该禁止批评.如果你想要挖掘所有可能的潜在威胁,批评气氛会起到阻碍作用.可由一名会议主持人来不断推动研讨过程. 集体研讨的时候,关键是要有威胁建模技术方面的专家参与.不然,很容易陷入对威胁建模本身不能

《威胁建模:设计和交付更安全的软件》——第1章 潜心开始威胁建模1.1 学习威胁建模

第1章 潜心开始威胁建模 谁都可以学习威胁建模,更进一步说,每个人都应该学习威胁建模.威胁建模是利用模型来发现安全问题,这意味着通过提取大量细节对安全问题进行全面检查,而不是代码本身.之所以要构建模型,是因为模型能让你在没构建系统之前即可发现问题,以及在问题出现前提早发现问题.最后,威胁模型可以预见可能侵袭你的威胁. 首先,威胁建模是一门实用科学,本章系统地描述其实用性.尽管本书为你提供了很多有价值的定义.理论.观点.有效的方法和技术,但你还是希望能将这些用于实践.因此,本章内容主要从实践经验展

《威胁建模:设计和交付更安全的软件》——2.4 软件模型

2.4 软件模型 建立清晰的软件模型有助于寻找威胁,否则你会陷入到软件功能正确与否的细节中.图表是软件建模的最佳方法. 正如你在第1章学习到的内容,在白板上绘制图表是开始威胁建模非常有效的方法,但是当一个系统特别复杂,在白板上绘制或重新绘制模型就变得不可行了.这时,你要么简化系统要么使用计算机化的方法. 本章,你能学习到各种图表,在威胁建模时如何使用各种图表.如何处理大型系统威胁建模的复杂性.你也能学到信任边界.有效标签,以及如何验证图表等更多细节内容.2.4.1 图表类型 做图表有很多方法,不

《威胁建模:设计和交付更安全的软件》——1.2 独立威胁建模

1.2 独立威胁建模 你已经初步了解威胁建模,恭喜你!不过要记住:不反复练习的话是无法到达去卡内基音乐大厅表演的水平.这就意味着你要再来一次,这回你独立完成,因为再做一次才能做得更好.选择一个系统,然后对其威胁建模.按照下面简化的五步进行: 1.画示意图 2.用EoP游戏寻找威胁 3.用一些方法来解决每个威胁 4.用本章末尾的检查表来检查工作 5.庆祝和分享你的工作 现在,如果你仍对威胁建模生疏,最好的办法是经常练习,应用于对你来说重要的软件和系统.威胁建模一些系统后,你会发现运用这些工具和技术

《威胁建模:设计和交付更安全的软件》——第二部分 发 现 威 胁

第二部分 Part 2 发 现 威 胁 第3章 STRIDE方法 第4章 攻击树 第5章 攻击库 第6章 隐私工具 威胁建模的核心是威胁. 发现威胁有多种方法,这些方法就是第二部分的主要内容.每种威胁发现方法都各有优缺点,不同情况下可以使用不同的方法.本部分介绍的每种方法都可以看作一个乐高积木,在四步框架的第二步中,你可以用一种方法替代另一种方法. 威胁建模方法与其他建模方法最大的不同是,它关注哪些方面可能出现安全问题.本部分中提供的模型,通过将威胁抽象化,来进一步帮助你思考这些安全问题.模型(

《威胁建模:设计和交付更安全的软件》——3.11 小结

3.11 小结 对所有技术系统来说,STRIDE方法都有助于寻找威胁.能让这种方法更为有帮助的是一整套更为详尽的威胁,威胁表格可为信息安全领域新手提供帮助,或者作为安全专家的参考资料(附录B也有这样的功能).STRIDE的变种方法可突出威胁发现重点和注意事项.由此,STRIDE-per-element方法是非常有用的,它可以按照你的需求定制.如果威胁建模专家想要从头开始学习威胁建模,或许DESIST可能会让我们做得更好--并在寻找威胁上有所突破.

《威胁建模:设计和交付更安全的软件》——2.5 小结

2.5 小结 威胁建模的方法不止一种,可以采用资产建模.攻击者建模或软件建模."你的威胁模型是什么"和集体研讨方法,适用于安全专家,但是对没什么经验的威胁建模者来说,结构化不足.集体研讨有一些更为系统化的方法,包括场景分析.事前剖析.电影情节回放.文献检索,可以增添一些框架结构,但还不是最好的. 如果是从资产开始威胁建模,相互重叠的术语定义,包括攻击者想要的.你想保护的和垫脚石等,可能会让你寸步难行.资产会在哪里出问题,在以资产为中心的方法中没有提供相应的解决路径. 攻击者建模也是很有