检测恶意软件的方法及装置的制造方法_3

文档序号:9911529阅读:来源:国知局
施例中,将被调用的接口中的第一延时长度参数调整为第二延时长度参 数的方式有多种,例如,可以采用如下方式:
[0090] 将被调用的接口的第一延时长度参数调整为第一延时长度参数和预设的调整参 数的乘积,调整参数大于0且小于等于1。
[0091] 例如,按照倍率g_uiRate修改第一延时长度参数,如果第一延时长度参数为100, 则将第一延时长度参数修改为l〇〇*g_uiRate。
[0092] 实际应用中,恶意软件延时爆发的躲避手段,一般都需要通过调用具有延时属性 的接口来实现,这样,即使恶意软件调用了具有延时属性的接口,但是,由于将该接口中的 第一延时长度参数调整为第二延时长度参数,而第二延时长度参数对应的延时时长又小于 预设时长,这样,恶意行为还是会在预设时长内暴露,提高了检测的准确度。
[0093] 本发明实施例中,可选的,预设的调整参数包括第一调整参数和第二调整参数,第 一调整参数大于第二调整参数。
[0094] 进一步的,为了避免为了检测恶意软件而影响沙箱所在设备中的其他进程,将被 调用的接口的第一延时长度参数调整为第二延时长度参数时,具体可以采用如下操作:
[0095] 获取沙箱所在设备的中央处理器的使用率;
[0096] 将获取的使用率与预设使用率门限值进行比较;
[0097] 基于使用率大于或者等于预设使用率门限值的比较结果,将被调用的接口的第一 延时长度参数调整为第一延时长度参数与第一调整参数的乘积,即第二延时时间长度参数 为第一延时长度参数与第一调整参数的乘积;
[0098] 基于使用率小于预设使用率门限值的比较结果,将被调用的接口的第一延时长度 参数调整为第一延时长度参数与第二调整参数的乘积,即第二延时时间长度参数为第一延 时长度参数与第二调整参数的乘积;
[0099] 其中,第一调整参数大于第二调整参数。
[0100] 本发明实施例中,将被调用的接口的第一延时长度参数调整为第二延时长度参数 时,还可以采用如下方式:
[0101] 获取沙箱所在设备的中央处理器的使用率;
[0102] 将获取的使用率与预设使用率门限值进行比较;
[0103] 基于使用率大于或者等于预设使用率门限值的比较结果,将被调用的接口的第一 延时长度参数调整为第二延时长度参数;或者
[0104] 基于使用率小于预设使用率门限值的比较结果,将被调用的接口的第一延时长度 参数调整为第三延时长度参数;
[0105] 其中,第三延时长度参数对应的延时时长小于第二延时长度参数对应的延时时 长。
[0106] 本发明实施例中,在上述过程中,获取沙箱所在设备的中央处理器的使用率时,可 以Nt Query System Information接口来获取中央处理器的使用率,当然,也可以采用其他 方法,在此不再进行一一详述。
[0107] 上述过程中,当使用率大于或者等于预设使用率门限值时,判断出系统繁忙,此 时,增加调整后的延时长度参数对应的延时时长,进而降低沙箱运行对中央处理器的使用 率,当使用率小于预设使用率门限值时,判断出系统不繁忙,此时,减小调整后的延时长度 参数对应的延时时长,使待检测软件的行为加快暴露,进而提升沙箱运行对中央处理器的 使用率。
[0108] 在实际应用中,有些恶意行为是在延迟一定时长后执行,此时,可以通过调整具有 延时属性的接口的第一延时长度参数而检测待检测软件是否为恶意软件,但是,有些恶意 行为是在运行结束时才执行,不需要调用具有延时属性的接口,因此,本发明实施例中,还 可以包括如下操作:
[0109] 在预设时长到达前的预定时刻,将已记录的至少一个操作与恶意行为的操作进行 比较;
[0110] 基于已记录的至少一个操作中不存在与恶意行为的操作相匹配的操作的比较结 果,向沙箱发送软件运行结束消息;
[0111] 记录待检测软件在预定时刻至预设时长到达之间的时间段内执行的至少一个操 作;
[0112] 将已记录的待检测软件在预定时刻至预设时长到达之间的时间段内执行的至少 一个操作与恶意行为的操作进行比较,基于已记录的待检测软件在预定时刻至预设时长到 达之间的时间段内执行的至少一个操作中存在与恶意行为的操作相匹配的操作的比较结 果,确定待检测软件为恶意软件。
[0113] 例如,预设时长为5分钟,但是在待检测软件在沙箱中已经运行4分50秒时,已记 录的至少一个操作中不存在与恶意行为的操作相匹配的操作时,向沙箱发送软件运行结束 消息,此时,再记录待检测软件在4分50秒至5分钟到达之间的时间段内执行的至少一个 操作,将待检测软件在4分50秒至5分钟到达之间的时间段内执行的至少一个操作与恶意 行为的操作进行比较,若待检测软件在4分50秒至5分钟到达之间的时间段内执行的至少 一个操作中存在与恶意行为相匹配的操作时,确定待检测软件为恶意软件。这样,同样可以 达到迫使恶意样本暴露出恶意行为的目的。
[0114] 本发明实施例中,接口为延时一个进程的接口、延时多个进程的接口、延时定时器 的接口、获取系统时间的接口中的一个接口或者任意接口组合。
[0115] 本发明实施例中,已记录的至少一个操作中存在与恶意行为的操作相匹配的操 作,是指已记录的至少一个操作中每一个操作分别对应的行为序列(例如API调用序列) 中存在与恶意行为的操作对应的行为序列(例如API调用序列)完全相同的操作,或者,已 记录的至少一个操作中每一个操作分别对应的行为序列中存在与恶意行为的操作对应的 行为序列部分相同的操作。
[0116] 本发明实施例中,具有延时属性的接口可以是在API层,也可以是位于ΝΤΑΡΙ层, 如果接口是位于API层时,调整接口的第一延时长度参数时,可以通过驱动层,也可以不通 过驱动层;如果接口是位于ΝΤΑΡΙ层时,调整接口的第一延时长度参数时,必须通过驱动 层。待检测软件在开始运行后的预设时长内执行的操作可以是网络操作,此时可以通过网 络监视实现,也可以是文件操作,此时可以通过文件监视实现,还可以是注册表操作,此时 可以通过注册表监视实现,有些操作无法通过上述监视实现的,因此,可以通过系统监视来 实现,如图1Β所示。
[0117] 为了更好地理解本发明实施例,以下给出具体应用场景,针对检测恶意软件的过 程,作出进一步详细描述,如图2所示:
[0118] 步骤200 :将待检测软件在沙箱内运行,并记录待检测软件在开始运行后的5分钟 内所执行的至少一个操作;
[0119] 步骤210 :在记录至少一个操作的过程中,检测沙箱中的至少一个具有延时属性 的接口是否被调用;
[0120] 步骤220 :检测到具有延时属性的任意一个接口被调用时,判断被调用的接口的 第一延时长度参数对应的延时时长是否大于5分钟,若是,执行步骤230,否则,返回步骤 210 ;
[0121] 步骤230:将被调用的接口的第一延时长度参数调整为第二延时长度参数,第二 延时长度参数对应的延时时长小于5分钟;
[0122] 步骤240 :在待检测软件运行4分50秒时,判断在4分50秒之内已经记录的至少 一个操作中是否存在与恶意行为的操作相匹配的操作,若是,确定待检测软件为恶意软件, 否则,执行步骤250;
[0123] 步骤250 :向沙箱发送软件运行结束消息,记录待检测软件在运行4分50秒的时 刻至5分钟到达之间的时间段内执行的至少一个操作;
[0124] 步骤260 :将已记录的待检测软件在运行4分50秒的时刻至运行5分钟到达之间 的时间段内执行的至少一个操作与恶意行为的操作进行比较;
[0125] 步骤270 :判断已记录的待检测软件在运行4分50秒的时刻至运行5分钟到达之 间的时间段内执行的至少一个操作中是否存在与恶意行为的操作相匹配的操作,若是,确 定待检测软件为恶意软件,否则,确定待检测软件为非恶意软件。
[0126] 综上所述,本发明实施例中,在沙箱中运行待检测软件,并记录待检测软件在开始 运行后预设时长内执行的至少一个操作;在记录至少一个操作的过程中,检测沙箱中的至 少一个具有延时属性的接口是否被调用;在检测到任意一接口被调用时,判断被调用的接 口的第一延时长度参数对应的延时时长是否大于预设时长;若判定第一延时长度参数对应 的延时时长大于预设时长,则将被调用的接口的第一延时长度参数调整为第二延时长度参 数,第二延时长度参数对应的延时时长小于预设时长;将已记录的至少一个操作与恶意行 为的操作进行比较,基于已记录的至少一个操作中存在与恶意行为的操作相匹配的操作的 比较结果,确定待检测软件为恶意软件,在该方案中,在记录至少一个操作的过程中,检测 到沙箱中的任意一个具有延时属性的接口被调用,及判定第一延时长度参数对应的延时时 长大于预设时长时,认为恶意行为要延迟执行,此时,缩短延迟执行的延时时长,让恶意行 为在记录待检测软件在开始运行后预设时长内执行的至少一个操作的过程中执行,那么恶 意行为就可以提前暴露,可以实现有效监控,因此,可以提高检测恶意软件的准确度。
[0127] 基于上述相应方法的技术方案,参阅图3所示,本发明实施例提供一种检测恶意 软件的装置3000,该检测
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1