《威胁建模:设计和交付更安全的软件》——3.8 扩展示例:针对Acme-DB的STRIDE威胁
2023-09-11 14:19:11 时间
本节书摘来自华章计算机《威胁建模:设计和交付更安全的软件》一书中的第3章,第3.8节,作者:[美] 亚当·斯塔克 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3.8 扩展示例:针对Acme-DB的STRIDE威胁此扩展示例主要讨论针对Acme/SQL数据库使用STRIDE发现威胁,该数据库在第1章和第2章中提及,并在图2-1中展示。首先,你将看到按照STRIDE分类的威胁,然后再根据谁能解决威胁来进行讨论。
假冒
篡改
可以篡改正在发送的数据、程序或数据文件。 可以篡改web客户端或SQL客户端。 一旦你考虑到这些威胁,很容易采用操作系统的权限设置来解决。更具挑战的是,什么操作可以改变数据库内的什么样数据。在这里,操作系统权限所能发挥的作用很有限,需要采用数据库的某种访问控制功能。否认
使用SQL客户端或者web客户端的顾客可以宣称自己什么都没有做。这类威胁可以通过日志记录及日志分析减缓。那为何还要考虑这些威胁呢?他们可以提醒你需要设置日志,并要记录“正确的事情”,这其中包括身份验证尝试以及访问尝试的成功与失败记录,尤其是服务器要追踪客户端尝试访问或更改日志行为。信息泄露
将数据库中的秘密信息泄露给错误的客户端是最明显的信息泄露事件。所泄露的信息可能是数据(工资表中的内容)或者元数据(项目验收表)。泄露信息可能是意外的(设置ACL失败),也可能是故意的(在网络上窃取)。信息泄露可能还发生在前端,例如,“不能用密码bar连接数据库foo!”这样的出错信息。 数据库文件(分区、SAN附加存储)需要由操作系统来保护,其中的数据由文件的访问控制列表ACL保护。 日志中经常含有秘密信息,因此需要保护。拒绝服务
前端可能会被随机请求或精心设计的请求压垮,尤其是有些匿名(或自由的)web账户精心设计了让前端响应缓慢的数据请求内容。 网络连接可能被数据压垮。 数据库和日志被填满。 如果主要进程之间或者进程与数据库间的网络是共享的,网络可能会超负荷。权限提升
web客户端或SQL客户端可尝试运行其没有权限运行的查询操作。 如果客户端正在执行安全策略,那么任何篡改客户端或其网络数据流的人都将可以按照他们的选择运行查询请求。 如果数据库可以运行任意命令,那么客户端也拥有此功能。 日志分析程序(或假装为日志分析程序)可以运行任意命令或查询。 日志分析程序可能被认为是可信的,但可能是会在信任边界外,因此,要么我们的思考错了,要么图(图2-1)是错误的。如果数据库集群与企业的目录服务关联,但没有限制谁可以登录到数据库服务器(或者文件服务器),那么在企业目录上的任何人,可能包括员工、承包商、实验室、合伙人等,都可更改数据库集群。
前面扩展示例中的列表只是举例说明,可能还存在其他威胁。
也可以根据处理威胁的个人或团队来考虑威胁类型,分成Acme及其顾客。表3-8举例说明了威胁和减缓威胁之间重叠的部分,这为本书第三部分中如何减缓威胁做了铺垫。表中也列举了一些不是Acme/SQL所要求的内容,这些也应该记录下来提供给顾客,这在第12章讲述。在表3-8里,你可以看到越来越多的可操作的威胁。作为一名开发者或系统管理员,你可以开始学习如何解决这类问题。表格本身也试图提供解决威胁的方法,该表格的自然延伸便是每个角色用以解决威胁的一系列适用的办法。
![df771f503bbb7e4b372277c2baf34ebb0eb3a51d](https://yqfile.alicdn.com/df771f503bbb7e4b372277c2baf34ebb0eb3a51d.png)
Hap-Eval:Sentieon团队开发的开源结构变异SV准确率评估工具 Hap-eval基于单倍型 (haplotype) 对两组SV结果进行比较,首先会将比较区块内的SV拼接成单倍型序列,如果SV的结果中有定相信息,在这一步也可以被利用;然后这些单倍型序列被用来建立一个矩阵,进行结果判断。
以 Log4j 为例,如何评估和划分安全风险 开源软件支撑着绝大多数面向互联网的应用程序。这类项目的可用性、可获取性和质量提升了企业的创新能力,并帮助它们取得成功。它们是很好的公共产品,应该受到赞美和保护。
相关文章
- UVM中的regmodel建模(三)
- R语言实现金融数据的时间序列分析及建模
- 【数学建模绘图系列教程】二、折线图的绘制与优化
- 数学建模暑期集训22:图论最短路径问题——Dijkstra算法和Floyd算法
- 一起学微软Power BI系列-官方文档-入门指南(3)Power BI建模
- Algorithm:数学建模大赛(CUMCM/NPMCM)之NPMCM全国研究生数学建模竞赛(NPMCM)历年试题集合、试题库、学习网站推荐之详细攻略
- 对灵敏度分析技术进行建模(Matlab代码实现)
- 蓄电池建模、分析与优化(Matlab代码实现)
- 数学建模学习(103):遗传算法对神经网络分类问题优化(GA-MLP)
- 数学建模学习(93):方差分析、T检验、卡方分析(检验)
- 数学建模学习(71):营销组合模型
- 数学建模学习(34):自组织神经网络,讲解+代码
- 数学建模学习(22):求解微积分之积分问题详解,超详细!
- 【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一
- (1)Python-OpenCV视频帧间差分、高斯混合建模、背景差分提取前景目标轮廓、KCF目标跟踪、Meanshift算法跟踪
- 【清风数学建模笔记】第二讲:TOPSIS法