《威胁建模:设计和交付更安全的软件》——3.3 篡改威胁

简介:

本节书摘来自华章计算机《威胁建模:设计和交付更安全的软件》一书中的第3章,第3.3节,作者:[美] 亚当·斯塔克 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.3 篡改威胁

篡改就是修改内容,典型的情景是修改磁盘上、网络上或者内存里的内容,还可以修改电子数据表里的数据(Excel表或者其他编辑程序)、改变二进制数据或者磁盘上配置文件,也可以修改类似磁盘上的数据库这样复杂的数据结构。在网络上,可以添加、修改或者移除数据包。有时添加数据包比修改动态的数据包更容易,而程序安全处理额外的数据副本,是非常不好的。表3-3中给出了更多的篡改示例。


<a href=https://yqfile.alicdn.com/289b53bb2b7259a8f4042f43b206a24ba861b393.png
" >

3.3.1 篡改文件
攻击者能修改任何他们有写入权限的文件。当你的代码必须依赖于那些别人有写权限的文件时,就存在文件被恶意修改的可能性。虽然文件篡改最明显的是在本地磁盘上,不过,如果文件可以允许远程共享,就像网上的大部分JavaScript,就会有很多篡改的实现方法。攻击者可通过破坏别人的网站来破坏你的安全性,可以(因为可怜特权、假冒或者权限提升)修改你的文件,还可以修改链接或者重定向,因为链接经常不在完整性检查范围内。如果在你所能控制的(例如服务器)和不能控制的对象(例如网络浏览器)之间有高速缓存时,篡改攻击会有一些微妙的变种。例如,“缓存污染攻击”利用缓存中较弱的安全控制策略,向web缓存中插入数据(OWASP,2009)。
3.3.2 篡改内存
如果攻击者与你有同样的权限,他就能修改代码。那么一切防御手段都没有多大用处。如果你的API句柄通过按引用方式(这是为了速度而经常选择的一种方式)处理数据,那么攻击者可以在你执行安全检查之后修改数据。
3.3.3 篡改网络
网络篡改是指能够将网络数据引到攻击者机器中,然后转发一些完好的数据和一些被修改的数据,篡改方式多种多样。不过,并不需要直接把数据带给你,WiFi和蓝牙的出现,使得越来越多的数据流可以通过空气传输。很多网络协议在最初设计时是需要有特殊的硬件设备才能创建或者读取数据包,对硬件的特殊需求可防止篡改(通常是假冒攻击)。软件无线电(Software-Defined Radio,SDR)的出现悄然改变了对特殊硬件的需求。如今很容易买到物美价廉的SDR单元,对其编程后可篡改无线协议。

相关文章
|
存储 算法 数据安全/隐私保护
【密码学】一文读懂白盒AES(Chow方案)(一)
本文主要参考了文献^[1], 代码参考了^[2], 这里感谢文献作者和代码作者,如果有能力的大佬,可以自行查看原文献,个人水平有限,有哪里写的不对的地方,也欢迎读者指正。
4843 0
【密码学】一文读懂白盒AES(Chow方案)(一)
|
11月前
|
JSON 供应链 搜索推荐
淘宝APP分类API接口:开发、运用与收益全解析
淘宝APP作为国内领先的购物平台,拥有丰富的商品资源和庞大的用户群体。分类API接口是实现商品分类管理、查询及个性化推荐的关键工具。通过开发和使用该接口,商家可以构建分类树、进行商品查询与搜索、提供个性化推荐,从而提高销售额、增加商品曝光、提升用户体验并降低运营成本。此外,它还能帮助拓展业务范围,满足用户的多样化需求,推动电商业务的发展和创新。
409 5
|
存储 安全 NoSQL
Cookie、Session、Token 解析
Cookie、Session、Token 解析
761 1
|
存储 JSON JavaScript
jQuery Cookie 插件
jQuery Cookie 插件
210 4
jQuery Cookie 插件
|
存储 缓存 关系型数据库
MariaDB 和 GreatSQL 性能差异背后的真相
【10月更文挑战第22天】本文介绍了 MariaDB 和 GreatSQL 两款数据库系统的背景、性能差异因素及实际应用场景。MariaDB 是 MySQL 的分支,具有良好的社区支持和丰富的插件生态系统;GreatSQL 是国产的 MySQL 兼容数据库,专注于企业级应用场景。文章详细对比了两者的存储引擎优化、查询优化器差异、缓存机制和并发处理能力,并分析了它们在 OLTP 和 OLAP 场景中的性能表现。
593 3
|
存储 关系型数据库 MySQL
MySQL数据库进阶实战:解锁性能飙升秘籍,从菜鸟到高手的华丽蜕变,让数据操作如行云流水!
【8月更文挑战第5天】MySQL是最流行的开源关系型数据库之一,在Web开发与数据分析等领域广泛应用。本文通过实战代码示例,深入探讨MySQL进阶技能:包括索引优化以提升查询性能;利用JOIN与子查询处理多表关联数据;通过事务处理确保数据一致性;使用存储过程与函数封装复杂逻辑以便重用;设置触发器自动执行特定任务以维护数据完整性。掌握这些技能能显著提高数据处理效率与系统性能。
403 5
|
存储 算法 安全
密码学系列之九:密钥管理
密码学系列之九:密钥管理
2617 45
|
安全 API 开发工具
全面对比API和SDK
全面对比API和SDK
2940 0
|
安全 Shell
最强安全加固自动执行脚本2.0
最强安全加固自动执行脚本2.0