操作系统/虚拟化安全知识域:系统强化之代码和数据完整性检查以及异常检测

admin 2023年2月6日09:50:16评论25 views字数 4781阅读15分56秒阅读模式

代码和数据完整性检查

减少操作系统中代码可利用性的一种方法是确保代码和/或数据未经修改并由受信任的供应商提供。例如,多年来,Windows一直采用驱动程序签名。一些较新的版本更进一步,使用  硬件和软件   安全功能   的组合来锁定计算机,确保它仅运行受信任的代码/应用程序 - 此过程被Microsoft称为“Device Guard”   即使是特权恶意软件也无法  轻松让未经授权的应用程序  运行,因为  检查是否允许应用程序运行的机制位于硬件辅助虚拟化环境中。大多数代码签名解决方案将与操作系统扩展关联的数字签名相关联,  允许     操作系统检查代码的完整性是否完整以及供应商 是否合法。类似的过程通常用于更新。

但是,检查签名的代码以及操作系统本身呢我们确定    没有    恶意引导工具包篡改吗?   确保在引导期间    加载  的系统软件的完整性涉及  许多步骤   ,主要与引导过程本身的多个步骤有关。从最早的商用计算机开始,启动涉及多个阶段。即使是  IBM 701  1950 年代初期流行的计算机,安装多达 19 次,也已经具有这样的多阶段启动过程,从按下  特殊的加载按钮开始   ,使  系统加载  单个 36 位字   通常来自打孔卡。它将执行(部分)这个词  以加载更多指令,然后开始执行这些指令作为引导程序

通常,安全启动设备从启动   启动过程  的初始信任根开始,并且通常基于  硬件,例如,微控制器从内部不可变存储器或根本无法重新编程的内部闪存开始执行软件,或者只能通过严格的身份验证和授权检查。例如,现代Apple计算机使用单独的处理器T2安全芯片来为安全启动等提供硬件信任根,而Google还为此开发了一种称为Titan的定制处理器。我们现在将讨论硬件信任根如何帮助  验证  系统是否安全启动。

启动通用计算机通常从固件开始,固件启动一系列阶段,以完全启动的系统结束。例如,  固件可以加载一个特殊的引导加载程序,然后加载操作系统内核,而   操作系统内核  又可以  加载额外的引导   驱动程序,直到最终操作系统完全初始化并准备好与用户或应用程序交互。所有这些阶段都需要保护。例如,统一可扩展固件接口  UEFI可以通过安全启动来保护第一阶段  (即验证    引导加载程序的完整性)。安全启动验证启动加载程序是否使用  适当的密钥进行签名    ,即使用与固件中存储的密钥信息一致的   密钥    这将防止没有  适当签名的加载程序和驱动程序获得对系统的控制。   引导加载程序  现在可以在加载操作系统内核  之前  验证其数字签名。接下来,内核在启动操作系统    所有其他组件(例如启动驱动程序和可能集成的反恶意软件)之前对其进行验证。  通过在其他驱动程序   之前启动  反恶意软件程序,它随后可以检查所有这些  后续组件,并将  信任链扩展到完全已初始化操作系统。

 下一个问题是:我们怎么   知道是  这种情况?  换句话说,   我们如何知道  系统      确实安全启动  ,并且  我们可以信任  屏幕?这里的诀窍是使用证明,(远程)方可以检测到对我们系统所做的任何更改。远程证明通常使用特殊硬件,例如充当信任根的受信任平台模块 TPM),包括分步验证系统是否加载了正确类型的软件。特别是,TPM 是一个加密硬件模块,支持一系列加密功能、密钥生成  和管理、安全存储(例如,密钥和其他  安全  敏感信息),以及重要的完整性测量。有关进一步讨论,请参阅硬件安全CyBOK知识领域[65]

对于完整性测量,TPM 具有  一组  称为 PCR-0PCR-1  的平台  配置寄存器 . .   在每次引导时  都设置为已知值。  这些寄存器  不是用于直接写入  ,而是  用于扩展。因此  ,如果               PCR-0寄存器的当前值为X,并且我们想用Y扩展它,则TPM计算哈希(XY)并存储  PCR-0 的结果。 现在,如果我们想进一步  扩展它,  比如  使用 Z  TPM 会再次计算 Z   哈希和当前在  PCR-0 中的值,并将结果存储在 PCR-0 中。换句话说,它将计算哈希(Z  哈希XY))。我们现在可以  进一步扩展它  ,并创建一个任意长的哈希链

PCR  中的值可以作为  系统处于可信状态的证据。具体而言,引导系统时执行的第一个代码是固件引导代码,有时称为用于测量的核心信任根CRTM) 或 BIOS 引导块。此代码将通过生成其内容的哈希来测量完整固件,在开始执行之前,它会将其发送到 TPM 以扩展 PCR-0。接下来,现在正在执行的固件将测量启动过程的下一个组件,并在执行   之前再次将值存储在TPM  PCR    (例如,通过扩展PCR-0)。  经过 多个  阶段后, PCR寄存器包含   系统  启动时采取的所有步骤  的哈希链。  远程方    现在  可以通过向  TPM 请求  “报价来验证系统是否安全启动:当前在 PCR  中的  一组 PCR 值的报告  (以及   远程方   提供的随机数),该密钥使用 TPM 的专用证明标识密钥  进行签名  ,该密钥永远不会离开 TPM(并且派生自硬编码    在制造时创建的密钥)。由于公钥  是众所周知  的,因此任何人都可以  验证报价是否来自TPM 收到报价并验证它来自 TPM 并且它是最新的后,远程方知道启动过程只能遵循在 PCR中创建这些哈希的步骤.如果它们对应于已知和受信任代码的哈希值,则远程方知道系统已安全启动。

代码和数据  完整性检查很可能会  在运行时继续进行。例如,虚拟机管理程序可以提供对其  虚拟机  执行自省  的功能:代码是否仍然相同,数据结构是否仍然有意义?此技术称为虚拟机侦测VMI)。 VMI 功能可能驻留在  虚拟机管理程序本身中,尽管它可能位于单独的应用程序中。除了代码之外,VMI解决方案中要检查的常见内容还包括进程列表(是否有任何 rootkit 试图隐藏?)、系统调用表(是否有人劫持特定的系统调用?)、中断向量表等。

异常检测

监视器,无论是在虚拟机管理程序还是在操作系统中,也可用于监视系统的异常事件 - 异常检测。例如,连续崩溃数百次的系统可能会受到试图破坏系统地址空间布局随机化的人的攻击。当然,没有确凿的证据,仅仅因为  发生了异常并不意味着有攻击。异常检测系统必须在引发太多错误警报(处理成本高昂)和引发太(这意味着它错过实际攻击)之间取得平衡。

思维导图下载: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月6日09:50:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   操作系统/虚拟化安全知识域:系统强化之代码和数据完整性检查以及异常检测https://cn-sec.com/archives/1538720.html

发表评论

匿名网友 填写信息