用于提供对引导驱动程序的原始例程的访问的系统和方法技术方案

技术编号:14923687 阅读:51 留言:0更新日期:2017-03-30 15:52
公开了用于检测由恶意软件对引导驱动程序例程的访问的系统和方法。一个示例性方法包括:由驱动程序拦截器识别已被加载入存储器中但尚未被初始化的一个或多个引导驱动程序;由所述驱动程序拦截器安装拦截处理程序,所述拦截处理程序可操作用于拦截对所识别的一个或多个引导驱动程序的初始化例程的调用;由所述驱动程序拦截器拦截对所识别的一个或多个引导驱动程序的所述初始化例程的程序调用;由所述拦截处理程序存储由所述驱动程序在其初始化的过程中提供的关于所述引导驱动程序的信息,其中,所述信息至少包含所述引导驱动程序的一个或多个例程的入口点的地址;以及由所述驱动程序拦截器通过先前存储的所述入口点的地址提供对所述引导驱动程序的所述例程的访问。

【技术实现步骤摘要】

概括而言,本专利技术涉及计算机安全领域,更具体地说,涉及用于提供到引导驱动程序的原始例程的访问的系统和方法。
技术介绍
rootkit是一种类型的恶意软件,其经常被第三方(通常是入侵者)用来获得对计算机系统的访问,以旨在隐藏运行的进程、文件或系统数据,这可以帮助入侵者在用户不知道的情况下保持对系统的访问。rootkit通常隐藏登陆、进程、线程、注册表项、文件以及记录,并且可以包括用于拦截来自终端、网络连接和键盘的数据的软件。rootkit能够感染在操作系统(OS)进行加载期间执行的引导驱动程序,并从而在任何杀毒软件之前被加载系统上。Rootkit还可以以类似过滤器的方式嵌入在操作系统进程中,使得任何常规的恶意软件检测手段无法得到与隐藏的软件或软件片段相关的信息。检测rootkit的难点之一是由于以下事实:与病毒不同,rootkit通常在计算机开启时在操作系统已完全启动之前激活其自身,并且rootkit通常获得系统权限。另外,rootkit通常会采取措施来掩盖其存在并防止传统的杀毒检测机制识别到其存在。例如,典型的杀毒软件调用系统功能调用来识别当前正在运行的进程。rootkit会拦截该功能调用,并将其自己的返回参数提供给杀毒软件,但掩盖其自己的进程。另外,rootkit通常对检查文件是否包含已知的病毒标签的传统杀毒机制隐藏其所存储在其中的文件。因此,存在改善对rootkit以及类似类型的恶意软件的检测的需求。
技术实现思路
公开了用于提供对引导驱动程序的原始例程的访问的系统、方法和计算机程序产品的示例性方面。在一个示例性实施例中,一种用于检测对引导驱动程序例程的访问的方法,所述方法包括:由驱动程序拦截器识别已被加载入存储器中但尚未被初始化的一个或多个引导驱动程序;由所述驱动程序拦截器安装拦截处理程序,所述拦截处理程序可操作用于拦截对所识别的一个或多个引导驱动程序的初始化例程的调用;由所述驱动程序拦截器拦截对所识别的一个或多个引导驱动程序的所述初始化例程的程序调用;由所述拦截处理程序存储由所述驱动程序在其初始化的过程中提供的关于所述引导驱动程序的信息,其中,所述信息至少包含所述引导驱动程序的一个或多个例程的入口点的地址;以及由所述驱动程序拦截器通过先前存储的所述入口点的地址提供对所述引导驱动程序的所述例程的访问。在一个示例性方面,所述拦截处理程序可操作用于将在引导驱动程序的列表中包含了其指针的所述引导驱动程序的原始入口点的地址用所述拦截处理程序的入口点的地址代替,其中,将所述引导驱动程序的所述原始入口点存储在所述拦截处理程序中。在一个示例性方面,对引导驱动程序的识别是使用已被加载入所述存储器但尚未被初始化的引导驱动程序的列表来执行的。在一个示例性方面,所述引导驱动程序的列表由所述驱动程序拦截器在系统注册表中读取。在一个示例性方面,所述引导驱动程序的列表由所述驱动程序拦截器使用OS引导加载程序来读取。在一个示例性方面,关于所述引导驱动程序的所述信息被存储在针对所述驱动程序拦截器所分配的存储器区域中。在一个示例性方面,在所述引导驱动程序的初始化期间获得的关于所述引导驱动程序的所述信息包含以下各项中的一项或多项:所述引导驱动程序的名称、所述引导驱动程序的一些或所有例程的入口点的地址、由所述OS引导加载程序在所述初始化过程中转移给所述引导驱动程序的参数、在所述注册表中到所述驱动程序的路径、所述入口点的地址、以及驱动程序对象结构。在另一个示例性方面,一种用于检测对引导驱动程序例程的访问的计算机系统,所述系统包括:用于存储杀毒应用的存储器,所述杀毒应用配置为在一个或多个其它引导驱动程序之前将驱动程序拦截器放入所述计算机的主引导记录;硬件处理器,其耦合到所述存储器并且配置为:由所述驱动程序拦截器识别已被加载入存储器中但尚未被初始化的一个或多个引导驱动程序;由所述驱动程序拦截器安装拦截处理程序,所述拦截处理程序可操作用于拦截对所识别的一个或多个引导驱动程序的初始化例程的调用;由所述驱动程序拦截器拦截对所识别的一个或多个引导驱动程序的所述初始化例程的程序调用;由所述拦截处理程序存储由所述驱动程序在其初始化的过程中提供的关于所述引导驱动程序的信息,其中,所述信息至少包含所述引导驱动程序的一个或多个例程的入口点的地址;以及由所述驱动程序拦截器通过先前存储的所述入口点的地址提供对所述引导驱动程序的所述例程的访问。上面示例性方面的简单概要是用来提供对本公开内容的基本理解。该概要并非所有预期方面的广泛概述,并且其意图既不是要确定所有方面的关键或重要元素,也不是要划定本公开内容的任何或所有方面的范围。其唯一目的是以简化的形式给出一个或多个方面,作为下面本公开内容的更详细描述的前奏。为了实现上述目的,本公开内容的所述一个或多个方面包括在权利要求中描述并特别指出的特征。附图说明被合并入说明书并且构成说明书的一部分的附图示出了本公开内容的一个或多个示例性方面,并且与具体实施方式一起用来解释本公开内容的原理和实现。图1示出了根据一个示例性方面,引导操作系统的过程的示例。图2示出了根据一个示例性方面,对引导驱动程序初始化例程的调用进行拦截的示例方法。图3示出了可以用来实现用于对由恶意软件对引导驱动程序例程的访问进行检测的系统和方法的通用计算机系统的示例。具体实施方式本文在用于对由恶意软件对引导驱动程序例程的访问进行检测的系统、方法和计算机程序产品的背景下,描述了若干示例性方面。本领域的普通技术人员应意识到的是,下面的描述仅是说明性的,并非旨在以任何方式进行限定。其它方面将使本领域的技术人员很容易得出本公开内容的益处的启示。现在将详细地参照如图所示出的示例性方面的实施。贯穿附图以及下面的描述,将尽量使用相同的附图标记来指代相同或相似的项目。图1示出了根据本专利技术的一个方面的引导操作系统(OS)的过程,该过程包括驱动程序拦截器的初始化的阶段。该引导OS的过程是大多数OS(诸如Windows、Unix、OSX、安卓以及其它OS)所具有的特征。当计算机的电源打开时,在步骤101中加载BIOS(基本输入/输出系统),并且借助于写入到BIOS的软件和硬件,计算机组件被初始化并且POST(通电自检)运行。在BIOS发现硬盘的系统分区、读取到MBR(主引导记录)并且启动引导管理器(例如,WindowsOS中的Bootmgr本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/CN105678160.html" title="用于提供对引导驱动程序的原始例程的访问的系统和方法原文来自X技术">用于提供对引导驱动程序的原始例程的访问的系统和方法</a>

【技术保护点】
一种用于检测对引导驱动程序例程的访问的方法,所述方法包括:由驱动程序拦截器识别已被加载入存储器中但尚未被初始化的一个或多个引导驱动程序;由所述驱动程序拦截器安装拦截处理程序,所述拦截处理程序可操作用于拦截对所识别的一个或多个引导驱动程序的初始化例程的调用;由所述驱动程序拦截器拦截对所识别的一个或多个引导驱动程序的所述初始化例程的程序调用;由所述拦截处理程序存储由所述驱动程序在其初始化的过程中提供的关于所述引导驱动程序的信息,其中,所述信息至少包含所述引导驱动程序的一个或多个例程的入口点的地址;以及由所述驱动程序拦截器通过先前存储的所述入口点的地址来提供对所述引导驱动程序的所述例程的访问。

【技术特征摘要】
2014.12.05 RU 2014148959;2015.01.28 US 14/607,2841.一种用于检测对引导驱动程序例程的访问的方法,所述方法包括:
由驱动程序拦截器识别已被加载入存储器中但尚未被初始化的一个或
多个引导驱动程序;
由所述驱动程序拦截器安装拦截处理程序,所述拦截处理程序可操作
用于拦截对所识别的一个或多个引导驱动程序的初始化例程的调用;
由所述驱动程序拦截器拦截对所识别的一个或多个引导驱动程序的所
述初始化例程的程序调用;
由所述拦截处理程序存储由所述驱动程序在其初始化的过程中提供的
关于所述引导驱动程序的信息,其中,所述信息至少包含所述引导驱动程
序的一个或多个例程的入口点的地址;以及
由所述驱动程序拦截器通过先前存储的所述入口点的地址来提供对所
述引导驱动程序的所述例程的访问。
2.根据权利要求1所述的方法,其中,所述拦截处理程序可操作用于
将在引导驱动程序的列表中包含了其指针的所述引导驱动程序的原始入口
点的地址用所述拦截处理程序的入口点的地址代替,其中,将所述引导驱
动程序的所述原始入口点存储在所述拦截处理程序中。
3.根据权利要求2所述的方法,其中,对引导驱动程序的识别是使用
已被加载入所述存储器但尚未被初始化的引导驱动程序的列表来执行的。
4.根据权利要求3所述的方法,其中,所述引导驱动程序的列表由所
述驱动程序拦截器在系统注册表中读取。
5.根据权利要求3所述的方法,其中,所述引导驱动程序的列表由所
述驱动程序拦截器使用OS引导加载程序来读取。
6.根据权利要求5所述的方法,其中,关于所述引导驱动程序的所述
信息被存储在针对所述驱动程序拦截器所分配的存储器区域中。
7.根据权利要求1所述的方法,其中,在所述引导驱动程序的初始化
期间获得的关于所述引导驱动程序的所述信息包含以下各项中的一项或多
项:所述引导驱动程序的名称、所述引导驱动程序的一些或所有例程的入
口点的地址、由所述OS引导加载程序在所述初始化过程中转移给所述引导
驱动程序的参数、在所述注册表中到所述驱动程序的路径、所述入口点的
地址、以及驱动程序对象结构。
8.一种用于检测对引导驱动...

【专利技术属性】
技术研发人员:维亚切斯拉夫·E·卢萨科夫安德烈·L·科哲马那夫尤里·G·帕辛
申请(专利权)人:卡巴斯基实验室股份制公司
类型:发明
国别省市:俄罗斯;RU

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1