• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 29
    • 下载费用:30 金币  

    重庆时时彩五星杀跨: 用于隔离计算环境的方法和系统.pdf

    关 键 词:
    用于 隔离 计算 环境 方法 系统
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201010262383.1

    申请日:

    2010.08.25

    公开号:

    CN102375947A

    公开日:

    2012.03.14

    当前法律状态:

    撤回

    有效性:

    无权

    法律详情: 发明专利申请公布后的视为撤回IPC(主分类):G06F 21/00申请公布日:20120314|||实质审查的生效IPC(主分类):G06F 21/00申请日:20100825|||公开
    IPC分类号: G06F21/00 主分类号: G06F21/00
    申请人: 伊姆西公司
    发明人: 毛文波; 杨子夜; 张京城; 陈海波; 张逢喆; 臧斌宇
    地址: 美国马萨诸塞州
    优先权: 2010.08.16 CN 201010254194.X
    专利代理机构: 北京鸿元知识产权代理有限公司 11327 代理人: 陈英俊
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201010262383.1

    授权公告号:

    ||||||

    法律状态公告日:

    2016.08.24|||2013.12.18|||2012.03.14

    法律状态类型:

    发明专利申请公布后的视为撤回|||实质审查的生效|||公开

    摘要

    本发明提供了一种利用根信任计算基(RTCB)来对受?;そ痰募扑慊肪辰懈衾氡;さ姆椒?,包括:初始化受?;そ?;对所述受?;そ痰亩扑慊肪辰锌刂?,以防止所述动态计算环境被非法使用;监控内存管理单元(MMU)的使用,对所述受?;そ痰哪诖婵占浣懈衾氡;?;并且监控输入/输出内存管理单元(IOMMU)的使用,对外围设备通过IOMMU进行的与所述受?;そ碳涞慕换ゲ僮鹘锌刂?。利用上述方法,能够在运行受?;そ淌?,针对分配给该受?;そ痰哪诖婵占?,禁止在该受?;そ痰陌踩梦什呗约獾乃衅渌掏ü齅

    权利要求书

    1: 一种利用根信任计算基 (RTCB) 来对受?;そ痰募扑慊肪辰懈衾氡;さ姆椒?, 包括 : 初始化受?;そ?; 对所述受?;そ痰亩扑慊肪辰锌刂?, 以防止所述动态计算环境被非法使用 ; 监控内存管理单元 (MMU) 的使用, 对所述受?;そ痰哪诖婵占浣懈衾氡;?; 并且 监控输入 / 输出内存管理单元 (IOMMU) 的使用, 对外围设备通过 IOMMU 进行的与所述 受?;そ碳涞慕换ゲ僮鹘锌刂?。
    2: 如权利要求 1 所述的方法, 其中, 初始化受?;そ痰牟街杌拱?: 初始化所述受?;そ痰陌踩梦什呗约?, 使得所述安全访问策略集中仅仅包含所述 受?;そ痰纳矸?。
    3: 如权利要求 1 所述的方法, 其中, 控制所述受?;そ痰亩扑慊肪?, 以防止所述 动态计算环境被非法使用的步骤还包括 : 当所述受?;そ桃笤谄浒踩梦什呗约刑砑恿硪黄渌痰纳矸菔?, 将该其它 进程的身份添加到所述受?;そ痰陌踩梦什呗约?, 并且将该其它进程的身份添加到 所述受?;そ趟褂玫哪诖婵占涞陌踩梦什呗约?; 并且 将该其它进程的安全访问策略集以及该其它进程所使用的内存空间的安全访问策略 集设置为与所述受?;そ痰陌踩梦什呗约嗤?。
    4: 如权利要求 1 所述的方法, 其中, 监控内存管理单元 (MMU) 的使用, 对所述受?;そ?程的内存空间进行隔离?;さ牟街杌拱?: 当任意一个进程要求分配一个新内存空间时, 仅仅为该进程分配一个未拥有安全访问 策略集的新内存空间。
    5: 如权利要求 4 所述的方法, 还包括 : 当该任意进程是受?;そ淌?, 将该新内存空间的安全访问策略集设置为作为受?;?进程的该任意进程的安全访问策略集 ; 撤销其它进程通过 MMU 访问该受?;そ趟褂玫哪诖婵占涞娜ㄏ?; 并且 通知 IOMMU 不允许任意外围设备访问该受?;そ痰哪诖婵占?。
    6: 如权利要求 1 所述的方法, 其中, 监控内存管理单元 (MMU) 的使用, 对所述受?;そ?程的内存空间进行隔离?;さ牟街杌拱?: 当所述受?;そ桃笫头乓桓瞿诖婵占涫?, 将所述受?;そ痰纳矸荽痈媚诖婵占涞陌踩梦什呗约猩境?; 当该内存空间的安全访问策略集为空时, 擦除该内存空间中记录的所有信息 ; 并且 清除该内存空间的安全访问策略集。
    7: 如权利要求 6 所述的方法, 还包括 : 当所述受?;そ趟头诺哪诖婵占涫瞧渌褂玫淖詈笠桓瞿诖婵占涫?, 清除所述受 ?;そ痰陌踩梦什呗约?, 并且终止所述受?;そ?。
    8: 如权利要求 1 所述的方法, 其中, 监控内存管理单元 (MMU) 的使用, 对所述受?;そ?程的内存空间进行隔离?;さ牟街杌拱?: 禁止该其它进程装载该?;そ痰?MMU 表。
    9: 如权利要求 8 所述的方法, 还包括 : 2 当该其它进程是内核, 且该受?;そ滔萑敫闷渌淌?, 为该其它进程装载只含有 内核内存信息的伪 MMU 表。
    10: 如权利要求 1 所述的方法, 其中, 监控内存管理单元 (MMU) 的使用, 对所述受?;そ?程的内存空间进行隔离?;さ牟街杌拱?: 如果当前处理的其它进程是一个受?;そ?, 且该其它进程的身份在所述受?;そ?的内存空间的安全访问策略集中, 则允许该当前处理的其它进程通过 MMU 访问所述受?;?进程的内存空间 ; 否则, 阻止该当前处理的其它进程通过 MMU 访问所述受?;そ痰哪诖婵占?。
    11: 如权利要求 1 所述的方法, 其中, 使用输入 / 输出内存管理单元 (IOMMU) 来对任意 外围设备通过 IOMMU 进行的与所述受?;そ碳涞慕换ゲ僮鹘锌刂瓢?: 禁止任意外围设备通过 IOMMU 来访问所述受?;そ痰募扑慊肪车哪诖婵占?; 以及 在所述受?;そ绦枰胪馕璞附?IO 交互时, 允许该外围设备使用 IOMMU 表来协 作所述受?;そ掏瓿?IO 操作。
    12: 如权利要求 11 所述的方法, 其中, 禁止所有外围设备通过 IOMMU 来访问所述受?;?进程的计算环境的内存空间的步骤还包括 : 当利用 MMU 为所述受?;そ坛晒Ψ峙湟桓瞿诖婵占浜?, 通知 IOMMU 更新任意外围设 备的 IOMMU 表, 以撤销并永久禁止任意外围设备通过 IOMMU 表访问所述受?;そ绦路峙?的内存空间的权限。
    13: 如权利要求 11 所述的方法, 其中, 在所述受?;そ绦枰胪馕璞附?IO 交互 时, 允许该外围设备使用 IOMMU 表来协作所述受?;そ掏瓿?IO 操作的步骤还包括 : 在所述受?;そ绦枰畔⒋油馕璞甘淙胫粮檬鼙;そ痰募扑慊肪车哪诖婵?间时, 将该外围设备输入的信息存储在与该外围设备对应且在 IOMMU 表中设置的 IO 缓存区 中; 利用该受?;そ痰拿茉坎呗约猩柚玫拿茉?, 对在该所述 IO 缓存区中缓存的信息 进行输入型密码转换 ; 以及 将经过输入型密码转换后的信息存储在所述受?;そ趟褂玫哪诖婵占涞氖淙牖?存区中, 以供所述受?;そ淌褂?。
    14: 如权利要求 11 所述的方法, 其中, 在所述受?;そ绦枰胪馕璞附?IO 交互 时, 允许该外围设备使用 IOMMU 表来协作所述受?;そ掏瓿?IO 操作的步骤还包括 : 在该受?;そ绦枰蛲馕璞甘涑鲂畔⑹?, 利用该受?;そ痰拿苈氩呗约猩柚玫拿茉?, 对所述受?;そ趟涑龅男畔⒔?行输出型密码转换 ; 将经过输出型密码转换后的信息存储在与该外围设备对应且在 IOMMU 表中设置的 IO 缓存区中 ; 将存储在所述 IO 缓存区中的内容信息输出到该外围设备。
    15: 如权利要求 13 或 14 所述的方法, 其中, 所述在该受?;そ痰拿苈氩呗约猩柚?的密钥是进程密钥或系统密钥。
    16: 一种利用根信任计算基 (RTCB) 来对受?;そ痰募扑慊肪辰懈衾氡;さ南低?, 3 包括 : 初始化单元, 用于初始化受?;そ痰陌踩梦什呗约?, 使得该安全访问策略集仅仅 包含该受?;そ痰纳矸?; 动态计算环境?;さピ?, 用于对所述受?;そ痰亩扑慊肪辰锌刂?, 以防止所 述动态计算环境被非法使用 ; 内存管理单元 (MMU) 监控单元, 用于监控 MMU 的使用, 对所述受?;そ痰哪诖婵占浣?行隔离?;?; 以及 输入输出内存管理单元 (IOMMU) 监控单元, 用于监控 IOMMU 的使用, 对外围设备通过 IOMMU 进行的与所述受?;そ碳涞慕换ゲ僮鹘锌刂?。
    17: 如权利要求 16 所述的系统, 其中, 所述动态计算环境?;さピ拱?: 安全访问策略集添加单元, 用于当所述受?;そ桃笤谄浒踩梦什呗约刑砑恿?一其它进程的身份时, 将该其它进程的身份添加到所述受?;そ痰陌踩梦什呗约?, 并且将该其它进程的身份添加到所述受?;そ趟褂玫哪诖婵占涞陌踩梦什呗约?; 以及 安全访问策略集设置单元, 用于将该其它进程的安全访问策略集以及该其它进程所使 用的内存空间的安全访问策略集设置为与所述受?;そ痰陌踩梦什呗约嗤?。
    18: 如权利要求 16 所述的系统, 其中, 所述 MMU 监控单元还包括 : 内存空间分配单元, 用于当任意一个进程要求分配一个新内存空间时, 仅仅为该进程 分配一个未拥有安全访问策略集的新内存空间 ; 以及 内存空间删除单元, 用于当所述受?;そ桃笊境桓瞿诖婵占涫?, 删除该内存空 间。
    19: 如权利要求 18 所述的系统, 其中, 所述内存空间分配单元还包括 : 安全访问策略集设置单元, 用于在该任意进程是受?;そ淌?, 将该新内存空间的安 全访问策略集设置为作为受?;そ痰母萌我饨痰陌踩梦什呗约?; 撤销单元, 用于撤销其它进程通过 MMU 访问该受?;そ趟褂玫哪诖婵占涞娜ㄏ?; 以及 通知单元, 用于通知 IOMMU 不允许任意外围设备访问该受?;そ痰哪诖婵占?。
    20: 如权利要求 1 所述的系统, 其中, 所述内存空间删除单元还包括 : 身份删除单元, 用于当所述受?;そ桃笫头乓桓瞿诖婵占涫?, 将所述受?;そ?的身份从该内存空间的安全访问策略集中删除 ; 信息擦除单元, 用于当该内存空间的安全访问策略集为空时, 擦除该内存空间中记录 的所有信息 ; 以及 安全访问策略集清除单元, 用于清除该内存空间的安全访问策略集。
    21: 如权利要求 20 所述的系统, 其中, 当所述受?;そ趟头诺哪诖婵占涫瞧渌?用的最后一个内存空间时, 所述安全访问策略集清除单元清除所述受?;そ痰陌踩梦?策略集, 并且, 所述系统还包括 : 终止单元, 用于终止所述受?;そ?。
    22: 如权利要求 16 所述的系统, 其中, 所述 MMU 监控单元还包括 : MMU 表装载禁止单元, 用于禁止该其它进程装载该受?;そ痰?MMU 表。 4
    23: 如权利要求 22 所述的系统, 其中, 所述 MMU 监控单元还包括 : 伪 MMU 表装载单元, 用于当该其它进程是内核, 且该受?;そ滔萑敫闷渌淌?, 为 该其它进程装载只含有内核内存信息的伪 MMU 表。
    24: 如权利要求 16 所述的系统, 其中, 所述 MMU 监控单元还包括 : MMU 访问控制单元, 用于如果当前处理的其它进程是一个受?;そ?, 且该其它进程在 所述受?;そ痰哪诖婵占涞陌踩梦什呗约?, 则允许该当前处理的其它进程通过 MMU 访问所述受?;そ痰哪诖婵占?; 否则, 阻止该当前处理的其它进程通过 MMU 访问所述受 ?;そ痰哪诖婵占?。
    25: 如权利要求 16 所述的系统, 其中, 所述 IOMMU 监控单元包括 : 内存空间访问禁止单元, 用于禁止任意外围设备通过 IOMMU 来访问所述受?;そ痰?计算环境的内存空间 ; 以及 IO 交互处理单元, 用于在所述受?;そ绦枰胪馕璞附?IO 交互时, 允许该外围 设备使用 IOMMU 表来协作所述受?;そ掏瓿?IO 操作。
    26: 如权利要求 25 所述的系统, 其中, IO 交互处理单元还包括 : 输入 / 输出型密码转换单元, 用于对要向外围设备写入或从外围设备读取的信息进行 输出 / 输入型密码转换 ; IO 缓存区, 用于存储要向外围设备写入或从外围设备读取的信息, 并将信息写入到外 围设备或从外围设备读取, 其中, 在向外围设备写入信息时, 利用在该受?;そ痰拿茉坎呗约猩柚玫拿茉?, 对 所述受?;そ桃涑龅酵馕璞傅男畔⒔惺涑鲂兔苈胱?; 将经过输出型密码转换后 的信息存储在与该外围设备对应且在 IOMMU 表中设置的 IO 缓存区中, 以及将存储在所述 IO 缓存区中的信息输出到该外围设备, 以及 在从外围设备读取信息时, 将通过该外部 IO 设备读取的信息存储在与该外围设备对 应且在 IOMMU 表中设置的 IO 缓存区中 ; 利用与在该受?;そ痰拿茉坎呗约猩柚玫拿?钥, 对在所述 IO 缓存区中缓存的信息进行输入型密码转换 ; 以及将经过输入型密码转换后 的信息存储在所述受?;そ痰氖淙牖捍媲?, 以供所述受?;そ淌褂?。
    27: 如权利要求 26 所述的系统, 其中, 所述在该受?;そ痰拿苈氩呗约猩柚玫拿?钥是进程密钥或系统密钥。

    说明书


    用于隔离计算环境的方法和系统

        技术领域 本发明涉及计算环境的安全领域, 更具体地, 涉及用于隔离计算环境以?;ぴ诟?被隔离的计算环境中执行的软件应用的方法和系统。
         背景技术 当前, 众所周知, 在计算环境中通常保存有大量明文形式的软件代码和数据。 为了 防止被以任何未授权的形式访问而导致执行完整性和 / 或数据机密性受到破坏, 一些软件 代码和数据需要在隔离的安全计算环境中运行。 强隔离是备用设备服务配置平台的重要安 全要求, 所述备用设备服务配置平台比如是云计算中的服务器。
         虚拟机 (VM) 已经作为隔离平台被广泛应用, 在应用中通过各个虚拟机之间的自 然分离来提供安全隔离。在 Amazon Web Services(AWS) 中, EC2 机器实例 (AMI) 是一个虚 拟机, AWS 强烈推荐用户使用强认证手段来访问该虚拟机。然而, 因为操作系统 (OS) 本身 可以被利用为攻击源, 在这种情况下, 例如通过外围设备的直接 IO 访问, 就可以很容易击
         破这种隔离, 所以这种所谓的虚拟机之间的隔离并不能形成真正的安全隔离。
         在现有的研究中, 一些研究人员提出了平台安全的虚拟化方法。例如, 在 X.Chen, T.Garfinkel, E.C.Lewis, P.Subrahmanyam, C.A.Waldspurger, D.Boneh, J.Dwoskin, 和 D.R.Ports 发 表 的 “Overshadow : a virtualization-basedapproach to retrofitting protection in commodity operating systems” 中, 论述了通过遮蔽 (overshadow)CPU 虚 拟化技术来控制内存管理单元 (MMU), 从而甚至在服务于应用的 OS 内核时, 也能够实现进 程间的隔离。 这种实现进程隔离的方式的原理在于, 用于 CPU 虚拟化的虚拟机监控器 (VMM) 或系统管理程序是计算平台中权限最高的软件, 它们可以在服务于应用的 OS 内核的任何 其它进程之间进行干预, 从而实现进程间的隔离。
         然而, 在上述 Overshadow 的实现方法中, 对于传送在不同平台上的计算的 IO 设 备, 该虚拟机监控器不能简单地确定将遮蔽内存页用于外部通信。
         另外, 输入 / 输出设备可以通过独立连接和来自 CPU 的异步控制访问主内存。在 处理器制造商设计出输入 / 输出 MMU(IOMMU) 之前, 这些输入 / 输出设备可以相当自由地访 问内存。业界已经认识到如果不对输入 / 输出设备访问内存加以管理, 则可能给服务器虚 拟化带来严重威胁。 例如, 设备驱动器的软件错误, 可能导致服务器和它服务的所有应用的 瘫痪。
         在一些现有技术方案中, IO 处理器制造商把所有 IO 设备重新连接到北桥的 IOMMU。该重新连接使得 CPU 能够控制内存位置, 设备通过策略访问这个内存位置。例如, Intel 公司的方案是对虚拟机监控器中的 IOMMU 表进行编程, 以确定内存中的某个位置是 否可以让设备访问。也有其它方案是禁止 IO 设备访问内核所在的内存位置。然而, 这些 IO 禁用方法不能应用于应用软件, 因为应用软件具有需要由设备输入 / 输出的数据, 该输入 / 输出是直接的, 并且不能被简单地禁止。发明内容 鉴于上述问题, 本发明的目的是提供一种利用 RTCB 来对受?;そ痰募扑慊肪?进行隔离?;さ姆椒ê拖低?, 其能够在运行受?;そ淌?, 针对分配给该受?;そ痰哪?存空间, 撤销分配有该内存空间且在该受?;そ痰陌踩滩呗灾獾乃衅渌谭?问该内存空间的权限和 / 或禁止任意 IO 设备访问该内存空间, 从而真正的安全隔离。
         根据本发明的一个方面, 提供一种利用根信任计算基 (RTCB) 来对受?;そ痰?计算环境进行隔离?;さ姆椒?, 包括 : 初始化受?;そ?; 对所述受?;そ痰亩扑?环境进行控制, 以防止所述动态计算环境被非法使用 ; 监控内存管理单元 (MMU) 的使用, 对 所述受?;そ痰哪诖婵占浣懈衾氡;?; 并且监控输入 / 输出内存管理单元 (IOMMU) 的 使用, 对外围设备通过 IOMMU 进行的与所述受?;そ碳涞慕换ゲ僮鹘锌刂?。
         此外, 在一个或多个实施例中, 初始化受?;そ痰牟街杌箍梢园ǔ跏蓟?受?;そ痰陌踩梦什呗约?, 使得所述安全访问策略集中仅仅包含所述受?;そ痰纳?份。
         此外, 在一个或多个实施例中, 控制所述受?;そ痰亩扑慊肪骋苑乐顾?动态计算环境被非法使用的步骤还可以包括 : 当所述受?;そ桃笤谄浒踩梦什呗约?中添加另一其它进程的身份时, 将该其它进程的身份添加到所述受?;そ痰陌踩梦什?略集中, 并且将该其它进程的身份添加到所述受?;そ趟褂玫哪诖婵占涞陌踩梦什?略集中 ; 并且将该其它进程的安全访问策略集以及该其它进程所使用的内存空间的安全访 问策略集设置为与所述受?;そ痰陌踩梦什呗约嗤?。
         此外, 在一个或多个实施例中, 监控内存管理单元 (MMU) 的使用对所述受?;そ?程的内存空间进行隔离?;さ牟街杌箍梢园?: 当任意一个进程要求分配一个新内存空间 时, 仅仅为该进程分配一个未拥有安全访问策略集的新内存空间。
         此外, 优选地, 在一个或多个实施例中, 当该任意进程是受?;そ淌?, 所述方法 还可以包括将该新内存空间的安全访问策略集设置为作为受?;そ痰母萌我饨痰陌?全访问策略集 ; 撤销其它进程通过 MMU 访问该受?;そ趟褂玫哪诖婵占涞娜ㄏ?; 并且 通知 IOMMU 不允许任意外围设备访问该受?;そ痰哪诖婵占?。
         此外, 在一个或多个实施例中, 监控内存管理单元 (MMU) 的使用, 对所述受?;そ?程的内存空间进行隔离?;さ牟街杌箍梢园?: 当所述受?;そ桃笫头乓桓瞿诖婵占?时, 将所述受?;そ痰纳矸荽痈媚诖婵占涞陌踩梦什呗约猩境?; 当该内存空间的安 全访问策略集为空时, 擦除该内存空间中记录的所有信息 ; 并且清除该内存空间的安全访 问策略集。
         此外, 在一个或多个实施例中, 监控内存管理单元 (MMU) 的使用, 对所述受?;そ?程的内存空间进行隔离?;さ牟街杌箍梢园?: 当所述受?;そ趟头诺哪诖婵占涫瞧?所使用的最后一个内存空间时, 还可以清除所述受?;そ痰陌踩梦什呗约?, 并且终止 所述受?;そ?。
         此外, 在一个或多个实施例中, 监控内存管理单元 (MMU) 的使用, 对所述受?;そ?程的内存空间进行隔离?;さ牟街杌箍梢园ń垢闷渌套霸馗帽;そ痰?MMU 表。
         此外, 在一个或多个实施例中, 监控内存管理单元 (MMU) 的使用, 对所述受?;そ?程的内存空间进行隔离?;さ牟街杌箍梢园ǖ备闷渌淌悄诤?, 且该受?;そ滔萑?br>     该其它进程时, 为该其它进程装载只含有内核内存信息的伪 MMU 表。
         此外, 在一个或多个实施例中, 监控内存管理单元 (MMU) 的使用, 对所述受?;そ?程的内存空间进行隔离?;さ牟街杌箍梢园?: 如果当前处理的其它进程是一个受?;そ?程, 且该其它进程在所述受?;そ痰哪诖婵占涞陌踩梦什呗约?, 则允许该当前处理 的其它进程通过 MMU 访问所述受?;そ痰哪诖婵占?; 否则, 阻止该当前处理的其它进程 通过 MMU 访问所述受?;そ痰哪诖婵占?。
         此外, 在一个或多个实施例中, 使用输入 / 输出内存管理单元 (IOMMU) 来对任意外 围设备通过 IOMMU 进行的与所述受?;そ碳涞慕换ゲ僮鹘锌刂频牟街杩梢园?: 禁止 任意外围设备通过 IOMMU 来访问所述受?;そ痰募扑慊肪车哪诖婵占?; 以及在所述受保 护进程需要与外围设备进行 IO 交互时, 允许该外围设备使用 IOMMU 表来协作所述受?;そ?程完成 IO 操作。
         此外, 在一个或多个实施例中, 禁止所有外围设备通过 IOMMU 来访问所述受?;?进程的计算环境的内存空间的步骤还可以包括 : 当利用 MMU 为所述受?;そ坛晒Ψ峙湟?个内存空间后, 通知 IOMMU 更新任意外围设备的 IOMMU 表, 以撤销并永久禁止任意外围设备 通过 IOMMU 表访问所述受?;そ绦路峙涞哪诖婵占涞娜ㄏ?。 此外, 在一个或多个实施例中, 在所述受?;そ绦枰胪馕璞附?IO 交互 时, 允许该外围设备使用 IOMMU 表来协作所述受?;そ掏瓿?IO 操作的步骤还可以包括 : 在所述受?;そ绦枰畔⒋油馕璞甘淙胫粮檬鼙;そ痰募扑慊肪车哪诖婵占涫?, 将该外围设备输入的信息存储在与该外围设备对应且在 IOMMU 表中设置的 IO 缓存区中 ; 利 用该受?;そ痰拿茉坎呗约猩柚玫拿茉?, 对在该所述 IO 缓存区中缓存的信息进行输 入型密码转换 ; 以及将经过输入型密码转换后的信息存储在所述受?;そ痰氖淙牖捍媲?中, 以供所述受?;そ淌褂?。
         此外, 在一个或多个实施例中, 在所述受?;そ绦枰胪馕璞附?IO 交互 时, 允许该外围设备使用 IOMMU 表来协作所述受?;そ掏瓿?IO 操作的步骤还可以包括 : 在该受?;そ绦枰蛲馕璞甘涑鲂畔⑹?, 利用该受?;そ痰拿苈氩呗约猩柚玫拿?钥, 对所述受?;そ趟涑龅男畔⒔惺涑鲂兔苈胱?; 将经过输出型密码转换后的 信息存储在与该外围设备对应且在 IOMMU 表中设置的 IO 缓存区中 ; 将存储在所述 IO 缓存 区中的内容信息输出到该外围设备。
         此外, 所述在该受?;そ痰拿苈氩呗约猩柚玫拿茉渴墙堂茉炕蛳低趁茉?。
         根据本发明的另一方面, 提供了一种利用根信任计算基 (RTCB) 来对受?;そ?的计算环境进行隔离?;さ南低?, 包括 : 初始化单元, 用于初始化受?;そ痰陌踩梦什?略集, 使得该安全访问策略集仅仅包含该受?;そ痰纳矸?; 动态计算环境?;さピ?, 用于 对所述受?;そ痰亩扑慊肪辰锌刂?, 以防止所述动态计算环境被非法使用 ; 内存 管理单元 (MMU) 监控单元, 用于监控 MMU 的使用, 对所述受?;そ痰哪诖婵占浣懈衾氡?护; 以及输入输出内存管理单元 (IOMMU) 监控单元, 用于监控 IOMMU 的使用, 对外围设备通 过 IOMMU 进行的与所述受?;そ碳涞慕换ゲ僮鹘锌刂?。
         此外, 所述动态计算环境?;さピ箍梢园?: 安全访问策略集添加单元, 用于当 所述受?;そ桃笤谄浒踩梦什呗约刑砑恿硪黄渌痰纳矸菔?, 将该其它进程的 身份添加到所述受?;そ痰陌踩梦什呗约?, 并且将该其它进程的身份添加到所述受
         ?;そ趟褂玫哪诖婵占涞陌踩梦什呗约?; 以及安全访问策略集设置单元, 用于将 该其它进程的安全访问策略集以及该其它进程所使用的内存空间的安全访问策略集设置 为与所述受?;そ痰陌踩梦什呗约嗤?。
         此外, 所述 MMU 监控单元还可以包括内存空间分配单元, 用于当任意一个进程要 求分配一个新内存空间时, 仅仅为该进程分配一个未拥有安全访问策略集的新内存空间 ; 以及内存空间删除单元, 用于当所述受?;そ桃笊境桓瞿诖婵占涫?, 删除该内存空 间。
         此外, 所述内存空间分配单元还可以包括 : 安全访问策略集设置单元, 用于在该任 意进程是受?;そ淌?, 将该新内存空间的安全访问策略集设置为作为受?;そ痰母萌?意进程的安全访问策略集 ; 撤销单元, 用于撤销其它进程通过 MMU 访问该受?;そ趟?用的内存空间的权限 ; 以及通知单元, 用于通知 IOMMU 不允许任意外围设备访问该受?;?进程的内存空间。
         此外, 所述内存空间删除单元还可以包括身份删除单元, 用于当所述受?;そ?要求释放一个内存空间时, 将所述受?;そ痰纳矸荽痈媚诖婵占涞陌踩梦什呗约猩?除; 信息擦除单元, 用于当该内存空间的安全访问策略集为空时, 擦除该内存空间中记录的 所有信息 ; 以及安全访问策略集清除单元, 用于清除该内存空间的安全访问策略集。
         此外, 当所述受?;そ趟头诺哪诖婵占涫瞧渌褂玫淖詈笠桓瞿诖婵占涫?, 所述安全访问策略集清除单元清除所述受?;そ痰陌踩梦什呗约?。在这种情形下, 所 述系统还可以包括终止单元, 用于终止所述受?;そ?。
         此外, 所述 MMU 监控单元还可以包括 MMU 表装载禁止单元, 用于禁止该其它进程装 载该受?;そ痰?MMU 表。
         此外, 优选地, 所述 MMU 监控单元还可以包括伪 MMU 表装载单元, 用于当该其它进 程是内核, 且该受?;そ滔萑敫闷渌淌?, 为该其它进程装载只含有内核内存信息的 伪 MMU 表。
         此外, 所述 MMU 监控单元还可以包括 MMU 访问控制单元, 用于如果当前处理的其 它进程是一个受?;そ?, 且该其它进程在所述受?;そ痰哪诖婵占涞陌踩梦什呗约?中, 则允许该当前处理的其它进程通过 MMU 访问所述受?;そ痰哪诖婵占?; 否则, 阻止该 当前处理的其它进程通过 MMU 访问所述受?;そ痰哪诖婵占?。
         此外, 所述 IOMMU 监控单元可以包括内存空间访问禁止单元, 用于禁止任意外围 设备通过 IOMMU 来访问所述受?;そ痰募扑慊肪车哪诖婵占?; 以及 IO 交互处理单元, 用 于在所述受?;そ绦枰胪馕璞附?IO 交互时, 允许该外围设备使用 IOMMU 表来协作 所述受?;そ掏瓿?IO 操作。
         此外, 优选地, IO 交互处理单元还可以包括 : 输入 / 输出型密码转换单元, 用于对 要向外围设备写入或从外围设备读取的信息进行输出 / 输入型密码转换 ; 以及 IO 缓存区, 用于存储要向外围设备写入或从外围设备读取的信息, 并将信息写入到外围设备或从外围 设备读取, 其中, 在向外围设备写入信息时, 利用在该受?;そ痰拿茉坎呗约猩柚玫拿?钥, 对所述受?;そ桃涑龅酵馕璞傅男畔⒔惺涑鲂兔苈胱?; 将经过输出型密码 转换后的信息存储在与该外围设备对应且在 IOMMU 表中设置的 IO 缓存区中, 以及将存储 在所述 IO 缓存区中的信息输出到该外围设备, 以及在从外围设备读取信息时, 将通过该外部 IO 设备读取的信息存储在与该外围设备对应且在 IOMMU 表中设置的 IO 缓存区中 ; 利用 与在该受?;そ痰拿茉坎呗约猩柚玫拿茉?, 对在所述 IO 缓存区中缓存的信息进行输 入型密码转换 ; 以及将经过输入型密码转换后的信息存储在所述受?;そ痰氖淙牖捍媲?中, 以供所述受?;そ淌褂?。
         此外, 所述在该受?;そ痰拿苈氩呗约猩柚玫拿茉渴墙堂茉炕蛳低趁茉?。
         为了实现上述以及相关目的, 本发明的一个或多个方面包括后面将详细说明并在 权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。 然而, 这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。 此外, 本发明 旨在包括所有这些方面以及它们的等同物。 附图说明
         通过参考以下结合附图的说明及权利要求书的内容, 并且随着对本发明的更全面 理解, 本发明的其它目的及结果将更加明白及易于理解。在附图中 :
         图 1 是根据本发明实施例的利用 RTCB 对受?;そ碳扑慊肪辰懈衾氡;さ姆?法的总体流程图 ; 图 2 示出了根据本发明实施例的向受?;そ痰陌踩梦什呗约刑砑恿硪唤?程的身份的过程的流程图 ;
         图 3 示出了根据本发明实施例的任意一个进程要求分配新内存空间时 MMU 监控单 元进行的处理的过程的流程图 ;
         图 4 示出了根据本发明实施例的释放受?;そ淌褂玫哪诖婵占涞墓痰牧鞒?图;
         图 5 示出了根据本发明实施例的 MMU 监控单元对其它进程进行的关于 MMU 表的操 作的过程的流程图 ;
         图 6 示出了根据本发明实施例的在其它进程访问受?;そ痰哪诖婵占涫?MMU 监 控单元进行的操作的过程的流程图 ;
         图 7 示出了根据本发明实施例的使用 IOMMU 来对外围设备与所述受?;そ碳浣?互进程控制的过程的流程图 ;
         图 8 示出了根据本发明实施例的在需要与外围设备进行 IO 交互时进行输入输出 控制的过程的一个示例的流程图 ;
         图 9 示出根据本发明实施例的利用 RTCB 对受?;そ痰募扑慊肪辰懈衾氡;?的系统的方框示意图 ;
         图 10 示出了根据本发明实施例的动态计算环境?;さピ姆娇蚴疽馔?;
         图 11 示出了根据本发明实施例的 MMU 监控单元的方框示意图 ;
         图 12 示出了根据本发明实施例的 IOMMU 监控单元的方框示意图 ;
         图 13 是根据本发明实施例的图 12 中示出的 IOMMU 监控单元中的 IO 交互处理单 元的方框示意图。
         在所有附图中相同的标号指示相似或相应的特征或功能。
         具体实施方式首先介绍一下根据本发明的计算环境, 根据本发明的计算环境通常包括具有开放 架构的计算硬件 ( 例如但不限于, Intel X86 架构 ) 和软件栈。
         通常, 所述硬件架构包括信任平台???(TPM)、 程序控制单元 (PCU)、 内存管理单 元 (MMU) 和输入 / 输出内存管理单元 (IOMMU)。
         在启动计算平台的软件栈时, 该信任平台??榭梢圆饬扛湃渭扑慊?(RTCB, Root Trusted Computing Base), 并且将测量结果存储到信任平台??橹?, 以供将来验证。信任 平台??椴饬?、 存储和验证 RTCB 的方法和装置是本领域的常规技术, 这里不再描述。例如, 参见本申请人提交的美国专利申请 ( 代理案卷号为 EMC08-17(08182))。
         程序控制单元 (PCU) 包括一个或多个中央处理单元 (CPU) 和一系列微指令。程序 控制单元可以根据程序代码的指令在所述平台上执行所述程序代码。
         内存管理单元 (MMU) 用于在运行进程时进行物理内存访问管理。如果启动一个进 程 P, 则内存管理单元使得程序控制单元能够利用内存管理单元表 (MMU 表 ) 中存储的地址 信息来访问物理内存位置。输入 / 输出内存管理单元 (IOMMU) 使得输入 / 输出设备能够利 用输入 / 输出内存管理单元表 (IOMMU 表 ) 中存储的地址信息访问物理内存位置。
         所述计算环境中的软件栈通常包括根信任计算基 (RTCB)、 内存管理单元表 (MMU 表 )、 输入 / 输出内存管理单元表 (IOMMU 表 )、 输入 / 输出缓存区 (IOB)、 密钥缓存区 (KB)、 受?;そ?(PP) 和安全访问策略集 (AP)。 根信任计算基 (RTCB) 是计算平台上的整个软件包中权限最大的软件栈, 它直接 在硬件上执行, 能够拦截程序控制并执行各个?;げ街?。
         对于每个进程 P, RTCB 可以维护一个内存管理单元表 (MMU 表 ), 它的数据结构通 常是 P.MT = (P.MT.Self, P.MT.Others)。在程序控制单元执行进程 P 时, 根信任计算基授 权进程 P 独占使用内存管理单元表来访问内存位置。该内存位置在 P.MT 中以如下方式设 定: P.MT.Self 指向进程 P 的代码和数据, 而 P.MT.Others 指向不属于进程 P 的其它进程的 代码和数据。
         对于每个具有内存访问功能的 IO 设备 D, RTCB 还可以维护一个输入 / 输出内存管 理单元表 (IOMMU 表 ), 该 IOMMU 表被表示为 D.IOT。在给定时间间隔内, RTCB 授权 IO 设备 D 独占使用输入 / 输出内存管理单元表来访问内存位置, 该内存位置在 D.IOT 中设定。
         对于每个输入 / 输出设备 D, RTCB 还可以维护一个输入 / 输出缓存区 (IOB), 该缓 存区中存储有多个内存页。在受?;そ?PP 进行输入输出操作时使用这个缓存区, 它被标 记为 D.IOB。D.IOB 的物理地址存储在 D.IOT 中。D.IOB 可以由 RTCB 或 IO 设备 D 更新。
         对于每个受?;そ?PP, RTCB 可以维护密钥缓存区 (KB), 该密钥缓存区用于保存 PP.KB.Sys 和 PP.KB.self。PP.KB.Sys 保存由 RTCB 控制并使用的密钥, 即 RTCB 用来对数据 进行加密的系统密钥。在第一次运行进程时, PP.KB.Sys 可以随机生成, 而在多次运行时, 该 PP.KB.Sys 不是随机生成的, 而是从已有的文件加载的。PP.KB.self 是进程密钥, RTCB 一般把这个密钥设成空值, 这意味着如果用 PP.KB.self 这个密钥, 不对受?;そ?PP 的输 入输出做任何?;?。
         受?;そ?(PP) 是请求 RTCB 隔离?;さ娜砑τ?。 对于每个受?;そ?PP, RTCB 会给 PP 分配一个安全访问策略集 AP, 在该安全访问策略集 AP 中存储进程的身份。在其身 份在同一个 “安全访问策略集” 中的进程, 具有可以共享内存空间的属性。RTCB 可维护多
         个安全访问策略集。一般这个安全访问策略集可以分为这两种 : (1) 每个受?;そ逃涤?RTCB 设置的唯一的 “安全访问策略集” ; (2) 根据进程的父子关系, 设置相应的 “安全访问策 略集” 。 其中, 在策略 (2) 中, 例如, 如果一个?;そ?PP 复制了一个子进程 PP, 则该子进程 PP 属于父进程 PP 所在的安全访问策略集。
         现在参照附图描述各个实施例, 其中在整个附图中, 相同的参考标记被用来指代 相同元件。在下面的描述中, 出于说明的目的, 为了提供对一个或多个实施例的全面理解, 阐述了许多具体细节。然而, 很明显, 也可以在没有这些具体细节的情况下实现这些实施 例。 在其它例子中, 为了便于描述一个或多个实施例, 公知的结构和设备以方框图的形式示 出。
         图 1 示出了根据本发明实施例的利用 RTCB 为受?;そ痰募扑慊肪辰谈衾氡?护的方法的总体流程图。
         如图 1 所示, 首先, 在步骤 S110 中, 初始化受?;そ?。例如, 初始化所述受?;?进程的安全访问策略集, 使得所述安全访问策略集中仅仅包含所述受?;そ痰纳矸?。这 里, 所述身份例如可以是用于唯一标识该进程的进程标识符或者其它标识。具体地, 在输 入一个进程后, 如果希望该进程是受?;そ?, 则需要利用 RTCB 来将该进程创建为受?;?进程 PP。然后, RTCB 为该受?;そ谭峙湟桓霭踩梦什呗约?。此外, 根据该安全访问策 略集, RTCB 为该进程创建该安全访问策略集的标识符 (GID)。此外, 对于内存空间, 例如每 个内存页, RTCB 还维护以下两种属性 : PAGE_OWNER 以及 REFFERENCE_COUNT。其中, PAGE_ OWNER 表明该内存页属于哪个安全访问策略集, 该 PAGE_OWNER 的值是该安全访问策略集的 标识符 GID, 其缺省值例如为 -1。而 REFFERENCE_COUNT 表明该内存页被安全访问策略集中 的进程引用的次数, 其缺省值是 0。 此外, RTCB 还根据该受?;そ?PP 的定义, 分别设置 MMU 表、 密钥缓存区 KB 和 该安全访问策略集的安全访问策略 AP 中与该受?;そ?PP 对应的代码、 数据和数据结 构, 例如, 生成与该受?;そ?PP 对应的 MMU 表中的数据结构 PP.MT, 其中, PP.MT = (PP. MT.Self, PP.MT.Others), PP.MT.Self 指向受?;そ?PP 的代码和数据, 而 PP.MT.Others 指向不在受?;そ?PP 的安全访问策略集中的其它进程的代码和数据。此时, RTCB 为该 进程分配一个唯一的进程标识符 PID, 保存该进程 PP 的 MMU 表的真实基地址 REAL_CR3, 并 且给每个 PP 创建一个假的 MMU 表 shadow_CR3, 该假的 MMU 表 shadow_CR3 中只存储由服务 于该 PP 的内核部分的内存页映射。
         结果是, 利用 RTCB 记录了受?;そ?PP 的以下相关信息 : (1) 受?;そ?PP 的 ID, 它主要是利用受?;そ?PP 的 MMU 表的基地址来标识 ; (2) 受?;そ?PP 的系统密钥, 即, 上述 RTCB 维护的 PP.KB.Sys 中的密钥信息。这个密钥信息在受?;そ?PP 第一次运 行时可以随机产生, 而在该受?;そ潭啻卧诵惺?, 是从一个已知文件中加载的, 以保证受 ?;そ?PP 能够透明地正常运行 ; (3) 受?;そ?PP 的安全访问策略集 ; (4) 受?;そ?PP 占用的内存空间, 例如占用了多少内存页, 它由一个字段表示。
         其中, 安全访问策略集的定义是可配置的, 其通常采用下面的两种策略 : (1) 每个 PP 属于一个单独的安全访问策略集 ; (2) 根据进程的父子关系, 将父进程 PP 的安全访问策 略集确定为是子进程 PP 的安全访问策略集。例如, 如果一个进程 PP 复制了一个子进程, 则 该父进程 PP 的安全访问策略集是所复制出的子进程的安全访问策略集。
         然后, 在步骤 S120 中, 利用安全访问策略集来对所述受?;そ痰亩扑慊肪?进行控制, 以防止所述动态环境被非法使用。关于利用安全访问策略集来对所述受?;そ?程的动态计算环境进行控制的过程将在下面参照图 2 来进行详细描述。
         随后, 在步骤 S130 中, 监控内存管理单元 (MMU) 的使用, 对所述受?;そ痰哪诖?空间进行隔离?;?。关于监控内存管理单元 (MMU) 的使用, 对所述受?;そ痰哪诖婵占?进行隔离?;さ木咛骞探谙旅娌握胀?3 到图 6 进行详细描述。
         此外, 在步骤 S140 中, 监控输入 / 输出内存管理单元 (IOMMU) 的使用, 对外围设备 通过 IOMMU 进行的与所述受?;そ碳涞慕换ゲ僮鹘锌刂?。关于监控输入 / 输出内存管 理单元 (IOMMU) 的使用, 对外围设备通过 IOMMU 进行的与所述受?;そ碳涞慕换ゲ僮鹘?行控制的具体过程将在下面参照图 7 和图 8 来进行详细描述。
         在对受?;そ痰募扑慊肪辰猩鲜龈衾牒?, 受?;そ炭梢栽诟衾氲募扑慊肪?中进行计算处理, 从而可以防止受到非法入侵。
         图 2 示出了根据本发明实施例的向受?;そ痰陌踩梦什呗约刑砑恿硪唤?程的身份的过程的流程图。
         如图 2 中所示, 当所述受?;そ桃笤谄浒踩梦什呗约刑砑恿硪黄渌?的身份时, 首先, 在步骤 S210 中, 将该另一其它进程的身份添加到所述受?;そ痰陌踩?访问策略集中, 并且将该其它进程的身份添加到所述受?;そ趟褂玫哪诖婵占涞陌踩?访问策略集中。例如, 如果在进行进程 2 添加之前, 受?;そ?1 的安全访问策略集为 { 进 程 1 的身份 }, 所使用的内存空间的安全访问策略集为 { 进程 1 的身份 }, 则在进行添加后, 受?;そ?1 的安全访问策略集变为 { 进程 1 的身份, 进程 2 的身份 }, 所使用的内存空间 的安全访问策略集为 { 进程 1 的身份, 进程 2 的身份 }。
         然后, 在步骤 S220 中, 将该其它进程的安全访问策略集以及该其它进程所使用的 安全访问策略集设置为与所述受?;そ痰陌踩梦什呗约嗤?。例如, 在上述示例的情 形下, 将进程 2 的安全访问策略集设置为 { 进程 1 的身份, 进程 2 的身份 }, 进程 2 所使用的 内存空间的安全访问策略集设置为 { 进程 1 的身份, 进程 2 的身份 }。
         下面将参照图 3 到图 6 来具体描述关于监控内存管理单元 (MMU) 的使用, 对所述 受?;そ痰哪诖婵占浣懈衾氡;さ木咛骞?。
         图 3 示出了根据本发明实施例的任意一个进程要求分配新内存空间时 MMU 监控单 元进行的处理的过程的流程图。
         如图 3 所示, 首先, 在步骤 S310 中, 当任意一个进程要求分配一个新的内存空间 时, 仅仅为该进程分配一个未拥有安全访问策略集的新内存空间。
         然后, 在步骤 S320 中, 判断该任意进程是否是一个受?;そ?。如果该任意进程 是受?;そ?, 则进行到步骤 S330。否则, 流程结束。
         在步骤 S330 中, 将该新内存空间的安全访问策略集设置为作为受?;そ痰母?任意进程的安全访问策略集。
         接着, 在步骤 S340 中, 撤销其它进程通过 MMU 访问分配给该任意进程使用的内存 空间的权限。具体地, 对于所请求分配的内存空间, 例如内存页 PA, RTCB 遍历在该任意进程 的安全访问策略集之外的所有进程 Q 的 MMU 表, 获取使用了该内存页 PA 的那些进程 Q。然 后, RTCB 删除内存空间在所述进程 Q 的 MMU 表中的映射, 从而禁止其它进程通过 MMU 访问分配给该任意进程使用的内存空间。
         然后, 在步骤 S350 中, 通知 IOMMU 不允许任意外围设备通过 IOMMU 访问该受?;?进程的内存空间。然后, 流程结束。
         图 4 示出了根据本发明实施例的释放受?;そ淌褂玫哪诖婵占涞墓痰牧鞒?图。
         如图 4 所示, 当所述受?;そ桃笫头乓桓瞿诖婵占涫?, 首先, 在步骤 S410 中, 将所述受?;そ痰纳矸荽痈靡头诺哪诖婵占涞陌踩梦什呗约猩境?。
         然后, 在步骤 S420 中, 判断该内存空间的安全访问策略集是否为空集。当该内存 空间的安全访问策略集为空集时, 流程进行到步骤 S430。否则, 流程结束。
         在步骤 S430 中, 擦除在该内存空间中记录的所有信息。然后, 在步骤 S440 中, 清 除该内存空间的安全访问策略集, 也就是说, 使得该内存空间不再拥有安全访问策略集, 从 而恢复所有其它进程通过 MMU 访问该内存空间的权限。 此外, 在恢复所有其它进程通过 MMU 访问该内存页的权限后, 还可以包括从 RTCB 删除内存空间的所有信息。具体地, 删除对应 于该内存空间, 例如内存页 PA 的 PA 号、 PP.ID、 进程 Q 和 / 或 IO 设备 D 的信息。
         此外, 优选地, 还可以在步骤 S450 中, 判断所述受?;そ趟笫头诺哪诖婵?间是否是其所使用的最后一个内存空间。如果是最后一个内存空间, 则进行到步骤 S460。 否则, 流程结束。
         这里要说明的是, 判断所述受?;そ趟笫头诺哪诖婵占涫欠袷歉檬鼙;そ?程所使用的最后一个内存空间可以采用多种方式实现。例如, 可以首先将要求释放内存空 间的受?;そ趟褂玫哪诖婵占涫?1, 然后判断减 1 后的所使用的内存空间数是否为 0。如果该值为 0, 则判断为该要求释放的内存空间是该受?;そ趟褂玫淖詈笠桓瞿诖?空间。 否则, 则判断为该要释放的内存空间不是该受?;そ趟褂玫淖詈笠桓瞿诖婵占?。 此外, 还可以直接判断该要求释放内存空间的受?;そ痰鼻笆褂玫哪诖婵占涫欠裎?1, 在当前所使用的内存空间数为 1 时, 判断为该要求释放的内存空间是该受?;そ趟褂?的最后一个内存空间?;蛘?, 还可以采用其它公知方式来判断为该要求释放的内存空间是 否是该受?;そ趟褂玫淖詈笠桓瞿诖婵占?。
         在步骤 S460 中, 清除该受?;そ痰陌踩梦什呗约?, 也就是, 使得该受?;そ?程不再拥有安全访问策略集。然后, 在步骤 S470 中, 终止所述受?;そ?, 即, 使得该进程 不再是受?;そ?。
         图 5 示出了根据本发明实施例的 MMU 监控单元对其它进程进行的关于 MMU 表的操 作的过程的流程图。
         如图 5 所示, 首先, 在步骤 S510 中, 禁止其它进程装载受?;そ痰?MMU 表。也就 是说, 禁止利用受?;そ痰?MMU 表中的信息来替换其它进程的 MMU 表。
         然后, 优选地, 可以在步骤 S520 中判断该其它进程是否是内核进程以及该受?;?进程是否陷入该其它进程。如果该其它进程是内核进程且该受?;そ滔萑敫闷渌?, 则流程进行到步骤 S530。否则, 流程结束。
         在步骤 S530 中, 为该其它进程装载只含有内核信息的伪 MMU 表, 从而使得该其它 进程可以利用该伪 MMU 表进行访问。也就是说, 可以利用与受?;そ痰?MMU 表中的信息 不同的信息来替换该其它进程的 MMU 表中的信息, 以禁止该其它进程利用 MMU 表中的信息来访问该受?;そ痰哪诖婵占?。例如, RTCB 将该受?;そ?PP 的假的页表的基地址 shadow_CR3( 即, 只有一个内核空间映射的 MMU 表 ) 装载到进程 Q 的 MMU 中。并且, 允许该 其它进程利用该假页表的基地址 shadow_CR3 来进行访问。
         这是因为, 当所获取的可以访问该内存空间的进程 Q 是内核进程且该受?;そ?陷入该进程 Q 时, 也就是说, 当该受?;そ滔萑肽诤私淌?, 由于所述进程 Q 是内核进程, 当受?;そ?PP 陷入内核请求系统调用服务时, 该进程 Q 的 MMU 所装载的页表不会变化。 在这种情况下, 当 PCU 从受?;そ?PP 切换到进程 Q 时, RTCB 将该受?;そ?PP 的假的 页表的基地址 shadow_CR3( 即, 只有一个内核空间映射的 MMU 表 ) 装载到进程 Q 的 MMU 中。 这样, 在进程 Q 调用操作来将新页表装载到 MMU 表时, 由于该页表不是受?;そ痰恼媸狄?表, 从而进程 Q 的上述操作被拒绝。由此, 进程 Q 将不能访问分配给受?;そ?PP 的内存 空间。此外, 如果 Q 要强行装载受?;そ痰恼媸狄潮淼幕刂?real_CR3, 会被 RTCB 截获 且拒绝此操作。最后, 当 PCU 从进程 Q 返回到受?;そ?PP 时, 内存空间 ( 例如, 内存页 ) 的 MMU 会被替换为受?;そ?PP 自己的真实 MMU 表。按照这种方式, 可以禁止作为内核进 程的进程 Q 访问分配给受?;そ?PP 的内存空间。
         图 6 示出了根据本发明实施例的在其它进程访问受?;そ痰哪诖婵占涫?MMU 监 控单元进行的操作的过程的流程图。 如图 6 所示, 首先, 在步骤 S610 中, 判断该其它进程是否是一个受?;そ?。如果 是受?;そ?, 则进行到步骤 S620。否则, 进行到步骤 S640, 在步骤 S640 中阻止该其它进 程访问该内存空间, 流程结束。
         在步骤 S620 中, 判断该其它进程是否在受?;そ痰陌踩梦什呗约?。例如, 可以检查该其它进程的身份是否在该受?;そ痰陌踩梦什呗约?。 当判断为在安全访 问策略集中, 则进行到步骤 S620, 允许该其它进程访问该受?;そ痰哪诖婵占?。否则, 在 步骤 S640 中, 阻止该其它进程访问该受?;そ痰哪诖婵占?。
         图 7 示出了根据本发明实施例的使用 IOMMU 来对外围设备与所述受?;そ碳浣?互进程控制的过程的流程图。
         如图 7 所示, 首先, 在步骤 S710 中, 在任何时候, 都禁止任意外围设备通过 IOMMU 来访问该受?;そ痰募扑慊肪车哪诖婵占?。例如, 当利用 MMU 为所述受?;そ坛晒Ψ?配一个内存空间后, 通知 IOMMU 更新任意外围设备的 IOMMU 表, 以撤销并永久禁止任意外围 设备通过 IOMMU 表访问所述受?;そ绦路峙涞哪诖婵占涞娜ㄏ?。
         此外, 在所述受?;そ绦枰胪馕璞附?IO 交互时, 则在步骤 S720 中, 允许 该外围设备使用 IOMMU 表来访问所述受?;そ痰?IO 缓存区。
         图 8 示出了根据本发明实施例的在需要与外围设备进行 IO 交互时进行输入输出 控制的过程的一个示例的流程图。
         在受?;そ探屑扑慊肪掣衾牒?, 如果需要与例如 IO 设备的外围设备进行输 入输出交互, 则如图 8 中所示, 首先, 在步骤 S810 中, 判断所述受?;そ淌且卸敛僮?还是写操作。
         在步骤 S810 中判断为要进行读操作时, 即从外部 IO 设备读取信息时, 流程进行到 步骤 S820。 在步骤 S810 中判断为要进行写操作时, 即向外部 IO 设备写入信息时, 流程进行 到步骤 S850。
         在步骤 S820 中, 将通过外部 IO 设备读取的信息存储在与该外部 IO 设备对应且在 IOMMU 表中设置的 IO 缓存区中。然后, 流程进行到步骤 S830。
         在步骤 S830 中, 利用受?;そ痰拿茉坎呗约猩柚玫拿茉慷栽谒?IO 缓存区 中缓存的信息进行输入型密码转换。其中, 在密钥策略集中设置的密钥可以是进程密钥或 系统密钥。所述进程密钥例如是由进程控制使用的密钥, 即, 密钥缓存区中存储的 P.KB. self。所述系统密钥例如是由 RTCN 控制使用的密钥, 即, 密钥缓存区中存储的 P.KB.sys。 这里, 所述输入型密码转换例如可以是解密过程等。然后, 流程进行到步骤 S840。
         在步骤 S840 中, 将经过输入型密码转换后的信息存储在所述受?;そ痰氖淙?缓存区中, 以供所述受?;そ淌褂?。
         当在步骤 S810 判断为要进行写操作时, 在步骤 S850 中, 利用在受?;そ痰拿茉?策略集中设置的密钥, 对存储在所述受?;そ痰氖涑龌捍媲械囊涑龅酵獠?IO 设备 的信息进行输出型密码转换。其中, 在密钥策略集中设置的密钥可以是进程密钥或系统密 钥。 所述进程密钥例如是由进程控制使用的密钥, 即, 密钥缓存区中存储的 PP.KB.self。 所 述系统密钥例如是由 RTCB 控制使用的密钥, 即, 密钥缓存区中存储的 PP.KB.sys。这里, 所 述输出型密码转换例如可以是加密过程等。然后, 流程进行到步骤 S860。 在步骤 S860 中, 将经过输出型密码转换后的内容存储在与该外部 IO 设备对应且 在 IOMMU 表中设置的 IO 缓存区中。然后, 在步骤 S870 中, 将经过输出型密码转换后的内容 从与该外部 IO 设备对应的 IO 缓存区输出到该外部 IO 设备。
         这里要说明的是, 在读取或写入内容信息的过程中, 可以基于应用的密码策略集 来确定是使用进程密钥还是使用系统密钥。
         如上参照图 1- 图 8 描述了根据本发明的利用 RTCB 来为受?;そ痰募扑慊肪辰?行隔离?;さ姆椒?。本发明的上述用 RTCB 来为受?;そ痰募扑慊肪辰懈衾氡;さ姆?法, 可以采用软件实现, 也可以采用硬件实现, 或采用软件和硬件组合的方式实现。
         图 9 示出了根据本发明实施例的利用 RTCB 对受?;そ碳扑慊肪辰懈衾氡;?的计算环境隔离系统 900 的方框示意图。
         如图 9 所示, 所述系统 900 包括初始化单元 910、 动态计算环境?;さピ?920、 MMU 监控单元 930 和 IOMMU 监控单元 940。
         在操作时, 初始化单元 910 首先始化所述受?;そ痰陌踩梦什呗约?, 使得所 述安全访问策略集中仅仅包含所述受?;そ痰纳矸?。 例如, 在输入一个进程后, 如果希望 该进程是受?;そ?, 则需要利用 RTCB 来将该进程创建为受?;そ?PP。然后, RTCB 为该 受?;そ谭峙浒踩梦什呗约谋晔斗?(GID), 并且记录了受?;そ?PP 的以下相关信 息: (1) 受?;そ?PP 的 ID, 它主要是利用受?;そ?PP 的 MMU 表的基地址表示 ; (2) 受 ?;そ?PP 的系统密钥, 即, 上述 RTCB 维护的 PP.KB.Sys 中的密钥信息, 这个密钥信息在 受?;そ?PP 第一次运行时可以随机产生, 而在该受?;そ潭啻卧诵惺?, 是从一个已知 文件中加载的, 以保证受?;そ?PP 能够透明地正常运行 ; (3) 受?;そ?PP 的安全访问 策略集 ; (4) 受?;そ?PP 占用的内存空间, 例如占用了多少内存页, 它由一个字段表示。
         然后, 动态计算环境?;さピ?920 使用受?;そ痰陌踩梦什呗约炊运鍪??;そ痰亩扑慊肪辰锌刂?, 以防止所述动态计算环境被非法使用。
         内存管理单元 (MMU) 管理进程对所述受?;そ痰募扑慊肪车哪诖婵占涞姆梦?br>     权限 ; 以及输入输出内存管理单元 (IOMMU) 管理输入输出 (IO) 设备对所述受?;そ痰募?算环境的内存空间的访问权限。
         MMU 监控单元 930 用于监控内存管理单元 (MMU) 的使用, 对该受?;そ痰募扑慊?境的内存空间进行隔离?;?。
         IOMMU 监控单元 940 用于监控输入 / 输出内存管理单元 (IOMMU) 的使用, 对外围设 备通过 IOMMU 进行的与所述受?;そ碳涞慕换ゲ僮鹘懈衾氡;?。
         图 10 示出了根据本发明实施例的动态计算环境?;さピ?1000 的方框示意图。如 图 10 所示, 动态计算环境?;さピ?1000 包括安全访问策略集添加单元 1010 和安全访问策 略集设置单元 1020。
         当所述受?;そ桃笤谄浒踩梦什呗约刑砑恿硪黄渌痰纳矸菔?, 安全 访问策略集添加单元 1010 将该其它进程的身份添加到所述受?;そ痰陌踩梦什呗约?中, 并且将该其它进程的身份添加到所述受?;そ趟褂玫哪诖婵占涞陌踩梦什呗约?中。
         安全访问策略集设置单元 1020 将该其它进程的安全访问策略集以及该其它进程 所使用的内存空间的安全访问策略集设置为与所述受?;そ痰陌踩梦什呗约嗤?。
         图 11 示出了根据本发明实施例的 MMU 监控单元 1100 的方框示意图。
         如图 11 所示, 所述 MMU 监控单元 1100 可以包括内存空间分配单元 1110 和内存空 间删除 1120。 当任意一个进程要求分配一个新内存空间时, 内存空间分配单元 1010 仅仅为 该进程分配一个未拥有安全访问策略集的新内存空间。 当所述受?;そ桃笊境桓瞿?存空间时, 内存空间删除单元 1120 删除该内存空间。
         此外, 在一个或多个实施例中, 所述内存空间分配单元 1110 还可以包括安全访问 策略集设置单元 1111、 撤销单元 1112 和通知单元 1113。在该任意进程是受?;そ淌?, 安 全访问策略集设置单元 1111 将该新内存空间的安全访问策略集设置为作为受?;そ痰?该任意进程的安全访问策略集。然后, 撤销单元 1112 撤销其它进程通过 MMU 访问该任意进 程所使用的内存空间的权限。例如, 对于所请求分配的内存空间, 例如内存页 PA, RTCB 遍历 在该任意进程的安全访问策略集之外的所有进程 Q 的 MMU 表, 获取使用了该内存页 PA 的那 些进程 Q。然后, RTCB 删除内存空间在所述进程 Q 的 MMU 表中的映射, 从而禁止其它进程通 过 MMU 访问分配给该任意进程使用的内存空间。
         在撤销所有其它进程的访问权限后, 通知单元 1113 通知 IOMMU 不允许任意外围设 备访问该受?;そ痰哪诖婵占?。
         此外, 在一个或多个实施例中, 所述内存空间删除单元 1120 还可以包括身份删除 单元 1121、 信息擦除单元 1122 以及安全访问策略集清除单元 1123。
         当所述受?;そ桃笫头乓桓瞿诖婵占涫?, 身份删除单元 1121 将所述受?;?进程的身份从该内存空间的安全访问策略集中删除。
         当该内存空间的安全访问策略集为空时, 信息擦除单元 1122 擦除该内存空间中 记录的所有信息。并且, 安全访问策略集清除单元 1123 清除该内存空间的安全访问策略 集。 此外, 当所述受?;そ趟头诺哪诖婵占涫亲詈笠桓瞿诖婵占涫?, 安全访问策略集清 除单元 1123 还清除受?;そ痰陌踩梦什呗约?。在这种情形下, 所述系统还可以包括终 止单元, 用于终止所述受?;そ?。此外, 在一个或多个实施例中, 所述 MMU 监控单元 1100 还可以包括 MMU 表装载禁 止单元 1130, 用于禁止该其它进程装载该受?;そ痰?MMU 表。 也就是说, 禁止利用受?;?进程的 MMU 表中的信息来替换其它进程的 MMU 表。
         此外, 在一个或多个实施例中, 所述 MMU 监控单元还可以包括伪 MMU 表装载单元 1140, 用于当该其它进程是内核, 且该受?;そ滔萑敫闷渌淌?, 为该其它进程装载只 含有内核内存信息的伪 MMU 表。
         此外, 在一个或多个实施例中, 所述 MMU 监控单元还可以包括 MMU 访问控制单元 1150, 用于如果当前处理的其它进程是一个受?;そ?, 且该其它进程在所述受?;そ?的内存空间的安全访问策略集中, 则允许该当前处理的其它进程通过 MMU 访问所述受?;?进程的内存空间 ; 否则, 阻止该当前处理的其它进程通过 MMU 访问所述受?;そ痰哪诖?空间。
         图 12 示出了根据本发明实施例的 IOMMU 监控单元 1200 的方框示意图。 如图 12 中 所述, IOMMU 监控单元 1200 包括内存空间访问禁止单元 1210 以及 IO 交互处理单元 1220。
         内存空间访问禁止单元 1210 用于禁止任意外围设备通过 IOMMU 来访问所述受保 护进程的计算环境的内存空间。IO 交互处理单元 1220 用于在所述受?;そ绦枰胪馕?设备进行 IO 交互时, 允许该外围设备使用 IOMMU 表来协作所述受?;そ掏瓿?IO 操作。
         图 13 是根据本发明实施例的图 12 中示出的 IOMMU 监控单元 1200 中的 IO 交互处 理单元 1220 的方框示意图。如图 12 所示, IO 交互处理单元 1220 可以包括输入 / 输出型 密码转换单元 1221 和 IO 缓存区 1222。
         输入 / 输出型密码转换单元 1221 用于对要向外围设备写入或从外围设备读取的 信息进行输出 / 输入型密码转换。IO 缓存区 1222 用于存储要向外围设备写入或从外围设 备读取的信息, 并将信息写入到外围设备或从外围设备读取。
         在向外围设备写入信息时, 利用在该受?;そ痰拿茉坎呗约猩柚玫拿茉?, 输 入 / 输出型密码转换单元 1221 对所述受?;そ桃涑龅酵馕璞傅男畔⒔惺涑鲂兔?码转换 ; 将经过输出型密码转换后的信息存储在与该外围设备对应且在 IOMMU 表中设置的 IO 缓存区 1222 中, 以及将存储在所述 IO 缓存区 1222 中的信息输出到该外围设备。
         在从外围设备读取信息时, 将通过该外部 IO 设备读取的信息存储在与该外围设 备对应且在 IOMMU 表中设置的 IO 缓存区 1222 中。然后, 输入 / 输出型密码转换单元 1221 利用与在该受?;そ痰拿茉坎呗约猩柚玫拿茉?, 对在所述 IO 缓存区 1222 中缓存的信 息进行输入型密码转换 ; 以及将经过输入型密码转换后的信息存储在所述受?;そ痰氖?入缓存区中, 以供所述受?;そ淌褂?。
         此外, 优选地, 所述 IO 交互处理单元 1220 还可以包括密钥选择单元 1223, 用于在 所述在输出或输入信息的过程中, 基于应用的密码策略集来确定是使用进程密钥还是使用 系统密钥。
         根据本示例的方法和系统, 可以在受?;そ探屑扑闶?, 针对分配给受?;そ?程的内存空间, 撤销分配使用该内存空间的所有其它进程通过 MMU 访问该内存空间的权限 和 / 或禁止任意 IO 设备访问该内存页, 从而保证了受?;そ?PP 的内存空间都不能被其 它进程 Q 和任意 IO 设备访问, 由此实现真正的安全隔离。这里提到的其他进程是指不在受 ?;そ贪踩梦始械慕?。此外, 利用根据本发明实施例的利用 RTCB 为受?;そ痰募扑慊肪辰懈衾氲?方法, 可以防止泄露受?;そ?PP 的内存空间中的内容信息, 并且在受?;そ?PP 运行终 止时释放该受?;そ?PP 所占用的内存空间, 从而使得这些内存页可以在某个时刻重新 被其它进程 Q 和任意 IO 设备 D 使用。
         此外, 利用根据本发明实施例的方法和系统, 可以防止在从外部 IO 设备输入到受 ?;そ?PP 和从受?;そ?PP 输出到外部 IO 设备时导致的信息泄露。
         如上参照图 1 到图 13 以示例的方式描述根据本发明的利用 RTCB 为受?;そ痰?计算环境进行隔离?;さ姆椒ê拖低?。
         但是, 本领域技术人员应该明白的是, 可以使用由计算机处理器执行的代码实现 根据本文所描述的技术。 例如, 实施例可以使用下述代码实现这里的技术, 其中所述代码在 任何一种计算机可读介质上由数据存储系统的处理器执行, 所述计算机可读介质具有多种 不同形式的任何一种, 包括易失性和非易失性、 可移除和非可移除介质, 所述代码以信息存 储的任何方法或技术实现, 例如计算机可读指令、 数据结构、 程序??榛蚱渌?。计算机 存储介质包括但不限于 RAM、 ROM、 EEPROM、 闪存或其他存储器技术、 CD-ROM、 DVD 或其他光学 存储、 磁带、 磁盒、 磁盘存储或其他磁存储设备, 或者能够用来存储期望信息以及能够被数 据存储系统处理器访问的任何其他介质。
         要理解的是, 本文描述的实施例可以采用硬件、 软件、 固件、 中间件、 微代码或上述 的组合实现。对于硬件实现, 处理单元可以在一个或多个下述部件中实现 : 专用集成电路 (ASIC)、 数字信号处理 (DSP)、 数字信号处理设备 (DSPD)、 可编程逻辑设备 (PLD)、 现场可编 程门阵列 (FPGA)、 处理器、 控制器、 微控制器、 微处理器、 被设计来执行这里所描述的功能的 其它电子单元、 或上述部件的组合。
         当所述实施例以软件、 固件、 中间件或微代码、 程序代码或代码段实现时, 它们可 以存储在机器可读介质中, 比如存储组件中。代码段可以表示过程、 函数、 子程序、 程序、 例 程、 子例程、 ???、 软件包、 类、 或指令、 数据结构或程序语句的任何组合。 一个代码段可以通 过传递和 / 或接收信息、 数据、 自变量、 参数或存储器内容, 耦合到另一代码段或硬件电路。 信息、 自变量、 参数、 数据等可以经由任何合适的机制传递、 转发或发送, 所述任何合适的机 制包括存储器共享、 消息传递、 令牌传递、 网络传输等。
         对于软件实现, 本文所描述的技术可以利用执行本文所述的功能的???( 例如, 过程, 函数等 ) 实现。所述软件代码可以存储在存储器单元中, 并且由处理器执行。所述存 储器单元可以在所述处理器内部或外部实现, 在外部实现的情况下, 所述存储器单元可以 通过本领域中公知的各种手段, 可通信地耦合到所述处理器。
         本领域普通技术人员将认识到, 可以使用多种不同技术中的任何一种来代表信息 和信号。例如, 上面的说明书中引用的数据、 指令、 命令、 信息、 信号、 比特、 符号和芯片可以 用电压、 电流、 电磁波、 磁场或粒子、 光场或粒子或它们的任意组合来表示。
         此外, 本领域普通技术人员将认识到, 结合这里公开的实施例描述的多种示例性 逻辑块、 ???、 电路和算法步骤可以被实现为电子硬件、 计算机软件或二者的组合。为了清 楚图示硬件和软件的可相互转换性, 多种示例性组件、 块、 ???、 电路和步骤已经在上文宽 泛地就其功能进行了描述。 这些功能是被实现为硬件还是软件取决于具体应用和整个系统 的设计限制。有经验的技术人员可以针对每个具体应用以多种方式实现这里描述的功能,但是这些实施决定不应被理解为引起对本发明实施例的范围的偏离。
         结合这里公开的实施例描述的多种示例性逻辑块、 ??楹偷缏房梢员皇迪治簧?计成执行这里描述的功能的通用处理器、 数字信号处理器 (DSP)、 专用集成电路 (ASIC)、 现 场可编程门阵列 (FPGA)、 或者其他可编程逻辑器件、 分立门或晶体管逻辑、 分立硬件组件、 或他们的任何组合, 或者以上述形式执行?;箍梢允褂眉扑闵璞傅淖楹?( 例如, DSP 和微处 理器的组合、 多个微处理器、 或者任何其他这样的配置 ) 来实现逻辑。
         结合这里公开的实施例描述的方法、 序列和 / 或算法可以直接以硬件、 由处理器 执行的软件???、 或者二者组合的形式实现。 软件??榭梢宰ち粼?RAM 存储器、 闪存、 ROM 存 储器、 EPROM 存储器、 EEPROM 存储器、 寄存器、 硬盘、 可移除盘、 CD-ROM、 或者本领域公知的任 何其他形式的存储介质中。示例性存储介质耦合到处理器中, 使得处理器可以从存储介质 读取信息, 并向存储介质写入信息。在替代方案中, 存储介质可以集成到处理器。处理器和 存储介质可以驻留在 ASIC 中。
         尽管前面公开的内容示出了本发明的示例性实施例, 但是应当注意, 在不背离权 利要求限定的本发明的范围的前提下, 可以进行多种改变和修改。根据这里描述的发明实 施例的方法权利要求的功能、 步骤和 / 或动作不需以任何特定顺序执行。此外, 尽管本发明 的元素可以以个体形式描述或要求, 但是也可以设想多个, 除非明确限制为单数。
         尽管已经结合详细示出并描述的优选实施例公开了本发明, 但是本领域技术人员 应当理解, 对于上述本发明所提出的利用 RTCB 对受?;そ痰募扑慊肪辰懈衾氡;さ?方法和系统, 还可以在不脱离本发明内容的基础上做出各种改进。 因此, 本发明的?;し段?应当由所附的权利要求书的内容确定。

    关于本文
    本文标题:用于隔离计算环境的方法和系统.pdf
    链接地址://www.4mum.com.cn/p-5817583.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 开元棋牌安装包下载 河北11选5走势 广东十一选五走势图下载 pk10北京赛车官网 北京十一选五开奖85期 981棋牌游戏最新 股票涨跌原理举例说明 钱龙股票分析软件 快乐飞艇是官方网址 得利斯股票 重庆百变王牌怎么玩 河南十一选五遗漏数据 新疆11选5助手 幸运农场规则 赛车pk10开奖记录视频 欢乐棋牌