CN101620660A - 一种Windows操作系统下钩子的防御方法 - Google Patents

一种Windows操作系统下钩子的防御方法 Download PDF

Info

Publication number
CN101620660A
CN101620660A CN 200910090179 CN200910090179A CN101620660A CN 101620660 A CN101620660 A CN 101620660A CN 200910090179 CN200910090179 CN 200910090179 CN 200910090179 A CN200910090179 A CN 200910090179A CN 101620660 A CN101620660 A CN 101620660A
Authority
CN
China
Prior art keywords
system service
hook
function
service
windows operating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200910090179
Other languages
English (en)
Other versions
CN101620660B (zh
Inventor
陈向群
白光冬
赵霞
郭耀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN 200910090179 priority Critical patent/CN101620660B/zh
Publication of CN101620660A publication Critical patent/CN101620660A/zh
Application granted granted Critical
Publication of CN101620660B publication Critical patent/CN101620660B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种Windows操作系统下钩子的防御方法,属于信息安全技术领域。本发明方法包括:a)获得Windows系统提供的系统服务名称;b)通过调试工具查看所述系统的win32子系统映像文件,获取所述系统服务对应的服务号;c)根据所述系统服务号,在系统服务描述符表中找到所述系统服务的函数入口地址,并将所述函数入口地址保存至内存;d)重新编写系统服务函数;e)以所述新的系统服务函数的入口地址替换步骤c所述函数入口地址。本发明可根据不同种类钩子的特点,分别在用户态和内核态进行钩子防御,具有两个优点,一是对钩子进行全面的防御;二是在恶意软件刚进入系统时觉查到并阻止其进一步的行为,防止恶意软件造成大的破坏。

Description

一种Windows操作系统下钩子的防御方法
技术领域
本发明涉及恶意软件,具体涉及一种针对Windows操作系统下的用户级及内核级钩子的防御方法,属于信息安全技术领域。
背景技术
Windows操作系统是目前使用最为广泛的计算机操作系统,根据调查,世界上有超过90%的个人计算机以及大约66%的服务器使用的是Windows操作系统,由于Windows的广泛使用,使得它成为遭受黑客和病毒攻击最严重的操作系统,也使得它的安全问题成为用户及计算机安全研究人员关注的焦点。最新的Windows操作系统为Windows Vista,该操作系统由微软公司于2006年11月发布,在之后的一年多时间里,微软公司致力于Vista系统的推广,Vista系统的使用人数正在并将持续增长。但是,尽管微软公司对包括Vista在内的众多操作系统的安全进行改进,但这些操作系统仍然存在着较大的安全隐患。目前我国计算机用户基本上使用的是Windows操作系统,以XP系统最为普遍,Vista系统在我国的使用量也将会大幅度增加,所以更应对其安全问题足够重视。
恶意软件最常采用的技术是钩子技术。“钩子技术”指恶意程序通过篡改操作系统提供的系统服务函数地址入口,使得当正常程序调用这些系统服务时,被迫去执行恶意程序设置的函数,改变操作系统的执行路径,从而使恶意软件达到破坏系统和窃取用户信息的目的。这些恶意程序所设置的系统服务函数的入口地址,称为“钩子”。在恶意软件rootkit(一种恶意软件使用的具有“隐形”能力的工具包、库或者程序代码,用来隐藏或伪装恶意软件使用的文件、目录和进程)中,更是大量地使用了钩子技术,达到隐藏恶意软件和攻击者踪迹的效果。
在Windows操作系统中,根据运行环境的不同,钩子可以分为用户级钩子和内核级钩子。
1.用户级钩子
在Windows系统中,大多数进程都依赖于三个子系统:Win32、POSIX和OS\2子系统,这些子系统由一些文件组成,它们以地址表的形式提供了一组应用程序编程接口(API),用户进程可以通过地址表中的函数入口地址调用API请求操作系统的服务,所以这些地址表所在的文件是恶意软件攻击的极佳目标。根据地址表的不同,恶意软件使用的钩子可以分为导入地址表钩子、导出地址表钩子、内联函数钩子、系统可执行文件及DLL钩子等,恶意软件一般在用户态下替换或修改包含这些地址表的文件来设置这些钩子。如果能保证这些文件不被修改或替换,就可以达到防御用户级钩子的目的。
2.内核级钩子
当用户进程调用API进入Windows内核后,通过系统服务描述符表(System ServiceDescriptor Table,SSDT),中断描述符表(Interrupt Descriptor Table,IDT)等跳转表进一步调用不同的内核系统服务函数,所以恶意程序通过修改内核中的这些跳转表来设置不同种类的内核钩子。在Windows内核中,恶意软件使用的钩子主要有:
●IDT钩子
IDT中包含了异常和中断处理函数的入口地址,恶意软件修改IDT,把系统的处理程序替换为其提供的非法程序。
●SSDT钩子
SSDT记录着所有内核系统服务函数的入口地址,恶意软件通过修改SSDT表项而改变内核系统服务函数的处理过程。
●IRP函数表钩子
IRP函数是驱动程序用来处理用户各种请求的,例如读、写、查询等。IRP函数表里记录这IRP函数的入口地址,攻击者也可以替换IRP函数表的一些表项达到恶意目的。
在Windows操作系统中,攻击者需要在操作系统的内核态(即Windows ring0级别)执行设置内核级钩子的操作,一般会将恶意程序实现成驱动程序和某些服务的形式,通过Windows提供的LoadDriver等系统服务将这些恶意程序以内核模块的形式加载到Windows内核中运行。这些恶意程序在内核态获得运行机会之后,修改跳转表来完成设置钩子的操作。如果能够保证这些恶意软件不被加载到内核中执行,就可以达到防御内核级钩子的目的。
目前防范恶意软件的基本方法是事后检测,即在恶意软件安装到系统甚至造成危害之后再进行检测,而缺乏对于恶意软件的事先防御,即能够察觉恶意软件进入系统,并阻止其进一步的行为。本发明则针对这个不足,提出一种主动防御的解决的方法。
发明内容
本发明的目的在于克服现有技术中存在的问题,提供一种Windows操作系统下钩子的防御方法。本发明方法包括对用户级和内核级钩子的主动防御,可对计算机恶意软件进行有效的防护。
整体而言,本发明方法包括下列步骤,如图1所示:
a)获得Windows系统提供的系统服务名称;
b)通过调试工具查看所述系统的win32子系统映像文件,获取所述系统服务对应的服务号;
c)根据所述系统服务号,在系统服务描述符表中找到所述系统服务的函数入口地址,并将所述函数入口地址保存至内存;
d)重新编写系统服务函数;
e)以所述新的系统服务函数的入口地址替换步骤c所述函数入口地址。
具体而言,本发明包含两个部分:用户级钩子防御方法以及内核级钩子防御方法。
用户级钩子的防御方法包含以下步骤:
a)获得Windows系统提供的操作文件的系统服务名称;
所述操作文件的系统服务(系统服务的操作对象是文件)包括NtCreateFile,NtDeleteFile,NtOpenFile和NtWriteFile等。
b)利用调试的方法分析Windows系统中的win32子系统映像文件,获取a)所获得的系统服务对应的服务号。
本步骤使用windbg或IDA等调试工具查看win32子系统映像文件ntdll.dll以获取系统服务对应的服务号。
c)根据系统服务号,在系统服务描述符表中找到这些系统服务的函数入口地址,并将它们保存到内存中。
d)编写新的系统服务函数来替换原有的系统服务函数,新系统服务函数的运行流程如下:
i.判断所述系统服务所操作的文件是否是需要保护的系统文件;
ii.如果是,则禁止修改;如果否,则使用c)中保存的系统服务函数入口地址调用原来的系统服务函数,执行所述系统服务的文件操作。
e)将新系统服务函数的入口地址写入系统服务描述符表的相应表项中,替换原有的系统服务函数的入口地址。
另外,内核级钩子的防御方法包含以下步骤:
a)获得Windows系统提供的操作内核模块的系统服务的名称;
所述操作内核模块的系统服务(系统服务的操作对象是内核模块)包括NtLoadDriver和NtSetSystemInformation等。
b)利用调试的方法分析Windows系统中的win32子系统映像文件,获取a)所获得的系统服务的服务号。
本步骤使用windbg或IDA等调试工具查看win32子系统映像文件ntdll.dll,以获取系统服务对应的服务号。
c)根据系统服务号,在系统服务描述符表中找到这些系统服务的函数入口地址,并将它们保存到内存中。
d)编写新的系统服务函数来替换原有的系统服务函数,新系统服务函数的运行流程如下:
i.使用c)中保存的系统服务函数入口地址调用替换前的系统服务函数,执行加载内核模块的操作;
ii.加载完内核模块之后,当发现该模块第一次运行时,扫描上文所述的系统服务描述表是否被其修改;
iii.如果是,卸载该模块,并复原其对内核跳转表所做的修改;否则,继续运行。
e)将新系统服务函数的入口地址写入系统服务描述符表的相应表项中,替换原系统服务函数的入口地址。
本发明根据不同种类钩子的特点,分别在用户态和内核态进行钩子防御,具有两个优点,一是对钩子进行全面的防御;二是在恶意软件刚进入系统时觉查到并阻止其进一步的行为,防止恶意软件造成大的破坏。
附图说明
图1表示本发明钩子防御方法的示意图;
图2表示恶意软件调用系统服务函数设置用户级钩子的示意图;
图3表示本发明实施例1用户级钩子的防御方法的示意图;
图4表示恶意软件调用系统服务函数设置内核级钩子的示意图;
图5表示本发明实施例2内核级钩子的防御方法的示意图;
具体实施方式
下面通过实施例结合附图对本发明作更详细的描述。
实施例1:用户级钩子防御方法
图2描述了恶意软件调用系统服务函数设置用户级钩子的过程(在此以修改系统文件的情况为例),该过程包括:
1、调用NtOpenFile打开要修改的系统文件,在文件中找到要修改的API、导入地址表表项、导出地址表表项。
2、调用NtWriteFile修改该系统文件中的API以及导入地址表和导出地址表中的入口地址。
3、修改后的系统文件是包含了恶意API和非法函数入口地址的系统文件。
针对这一过程,本实施例通过下述方法实现对用户级钩子的防御,如图3所示:
1、使用调试工具IDA pro查看win32子系统映像文件ntdll.dll中NtWriteFile对应的服务号。
所有的系统服务函数的第一条指令为mov eax,<Index>,其中<Index>即为该系统服务的系统服务号,以NtWriteFile为例:
mov  eax,163h    ;NtWriteFile
mov  edx,7FFE0300h
call dword ptr [edx]
retn 24h
其中,163h即为系统服务NtWriteFile的系统服务号。
以下步骤通过编写程序完成。
2、根据系统服务号在系统服务描述符表中找到修改文件的系统服务函数入口地址。
(1)首先利用数据结构KeServiceDescriptorTable或KeServieDescriptorTableShadow获得系统服务描述符表的基地址,例如:
extern PSSDT KeServiceDescriptorTable;
pBase=KeServiceDescriptorTable->pvSSDTBase;
(2)根据系统服务号获得系统服务函数的入口地址,获取方式为:
*((PULONG)address)=*(pBase+uIndex*sizeof(SSDTItem));
3、保存获得的系统服务函数入口地址到内存中。
4、重新编写该系统服务函数,以NtWriteFile为例:
MyNtWriteFile(path):
{
    if(path属于需要保护的系统文件)
        拒绝操作;
    else
        NtWriteFile(path);
}
5、修改系统服务描述符表中该表项的权限为可写。
只需要将该内存区域的描述符改为MDL_MAPPED_TO_SYSTEM_VA,之后即可对该内存区域进行修改。
6、将5编写的系统服务函数的入口地址写入系统服务描述符表的相应表项中。
实施例2:内核级钩子防御方法
图4描述了恶意软件调用系统服务函数设置用户级钩子的过程,该过程包括:
1、将设置钩子的程序编写为Windows驱动程序的形式。
2、调用NtLoadDriver或NtSetSystemInformation将编写好的驱动程序加载到Windows内核。
3、设置钩子的驱动程序在内核中运行,将内核中的系统服务描述符表、中断描述符表、irp函数表中的入口地址修改为恶意软件提供的函数的入口地址。
针对这一过程,本实施例通过和实施例1相似的方法实现对内核级钩子的防御,如图5所示,其和实施例1方法的区别仅在于以下两点:
1.本实施例所针对的系统服务是操作内核模块的系统服务,包括:NtLoadDriver和NtSetSystemInformation。
2.重新编写的系统服务函数,运行流程如下(以NtLoadDriver为例):
MyNtLoadDriver(module):
{
    NtLoadDriver(module);
    hile(扫描SSDT各个表项item),
        if(item被module修改)
            NtUnLoadDriver(module);
            恢复item;
        end if
    end while
}。

Claims (9)

1.一种Windows操作系统下钩子的防御方法,所述方法包括:
a)获得Windows系统提供的系统服务名称;
b)通过调试工具查看所述系统的win32子系统映像文件,获取所述系统服务对应的服务号;
c)根据所述系统服务号,在系统服务描述符表中找到所述系统服务的函数入口地址,并将所述函数入口地址保存至内存;
d)重新编写系统服务函数;
e)以所述新的系统服务函数的入口地址替换步骤c所述函数入口地址。
2.如权利要求1所述的Windows操作系统下钩子的防御方法,其特征在于,步骤a所述系统服务是操作文件的系统服务。
3.如权利要求2所述的Windows操作系统下钩子的防御方法,其特征在于,所述系统服务包括:NtCreateFile,NtDeleteFile,NtOpenFile和NtWriteFile。
4.如权利要求2所述的Windows操作系统下钩子的防御方法,其特征在于,步骤b所述调试工具是windbg或IDA调试工具。
5.如权利要求2所述的Windows操作系统下钩子的防御方法,其特征在于,步骤d所述新的系统服务函数的运行流程为:
i.判断所述系统服务所操作的文件是否是需要保护的系统文件;
ii.如果是,则禁止修改;如果否,则使用步骤c所保存的函数入口地址调用系统服务函数,执行所述系统服务的文件操作。
6.如权利要求1所述的Windows操作系统下钩子的防御方法,其特征在于,步骤a所述系统服务是操作内核模块的系统服务。
7.如权利要求6所述的Windows操作系统下钩子的防御方法,其特征在于,所述系统服务包括:NtLoadDriver和NtSetSystemInformation。
8.如权利要求6所述的Windows操作系统下钩子的防御方法,其特征在于,步骤b所述调试工具是windbg或IDA调试工具。
9.如权利要求7所述的Windows操作系统下钩子的防御方法,其特征在于,步骤d所述新的系统服务函数的运行流程为:
i.使用步骤c所保存的函数入口地址调用系统服务函数,加载内核模块;
ii.内核模块加载后,若所述内核模块第一次运行,则扫描所述系统服务描述表是否被所述内核模块修改;
iii.如果是,则卸载所述内核模块,并复原所述修改;如果否,则继续运行。
CN 200910090179 2009-07-31 2009-07-31 一种Windows操作系统下钩子的防御方法 Expired - Fee Related CN101620660B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910090179 CN101620660B (zh) 2009-07-31 2009-07-31 一种Windows操作系统下钩子的防御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910090179 CN101620660B (zh) 2009-07-31 2009-07-31 一种Windows操作系统下钩子的防御方法

Publications (2)

Publication Number Publication Date
CN101620660A true CN101620660A (zh) 2010-01-06
CN101620660B CN101620660B (zh) 2012-03-21

Family

ID=41513891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910090179 Expired - Fee Related CN101620660B (zh) 2009-07-31 2009-07-31 一种Windows操作系统下钩子的防御方法

Country Status (1)

Country Link
CN (1) CN101620660B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214137A (zh) * 2010-04-06 2011-10-12 华为技术有限公司 调试方法和调试设备
CN101777102B (zh) * 2010-01-29 2012-05-09 蓝盾信息安全技术股份有限公司 一种对内核的安全审计方法和系统
CN102693394A (zh) * 2012-06-07 2012-09-26 奇智软件(北京)有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN102693395A (zh) * 2012-06-07 2012-09-26 奇智软件(北京)有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN103310152A (zh) * 2013-04-19 2013-09-18 哈尔滨工业大学深圳研究生院 基于系统虚拟化技术的内核态Rootkit检测方法
CN103914656A (zh) * 2014-03-25 2014-07-09 安一恒通(北京)科技有限公司 避免被恶意软件监控的方法和装置
CN104899512A (zh) * 2015-05-26 2015-09-09 浪潮电子信息产业股份有限公司 一种Windows系统服务描述符表防篡改装置及方法
CN105303114A (zh) * 2015-10-26 2016-02-03 浪潮电子信息产业股份有限公司 基于windows的系统服务函数调用方法及装置
CN105653937A (zh) * 2015-12-30 2016-06-08 北京神州绿盟信息安全科技股份有限公司 一种文件防护方法和装置
CN105786524A (zh) * 2016-03-23 2016-07-20 福建正孚软件有限公司 软件钩子设置方法及装置
CN106127032A (zh) * 2016-06-25 2016-11-16 北京金山安全软件有限公司 一种拦截应用程序行为的方法及终端
CN106446678A (zh) * 2016-09-22 2017-02-22 武汉斗鱼网络科技有限公司 一种基于句柄函数的网络账号保护方法及系统
CN106919458A (zh) * 2015-12-25 2017-07-04 腾讯科技(深圳)有限公司 Hook目标内核函数的方法及装置
CN111767119A (zh) * 2020-06-30 2020-10-13 云袭网络技术河北有限公司 一种不触发系统保护的内核挂钩方法
CN111914251A (zh) * 2020-07-03 2020-11-10 上海理想信息产业(集团)有限公司 一种基于混合控制技术的智能终端安全保护方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100458818C (zh) * 2007-07-10 2009-02-04 北京鼎信高科信息技术有限公司 一种通过Windows系统服务监控Windows系统剪贴板的方法
CN101493873A (zh) * 2009-03-04 2009-07-29 浪潮电子信息产业股份有限公司 基于内核层技术实现对win平台文件读写操作访问控制方法

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777102B (zh) * 2010-01-29 2012-05-09 蓝盾信息安全技术股份有限公司 一种对内核的安全审计方法和系统
CN102214137B (zh) * 2010-04-06 2014-01-22 华为技术有限公司 调试方法和调试设备
CN102214137A (zh) * 2010-04-06 2011-10-12 华为技术有限公司 调试方法和调试设备
CN102693395A (zh) * 2012-06-07 2012-09-26 奇智软件(北京)有限公司 一种用于拦截应用程序对服务的调用的方法和装置
WO2013182005A1 (zh) * 2012-06-07 2013-12-12 北京奇虎科技有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN102693395B (zh) * 2012-06-07 2015-02-11 北京奇虎科技有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN102693394B (zh) * 2012-06-07 2015-04-22 北京奇虎科技有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN102693394A (zh) * 2012-06-07 2012-09-26 奇智软件(北京)有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN103310152A (zh) * 2013-04-19 2013-09-18 哈尔滨工业大学深圳研究生院 基于系统虚拟化技术的内核态Rootkit检测方法
CN103310152B (zh) * 2013-04-19 2016-12-28 哈尔滨工业大学深圳研究生院 基于系统虚拟化技术的内核态Rootkit检测方法
CN103914656A (zh) * 2014-03-25 2014-07-09 安一恒通(北京)科技有限公司 避免被恶意软件监控的方法和装置
CN104899512A (zh) * 2015-05-26 2015-09-09 浪潮电子信息产业股份有限公司 一种Windows系统服务描述符表防篡改装置及方法
CN105303114A (zh) * 2015-10-26 2016-02-03 浪潮电子信息产业股份有限公司 基于windows的系统服务函数调用方法及装置
CN106919458B (zh) * 2015-12-25 2020-09-01 腾讯科技(深圳)有限公司 Hook目标内核函数的方法及装置
CN106919458A (zh) * 2015-12-25 2017-07-04 腾讯科技(深圳)有限公司 Hook目标内核函数的方法及装置
CN105653937A (zh) * 2015-12-30 2016-06-08 北京神州绿盟信息安全科技股份有限公司 一种文件防护方法和装置
CN105786524B (zh) * 2016-03-23 2019-03-12 福建正孚软件有限公司 软件钩子设置方法及装置
CN105786524A (zh) * 2016-03-23 2016-07-20 福建正孚软件有限公司 软件钩子设置方法及装置
CN106127032A (zh) * 2016-06-25 2016-11-16 北京金山安全软件有限公司 一种拦截应用程序行为的方法及终端
CN106127032B (zh) * 2016-06-25 2019-05-03 珠海豹趣科技有限公司 一种拦截应用程序行为的方法及终端
CN106446678A (zh) * 2016-09-22 2017-02-22 武汉斗鱼网络科技有限公司 一种基于句柄函数的网络账号保护方法及系统
CN111767119A (zh) * 2020-06-30 2020-10-13 云袭网络技术河北有限公司 一种不触发系统保护的内核挂钩方法
CN111767119B (zh) * 2020-06-30 2023-05-23 云袭网络技术河北有限公司 一种不触发系统保护的内核挂钩方法
CN111914251A (zh) * 2020-07-03 2020-11-10 上海理想信息产业(集团)有限公司 一种基于混合控制技术的智能终端安全保护方法及系统

Also Published As

Publication number Publication date
CN101620660B (zh) 2012-03-21

Similar Documents

Publication Publication Date Title
CN101620660B (zh) 一种Windows操作系统下钩子的防御方法
US10977370B2 (en) Method of remediating operations performed by a program and system thereof
US11886591B2 (en) Method of remediating operations performed by a program and system thereof
US8209757B1 (en) Direct call into system DLL detection system and method
US8661541B2 (en) Detecting user-mode rootkits
CA2856268C (en) Methods of detection of software exploitation
EP3362937B1 (en) Method of remediating a program and system thereof by undoing operations
US7814549B2 (en) Direct process access
JP2018524756A (ja) 複数のソフトウェアエンティティにわたって悪意あるビヘイビアを追跡するためのシステムおよび方法
US8850573B1 (en) Computing device with untrusted user execution mode
GB2433621A (en) Scanning for viruses in the memory of a computing device
KR20080072952A (ko) 메모리 페이지를 프로그램과 연관시키기 위한 페이지컬러링
CN101620658A (zh) 一种Windows操作系统下钩子的检测方法
US7860850B2 (en) Scanning files using direct file system access
Case et al. HookTracer: A system for automated and accessible API hooks analysis
CN104268462A (zh) 一种安卓系统的分区保护方法和装置
CN101620659A (zh) 一种Windows操作系统下钩子的检测方法
CN101950339B (zh) 一种电脑安全防护方法和系统
Nadim et al. Characteristic features of the kernel-level rootkit for learning-based detection model training
US7281271B1 (en) Exception handling validation system and method
CN105550582A (zh) 访问虚拟磁盘的方法及系统
Fu et al. A windows rootkit detection method based on cross-view
Dong et al. Kims: kernel integrity measuring system based on trustzone
CN112199672A (zh) 账号权限提升行为的检测方法、装置及可读存储介质
CN112199673A (zh) 权限提升行为的检测方法、装置及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120321

Termination date: 20140731

EXPY Termination of patent right or utility model