CN103957193A - 客户端、服务器和事件类型确定方法 - Google Patents

客户端、服务器和事件类型确定方法 Download PDF

Info

Publication number
CN103957193A
CN103957193A CN201410136208.6A CN201410136208A CN103957193A CN 103957193 A CN103957193 A CN 103957193A CN 201410136208 A CN201410136208 A CN 201410136208A CN 103957193 A CN103957193 A CN 103957193A
Authority
CN
China
Prior art keywords
client
time
event
origin
module
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
CN201410136208.6A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410136208.6A priority Critical patent/CN103957193A/zh
Publication of CN103957193A publication Critical patent/CN103957193A/zh
Pending legal-status Critical Current

Links

Abstract

本发明实施例公开了一种客户端、服务器和事件类型确定方法。本发明实施例的客户端包括第一获取单元,用于获取第一事件的发生时间,其中该第一事件包括所述客户端通过电子通信软件进行数据访问的事件;第二获取单元,用于获取第一时间,所述第一时间为所述客户端的新模块加载事件的发生时间,或者为所述客户端的新模块加载事件中的新模块创建对应文件的发生时间;第一计算单元,用于计算所述第一时间和所述第一事件的发生时间的发生时间差;第一确定单元,用于根据所述发生时间差确定所述第一事件的类型。本发明实施例能够以较高的覆盖率检测到网络钓鱼攻击。

Description

客户端、服务器和事件类型确定方法
技术领域
本发明涉及通信领域,尤其涉及一种客户端、服务器和事件类型确定方法。
背景技术
随着通信网络的普及,不同用户之间通过客户端上的电子通信软件来互相通信,例如用户通过电子通信软件将一些网络链接或者包含一定内容的附件发送至其他用户,以达到交流信息的目的。
然而,一些攻击者利用电子通信软件,将一些恶意代码放置在网络链接或者附件中发送至其他用户。当该其他用户访问该网络链接或者打开该附件时,会自动在其客户端运行其中的恶意代码,导致该客户端内的一些信息泄露给攻击者。这样的行为一般称之为网络钓鱼攻击。
由于用户难以识别网络钓鱼攻击,攻击者可以利用网络钓鱼攻击窃取其他用户的一些信息,导致其他用户的财产或者其他发生损失。
发明内容
本发明实施例提供了一种客户端、服务器和事件类型确定方法,能够以较高的覆盖率检测到网络钓鱼攻击。
本发明实施例第一方面提供一种客户端,包括:
第一获取单元,用于获取第一事件的发生时间,其中该第一事件包括所述客户端通过电子通信软件进行数据访问的事件;
第二获取单元,用于获取第一时间,所述第一时间为所述客户端的新模块加载事件的发生时间,或者为所述客户端的新模块加载事件中的新模块创建对应文件的发生时间;
第一计算单元,用于计算所述第一时间和所述第一事件的发生时间的发生时间差;
第一确定单元,用于根据所述发生时间差确定所述第一事件的类型。
结合本发明实施例的第一方面,本发明实施例的第一方面的第一种实现方式中,所述第一确定单元具体用于当判断所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件。
结合本发明实施例的第一方面的第一种实现方式,本发明实施例的第一方面的第二种实现方式中,所述客户端还包括:
第一处理单元,用于提醒使用所述第一客户端的用户将所述第一客户端与网络隔离;
和/或,
第二处理单元,用于查找所述新模块所对应的代码,并提醒使用所述第一客户端的用户清除所述代码;
和/或,
第三处理单元,用于获取所述数据的源网络协议地址,并阻止所述第一客户端接收来自所述源网络协议地址的数据。
本发明实施例第二方面提供一种事件类型确定方法,包括:
第一客户端获取第一事件的发生时间,其中该第一事件包括所述第一客户端通过电子通信软件进行数据访问的事件;
第一客户端获取第一时间,所述第一时间为所述第一客户端的新模块加载事件的发生时间,或者为所述客户端的新模块加载事件中的新模块创建对应文件的发生时间;
第一客户端计算所述第一时间和所述第一事件的发生时间的发生时间差;
第一客户端根据所述发生时间差确定所述第一事件的类型。
结合本发明实施例的第二方面,本发明实施例的第二方面的第一种实现方式中,所述第一客户端根据所述发生时间差确定所述第一事件的类型具体包括:
当判断所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件。
结合本发明实施例的第二方面的第一种实现方式,本发明实施例的第二方面的第二种实现方式中,所述方法还包括:
提醒使用所述第一客户端的用户将所述第一客户端与网络隔离;
和/或,
查找所述新模块所对应的代码,并提醒使用所述第一客户端的用户清除所述代码;
和/或,
获取所述数据的源网络协议地址,并阻止所述第一客户端接收来自所述源网络协议地址的数据。
本发明实施例第三方面提供一种服务器,包括:
第一获取单元,用于从第一客户端处获取第一事件的发生时间和第一客户端的标识信息,其中该第一事件包括第一客户端通过电子通信软件进行数据访问的事件;
第二获取单元,用于从第一客户端处获取第一时间,所述第一时间为所述第一客户端的新模块加载事件的发生时间,或者为所述第一客户端的新模块加载事件中的新模块创建对应文件的发生时间;
第一计算单元,用于计算所述第一时间和所述第一事件的发生时间的发生时间差;
第一确定单元,用于根据所述发生时间差确定所述第一事件的类型。
结合本发明实施例的第三方面,本发明实施例的第三方面的第一种实现方式中,所述第一确定模块具体用于当判断所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件。
结合本发明实施例的第三方面的第一种实现方式,本发明实施例的第三方面的第二种实现方式中,所述服务器还包括:
第一处理单元,用于向所述第一客户端发送第一提醒,所述第一提醒用于提醒使用所述第一客户端的用户将所述第一客户端与网络隔离;
和/或,
第二处理单元,用于查找所述新模块所对应的代码,并向所述第一客户端发送第二提醒,所述第二提醒用于提醒使用所述第一客户端的用户清除所述代码;
和/或,
第三处理单元,用于获取所述数据的源网络协议地址,并阻止所述第一客户端接收来自所述源网络协议地址的数据。
本发明实施例第四方面提供一种事件类型确定方法,包括:
服务器从第一客户端处获取第一事件的发生时间和第一客户端的标识信息,其中该第一事件包括第一客户端通过电子通信软件进行数据访问的事件;
服务器从所述第一客户端处获取第一时间,所述第一时间为所述第一客户端的新模块加载事件的发生时间,或者为所述第一客户端的新模块加载事件中的新模块创建对应文件的发生时间;
服务器计算所述第一时间和所述第一事件的发生时间的发生时间差;
服务器根据所述发生时间差确定所述第一事件的类型。
结合本发明实施例的第四方面,本发明实施例的第四方面的第一种实现方式中,所述服务器根据所述发生时间差确定所述第一事件的类型具体包括:
当判断所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件。
结合本发明实施例的第四方面的第一种实现方式,本发明实施例的第四方面的第二种实现方式中,所述方法还包括:
向所述第一客户端发送第一提醒,所述第一提醒用于提醒使用所述第一客户端的用户将所述客户端与网络隔离;
和/或,
查找所述新模块所对应的代码,并向所述第一客户端发送第二提醒,所述第二提醒用于提醒使用所述第一客户端的用户清除所述代码;
和/或,
获取所述数据的源网络协议地址,并阻止所述第一客户端接收来自所述源网络协议地址的数据。
从以上技术方案可以看出,本发明实施例具有以下优点:
由于在网络钓鱼攻击中用户通过电子通信软件进行数据访问后,在短时间内该恶意代码被下载或者打开运行,并会产生新模块加载事件,而一般用户通过电子通信软件来进行数据访问后并不会产生新模块加载事件;本发明实施例中,通过计算用户通过电子通信软件进行数据访问的第一事件的发生时间和新模块加载事件的发生时间之间的差值,并根据该发生时间差来确定该第一事件的类型;这样,能够以较高的覆盖率检测到网络钓鱼攻击,而且计算复杂度低,检测标准简单,易于维护和优化。
附图说明
图1为本发明中的客户端的一个实施例的示意图;
图2为本发明中的客户端的另一个实施例的示意图;
图3为本发明中的客户端的另一个实施例的示意图;
图4为本发明中事件类型确定方法的一个实施例的流程图;
图5为本发明中事件类型确定方法的另一个实施例的流程图;
图6为本发明中事件类型确定方法的另一个实施例的流程图;
图7为本发明中的服务器的一个实施例中的示意图;
图8为本发明中的服务器的另一个实施例中的示意图;
图9为本发明中事件类型确定方法的一个实施例的流程图;
图10为本发明中事件类型确定方法的另一个实施例的流程图;
图11为本发明实施例中计算机的示意图;
图12为本发明实施例中计算机内部部分结构图。
具体实施方式
本发明实施例提供了一种客户端、服务器和事件类型确定方法,用于以较高的覆盖率检测到网络钓鱼攻击。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,本发明的客户端的一个实施例包括:
第一获取单元101,用于获取第一事件的发生时间,其中该第一事件包括所述客户端通过电子通信软件进行数据访问的事件;
实际运用中,该客户端可以是计算机、平板电脑、智能手机或者其他客户端。电子通信软件指的是其他客户端能够用来将数据发送给本实施例中的客户端的通信软件。具体举例来说,该电子通信软件为邮件或者即时通信软件(例如腾讯QQ)。而该客户端通过电子通信软件进行数据访问指的是该客户端接收来自其他客户端通过该电子通信软件发送的数据,并对该数据进行访问。而第一事件的发生时间指的是该访问的时间。具体举例来说,该客户端接收其他客户端通过邮件或者即时通信软件发给该客户端的附件或者网页链接,并打开该附件或者访问该网页链接。相对应的,第一事件的发生时间指的是打开该附件的时间或者访问该网页链接的时间。
若该附件中隐藏有恶意代码,客户端打开该附件时该恶意代码会自动运行;若网页链接中隐藏有恶意代码,客户端打开该网络链接时该恶意代码会自动下载到该第一客户端内并运行。
第二获取单元102,用于获取第一时间,所述第一时间为所述客户端的新模块加载事件的发生时间,或者为所述客户端的新模块加载事件中的新模块创建对应文件的发生时间;
客户端在运行每个程序时,会创建与该程序对应的进程,其中该进程包含唯一的进程标识ID,以及至少一个运行的线程和模块列表。模块为进程的资源,存储有用于运行程序的所有代码和资源。例如,模块一般是运行中的exe文件或者dll文件。线程包含线程标识ID和堆栈,其中堆栈包含了历史调用函数地址列表。若调用函数地址位于该进程中的某个模块的起始地址和截至地址之间,则该调用函数来自该模块;否则该调用函数来源于新模块,或者该调用函数无对应模块,在这种情况下仍将该调用函数视为来源于新模块。第二获取单元102所获取的新模块加载的时间,即进程中产生包含新模块的线程的时间。
由于在加载新模块后,该新模块一般会创建其对应文件,因此,第二获取单元102也可以不是获取该新模块加载的时间,而是获取该新模块创建对应文件的时间。
第一计算单元103,用于计算所述第一时间和所述第一事件的发生时间的发生时间差;
获取到第一事件的发生时间和新模块加载事件的时间后,第一计算单元103将第一时间减去第一事件的发生时间,以计算该两个事件的发生时间差。
第一确定单元104,用于根据所述发生时间差确定所述第一事件的类型。
实际运用中,在客户端通过电子通信软件进行数据访问时,若所访问的数据中隐藏了恶意代码,该恶意代码会立即在客户端上新建进程来执行或者注入已有的进程中执行。这时客户端内会创建新的线程以执行该恶意代码,而该新的线程的部分调用函数则来自该恶意代码。由于绝大多数情况下恶意代码都是由黑客自行专门编写的,那么该恶意代码对客户端来说是新的,即这部分调用函数来源进程中的新模块,也即该进程会加载新模块。在恶意代码通过在客户端上新建进程来执行的情况中,该新模块会对应恶意代码的相关文件;而在恶意代码通过注入已有的进程中执行的情况中,该新模块不对应任何文件。
因此,第一确定单元104通过将客户端内加载新模块的事件的发生时间或者与第一客户端内加载新模块的事件中新模块创建对应文件的发生时间,与客户端通过电子通信软件进行数据访问的事件的发生时间关联起来,计算该两者的发生时间差,便可以根据该时间差来判断该第一事件的类型。
本实施例中,由于在网络钓鱼攻击中用户通过电子通信软件进行数据访问后,在短时间内该恶意代码被下载或者打开运行,并会产生新模块加载事件,而一般来说用户通过电子通信软件来进行数据访问后并不会产生新模块加载事件;因此,通过计算用户通过电子通信软件进行数据访问的第一事件的发生时间和新模块加载事件的发生时间之间的差值,并根据该发生时间差来确定该第一事件的类型;这样,能够以较高的覆盖率检测到网络钓鱼攻击,而且计算复杂度低,检测标准简单,易于维护和优化。
上面实施例中,第一确定单元104计算所述第一时间和所述第一事件的发生时间的发生时间差来确定第一事件的类型。实际运用中,第一确定单元104可通过多种方法来根据该发生时间差来确定第一事件的类型,下面对本发明实施例中事件类型确定方法进行描述。请参阅图2,本发明中的客户端的另一个实施例中包括:
第一获取单元201,用于获取第一事件的发生时间,其中该第一事件包括所述客户端通过电子通信软件进行数据访问的事件;
详细说明请参见图1所示实施例中第一获取单元101的说明。
第二获取单元202,用于获取第一时间,所述第一时间为所述客户端的新模块加载事件的发生时间,或者为所述客户端的新模块加载事件中的新模块创建对应文件的发生时间;
详细说明请参见图1所示实施例中第一获取单元102的说明。
实际运用中,在获取第一事件的发生时间和第一时间时,该第二获取单元202优选还获取第一事件标识和新模块加载事件标识,并将该第一事件标识和第一事件的发生时间关联在一起,以及将新模块加载事件标识和第一时间关联在一起,以便后续根据该第一事件标识和新模块加载时间标识来计算该两个事件的发生时间差。实际运用中,获取新模块加载事件标识有多种方法。具体举例来说,在新模块有对应文件且该对应文件的散列值能够计算的情况下,可将该对应文件的散列值作为该新模块加载事件标识;在新模块有对应文件但该对应文件的散列值不可计算的情况下,例如该对应文件被删除的情况下,可将未取到对应文件标识作为新模块加载事件标识;在调用函数无对应模块并将该调用函数视为来源于新模块的情况下,可将无对应模块标识视为新模块加载事件标识。第一事件标识的产生为公知技术,在此不再赘述。
第一计算单元203,用于计算所述第一时间和所述第一事件的发生时间的发生时间差;
详细说明请参见图1所示实施例中第一获取单元103的说明。
第一确定单元204,用于当所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件。
若客户端通过电子通信软件所访问的数据中隐藏有恶意代码,在该客户端访问该数据后该恶意代码一般会立即在该客户端内运行,进而产生新模块加载事件。而一般来说,若该客户端所访问的数据中未隐藏有恶意代码,访问后该客户端内不会产生新模块加载事件。因此,通过第一计算单元203计算第一时间和第一事件的发生时间的发生时间差,并当该发生时间差大于零且不大于预置时间时,即新模块加载事件是发生在第一事件之后且在一定时间(通常很短)内发生的情况下,第一确定单元204即可判断该第一事件为网络钓鱼攻击事件。实际运用中,该预置时间的具体数值可以为0到60s之间。当然,上述发生时间差仅为举例说明,并不作限制。
本实施例中,只通过在计算出第一时间和客户端通过电子通信软件进行数据访问的第一事件的发生时间之间的差值位于预置范围内时,就可以确定该第一事件为网络钓鱼攻击事件,计算复杂程度很低,检测标准很简单,更易于维护和优化,且能够以较高的覆盖率检测到网络钓鱼攻击。
在本实施例中,由于恶意代码会给使用该客户端的用户带来损失,因此在确认第一事件为网络钓鱼攻击事件之后,优选地,本实施例中的客户端进一步包括:
第一处理单元205-1,用于提醒使用所述客户端的用户将所述客户端与网络隔离;
具体举例来说,客户端包括显示界面。当确定第一事件为网络钓鱼攻击事件后,第一处理单元205-1在客户端的显示界面上弹出提醒窗口,该提醒窗口中显示有文字,用于提醒将所述客户端与网络隔离。实际运用中,第一处理单元205-1也可以不是通过文字提醒,而是通过声音提醒或者他方式来提醒使用该客户端的用户。上述描述仅为举例,并不作限制。这样,可以避免客户端因该网络钓鱼事件遭受损失。
和/或,
第二处理单元205-2,用于查找所述新模块所对应的代码,并提醒使用所述客户端的用户清除所述代码;
第二处理单元205-2查找新模块所对的代码有多种方法,具体举例来说,第二处理单元205-2还获取该新模块所在的线程和/或进程的标识ID。在确定该第一事件为网络钓鱼攻击事件后,第二处理单元205-2通过该新模块所在的线程和/或进程标识ID来查找该新模块所对应的代码。当然,上述描述仅为举例,并不作限制。查找到该代码后,第二处理单元205-2可通过在客户端的显示界面上向使用该客户端的用户显示该代码所在位置,并通过文字、声音或者其他方式来提醒该用户清除该代码。这样,可以避免客户端因该网络钓鱼事件遭受损失。
和/或,
第三处理单元205-3,用于获取所述数据的源网络协议地址,并阻止所述第一客户端接收来自所述源网络协议地址的数据。
由于恶意代码隐藏在客户端通过电子通信软件所访问的数据中,因此第三处理单元205-3可以获取该数据的来源,进而确定该恶意代码的源网络协议地址。为避免来自该源网络协议地址的攻击者继续对该客户端发送恶意代码,第三处理单元205-3阻止该客户端接收来自所述源网络协议地址的数据。这样,可以避免以后客户端再次接受来自该源网络协议地址的恶意代码而遭受损失。
上面实施例中,客户端需获取新模块加载事件的发生时间或者新模块加载事件中的新模块创建对应文件的发生时间。实际运用中,客户端可通过多种方法来确定该客户端内新产生的加载模块是否为新模块,下面对本发明实施例中客户端进行描述。请参阅图3,本发明中的客户端的另一个实施例包括:
第一获取单元301,用于获取第一事件的发生时间,其中该第一事件包括所述客户端通过电子通信软件进行数据访问的事件;
详细说明请参见图1所示实施例中第一获取单元101的说明。
存储单元302,所述存储单元中保存有模块库,所述模块库包含所有历史加载的模块;
第一记录单元303,用于记录所述客户端的模块加载事件;
实际运用中,有多种方法来定位线程中运行的函数体所对应的模块。具体举例来说,当恶意程序或正常程序在客户端开始执行时,系统一般会创建线程,或者先创建进程再创建属于该进程的线程。程序在线程中运行时,线程中的堆栈记录了当前情况下未执行完成的程序中的部分函数体之间的调用关系,可以由此得到当前正在运行的函数的地址列表。据此地址列表,在进程的模块列表中匹配出函数的对应的模块及其对应的文件,由此确认线程当前情况下未执行完成的函数对应的模块及其对应的文件;或者,由于漏洞或者注入挂钩等异常原因匹配不出函数的对应模块,在这种情况下直接将该函数视为来源于新模块。第一记录单元303实时记录每个时刻该客户端内新产生的所有模块加载事件以及该模块加载事件的发生时间。
第二确定单元304,用于判断当所述模块加载事件中的模块不同于所述模块库内的模块时,确定所述模块加载事件为新模块加载事件;
第二确定单元304将第一记录单元303所记录到的每一个新产生的模块加载事件中的模块与模块库中的所有模块进行比较,若新产生的模块加载事件中的模块不同于模块库中的任意一个模块,则该新产生的模块加载事件中的模块为新模块,也即该事件为新模块加载事件。实际运用中,比较两个模块是否相同有多种方法,例如,将该两个模块的散列值进行比较,若该两个散列值不同,则该两个新模块不同,若该两个散列值相同,则该两个模块相同。由于此为现有技术,在此不再赘述。在将每一个新产生的模块加载事件中的模块与模块库中的所有模块比较完之后,该模块加载事件中的模块被存储入存储单元302中的模块库内。
第二获取单元305,用于获取第一时间,所述第一时间为所述客户端的新模块加载事件的发生时间,或者为所述客户端的新模块加载事件中的新模块创建对应文件的发生时间;
在第二确定单元304确认第一客户端内的某个模块加载事件为新模块加载事件后,第二获取单元305获取该新模块加载事件的发生时间。由于在加载新模块后,该新模块一般会创建其对应文件,因此,第二获取单元305也可以不是获取该新模块加载的时间,而是获取该新模块创建对应文件的时间。
第一计算单元306,用于计算所述第一时间和所述第一事件的发生时间的发生时间差;
获取到第一事件的发生时间和新模块加载事件的时间后,第一计算单元306将第一时间减去第一事件的发生时间,以计算该两个事件的发生时间差。
第一确定单元307,用于当所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件;
实际运用中,在客户端通过电子通信软件进行数据访问时,若所访问的数据中隐藏了恶意代码,该恶意代码会立即在客户端上新建进程来执行或者注入已有的进程中执行。这时客户端内会创建新的线程以执行该恶意代码,而该新的线程的部分调用函数则来自该恶意代码。由于绝大多数情况下恶意代码都是由黑客自行专门编写的,那么该恶意代码对客户端来说是新的,即这部分调用函数来源进程中的新模块,也即该进程会加载新模块。在恶意代码通过在客户端上新建进程来执行的情况中,该新模块会对应恶意代码的相关文件;而在恶意代码通过注入已有的进程中执行的情况中,该新模块不对应任何文件。
因此,第一确定单元307通过将客户端内加载新模块的事件的发生时间或者与第一客户端内加载新模块的事件中新模块创建对应文件的发生时间,与客户端通过电子通信软件进行数据访问的事件的发生时间关联起来,计算该两者的发生时间差,可以根据该时间差来判断该第一事件的类型。
本实施例中,由于在网络钓鱼攻击中用户通过电子通信软件进行数据访问后,在短时间内该恶意代码被下载或者打开运行,并会产生新模块加载事件,而一般来说用户通过电子通信软件来进行数据访问后并不会产生新模块加载事件;因此,通过计算用户通过电子通信软件进行数据访问的第一事件的发生时间和新模块加载事件的发生时间之间的差值,并根据该发生时间差来确定该第一事件的类型;这样,能够以较高的覆盖率检测到网络钓鱼攻击,而且计算复杂度低,检测标准简单,易于维护和优化。
进一步地,本实施例中,通过将客户端每个时刻新加载的模块来与客户端内的历史加载模块进行比较,能够更加准确地确定该新加载的模块是否为新模块。
为便于理解,下面以一个实际应用场景对本实施例的客户端进行描述。
第二计算机向第一计算机发送电子邮件,其中该电子邮件的内容包含链接。第一计算机通过该电子邮件点击该链接。
第一计算机中的第一获取单元获取第一计算机通过该电子邮件点击该链接的发生时间,第一记录单元记录第一计算机内每个时刻新产生的模块加载事件。第一计算机内包括存储单元,该存储单元中保存有模块库,该模块库包含所有历史加载的模块。第一计算机的第二确定单元将第一计算机内每一个新产生的模块加载事件中的模块与模块库中的模块进行比较,若该新产生的模块加载事件中的各模块中有与模块库中的模块不同的模块,便确定该模块为新模块,与该新模块对应的模块加载事件为新模块加载事件。然后,该每一个新产生的模块加载事件中的各模块全部被存储入存储单元内的模块库中,且第二获取单元获取该新模块加载事件的发生时间。
第一计算机中的第一计算单元将该新模块加载事件的发生时间减去第一计算机通过该电子邮件点击该链接的发生时间,以计算出发生时间差。当该发生时间差不小于0且不大于20s时,该20s仅是一个范例,可以根据实际的检测效果进行调整,在此并不对保护范围进行限定,第一确定单元确定第一计算机通过该电子邮件点击该链接的事件为网络钓鱼攻击事件,也即该链接中隐藏有恶意代码。
第一计算机中的第一处理单元在其显示界面上提醒使用该第一计算机的用户将该第一计算机与网络隔离。
上面对本发明实施例中的客户端进行了描述,下面对本发明实施例中的事件类型确定方法进行描述,请参阅图4,本发明的事件类型确定方法的一个实施例包括:
401、第一客户端获取第一事件的发生时间,其中该第一事件包括所述第一客户端通过电子通信软件进行数据访问的事件;
实际运用中,该第一客户端可以是计算机、平板电脑、智能手机或者其他客户端。电子通信软件指的是其他客户端能够用来将数据发送给该第一客户端的通信软件。具体举例来说,该电子通信软件为邮件或者即时通信软件(例如腾讯QQ)。而第一客户端通过电子通信软件进行数据访问指的是第一客户端接收来自其他客户端通过该电子通信软件发送的数据,并对该数据进行访问。而第一事件的发生时间指的是该访问的时间。具体举例来说,第一客户端接收其他客户端通过邮件或者即时通信软件发给该第一客户端的附件或者网页链接,并打开该附件或者访问该网页链接。相对应的,第一事件的发生时间指的是打开该附件的时间或者访问该网页链接的时间。
若该附件中隐藏有恶意代码,第一客户端打开该附件时该恶意代码会自动运行;若网页链接中隐藏有恶意代码,第一客户端打开该网络链接时该恶意代码会自动下载到该第一客户端内并运行。
402、第一客户端获取第一时间,所述第一时间为所述客户端的新模块加载事件的发生时间,或者为所述客户端的新模块加载事件中的新模块创建对应文件的发生时间;
第一客户端在运行每个程序时,会创建与该程序对应的进程,其中该进程包含唯一的进程标识ID,以及至少一个运行的线程和模块列表。模块为进程的资源,存储有用于运行程序的所有代码和资源。例如,模块一般是运行中的exe文件或者dll文件。线程包含线程标识ID和堆栈,其中堆栈包含了历史调用函数地址列表。若调用函数地址位于该进程中的某个模块的起始地址和截至地址之间,则该调用函数来自该模块;否则该调用函数来源于新模块,或者该调用函数无对应模块,在这种情况下仍将该调用函数视为来源于新模块。第一客户端所获取的新模块加载的时间,即进程中产生包含新模块的线程的时间。
由于在加载新模块后,该新模块一般会创建其对应文件,因此,第一客户端也可以不是获取该新模块加载的时间,而是获取该新模块创建对应文件的时间。
403、第一客户端计算所述第一时间和所述第一事件的发生时间的发生时间差;
获取到第一事件的发生时间和新模块加载事件的时间后,第一客户端将第一时间减去第一事件的发生时间,以计算该两个事件的发生时间差。
404、第一客户端根据所述发生时间差确定所述第一事件的类型;
实际运用中,在第一客户端通过电子通信软件进行数据访问时,若所访问的数据中隐藏了恶意代码,该恶意代码会立即在第一客户端上新建进程来执行或者注入已有的进程中执行。这时第一客户端内会创建新的线程以执行该恶意代码,而该新的线程的部分调用函数则来自该恶意代码。由于绝大多数情况下恶意代码都是由黑客自行专门编写的,那么该恶意代码对第一客户端来说是新的,即这部分调用函数来源进程中的新模块,也即该进程会加载新模块。在恶意代码通过在第一客户端上新建进程来执行的情况中,该新模块会对应恶意代码的相关文件;而在恶意代码通过注入已有的进程中执行的情况中,该新模块不对应任何文件。
因此,通过将第一客户端通过电子通信软件进行数据访问的事件的发生时间与第一客户端内加载新模块的事件的发生时间,或者与第一客户端内加载新模块的事件中新模块创建对应文件的发生时间关联起来,计算该两者的发生时间差,便可以根据该时间差来判断该第一事件的类型。
本实施例中,由于在网络钓鱼攻击中用户通过电子通信软件进行数据访问后,在短时间内该恶意代码被下载或者打开运行,并会产生新模块加载事件,而一般来说用户通过电子通信软件来进行数据访问后并不会产生新模块加载事件;因此,通过计算用户通过电子通信软件进行数据访问的第一事件的发生时间和新模块加载事件的发生时间之间的差值,并根据该发生时间差来确定该第一事件的类型;这样,能够以较高的覆盖率检测到网络钓鱼攻击,而且计算复杂度低,检测标准简单,易于维护和优化。
上面实施例中,第一客户端计算所述第一时间和所述第一事件的发生时间的发生时间差来确定第一事件的类型。实际运用中,第一客户端可通过多种方法来根据该发生时间差来确定第一事件的类型,下面对本发明实施例中的事件类型确定方法进行描述。请参阅图5,本发明的事件类型确定方法的另一个实施例包括:
501、第一客户端获取第一事件的发生时间,其中该第一事件包括所述第一客户端通过电子通信软件进行数据访问的事件;
详细说明请参见图4所示实施例中步骤401的说明。
502、第一客户端获取第一时间,所述第一时间为所述第一客户端的新模块加载事件的发生时间,或者为所述客户端的新模块加载事件中的新模块创建对应文件的发生时间;
详细说明请参见图4所示实施例中步骤402的说明。
实际运用中,在获取第一事件的发生时间和第一时间时,该第一客户端优选还获取第一事件标识和新模块加载事件标识,并将该第一事件标识和第一事件的发生时间关联在一起,以及将新模块加载事件标识和第一时间关联在一起,以便后续根据该第一事件标识和新模块加载时间标识来计算该两个事件的发生时间差。
实际运用中,获取新模块加载事件标识有多种方法。具体举例来说,在新模块有对应文件且该对应文件的散列值能够计算的情况下,可将该对应文件的散列值作为该新模块加载事件标识;在新模块有对应文件但该对应文件的散列值不可计算的情况下,例如该对应文件被删除的情况下,可将未取到对应文件标识作为新模块加载事件标识;在调用函数无对应模块并将该调用函数视为来源于新模块的情况下,可将无对应模块标识视为新模块加载事件标识。第一事件标识的产生为公知技术,在此不再赘述。
503、第一客户端计算所述第一时间和所述第一事件的发生时间的发生时间差;
详细说明请参见图4所示实施例中步骤403的说明。
504、当所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件;
若第一客户端通过电子通信软件所访问的数据中隐藏有恶意代码,在第一客户端访问该数据后该恶意代码一般会立即在该第一客户端内运行,进而产生新模块加载事件。而一般来说,若第一客户端所访问的数据中未隐藏有恶意代码,访问后该第一客户端内不会产生新模块加载事件。因此,通过计算新模块加载事件的发生时间和第一事件的发生时间的发生时间差,并当该发生时间差大于零且不大于预置时间时,即新模块加载事件是发生在第一事件之后且在一定时间(通常很短)内发生的情况下,即可判断该第一事件为网络钓鱼攻击事件。实际运用中,该预置时间的具体数值可以为0到60s之间。当然,上述发生时间差仅为举例说明,并不作限制。
本实施例中,只通过在计算出第一时间和第一客户端通过电子通信软件进行数据访问的第一事件的发生时间之间的差值位于预置范围内时,就可以确定该第一事件为网络钓鱼攻击事件,计算复杂程度很低,检测标准很简单,更易于维护和优化,且能够以较高的覆盖率检测到网络钓鱼攻击。
在本实施例中,由于恶意代码会给使用第一客户端的用户带来损失,因此在确认第一事件为网络钓鱼攻击事件之后,优选地,本实施例中的事件类型确定方法进一步包括:
505-1、提醒使用所述第一客户端的用户将所述第一客户端与网络隔离;
具体举例来说,第一客户端包括显示界面。当确定第一事件为网络钓鱼攻击事件后,第一客户端在其显示界面上弹出提醒窗口,该提醒窗口中显示有文字,用于提醒将所述第一客户端与网络隔离。实际运用中,第一客户端也可以不是通过文字提醒,而是通过声音提醒或者他方式来提醒使用该第一客户端的用户。上述描述仅为举例,并不作限制。这样,可以避免第一客户端因该网络钓鱼事件遭受损失。
和/或,
505-2、查找所述新模块所对应的代码,并提醒使用所述第一客户端的用户清除所述代码;
查找新模块所对的代码有多种方法,具体举例来说,在获取新模块加载事件标识的同时,第一客户端还获取该新模块所在的线程和/或进程的标识ID。在确定该第一事件为网络钓鱼攻击事件后,通过该新模块所在的线程和/或进程标识ID来查找该新模块所对应的代码。当然,上述描述仅为举例,并不作限制。查找到该代码后,第一客户端可通过在其显示界面上向使用该第一客户端的用户显示该代码所在位置,并通过文字、声音或者其他方式来提醒该用户清楚该代码。这样,可以避免第一客户端因该网络钓鱼事件遭受损失。
和/或,
505-3、获取所述数据的源网络协议地址,并阻止所述第一客户端接收来自所述源网络协议地址的数据。
由于恶意代码隐藏在第一客户端通过电子通信软件所访问的数据中,因此第一客户端可以获取该数据的来源,进而确定该恶意代码的源网络协议地址。为避免来自该源网络协议地址的攻击者继续对该第一客户端发送恶意代码,第一客户端阻止所述第一客户端接收来自所述源网络协议地址的数据。这样,可以避免以后第一客户端再次接受来自该源网络协议地址的恶意代码而遭受损失。
上面实施例中,第一客户端需获取新模块加载事件的发生时间或者新模块加载事件中的新模块创建对应文件的发生时间。实际运用中,第一客户端可通过多种方法来确定第一客户端内新加载的模块是否为新模块,下面对本发明实施例中事件类型确定方法进行描述。请参阅图6,本发明的另一个实施例中事件类型确定方法包括:
601、第一客户端获取第一事件的发生时间,其中该第一事件包括所述第一客户端通过电子通信软件进行数据访问的事件;
详细说明请参见图4所示实施例中步骤401的说明。
602、记录所述第一客户端的模块加载事件;
实际运用中,有多种方法来定位线程中运行的函数体所对应的模块。具体举例来说,当恶意程序或正常程序在客户端开始执行时,系统一般会创建线程,或者先创建进程再创建属于该进程的线程。程序在线程中运行时,线程中的堆栈记录了当前情况下未执行完成的程序中的部分函数体之间的调用关系,可以由此得到当前正在运行的函数的地址列表。据此地址列表,在进程的模块列表中匹配出函数的对应的模块及其对应的文件,由此确认线程当前情况下未执行完成的函数对应的模块及其对应的文件;或者,由于漏洞或者注入挂钩等异常原因匹配不出函数的对应模块,在这种情况下直接将该函数视为来源于新模块。
第一客户端实时记录每个时刻该第一客户端内新产生的所有模块加载事件以及该模块加载事件的发生时间。第一客户端还包括存储单元,该存储单元中保存有模块库,该模块库包含所有历史加载的模块。
603、当所述模块加载事件中的模块不同于模块库内的模块时,确定所述模块加载事件为新模块加载事件。
第一客户端将所记录到的每一个新产生的模块加载事件中的模块与模块库中的所有模块进行比较,若新产生的模块加载事件中的模块不同于模块库中的任意一个模块,则该当新产生的模块加载事件中的模块为新模块,也即该事件为新模块加载事件。实际运用中,比较两个模块是否相同有多种方法,例如,将该两个模块的散列值进行比较,若该两个散列值不同,则该两个新模块不同,若该两个散列值相同,则该两个模块相同。由于此为现有技术,在此不再赘述。在将每一个新产生的模块加载事件中的模块与模块库中的所有模块比较完之后,第一客户端将该模块加载事件中的模块存储入模块库中。
604、第一客户端获取第一时间,所述第一时间为所述第一客户端的新模块加载事件的发生时间,或者为所述客户端的新模块加载事件中的新模块创建对应文件的发生时间;
在确认第一客户端内的某个模块加载事件为新模块加载事件后,第一客户端获取该新模块加载事件的发生时间。由于在加载新模块后,该新模块一般会创建其对应文件,因此,第一客户端也可以不是获取该新模块加载的时间,而是获取该新模块创建对应文件的时间。
605、第一客户端计算所述第一时间和所述第一事件的发生时间的发生时间差;
获取到第一事件的发生时间和第一时间后,第一客户端将第一时间减去第一事件的发生时间,以计算该两个事件的发生时间差。
606、当所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件;
实际运用中,在第一客户端通过电子通信软件进行数据访问时,若所访问的数据中隐藏了恶意代码,该恶意代码会立即在第一客户端上新建进程来执行或者注入已有的进程中执行。这时第一客户端内会创建新的线程以执行该恶意代码,而该新的线程的部分调用函数则来自该恶意代码。由于绝大多数情况下恶意代码都是由黑客自行专门编写的,那么该恶意代码对应第一客户端来说是新的,即这部分调用函数来源进程中的新模块,也即该进程会加载新模块。在恶意代码通过在第一客户端上新建进程来执行的情况中,该新模块会对应恶意代码的相关文件;而在恶意代码通过注入已有的进程中执行的情况中,该新模块不对应任何文件。
因此,通过将第一客户端通过电子通信软件进行数据访问的事件的发生时间与第一客户端内加载新模块的事件的发生时间,或者与第一客户端内加载新模块的事件中新模块创建对应文件的发生时间关联起来,计算该两者的发生时间差,便可以根据该时间差来判断该第一事件的类型。
本实施例中,由于在网络钓鱼攻击中用户通过电子通信软件进行数据访问后,在短时间内该恶意代码被下载或者打开运行,并会产生新模块加载事件,而一般来说用户通过电子通信软件来进行数据访问后并不会产生新模块加载事件;因此,通过计算用户通过电子通信软件进行数据访问的第一事件的发生时间和新模块加载事件的发生时间之间的差值,并根据该发生时间差来确定该第一事件的类型;这样,能够以较高的覆盖率检测到网络钓鱼攻击,而且计算复杂度低,检测标准简单,易于维护和优化。
进一步地,本实施例中,通过将第一客户端新产生的加载模块来与第一客户端内的历史加载模块进行比较,能够更加准确地确定该新产生的加载模块是否为新模块。
为便于理解,下面以一个实际应用场景对本实施例事件类型确定方法进行描述。
第二计算机向第一计算机发送电子邮件,其中该电子邮件的内容包含链接。第一计算机通过该电子邮件点击该链接。
第一计算机获取第一计算机通过该电子邮件点击该链接的发生时间,并记录第一计算机内每个时刻新产生的模块加载事件。第一计算机内包括存储单元,该存储单元中保存有模块库,该模块库包含所有历史加载的模块。第一计算机将每个时刻新产生的模块加载事件中的各模块分别与模块库中的模块进行比较,若该新产生的模块加载事件中的各模块中有与模块库中的模块不同的模块,便确定该模块为新模块,与该新模块对应的模块加载事件为新模块加载事件。然后,第一计算机将该新产生的模块加载事件中的各模块全部存储入存储单元内的模块库中,并获取该新模块加载事件的发生时间。
第一计算机将该新模块加载事件的发生时间减去第一计算机通过该电子邮件点击该链接的发生时间,以计算出发生时间差。当该发生时间差不小于0且不大于20s时,确定第一计算机通过该电子邮件点击该链接的事件为网络钓鱼攻击事件,也即该链接中隐藏有恶意代码。
第一计算机在其显示界面上提醒使用该第一计算机的用户将该第一计算机与网络隔离。
上面对本发明实施例中的客户端和事件类型确定方法进行了描述,下面对本发明实施例中的服务器进行描述,请参阅图7,本发明的服务器的一个实施例包括:
第一获取单元701,用于从第一客户端处获取第一事件的发生时间和第一客户端的标识信息,其中该第一事件包括第一客户端通过电子通信软件进行数据访问的事件;
实际运用中,第一客户端可以是计算机、计算机、平板电脑、智能手机或者其他客户端。电子通信软件指的是其他客户端能够用来将数据发送给本实施例中的客户端的通信软件。具体举例来说,该电子通信软件为邮件或者即时通信软件(例如腾讯QQ)。而该客户端通过电子通信软件进行数据访问指的是该客户端接收来自其他客户端通过该电子通信软件发送的数据,并对该数据进行访问。而第一事件的发生时间指的是该访问的时间。具体举例来说,该客户端接收其他客户端通过邮件或者即时通信软件发给该客户端的附件或者网页链接,并打开该附件或者访问该网页链接。相对应的,第一事件的发生时间指的是打开该附件的时间或者访问该网页链接的时间。
若该附件中隐藏有恶意代码,客户端打开该附件时该恶意代码会自动运行;若网页链接中隐藏有恶意代码,客户端打开该网络链接时该恶意代码会自动下载到该第一客户端内并运行。
由于服务器管理着多台客户端,为清楚第一事件发生在哪台客户端上,服务器在获取第一事件的发生时间的同时,还获取该第一事件所在的第一客户端的标识信息。
第二获取单元702,用于从第一客户端处获取第一时间,所述第一时间为所述第一客户端的新模块加载事件的发生时间,或者为所述第一客户端的新模块加载事件中的新模块创建对应文件的发生时间;
第一客户端在运行每个程序时,会创建与该程序对应的进程,其中该进程包含唯一的进程标识ID,以及至少一个运行的线程和模块列表。模块为进程的资源,存储有用于运行程序的所有代码和资源。例如,模块一般是运行中的exe文件或者dll文件。线程包含线程标识ID和堆栈,其中堆栈包含了历史调用函数地址列表。若调用函数地址位于该进程中的某个模块的起始地址和截至地址之间,则该调用函数来自该模块;否则该调用函数来源于新模块,或者该调用函数无对应模块,在这种情况下仍将该调用函数视为来源于新模块。第二获取单元702所获取的新模块加载的时间,即进程中产生包含新模块的线程的时间。
由于在加载新模块后,该新模块一般会创建其对应文件,因此,第二获取单元702也可以不是获取该新模块加载的时间,而是获取该新模块创建对应文件的时间。
第一计算单元703,用于计算所述第一时间和所述第一事件的发生时间的发生时间差;
获取到第一事件的发生时间和新模块加载事件的时间后,第一计算单元703将第一时间减去第一事件的发生时间,以计算该两个事件的发生时间差。
第一确定单元704,用于根据所述发生时间差确定所述第一事件的类型;
实际运用中,在第一客户端通过电子通信软件进行数据访问时,若所访问的数据中隐藏了恶意代码,该恶意代码会立即在第一客户端上新建进程来执行或者注入已有的进程中执行。这时第一客户端内会创建新的线程以执行该恶意代码,而该新的线程的部分调用函数则来自该恶意代码。由于绝大多数情况下恶意代码都是由黑客自行专门编写的,那么该恶意代码对第一客户端来说是新的,即这部分调用函数来源进程中的新模块,也即该进程会加载新模块。在恶意代码通过在第一客户端上新建进程来执行的情况中,该新模块会对应恶意代码的相关文件;而在恶意代码通过注入已有的进程中执行的情况中,该新模块不对应任何文件。
因此,第一确定单元704通过将第一客户端内加载新模块的事件的发生时间或者与第一客户端内加载新模块的事件中新模块创建对应文件的发生时间,与第一客户端通过电子通信软件进行数据访问的事件的发生时间关联起来,计算该两者的发生时间差,便可以根据该时间差来判断该第一事件的类型。
本实施例中,由于在网络钓鱼攻击中用户通过电子通信软件进行数据访问后,在短时间内该恶意代码被下载或者打开运行,并会产生新模块加载事件,而一般来说用户通过电子通信软件来进行数据访问后并不会产生新模块加载事件;因此,通过计算用户通过电子通信软件进行数据访问的第一事件的发生时间和新模块加载事件的发生时间之间的差值,并根据该发生时间差来确定该第一事件的类型;这样,能够以较高的覆盖率检测到网络钓鱼攻击,而且计算复杂度低,检测标准简单,易于维护和优化。
上面实施例中,第一确定单元704计算所述第一时间和所述第一事件的发生时间的发生时间差来确定第一事件的类型。实际运用中,第一确定单元704可通过多种方法来根据该发生时间差来确定第一事件的类型,下面对本发明实施例中服务器进行描述。请参阅图8,本发明中的服务器的另一个实施例中包括:
第一获取单元801,用于从第一客户端处获取第一事件的发生时间和第一客户端的标识信息,其中该第一事件包括第一客户端通过电子通信软件进行数据访问的事件;
详细说明请参见图7所示实施例中的第一获取单元701的具体说明。
第二获取单元702,用于从第一客户端处获取第一时间,所述第一时间为所述第一客户端的新模块加载事件的发生时间,或者为所述第一客户端的新模块加载事件中的新模块创建对应文件的发生时间;
详细说明请参见图7所示实施例中的第一获取单元702的具体说明。
实际运用中,在获取第一事件的发生时间和第一时间时,该第二获取单元702优选还获取第一事件标识和新模块加载事件标识,并将该第一事件标识和第一事件的发生时间关联在一起,以及将新模块加载事件标识和第一时间关联在一起,以便后续根据该第一事件标识和新模块加载时间标识来计算该两个事件的发生时间差。实际运用中,获取新模块加载事件标识有多种方法。具体举例来说,在新模块有对应文件且该对应文件的散列值能够计算的情况下,可将该对应文件的散列值作为该新模块加载事件标识;在新模块有对应文件但该对应文件的散列值不可计算的情况下,例如该对应文件被删除的情况下,可将未取到对应文件标识作为新模块加载事件标识;在调用函数无对应模块并将该调用函数视为来源于新模块的情况下,可将无对应模块标识视为新模块加载事件标识。第一事件标识的产生为公知技术,在此不再赘述。
第一计算单元803,用于计算所述第一时间和所述第一事件的发生时间的发生时间差;
详细说明请参见图7所示实施例中的第一获取单元703的具体说明。
第一确定单元804,用于当所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件;
若第一客户端通过电子通信软件所访问的数据中隐藏有恶意代码,在该第一客户端访问该数据后该恶意代码一般会立即在该第一客户端内运行,进而产生新模块加载事件。而一般来说,若该第一客户端所访问的数据中未隐藏有恶意代码,访问后该第一客户端内不会产生新模块加载事件。因此,通过第一计算单元803计算第一时间和第一事件的发生时间的发生时间差,并当该发生时间差大于零且不大于预置时间时,即新模块加载事件是发生在第一事件之后且在一定时间(通常很短)内发生的情况下,第一确定单元804即可判断该第一事件为网络钓鱼攻击事件。实际运用中,该预置时间的具体数值可以为0到60s之间。当然,上述发生时间差仅为举例说明,并不作限制。
本实施例中,只通过在计算出第一时间和第一客户端通过电子通信软件进行数据访问的第一事件的发生时间之间的差值位于预置范围内时,就可以确定该第一事件为网络钓鱼攻击事件,计算复杂程度很低,检测标准很简单,更易于维护和优化,且能够以较高的覆盖率检测到网络钓鱼攻击。
在本实施例中,由于恶意代码会给使用该客户端的用户带来损失,因此在确认第一事件为网络钓鱼攻击事件之后,优选地,本实施例中的服务器进一步包括:
第一处理单元805-1,向所述第一客户端发送第一提醒,所述第一提醒用于提醒使用所述第一客户端的用户将所述客户端与网络隔离;
具体举例来说,第一客户端包括显示界面。当确定第一事件为网络钓鱼攻击事件后,第一处理单元805-1向第一客户端发送第一提醒,使得第一客户端在其显示界面上弹出提醒窗口,该提醒窗口中显示有文字,用于提醒将所述第一客户端与网络隔离。当然,上述描述仅为举例,并不作限制。这样,可以避免第一客户端因该网络钓鱼事件遭受损失。
和/或,
第二处理单元805-2,用于查找所述新模块所对应的代码,并向所述第一客户端发送第二提醒,所述第二提醒用于提醒使用所述第一客户端的用户清除所述代码;
第二处理单元805-2查找新模块所对的代码有多种方法,具体举例来说,第二处理单元805-2还获取该新模块所在的线程和/或进程的标识ID。在确定该第一事件为网络钓鱼攻击事件后,第二处理单元805-2通过该新模块所在的线程和/或进程标识ID来查找该新模块所对应的代码。当然,上述描述仅为举例,并不作限制。查找到该代码后,第二处理单元805-2可通过在第一客户端的显示界面上向使用该第一客户端的用户显示该代码所在位置,并通过文字、声音或者其他方式来提醒该用户清除该代码。这样,可以避免第一客户端因该网络钓鱼事件遭受损失。
和/或,
第三处理单元805-3,用于获取所述数据的源网络协议地址,并阻止所述第一客户端接收来自所述源网络协议地址的数据。
由于恶意代码隐藏在第一客户端通过电子通信软件所访问的数据中,因此第三处理单元805-3可以获取该数据的来源,进而确定该恶意代码的源网络协议地址。为避免来自该源网络协议地址的攻击者继续对该第一客户端发送恶意代码,第三处理单元805-3阻止该第一客户端接收来自所述源网络协议地址的数据。这样,可以避免以后第一客户端再次接受来自该源网络协议地址的恶意代码而遭受损失。
上面对本发明实施例中的服务器进行了描述,下面对本发明实施例中的事件类型确定方法进行描述,请参阅图9,本发明的事件类型确定方法的一个实施例包括:
901、服务器从第一客户端处获取第一事件的发生时间和第一客户端的标识信息,其中该第一事件包括第一客户端通过电子通信软件进行数据访问的事件;
实际运用中,该第一客户端可以是计算机、平板电脑、智能手机或者其他客户端。电子通信软件指的是其他客户端能够用来将数据发送给该第一客户端的通信软件。具体举例来说,该电子通信软件为邮件或者即时通信软件(例如腾讯QQ)。而第一客户端通过电子通信软件进行数据访问指的是第一客户端接收来自其他客户端通过该电子通信软件发送的数据,并对该数据进行访问。而第一事件的发生时间指的是该访问的时间。具体举例来说,第一客户端接收其他客户端通过邮件或者即时通信软件发给该第一客户端的附件或者网页链接,并打开该附件或者访问该网页链接。相对应的,第一事件的发生时间指的是打开该附件的时间或者访问该网页链接的时间。
若该附件中隐藏有恶意代码,第一客户端打开该附件时该恶意代码会自动运行;若网页链接中隐藏有恶意代码,第一客户端打开该网络链接时该恶意代码会自动下载到该第一客户端内并运行。
由于服务器管理着多台客户端,为清楚第一事件发生在哪台客户端上,服务器在获取第一事件的发生时间的同时,还获取该第一事件所在的第一客户端的标识信息。
902、服务器从第一客户端处获取第一时间,所述第一时间为所述第一客户端的新模块加载事件的发生时间,或者为所述第一客户端的新模块加载事件中的新模块创建对应文件的发生时间;
第一客户端在运行每个程序时,会创建与该程序对应的进程,其中该进程包含唯一的进程标识ID,以及至少一个运行的线程和模块列表。模块为进程的资源,存储有用于运行程序的所有代码和资源。例如,模块一般是运行中的exe文件或者dll文件。线程包含线程标识ID和堆栈,其中堆栈包含了历史调用函数地址列表。若调用函数地址位于该进程中的某个模块的起始地址和截至地址之间,则该调用函数来自该模块;否则该调用函数来源于新模块,或者该调用函数无对应模块,在这种情况下仍将该调用函数视为来源于新模块。第一客户端所获取的新模块加载的时间,即进程中产生包含新模块的线程的时间。
由于在加载新模块后,该新模块一般会创建其对应文件,因此,第一客户端也可以不是获取该新模块加载的时间,而是获取该新模块创建对应文件的时间。
实际运用中,在获取第一事件的发生时间和第一时间时,该服务器优选还获取第一事件标识和新模块加载事件标识,以便后续关联第一事件和新模块加载事件。
903、服务器计算所述第一时间和所述第一事件的发生时间的发生时间差;
获取到第一事件的发生时间和新模块加载事件的时间后,第一客户端将第一时间减去第一事件的发生时间,以计算该两个事件的发生时间差。
904、服务器根据所述发生时间差确定所述第一事件的类型。
实际运用中,在第一客户端通过电子通信软件进行数据访问时,若所访问的数据中隐藏了恶意代码,该恶意代码会立即在第一客户端上新建进程来执行或者注入已有的进程中执行。这时第一客户端内会创建新的线程以执行该恶意代码,而该新的线程的部分调用函数则来自该恶意代码。由于绝大多数情况下恶意代码都是由黑客自行专门编写的,那么该恶意代码对第一客户端来说是新的,即这部分调用函数来源进程中的新模块,也即该进程会加载新模块。在恶意代码通过在第一客户端上新建进程来执行的情况中,该新模块会对应恶意代码的相关文件;而在恶意代码通过注入已有的进程中执行的情况中,该新模块不对应任何文件。
因此,通过将第一客户端通过电子通信软件进行数据访问的事件的发生时间与第一客户端内加载新模块的事件的发生时间,或者与第一客户端内加载新模块的事件中新模块创建对应文件的发生时间关联起来,计算该两者的发生时间差,便可以根据该时间差来判断该第一事件的类型。
本实施例中,由于在网络钓鱼攻击中用户通过电子通信软件进行数据访问后,在短时间内该恶意代码被下载或者打开运行,并会产生新模块加载事件,而一般来说用户通过电子通信软件来进行数据访问后并不会产生新模块加载事件;因此,通过计算用户通过电子通信软件进行数据访问的第一事件的发生时间和新模块加载事件的发生时间之间的差值,并根据该发生时间差来确定该第一事件的类型;这样,能够以较高的覆盖率检测到网络钓鱼攻击,而且计算复杂度低,检测标准简单,易于维护和优化。
上面实施例中,服务器计算所述第一时间和所述第一事件的发生时间的发生时间差来确定第一事件的类型。实际运用中,服务器可通过多种方法来根据该发生时间差来确定第一事件的类型,下面对本发明实施例中事件类型确定方法进行描述。请参阅图10,本发明的另一个实施例中事件类型确定方法包括:
1001、服务器从第一客户端处获取第一事件的发生时间和第一客户端的标识信息,其中该第一事件包括第一客户端通过电子通信软件进行数据访问的事件;
详细说明请参见图9所示实施例中步骤901的说明。
1002、服务器从第一客户端处获取第一时间,所述第一时间为所述第一客户端的新模块加载事件的发生时间,或者为所述第一客户端的新模块加载事件中的新模块创建对应文件的发生时间;
详细说明请参见图9所示实施例中步骤902的说明。
实际运用中,在获取第一事件的发生时间和第一时间时,该第一客户端优选还获取第一事件标识和新模块加载事件标识,并将该第一事件标识和第一事件的发生时间关联在一起,以及将新模块加载事件标识和第一时间关联在一起,以便后续根据该第一事件标识和新模块加载时间标识来计算该两个事件的发生时间差。
实际运用中,获取新模块加载事件标识有多种方法。具体举例来说,在新模块有对应文件且该对应文件的散列值能够计算的情况下,可将该对应文件的散列值作为该新模块加载事件标识;在新模块有对应文件但该对应文件的散列值不可计算的情况下,例如该对应文件被删除的情况下,可将未取到对应文件标识作为新模块加载事件标识;在调用函数无对应模块并将该调用函数视为来源于新模块的情况下,可将无对应模块标识视为新模块加载事件标识。第一事件标识的产生为公知技术,在此不再赘述。
1003、服务器计算所述第一时间和所述第一事件的发生时间的发生时间差;
详细说明请参见图9所示实施例中步骤903的说明。
1004、当所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件。
若第一客户端通过电子通信软件所访问的数据中隐藏有恶意代码,在第一客户端访问该数据后该恶意代码一般会立即在该第一客户端内运行,进而产生新模块加载事件。而一般来说,若第一客户端所访问的数据中未隐藏有恶意代码,访问后该第一客户端内不会产生新模块加载事件。因此,通过计算新模块加载事件的发生时间和第一事件的发生时间的发生时间差,并当该发生时间差大于零且不大于预置时间时,即新模块加载事件是发生在第一事件之后且在一定时间(通常很短)内发生的情况下,即可判断该第一事件为网络钓鱼攻击事件。
本实施例中,只通过在计算出第一时间和第一客户端通过电子通信软件进行数据访问的第一事件的发生时间之间的差值位于预置范围内时,就可以确定该第一事件为网络钓鱼攻击事件,计算复杂程度很低,检测标准很简单,更易于维护和优化,且能够以较高的覆盖率检测到网络钓鱼攻击。
在本实施例中,由于恶意代码会给使用第一客户端的用户带来损失,因此在确认第一事件为网络钓鱼共计事件之后,优选地,本实施例中的事件类型确定方法进一步包括:
1005-1、向所述第一客户端发送第一提醒,所述第一提醒用于提醒使用所述第一客户端的用户将所述客户端与网络隔离;
具体举例来说,第一客户端包括显示界面。当确定第一事件为网络钓鱼攻击事件后,服务器向第一客户端发送第一提醒,使得第一客户端在其显示界面上弹出提醒窗口,该提醒窗口中显示有文字,用于提醒将所述第一客户端与网络隔离。上述描述仅为举例,并不作限制。这样,可以避免第一客户端因该网络钓鱼事件遭受损失。
和/或,
1005-2、查找所述新模块所对应的代码,并向所述第一客户端发送第二提醒,所述第二提醒用于提醒使用所述第一客户端的用户清除所述代码;
查找新模块所对的代码有多种方法,具体举例来说,在获取新模块加载事件标识的同时,服务器还获取第一客户端内该新模块所在的线程和/或进程的标识ID。在确定该第一事件为网络钓鱼攻击事件后,通过该新模块所在的线程和/或进程标识ID来查找该新模块所对应的代码。当然,上述描述仅为举例,并不作限制。查找到该代码后,服务器向第一客户端发送第二提醒,使得第一客户端通过在其显示界面上向使用该第一客户端的用户显示该代码所在位置,并通过文字、声音或者其他方式来提醒该用户清除该代码。这样,可以避免第一客户端因该网络钓鱼事件遭受损失。
和/或,
1005-3、获取所述数据的源网络协议地址,并阻止所述第一客户端接收来自所述源网络协议地址的数据。
由于恶意代码隐藏在第一客户端通过电子通信软件所访问的数据中,因此服务器可以获取该数据的来源,进而确定该恶意代码的源网络协议地址。为避免来自该源网络协议地址的攻击者继续对该第一客户端发送恶意代码,服务器阻止所述第一客户端接收来自所述源网络协议地址的数据。这样,可以避免以后第一客户端再次接受来自该源网络协议地址的恶意代码而遭受损失。
上面从单元化功能实体的角度对本发明实施例中的客户端进行了描述,下面从硬件处理的角度对本发明实施例中的客户端进行描述,请参阅图11,本实施例以计算机为例对本发明进行具体说明。
应该理解的是,图示计算机1100仅仅是客户端的一个范例,并且计算机1100可以具有比图中所示出的更过的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
现以计算机1100为一个例子进行具体的说明。如图11所示,该计算机1100包括存储器1101、中央处理器(Central Processing Unit,以下简称CPU)1103、外设接口1104、RF电路1105、音频电路1106、扬声器1107、电源管理芯片1108、输入/输出(I/O)子系统1109、其他输入/控制设备1110以及外部端口1104,这些部件通过一个或多个通信总线或信号线1112来通信。
下面就本实施例提供的计算机1100进行详细的描述。
存储器1101:所述存储器1101可以被CPU1103、外设接口1104等访问,所述存储器1101可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口1104,所述外设接口可以将设备的输入和输出外设连接到CPU1103和存储器1101。
I/O子系统1109:所述I/O子系统1109可以将设备上的输入输出外设,例如触摸屏1113(相当于上述实施例中的显示器)和其他输入/控制设备1110,连接到外设接口1104。I/O子系统1109可以包括显示控制器11091和用于控制其他输入/控制设备1110的一个或多个输入控制器11092。其中,一个或多个输入控制器11092从其他输入/控制设备1110接收电信号或者向其他输入/控制设备1110发送电信号,其他输入/控制设备1110可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器11092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏1113:所述触摸屏1113是移动终端与客户端之间的输入接口和输出接口,将可视输出显示给客户端,可视输出可以包括图形、文本、图标、视频等。
I/O子系统1109中的显示控制器11091从触摸屏1113接收电信号或者向触摸屏1113发送电信号。触摸屏1113检测触摸屏上的接触,显示控制器11091将检测到的接触转换为与显示在触摸屏1113上的客户端界面对象的交互,即实现人机交互,显示在触摸屏1113上的客户端界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路1105,主要用于建立计算机与无线网络(即网络侧)的通信,实现计算机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路1105接收并发送RF信号,RF信号也称为电磁信号,RF电路1105将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路1105可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片组、客户端标识模块(Subscriber Identity Module,SIM)等等。
音频电路1106,主要用于从外设接口1104接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器1107。
扬声器1107,用于将计算机通过RF电路1105从无线网络接收的语音信号,还原为声音并向客户端播放该声音。
电源管理芯片1108,用于为CPU1103、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
图12为计算机内部部分结构图。在本发明实施例中,存储器120中存储的软件部件可包括操作系统1201、通信模块1202、接触/移动模块1203、图形模块1204、功能模块1205。
操作系统1201(例如,Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、或诸如VxWorks的嵌入式操作系统)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电力管理等等)的各种软件部件和/或驱动器,并且便于各种硬件与软件部件之间的通信。
通信模块1202便于通过一个或多个外部端口与其他设备通信,并且还包括用于处理由RF电路124和/或外部端口接收的数据的各种软件部件。
接触/移动模块1203可以检测与触摸屏(结合显示控制器)和其他触摸敏感设备(例如,触摸板或物理点击滚轮)的接触。接触/移动模块1203包括用于执行与检测接触相关的各种操作的各种软件部件,所述操作例如有确定是否发生接触、确定是否所述接触有移动并且在触摸屏上追踪所述移动、以及确定是否已经断开所述接触(即,是否接触已经停止)。确定接触点的移动可以包括确定接触点的速率(幅值)、速度(幅值和方向)和/或加速度(幅值和/或方向的变化)。这些操作可以应用到单个接触(例如,一个手指接触)或应用到多个同时接触(例如,“多重触摸”/多手指接触)。在一些实施例中,接触/移动模块1203和显示控制器还检测触摸板上的接触。
图形模块1204包括用于在触摸屏上显示图形的各种已知软件部件,包括用于改变所显示的图形的明暗度的部件。例如接收中央处理器122的指令,在触摸屏中显示各种软件的图形客户端界面等。
功能模块1205具体可以包括以下单元:
第一获取单元12051,用于获取第一事件的发生时间,其中该第一事件包括所述客户端通过电子通信软件进行数据访问的事件;
第二获取单元12052,用于获取第一时间,所述第一时间为所述客户端的新模块加载事件的发生时间,或者为所述客户端的新模块加载事件中的新模块创建对应文件的发生时间;
第一计算单元12053,用于计算所述第一时间和所述第一事件的发生时间的发生时间差;
第一确定单元12054,用于根据所述发生时间差确定所述第一事件的类型。
RF电路124接收网络侧或其他设备发送的信息,该消息具体可以是以上各实施例中的通信信息。可以理解的是,接收的消息也可以是其他类型的信息,在本发明实施例中不做限定。本领域技术人员可知,接收到的信息中可以携带有多种数据类型的数据。可以只有一种数据类型的数据,也可以有两种或两种以上数据类型的数据。
中央处理器122识别RF电路124接收到的信息中的数据的数据类型,根据对应关系列表将该数据存储到与该数据的数据类型相对应的功能模块,该对应关系列表为数据类型与功能模块之间的对应关系列表,该功能模块1205具体可以包括第一获取单元12051、第二获取单元12052、第一计算单元12053和第一确定单元12054。可以理解的是,在本发明实施例中,中央处理器122识别各种格式的数据的方式可以如前面实施例中的方式进行,在此不再赘述。
具体地,第一确定单元12054具体用于当所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件。
具体地,存储器1101中保存有模块库,所述模块库包含所有历史加载的模块,功能模块1205还包括第一记录单元,用于记录所述客户端的模块加载事件;第二确定单元,用于当所述模块加载事件中的模块不同于所述模块库内的模块时,确定所述模块加载事件为新模块加载事件。
具体地,功能模块1205还包括第一处理单元,用于提醒使用所述第一客户端的用户将所述第一客户端与网络隔离;
和/或,
第二处理单元,用于查找所述新模块所对应的代码,并提醒使用所述第一客户端的用户清除所述代码;
和/或,
第三处理单元,用于获取所述数据的源网络协议地址,并阻止所述第一客户端接收来自所述源网络协议地址的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (14)

1.一种客户端,其特征在于,包括:
第一获取单元,用于获取第一事件的发生时间,其中该第一事件包括所述客户端通过电子通信软件进行数据访问的事件;
第二获取单元,用于获取第一时间,所述第一时间为所述客户端的新模块加载事件的发生时间,或者为所述客户端的新模块加载事件中的新模块创建对应文件的发生时间;
第一计算单元,用于计算所述第一时间和所述第一事件的发生时间的发生时间差;
第一确定单元,用于根据所述发生时间差确定所述第一事件的类型。
2.根据权利要求1所述的客户端,其特征在于,所述第一确定单元具体用于当判断所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件。
3.根据权利要求1所述的客户端,其特征在于,所述客户端还包括:
存储单元,所述存储单元中保存有模块库,所述模块库包含所有历史加载的模块;
所述客户端还包括:
第一记录单元,用于记录所述客户端的模块加载事件;
第二确定单元,用于当判断所述模块加载事件中的模块不同于所述模块库内的模块时,确定所述模块加载事件为新模块加载事件。
4.根据权利要求2所述的客户端,其特征在于,所述客户端还包括:
第一处理单元,用于提醒使用所述第一客户端的用户将所述第一客户端与网络隔离;
和/或,
第二处理单元,用于查找所述新模块所对应的代码,并提醒使用所述第一客户端的用户清除所述代码;
和/或,
第三处理单元,用于获取所述数据的源网络协议地址,并阻止所述第一客户端接收来自所述源网络协议地址的数据。
5.一种事件类型确定方法,其特征在于,包括:
第一客户端获取第一事件的发生时间,其中该第一事件包括所述第一客户端通过电子通信软件进行数据访问的事件;
第一客户端获取第一时间,所述第一时间为所述第一客户端的新模块加载事件的发生时间,或者为所述客户端的新模块加载事件中的新模块创建对应文件的发生时间;
第一客户端计算所述第一时间和所述第一事件的发生时间的发生时间差;
第一客户端根据所述发生时间差确定所述第一事件的类型。
6.根据权利权要5所述的事件类型确定方法,其特征在于,所述第一客户端根据所述发生时间差确定所述第一事件的类型具体包括:
当判断所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件。
7.根据权利要求5所述的事件类型确定方法,其特征在于,所述第一客户端还包括存储单元,所述存储单元中保存有模块库,所述模块库包含所有历史加载的模块;
所述第一客户端记录第一客户端的新模块加载事件的发生时间之前还包括:
记录所述第一客户端的模块加载事件;
当判断所述模块加载事件中的模块不同于模块库内的模块时,确定所述模块加载事件为新模块加载事件。
8.根据权利要求6所述的事件类型确定方法,其特征在于,所述方法还包括:
提醒使用所述第一客户端的用户将所述第一客户端与网络隔离;
和/或,
查找所述新模块所对应的代码,并提醒使用所述第一客户端的用户清除所述代码;
和/或,
获取所述数据的源网络协议地址,并阻止所述第一客户端接收来自所述源网络协议地址的数据。
9.一种服务器,其特征在于,包括:
第一获取单元,用于从第一客户端处获取第一事件的发生时间和第一客户端的标识信息,其中该第一事件包括第一客户端通过电子通信软件进行数据访问的事件;
第二获取单元,用于从第一客户端处获取第一时间,所述第一时间为所述第一客户端的新模块加载事件的发生时间,或者为所述第一客户端的新模块加载事件中的新模块创建对应文件的发生时间;
第一计算单元,用于计算所述第一时间和所述第一事件的发生时间的发生时间差;
第一确定单元,用于根据所述发生时间差确定所述第一事件的类型。
10.根据权利要求9所述的服务器,其特征在于,所述第一确定模块具体用于当判断所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件。
11.根据权利要求10所述的服务器,其特征在于,所述服务器还包括:
第一处理单元,用于向所述第一客户端发送第一提醒,所述第一提醒用于提醒使用所述第一客户端的用户将所述第一客户端与网络隔离;
和/或,
第二处理单元,用于查找所述新模块所对应的代码,并向所述第一客户端发送第二提醒,所述第二提醒用于提醒使用所述第一客户端的用户清除所述代码;
和/或,
第三处理单元,用于获取所述数据的源网络协议地址,并阻止所述第一客户端接收来自所述源网络协议地址的数据。
12.一种事件类型确定方法,其特征在于,包括:
服务器从第一客户端处获取第一事件的发生时间和第一客户端的标识信息,其中该第一事件包括第一客户端通过电子通信软件进行数据访问的事件;
服务器从所述第一客户端处获取第一时间,所述第一时间为所述第一客户端的新模块加载事件的发生时间,或者为所述第一客户端的新模块加载事件中的新模块创建对应文件的发生时间;
服务器计算所述第一时间和所述第一事件的发生时间的发生时间差;
服务器根据所述发生时间差确定所述第一事件的类型。
13.根据权利要求12所述的事件类型确定方法,其特征在于,所述服务器根据所述发生时间差确定所述第一事件的类型具体包括:
当判断所述发生时间差不小于零且不大于预置时间时,确认该第一事件为网络钓鱼攻击事件。
14.根据权利要求13所述的事件类型确定方法,其特征在于,所述方法还包括:
向所述第一客户端发送第一提醒,所述第一提醒用于提醒使用所述第一客户端的用户将所述客户端与网络隔离;
和/或,
查找所述新模块所对应的代码,并向所述第一客户端发送第二提醒,所述第二提醒用于提醒使用所述第一客户端的用户清除所述代码;
和/或,
获取所述数据的源网络协议地址,并阻止所述第一客户端接收来自所述源网络协议地址的数据。
CN201410136208.6A 2014-04-04 2014-04-04 客户端、服务器和事件类型确定方法 Pending CN103957193A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410136208.6A CN103957193A (zh) 2014-04-04 2014-04-04 客户端、服务器和事件类型确定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410136208.6A CN103957193A (zh) 2014-04-04 2014-04-04 客户端、服务器和事件类型确定方法

Publications (1)

Publication Number Publication Date
CN103957193A true CN103957193A (zh) 2014-07-30

Family

ID=51334419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410136208.6A Pending CN103957193A (zh) 2014-04-04 2014-04-04 客户端、服务器和事件类型确定方法

Country Status (1)

Country Link
CN (1) CN103957193A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108696713A (zh) * 2018-04-27 2018-10-23 苏州科达科技股份有限公司 码流的安全测试方法、装置及测试设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801030A (zh) * 2004-12-31 2006-07-12 福建东方微点信息安全有限责任公司 一种区分有害程序行为的方法
CN101010919A (zh) * 2004-09-09 2007-08-01 诺基亚公司 对事件在多个设备处的同时发生的检测
CN101154253A (zh) * 2006-09-26 2008-04-02 北京软通科技有限责任公司 计算机安全防护方法及计算机安全防护工具
CN103312679A (zh) * 2012-03-15 2013-09-18 北京启明星辰信息技术股份有限公司 高级持续威胁的检测方法和系统
CN103501300A (zh) * 2013-09-30 2014-01-08 华为技术有限公司 网络钓鱼攻击的检测方法、终端及服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101010919A (zh) * 2004-09-09 2007-08-01 诺基亚公司 对事件在多个设备处的同时发生的检测
CN1801030A (zh) * 2004-12-31 2006-07-12 福建东方微点信息安全有限责任公司 一种区分有害程序行为的方法
CN101154253A (zh) * 2006-09-26 2008-04-02 北京软通科技有限责任公司 计算机安全防护方法及计算机安全防护工具
CN103312679A (zh) * 2012-03-15 2013-09-18 北京启明星辰信息技术股份有限公司 高级持续威胁的检测方法和系统
CN103501300A (zh) * 2013-09-30 2014-01-08 华为技术有限公司 网络钓鱼攻击的检测方法、终端及服务器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108696713A (zh) * 2018-04-27 2018-10-23 苏州科达科技股份有限公司 码流的安全测试方法、装置及测试设备

Similar Documents

Publication Publication Date Title
CN105900466B (zh) 消息处理方法及装置
US20160241589A1 (en) Method and apparatus for identifying malicious website
CN104796275A (zh) 异常状态处理方法、系统及装置
CN105323144A (zh) 即时通讯中消息异常提示方法和系统
CN107346397B (zh) 信息处理方法及相关产品
CN111368290A (zh) 一种数据异常检测方法、装置及终端设备
CN106506820B (zh) 一种移动终端数据的备份方法及装置
CN104992096A (zh) 一种数据保护方法及移动终端
CN104683301B (zh) 一种密码保存的方法及装置
CN104852885A (zh) 一种进行验证码验证的方法、装置和系统
CN104346560A (zh) 一种安全验证方法及装置
CN108270757B (zh) 一种用户账户切换方法、装置、客户端以及系统
CN106412311A (zh) 一种数据传输方法及终端设备
CN107743108B (zh) 一种介质访问控制地址识别方法及装置
CN110826319A (zh) 应用信息的处理方法及终端设备
CN106681860A (zh) 一种数据备份方法及数据备份装置
CN106255102A (zh) 一种终端设备的鉴定方法及相关设备
CN109086595B (zh) 一种业务账号切换方法、系统、装置及服务器
CN114157584A (zh) 云手机监控方法、装置、电子设备和存储介质
CN113034189A (zh) 归因方法、装置、计算机设备和存储介质
CN106385415B (zh) 一种信息安全控制方法、装置及终端
CN106776847B (zh) 删除媒体文件的方法、装置及移动终端
CN105373715A (zh) 一种基于可穿戴设备的数据访问方法及装置
CN110225106B (zh) 一种数据传输方法、装置及存储介质
CN106851595A (zh) 有序广播处理方法、装置和终端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140730

RJ01 Rejection of invention patent application after publication