CN103400074A - 一种隐藏进程的检测方法及装置 - Google Patents
一种隐藏进程的检测方法及装置 Download PDFInfo
- Publication number
- CN103400074A CN103400074A CN2013102898965A CN201310289896A CN103400074A CN 103400074 A CN103400074 A CN 103400074A CN 2013102898965 A CN2013102898965 A CN 2013102898965A CN 201310289896 A CN201310289896 A CN 201310289896A CN 103400074 A CN103400074 A CN 103400074A
- Authority
- CN
- China
- Prior art keywords
- function
- title
- scheduling
- list
- memory module
- 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
Links
Images
Abstract
本发明公开了一种隐藏进程的检测方法及装置,为了提高查找出的隐藏进程的准确性,本发明实施例中,基于内核schedule调度函数将待运行的进程调度到CPU上进行运行,内核schedule调度函数中的switch_to函数包含有获取被调度的进程对应的进程名称的字段;在内核态,根据switch_to函数记录被调度的进程对应的进程名称,将记录的进程名称写入字符存储模块生成第一进程列表,在用户态,用读取系统调用函数来读取字符存储模块中写入的第一进程列表,与系统中存储的第二进程列表进行比较,将第一进程列表中存在的、第二进程列表中不存在的进程名称对应的进程确定为隐藏进程,从而,提高了查找出的隐藏进程的准确性。
Description
技术领域
本发明涉及计算机处理技术领域,特别涉及一种隐藏进程的检测方法及装置。
背景技术
随着社会的不断发展和进步,计算机在社会的各个领域的应用越来越广泛,为人们的生活带来了很多的便捷,已经深入到人们日常生活的各个方面。由于软件漏洞的广泛存在和用户安全意识的不足,黑客常常攻击系统,且黑客攻击系统时所使用的木马的传播速度越来越快,感染范围不断扩大,造成的破坏日益严重。同时,由于底层技术的研究不断深入,越来越多的隐藏进程手段为木马所利用,所谓“隐藏”,指的是“用户不可见”。
其中,黑客在使用木马攻击系统时,为了防止被用户检测到后门进程和文件的存在,会使用修改系统调用getdents或者系统调用getdents64的方法来隐藏进程,那么,当用户调用ls、top、ps等命令获取相关信息的时候,虽然要使用系统调用getdents或者系统调用getdents64,由于这两个系统调用已经被黑客所劫持,实际返回的数值可能已经被过滤,从而不能看到那些被黑客隐藏的文件和进程。也就是说,木马可以自隐藏自己的进程、服务、日志以及网络连接等等,并能够对正常的用户程序进行隐藏。由于系统中隐藏进程带来日益严重的安全问题,因此,如何检测到系统中的隐藏进程成为维护计算机系统内部安全的重要内容。
目前,隐藏进程的检测方法主要有如下几种:
A:遍历EPROCESS表来查找隐藏进程:该方法仅限于检测Ring3级用户模式隐藏的进程,当前的木马一般都会使用断开EPROCESS链表的方法来隐藏自身,因此,通过遍历EPROCESS表来查找隐藏进程的方法存在准确性较差的缺陷;
B:遍历EPROCESS结构中包含的Handle Table双链表来实现隐藏进程检测:由于恶意代码可以将自身的Handle Table从该链表上断开的方法来隐藏自身,因此,该方法也不能有效地将恶意代码查找出来,也就是说,通过该方法来查找隐藏进程的方法也存在准确性较差的缺陷。
发明内容
本发明实施例提供一种隐藏进程的检测方法及装置,用以解决现有技术中查找出的隐藏进程的准确性较差的问题。
本发明实施例提供的具体技术方案如下:
一种隐藏进程的检测方法,包括:
基于内核schedule调度函数将待运行的进程调度到中央处理器CPU上进行运行,其中,所述内核schedule调度函数中的switch_to函数包含有获取被调度的进程对应的进程名称的字段;
在内核态,根据所述switch_to函数记录被调度的进程对应的进程名称,并根据所述switch_to函数将所有记录的进程名称写入字符存储模块生成第一进程列表;
在用户态,使用读取系统调用函数来读取所述字符存储模块中写入的第一进程列表,并将所述第一进程列表与系统中存储的记录进程名称的第二进程列表进行比较;
将所述第一进程列表中存在的、所述第二进程列表中不存在的进程名称对应的进程确定为隐藏进程。
从上述方案中可以看出,由于在字符存储模块写入的进程名称的过程是内存本身的一个复制的过程,不与其他设备进行交互,因此,木马没有对这个过程进行攻击的可能性,因此,写入字符存储模块的进程名称是被schedule调度函数调度过的所有进程的名称,同时,读取字符存储模块写入的进程名称时,使用读取系统调用函数来读取字符存储模块写入的进程名称,由于读取系统调用函数跟操作系统相关,若读取系统调用函数被木马攻击,整个操作系统就发生异常,因此,木马不对读取系统调用函数进行攻击,进而,使用读取系统调用函数读取到的进程名称位字符存储模块中存储的所有进程名称,由于写入字符存储模块的进程名称是被schedule调度函数调度过的所有进程的名称,这样,确定出的隐藏进程为全部的运行过的有效进程,提高了查找出的隐藏进程的准确性。
较佳的,在基于内核schedule调度函数将待运行的进程调度到CPU上进行运行之前,还包括:确定所述待运行进程的优先级;且基于内核schedule调度函数将待运行的进程调度到CPU上进行运行,具体包括:基于内核schedule调度函数根据待运行进程的优先级,依次将待运行的进程调度到CPU上进行运行。
这样,当有些待运行的进程为一些重要的进程时,可以先将这些重要的进程进行运行,进而保证了系统的正常运行,提高了系统的稳定性。
较佳的,在根据所述switch_to函数将所有记录的进程名称写入字符存储模块之前,还包括:在所述switch_to函数中添加flag标识,其中,所述flag标识用于指示是否开始将记录的进程名称写入字符存储模块。
这样,由于将所有记录的进程名称写入字符存储模块生成第一进程列表,以及后续过程运行的话,会降低系统的处理效率,为了提高系统的处理效率,本发明实施例中,通过在所述switch_to函数中添加flag标识,通过flag标识来控制是否开始将记录的进程名称写入字符存储模块。
较佳的,在所述switch_to函数中添加flag标识,具体包括:采用文件系统方式在所述switch_to函数中添加flag标识。
由于采用文件系统方式在所述switch_to函数中添加flag标识比较容易实现,因此,为了降低在所述switch_to函数中添加flag标识的复杂度,本发明实施例中,采用文件系统方式在所述switch_to函数中添加flag标识。
一种隐藏进程的检测装置,包括:
调度单元,用于基于内核schedule调度函数将待运行的进程调度到中央处理器CPU上进行运行,其中,所述内核schedule调度函数中的switch_to函数包含有获取被调度的进程对应的进程名称的字段;
写入单元,用于在内核态,根据所述switch_to函数记录被调度的进程对应的进程名称,并根据所述switch_to函数将所有记录的进程名称写入字符存储模块,生成第一进程列表;
读取单元,用于在用户态,使用读取系统调用函数来读取所述字符存储模块中写入的第一进程列表,并将所述第一进程列表与系统中存储的记录进程名称的第二进程列表进行比较;
进程确定单元,用于将所述第一进程列表中存在的、所述第二进程列表中不存在的进程名称对应的进程确定为隐藏进程。
从上述方案中可以看出,由于在字符存储模块写入的进程名称的过程是内存本身的一个复制的过程,不与其他设备进行交互,因此,木马没有对这个过程进行攻击的可能性,因此,写入字符存储模块的进程名称是被schedule调度函数调度过的所有进程的名称,同时,读取字符存储模块写入的进程名称时,使用读取系统调用函数来读取字符存储模块写入的进程名称,由于读取系统调用函数跟操作系统相关,若读取系统调用函数被木马攻击,整个操作系统就发生异常,因此,木马不对读取系统调用函数进行攻击,进而,使用读取系统调用函数读取到的进程名称位字符存储模块中存储的所有进程名称,由于写入字符存储模块的进程名称是被schedule调度函数调度过的所有进程的名称,这样,确定出的隐藏进程为全部的运行过的有效进程,提高了查找出的隐藏进程的准确性。
较佳的,该检测装置还包括优先级确定单元,所述优先级确定单元用于确定所述待运行进程的优先级;所述调度单元具体用于,基于内核schedule调度函数根据待运行进程的优先级,依次将待运行的进程调度到CPU上进行运行。
这样,当有些待运行的进程为一些重要的进程时,可以先将这些重要的进程进行运行,进而保证了系统的正常运行,提高了系统的稳定性。
较佳的,所述调度单元还用于,在所述switch_to函数中添加flag标识,其中,所述flag标识用于指示是否开始将记录的进程名称写入字符存储模块。
这样,由于将所有记录的进程名称写入字符存储模块生成第一进程列表,对系统的处理效率有一定的影响,为了提高系统的处理效率,本发明实施例中,通过在所述switch_to函数中添加flag标识,令flag标识来控制是否开始将记录的进程名称写入字符存储模块,进而来提高系统的处理效率。
较佳的,所述调度单元具体用于,采用文件系统方式在所述switch_to函数中添加flag标识。
由于采用文件系统方式在所述switch_to函数中添加flag标识比较容易实现,因此,为了降低在所述switch_to函数中添加flag标识的复杂度,本发明实施例中,采用文件系统方式在所述switch_to函数中添加flag标识。
本发明有益效果如下:
本发明实施例中,先基于内核schedule调度函数将待运行的进程调度到CPU(CentralProcessingUnit,中央处理器)上进行运行,其中,内核schedule调度函数中的switch_to函数包含有获取被调度的进程对应的进程名称的字段;再在内核态,根据switch_to函数记录被调度的进程对应的进程名称,并根据switch_to函数将所有记录的进程名称写入字符存储模块生成第一进程列表,然后,在用户态,使用读取系统调用函数来读取字符存储模块中写入的第一进程列表,并将第一进程列表与系统中存储的记录进程名称的第二进程列表进行比较,最后,将第一进程列表中存在的、第二进程列表中不存在的进程名称对应的进程确定为隐藏进程,由于在字符存储模块写入的进程名称的过程是内存本身的一个复制的过程,不与其他设备进行交互,因此,木马没有对这个过程进行攻击的可能性,因此,写入字符存储模块的进程名称是被schedule调度函数调度过的所有进程的名称,同时,读取字符存储模块写入的进程名称时,使用读取系统调用函数来读取字符存储模块写入的进程名称,由于读取系统调用函数跟操作系统相关,若读取系统调用函数被木马攻击,整个操作系统就发生异常,因此,木马不对读取系统调用函数进行攻击,进而,使用读取系统调用函数读取到的进程名称位字符存储模块中存储的所有进程名称,由于写入字符存储模块的进程名称是被schedule调度函数调度过的所有进程的名称,这样,确定出的隐藏进程为全部的运行过的有效进程,提高了查找出的隐藏进程的准确性。
附图说明
图1为本发明实施例中隐藏进程检测的第一详细流程图;
图2为本发明实施例中隐藏进程检测的第二详细流程图;
图3为本发明实施例中隐藏进程的检测装置的功能示意图。
具体实施方式
为了提高查找出的隐藏进程的准确性,本发明实施例中,根据包含有获取被调度的进程对应的进程名称的字段的switch_to函数将所有记录的进程名称写入字符存储模块,然后,根据读取系统调用函数读取字符存储模块中存储的第一进程列表,并将第一进程列表与系统中存储的记录进程名称的第二进程列表进行比较,确定出隐藏进程,从而,提高了查找出的隐藏进程的准确性。
下面结合附图对本发明优选的实施方式进行详细说明。
参见图1所示,本发明提供的一种隐藏进程的检测方法,包括如下步骤。
步骤101:基于内核schedule调度函数将待运行的进程调度到CPU上进行运行,其中,内核schedule调度函数中的switch_to函数包含有获取被调度的进程对应的进程名称的字段;
步骤102:在内核态,根据switch_to函数记录被调度的进程对应的进程名称,并根据switch_to函数将所有记录的进程名称写入字符存储模块,生成第一进程列表;
步骤103:在用户态,使用读取系统调用函数来读取字符存储模块中写入的第一进程列表,并将第一进程列表与系统中存储的记录进程名称的第二进程列表进行比较;
步骤104:将第一进程列表中存在的、第二进程列表中不存在的进程名称对应的进程确定为隐藏进程。
本发明实施例中,较佳的,在步骤101之前,先确定待运行进程的优先级,其中,可以从内核进程列表中确定出待运行的进程的优先级,然后,再基于内核schedule调度函数根据待运行进程的优先级,依次将待运行的进程调度到CPU上进行运行。
例如,表1为内核态进程列表,其中,A进程的优先级等级最高为1,则根据系统调用将进程A先调度到CPU上进行运行,D进程的优先级等级次之为2,则在运行完进程A后,根据系统调用将进程A先调度到CPU上进行运行,C进程的优先级等级为3,则在运行完进程D后,根据系统调用将进程C先调度到CPU上进行运行;B进程的优先级等级为4,则在运行完进程C后,根据系统调用将进程B先调度到CPU上进行运行。上述过程以进程列表中只有四个待运行的进程为例,在实际应用中,内核进程列表中待运行的进程有成千上万个,但是,运行规则都如上述,在此不再进行一一详述。
表1
进程名称 | 优先级 |
nginx | 1 |
auditd | 4 |
rpcbind | 3 |
acpid | 2 |
在实际应用中,调度函数有多种,由于本发明实施例中是要将系统中所有的待运行的进程进行调度,且记录被调度的进程对应的进程名称,只有内核schedule调度函数可以将任意待运行进程进行调度,而其它调度函数只是对特定类型的待运行进程进行调度,因此,本发明通过内核schedule调度函数将待运行的进程调度到CPU上进行运行。
但是,现有的内核schedule调度函数的功能为将进程进行调度,不具备将被调度的进程对应的进程名称进行记录的功能,因此,为了使内核schedule调度函数具有记录被调度进程对应的进程名称的功能,本发明实施例中,要先对内核schedule调度函数进行修改,然后,基于修改后的内核schedule调度函数将待运行的进程调度到CPU上进行运行,其中,对schedule调度函数进行修改具体为,在switch_to函数增加获取被调度的进程对应的进程名称的字段。
在实际应用中,由于只有运行的恶意代码才能对系统造成影响,即使系统中存储的恶意代码不运行,那么这些恶意代码只是占用系统中很小的一部分内存空间,对系统是不会造成影响的,因此,本发明实施例中,要记录的进程名称是运行的进程对应的进程名称。
字符存储模块是指在系统中存储字符的逻辑模块,这里用来存储进程信息,由于将所有记录的进程名称写入字符存储模块为内存本身的一个复制过程,不是内存与其他设备的一个交互,因此,存储在字符存储模块的进程名称为所有被调度的进程对应的进程名称。
本发明实施例中,在步骤103中,将所有记录的进程名称在字符存储模块存储成第一进程列表后,再在用户态进行读取存储的第一进程列表,其中,在用户态读取字符存储模块中存储的第一进程列表的方式有多种,由于读取系统调用被修改后,很容易导致操作系统异常,用户可以及时发现操作系统被黑客所攻击,隐藏有病毒,因此,黑客不会修改读取系统调用,进而本发明实施例中,较佳的,根据读取系统调用(即读取系统调用)用户态读取字符存储模块中存储的第一进程列表。
本发明实施例中,在步骤103中,根据读取系统调用用户态读取字符存储模块中存储的第一进程列表后,并将该第一进程列表与系统中存储的记录进程名称的第二进程列表进行比较,在实际应用中,也可以将该第一进程列表与背景技术中提交到的方法确定的进程列表进行比较。
例如,第一进程列表中存储的进程名称为A、B、C,但是第二进程列表中记录的用户设置的进程名称为B、C,则A为隐藏进程。
本发明实施例中,将记录的进程名称写入字符存储模块时,是可以实时将记录的进程名称写入到字符存储模块,也可以周期性将记录的进程名称写入到字符存储模块,也可以是在接收到用户指令时才将记录的进程名称写入到字符存储模块,其中,在周期性将记录的进程名称写入到字符存储模块时,可以将内核schedule调用函数中包括的switch_to函数中添加flag标识,其中,flag标识用于指示是否开始将记录的进程名称写入字符存储模块。
例如,每周进行一次隐藏进程检测。可以在每周5下午2点钟将flag设置为1,其中,flag设置为1时表示开始进行隐藏进程检测,即将记录的运行的进程对应的进程名称写入到字符存储模块,收集20分钟的进程信息后,即通过字符存储模块生成第一进程列表,然后,将flag设置为0,flag设置为0时表示停止进行隐藏进程检测,即将记录的运行的进程对应的进程名称停止写入到字符存储模块。
本发明实施例中,将内核schedule调度函数中包括的switch_to函数中设置flag标识的方式有多种,较佳的,采用文件系统方式将内核schedule调度函数中包括的switch_to函数中设置flag标识,例如,采用proc文件系统方式,也可以采用其他方式,如sysctl方式、sharemem方式。
本发明实施例中,确定隐藏进程后,可以发出邮件信息,通知用户,也可以将隐藏进程展现在最上层的界面中呈现给用户。
为了更好地理解本发明实施例,以下给出具体应用场景,针对检测隐藏进程的过程,作出进一步详细描述,具体如图2所示:
步骤200:确定待运行进程A、B、C的优先级分别为3、1、2;
步骤201:采用proc文件系统在内核schedule调度函数中包括的switch_to函数中设置flag标识为1,其中,switch_to函数包含有获取被调度的进程对应的进程名称的字段;
该步骤中,通过内核修改schedule调用函数,以使得可以在使用内核schedule调用函数时,也可以将调度后运行的进程对应的名称记录下来。
同时,设置的flag标识为0时,表示停止将记录的进程名称写入到字符存储模块中;设置的flag标识为1时,表示开始将记录的进程名称写入到字符存储模块中。
步骤202:基于内核schedule调度函数依次将B、C、A调度到CPU上进行运行;
步骤203:根据内核schedule调度函数中包括的switch_to函数将所有记录的进程名称写入字符存储模块,生成第一进程列表;
该步骤中,第一进程列表中存储的进程名称为A、B、C。
步骤204:根据读取系统调用用户态读取字符存储模块中存储的第一进程列表,并将第一进程列表与系统中存储的记录进程名称的第二进程列表进行比较;
该步骤中,第二进程列表中存储的进程名称为A。
步骤205:将第一进程列表中存在的、第二进程列表中不存在的进程名称B、C对应的进程确定为隐藏进程;
步骤206:将B、C进程以邮件的形式通知用户。
基于同一设计思路,本发明实施例还设计了一种隐藏进程的检测装置。
参阅图3所示,该装置包括:
调度单元301,用于用于基于内核schedule调度函数将待运行的进程调度到中央处理器CPU上进行运行,其中,所述内核schedule调度函数中的switch_to函数包含有获取被调度的进程对应的进程名称的字段;
写入单元302,用于在内核态,根据所述switch_to函数记录被调度的进程对应的进程名称,并根据所述switch_to函数将所有记录的进程名称写入字符存储模块,生成第一进程列表;
读取单元303,用于在用户态,使用读取系统调用函数来读取所述字符存储模块中写入的第一进程列表,并将所述第一进程列表与系统中存储的记录进程名称的第二进程列表进行比较;
进程确定单元304,用于将所述第一进程列表中存在的、所述第二进程列表中不存在的进程名称对应的进程确定为隐藏进程。
本发明实施例中,还包括优先级确定单元305,优先级确定单元305用于确定待运行进程的优先级;
较佳的,调度单元301具体用于,基于内核schedule调度函数根据待运行进程的优先级,依次将待运行的进程调度到CPU上进行运行。
本发明实施例中,调度单元301还用于,在switch_to函数中添加flag标识,其中,flag标识用于指示是否将记录的进程名称写入字符存储模块。
本发明实施例中,较佳的,调度单元301具体用于,采用文件系统在修改后的内核schedule调度函数中包括的switch_to函数中添加flag标识。
综上所述,本发明实施例中,先基于内核schedule调度函数将待运行的进程调度到CPU(CentralProcessingUnit,中央处理器)上进行运行,其中,内核schedule调度函数中的switch_to函数包含有获取被调度的进程对应的进程名称的字段;再在内核态,根据switch_to函数记录被调度的进程对应的进程名称,并根据switch_to函数将所有记录的进程名称写入字符存储模块生成第一进程列表,然后,在用户态,使用读取系统调用函数来读取字符存储模块中写入的第一进程列表,并将第一进程列表与系统中存储的记录进程名称的第二进程列表进行比较,最后,将第一进程列表中存在的、第二进程列表中不存在的进程名称对应的进程确定为隐藏进程,由于在字符存储模块写入的进程名称的过程是内存本身的一个复制的过程,不与其他设备进行交互,因此,木马没有对这个过程进行攻击的可能性,因此,写入字符存储模块的进程名称是被schedule调度函数调度过的所有进程的名称,同时,读取字符存储模块写入的进程名称时,使用读取系统调用函数来读取字符存储模块写入的进程名称,由于读取系统调用函数跟操作系统相关,若读取系统调用函数被木马攻击,整个操作系统就发生异常,因此,木马不对读取系统调用函数进行攻击,进而,使用读取系统调用函数读取到的进程名称位字符存储模块中存储的所有进程名称,由于写入字符存储模块的进程名称是被schedule调度函数调度过的所有进程的名称,这样,确定出的隐藏进程为全部的运行过的有效进程,提高了查找出的隐藏进程的准确性。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种隐藏进程的检测方法,其特征在于,包括:
基于内核schedule调度函数将待运行的进程调度到中央处理器CPU上进行运行,其中,所述内核schedule调度函数中的switch_to函数包含有获取被调度的进程对应的进程名称的字段;
在内核态,根据所述switch_to函数记录被调度的进程对应的进程名称,并根据所述switch_to函数将所有记录的进程名称写入字符存储模块生成第一进程列表;
在用户态,使用读取系统调用函数来读取所述字符存储模块中写入的第一进程列表,并将所述第一进程列表与系统中存储的记录进程名称的第二进程列表进行比较;
将所述第一进程列表中存在的、所述第二进程列表中不存在的进程名称对应的进程确定为隐藏进程。
2.如权利要求1所述的方法,其特征在于,在基于内核schedule调度函数将待运行的进程调度到CPU上进行运行之前,还包括:
确定所述待运行进程的优先级;
基于内核schedule调度函数将待运行的进程调度到CPU上进行运行,具体包括:
基于内核schedule调度函数根据待运行进程的优先级,依次将待运行的进程调度到CPU上进行运行。
3.如权利要求1或2所述的方法,其特征在于,在根据所述switch_to函数将所有记录的进程名称写入字符存储模块之前,还包括:
在所述switch_to函数中添加flag标识,其中,所述flag标识用于指示是否开始将记录的进程名称写入字符存储模块。
4.如权利要求3所述的方法,其特征在于,在所述switch_to函数中添加flag标识,具体包括:
采用文件系统方式在所述switch_to函数中添加flag标识。
5.一种隐藏进程的检测装置,其特征在于,包括:
调度单元,用于基于内核schedule调度函数将待运行的进程调度到中央处理器CPU上进行运行,其中,所述内核schedule调度函数中的switch_to函数包含有获取被调度的进程对应的进程名称的字段;
写入单元,用于在内核态,根据所述switch_to函数记录被调度的进程对应的进程名称,并根据所述switch_to函数将所有记录的进程名称写入字符存储模块,生成第一进程列表;
读取单元,用于在用户态,使用读取系统调用函数来读取所述字符存储模块中写入的第一进程列表,并将所述第一进程列表与系统中存储的记录进程名称的第二进程列表进行比较;
进程确定单元,用于将所述第一进程列表中存在的、所述第二进程列表中不存在的进程名称对应的进程确定为隐藏进程。
6.如权利要求5所述的装置,其特征在于,还包括优先级确定单元,所述优先级确定单元用于确定所述待运行进程的优先级;
所述调度单元具体用于,基于内核schedule调度函数根据待运行进程的优先级,依次将待运行的进程调度到CPU上进行运行。
7.如权利要求5或6所述的装置,其特征在于,所述调度单元还用于,在所述switch_to函数中添加flag标识,其中,所述flag标识用于指示是否开始将记录的进程名称写入字符存储模块。
8.如权利要求7所述的装置,其特征在于,所述调度单元具体用于,采用文件系统方式在所述switch_to函数中添加flag标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310289896.5A CN103400074B (zh) | 2013-07-09 | 2013-07-09 | 一种隐藏进程的检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310289896.5A CN103400074B (zh) | 2013-07-09 | 2013-07-09 | 一种隐藏进程的检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103400074A true CN103400074A (zh) | 2013-11-20 |
CN103400074B CN103400074B (zh) | 2016-08-24 |
Family
ID=49563697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310289896.5A Active CN103400074B (zh) | 2013-07-09 | 2013-07-09 | 一种隐藏进程的检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103400074B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407805A (zh) * | 2015-07-30 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 基于Linux系统的木马检测方法及装置 |
CN106685970A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇虎科技有限公司 | 反向连接后门的检测方法及装置 |
CN107066879A (zh) * | 2017-03-22 | 2017-08-18 | 山东中创软件商用中间件股份有限公司 | 一种用于计算机的应用程序进程隐藏的方法和系统 |
CN108710799A (zh) * | 2018-05-21 | 2018-10-26 | 郑州云海信息技术有限公司 | 一种发现Linux隐藏端口的方法 |
CN108959915A (zh) * | 2018-06-30 | 2018-12-07 | 平安科技(深圳)有限公司 | 一种rookit检测方法、装置及服务器 |
CN109298916A (zh) * | 2018-11-30 | 2019-02-01 | 郑州云海信息技术有限公司 | 识别虚拟机上进程的方法和装置 |
CN112861129A (zh) * | 2021-01-28 | 2021-05-28 | 四川效率源信息安全技术股份有限公司 | 一种检测Windows操作系统中隐藏的恶意程序进程的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050229250A1 (en) * | 2004-02-26 | 2005-10-13 | Ring Sandra E | Methodology, system, computer readable medium, and product providing a security software suite for handling operating system exploitations |
CN101093452A (zh) * | 2006-06-21 | 2007-12-26 | 韩国电子通信研究院 | 使用系统事件信息来探测隐藏进程的系统和方法 |
CN101169758A (zh) * | 2007-11-19 | 2008-04-30 | 中兴通讯股份有限公司 | 一种Linux操作系统进程调度信息的监测方法 |
CN101206692A (zh) * | 2006-12-20 | 2008-06-25 | 联想(北京)有限公司 | 检测进程的方法及设备 |
CN102521537A (zh) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | 基于虚拟机监控器的隐藏进程检测方法和装置 |
CN103065084A (zh) * | 2012-12-27 | 2013-04-24 | 武汉大学 | 在虚拟机外部机进行的windows隐藏进程检测方法 |
-
2013
- 2013-07-09 CN CN201310289896.5A patent/CN103400074B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050229250A1 (en) * | 2004-02-26 | 2005-10-13 | Ring Sandra E | Methodology, system, computer readable medium, and product providing a security software suite for handling operating system exploitations |
CN101093452A (zh) * | 2006-06-21 | 2007-12-26 | 韩国电子通信研究院 | 使用系统事件信息来探测隐藏进程的系统和方法 |
CN101206692A (zh) * | 2006-12-20 | 2008-06-25 | 联想(北京)有限公司 | 检测进程的方法及设备 |
CN101169758A (zh) * | 2007-11-19 | 2008-04-30 | 中兴通讯股份有限公司 | 一种Linux操作系统进程调度信息的监测方法 |
CN102521537A (zh) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | 基于虚拟机监控器的隐藏进程检测方法和装置 |
CN103065084A (zh) * | 2012-12-27 | 2013-04-24 | 武汉大学 | 在虚拟机外部机进行的windows隐藏进程检测方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407805A (zh) * | 2015-07-30 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 基于Linux系统的木马检测方法及装置 |
CN106407805B (zh) * | 2015-07-30 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 基于Linux系统的木马检测方法及装置 |
CN106685970A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇虎科技有限公司 | 反向连接后门的检测方法及装置 |
CN107066879A (zh) * | 2017-03-22 | 2017-08-18 | 山东中创软件商用中间件股份有限公司 | 一种用于计算机的应用程序进程隐藏的方法和系统 |
CN108710799A (zh) * | 2018-05-21 | 2018-10-26 | 郑州云海信息技术有限公司 | 一种发现Linux隐藏端口的方法 |
CN108959915A (zh) * | 2018-06-30 | 2018-12-07 | 平安科技(深圳)有限公司 | 一种rookit检测方法、装置及服务器 |
CN108959915B (zh) * | 2018-06-30 | 2022-07-22 | 平安科技(深圳)有限公司 | 一种rootkit检测方法、装置及服务器 |
CN109298916A (zh) * | 2018-11-30 | 2019-02-01 | 郑州云海信息技术有限公司 | 识别虚拟机上进程的方法和装置 |
CN112861129A (zh) * | 2021-01-28 | 2021-05-28 | 四川效率源信息安全技术股份有限公司 | 一种检测Windows操作系统中隐藏的恶意程序进程的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103400074B (zh) | 2016-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103400074A (zh) | 一种隐藏进程的检测方法及装置 | |
US9954964B2 (en) | Content suggestion for posting on communication network | |
US9009708B2 (en) | Method and system to effectuate recovery for dynamic workflows | |
RU2573209C2 (ru) | Автоматический поиск контекстно-связанных элементов задачи | |
US9544726B2 (en) | Adding location names using private frequent location data | |
CN109891406B (zh) | 多级数据分页 | |
JP2014529114A (ja) | ソーシャルグラフ内のモデリング検索 | |
CN104919485A (zh) | 内容反应注释 | |
TW201433967A (zh) | 具有固持的原子鏈結實體之自動完成 | |
US11880302B2 (en) | Optimized record placement in defragmenting graph database | |
US20120089644A1 (en) | Automatic contact linking from multiple sources | |
US20220350834A1 (en) | Optimized record placement in graph database | |
CN102129425A (zh) | 数据仓库中大对象集合表的访问方法及装置 | |
CN103235811A (zh) | 一种数据存储方法及装置 | |
JP6272336B2 (ja) | 外部参照がないことを表明する参照属性アノテーション | |
CN103019891A (zh) | 一种还原被删除文件的方法及系统 | |
CN102508857B (zh) | 一种基于事件关联的桌面云搜索方法 | |
WO2018160415A1 (en) | Ontology-based graph query optimization | |
WO2015085901A1 (zh) | 一种文件传输方法、设备以及相关系统 | |
US9807214B2 (en) | Temporary contacts | |
CN110908644B (zh) | 状态节点的配置方法、装置、计算机设备和存储介质 | |
US20160357822A1 (en) | Using locations to define moments | |
US20130254026A1 (en) | Content filtering based on virtual and real-life activities | |
CN115270731A (zh) | 混合文档的协同编辑方法及装置 | |
Marimuthu et al. | Feature-Oriented Domain Analysis Framework for Energy-Aware Self-Adaptive Software |
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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170109 Address after: 266000 Shandong Province, Qingdao city Laoshan District Songling Road No. 399 Patentee after: Poly Polytron Technologies Inc Address before: 266071 Laoshan, Qingdao province Hongkong District No. East Road, room 248, room 131 Patentee before: Hisense Media Networks Co., Ltd. |