恶意程序检测方法及装置制造方法及图纸

技术编号:21116219 阅读:27 留言:0更新日期:2019-05-16 09:07
本发明专利技术公开了一种恶意程序检测方法及装置,所述方法包括:监听模拟鼠标点击操作和进程创建操作;在监听到模拟鼠标点击操作时,判断模拟鼠标点击操作是否为通过IAccessible接口发起的远程过程调用;若模拟鼠标点击操作为通过所述IAccessible接口发起的远程过程调用,则解析所述模拟鼠标点击操作点击的未知程序的文件名和远程过程调用发起端的线程ID;判断所述未知程序的文件名是否为目标进程的进程路径的子串;若所述未知程序的文件名为所述目标进程的进程路径的子串,则根据所述目标进程的进程ID、所述目标进程的进程路径以及所述线程ID分析所述未知程序是否为恶意程序。本发明专利技术提供的恶意程序检测方法及装置,能够检测出通过MSAA技术模拟鼠标点击启动的恶意程序。

Malicious Program Detection Method and Device

【技术实现步骤摘要】
恶意程序检测方法及装置
本专利技术涉及数据安全
,具体涉及一种恶意程序检测方法及装置。
技术介绍
随着计算机在世界范围内的广泛使用,恶意程序导致的防护方法和软件故障亦在持续扩展。由于恶意程序具有感染性、复制性以及破坏性,其已成为困扰计算机使用的一个重大问题。恶意程序是指任何故意创建用来执行未经授权并通常是有害行为的软件程序,其被秘密植入用户系统中,以盗取用户机密信息,最终破坏用户操作系统或者导致其他危害出现。陷门、逻辑炸弹、特洛伊木马、蠕虫、细菌、病毒等,都可以称之为恶意程序。恶意程序对计算机设备以及用户造成的危害是巨大的,因而如何对恶意程序进行检测就显得尤为重要。随着恶意程序呈现爆发式的增长,特征库的生成与更新又通常滞后于恶意程序的产生,传统通过特征库匹配对恶意程序进行检测的方式越来越力不从心,于是出现了主动防御机制。主动防御机制是基于程序行为进行自主分析的实时防护技术,不以恶意程序的特征作为判断依据,而是从恶意程序的定义出发,直接将程序行为作为判断依据,解决了传统安全软件无法防御未知恶意程序的弊端,从技术上实现了恶意程序的主动防御。然而,对于通过MSAA(MicrosoftActiveAccessibility)技术模拟鼠标点击启动恶意程序的操作,恶意程序被启动后产生的进程链信息与用户主动运行正常程序产生的进城链信息完全相同,主动防御机制会将恶意程序的启动误认为是用户的自主行为。
技术实现思路
本专利技术所要解决的是主动防御机制无法检测出通过MSAA技术模拟鼠标点击启动恶意程序的问题。本专利技术通过下述技术方案实现:一种恶意程序检测方法,包括:监听模拟鼠标点击操作和进程创建操作;在监听到所述模拟鼠标点击操作时,判断所述模拟鼠标点击操作是否为通过IAccessible接口发起的远程过程调用;若所述模拟鼠标点击操作为通过所述IAccessible接口发起的远程过程调用,则解析所述模拟鼠标点击操作点击的未知程序的文件名和远程过程调用发起端的线程ID;判断所述未知程序的文件名是否为目标进程的进程路径的子串,所述目标进程为在所述模拟鼠标点击操作之后监听到的所述进程创建操作创建的进程;若所述未知程序的文件名为所述目标进程的进程路径的子串,则根据所述目标进程的进程ID、所述目标进程的进程路径以及所述线程ID分析所述未知程序是否为恶意程序。可选的,所述监听模拟鼠标点击操作包括:对程序管理器进程中实现模拟鼠标点击可执行程序原文件的函数挂接钩子;和/或对程序管理器进程中实现模拟鼠标点击可执行程序快捷方式的函数挂接钩子。可选的,所述监听进程创建操作包括:对程序管理器进程中实现进程创建的函数挂接钩子。可选的,所述判断所述模拟鼠标点击操作是否为通过IAccessible接口发起的远程过程调用包括:对所述模拟鼠标点击操作进行栈回溯,获得所述模拟鼠标点击操作的调用栈;根据所述模拟鼠标点击操作的调用栈确定所述模拟鼠标点击操作是否为通过IAccessible接口发起的远程过程调用。可选的,所述解析所述模拟鼠标点击操作点击的未知程序的文件名和远程过程调用发起端的线程ID包括:通过实现所述模拟鼠标点击操作的函数参数获得所述未知程序的文件名;通过线程环境块获得所述线程ID。可选的,所述目标进程的创建时间减去所述模拟鼠标点击操作的发生时间小于预设时间差。可选的,在所述根据所述目标进程的进程ID、所述目标进程的进程路径以及所述线程ID分析所述未知程序是否为恶意程序之后,还包括:若所述未知程序为恶意程序,则生成告警信息。可选的,在所述生成告警信息之后,还包括:通过邮件、短信、对话框以及即时通信中的一种或多种组合将所述告警信息发送给所述用户。基于同样的专利技术构思,本专利技术还提供一种恶意程序检测装置,包括:第一监听模块,用于监听模拟鼠标点击操作;第二监听模块,用于监听进程创建操作;第一判断模块,用于在监听到所述模拟鼠标点击操作时,判断所述模拟鼠标点击操作是否为通过IAccessible接口发起的远程过程调用;解析模块,用于在所述模拟鼠标点击操作为通过所述IAccessible接口发起的远程过程调用时,解析所述模拟鼠标点击操作点击的未知程序的文件名和远程过程调用发起端的线程ID;第二判断模块,用于判断所述未知程序的文件名是否为目标进程的进程路径的子串,所述目标进程为在所述模拟鼠标点击操作之后监听到的所述进程创建操作创建的进程;分析模块,用于在所述未知程序的文件名为所述目标进程的进程路径的子串时,根据所述目标进程的进程ID、所述目标进程的进程路径以及所述线程ID分析所述未知程序是否为恶意程序。可选的,所述第一监听模块包括:第一挂接模块,用于对程序管理器进程中实现模拟鼠标点击可执行程序原文件的函数挂接钩子;和/或第二挂接模块,用于对程序管理器进程中实现模拟鼠标点击可执行程序快捷方式的函数挂接钩子。可选的,所述第二监听模块包括:第三挂接模块,用于对程序管理器进程中实现进程创建的函数挂接钩子。可选的,所述第一判断模块包括:调用栈获得模块,用于对所述模拟鼠标点击操作进行栈回溯,获得所述模拟鼠标点击操作的调用栈;确定模块,用于根据所述模拟鼠标点击操作的调用栈确定所述模拟鼠标点击操作是否为通过IAccessible接口发起的远程过程调用。可选的,所述解析模块包括:文件名获得模块,用于通过实现所述模拟鼠标点击操作的函数参数获得所述未知程序的文件名;线程ID获得模块,用于通过线程环境块获得所述线程ID。可选的,所述目标进程的创建时间减去所述模拟鼠标点击操作的发生时间小于预设时间差。可选的,所述恶意程序检测装置还包括:告警信息生成模块,用于在所述未知程序为恶意程序时,生成告警信息。可选的,所述恶意程序检测装置还包括:发送模块,用于通过邮件、短信、对话框以及即时通信中的一种或多种组合将所述告警信息发送给所述用户。基于同样的专利技术构思,本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述恶意程序检测方法。基于同样的专利技术构思,本专利技术还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述恶意程序检测方法。本专利技术与现有技术相比,具有如下的优点和有益效果:本专利技术提供的恶意程序检测方法及装置,在监听到模拟鼠标点击操作时,判断所述模拟鼠标点击操作是否为通过IAccessible接口发起的远程过程调用;若所述模拟鼠标点击操作为通过所述IAccessible接口发起的远程过程调用,则解析所述模拟鼠标点击操作点击的未知程序的文件名和远程过程调用发起端的线程ID;判断所述未知程序的文件名是否为目标进程的进程路径的子串,所述目标进程为在所述模拟鼠标点击操作之后监听到的所述进程创建操作创建的进程;若所述未知程序的文件名为所述目标进程的进程路径的子串,则根据所述目标进程的进程ID、所述目标进程的进程路径以及所述线程ID分析所述未知程序是否为恶意程序。由于本专利技术提供的恶意程序检测方法及装置,在监听到通过IAccessible接口发起的远程过程调用的模拟鼠标点击操作时,是根据为所述模拟鼠标点击操作创建的进程ID、为所述模拟鼠标点击操作创建的进程路径以及远程过程调用发起端的线程ID综合分本文档来自技高网...

【技术保护点】
1.一种恶意程序检测方法,其特征在于,包括:监听模拟鼠标点击操作和进程创建操作;在监听到所述模拟鼠标点击操作时,判断所述模拟鼠标点击操作是否为通过IAccessible接口发起的远程过程调用;若所述模拟鼠标点击操作为通过所述IAccessible接口发起的远程过程调用,则解析所述模拟鼠标点击操作点击的未知程序的文件名和远程过程调用发起端的线程ID;判断所述未知程序的文件名是否为目标进程的进程路径的子串,所述目标进程为在所述模拟鼠标点击操作之后监听到的所述进程创建操作创建的进程;若所述未知程序的文件名为所述目标进程的进程路径的子串,则根据所述目标进程的进程ID、所述目标进程的进程路径以及所述线程ID分析所述未知程序是否为恶意程序。

【技术特征摘要】
1.一种恶意程序检测方法,其特征在于,包括:监听模拟鼠标点击操作和进程创建操作;在监听到所述模拟鼠标点击操作时,判断所述模拟鼠标点击操作是否为通过IAccessible接口发起的远程过程调用;若所述模拟鼠标点击操作为通过所述IAccessible接口发起的远程过程调用,则解析所述模拟鼠标点击操作点击的未知程序的文件名和远程过程调用发起端的线程ID;判断所述未知程序的文件名是否为目标进程的进程路径的子串,所述目标进程为在所述模拟鼠标点击操作之后监听到的所述进程创建操作创建的进程;若所述未知程序的文件名为所述目标进程的进程路径的子串,则根据所述目标进程的进程ID、所述目标进程的进程路径以及所述线程ID分析所述未知程序是否为恶意程序。2.根据权利要求1所述的恶意程序检测方法,其特征在于,所述监听模拟鼠标点击操作包括:对程序管理器进程中实现模拟鼠标点击可执行程序原文件的函数挂接钩子;和/或对程序管理器进程中实现模拟鼠标点击可执行程序快捷方式的函数挂接钩子。3.根据权利要求1所述的恶意程序检测方法,其特征在于,所述监听进程创建操作包括:对程序管理器进程中实现进程创建的函数挂接钩子。4.根据权利要求1所述的恶意程序检测方法,其特征在于,所述判断所述模拟鼠标点击操作是否为通过IAccessible接口发起的远程过程调用包括:对所述模拟鼠标点击操作进行栈回溯,获得所述模拟鼠标点击操作的调用栈;根据所述模拟鼠标点击操作的调用栈确定所述模拟鼠标点击操作是否为通过IAccessible接口发起的远程过程调用。5.根据权利要求1所述的恶意程序检测方法,其特征在于,所述解析所述模拟鼠标点击操作点击的未知程序的文件名和远程过程调用发起端的线程ID包括:通过实现所述模拟鼠标点击...

【专利技术属性】
技术研发人员:魏狄龙
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1