一种恶意代码检测方法及装置制造方法及图纸

技术编号:13157353 阅读:60 留言:0更新日期:2016-05-09 19:41
本发明专利技术公开了一种恶意代码检测方法,包括:通过PIN工具获取执行可疑代码时可疑代码调用的API函数序列的相关信息,基于API函数序列的相关信息,判断API函数序列是否合法,若API函数序列不合法,则将可疑代码确定为恶意代码。相比于现有技术中通过人工方式逐条指令进行特征分析的方法,本申请中技术方案能够有效地提高恶意代码的检测效率。同时,本发明专利技术还公开了一种恶意代码检测装置。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种恶意代码检测方法及装置
技术介绍
随着计算机应用的日益普及,包括病毒、木马在内的恶意程序的数量也迅速增长, 其中的木马程序是一类可以通过在用户的计算机上运行,进而窃取用户文件、隐私、账户等 信息,有的甚至还可以让黑客远程控制用户电脑的恶意程序。相比较传统的单纯以破坏计 算机设备为目的的病毒,木马对计算机用户的侵害行为更具有获取利益的目的性,其窃取 信息的行为常常会给用户造成巨大的损失,因此木马程序的危害也更大。恶意程序可以通 过很多传播途径来侵害用户的电脑,例如便携的移动介质,如闪存盘,光盘等,而随着计算 机网络技术的广泛应用,互联网逐渐成为恶意程序传播的主要途径之一,黑客或恶意程序 传播者将木马等恶意程序文件伪装成其他类型文件,并引诱用户点击和下载,而恶意程序 一旦被下载到用户计算机并成功运行,黑客或恶意程序传播者就可以利用这些恶意程序, 进行破坏用户计算机,窃取用户个人信息等不法行为。 利用操作系统以及应用软件的漏洞实施攻击,是使恶意程序在用户计算机上成功 植入和运行的最主要手段之一。漏洞是指操作系统软件或应用软件在逻辑设计上的缺陷或 在编写时产生的错误。这些缺陷或错误往往可以被黑客利用来植入木马等恶意程序,侵害 或控制甚至破坏用户计算机软硬件系统,或者窃取用户的重要资料和信息。 目前,主要是通过人工方式对可疑代码中每条指令逐条进行特征分析,来检测可 疑代码是否为恶意代码,存在速度慢、效率低的技术问题。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上 述问题的恶意代码检测方法及装置。 本专利技术的一个方面,提供了一种恶意代码检测方法,包括: 通过应用程序编程接口执行记录工具PIN,获取执行可疑代码时所述可疑代码调 用的应用程序编程接口 API函数序列的相关信息; 基于所述API函数序列的相关信息,判断所述API函数序列是否合法; 若所述API函数序列不合法,则将所述可疑代码确定为恶意代码。 优选地,所述通过应用程序编程接口执行记录工具PIN,获取执行可疑代码时所述 可疑代码调用的应用程序编程接口 API函数序列的相关信息,包括: 在执行所述可疑代码过程中,在所述可疑代码中的每个API函数的头和尾插入所 述PIN的监控代码; 通过所述监控代码监控所述可疑代码调用的每个API函数,并将所述可疑代码调 用的每个API函数的相关信息存储到日志文件中; 从所述日志文件中提取所述可疑代码调用的每个API函数的相关信息,从而获取 到所述可疑代码调用的API函数序列的相关信息。 优选地,所述可疑代码调用的应用程序编程接口 API函数序列的相关信息,包括: 所述可疑代码调用的每个API函数的名称,以及所述每个API函数被调用的先后顺 序。 优选地,所述基于所述API函数序列的相关信息,判断所述API函数序列是否合法, 包括: 基于所述API函数序列的相关信息,判断所述API函数序列是否被记录在一恶意 API函数序列库中,其中,所述恶意API函数序列库中记录有全部恶意代码在被执行时可能 调用的API函数序列; 若所述API函数序列被记录在所述恶意API函数序列库中,则确定所述API函数序 列不合法; 若所述API函数序列未被记录在所述恶意API函数序列库中,则确定所述API函数 序列合法。 优选地,所述将所述可疑代码确定为恶意代码之后,还包括:通过所述PIN,将所述恶意代码的内存地址存储到日志文件中; 打开所述日志文,并基于所述恶意代码的内存地址,从内存中提取所述恶意代码。 优选地,所述将所述可疑代码确定为恶意代码之后,还包括:通过所述,将PIN所述恶意代码中用于调用每个API函数的指令的内存地址存储到 日志文件中;打开所述日志文,并基于所述恶意代码中用于调用每个API函数的指令的内存地 址,在内存中提取所述恶意代码中任一用于调用API函数的指令。 优选地,所述将所述可疑代码确定为恶意代码之后,还包括:对所述恶意代码进行删除;或 对所述恶意代码造成的破坏进行修复;或 对所述恶意代码进行隔离;或 对所述恶意代码进行样本归类。 本专利技术的另一个方面,提供一种恶意代码检测装置,包括: 获取模块,用于通过应用程序编程接口执行记录工具PIN,获取执行可疑代码时所 述可疑代码调用的应用程序编程接口 API函数序列的相关信息;判断模块,用于基于所述API函数序列的相关信息,判断所述API函数序列是否合 法;确定模块,用于若所述API函数序列不合法,则将所述可疑代码确定为恶意代码。 优选地,所述获取模块,包括: 插入子模块,用于在执行所述可疑代码过程中,在所述可疑代码中的每个API函数 的头和尾插入所述PIN的监控代码; 监控子模块,用于通过所述监控代码监控所述可疑代码调用的每个API函数,并将 所述可疑代码调用的每个API函数的相关信息存储到日志文件中; 获取子模块,用于从所述日志文件中提取所述可疑代码调用的每个API函数的相 关信息,从而获取到所述可疑代码调用的API函数序列的相关信息。优选地,所述可疑代码调用的应用程序编程接口 API函数序列的相关信息,包括: 所述可疑代码调用的每个API函数的名称,以及所述每个API函数被调用的先后顺 序。优选地,所述判断模块,包括:判断子模块,用于基于所述API函数序列的相关信息,判断所述API函数序列是否 被记录在一恶意API函数序列库中,其中,所述恶意API函数序列库中记录有全部恶意代码 在被执行时可能调用的API函数序列;第一确定子模块,用于若所述API函数序列被记录在所述恶意API函数序列库中, 则确定所述API函数序列不合法;第二确定子模块,用于若所述API函数序列未被记录在所述恶意API函数序列库 中,则确定所述API函数序列合法。 优选地,所述恶意代码检测装置,还包括: 第一存储模块,用于所述将所述可疑代码确定为恶意代码之后,通过所述PIN,将 所述恶意代码的内存地址存储到日志文件中; 第一提取模块,用于打开所述日志文,并基于所述恶意代码的内存地址,从内存中 提取所述恶意代码。 优选地,所述恶意代码检测装置,还包括: 第二存储模块,用于所述将所述可疑代码确定为恶意代码之后,通过所述PIN,将 所述恶意代码中用于调用每个API函数的指令的内存地址存储到日志文件中; 第二提取模块,用于打开所述日志文,并基于所述恶意代码中用于调用每个API函 数的指令的内存地址,在内存中提取所述恶意代码中任一用于调用API函数的指令。优选地,所述恶意代码检测装置,还包括: 删除模块,用于所述将所述可疑代码确定为恶意代码之后,对所述恶意代码进行 删除;或 修复模块,用于所述将所述可疑代码确定为恶意代码之后,对所述恶意代码造成 的破坏进行修复;或 隔离模块,用于所述将所述可疑代码确定为恶意代码之后,对所述恶意代码进行 隔离;或 归类模块,用于所述将所述可疑代码确定为恶意代码之后,对所述恶意代码进行 样本归类。 本申请实施例中提供的技术方案,至少具有如下技术效果或优点: 根据本专利技术的一种恶意代码检测方法及装置,通过PIN获取执行可疑代码时可疑 代码调用的应用程序编程接口 API函数序列的相关信息,基于AP本文档来自技高网...

【技术保护点】
一种恶意代码检测方法,其特征在于,包括:通过应用程序编程接口执行记录工具PIN,获取执行可疑代码时所述可疑代码调用的应用程序编程接口API函数序列的相关信息;基于所述API函数序列的相关信息,判断所述API函数序列是否合法;若所述API函数序列不合法,则将所述可疑代码确定为恶意代码。

【技术特征摘要】

【专利技术属性】
技术研发人员:王伟波
申请(专利权)人:北京奇虎科技有限公司北京奇安信科技有限公司
类型:发明
国别省市:北京;11

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

1