读零信任网络:在不可信网络中构建安全系统03威胁模型

news/2024/11/15 4:51:22/文章来源:https://www.cnblogs.com/lying7/p/18328949

1.       信任管理

1.1.         信任源自于人,并通过计算机可以执行的信任机制流入其他系统

1.1.1.           只有使用系统的人确信它确实按照其意愿忠实地运行,该系统才能被认为是可信的

1.2.         信任管理是零信任网络的一个重要功能

1.3.         信任是如何产生的?

1.3.1.           你确实了解自己的家人

1.3.1.1.            你确实了解自己的家人

1.3.2.           你只是简单地把所有能够辨识的环境、与陌生人相关的所有信息等,都纳入考虑的范围,然后判断他们的可信度有多高

1.3.3.           在某些情况下,人们甚至可能连自己都无法完全信任,但是至少可以确信所采取的行动的确是自己所为

1.4.         零信任网络中的信任往往源自系统管理员

1.4.1.           如果不存在与生俱来的信任,那么就必须从某个地方产生信任并小心地管理它

1.4.2.           系统管理员并不是总能有机会进行授权和授予信任

1.4.3.           当用户数量急剧增多时,信任管理的工作量会非常大,而系统管理员的数量却不可能无限制地随之增加

1.5.         信任委托

1.5.1.           借助信任委托,人们可以构建自动化系统,在无须人为干预的情况下,以安全可信的方式管理大规模增长的零信任网络

1.5.2.           系统管理员是可信的

1.5.3.           管理员就必须将责任委托给供应系统(Provisioning System),授予它创建新主机和为新主机授予信任的能力

1.5.4.           能够返回给系统管理员的这一串信任通常被称为信任链(Trust Chain),而系统管理员被称为信任锚(Trust Anchor)

2.       威胁模型

2.1.         定义威胁模型是设计安全架构的第一步

2.2.         描述潜在的攻击者及其能力、资源以及意图攻击的目标

2.3.         明确攻击者的范围

2.3.1.           按照攻击者的能力高低进行排序,以便于人们按照从易到难的顺序,合理部署相应的攻击缓解措施

2.4.         薄弱的环节恰恰是攻击者关注的地方

2.4.1.           聚焦于某个具体的威胁,并仔细思考缓解该威胁的具体措施

2.5.         流行的建模工具

2.5.1.           STRIDE

2.5.2.           DREAD

2.5.3.            PASTA

2.5.4.           Trike

2.5.5.            VAST

2.5.6.           目标是一致的,都需要尽可能地枚举针对系统的威胁,然后进一步枚举能够缓解这些威胁的系统和流程

2.6.         不同的威胁模型处理问题的视角也不尽相同

2.6.1.           聚焦于被攻击者视为目标的资产

2.6.2.           独立地审视每一个软件组件,枚举针对每个组件的所有可能的攻击

2.6.3.           使用与攻击者相同的视角,把系统看作一个整体,分析攻击者使用何种手段渗透进这个系统

2.7.         把攻击者按照能力(造成的损害)从低到高排列

2.7.1.           碰运气攻击者

2.7.1.1.            脚本小子

2.7.1.2.            利用那些众所周知的漏洞和工具发起攻击,广撒网,碰运气

2.7.2.           定向的攻击者

2.7.2.1.            对特定的目标发起针对性的攻击

2.7.2.2.            通过鱼叉邮件、社交工程等手段发起攻击

2.7.3.           内部人员

2.7.3.1.            拥有合法凭据的系统用户

2.7.3.2.            外包人员、非特权的企业员工

2.7.4.           可信内部人员

2.7.4.1.            可信度很高的系统管理员

3.       零信任的威胁模型

3.1.         RFC 3552描述了互联网的威胁模型

3.2.         零信任网络遵循互联网威胁模型来描述安全态势,规划缓解威胁的措施

3.3.         假设参与协议交互的端点系统自身并没有被攻陷

3.3.1.           如果其中一个端点系统被攻陷,那么阻止攻击就变得非常困难了

3.3.2.           通过仔细设计安全协议,还是有可能缩小损害的范围,降低损害的程度

3.4.         Protocol Data Unit,协议数据单元

3.5.         即使与之通信的端点系统本身是安全的,互联网环境的特点也使得我们无法确认通信数据包真的源自该端点系统

3.5.1.           零信任网络需要控制网络中的端点设备,所以它对互联网威胁模型进行了扩展,充分考虑了端点设备被攻陷的情形

3.5.2.           面对端点设备可能遭受的攻击,通常的应对方式是首先对端点操作系统进行安全加固,然后采用端点系统安全扫描、系统活动行为分析等方式来进行攻击检测

3.5.3.           定期升级端点设备中的软件,定期更换端点设备的登录凭证,甚至定期更换端点设备本身等,也能够缓解针对端点设备的攻击

3.6.         拥有无限资源的攻击者本质上是无法防御的,零信任网络充分考虑了这一因素

3.6.1.           零信任网络的防御目标是那些常见类型(不是所有类型)的攻击者

3.7.         零信任网络能够防御的攻击者包括从低级别的“碰运气攻击者”到高级别的“可信内部人员”

3.7.1.           制定缓解措施具有更广泛的适用性,能够抵御组织面临的绝大多数攻击,显著提升组织的安全态势

3.8.         零信任模型仅需要保证用于认证和授权操作的信息的机密性,如存储在磁盘上的凭据的机密性

3.8.1.           对端点系统安全性的进一步要求,如全盘加密等,是其他安全策略需要考虑的问题

3.9.         很难防御的、相对小众的威胁

3.9.1.           利用虚拟机管理程序的漏洞复制虚拟机内存等

3.9.2.           防御这类威胁需要付出相当大的代价,可能需要专用的物理硬件

3.9.3.           多数零信任网络的威胁模型排除了这类攻击

4.       强认证

4.1.         如果没有办法把物理世界中的人与其数字世界中的身份联系起来,那么无论采用什么方法都无法真正建立对一个人身份的信任

4.2.         人类多种感官的组合很难被欺骗

4.3.         计算机场景下的身份认证更像是通过电话与某人交谈

4.3.1.           管理员采用检查远程系统的IP地址,并要求对方输入口令的方式来完成身份认证

4.3.2.           仅仅采用这些方法进行身份认证是远远不够的

4.3.2.1.            攻击者能够使用任意IP地址进行通信,还能够将自己置于两台远程通信的计算机之间发起中间人攻击

4.3.3.           零信任网络中的每个访问请求都需要经过强身份认证

5.       X.509标准

5.1.         该标准定义了数字证书的标准格式,并能够通过信任链认证身份

5.2.         X.509证书是TLS协议(以前是SSL协议)用来验证连接的主要机制

5.3.         大多数TLS应用实例仅配置了单向身份认证,即只是由客户端验证所访问的资源是否可信,但是被访问的资源没有验证客户端是否可信,这种配置在零信任网络场景下来说存在明显的问题

5.4.         TLS协议本身支持双向身份认证,即被访问的资源也同样可以验证客户端的身份

5.4.1.           这一步骤对私有资源的保护来说非常重要

5.5.         X.509证书使用两个密钥:公钥和私钥

5.5.1.           公钥需要被公布出去,私钥则被严格保密

5.5.2.           使用公钥加密的数据,可以用私钥解密,反之亦然

5.5.3.           人们可以证明其拥有正确的私钥,就能够在不暴露秘密的情况下验证身份

5.6.         基于证书的身份认证机制可以让通信双方确信对方拥有正确的私钥,并且可以确信攻击者通过搭线窃听的方法无法窃取并重用密钥

5.6.1.           该机制仍然依赖于一个秘密,而这个秘密可能会被窃取

5.7.         虽然身份凭据的合法性可以得到验证,但是其机密性无法得到保证

5.7.1.           最好使用存储在不同位置的多个秘密,根据这些秘密的组合授予访问权限

5.7.2.           攻击者必须窃取多个秘密才能完成攻击,这增加了攻击的难度

5.8.         组合使用多个秘密的方式有助于防止未授权的访问,但是仍然存在所有秘密都被窃取的风险

5.8.1.           所有身份认证凭据都应当有时间限制

5.9.         为身份认证凭据设定有效期限,不仅能够最大限度地缩减凭据泄露或密钥被盗的影响范围,还可以给管理员更新密钥和重建信任创造更多的机会,争取更多的时间

6.       凭据轮换

6.1.         Credential Rotation

6.2.         管理员更改或更新密钥/口令的行为被称为凭据轮换

6.3.         凭据轮换机制能够有效防止秘密失窃,并在发生秘密失窃事件时及时将其注销,避免更大的损失

6.4.         人们应当尽可能避免使用难以轮换或者轮换成本很高的身份认证凭据,如硬件令牌/口令等

6.5.         身份认证凭据的轮换频率通常与轮换所需的成本成反比

6.6.         轮换代价高昂的凭据示例

6.6.1.           需要外部机构签发的数字证书

6.6.2.           人工配置的服务账户

6.6.3.           需要系统重启才能重置的数据库口令

6.6.4.           一旦更改就会导致所有已保存的散列值失效的密钥种子

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/773438.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pinely Round 4 (Div. 1 + Div. 2)

离上紫一步之遥了这场打完又掉下去了哈哈真是太搞目录写在前面ABCDEF写在最后 写在前面 比赛地址:https://codeforces.com/contest/1991 离上紫一步之遥了这场打完又掉下去了哈哈真是太搞 A 签到。 对于每个位置检查两侧数的数量是否为奇数,若为奇数则无法删的只剩这个位置。…

基于 AnythingLLM 及 Ollama 构建本地知识库

基于 AnythingLLM 及 Ollama 构建本地知识库RAG Ollama AnythingLLM1. 什么是 RAG RAG(Retrieval Augmented Generation)检索增强生成,是 2023 年最火热的 LLM 应用系统架构,它的作用简单来说就是通过检索获取相关的知识并将其融入 Prompt,让大模型能够参考相应的知识从而…

LeetCode98. 验证二叉搜索树

题目链接:https://leetcode.cn/problems/validate-binary-search-tree/description/ 题目叙述: 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效二叉搜索树定义如下:节点的左子树只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。…

乒乓球比赛计分程序模拟冲刺(Sprint)计划

模拟冲刺(Sprint)计划选择的小用户故事:赵冠军(运动员)- 实时比分显示张赛事(赛事组织者)- 赛事信息录入王公正(裁判员)- 自动计分与记录一、任务拆分及开发时间(假设为网页版程序): 1. 赵冠军 - 实时比分显示 任务1:设计实时比分显示界面 开发时间:2天任务描述:…

一台个人pc电脑如何多开微信

之前在联想做技术支持,一直都是给客户一个附件文件来多开,今天教各位一个简单快捷的方法,工具的方法我也提供下,在文档结尾。 先用记事本编辑 start "" "C:\ProgramFiles\Tencent\WeChat\WeChat.exe"文件另存为bat后缀文件之后就是ctrl+c ctrl+v选中多…

结构体中vector的初始化报错:expected identifier before numeric constant

结构体中vector的初始化报错:expected identifier before numeric constant 结构体中vector初始化 起因: 我想在结构体中初始化含有3个元素的vector。报错: expected identifier before numeric constant,意思是数字常量前应该要有表示符。 原因: 编译器认为我正在定义一个…

HDU7458-启发式合并优化DP

link:https://acm.hdu.edu.cn/showproblem.php?pid=7458 题意:给一棵树,每个点有点权 \(w\) 和颜色 \(c\),选择若干条不相交的路径,每条路径的起始点颜色相同,权值为起始点的权值之和,最大化权值之和。对每条路径 \((u,v)\) 可以放到LCA上考虑,即我们对每个子树考虑,…

LeetCode617. 合并二叉树

题目链接:https://leetcode.cn/problems/merge-two-binary-trees/description/ 题目叙述: 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是…

线段树(1)建树、单点修改、单点查询、区间查询和例题

闲了好久的wym复活拉~更个辣鸡的线段树 如果你不知道什么是线段树这个就不用看 由于我们平时可能会遇到一些恶心的题叫做给你 \(10^5\) 个数的数组,然后 \(10^5\) 次修改或查询,这样显然暴力是可以做的而且ST表我们无视修改。这个时候可以用线段树、树状数组或者其他大佬们的…

全网最适合入门的面向对象编程教程:26 类和对象的 Python 实现-上下文管理器和 with 语句

本文主要介绍了在使用Python面向对象编程时,如何使用上下文管理器和with语句替换异常处理中try...finally语句,并介绍了with语句的优点和应用场景。全网最适合入门的面向对象编程教程:26 类和对象的 Python 实现-上下文管理器和 with 语句摘要: 本文主要介绍了在使用 Pytho…

RMI 反序列化详细分析

java RMI 学习 RMI 是什么 Java RMI(Java Remote Method Invocation),即Java远程方法调用。是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口。RMI 使用 JRMP(一种协议)实现,使得客户端运行的程序可以调用远程服务器上的对象。是实现RPC的一种方式。 RMI 的构…