CN111159707A - 恶意dll注入的检测方法及装置 - Google Patents
恶意dll注入的检测方法及装置 Download PDFInfo
- Publication number
- CN111159707A CN111159707A CN202010262389.2A CN202010262389A CN111159707A CN 111159707 A CN111159707 A CN 111159707A CN 202010262389 A CN202010262389 A CN 202010262389A CN 111159707 A CN111159707 A CN 111159707A
- Authority
- CN
- China
- Prior art keywords
- current
- dll
- dll module
- historical
- information
- 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
Images
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/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种恶意DLL注入的检测方法及装置。所述方法包括:获取应用程序在当前周期内运行产生的进程信息,其中,进程信息包括当前进程标识和与当前进程标识对应的当前DLL模块信息;然后根据当前DLL模块信息及与当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入,其中,历史DLL模块信息是应用程序在历史周期内运行产生的,历史周期是在时间维度上位于当前周期之前的周期。如此,能够及时发现恶意DLL注入,从而可以避免正常运行的应用程序被坏导致应用程序运行故障的问题,提高应用程序的运行安全。
Description
技术领域
本申请涉及网络安全技术领域,特别涉及一种恶意DLL注入的检测方法及装置。
背景技术
随着互联网和信息技术应用的高速发展,网络技术与信息技术已经应用到全球各领域,对人们的生产和生活产生了前所未有的影响,成为了人们生活中不可或缺的组成部分。与此同时,网络安全问题也随之出现,网络安全问题已成为影响国家安全、经济发展、个人利害的重大关键问题。
Hook是Windows中提供的一种用以替换DOS下“中断”的***机制,动态链接库(Dynamic Link Library,DLL)注入是一种常用的HOOK进程的方法。然而,恶意程序可以通过某种手段,注入到当前正在运行的程序中,让正在运行的程序加载并执行恶意的DLL文件,从而可以达到间接的提权的目的,也可以通过执行该DLL在正在运行的程序内进行破坏,影响该程序的运行等。目前尚没有一种可以有效监控恶意DLL注入的方法。
基于此,目前亟需一种恶意DLL注入的检测方法,用于解决现有技术中不能及时发现恶意DLL注入,从而破坏正常运行的应用程序,进而导致应用程序运行故障的问题。
发明内容
本申请提供了一种恶意DLL注入的检测方法及装置,可用于解决在现有技术中不能及时发现恶意DLL注入,从而破坏正常运行的应用程序,进而导致应用程序运行故障的技术问题。
第一方面,本申请实施例提供一种恶意DLL注入的检测方法,所述方法包括:
获取应用程序在当前周期内运行产生的进程信息,所述进程信息包括当前进程标识和与所述当前进程标识对应的当前DLL模块信息;
根据所述当前DLL模块信息及与所述当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入;所述历史DLL模块信息是应用程序在历史周期内运行产生的,所述历史周期是在时间维度上位于当前周期之前的周期。
结合第一方面,在第一方面的一种可实现方式中,在根据所述当前DLL模块信息及与所述当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入之前,所述方法还包括:
确定第一数据库中存储有所述当前进程标识,所述第一数据库中预先存储有所述应用程序在历史周期内运行产生的进程标识。
结合第一方面,在第一方面的一种可实现方式中,在确定第一数据库中存储有所述当前进程标识之后,所述方法还包括:
获取所述当前进程标识对应的第二数据库,所述第二数据库中存储有所述历史DLL模块信息。
结合第一方面,在第一方面的一种可实现方式中,所述方法还包括:
如果所述第一数据库中未存储有所述当前进程标识,则将所述当前进程标识存储到所述第一数据库中,以及将所述当前DLL模块信息存储到所述第二数据库中。
结合第一方面,在第一方面的一种可实现方式中,所述当前DLL模块信息包括当前DLL模块的文件名,所述历史DLL模块信息包括历史DLL模块的文件名;
根据所述当前DLL模块信息及与所述当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入,包括:
如果所述历史DLL模块的文件名中不存在所述当前DLL模块的文件名,则确定应用程序受到恶意DLL注入。
结合第一方面,在第一方面的一种可实现方式中,所述当前DLL模块信息还包括当前DLL模块的文件大小,所述历史DLL模块信息还包括历史DLL模块的文件大小;
所述方法还包括:
如果所述历史DLL模块的文件名中存在所述当前DLL模块的文件名,则判断所述当前DLL模块的文件大小与所述历史DLL模块的文件大小是否一致;
如果所述当前DLL模块的文件大小与所述历史DLL模块的文件大小不一致,则确定应用程序受到恶意DLL注入。
结合第一方面,在第一方面的一种可实现方式中,所述当前DLL模块信息还包括当前DLL模块的文件版本信息,所述历史DLL模块信息还包括历史DLL模块的文件版本信息;
所述方法还包括:
如果所述当前DLL模块的文件大小与所述历史DLL模块的文件大小一致,则判断所述当前DLL模块的文件版本信息与所述历史DLL模块的文件版本信息是否一致;
如果所述当前DLL模块的文件版本信息与所述历史DLL模块的文件版本信息不一致,则确定应用程序受到恶意DLL注入。
第二方面,本申请实施例提供一种恶意DLL注入的检测装置,所述装置包括:
获取单元,用于获取应用程序在当前周期内运行产生的进程信息,所述进程信息包括当前进程标识和与所述当前进程标识对应的当前DLL模块信息;
处理单元,用于根据所述当前DLL模块信息及与所述当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入;所述历史DLL模块信息是应用程序在历史周期内运行产生的,所述历史周期是在时间维度上位于当前周期之前的周期。
结合第二方面,在第二方面的一种可实现方式中,所述处理单元在根据所述当前DLL模块信息及与所述当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入之前,还用于:
确定第一数据库中存储有所述当前进程标识,所述第一数据库中预先存储有所述应用程序在历史周期内运行产生的进程标识。
结合第二方面,在第二方面的一种可实现方式中,所述处理单元在确定第一数据库中存储有所述当前进程标识之后,还用于:
获取所述当前进程标识对应的第二数据库,所述第二数据库中存储有所述历史DLL模块信息。
结合第二方面,在第二方面的一种可实现方式中,所述处理单元还用于:
如果所述第一数据库中未存储有所述当前进程标识,则将所述当前进程标识存储到所述第一数据库中,以及将所述当前DLL模块信息存储到所述第二数据库中。
结合第二方面,在第二方面的一种可实现方式中,所述当前DLL模块信息包括当前DLL模块的文件名,所述历史DLL模块信息包括历史DLL模块的文件名;
所述处理单元具体用于:
如果所述历史DLL模块的文件名中不存在所述当前DLL模块的文件名,则确定应用程序受到恶意DLL注入。
结合第二方面,在第二方面的一种可实现方式中,所述当前DLL模块信息还包括当前DLL模块的文件大小,所述历史DLL模块信息还包括历史DLL模块的文件大小;
所述处理单元还用于:
如果所述历史DLL模块的文件名中存在所述当前DLL模块的文件名,则判断所述当前DLL模块的文件大小与所述历史DLL模块的文件大小是否一致;如果所述当前DLL模块的文件大小与所述历史DLL模块的文件大小不一致,则确定应用程序受到恶意DLL注入。
结合第二方面,在第二方面的一种可实现方式中,所述当前DLL模块信息还包括当前DLL模块的文件版本信息,所述历史DLL模块信息还包括历史DLL模块的文件版本信息;
所述处理单元还用于:
如果所述当前DLL模块的文件大小与所述历史DLL模块的文件大小一致,则判断所述当前DLL模块的文件版本信息与所述历史DLL模块的文件版本信息是否一致;如果所述当前DLL模块的文件版本信息与所述历史DLL模块的文件版本信息不一致,则确定应用程序受到恶意DLL注入。
第三方面,本申请实施例提供了一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面所述的恶意DLL注入的检测方法。
第四方面,本申请实施例提供了一种存储介质,所述存储介质中存储有计算机程序,当恶意DLL注入的检测装置的至少一个处理器执行所述计算机程序时,恶意DLL注入的检测装置执行第一方面所述的恶意DLL注入的检测方法。
采用上述方法,可以获取应用程序在当前周期内运行产生的进程信息,然后根据进程信息中包括的与当前进程标识对应的当前DLL模块信息,以及与当前进程标识对应的历史DLL模块信息,对应用程序是否收到恶意DLL注入进行判断。如此,能够及时发现恶意DLL注入,从而可以避免正常运行的应用程序被坏导致应用程序运行故障的问题,提高应用程序的运行安全。
附图说明
图1为本申请实施例提供的一种恶意DLL注入的检测方法所对应的流程示意图;
图2为本申请实施例提供的一种判断应用程序是否受到恶意DLL注入的方法所对应的流程示意图之一;
图3为本申请实施例提供的一种判断应用程序是否受到恶意DLL注入的方法所对应的流程示意图之二;
图4为本申请实施例提供的一种恶意DLL注入的检测装置的结构示意图;
图5为本申请实施例提供的电子设备硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示例性示出了本申请实施例提供的一种恶意DLL注入的检测方法所对应的流程示意图。如图1所示,具体包括如下步骤:
步骤101,获取应用程序在当前周期内运行产生的进程信息。
步骤102,根据当前DLL模块信息及与当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入。
采用上述方法,可以获取应用程序在当前周期内运行产生的进程信息,然后根据进程信息中包括的与当前进程标识对应的当前DLL模块信息,以及与当前进程标识对应的历史DLL模块信息,对应用程序是否收到恶意DLL注入进行判断。如此,能够及时发现恶意DLL注入,从而可以避免正常运行的应用程序被坏导致应用程序运行故障的问题,提高应用程序的运行安全。
具体来说,步骤101中,进程信息可以包括多种类型的内容,比如,进程信息可以包括当前进程标识;又比如,进程信息还可以包括与所述当前进程标识对应的当前DLL模块信息。
其中,进程的标识可以是进程的唯一性标识,该唯一性标识可以以数字、字母或字符的形式标识,具体不做限定。
当前DLL模块信息可以包括当前DLL模块的文件名、当前DLL模块的文件大小和当前DLL模块的文件版本信息等信息。
如表1所示,为进程信息的一种示例。其中,进程1对应的当前DLL模块信息中包括:文件名为“模块1-1”,其文件大小为100kb,其文件版本信息为1.1;文件名为“模块1-2”,其文件大小为120kb,其文件版本信息为1.2;文件名为“模块1-3”,其文件大小为150kb,其文件版本信息为1.3。进程2对应的当前DLL模块信息中包括:文件名为“模块2-1”,其文件大小为200kb,其文件版本信息为2.1;文件名为“模块2-2”,其文件大小为220kb,其文件版本信息为2.2;文件名为“模块2-3”,其文件大小为250kb,其文件版本信息为2.3。进程3对应的当前DLL模块信息中包括:文件名为“模块3-1”,其文件大小为300kb,其文件版本信息为3.1;文件名为“模块3-2”,其文件大小为320kb,其文件版本信息为3.2;文件名为“模块3-3”,其文件大小为350kb,其文件版本信息为3.3。
表1:进程信息的一种示例
需要说明的是,表1仅为一种示例性说明,在其它可能的实现方式中,对每个进程所对应的模块文件的数量可以不做限定,即,表1中示出的进程1包括名为“模块1-1”、“模块1-2”和模块“1-3”这三个模块文件,在其它可能的示例中,进程1还可以包括“模块1-4”这个新的模块文件。
本申请实施例可以周期性地获取应用程序运行产生的进程信息。在具体实施过程中,可以采用定时器的方式实现周期性获取进程信息。进一步地,定时器时间间隔越短,对是否受到恶意DLL注入的判断越准确,本申请中可以设定定时器在0.5秒左右。
在执行步骤102之前,还可以先判断第一数据库中是否存储有当前进程标识,如果第一数据库中存储有当前进程标识,则可以根据当前DLL模块信息及历史DLL模块信息,判断应用程序是否受到恶意DLL注入;如果第一数据库中未存储有当前进程标识,则可以将当前进程标识存储到第一数据库中。
其中,第一数据库中可以预先存储有应用程序在历史周期内运行产生的进程标识,历史周期可以是在时间维度上位于当前周期之前的周期。
如表2所示,为第一数据库的一种示例。其中,第一数据库中包括进程1和进程2两个进程标识。
表2:第一数据库的一种示例
进一步地,如果第一数据库中存储有当前进程标识,则还可以获取当前进程标识对应的第二数据库,其中,第二数据库中可以存储有历史DLL模块信息。
如表3所示,为第二数据库的一种示例。其中,第二数据库是与进程1相对应的,即第二数据库中存储有应用程序在历史周期内运行产生的与进程1对应的历史DLL模块信息。从表3中可以看出,进程1对应的历史DLL模块信息包括:文件名为“模块1-1”,其文件大小为90kb,其文件版本信息为1.1;文件名为“模块1-2”,其文件大小为120kb,其文件版本信息为1.1。
表3:第二数据库的一种示例
如果第一数据库中未存储有当前进程标识,则还可以将当前DLL模块信息存储到第二数据库中。
需要说明的是,第一数据库和第二数据库可以以多种形式表现,比如,第一数据库和第二数据库可以以链表的形式表现,如第一数据库为一级链表,第二数据库为二级链接;又比如,第一数据库和第二数据库还可以以k-value的形式表现,具体不做限定。
步骤102中,与当前DLL模块信息相对应的,历史DLL模块信息可以是应用程序在历史周期内运行产生的,可以包括历史DLL模块的文件名、历史DLL模块的文件大小和历史DLL模块的文件版本信息等。其中,历史周期可以是在时间维度上位于当前周期之前的周期。
进一步地,历史周期可以就是当前周期的上一周期,或者也可以是本领域技术人员根据经验和实际情况确定的在时间维度上位于当前周期之前的周期,具体不做限定。
本申请实施例中,根据当前DLL模型信息的不同,判断应用程序是否受到恶意DLL注入的方式也不同。下面将对判断应用程序是否受到恶意DLL注入的方式进行示例性描述。
示例一,如果当前DLL模块信息仅包括DLL模块的文件名,那么,可以判断历史DLL模块的文件名中是否存在当前DLL模块的文件名,如果不存在,则可以确定应用程序受到恶意DLL注入。
相反地,如果历史DLL模块的文件名中存在当前DLL模块的文件名,则可以确定应用程序未受到恶意DLL注入。
示例二,如果当前DLL模块信息包括当前DLL模块的文件名和当前DLL模块的文件大小,那么,可以参考图2,其示例性示出了本申请实施例提供的一种判断应用程序是否受到恶意DLL注入的方法所对应的流程示意图之一。如图2所示,具体包括如下
步骤201,判断历史DLL模块的文件名中是否存在当前DLL模块的文件名,如果存在,则执行步骤202;否则,执行步骤204。
步骤202,判断当前DLL模块的文件大小与历史DLL模块的文件大小是否一致,如果一致,则执行步骤203;否则,执行步骤204。
步骤203,确定应用程序未受到恶意DLL注入。
步骤204,确定应用程序受到恶意DLL注入。
示例三,如果当前DLL模块信息包括当前DLL模块的文件名、当前DLL模块的文件大小和当前DLL模块的文件版本信息,那么,可以参考图3,其示例性示出了本申请实施例提供的一种判断应用程序是否受到恶意DLL注入的方法所对应的流程示意图之二。如图3所示,具体包括如下
步骤301,判断历史DLL模块的文件名中是否存在当前DLL模块的文件名,如果存在,则执行步骤302;否则,执行步骤305。
步骤302,判断当前DLL模块的文件大小与历史DLL模块的文件大小是否一致,如果一致,则执行步骤303;否则,执行步骤305。
步骤303,判断所述当前DLL模块的文件版本信息与所述历史DLL模块的文件版本信息是否一致,如果一致,则执行步骤304;否则,执行步骤305。
步骤304,确定应用程序未受到恶意DLL注入。
步骤305,确定应用程序受到恶意DLL注入。
需要说明的是,上文所列举出的三个示例仅为示例性说明,本领域技术人员还可以根据经验和实际情况选择其它方式来判断应用程序是否受到恶意DLL注入,具体不做限定,比如,如果当前DLL模块信息包括当前DLL模块的文件名和当前DLL模块的文件版本信息,那么,可以先判断历史DLL模块的文件名中是否存在当前DLL模块的文件名,如果不存在,则可以确定应用程序受到恶意DLL注入;如果存在,则再判断当前DLL模块的文件版本信息与历史DLL模块的文件版本信息是否一致,如果一致,则可以确定应用程序未受到恶意DLL注入,如果不一致,则可以确定应用程序受到恶意DLL注入。
进一步地,在确定应用程序受到恶意DLL注入之后,可以由管理员决定是否停止应用程序的运行。比如,如果历史DLL模块的文件名中不存在当前DLL模块的文件名,即当前DLL模块的文件名是新增的,那么,如果管理员认为该新增的文件名是安全的,则可以更新第二数据库中当前DLL模块的文件名。
又比如,如果当前DLL模块的文件大小与历史DLL模块的文件大小不一致,那么,如果管理员认为当前DLL模块的文件大小是合法的,则可以更新第二数据库中当前DLL模块的文件大小。
又比如,如果当前DLL模块的文件版本信息与历史DLL模块的文件版本信息不一致,那么,如果管理员认为当前DLL模块的文件版本信息是合法的,则可以更新第二数据库中当前DLL模块的文件大小。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图4示例性示出了本申请实施例提供的一种恶意DLL注入的检测装置的结构示意图。如图4所示,该装置具有实现上述恶意DLL注入的检测方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:获取单元401和处理单元402。
获取单元401,用于获取应用程序在当前周期内运行产生的进程信息,所述进程信息包括当前进程标识和与所述当前进程标识对应的当前DLL模块信息;
处理单元402,用于根据所述当前DLL模块信息及与所述当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入;所述历史DLL模块信息是应用程序在历史周期内运行产生的,所述历史周期是在时间维度上位于当前周期之前的周期。
可选地,所述处理单元402在根据所述当前DLL模块信息及与所述当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入之前,还用于:
确定第一数据库中存储有所述当前进程标识,所述第一数据库中预先存储有所述应用程序在历史周期内运行产生的进程标识。
可选地,所述处理单元402在确定第一数据库中存储有所述当前进程标识之后,还用于:
获取所述当前进程标识对应的第二数据库,所述第二数据库中存储有所述历史DLL模块信息。
可选地,所述处理单元402还用于:
如果所述第一数据库中未存储有所述当前进程标识,则将所述当前进程标识存储到所述第一数据库中,以及将所述当前DLL模块信息存储到所述第二数据库中。
可选地,所述当前DLL模块信息包括当前DLL模块的文件名,所述历史DLL模块信息包括历史DLL模块的文件名;
所述处理单元402具体用于:
如果所述历史DLL模块的文件名中不存在所述当前DLL模块的文件名,则确定应用程序受到恶意DLL注入。
可选地,所述当前DLL模块信息还包括当前DLL模块的文件大小,所述历史DLL模块信息还包括历史DLL模块的文件大小;
所述处理单元402还用于:
如果所述历史DLL模块的文件名中存在所述当前DLL模块的文件名,则判断所述当前DLL模块的文件大小与所述历史DLL模块的文件大小是否一致;如果所述当前DLL模块的文件大小与所述历史DLL模块的文件大小不一致,则确定应用程序受到恶意DLL注入。
可选地,所述当前DLL模块信息还包括当前DLL模块的文件版本信息,所述历史DLL模块信息还包括历史DLL模块的文件版本信息;
所述处理单元402还用于:
如果所述当前DLL模块的文件大小与所述历史DLL模块的文件大小一致,则判断所述当前DLL模块的文件版本信息与所述历史DLL模块的文件版本信息是否一致;如果所述当前DLL模块的文件版本信息与所述历史DLL模块的文件版本信息不一致,则确定应用程序受到恶意DLL注入。
图5为本申请实施例提供的电子设备硬件结构示意图。如图5所示,本申请实施例提供的电子设备包括:存储器501,用于存储程序指令;处理器502,用于调用并执行所述存储器中的程序指令,以实现上述实施例所述的恶意DLL注入的检测方法。
本实施例中,处理器502和存储器501可通过总线或其他方式连接。处理器可以是通用处理器,例如中央处理器、数字信号处理器、专用集成电路,或者被配置成实施本申请实施例的一个或多个集成电路。存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘。
本申请实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,当恶意DLL注入的检测装置的至少一个处理器执行所述计算机程序时,恶意DLL注入的检测装置执行上述实施例所述的恶意DLL注入的检测方法。
所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于服务构建装置和服务加载装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。
Claims (10)
1.一种恶意DLL注入的检测方法,其特征在于,所述方法包括:
获取应用程序在当前周期内运行产生的进程信息,所述进程信息包括当前进程标识和与所述当前进程标识对应的当前DLL模块信息;
根据所述当前DLL模块信息及与所述当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入;所述历史DLL模块信息是应用程序在历史周期内运行产生的,所述历史周期是在时间维度上位于当前周期之前的周期。
2.根据权利要求1所述的方法,其特征在于,在根据所述当前DLL模块信息及与所述当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入之前,所述方法还包括:
确定第一数据库中存储有所述当前进程标识,所述第一数据库中预先存储有所述应用程序在历史周期内运行产生的进程标识。
3.根据权利要求2所述的方法,其特征在于,在确定第一数据库中存储有所述当前进程标识之后,所述方法还包括:
获取所述当前进程标识对应的第二数据库,所述第二数据库中存储有所述历史DLL模块信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果所述第一数据库中未存储有所述当前进程标识,则将所述当前进程标识存储到所述第一数据库中,以及将所述当前DLL模块信息存储到所述第二数据库中。
5.根据权利要求1所述的方法,其特征在于,所述当前DLL模块信息包括当前DLL模块的文件名,所述历史DLL模块信息包括历史DLL模块的文件名;
根据所述当前DLL模块信息及与所述当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入,包括:
如果所述历史DLL模块的文件名中不存在所述当前DLL模块的文件名,则确定应用程序受到恶意DLL注入。
6.根据权利要求5所述的方法,其特征在于,所述当前DLL模块信息还包括当前DLL模块的文件大小,所述历史DLL模块信息还包括历史DLL模块的文件大小;
所述方法还包括:
如果所述历史DLL模块的文件名中存在所述当前DLL模块的文件名,则判断所述当前DLL模块的文件大小与所述历史DLL模块的文件大小是否一致;
如果所述当前DLL模块的文件大小与所述历史DLL模块的文件大小不一致,则确定应用程序受到恶意DLL注入。
7.根据权利要求6所述的方法,其特征在于,所述当前DLL模块信息还包括当前DLL模块的文件版本信息,所述历史DLL模块信息还包括历史DLL模块的文件版本信息;
所述方法还包括:
如果所述当前DLL模块的文件大小与所述历史DLL模块的文件大小一致,则判断所述当前DLL模块的文件版本信息与所述历史DLL模块的文件版本信息是否一致;
如果所述当前DLL模块的文件版本信息与所述历史DLL模块的文件版本信息不一致,则确定应用程序受到恶意DLL注入。
8.一种恶意DLL注入的检测装置,其特征在于,所述装置包括:
获取单元,用于获取应用程序在当前周期内运行产生的进程信息,所述进程信息包括当前进程标识和与所述当前进程标识对应的当前DLL模块信息;
处理单元,用于根据所述当前DLL模块信息及与所述当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入;所述历史DLL模块信息是应用程序在历史周期内运行产生的,所述历史周期是在时间维度上位于当前周期之前的周期。
9.根据权利要求8所述的装置,其特征在于,所述处理单元在根据所述当前DLL模块信息及与所述当前进程标识对应的历史DLL模块信息,判断应用程序是否受到恶意DLL注入之前,还用于:
确定第一数据库中存储有所述当前进程标识,所述第一数据库中预先存储有所述应用程序在历史周期内运行产生的进程标识。
10.根据权利要求9所述的装置,其特征在于,所述处理单元在确定第一数据库中存储有所述当前进程标识之后,还用于:
获取所述当前进程标识对应的第二数据库,所述第二数据库中存储有所述历史DLL模块信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010262389.2A CN111159707A (zh) | 2020-04-07 | 2020-04-07 | 恶意dll注入的检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010262389.2A CN111159707A (zh) | 2020-04-07 | 2020-04-07 | 恶意dll注入的检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111159707A true CN111159707A (zh) | 2020-05-15 |
Family
ID=70567972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010262389.2A Pending CN111159707A (zh) | 2020-04-07 | 2020-04-07 | 恶意dll注入的检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159707A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637146A (zh) * | 2020-12-09 | 2021-04-09 | 恒生电子股份有限公司 | 防注入的方法及装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855274A (zh) * | 2012-07-17 | 2013-01-02 | 北京奇虎科技有限公司 | 一种可疑进程检测的方法和装置 |
CN104657660A (zh) * | 2013-11-22 | 2015-05-27 | 上海宝康电子控制工程有限公司 | 计算机软件***中实现ipz病毒专杀的方法 |
CN107665306A (zh) * | 2017-09-06 | 2018-02-06 | 武汉斗鱼网络科技有限公司 | 一种检测非法文件注入的方法、装置、客户端及服务器 |
US10489583B2 (en) * | 2015-05-20 | 2019-11-26 | Alibaba Group Holding Limited | Detecting malicious files |
CN110688661A (zh) * | 2019-08-30 | 2020-01-14 | 深圳壹账通智能科技有限公司 | 防止动态链接库文件劫持的方法、装置和计算机设备 |
-
2020
- 2020-04-07 CN CN202010262389.2A patent/CN111159707A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855274A (zh) * | 2012-07-17 | 2013-01-02 | 北京奇虎科技有限公司 | 一种可疑进程检测的方法和装置 |
CN104657660A (zh) * | 2013-11-22 | 2015-05-27 | 上海宝康电子控制工程有限公司 | 计算机软件***中实现ipz病毒专杀的方法 |
US10489583B2 (en) * | 2015-05-20 | 2019-11-26 | Alibaba Group Holding Limited | Detecting malicious files |
CN107665306A (zh) * | 2017-09-06 | 2018-02-06 | 武汉斗鱼网络科技有限公司 | 一种检测非法文件注入的方法、装置、客户端及服务器 |
CN110688661A (zh) * | 2019-08-30 | 2020-01-14 | 深圳壹账通智能科技有限公司 | 防止动态链接库文件劫持的方法、装置和计算机设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637146A (zh) * | 2020-12-09 | 2021-04-09 | 恒生电子股份有限公司 | 防注入的方法及装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108989150B (zh) | 一种登录异常检测方法及装置 | |
CN102819713B (zh) | 一种检测弹窗安全性的方法和*** | |
CN109815697B (zh) | 误报行为处理方法及装置 | |
CN114417335A (zh) | 一种恶意文件检测方法、装置、电子设备及存储介质 | |
CN107103243B (zh) | 漏洞的检测方法及装置 | |
CN106302712B (zh) | 处理网页数据的方法及装置 | |
CN106789973B (zh) | 页面的安全性检测方法及终端设备 | |
CN111159707A (zh) | 恶意dll注入的检测方法及装置 | |
CN111221742A (zh) | 一种测试案例的更新方法、装置、存储介质和服务器 | |
CN114218577A (zh) | 一种api的风险确定方法、装置、设备及介质 | |
CN113810431A (zh) | 一种基于Hook的交通物联网终端安全检测方法和*** | |
CN117609992A (zh) | 一种数据泄密检测方法、装置及存储介质 | |
CN108509796B (zh) | 一种风险性的检测方法及服务器 | |
CN108197475B (zh) | 一种恶意so模块检测方法及相关装置 | |
CN111756594B (zh) | 压力测试的控制方法、计算机设备和计算机可读存储介质 | |
CN109981573B (zh) | 安全事件响应方法及装置 | |
CN111131166A (zh) | 一种用户行为预判方法及相关设备 | |
CN111949363A (zh) | 业务访问的管理方法、计算机设备、存储介质及*** | |
US20160294610A1 (en) | Method and device for managing network acceleration software | |
CN114417349A (zh) | 攻击结果判定方法、装置、电子设备及存储介质 | |
CN113609478A (zh) | 一种ios平台应用程序篡改检测方法及装置 | |
CN108512818B (zh) | 检测漏洞的方法及装置 | |
CN112054927A (zh) | 基于指纹校验防篡改的网站更新方法、装置以及电子设备 | |
CN111079139A (zh) | 进程预警方法、装置、计算机设备和计算机可读存储介质 | |
CN112699015B (zh) | 日志输出方法、装置、服务器及计算机可读存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200515 |