操作系统/虚拟化安全知识域:系统强化之​分区

admin 2023年2月5日15:59:09评论17 views字数 4598阅读15分19秒阅读模式

分区

除了系统在不同安全域中的结构分解(例如,分解为进程和内核)之外,受隔离原语保护,有或没有硬件支持,还有很多操作系统采用的其他技术使攻击者更难破坏TCB。在本节中,我们将讨论最突出的。X记忆。防止代码注入攻击,攻击者将控制权转移到他们存储在内存区域中的一系列指令,这些指令不打算包含代码这样如这叠或这堆经营系统今天画a硬线之间代码和数据。内存的每一页都是可执行的(代码页)或可写的,但不能两者兼而有之在这相同时间。这政策经常述自如WX'写异或执行'),防止在数据区域中执行指令,但也防止修改现有代码。在没有代码注入的情况下,有兴趣转移程序的攻击者被迫自再使用法典那是已经目前。类似机制是使用自做内核中的敏感数据(如系统调用表、中断向量表等)初始化后只读。所有主要操作系统都支持此机制,通常依赖于硬件支持(尼克现代处理器中的位12-即使详细信息略有不同,并且名称可能因操作系统而异。例如,微软通过名称来引用其实现数据执行保护(DEP).阻止内核从访问用户空间。我们有已经明显那经营系统用这中央处理器的保护环自确保那用户过程不能访问任意数据或执行操作系统中的代码,符合Saltzer&Schroeder的安全原则,该原则规定所有此类访问都要进行调解。然而有时我们还需要保护这其他方向和防止这内核从盲目访问(或更糟正在执行)中的事情用户空间。

了解为什么这可能是不好的,请考虑一个操作系统,其中内核映射到每个进程的地址空间,每当它执行系统调用时,它都会执行使用进程页表的内核代码。这就是Linux1991年成立到201712月的工作方式。原因是这样做是有效的,因为在执行系统调用时不需要切换页表,而内核可以有效地访问所有内存。此外,由于内核页设置了主管(S)位,因此不存在用户进程访问内核内存的风险。但是,假设内核有一个错误,导致它取消引用在特定情况下恰好为NULL的函数指针。最有可能发生的事情是内核崩溃。毕竟,内核正在尝试在无效的页面上执行代码。但是,如果恶意进程故意将页面映射到地址0,并用代码填充该页面,将当前进程的权限更改为该页面,该怎么办?根?在这种情况下,内核将以内核权限执行代码。这很糟糕。

现在应该很清楚  ,内核可能不应该盲目地执行进程代码。它也不应该  盲目地从用户数据中读取。毕竟,攻击者可以使用它来向内核指令提供恶意数据。为了防止此类访问,我们需要比默认环提供的隔离更多的隔离。因此,目前许多 CPU 都提供监控器模式执行保护 (SMEP)和管理引擎模式访问保护 SMAP13通过在  控制寄存器中设置适当的位来启用 SMEP SMAP。一旦它们处于打开状态,任何访问或将控制权转移到用户内存的尝试都将导致页面错误。当然,这也意味着每当内核需要访问用户内存时,都应显式关闭SMAP

包括Linux  在内的一些操作系统在  2017  年对易受  Meltdown漏洞影响的系统免费获得了类似SMEP的限制,这迫使他们采用带有价格标签的替代设计。特别是,由于 表 1  中的 Meltdown 乱序执行  侧通道,它们被迫放弃单个地址空间(内核在  进程的地址空间    执行)。  回顾一下  Meltdown(以及相关的Spectre)攻击包括攻击者滥用CPU对其  无序或投机执行的指令  中发生的事情的(过度)乐观。例如,它错误地假设  加载指令具有   读取   它们访问       的数据  的权限,分支的结果与上一次相同执行了  类似地址的分支,或者加载指令所需的数据可能是刚刚写入的此临时 CPU 缓冲区 中的数据。但是,即使这些假设中的任何一个是错误的,CPU 也可以通过压缩无序或推测执行的代码的结果来恢复。

在类似Meltdown 的攻击中,  攻击者的进程执行无序指令以读取(据说无法访问的)内核地址的字节,CPU 乐观地假设一切正常  ,只是访问字节。在  CPU意识到事情毕竟不好并且不应该访问这个字节之前,攻击者已经使用该字节在他们自己的进程地址  空间中读取大型数组中的特定元素。尽管CPU最终会压缩所有  结果,但损害  已经造成:即使  无法直接读取字节,数组元素的索引缓存中(因此,比其他元素访问速度快得多)必须是内核字节。

为了在没有针对此漏洞的硬件修复程序的较旧的处理器上解决此问题,Linux 等操作系统使用了一种将内核的页表与进程的页表完全分开的设计。换句话说  ,内核也在自己的地址空间中运行,无  序指令读取内核地址的任何尝试  都将失败。内核仍然可以映射在用户进程的页面中,从而在需要时访问它们,但权限可以不同。具体来说,如果它们被映射为不可执行,我们  基本上可以免费获得 SMEP 功能。

对于其他基于推测执行的漏洞(例如SpectreRIDL),修复程序的问题更大。通常,使用多种不同的现场解决方案来修补最严重的问题。例如,在可能受到不受信任的用户影响的边界检查之后,我们可能希望插入特殊说明以完全停止推测。同样,Windows等操作系统试图仅安排”  属于同一内核上同一安全域的代码(因此从线程泄漏到同一内核上的另一个线程的问题较少),而OpenBSD等其他操作系统则完全禁用英特尔处理器上的超线程。但是,目前尚不清楚补丁集的完整性,而我们正在等待硬件修复。

 微架构状态进行分区  复杂的侧信道攻击建立在  现代计算机系统中的聚合资源共享之上。多个安全域共享相同的高速缓存、相同的  TLB、相同的  分支预测器状态、相同的算术单元等。共享有利于提高效率,但正如最小共同机制原则所指出  的那样,它们也会产生侧渠道。为了防止此类攻击,操作系统可能需要牺牲一些效率和分区资源,即使是在细粒度上也是如此。例如  ,通过在软件或基于硬件的缓存分配技术  中进行页面着色,操作系统可以使不同的进程访问完全脱节的部分缓存(例如,分离缓存集或分离缓存集中的方式)。遗憾的是,分区并不总是简单的,目前许多低级资源不支持分区。

思维导图下载:GB-T 39276-2020 网络产品和服务安全通用要求

网络安全的下一步是什么
网络安全等级保护:第三级网络安全设计技术要求整理汇总
网络安全等级保护:信息安全服务提供方管理要求
网络安全对抗行为(十八):用于了解恶意操作的模型及攻击归因和结论
网络安全对抗行为(十九):词汇表
网络安全培训:如何建立网络意识的企业文化
网络安全取证(九)操作系统分析之存储取证
网络安全取证(十)操作系统分析之存储取证
网络安全取证(十二)数据恢复和文件内容雕刻
网络安全取证(十六)云取证
网络安全取证(十七)伪影分析
网络安全取证(十三)数据恢复和文件内容雕刻(下)
网络安全取证(十一)操作系统分析之块设备分析
网络安全运营和事件管理(二十):执行-缓解和对策之拒绝服务
网络安全运营和事件管理(二十二):执行-缓解和对策之站点可靠性工程
网络安全运营和事件管理(二十六):知识-智能和分析之态势感知
网络安全运营和事件管理(二十七):人为因素:事件管理
网络安全运营和事件管理(二十三):知识-智能和分析之网络安全知识管理
网络安全运营和事件管理(二十四):知识-智能和分析之蜜罐和蜜网
网络安全运营和事件管理(二十五):知识-智能和分析之网络威胁情报
网络安全运营和事件管理(二十一):执行-缓解和对策之SIEM平台和对策
网络安全运营和事件管理(十八):计划-警报关联
网络安全运营和事件管理(十九):执行-缓解和对策之入侵防御系统
网络安全运营和事件管理(十六):分析之基准利率谬误
网络安全运营和事件管理(十七):计划-安全信息和事件管理及数据收集
网络安全运营和事件管理(一):简介
网络安全之事件管理
网络安全之云计算的安全风险
网络安全知识:什么是社会工程学
网络安全知识体系1.1对抗行为(十七):用于了解恶意操作的模型之地下经济建模为资本流动
网络安全知识体系1.1对抗行为(十三):恶意操作的要素之支付方式
网络安全知识体系1.1恶意软件和攻击技术(六):恶意软件分析
网络安全知识体系1.1恶意软件和攻击技术(十三):恶意软件响应及中断
网络安全知识体系1.1法律法规(二十)信息系统犯罪的执法与处罚
网络安全知识体系1.1法律法规(二十八)法律约束—合同
网络安全知识体系1.1法律法规(二十九)侵权行为
网络安全知识体系1.1法律法规(二十六)违约和补救措施
网络安全知识体系1.1法律法规(二十七)合同对非缔约方的影响
网络安全知识体系1.1法律法规(二十五)责任限制和责任排除
网络安全知识体系1.1法律法规(二十一)不受欢迎的自助:软件锁定和黑客攻击
网络安全知识体系1.1法律法规(九)数据主权问题
网络安全知识体系1.1法律法规(三十)  对缺陷产品严格负责
网络安全知识体系1.1法律法规(三十八)国际待遇和法律冲突
网络安全知识体系1.1法律法规(三十二)赔偿责任的数额
网络安全知识体系1.1法律法规(三十九)互联网中介机构-免于承担责任和撤销程序
网络安全知识体系1.1法律法规(三十六)执行–补救措施
网络安全知识体系1.1法律法规(三十七)逆向工程
网络安全知识体系1.1法律法规(三十三)
网络安全知识体系1.1法律法规(三十三)归因、分摊和减少侵权责任
网络安全知识体系1.1法律法规(三十四)法律冲突–侵权行为
网络安全知识体系1.1法律法规(三十五)知识产权
网络安全知识体系1.1法律法规(三十一)  限制责任范围:法律因果关系
网络安全知识体系1.1法律法规(十)国际人权法的基础
网络安全知识体系1.1法律法规(十八)执行和处罚
网络安全知识体系1.1法律法规(十二)国家以外的人的拦截
网络安全知识体系1.1法律法规(十九)电脑犯罪
网络安全知识体系1.1法律法规(十六)国际数据传输
网络安全知识体系1.1法律法规(十七)  个人数据泄露通知
网络安全知识体系1.1法律法规(十三)数据保护
网络安全知识体系1.1法律法规(十四)核心监管原则
网络安全知识体系1.1法律法规(十五)适当的安全措施
网络安全知识体系1.1法律法规(十一)国家拦截
网络安全知识体系1.1法律法规(四十)文件非物质化和电子信托服务
网络安全知识体系1.1法律法规(四十二)国际公法
网络安全知识体系1.1法律法规(四十三)其他监管事项
网络安全知识体系1.1法律法规(四十四)结论:法律风险管理
网络安全知识体系1.1法律法规(四十一)  伦理学
网络安全知识体系1.1风险管理和治理(八)安全度量
网络安全知识体系1.1风险管理和治理(九)业务连续性
网络安全知识体系1.1风险管理和治理(六)脆弱性管理
网络安全知识体系1.1风险管理和治理(七)风险评估和管理
网络安全知识体系1.1风险管理和治理(十)结论
网络安全知识体系1.1风险管理和治理(五)风险评估与管理方法(下)
网络安全知识体系1.1人为因素(二):可用的安全性——基础
网络安全知识体系1.1人为因素(一):了解安全中的人类行为
网络安全知识体系1.1隐私和在线权利(八):隐私作为透明度及基于反馈的透明度
网络安全知识体系1.1隐私和在线权利(九):隐私作为透明度及基于审计的透明度
网络安全知识体系1.1隐私和在线权利(六):隐私作为控制之支持隐私设置配置
网络安全知识体系1.1隐私和在线权利(七):隐私作为控制之支持隐私政策谈判和可解释性

原文始发于微信公众号(河南等级保护测评):操作系统/虚拟化安全知识域:系统强化之​分区

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月5日15:59:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   操作系统/虚拟化安全知识域:系统强化之​分区http://cn-sec.com/archives/1537348.html

发表评论

匿名网友 填写信息