CN111444118B - 一种进程保护方法、装置、终端设备及存储介质 - Google Patents

一种进程保护方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN111444118B
CN111444118B CN202010210480.XA CN202010210480A CN111444118B CN 111444118 B CN111444118 B CN 111444118B CN 202010210480 A CN202010210480 A CN 202010210480A CN 111444118 B CN111444118 B CN 111444118B
Authority
CN
China
Prior art keywords
lsass
real
disguised
memory address
white list
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.)
Active
Application number
CN202010210480.XA
Other languages
English (en)
Other versions
CN111444118A (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.)
Digital Finance Ltd
Original Assignee
Digital Finance Ltd
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 Digital Finance Ltd filed Critical Digital Finance Ltd
Priority to CN202010210480.XA priority Critical patent/CN111444118B/zh
Publication of CN111444118A publication Critical patent/CN111444118A/zh
Application granted granted Critical
Publication of CN111444118B publication Critical patent/CN111444118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例公开了一种进程保护方法、装置、终端设备及存储介质,所述方法包括:获取来自第一进程对lsass进程的通信请求;响应所述通信请求获取由所述安全保护壳创建的进程白名单,并根据所述进程白名单确定所述第一进程的访问权限;根据所述访问权限向所述第一进程返回与所述访问权限匹配的lsass进程的真实或伪装内存地址,以控制所述第一进程根据所述真实或伪装内存地址与所述lsass进程进行通信,从而可以防止进程被非法访问,实现对进程的有效保护。

Description

一种进程保护方法、装置、终端设备及存储介质
技术领域
本申请涉及计算机技术领域,具体涉及一种进程保护方法、装置、终端设备及存储介质。
背景技术
Windows域是计算机网络的一种形式,其中所有用户帐户,计算机,打印机和其他安全主体都在位于称为域控制器的一个或多个中央计算机集群上的中央数据库中注册。在域中使用计算机的每个人都会收到一个唯一的用户帐户,然后可以为该帐户分配对该域内资源的访问权限。现有Windows中不同的版本的系统采用不同的处理方法,在windows 10以下和windows Server 2008及以下系统中未做任何防护,通过AES和三重数据加密算法3DES秘钥解密后的值为明文密码,因此,明文密码容易被不法人员获取进而产生安全问题。而在windows10和Windows Server 2008以上仅仅对解密后的值进行了信息摘要算法MD5加密,即通过AES和3DES解密后的值为MD5值(32位),最终还是能获取到用户的密码Hash值,在此种方式下,不法人员仍然可以通过暴力破解的方式同样可以获取到用户的明文密码,从而获得进程的访问权限。因此,现有windows系统中亟需一种保护域进程的改进方法。
发明内容
本申请实施例提供了一种进程保护方法、装置、终端设备及存储介质,从而可以防止进程被非法访问,实现对进程的有效保护。
本发明实施例第一方面提供了一种进程保护方法,所述方法应用于安全保护壳,所述方法包括:
获取来自第一进程对lsass进程的通信请求;
响应所述通信请求获取由所述安全保护壳创建的进程白名单,并根据所述进程白名单确定所述第一进程的访问权限;
根据所述访问权限向所述第一进程返回与所述访问权限匹配的lsass进程的真实或伪装内存地址,以控制所述第一进程根据所述真实或伪装内存地址与所述lsass进程进行通信。
本发明实施例第二方面提供了一种进程保护装置,所述装置应用于安全保护壳,所述装置包括:
获取模块,用于获取来自第一进程对lsass进程的通信请求;
处理模块,用于响应所述通信请求获取由所述安全保护壳创建的进程白名单,并根据所述进程白名单确定所述第一进程的访问权限;
返回模块,用于根据所述访问权限向所述第一进程返回与所述访问权限匹配的lsass进程的真实或伪装内存地址,以控制所述第一进程根据所述真实或伪装内存地址与所述lsass进程进行通信。
本发明实施例第三方面提供了一种设备终端,包括:处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面所述的方法。
本发明实施例第四方面提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面所述的方法。
在本发明实施例中,安全保护壳获取来自第一进程对lsass进程的通信请求,然后响应通信请求获取由安全保护壳创建的进程白名单,并根据进程白名单确定第一进程的访问权限,根据访问权限向第一进程返回与访问权限匹配的lsass进程的真实或伪装内存地址,以控制第一进程根据真实或伪装内存地址与lsass进程进行通信,从而可以防止进程被非法访问,实现对进程的有效保护。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种进程保护方法的流程示意图;
图2是本发明实施例提供的另一种进程保护方法的流程示意图;
图3a是本发明实施例提供的一种数组下标数生成的示意图;
图3b是本发明实施例提供的安全保护壳对lsass进程保护的示意图;
图4为本发明实施例提供的一种进程保护装置的结构示意图;
图5是本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在Windows域计算机或者服务器中包括lsass进程,lsass进程是一种本地安全权限进程,其是系统进程,用于本地安全认证服务器,它是验证用户而生成一个进程。如果身份验证成功,lsass进程将生成用户的访问令牌,用于启动初始外壳程序。但是恶意进程会对lsass进程以及其全部的模块组件进行枚举,然后获取lsass进程的组件wdigest.dll和lsasrv.dll的内存地址和访问权限,进而从lsasrv.dll中获取InitializationVector,AES和3DES的值,用于解密,最后通过解密值来解密存放于wdigest.dll中的密码。基于这种情况,本发明实施例提供了一种进程保护方法,安全保护壳获取进程白名单,然后根据进程白名单确定第一进程的访问权限,从而给第一进程返回lsass进程的真实或者伪装的内存地址,从而可以防止进程被非法访问,实现对进程的有效保护。
其中,安全保护壳是在新建域或已有域中加入新的成员(用户或服务器)时同时部署到新域或新增加的成员中,安全保护壳可以创建真实lsass进程对应的伪装lsass进程,让伪装lsass进程可以与安全保护壳外的操作系统中的其他进程进行通信,从而保护真实lsass进程,同时安全保护壳还可以记录每个进程与伪装lsass进程之间的交互行为。
请参阅图1,图1为本发明实施例提供的一种进程保护方法的流程示意图,该方法可由安全保护壳执行。本实施例中所描述的进程保护方法,包括以下步骤:
101、获取来自第一进程对lsass进程的通信请求。
具体的,由于第一进程可以和操作系统内的多个进程进行通信。安全保护壳可以先获取第一进程的通信请求,然后根据该通信请求可以确定第一进程想要与lsass进程进行通信。
102、响应通信请求获取由安全保护壳创建的进程白名单,并根据进程白名单确定第一进程的访问权限。
具体的,安全保护壳响应通信请求获取进程白名单,进程白名单记录的是具有访问lsass进程权限的交互进程的进程列表,安全保护壳可以判断第一进程是否在进程白名单中,若第一进程在进程白名单中,则安全保护壳确定第一进程有访问权限;若第一进程不在进程白名单中,则安全保护壳确定第一进程没有访问权限。
103、根据访问权限向第一进程返回与访问权限匹配的lsass进程的真实或伪装内存地址,以控制第一进程根据真实或伪装内存地址与lsass进程进行通信。
其中,安全保护壳可以为lsass进程设置两种内存地址,包括真实内存地址和伪装内存地址,伪装内存地址可以起到保护lsass进程不被非法访问的作用。
具体的,若安全保护壳确定第一进程有访问权限,则向第一进程返回lsass进程的真实内存地址,从而让第一进程根据lsass进程的真实内存地址与lsass进程通信;若安全保护壳确定第一进程没有访问权限,则向第一进程返回lsass进程的伪装内存地址,从而让第一进程根据伪装内存地址无法与lsass进程通信。
在一种可行的实施例中,lsass进程存储有用户密码,安全保护壳对lsass进程中的用户密码进行折半、反转处理,得到新密码,然后将新密码利用信息摘要算法MD5加密,得到加密值,并将加密值存储在lsass进程的组件中。这样即便被恶意进程获取到lsass进程的密码也无法进行破解,从而实现对lsass进程的安全保护。
例如,win7及以下系统中的明文密码可以通过安全保护壳进行加密处理,先通过MD5加密明文得到32位的hash值,然后以第16位向左反转,即16位作为第一位,15位作为第二位,以此类推,以第15位向右反转,即15位作为最后一位,18位作为倒数第二位,以此类推,得到的新的hash值,最后进行MD5加密得到最终的加密值。又例如,win10以及windowsserver 2008以上lsass进程的密码原始值为MD5值,然后将MD5值进行折半反转,最后以MD5加密得到最终加密值。最后将这些加密值放入lsass进程的组件中。当恶意进程(非进程白名单)获取到lsass进程的组件中的加密值也无法进行破解,从而保护进程中的密码不被获取。
在本发明实施例中,安全保护壳获取来自第一进程对lsass进程的通信请求,然后响应通信请求获取由安全保护壳创建的进程白名单,并根据进程白名单确定第一进程的访问权限,然后根据访问权限向第一进程返回与访问权限匹配的lsass进程的真实或伪装内存地址,以控制第一进程根据真实或伪装内存地址与lsass进程进行通信,从而可以防止进程被非法访问,实现对进程的有效保护。
请参阅图2,图2为本发明实施例提供的另一种进程保护方法的流程示意图,该方法可由安全保护壳执行。本实施例中所描述的进程保护方法,包括以下步骤:
201、获取安全保护沙盒记录的历史进程与伪装lsass进程的交互行为,所述安全保护沙盒由安全保护壳创建,所述安全保护沙盒用于提供所述伪装lsass进程与所述历史进程进行通信的虚拟环境。
其中,本实施例中的lsass进程具体包括真实lsass进程以及对应的伪装lsass进程,伪装lsass进程由安全保护壳创建,保护该伪装lsass进程对应的真实lsass进程。
安全保护沙盒记录历史进程与伪装lsass进程的交互行为,该交互行为可以是获取所述伪装lsass进程的句柄并定位所述伪装lsass进程中各个组件的内存地址,也可以是其他的交互行为,如相互之间交互数据等等。
202、若所述交互行为不包括获取所述伪装lsass进程的句柄并定位所述伪装lsass进程中各个组件的内存地址,则将所述历史进程加入进程白名单。
其中,安全保护壳可以设置加入进程白名单的评价标准,评价标准可以包括但不限于:不存在获取伪装lsass进程的句柄并定位伪装lsass进程中各个组件的内存地址的行为。
具体的,安全保护壳判断上述交互行为是否包括获取上述伪装lsass进程的句柄并定位伪装lsass进程中各个组件的内存地址,若该交互行为不包括获取上述伪装lsass进程的句柄并定位伪装lsass进程中各个组件的内存地址,则将历史进程加入进程白名单;若安全保护壳判断上述交互行为包括获取上述伪装lsass进程的句柄并定位伪装lsass进程中各个组件的内存地址,则将历史进程列为禁止访问。
203、获取来自第一进程对lsass进程的通信请求。
204、响应通信请求获取由所述安全保护壳创建的进程白名单,并根据所述进程白名单确定所述第一进程的访问权限。
在一种可行的实施例中,安全保护壳可以根据进程白名单确定第一进程的访问权限,若第一进程在进程白名单里,则确定第一进程的访问权限为合法权限;若第一进程不在进程白名单里,则确定第一进程的访问权限为非法权限。
205、若所述访问权限为合法权限,则向所述第一进程返回真实lsass进程的真实内存地址,以控制所述第一进程与所述真实lsass进程进行通信。
其中,向第一进程发送真实lsass进程的真实内存地址可以保证第一进程能够访问真实lsass进程,与真实lsass进程进行数据交互。
在一种可行的实施例中,安全保护壳向第一进程返回真实lsass进程的真实内存地址之前,需要获取真实lsass进程的真实内存地址。首先安全保护壳获取伪装lsass进程的伪装内存地址,根据伪装lsass进程的伪装内存地址查询安全保护壳中的内存地址映射表,根据内存地址映射表可以获取伪装lsass进程的伪装内存地址对应的真实lsass进程的真实内存地址。如表1,表1为内存地址映射表。在表1中可以看到每个伪装lsass进程的伪装内存地址会对应真实lsass进程的真实内存地址,例如伪装lsass进程的伪装内存进程地址为“0x003EF8CC”对应的真实lsass进程的真实内存地址为“0x105FFC89”。
表1
伪装内存进程地址 随机内存地址 真实进程内存地址
0x003EF8CC 0xF03698AB 0x105FFC89
0x3035F865 0x1056DA56 0x2054FB60
…… …… ……
也就是说,当安全保护壳确定第一进程的访问权限为合法权限,为进程白名单。安全保护壳就会获取伪装lsass进程的伪装内存地址(如0x003EF8CC),然后根据伪装内存地址在内存地址映射表(表1)中查看对应的真实lsass进程的真实内存地址为0x105FFC89,最后返回真实lsass进程的真实内存地址0x105FFC89给第一进程,这样第一进程便可与真实lsass进程进行通信。
206、若所述访问权限为非法权限,则向所述第一进程返回所述伪装lsass进程的伪装内存地址,以控制所述第一进程与所述伪装lsass进程进行通信。
其中,向第一进程发送伪装lsass进程的伪装内存地址可以保证第一进程无法与真实lsass进程进行通信,从而保护真实lsass进程。
207、若检测到第二进程获取所述真实lsass进程的句柄并定位所述真实lsass进程中各个组件的真实内存地址,则向所述第二进程返回由安全保护壳生成的随机内存地址。
具体的,安全保护壳检测到第二进程伪装成白名单进程,绕过伪装lsass进程,开始与真实lsass进程交互,该交互行为包括获取真实lsass进程的句柄并定位真实lsass进程中各个组件的真实内存地址时,则安全保护壳向第二进程返回安全保护壳生成的随机内存地址。
其中,随机内存地址是为了保护真实lsass进程的真实内存地址而生成的。首先安全保护壳会向操作系统申请1GB的内存地址,其可以表示的地址范围为0x00000~0x3FFFFFFF,每位数值位取值为:0~F。设置每数值位数组为:[0,1,2,3,4,5,6,5,8,9,A,B,C,D,E,F],随机数范围为0-15(数组下标值),即每次每个数值位生成0-15中一个数字,然后通过数字访问数值数组的值。例如,当数组下标值为0,则对应数组的取值为0,然后当数组下标值为3时,数组取值为3,然后最后会生成一个随机内存地址,具体随机下标数生成方法如图3a所示。
其中,将生成的随机内存地址也存储在内存地址映射表中,如上述表1中的第二栏中的随机内存地址。
例如,当某个恶意进程伪装成进程白名单,开始获取真实lsass进程的句柄并定位真实lsass进程中各个组件的真实内存地址,此时安全保护壳就会在内存地址映射表中获取真实lsass进程的真实内存地址对应的随机内存地址,如真实lsass进程的真实内存地址为“0x105FFC89”,则对应的随机内存地址“0xF03698AB”,然后就将随机内存地址“0xF03698AB”发送给恶意进程,以保证真实lsass进程的安全。
在一种可行的实施例中,安全保护壳向第二进程返回由安全保护壳生成的随机内存地址之后,在经历预设时长后,通过安全保护壳重新生成随机内存地址。也就是说,当安全保护壳检测第二进程获取真实lsass进程的句柄并定位真实lsass进程中各个组件的真实内存地址,就会触发安全保护壳在预设时长内将安全保护壳内为保护真实lsass进程生成的随机内存地址发送给第二进程,然后在预设时长之后安全保护壳就会按照生成随机内存地址的方法重新生成新的随机内存地址。
其中,安全保护壳可以定时触发生成新的随机内存地址,比如利用定时器、或者系统设置的时间内,生成新的随机内存地址。安全保护壳通过触发生成随机内存地址可以防止恶意进程绕过伪装lsass进程进入安全保护壳,试图获取真实lsass进程的内存地址,进一步保护lsass进程的安全。
在一些可行的实施例中,安全保护壳获取第二进程与真实lsass进程的交互行为,若该交互行为包括获取真实lsass进程的句柄并定位真实lsass进程中各个组件的真实内存地址,则将第二进程设置为禁止访问,后续收到通信请求时直接拒绝。
在一种可行的实施例中,真实lsass进程存储有用户密码,安全保护壳对真实lsass进程中的用户密码进行折半、反转处理,得到新密码,然后将新密码利用信息摘要算法MD5加密,得到加密值,并将加密值存储在真实lsass进程的组件中。这样即使被恶意进程获取到真实lsass进程的密码也无法进行破解,从而加强对域用户密码安全保护。
在现有技术中,进程发送通信请求后,不管是否为安全进程都可能直接与真实lsass进程进行通信,无法保证真实lsass进程的安全。而在本发明实施例中,如图3b所示,当第一进程发送通信请求给安全保护壳,安全保护壳根据该通信请求获取进程白名单,然后根据进程白名单对第一进程的访问权限进行验证,若访问权限为合法权限,安全保护壳向第一进程返回真实lsass进程的真实内存地址,然后让第一进程与真实lsass进程进行通信;若访问权限为非法权限,安全保护壳就向第一进程返回伪装lsass进程的伪装内存地址,让第一进程与伪装lsass进程进行通信,从而实现对真实lsass的有效保护。
在本发明实施例中,安全保护壳获取安全保护沙盒记录的历史进程与伪装lsass进程的交互行为,若交互行为不包括获取伪装lsass进程的句柄并定位伪装lsass进程中各个组件的内存地址,则将历史进程加入进程白名单,然后安全保护壳获取来自第一进程对lsass进程的通信请求,响应通信请求获取由安全保护壳创建的进程白名单,并根据进程白名单确定第一进程的访问权限,若访问权限为合法权限,则向第一进程返回真实lsass进程的真实内存地址,以控制第一进程与真实lsass进程进行通信,若访问权限为非法权限,则向第一进程返回伪装lsass进程的伪装内存地址,以控制第一进程与伪装lsass进程进行通信。当安全保护壳检测到第二进程获取真实lsass进程的句柄并定位真实lsass进程中各个组件的真实内存地址,则向第二进程返回由安全保护壳生成的随机内存地址,从而进一步保护进程的安全。
请参阅图4,图4为本发明实施例提供的一种进程保护装置的结构示意图,该装置可由安全保护壳执行。本实施例中所描述的进程保护装置,包括以下模块:
获取模块401,用于获取来自第一进程对lsass进程的通信请求;
处理模块402,用于响应所述通信请求获取由所述安全保护壳创建的进程白名单,并根据所述进程白名单确定所述第一进程的访问权限;
返回模块403,用于根据所述访问权限向所述第一进程返回与所述访问权限匹配的lsass进程的真实或伪装内存地址,以控制所述第一进程根据所述真实或伪装内存地址与所述lsass进程进行通信。
可选地,所述处理模块402,具体用于:
若所述第一进程在所述进程白名单里,则确定所述第一进程的访问权限为合法权限;
若所述第一进程不在所述进程白名单里,则确定所述第一进程的访问权限为非法权限。
可选地,所述返回模块403,具体用于:
所述lsass进程包括真实lsass进程以及对应的伪装lsass进程;
若所述访问权限为合法权限,则向所述第一进程返回所述真实lsass进程的真实内存地址,以控制所述第一进程与所述真实lsass进程进行通信;
若所述访问权限为非法权限,则向所述第一进程返回所述伪装lsass进程的伪装内存地址,以控制所述第一进程与所述伪装lsass进程进行通信。
可选地,所述获取模块401,具体用于:
获取所述伪装lsass进程的伪装内存地址;
根据所述伪装lsass进程的伪装内存地址查询所述安全保护壳中的内存地址映射表;
根据所述内存地址映射表获取所述伪装lsass进程的伪装内存地址对应的所述真实lsass进程的真实内存地址。
可选地,所述处理模块402,具体用于:
获取安全保护沙盒记录的历史进程与所述伪装lsass进程的交互行为,所述安全保护沙盒由所述安全保护壳创建,所述安全保护沙盒用于提供所述伪装lsass进程与历史进程进行通信的虚拟环境;
若所述交互行为不包括获取所述伪装lsass进程的句柄并定位所述伪装lsass进程中各个组件的内存地址,则将所述历史进程加入所述进程白名单。
可选地,所述返回模块403,具体用于:
若检测到第二进程获取所述真实lsass进程的句柄并定位所述真实lsass进程中各个组件的真实内存地址,则向所述第二进程返回由所述安全保护壳生成的随机内存地址。
可选地,所述处理模块402,具体用于:在经历预设时长后,通过所述安全保护壳重新生成随机内存地址。
可选地,所述处理模块402,具体用于:
所述真实lsass进程存储有用户密码;
对所述真实lsass进程中的所述用户密码进行折半、反转处理,得到新密码;
将所述新密码利用信息摘要算法MD5加密,得到加密值;
将所述加密值存储在所述真实lsass进程的组件中。
在本发明实施例中,获取模块401获取来自第一进程对lsass进程的通信请求,然后处理模块402响应通信请求获取由安全保护壳创建的进程白名单,并根据进程白名单确定第一进程的访问权限,返回模块403根据访问权限向第一进程返回与访问权限匹配的lsass进程的真实或伪装内存地址,以控制第一进程根据真实或伪装内存地址与lsass进程进行通信,从而可以防止进程被非法访问,实现对进程的有效保护。
可以理解的是,本实施例的进程保护装置的各模块的功能可根据上述实施例图1或图2中的方法具体实现,其具体实现过程可以参照上述图1或图2的方法实施例的相关描述,此处不再赘述。
请参见图5,图5为本发明实施例提供的一种终端设备的结构示意图。如图5所示的本实施例中的终端设备可以包括:处理器501、一个或多个输入设备502、一个或多个输出设备503和存储器504。上述处理器501、输入设备502、输出设备503和存储器504通过总线505连接。存储器504用于存储计算机程序,所述计算机程序包括程序指令,处理器501用于执行存储器504存储的程序指令。
在本发明实施例中,处理器501通过运行存储器504中的可执行程序代码,执行如下操作:获取来自第一进程对lsass进程的通信请求;响应所述通信请求获取由所述安全保护壳创建的进程白名单,并根据所述进程白名单确定所述第一进程的访问权限;根据所述访问权限向所述第一进程返回与所述访问权限匹配的lsass进程的真实或伪装内存地址,以控制所述第一进程根据所述真实或伪装内存地址与所述lsass进程进行通信。
可选地,所述处理器501,用于:
若所述第一进程在所述进程白名单里,则确定所述第一进程的访问权限为合法权限;
若所述第一进程不在所述进程白名单里,则确定所述第一进程的访问权限为非法权限。
可选地,所述处理器501,用于:
所述lsass进程包括真实lsass进程以及对应的伪装lsass进程;
若所述访问权限为合法权限,则向所述第一进程返回所述真实lsass进程的真实内存地址,以控制所述第一进程与所述真实lsass进程进行通信;
若所述访问权限为非法权限,则向所述第一进程返回所述伪装lsass进程的伪装内存地址,以控制所述第一进程与所述伪装lsass进程进行通信。
可选地,所述处理器501,还用于:
获取所述伪装lsass进程的伪装内存地址;
根据所述伪装lsass进程的伪装内存地址查询所述安全保护壳中的内存地址映射表;
根据所述内存地址映射表获取所述伪装lsass进程的伪装内存地址对应的所述真实lsass进程的真实内存地址。
可选地,所述处理器501,还用于:
获取安全保护沙盒记录的历史进程与所述伪装lsass进程的交互行为,所述安全保护沙盒由所述安全保护壳创建,所述安全保护沙盒用于提供所述伪装lsass进程与历史进程进行通信的虚拟环境;
若所述交互行为不包括获取所述伪装lsass进程的句柄并定位所述伪装lsass进程中各个组件的内存地址,则将所述历史进程加入所述进程白名单。
可选地,所述处理器501,还用于:
若检测到第二进程获取所述真实lsass进程的句柄并定位所述真实lsass进程中各个组件的真实内存地址,则向所述第二进程返回由所述安全保护壳生成的随机内存地址。
可选地,所述处理器501,还用于:
在经历预设时长后,通过所述安全保护壳重新生成随机内存地址。
可选地,所述处理器501,还用于:
所述真实lsass进程存储有用户密码;
对所述真实lsass进程中的所述用户密码进行折半、反转处理,得到新密码;
将所述新密码利用信息摘要算法MD5加密,得到加密值;
将所述加密值存储在所述真实lsass进程的组件中。
应当理解,在本申请实施例中,所称处理器501可以是中央处理单元(CentralProcessing Unit,CPU),该处理器501还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器504可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器504的一部分还可以包括非易失性随机存取存储器。
该输入设备502可以包括键盘、触控模式输入等,并向处理器501输入数据信息;该输出设备503可以包括显示器等。
具体实现中,本发明实施例中所描述的处理器501、输入设备502、输出设备503和存储器504可执行本发明实施例图1或图2提供的一种进程保护方法的流程中所描述的实现方式,也可执行本发明实施例提供图4的一种进程保护装置中所描述的实现方式,在此不再赘述。
在本发明实施例中,处理器501获取来自第一进程对lsass进程的通信请求,然后响应通信请求获取由安全保护壳创建的进程白名单,并根据进程白名单确定第一进程的访问权限,然后处理器501根据访问权限向第一进程返回与访问权限匹配的lsass进程的真实或伪装内存地址,以控制第一进程根据真实或伪装内存地址与lsass进程进行通信,从而可以防止进程被非法访问,实现对进程的有效保护。
本发明实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,可执行上述进程保护方法实施例图1或图2中所执行的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (8)

1.一种进程保护方法,所述方法应用于安全保护壳,其特征在于,所述方法包括:
获取来自第一进程对lsass进程的通信请求;
响应所述通信请求获取由所述安全保护壳创建的进程白名单,并根据所述进程白名单确定所述第一进程的访问权限;
根据所述访问权限向所述第一进程返回与所述访问权限匹配的lsass进程的真实或伪装内存地址,以控制所述第一进程根据所述真实或伪装内存地址与所述lsass进程进行通信;
其中,所述根据所述进程白名单确定所述第一进程的访问权限,包括:
若所述第一进程在所述进程白名单里,则确定所述第一进程的访问权限为合法权限;
若所述第一进程不在所述进程白名单里,则确定所述第一进程的访问权限为非法权限;
其中,所述根据所述访问权限向所述第一进程返回与所述访问权限匹配的lsass进程的真实或伪装内存地址,以控制所述第一进程根据所述真实或伪装内存地址与所述lsass进程进行通信,包括:
所述lsass进程包括真实lsass进程以及对应的伪装lsass进程;
若所述访问权限为合法权限,则向所述第一进程返回所述真实lsass进程的真实内存地址,以控制所述第一进程与所述真实lsass进程进行通信;
若所述访问权限为非法权限,则向所述第一进程返回所述伪装lsass进程的伪装内存地址,以控制所述第一进程与所述伪装lsass进程进行通信。
2.根据权利要求1所述的方法,其特征在于,所述向所述第一进程返回所述真实lsass进程的真实内存地址之前,所述方法还包括:
获取所述伪装lsass进程的伪装内存地址;
根据所述伪装lsass进程的伪装内存地址查询所述安全保护壳中的内存地址映射表;
根据所述内存地址映射表获取所述伪装lsass进程的伪装内存地址对应的所述真实lsass进程的真实内存地址。
3.根据权利要求1所述的方法,其特征在于,所述获取来自第一进程对真实lsass进程的通信请求之前,所述方法还包括:
获取安全保护沙盒记录的历史进程与所述伪装lsass进程的交互行为,所述安全保护沙盒由所述安全保护壳创建,所述安全保护沙盒用于提供所述伪装lsass进程与所述历史进程进行通信的虚拟环境;
若所述交互行为不包括获取所述伪装lsass进程的句柄并定位所述伪装lsass进程中各个组件的内存地址,则将所述历史进程加入所述进程白名单。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到第二进程获取所述真实lsass进程的句柄并定位所述真实lsass进程中各个组件的真实内存地址,则向所述第二进程返回由所述安全保护壳生成的随机内存地址。
5.根据权利要求4所述的方法,其特征在于,所述向所述第二进程返回由所述安全保护壳生成的随机内存地址之后,所述方法还包括:
在经历预设时长后,通过所述安全保护壳重新生成随机内存地址。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述真实lsass进程存储有用户密码;
对所述真实lsass进程中的所述用户密码进行折半、反转处理,得到新密码;
将所述新密码利用信息摘要算法MD5加密,得到加密值;
将所述加密值存储在所述真实lsass进程的组件中。
7.一种进程保护装置,所述装置应用于安全保护壳,其特征在于,所述装置包括:
获取模块,用于获取来自第一进程对lsass进程的通信请求;
处理模块,用于响应所述通信请求获取由所述安全保护壳创建的进程白名单,并根据所述进程白名单确定所述第一进程的访问权限;
返回模块,用于根据所述访问权限向所述第一进程返回与所述访问权限匹配的lsass进程的真实或伪装内存地址,以控制所述第一进程根据所述真实或伪装内存地址与所述lsass进程进行通信;
其中,所述处理模块,具体用于:
若所述第一进程在所述进程白名单里,则确定所述第一进程的访问权限为合法权限;
若所述第一进程不在所述进程白名单里,则确定所述第一进程的访问权限为非法权限;
其中,所述返回模块,具体用于:
所述lsass进程包括真实lsass进程以及对应的伪装lsass进程;
若所述访问权限为合法权限,则向所述第一进程返回所述真实lsass进程的真实内存地址,以控制所述第一进程与所述真实lsass进程进行通信;
若所述访问权限为非法权限,则向所述第一进程返回所述伪装lsass进程的伪装内存地址,以控制所述第一进程与所述伪装lsass进程进行通信。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-6任一项所述的方法。
CN202010210480.XA 2020-03-23 2020-03-23 一种进程保护方法、装置、终端设备及存储介质 Active CN111444118B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010210480.XA CN111444118B (zh) 2020-03-23 2020-03-23 一种进程保护方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010210480.XA CN111444118B (zh) 2020-03-23 2020-03-23 一种进程保护方法、装置、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN111444118A CN111444118A (zh) 2020-07-24
CN111444118B true CN111444118B (zh) 2022-04-05

Family

ID=71652365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010210480.XA Active CN111444118B (zh) 2020-03-23 2020-03-23 一种进程保护方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN111444118B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102763111A (zh) * 2010-01-22 2012-10-31 交互数字专利控股公司 用于可信联合身份管理和数据接入授权的方法和设备
CN105893107A (zh) * 2016-04-29 2016-08-24 山东省计算中心(国家超级计算济南中心) 一种从64位Windows操作系统的内存镜像文件中获取已登录用户密码明文的方法
CN109543411A (zh) * 2018-11-29 2019-03-29 北京元心科技有限公司 应用程序监控方法、装置、电子设备及可读存储介质
CN109831420A (zh) * 2018-05-04 2019-05-31 360企业安全技术(珠海)有限公司 内核进程权限的确定方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019837A (zh) * 2011-09-27 2013-04-03 中国移动通信集团公司 资源调度方法、装置及终端设备
CN110535887A (zh) * 2019-09-30 2019-12-03 海南鼎立信科技有限责任公司 基于Kafka的安全访问控制方法、装置、存储介质及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102763111A (zh) * 2010-01-22 2012-10-31 交互数字专利控股公司 用于可信联合身份管理和数据接入授权的方法和设备
CN105893107A (zh) * 2016-04-29 2016-08-24 山东省计算中心(国家超级计算济南中心) 一种从64位Windows操作系统的内存镜像文件中获取已登录用户密码明文的方法
CN109831420A (zh) * 2018-05-04 2019-05-31 360企业安全技术(珠海)有限公司 内核进程权限的确定方法及装置
CN109543411A (zh) * 2018-11-29 2019-03-29 北京元心科技有限公司 应用程序监控方法、装置、电子设备及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Windows内核模式下进程监控的用户权限控制系统设计与实现;张涛 等;《信息网络安全》;20140410(第4期);13-19 *

Also Published As

Publication number Publication date
CN111444118A (zh) 2020-07-24

Similar Documents

Publication Publication Date Title
US8572392B2 (en) Access authentication method, information processing unit, and computer product
US5935246A (en) Electronic copy protection mechanism using challenge and response to prevent unauthorized execution of software
US9043610B2 (en) Systems and methods for data security
JP4615601B2 (ja) コンピュータセキュリティシステムおよびコンピュータセキュリティ方法
KR100734145B1 (ko) 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법
EP1942430B1 (en) Token Passing Technique for Media Playback Devices
US7313828B2 (en) Method and apparatus for protecting software against unauthorized use
CN112513857A (zh) 可信执行环境中的个性化密码安全访问控制
US7877604B2 (en) Proof of execution using random function
US8281115B2 (en) Security method using self-generated encryption key, and security apparatus using the same
US7103782B1 (en) Secure memory and processing system having laser-scribed encryption key
CN109412812B (zh) 数据安全处理系统、方法、装置和存储介质
CN101142599A (zh) 基于硬件识别的数字权利管理系统
CN102271037A (zh) 基于在线密钥的密钥保护装置
US7770219B2 (en) Method and system for using shared secrets to protect access to testing keys for set-top box
CN103593603A (zh) 保护多安全cpu系统中的安全软件
CN114186199B (zh) 许可授权方法及装置
US20100011221A1 (en) Secured storage device with two-stage symmetric-key algorithm
CN111932261A (zh) 一种基于可验证声明的资产数据管理方法和装置
WO2022052665A1 (zh) 无线终端及无线终端在Uboot模式下的接口访问鉴权方法
CN106992978B (zh) 网络安全管理方法及服务器
CN111444118B (zh) 一种进程保护方法、装置、终端设备及存储介质
CN110110533B (zh) 带身份自动识别的电子文件批量加密转存方法、系统及介质
JP2004320174A (ja) 認証システム、認証装置、認証方法
JPH1153310A (ja) データ送信装置及びデータ送信方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant