首页> 中国专利> 系统管理中断的执行方法

系统管理中断的执行方法

摘要

本发明提供一种系统管理中断的执行方法。在执行开机自我测试时,产生第一识别码并储存第一识别码至存储器的系统管理模式区块。在启动操作系统的过程中,从系统管理模式区块中读取第一识别码来作为第二识别码,而储存第二识别码至存储器的操作系统区块。当操作系统欲使用系统管理中断时,分别从系统管理模式区块与操作系统区块读取出第一识别码与第二识别码。比较第一识别码与第二识别码是否相同。若第一识别码与第二识别码相同,执行系统管理中断。

著录项

  • 公开/公告号CN102467644A

    专利类型发明专利

  • 公开/公告日2012-05-23

    原文格式PDF

  • 申请/专利权人 英业达股份有限公司;

    申请/专利号CN201010551694.X

  • 发明设计人 卢盈志;王郁蕙;

    申请日2010-11-17

  • 分类号G06F21/22(20060101);G06F9/48(20060101);

  • 代理机构11205 北京同立钧成知识产权代理有限公司;

  • 代理人刘芳

  • 地址 中国台湾台北市士林区后港街66号

  • 入库时间 2023-12-18 05:12:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-06

    未缴年费专利权终止 IPC(主分类):G06F21/52 授权公告日:20140903 终止日期:20171117 申请日:20101117

    专利权的终止

  • 2017-05-17

    著录事项变更 IPC(主分类):G06F21/52 变更前: 变更后: 申请日:20101117

    著录事项变更

  • 2017-05-17

    专利权的转移 IPC(主分类):G06F21/52 登记生效日:20170425 变更前: 变更后: 申请日:20101117

    专利申请权、专利权的转移

  • 2014-09-03

    授权

    授权

  • 2012-07-04

    实质审查的生效 IPC(主分类):G06F21/22 申请日:20101117

    实质审查的生效

  • 2012-05-23

    公开

    公开

查看全部

说明书

技术领域

本发明涉及一种系统管理中断的执行方法,尤其涉及一种保护系统管理 中断的执行方法。

背景技术

系统管理模式(System Management Mode,SMM)为现今一般电脑系统所 用的中央处理单元(Central Processing Unit,CPU)的一种特别功能。当 系统管理中断(System Management Interrupt,SMI)被触发到中央处理单 元时,便会进入系统管理模式。在系统管理模式下,CPU将执行基本输入输 出系统(Basic Input Output System,BIOS)的系统管理中断处理程序(SMI handler routine,以下简SMI处理程序),以由SMI处理程序来服务此系统 管理中断,再者,此SMI处理程序位于系统管理随机存取存储器(System Management Random Access Memory,SMRAM)内。

近年来,BIOS大量使用软件SMI(Software SMI,SW SMI)以回避操作 系统(Operating System,OS)来执行一些重要程序。例如:执行BIOS的更 新、致能或禁能先进组态与电源介面(Advanced Configuration and Power Interface,ACPI)、注入错误校正码(Error Correction Code,ECC)等。 倘若软件SMI使用不当将会破坏系统的稳定性,甚至破坏BIOS,造成无法开 机。

由于软件SMI的输入输出端口(IO port)容易被得知,因而让恶毒软件 便可利用软件SMI来破坏系统。例如,软件SMI的输入输出端口地址通常储 存于固定先进组态与电源介面描述表(Fixed ACPI Description Table,FACP) 中,恶毒软件由FACP表格中便能够获得软件SMI的输入输出端口地址。或者, 恶毒软件也能够由南桥晶片的制造商识别码及装置识别码来获得软件SMI的 输入输出端口地址。

发明内容

本发明提供一种系统管理中断的执行方法,以避免恶毒软件直接来使用 系统管理中断。

本发明提出一种系统管理中断的执行方法。在执行开机自我测试时,产 生第一识别码并储存第一识别码至存储器的系统管理模式区块。其中,该系 统管理模式区块在操作系统执行之下被隐藏。在启动操作系统的过程中,从 系统管理模式区块中读取第一识别码来作为第二识别码,而储存第二识别码 至存储器的操作系统区块。当操作系统欲使用系统管理中断时,分别从系统 管理模式区块与操作系统区块读取出第一识别码与第二识别码。比较第一识 别码与第二识别码是否相同。若第一识别码与第二识别码相同,执行系统管 理中断。

在本发明的一实施例中,上述系统管理中断的执行方法还包括:在产生 第一识别码的步骤之后,将第一识别码加密为第一加密识别码。并且,在将 第一识别码当作第二识别码的步骤之后,将第二识别码加密为第二加密识别 码。

在本发明的一实施例中,上述系统管理中断的执行方法中,当操作系统 欲使用系统管理中断时,分别从系统管理模式区块与操作系统区块读取出该 第一识别码与该第二识别码的步骤包括:从操作系统区块读取第二加密识别 码,而解密为第二识别码,并且,进入系统管理模式,从系统管理模式区块 读取第一加密识别码,而解密为第一识别码。

在本发明的一实施例中,上述系统管理中断的执行方法中,当操作系统 欲使用系统管理中断时,将第二识别码的存储器地址写入至暂存器中的步骤 后,还包括:当中央处理单元接收到系统管理中断时,进入系统管理模式, 将暂存器的值写入至系统管理模式区块。接着,执行中断处理程序,通过中 断处理程序从系统管理模式区块中读取第二识别码的存储器地址。并且,依 据存储器地址来取得第二识别码。

在本发明的一实施例中,第一识别码为全域唯一识别码(Globally Unique Identifier,GUID)。

在本发明的一实施例中,上述系统管理中断的执行方法中,可建立识别 码读取程序,通过识别码读取程序从系统管理模式区块读取第一识别码。并 且还可建立识别码传送程序,通过识别码传送程序将第一识别码作为第二识 别码,而储存第二识别码至操作系统区块。

在本发明的一实施例中,上述通过识别码读取程序从系统管理模式区块 读取第一识别码的步骤包括:在启动操作系统的过程中,呼叫识别码读取程 序以产生专用系统管理中断。并且利用专用系统管理中断从系统管理模式区 块中读取第一识别码。

在本发明的一实施例中,上述储存第二识别码至操作系统区块的步骤包 括:在启动操作系统的过程中,呼叫识别码传送程序。并且,利用识别码传 送程序将第一识别码传送至操作系统区块来作为第二识别码。

基于上述,本发明在操作系统区块与系统管理模式区块分别储存了一个 识别码。当欲使用系统管理中断时,比较两个识别码是否相同,以在两个识 别码相同时才执行系统管理中断。据此,可避免恶毒软件轻易地来使用系统 管理中断。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合 所附图式作详细说明如下。

附图说明

图1是依照本发明第一实施例所示出的系统管理中断的执行方法的流程 图。

图2是依照本发明第二实施例所示出的系统管理中断的执行方法的流程 图。

附图标记:

S105~S120、S205~S255-步骤。

具体实施方式

第一实施例

图1是依照本发明第一实施例所示出的系统管理中断的执行方法的流程 图。请参照图1,在步骤S105中,在执行开机自我测试(Power On Self Test, POST)时,产生第一识别码,并将第一识别码储存至存储器的系统管理模式 区块。在本实施例中,存储器包括操作系统区块(让操作系统所使用的区块)、 系统管理模式区块以及给其他程序所使用的区块。其中,系统管理模式区块 在操作系统执行之下是被隐藏而看不到。举例来说,系统管理模式区块例如 为系统管理随机存取存储器(System Management Random Access Memory, SMRAM),SMRAM只有在进入系统管理模式(System Management Mode,SMM) 时看得到,也就是说在进入SMM模式时,方会将SMRAM映射至存储器地址空 间。

接着,在步骤S110中,在执行操作系统的过程中,从系统管理模式区块 中读取第一识别码来作为第二识别码,而将第二识别码储存至存储器的操作 系统区块。例如,通过操作系统产生中断编号为F1h的专用系统管理中断 (System Management Interrupt,SMI)以从系统管理模式区块中取得第一 识别码。并且,将此第一识别码作为第二识别码而储存至操作系统区块中。 另外,还可将此专用系统管理中断设定在每次开机只能执行一次。

另外,为了提高安全性,在POST过程中,在产生第一识别码之后还可将 第一识别码加密为第一加密识别码,再将第一加密识别码储存至系统管理模 式区块中。而当在执行操作系统的过程中,利用自订SMI来取出第一加密识 别码并解密之后,将第一识别码作为第二识别码。此时,也可将第二识别码 加密为第二加密识别码,再储存至操作系统区块。

然后,在步骤S115中,当操作系统欲使用SMI时,分别从系统管理模式 区块与操作系统区块读取出第一识别码与第二识别码。当操作系统欲使用SMI 时,操作系统将第二识别码传送给SMI处理程序(SMI Handler),并且SMI 处理程序会从系统管理模式区块取得第一识别码。在此,储存于操作系统区 块为第二加密识别码,则操作系统会先将第二加密识别码解密再传送给SMI 处理程序。

最后,在步骤S120中,若第一识别码与第二识别码相同,执行系统管理 中断。由SMI处理程序来比较第一识别码与第二识别码是否相同。在两者吻 合的状况之下,才会执行操作系统所要求的SMI。

据此,上述实施例是利用第一识别码来当作是执行SMI的金钥,也就是 在系统管理模式区块与操作系统区块中各自储存一个识别码,当操作系统欲 使用SMI时,若比较两个识别码相同,才允许执行SMI。由于要经过操作系 统来读取第二识别码并传送至SMI处理程序,因此只有知道第二识别码的应 用程序方能够有效地执行SMI。如此一来,恶毒软件便无法不经由操作系统 而直接使用SMI。

第二实施例

为了避免每次开机时所产生的识别码重复,在本实施例中,利用全域唯 一识别码(Globally Unique Identifier,GUID)来作为识别码。另外,在 此所使用的SMI机制为软件SMI(Software SMI,SW SMI)

图2是依照本发明第二实施例所示出的系统管理中断的执行方法的流程 图。

请参照图2,在步骤S205中,基本输入输出系统(Basic Input Output System,BIOS)于POST过程中产生一个GUID_1。接着,在步骤S210中,将 GUID_1加密为GUID_1E。之后,在步骤S215中,将GUID_1E储存至存储器的 系统管理模式区块(例如SMRAM)。

当BIOS执行完POST之后,开始启动操作系统。在启动操作系统的过程 中(操作系统尚未启动完成),如步骤S220所示,产生专用SW SMI,以从 系统管理模式区块中读取GUID_1E,并将其解密为GUID_1。

举例来说,建立识别码读取程序,例如:AML(ACPI Machine Language) 程序的程序(method)_INI,以通过识别码读取程序从系统管理模式区块读 取GUID_1。在启动操作系统的过程中,呼叫(call)识别码读取程序,倘若 为第一次呼叫识别码读取程序,则产生一专用SW SMI(例如,中断编号为F1h), 利用此专用SW SMI从系统管理模式区块中读取第一识别码。在此,专用SW SMI 只执行一次,以避免被恶毒软件来利用。

之后,在步骤S225中,将GUID_1当作GUID_2,并将GUID_2加密成为 GUID_2E而储存至操作系统区块。具体而言,可建立一识别码传送程序,例 如:AML程序的程序(method)_SWSK,以通过识别码传送程序将GUID_1作 为GUID_2。也就是在启动操作系统的过程中,呼叫识别码传送程序,利用识 别码传送程序将GUID_1传送至操作系统区块来作为GUID_2,并且将GUID_2 加密为GUID_2E。此时,将GUID_2E储存至操作系统区块之后,便可将GUID_2 清除。

在操作系统启动完成之后,当操作系统欲使用SW SMI时,如步骤S230 所示,操作系统取出GUID_2E而解密为GUID_2,并将GUID_2的存储器地址 写入至中央处理单元的暂存器(例如EAX)中,然后触发SW SMI。例如,使 用SMI命令端口(Command Port)B2h。

当中央处理单元接收到SW SMI时,如步骤S235所示,进入SMM模式, 并将暂存器的值(例如CPU Context,当中包括EAX)写入至系统管理模式区 块。也就是将GUID_2的存储器地址写入至系统管理模式区块。这是因为在进 入SMM模式之后,中央处理单元会将现有的状态储存至系统管理模式区块(例 如为SMRAM)里。

接着,在步骤S240中,执行SMI处理程序时,依据系统管理模式区块中 储存的GUID_2的存储器地址去读取GUID_2。并且,从系统管理模式区块中 取得GUID_1E,并将GUID_1E解密为GUID_1。

之后,在步骤S245中,SMI处理程序会比较GUID_1与GUID_2是否相同。 倘若两者相同,如步骤S250所示,执行SW SMI。倘若两者不相同,如步骤 S255所示,退出SMM模式。据此,可保护SMI不被恶毒软件所使用。

综上所述,本发明在操作系统区块与系统管理模式区块分别储存了一个 识别码。当欲使用系统管理中断时,比较两个识别码是否相同,以在两个识 别码相同时才执行系统管理中断。在操作系统之下使用的系统管理中断都会 受到保护,应用程序只能通过操作系统来下达系统管理中断。

据此,可避免恶毒软件直接来使用系统管理中断。并且,在每次开机时 都会动态产生一识别码,减少被恶毒软件破解的机会。

虽然本发明已以实施例揭示如上,但并非用以限定本发明,任何所属技 术领域的技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与 润饰,因此,本发明的保护范围当以权利要求限定的范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号