CN112818345A - 遍历隐藏进程 - Google Patents

遍历隐藏进程 Download PDF

Info

Publication number
CN112818345A
CN112818345A CN202010828772.XA CN202010828772A CN112818345A CN 112818345 A CN112818345 A CN 112818345A CN 202010828772 A CN202010828772 A CN 202010828772A CN 112818345 A CN112818345 A CN 112818345A
Authority
CN
China
Prior art keywords
address
list entry
kidispatchersreadylisthead
instruction
entry
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
Application number
CN202010828772.XA
Other languages
English (en)
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.)
Beijing Credit Information Technology Co ltd
Original Assignee
Beijing Credit Information Technology Co 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 Beijing Credit Information Technology Co ltd filed Critical Beijing Credit Information Technology Co ltd
Priority to CN202010828772.XA priority Critical patent/CN112818345A/zh
Publication of CN112818345A publication Critical patent/CN112818345A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及内核驱动技术领域,尤其是遍历隐藏进程,具体的遍历进程包括以下步骤:将计算机进程由导出函数KeSetAffinityThread处理获得KiSetAffinityThread的地址;从已获得的KiSetAffinityThread地址往上查找一个字节获得一个CMP指令,这个指令继续往上查找的一个DWORD就是KiDispatcherReadyListHead;进入KiDispatcherReadyListHead后,通过SSDT获取KiDispatcherReadyListHead的地址,并将指令lea装载KiDispatcherReadyListHead的地址,并准备遍历程序;判断KiWaitListEntry链表里可以指向Wait List Entry或者Queue List Entry任一位置的指针的指向;通过Thread Process域得到遍历的进程的EPROCESS,通过EPROCESS可以获得遍历的进程的全部信息,本发明通过遍历线程结构中的链表,能够查到出所有计算机中正在运行的木马病毒,可以提高反病毒工具查找隐藏程序的能力。

Description

遍历隐藏进程
技术领域
本发明涉及内核驱动技术领域,尤其涉及遍历隐藏进程。
背景技术
木马程序隐藏自身是木马程序要做的第一步也是木马程序能否存活的最关键的一步;目前Rootkit使用的主要的进程隐藏技术有:挂钩 NtQuerySystemInformation、NtOpenProcess、ObReference和ObjectHandle 等api隐藏,在进程链上Activeprocess摘除自身来隐藏。
计算机的任务管理器就是遍历Activeprocess链表获得进程信息的;通过驱动层调用遍历PspCidTable链表、EPROCESS结构里的HandleTable结构和PCB里面的ProcssListEntry链表均可以获得隐藏进程;用户的反病毒工具可以遍历到的数据链表,病毒一样可以找到并把进程信息从链表中移除掉;所以大多数反病毒隐藏的工具只能对某些隐藏的病毒遍历到,而这些工具所依赖的遍历进程信息的数据链表如果也被病毒处理了,就遍历不到病毒了,针对此种情况需要对目前遍历隐藏进程的方法进行调整。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的遍历隐藏进程。
为达到以上目的,本发明采用的技术方案为:遍历隐藏进程,包括Windows 线程分派器,所述Windows线程分派器的线程分派主要利用KTHREAD中的三个双向链表结构WaitList Entry、Queue List Entry和Thread List Entry来完成,具体的遍历进程包括以下步骤:
(i)将计算机进程由导出函数KeSetAffinityThread处理获得KiSetAffinityThread的地址;
(ii)从已获得的KiSetAffinityThread地址往上查找一个字节获得一个 CMP指令,这个指令继续往上查找的一个DWORD就是 KiDispatcherReadyListHead;
(iii)进入KiDispatcherReadyListHead后,通过SSDT获取KiDispatcherReadyListHead的地址,并将指令lea装载 KiDispatcherReadyListHead的地址,并准备遍历程序;
(iv)判断KiWaitListEntry链表里可以指向Wait List Entry或者 Queue ListEntry任一位置的指针的指向;判定基准:Service Table和Queue List Entry的偏移之差为0x38,Service Table和Wait List Entry的偏移之差是0x80;
(v)通过基准的偏移差来判定KiWaitListEntry链表里指针的指向,即可进行遍历进程;
(vi)通过Thread Process域得到遍历的进程的EPROCESS,通过 EPROCESS可以获得遍历的进程的全部信息,根据所获取遍历的进程信息判断进程是否存在异常调取系统关键位置文件的行为,如果存在,则对进程进行关闭处理并提示用户。
与现有技术相比,本发明具有以下有益效果:通过遍历线程结构中的链表,能够查到出所有计算机中正在运行的木马病毒,可以提高计算机反病毒工具查找隐藏程序的能力。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
因此,以下对提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的上述描述中,需要说明的是,术语“一侧”、“另一侧”等指示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,术语“相同”等术语并不表示要求部件绝对相同,而是可以存在微小的差异;术语“垂直”仅仅是指部件之间的位置关系相对“平行”而言更加垂直,并不是表示该结构一定要完全垂直,而是可以稍微倾斜。
以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。
遍历隐藏进程,包括Windows线程分派器,其特征在于,所述Windows线程分派器的线程分派主要利用KTHREAD中的三个双向链表结构Wait List Entry、Queue List Entry和Thread List Entry来完成,具体的遍历进程包括以下步骤:
(i)将计算机进程由导出函数KeSetAffinityThread处理获得KiSetAffinityThread的地址;
(ii)从已获得的KiSetAffinityThread地址往上查找一个字节获得一个 CMP指令,这个指令继续往上查找的一个DWORD就是 KiDispatcherReadyListHead;
(iii)进入KiDispatcherReadyListHead后,通过SSDT获取KiDispatcherReadyListHead的地址,并将指令lea装载 KiDispatcherReadyListHead的地址,并准备遍历程序;
(iv)判断KiWaitListEntry链表里可以指向Wait List Entry或者 Queue ListEntry任一位置的指针的指向;判定基准:Service Table和Queue List Entry的偏移之差为0x38,Service Table和Wait List Entry的偏移之差是0x80;
(v)通过基准的偏移差来判定KiWaitListEntry链表里指针的指向,即可进行遍历进程;
(vi)通过Thread Process域得到遍历的进程的EPROCESS,通过 EPROCESS可以获得遍历的进程的全部信息,根据所获取遍历的进程信息判断进程是否存在异常调取系统关键位置文件的行为,如果存在,则对进程进行关闭处理并提示用户。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。
本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。
本发明要求的保护范围由所附的权利要求书及其等。

Claims (1)

1.遍历隐藏进程,包括Windows线程分派器,其特征在于,所述Windows线程分派器的线程分派主要利用KTHREAD中的三个双向链表结构Wait List Entry、Queue List Entry和Thread List Entry来完成,具体的遍历进程包括以下步骤:
(i)将计算机进程由导出函数KeSetAffinityThread处理获得KiSetAffinityThread的地址;
(ii)从已获得的KiSetAffinityThread地址往上查找一个字节获得一个CMP指令,这个指令继续往上查找的一个DWORD就是KiDispatcherReadyListHead;
(iii)进入KiDispatcherReadyListHead后,通过SSDT获取KiDispatcherReadyListHead的地址,并将指令lea装载KiDispatcherReadyListHead的地址,并准备遍历程序;
(iv)判断KiWaitListEntry链表里可以指向Wait List Entry或者Queue List Entry任一位置的指针的指向;判定基准:Service Table和Queue List Entry的偏移之差为0x38,Service Table和Wait List Entry的偏移之差是0x80;
(v)通过基准的偏移差来判定KiWaitListEntry链表里指针的指向,即可进行遍历进程;
(vi)通过Thread Process域得到遍历的进程的EPROCESS,通过EPROCESS可以获得遍历的进程的全部信息,根据所获取遍历的进程信息判断进程是否存在异常调取系统关键位置文件的行为,如果存在,则对进程进行关闭处理并提示用户。
CN202010828772.XA 2020-08-17 2020-08-17 遍历隐藏进程 Pending CN112818345A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010828772.XA CN112818345A (zh) 2020-08-17 2020-08-17 遍历隐藏进程

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010828772.XA CN112818345A (zh) 2020-08-17 2020-08-17 遍历隐藏进程

Publications (1)

Publication Number Publication Date
CN112818345A true CN112818345A (zh) 2021-05-18

Family

ID=75853303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010828772.XA Pending CN112818345A (zh) 2020-08-17 2020-08-17 遍历隐藏进程

Country Status (1)

Country Link
CN (1) CN112818345A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112818346A (zh) * 2020-08-17 2021-05-18 北京辰信领创信息技术有限公司 文件诱捕反勒索病毒的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206692A (zh) * 2006-12-20 2008-06-25 联想(北京)有限公司 检测进程的方法及设备
CN101782954A (zh) * 2009-01-20 2010-07-21 联想(北京)有限公司 一种计算机及异常进程的检测方法
CN103065084A (zh) * 2012-12-27 2013-04-24 武汉大学 在虚拟机外部机进行的windows隐藏进程检测方法
CN108446160A (zh) * 2018-01-29 2018-08-24 中国电子科技网络信息安全有限公司 一种虚拟机隐藏进程检测方法及系统
US20190156027A1 (en) * 2017-11-23 2019-05-23 Nicira, Inc. Detecting lateral movement using a hypervisor
CN112822150A (zh) * 2020-08-19 2021-05-18 北京辰信领创信息技术有限公司 可疑ip的检测方法
CN112818346A (zh) * 2020-08-17 2021-05-18 北京辰信领创信息技术有限公司 文件诱捕反勒索病毒的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206692A (zh) * 2006-12-20 2008-06-25 联想(北京)有限公司 检测进程的方法及设备
CN101782954A (zh) * 2009-01-20 2010-07-21 联想(北京)有限公司 一种计算机及异常进程的检测方法
CN103065084A (zh) * 2012-12-27 2013-04-24 武汉大学 在虚拟机外部机进行的windows隐藏进程检测方法
US20190156027A1 (en) * 2017-11-23 2019-05-23 Nicira, Inc. Detecting lateral movement using a hypervisor
CN108446160A (zh) * 2018-01-29 2018-08-24 中国电子科技网络信息安全有限公司 一种虚拟机隐藏进程检测方法及系统
CN112818346A (zh) * 2020-08-17 2021-05-18 北京辰信领创信息技术有限公司 文件诱捕反勒索病毒的方法
CN112822150A (zh) * 2020-08-19 2021-05-18 北京辰信领创信息技术有限公司 可疑ip的检测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JUNHU ZHU; TIANYANG ZHOU; QINGXIAN WANG: "Towards a Novel Approach for Hidden Process Detection Based on Physical Memory Scanning", 《2012 FOURTH INTERNATIONAL CONFERENCE ON MULTIMEDIA INFORMATION NETWORKING AND SECURITY》 *
闫广禄,罗森林: "基于线程调度的隐藏进程检测技术研究", 《信息网络安全》, no. 02, pages 3 *
鹿剑: "遍历线程调度链表辅助检测进程", pages 1 - 4, Retrieved from the Internet <URL:https://bbs.kanxue.com/thread-102559.htm> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112818346A (zh) * 2020-08-17 2021-05-18 北京辰信领创信息技术有限公司 文件诱捕反勒索病毒的方法

Similar Documents

Publication Publication Date Title
US7802300B1 (en) Method and apparatus for detecting and removing kernel rootkits
US10397261B2 (en) Identifying device, identifying method and identifying program
US7340777B1 (en) In memory heuristic system and method for detecting viruses
WO2013037528A1 (en) Malware scanning
JP6116697B2 (ja) 電子デバイスを保護する方法、プログラム、システム、および機械可読ストレージ媒体
US7571482B2 (en) Automated rootkit detector
US8161552B1 (en) White list creation in behavior monitoring system
US20120144488A1 (en) Computer virus detection systems and methods
JP5963008B2 (ja) コンピュータシステムの分析方法および装置
CN111460445B (zh) 样本程序恶意程度自动识别方法及装置
US20120210431A1 (en) Detecting a trojan horse
EP2920737B1 (en) Dynamic selection and loading of anti-malware signatures
EP1872233A2 (en) System and method for scanning memory for pestware offset signatures
US11120124B2 (en) Method for detecting a deviation of a security state of a computing device from a desired security state
JP4025882B2 (ja) コンピュータウィルス固有情報抽出装置、コンピュータウィルス固有情報抽出方法及びコンピュータウィルス固有情報抽出プログラム
US7571476B2 (en) System and method for scanning memory for pestware
US8370941B1 (en) Rootkit scanning system, method, and computer program product
US20170126716A1 (en) Malware detection
WO2019013033A1 (ja) コールスタック取得装置、コールスタック取得方法、および、コールスタック取得プログラム
US20070234330A1 (en) Prevention of executable code modification
JPWO2015045043A1 (ja) プロセス検査装置、プロセス検査プログラムおよびプロセス検査方法
CN112818345A (zh) 遍历隐藏进程
CN105718793A (zh) 基于修改沙箱环境防止恶意代码识别沙箱的方法及系统
US20240004964A1 (en) Method for reducing false-positives for identification of digital content
US20060167948A1 (en) Detection of computer system malware

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