CN105844148A - 一种保护操作系统的方法、装置及电子设备 - Google Patents
一种保护操作系统的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN105844148A CN105844148A CN201610149613.0A CN201610149613A CN105844148A CN 105844148 A CN105844148 A CN 105844148A CN 201610149613 A CN201610149613 A CN 201610149613A CN 105844148 A CN105844148 A CN 105844148A
- Authority
- CN
- China
- Prior art keywords
- function
- operating system
- shutdown
- hook
- application program
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明的实施例公开一种保护操作系统的方法、装置及电子设备。方法包括:在预先注入到内核层中的钩子函数监测到应用层进程调用操作系统关机或重启函数时,钩住所述操作系统关机或重启函数;获取调用所述操作系统关机或重启函数的应用层进程的进程路径信息,提取所述进程路径信息映射的应用程序;如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序相同,拒绝所述应用程序的关机或重启请求。应用本发明,可以提升操作系统的安全防护效率。
Description
技术领域
本发明涉及计算机网络安全技术,尤其涉及一种保护操作系统的方法、装置及电子设备。
背景技术
随着Windows操作系统内核层技术细节的逐渐公开,越来越多的木马病毒等恶意应用程序开始使用内核层驱动程序来保护自身的进程,受内核层驱动程序保护的恶意应用程序的进程,可以结束(杀死)Windows操作系统中的其它进程,从而使得恶意应用程序的进程可以根据恶意应用程序提供者的意图,对用户的进程或系统进程进行恶意攻击,可能造成计算机运行不稳定,甚至可能给用户带来非常大的经济损失,例如,恶意关闭或重启计算机系统,从而破坏计算机户系统,导致用户数据被损坏。其中,进程(Process)是计算机中的应用程序关于数据集合上的一次运行活动,是Windows操作系统进行资源分配和调度的基本单位,是Windows操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是应用程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。也就是说,应用程序是指令、数据及其组织形式的描述,进程是应用程序的实体。
目前,保护Windows操作系统不被非法关机或重启的方法是利用钩子(HOOK)技术,通过对关机或重启Windows操作系统的关机函数进行钩子处理,从而实现对进程的过滤、监控,可以防止应用层进程被恶意应用程序的进程结束,从而有效防控恶意进程对关闭和重启操作系统的恶意攻击。
在Windows操作系统中,应用层进程关闭和重启操作系统将会调用ExitWindows函数或ExitWindowsEx函数来实现。因而,为了保护操作系统不被恶意关闭和重启,现有防止操作系统被恶意关机或重启的方法是通过Hook应用层进程的关机函数ExitWindows函数和ExitWindowsEx函数,在监测到有进程调用关机函数ExitWindows函数或ExitWindowsEx函数时,进行拦截处理以保护操作系统被恶意关机或重启。
但该防止操作系统被恶意关机或重启的方法,由于关机函数ExitWindows函数或ExitWindowsEx函数对应于内核的函数是NtShutdownSystem,因而,在应用层进程调用ExitWindows函数或ExitWindowsEx函数关闭和重启操作系统时,ExitWindows函数或ExitWindowsEx函数需要再调用内核NtShutdownSystem函数来关闭和重启操作系统,使得真正完成关闭和重启操作系统的函数是内核NtShutdownSystem函数,从而使得恶意应用程序可以通过直接调用内核NtShutdownSystem函数来实现对操作系统的恶意关机或重启操作,导致用户数据未及时存储而被损坏,不能有效防止操作系统的恶意关机或重启,导致Windows操作系统的安全防护效率较低,安全性不高。
发明内容
有鉴于此,本发明实施例提供一种保护操作系统的方法、装置及电子设备,提升操作系统的安全防护效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种保护操作系统的方法,包括:
在预先注入到内核层中的钩子函数监测到应用层进程调用操作系统关机或重启函数时,钩住所述操作系统关机或重启函数;
获取调用所述操作系统关机或重启函数的应用层进程的进程路径信息,提取所述进程路径信息映射的应用程序;
如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序相同,拒绝所述应用程序的关机或重启请求。
可选的,所述应用层进程调用操作系统关机或重启函数包括:
应用层进程直接调用操作系统关机或重启函数。
可选的,所述应用层进程调用操作系统关机或重启函数包括:
应用层进程调用操作系统退出函数,所述操作系统退出函数调用所述操作系统关机或重启函数。
可选的,所述获取调用所述操作系统关机或重启函数的应用层进程的进程路径信息包括:
获取调用所述操作系统关机或重启函数时的内存地址;
解析所述内存地址,得到调用所述操作系统关机或重启函数的应用层进程的进程句柄;
利用所述进程句柄的内核对象获取进程路径信息。
可选的,所述方法还包括:
如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序不相同,通知所述操作系统关机或重启函数执行操作系统关机或重启操作。
可选的,所述应用程序特征库由用户在本地进行设置,所述方法还包括:
将拒绝的应用程序信息上报至预先设置的网络服务器。
第二方面,本发明实施例提供一种保护操作系统的装置,包括:钩子模块、应用程序提取模块以及操作处理模块,其中,
钩子模块,用于在预先注入到内核层中的钩子函数监测到应用层进程调用操作系统关机或重启函数时,钩住所述操作系统关机或重启函数;
应用程序提取模块,用于获取调用所述操作系统关机或重启函数的应用层进程的进程路径信息,提取所述进程路径信息映射的应用程序;
操作处理模块,如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序相同,拒绝所述应用程序的关机或重启请求。
可选的,所述钩子模块包括:钩子函数注入单元、操作请求单元、进程创建单元、第一监测单元以及钩子单元,其中,
钩子函数注入单元,用于在内核层中注入预先设置的钩子函数,在操作系统启动后,激活所述钩子函数;
操作请求单元,用于接收应用程序向操作系统发送关机或重启请求;
进程创建单元,用于依据所述关机或重启请求为所述应用程序创建应用层进程;
第一监测单元,用于利用所述钩子函数监测所述应用层进程是否调用操作系统关机或重启函数,在监测到应用层进程直接调用操作系统关机或重启函数时,通知钩子单元;
钩子单元,用户钩住所述操作系统关机或重启函数。
可选的,所述钩子模块包括:钩子函数注入单元、操作请求单元、进程创建单元、第二监测单元、第三监测单元以及钩子单元,其中,
钩子函数注入单元,用于在内核层中注入预先设置的钩子函数,在操作系统启动后,激活所述钩子函数;
操作请求单元,用于接收应用程序向操作系统发送关机或重启请求;
进程创建单元,用于依据所述关机或重启请求为所述应用程序创建应用层进程;
第二监测单元,用于利用所述钩子函数监测所述应用层进程是否调用操作系统退出函数,如果是,通知第三监测单元;
第三监测单元,用于监测操作系统退出函数是否调用操作系统关机或重启函数,在监测到应用层进程直接调用操作系统关机或重启函数时,通知钩子单元;
钩子单元,用户钩住所述操作系统关机或重启函数。
可选的,所述应用程序提取模块包括:内存地址获取单元、进程句柄获取单元、进程路径信息获取单元以及应用程序提取单元,其中,
内存地址获取单元,用于获取调用所述操作系统关机或重启函数时的内存地址;
进程句柄获取单元,用于解析所述内存地址,得到调用所述操作系统关机或重启函数的应用层进程的进程句柄;
进程路径信息获取单元,用于利用所述进程句柄的内核对象获取进程路径信息;
应用程序提取单元,用于提取所述进程路径信息映射的应用程序。
可选的,所述操作处理模块还用于如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序不相同,通知所述操作系统关机或重启函数执行操作系统关机或重启操作。
可选的,所述应用程序特征库由用户在本地进行设置,所述装置还包括:
上报模块,用于将拒绝的应用程序信息上报至预先设置的网络服务器。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的保护操作系统的方法。
本发明实施例提供的保护操作系统的方法、装置及电子设备,在预先注入到内核层中的钩子函数监测到应用层进程调用操作系统关机或重启函数时,钩住所述操作系统关机或重启函数;获取调用所述操作系统关机或重启函数的应用层进程的进程路径信息,提取所述进程路径信息映射的应用程序;如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序相同,拒绝所述应用程序的关机或重启请求。这样,通过Hook操作系统关机或重启函数,当应用程序关闭和重启操作系统时,能够及时拦截应用程序通过内核的方式关闭和重启操作系统的行为,能够有效防止操作系统被关机或重启,提升了操作系统的安全防护效率,增强了操作系统的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例保护操作系统的方法流程示意图;
图2为本发明实施例保护操作系统的装置结构示意图;
图3为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例保护操作系统的方法流程示意图。参见图1,该方法包括:
步骤11,在预先注入到内核层中的钩子函数监测到应用层进程调用操作系统关机或重启函数时,钩住所述操作系统关机或重启函数;
本步骤中,操作系统被恶意操作包括:操作系统被恶意关机,或,操作系统被恶意重启。
作为一可选实施例,操作系统关机或重启函数为内核NtShutdownSystem函数。
本发明实施例中,注入的钩子(Hook)函数用于监听应用层进程的函数调用相关操作,并在应用层进程调用的相关函数与预先设置的函数相匹配时,拦截该调用的函数,转由注入的钩子函数替换该调用函数进行处理,并返回相应处理结果。
作为一可选实施例,可在金山毒霸防御驱动应用程序加载时注入Hook函数,其中,
Hook函数是Windows操作系统中消息处理机制的一段程序代码段,驱动应用程序可以通过该程序代码段,设置子程序代码段以监视指定窗口的某种消息(操作),而且所监视的指定窗口可以是其他进程所创建的。Hook函数具有的钩子机制通过Windows操作系统调用,将具有优先控制权的Hook函数挂入Windows操作系统,允许Hook函数截获Windows操作系统发出的消息或特定事件,每当Windows操作系统中消息或特定事件发出,在没有到达目的窗口前,Hook函数能够先捕获该消息或特定事件,从而可以加工处理(改变)该消息或特定事件,也可以不作处理而继续传递,还可以强制结束消息或特定事件的传递。
本发明实施例中,通过防御驱动应用程序中Hook内核NtShutdownSystem函数,在应用层进程,例如,应用程序通过向操作系统发送关机或重启请求,所述操作系统依据接收的关机或重启请求创建相应的应用层进程,该应用层进程调用内核NtShutdownSystem函数以关闭或重启操作系统时,就会先调用本发明实施例的Hook函数,从而依据预先设置在Hook函数中的拦截规则进行相应处理。
本发明实施例中,作为一可选实施例,所述应用层进程为一应用程序向操作系统发送关机或重启请求时,所述操作系统依据所述关机或重启请求为所述应用程序创建的进程。
作为一可选实施例,应用层进程调用操作系统关机或重启函数包括:
应用层进程直接调用操作系统关机或重启函数。
作为另一可选实施例,应用层进程调用所述操作系统关机或重启函数包括:
应用层进程调用操作系统退出函数,所述操作系统退出函数调用所述操作系统关机或重启函数。
本步骤中,作为一可选实施例,操作系统退出函数包括:ExitWindows函数、和/或,ExitWindowsEx函数。其中,ExitWindowsEx函数应用于较高版本的操作系统中,ExitWindows函数应用于较低以及较高版本的操作系统中,均用于执行退出、重启或注销操作系统操作。通过设置不同的参数值,用以表明是关闭操作系统还是重启操作系统,例如,作为一可选实施例,ExitWindowsEx(0,0)表示执行操作系统关机操作,ExitWindowsEx(1,0)表示执行操作系统重启操作等。
在操作系统进行关机或重启时,在应用层进程调用内核NtShutdownSystem函数后,内核NtShutdownSystem函数通知硬件驱动设备保存内核数据,并将注册表和文件的缓存刷新到磁盘上,然后立即进行操作系统关机或重启操作,由于内核NtShutdownSystem函数通知硬件驱动后是瞬间关机的,因而,使得一些未来得及存储的数据丢失,如果是预先设置的应用程序发起的关机或重启请求,将会给用户带来安全隐患。本发明实施例中,利用Hook函数钩住操作系统关机或重启函数,终止其执行的操作,并由Hook函数进行处理。
步骤12,获取调用所述操作系统关机或重启函数的应用层进程的进程路径信息,提取所述进程路径信息映射的应用程序;
本步骤中,作为一可选实施例,获取调用所述操作系统关机或重启函数的应用层进程的进程路径信息包括:
A1,获取调用所述操作系统关机或重启函数时的内存地址;
A2,解析所述内存地址,得到调用所述操作系统关机或重启函数的应用层进程的进程句柄;
A3,利用所述进程句柄的内核对象获取进程路径信息。
本发明实施例中,步骤A1至步骤A3为公知技术,在此略去详述。
本发明实施例中,通过获取进行关闭和重启操作系统的操作进程路径信息,可以获知进程对应的应用程序,即可以获知向操作系统发送关机或重启请求的应用程序信息。
步骤13,如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序相同,拒绝所述应用程序的关机或重启请求。
本步骤中,将提取的应用程序在应用程序特征库中进行搜索匹配,判断调用操作系统关机或重启函数的应用层进程对应的应用程序是否是应用程序,如果与预先设置的应用程序特征库中的任一应用程序不相同,则可以确定发起请求的应用程序是正常应用程序。
因而,作为一可选实施例,该方法还可以包括:
如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序不相同,通知所述操作系统关机或重启函数执行操作系统关机或重启操作。
本发明实施例中,如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序相同,则认为该应用层进程为应用程序进程,需要进行拦截,则结束本次操作,返回拒绝,从而拒绝该应用程序的关机或重启请求,使得应用程序关闭和重启操作系统的请求失败。例如,在用户电脑环境中,存在一应用程序A。假设通过在金山毒霸的防御驱动中注入Hook函数,Hook用以执行操作系统关机或重启的内核NtShutdownSystem函数,这样,当应用程序A的进程通知该应用程序对应的驱动应用程序调用内核NtShutdownSystem函数,以关闭和重启操作系统时,注入在金山毒霸的防御驱动中的Hook函数对该关闭和重启操作系统的行为进行拦截,并返回拒绝,使得应用程序A不能关闭和重启操作系统,从而更好地保护操作系统环境不被破坏。
本发明实施例中,作为一可选实施例,应用程序特征库可通过相关技术人员在网络服务器通过对各应用程序运行的分析,选取能够自动关闭或重启操作系统的应用程序形成应用程序特征库,并将形成的应用程序特征库下发至各应用终端,应用终端接收网络服务器下发的应用程序特征库进行保存。当然,实际应用中,也可以由用户在本地设置应用程序特征库,本发明实施例对此不作限定。
作为另一可选实施例,如果由用户在本地设置应用程序特征库,该方法还可以包括:
将拒绝的应用程序信息上报至预先设置的网络服务器。
本步骤中,用户设置或由操作系统自动将拒绝的应用程序的相关信息进行上报,可以便于网络服务器统计各应用终端上报的应用程序信息,并依据统计,确定哪些应用程序为应用程序,并设置该应用程序的风险提示,从而在用户下载该应用程序时,提示相应的风险,例如,提示该应用程序会自动进行操作系统关机或重启,使得用户能够慎重考虑是否下载该应用程序,以避免对用户的应用终端带来的安全隐患。
由上述可见,本发明实施例保护操作系统(关机或重启)的方法,在预先注入到内核层中的钩子函数监测到应用层进程调用操作系统关机或重启函数时,钩住所述操作系统关机或重启函数;获取调用所述操作系统关机或重启函数的应用层进程的进程路径信息,提取所述进程路径信息映射的应用程序;如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序相同,拒绝所述应用程序的关机或重启请求。这样,通过Hook内核NtShutdownSystem函数,当应用程序关闭和重启操作系统时,能够及时拦截应用程序通过内核的方式关闭和重启操作系统的行为,从而更好地保护操作系统的安全,避免了应用程序可以通过直接调用内核NtShutdownSystem函数来实现对操作系统的关机或重启操作,能够有效防止操作系统被关机或重启,提升了操作系统的安全防护效率,增强了操作系统的安全性。
图2为本发明实施例保护操作系统的装置结构示意图。参见图2,该装置包括:钩子模块21、应用程序提取模块22以及操作处理模块23,其中,
钩子模块21,用于在预先注入到内核层中的钩子函数监测到应用层进程调用操作系统关机或重启函数时,钩住所述操作系统关机或重启函数;
本发明实施例中,操作系统被恶意操作包括:操作系统被恶意关机,或,操作系统被恶意重启。
作为一可选实施例,操作系统关机或重启函数为内核NtShutdownSystem函数。
本发明实施例中,作为一可选实施例,所述应用层进程为一应用程序向操作系统发送关机或重启请求时,所述操作系统依据所述关机或重启请求为所述应用程序创建的进程。
作为一可选实施例,钩子模块21包括:钩子函数注入单元、操作请求单元、进程创建单元、第一监测单元以及钩子单元(图中未示出),其中,
钩子函数注入单元,用于在内核层中注入预先设置的钩子函数,在操作系统启动后,激活所述钩子函数;
操作请求单元,用于接收应用程序向操作系统发送关机或重启请求;
进程创建单元,用于依据所述关机或重启请求为所述应用程序创建应用层进程;
第一监测单元,用于利用所述钩子函数监测所述应用层进程是否调用操作系统关机或重启函数,在监测到应用层进程直接调用操作系统关机或重启函数时,通知钩子单元;
钩子单元,用户钩住所述操作系统关机或重启函数。
作为另一可选实施例,钩子模块21包括:钩子函数注入单元、操作请求单元、进程创建单元、第二监测单元、第三监测单元以及钩子单元,其中,
钩子函数注入单元,用于在内核层中注入预先设置的钩子函数,在操作系统启动后,激活所述钩子函数;
操作请求单元,用于接收应用程序向操作系统发送关机或重启请求;
进程创建单元,用于依据所述关机或重启请求为所述应用程序创建应用层进程;
第二监测单元,用于利用所述钩子函数监测所述应用层进程是否调用操作系统退出函数,如果是,通知第三监测单元;
本发明实施例中,作为一可选实施例,操作系统退出函数包括:ExitWindows函数、和/或,ExitWindowsEx函数。
第三监测单元,用于监测操作系统退出函数是否调用操作系统关机或重启函数,在监测到应用层进程直接调用操作系统关机或重启函数时,通知钩子单元;
钩子单元,用户钩住所述操作系统关机或重启函数。
应用程序提取模块22,用于获取调用所述操作系统关机或重启函数的应用层进程的进程路径信息,提取所述进程路径信息映射的应用程序;
本发明实施例中,作为一可选实施例,应用程序提取模块22包括:内存地址获取单元、进程句柄获取单元、进程路径信息获取单元以及应用程序提取单元(图中未示出),其中,
内存地址获取单元,用于获取调用所述操作系统关机或重启函数时的内存地址;
进程句柄获取单元,用于解析所述内存地址,得到调用所述操作系统关机或重启函数的应用层进程的进程句柄;
进程路径信息获取单元,用于利用所述进程句柄的内核对象获取进程路径信息;
应用程序提取单元,用于提取所述进程路径信息映射的应用程序。
操作处理模块23,如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序相同,拒绝所述应用程序的关机或重启请求。
本发明实施例中,操作处理模块23将提取的应用程序在应用程序特征库中进行搜索匹配,判断调用操作系统关机或重启函数的应用层进程对应的应用程序是否是应用程序,如果与预先设置的应用程序特征库中的任一应用程序不相同,则可以确定发起请求的应用程序是正常应用程序。
本发明实施例中,作为一可选实施例,述操作处理模块23还用于如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序不相同,通知所述操作系统关机或重启函数执行操作系统关机或重启操作。
本发明实施例中,作为一可选实施例,所述应用程序特征库由用户在本地进行设置,该装置还包括:
上报模块24,用于将拒绝的应用程序信息上报至预先设置的网络服务器。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图3为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-2所示实施例的流程,如图3所示,上述电子设备可以包括:壳体31、处理器32、存储器33、电路板34和电源电路35,其中,电路板34安置在壳体31围成的空间内部,处理器32和存储器33设置在电路板34上;电源电路35,用于为上述电子设备的各个电路或器件供电;存储器33用于存储可执行程序代码;处理器32通过读取存储器33中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的保护操作系统的方法。
处理器32对上述步骤的具体执行过程以及处理器32通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-2所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种保护操作系统的方法,其特征在于,该方法包括:
在预先注入到内核层中的钩子函数监测到应用层进程调用操作系统关机或重启函数时,钩住所述操作系统关机或重启函数;
获取调用所述操作系统关机或重启函数的应用层进程的进程路径信息,提取所述进程路径信息映射的应用程序;
如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序相同,拒绝所述应用程序的关机或重启请求。
2.根据权利要求1所述的方法,其特征在于,所述应用层进程调用操作系统关机或重启函数包括:
应用层进程直接调用操作系统关机或重启函数。
3.根据权利要求1所述的方法,其特征在于,所述应用层进程调用操作系统关机或重启函数包括:
应用层进程调用操作系统退出函数,所述操作系统退出函数调用所述操作系统关机或重启函数。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述获取调用所述操作系统关机或重启函数的应用层进程的进程路径信息包括:
获取调用所述操作系统关机或重启函数时的内存地址;
解析所述内存地址,得到调用所述操作系统关机或重启函数的应用层进程的进程句柄;
利用所述进程句柄的内核对象获取进程路径信息。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序不相同,通知所述操作系统关机或重启函数执行操作系统关机或重启操作。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述应用程序特征库由用户在本地进行设置,所述方法还包括:
将拒绝的应用程序信息上报至预先设置的网络服务器。
7.一种保护操作系统的装置,其特征在于,该装置包括:钩子模块、应用程序提取模块以及操作处理模块,其中,
钩子模块,用于在预先注入到内核层中的钩子函数监测到应用层进程调用操作系统关机或重启函数时,钩住所述操作系统关机或重启函数;
应用程序提取模块,用于获取调用所述操作系统关机或重启函数的应用层进程的进程路径信息,提取所述进程路径信息映射的应用程序;
操作处理模块,如果提取的所述应用程序与预先设置的应用程序特征库中的任一应用程序相同,拒绝所述应用程序的关机或重启请求。
8.根据权利要求7所述的装置,其特征在于,所述钩子模块包括:钩子函数注入单元、操作请求单元、进程创建单元、第一监测单元以及钩子单元,其中,
钩子函数注入单元,用于在内核层中注入预先设置的钩子函数,在操作系统启动后,激活所述钩子函数;
操作请求单元,用于接收应用程序向操作系统发送关机或重启请求;
进程创建单元,用于依据所述关机或重启请求为所述应用程序创建应用层进程;
第一监测单元,用于利用所述钩子函数监测所述应用层进程是否调用操作系统关机或重启函数,在监测到应用层进程直接调用操作系统关机或重启函数时,通知钩子单元;
钩子单元,用户钩住所述操作系统关机或重启函数。
9.根据权利要求7所述的装置,其特征在于,所述钩子模块包括:钩子函数注入单元、操作请求单元、进程创建单元、第二监测单元、第三监测单元以及钩子单元,其中,
钩子函数注入单元,用于在内核层中注入预先设置的钩子函数,在操作系统启动后,激活所述钩子函数;
操作请求单元,用于接收应用程序向操作系统发送关机或重启请求;
进程创建单元,用于依据所述关机或重启请求为所述应用程序创建应用层进程;
第二监测单元,用于利用所述钩子函数监测所述应用层进程是否调用操作系统退出函数,如果是,通知第三监测单元;
第三监测单元,用于监测操作系统退出函数是否调用操作系统关机或重启函数,在监测到应用层进程直接调用操作系统关机或重启函数时,通知钩子单元;
钩子单元,用户钩住所述操作系统关机或重启函数。
10.根据权利要求7至9任一项所述的装置,其特征在于,所述应用程序提取模块包括:内存地址获取单元、进程句柄获取单元、进程路径信息获取单元以及应用程序提取单元,其中,
内存地址获取单元,用于获取调用所述操作系统关机或重启函数时的内存地址;
进程句柄获取单元,用于解析所述内存地址,得到调用所述操作系统关机或重启函数的应用层进程的进程句柄;
进程路径信息获取单元,用于利用所述进程句柄的内核对象获取进程路径信息;
应用程序提取单元,用于提取所述进程路径信息映射的应用程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610149613.0A CN105844148A (zh) | 2016-03-16 | 2016-03-16 | 一种保护操作系统的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610149613.0A CN105844148A (zh) | 2016-03-16 | 2016-03-16 | 一种保护操作系统的方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105844148A true CN105844148A (zh) | 2016-08-10 |
Family
ID=56587202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610149613.0A Pending CN105844148A (zh) | 2016-03-16 | 2016-03-16 | 一种保护操作系统的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105844148A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804147A (zh) * | 2018-05-28 | 2018-11-13 | 新华三云计算技术有限公司 | 联动关机方法、装置及客户端 |
CN111639341A (zh) * | 2020-05-29 | 2020-09-08 | 北京金山云网络技术有限公司 | 一种恶意程序的检测方法、装置、电子设备及存储介质 |
CN114327010A (zh) * | 2021-12-28 | 2022-04-12 | 杭州雾联科技有限公司 | 一种系统控制方法、装置、介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901313A (zh) * | 2010-06-10 | 2010-12-01 | 中科方德软件有限公司 | 一种Linux文件保护系统及方法 |
CN103019687A (zh) * | 2012-11-20 | 2013-04-03 | 北京奇虎科技有限公司 | 用于弹窗信息的展示方法和装置 |
CN103699498A (zh) * | 2013-11-25 | 2014-04-02 | 南京大学 | 一种应用程序关键数据保护系统及其保护方法 |
CN103795703A (zh) * | 2011-04-18 | 2014-05-14 | 北京奇虎科技有限公司 | 一种保证用户网络安全性的方法及客户端 |
US9372786B1 (en) * | 2012-06-13 | 2016-06-21 | Amazon Technologies, Inc. | Constructing state-transition functions for mobile devices |
-
2016
- 2016-03-16 CN CN201610149613.0A patent/CN105844148A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901313A (zh) * | 2010-06-10 | 2010-12-01 | 中科方德软件有限公司 | 一种Linux文件保护系统及方法 |
CN103795703A (zh) * | 2011-04-18 | 2014-05-14 | 北京奇虎科技有限公司 | 一种保证用户网络安全性的方法及客户端 |
US9372786B1 (en) * | 2012-06-13 | 2016-06-21 | Amazon Technologies, Inc. | Constructing state-transition functions for mobile devices |
CN103019687A (zh) * | 2012-11-20 | 2013-04-03 | 北京奇虎科技有限公司 | 用于弹窗信息的展示方法和装置 |
CN103699498A (zh) * | 2013-11-25 | 2014-04-02 | 南京大学 | 一种应用程序关键数据保护系统及其保护方法 |
Non-Patent Citations (1)
Title |
---|
网友: "Hook ExitWindowsEx的阻止关机有关问题", 《MYEXCEPTION.CN》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804147A (zh) * | 2018-05-28 | 2018-11-13 | 新华三云计算技术有限公司 | 联动关机方法、装置及客户端 |
CN111639341A (zh) * | 2020-05-29 | 2020-09-08 | 北京金山云网络技术有限公司 | 一种恶意程序的检测方法、装置、电子设备及存储介质 |
CN111639341B (zh) * | 2020-05-29 | 2023-09-05 | 北京金山云网络技术有限公司 | 一种恶意程序的检测方法、装置、电子设备及存储介质 |
CN114327010A (zh) * | 2021-12-28 | 2022-04-12 | 杭州雾联科技有限公司 | 一种系统控制方法、装置、介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105427096B (zh) | 支付安全沙箱实现方法及系统与应用程序监控方法及系统 | |
CN104376263B (zh) | 应用程序行为拦截的方法和装置 | |
CN105844146A (zh) | 一种保护驱动程序的方法、装置及电子设备 | |
CN106709325B (zh) | 一种监控程序的方法及装置 | |
US10176327B2 (en) | Method and device for preventing application in an operating system from being uninstalled | |
CN104463569A (zh) | 安全连接支付方法及其装置 | |
CN104125216A (zh) | 一种提升可信执行环境安全性的方法、系统及终端 | |
CN106201468A (zh) | 一种截屏的处理方法、装置及电子设备 | |
CN102708309A (zh) | 恶意代码自动分析方法及系统 | |
CN108334404B (zh) | 应用程序的运行方法和装置 | |
CN102194073A (zh) | 一种杀毒软件的扫描方法及装置 | |
CN106682493B (zh) | 一种防止进程被恶意结束的方法、装置及电子设备 | |
CN105893847A (zh) | 一种保护安全防护应用程序文件的方法、装置及电子设备 | |
CN111191243A (zh) | 一种漏洞检测方法、装置和存储介质 | |
CN106127031A (zh) | 一种保护进程的方法、装置及电子设备 | |
CN106203077A (zh) | 一种复制信息的处理方法、装置及电子设备 | |
CN105844148A (zh) | 一种保护操作系统的方法、装置及电子设备 | |
CN106203092A (zh) | 一种拦截恶意程序关机的方法、装置及电子设备 | |
CN105868625A (zh) | 一种拦截文件被重启删除的方法及装置 | |
CN104992116B (zh) | 基于intent sniffer的监测方法及系统 | |
CN105279433B (zh) | 一种应用程序的防护方法及装置 | |
CN106682504B (zh) | 一种防止文件被恶意编辑的方法、装置及电子设备 | |
CN106022110B (zh) | 识别推送平台应用的方法及装置 | |
CN114282212A (zh) | 流氓软件识别方法、装置、电子设备及存储介质 | |
CN106022117A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190104 Address after: 519031 Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant after: Zhuhai Leopard Technology Co.,Ltd. Address before: 100085 East District, Second Floor, 33 Xiaoying West Road, Haidian District, Beijing Applicant before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160810 |
|
RJ01 | Rejection of invention patent application after publication |