信息拦截方法、装置、计算机设备和存储介质与流程

文档序号:22685354发布日期:2020-10-28 12:51阅读:217来源:国知局
信息拦截方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种信息拦截方法、装置、计算机设备和存储介质。



背景技术:

在平时的工作或生活中,通常会接收到发件方发送的电子邮件,而在接收的电子邮件中,时常有来自恶意发送方发送的具有风险的电子邮件,如诈骗邮件和病毒邮件等。为了解决上述问题,传统的方案中通常是对各发送方的行为数据和来自于该发送方的历史信息进行检测,从而判断出该发送方发送的电子邮件是否具有风险,以决定是否拦截该发送方发送的电子邮件。然而,采用上述邮件拦截方式来拦截发送方发送的电子邮件,准确率较低。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高邮件拦截的准确率的信息拦截方法、装置、计算机设备和存储介质。

一种信息拦截方法,所述方法包括:

获取至少两个发件方的发件信息;所述发件方包括电子邮件发送方;

根据所述发件信息确定以所述发件方为节点的节点关系图;

在对所述节点关系图中的节点划分社区后,获取所述社区中各节点对应的发件方的评估信息;

依据所述评估信息对所述社区中相应的节点划分风险类型,得到风险社区;

当所述风险社区中各节点对应的发件方发送电子邮件时,对发送的所述电子邮件进行拦截。

一种信息拦截装置,所述装置包括:

第一获取模块,用于获取至少两个发件方的发件信息;所述发件方包括电子邮件发送方;

确定模块,用于根据所述发件信息确定以所述发件方为节点的节点关系图;

第二获取模块,用于在对所述节点关系图中的节点划分社区后,获取所述社区中各节点对应的发件方的评估信息;

划分模块,用于依据所述评估信息对所述社区中相应的节点划分风险类型,得到风险社区;

拦截模块,用于当所述风险社区中各节点对应的发件方发送电子邮件时,对发送的所述电子邮件进行拦截。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取至少两个发件方的发件信息;所述发件方包括电子邮件发送方;

根据所述发件信息确定以所述发件方为节点的节点关系图;

在对所述节点关系图中的节点划分社区后,获取所述社区中各节点对应的发件方的评估信息;

依据所述评估信息对所述社区中相应的节点划分风险类型,得到风险社区;

当所述风险社区中各节点对应的发件方发送电子邮件时,对发送的所述电子邮件进行拦截。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取至少两个发件方的发件信息;所述发件方包括电子邮件发送方;

根据所述发件信息确定以所述发件方为节点的节点关系图;

在对所述节点关系图中的节点划分社区后,获取所述社区中各节点对应的发件方的评估信息;

依据所述评估信息对所述社区中相应的节点划分风险类型,得到风险社区;

当所述风险社区中各节点对应的发件方发送电子邮件时,对发送的所述电子邮件进行拦截。

上述信息拦截方法、装置、计算机设备和存储介质,通过邮件发送方的发件信息确定以发件方为节点的节点关系图,并对节点关系图中的节点划分社区,从而得到包含不同社区的节点关系图。获取社区中各节点对应的发件方的评估信息,依据评估信息对社区中相应的节点划分风险类型,得到所有具有风险节点的风险社区,从而当风险社区中各节点对应的发件方发送电子邮件时,对发送的电子邮件进行拦截,可以有效地提高邮件拦截的准确率。

附图说明

图1为一个实施例中信息拦截方法的应用环境图;

图2为一个实施例中信息拦截方法的流程示意图;

图3为一个实施例中环状结构和星状结构的节点关系图;

图4为一个实施例中划分社区后的节点关系图;

图5为一个实施例中将安全节点从风险社区中排除的示意图;

图6为一个实施例中将风险节点从安全社区中划入风险社区的示意图;

图7为另一个实施例中信息拦截方法的流程示意图;

图8为另一个实施例中划分社区的步骤的流程示意图;

图9为另一个实施例中信息拦截方法的流程示意图;

图10为一个实施例中识别恶意社区的步骤的流程示意图;

图11为一个实施例中将异常节点从恶意社区中排除的流程示意图;

图12为一个实施例中信息拦截装置的结构框图;

图13为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一画像数据称为第二画像数据,且类似地,可将第二画像数据称为第一画像数据。

人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

其中,自然语言处理(naturelanguageprocessing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。例如,利用自然语言处理技术对发件方发送电子邮件时所采用的域名进行语义识别,从而可以得知该域名是否具有较强的语意,如域名www.tencent.com中的tencent表示腾讯,具有较强的语意。

随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。

本申请实施例提供的方案涉及人工智能的自然语言处理等技术,具体通过如下实施例进行说明:

图1为一个实施例中提供的信息拦截方法的应用环境图,如图1所示,在该应用环境中,包括终端102、服务器104和终端106。服务器104可以获取发件方的发件信息和评估信息,如获取发件方的ip(internetprotocol,互联网协议)地址和行为数据,以执行本申请实施例提供的方法,得到具有风险社区(该风险社区是以具有风险的发件方为节点所构成的集合,也即恶意社区),从而对来自于该风险社区的发件方的电子邮件、手机短信或通过互联网发送的即时通信消息进行拦截,从而提高垃圾信息的拦截效率,避免用户接收大量的垃圾信息。

本申请实施提供的方法可以用于对恶意发送方进行安全检测,从而对恶意发送方发送的邮件进行拦截。该恶意发送方是指恶意向广大用户发送具有风险的邮件,如发送具有病毒的邮件或欺诈广告的邮件等。

服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和cdn等基础云计算服务的云服务器。

终端102和终端106可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。其中,终端102可以是发送方,或发送方所采用的设备。终端106可以是接收终端102发送的电子邮件的设备,例如终端106接收来自于终端102的邮件。需要指出的是,若终端102被识别为恶意发送方的终端时,其发送的邮件将会被服务器104拦截,从而终端106将不会接收到该终端102发送的邮件;或者,若终端102被识别为恶意发送方的终端时,其发送的邮件将会被终端106的后台进行拦截,从而该邮件不会显示于终端106的前端,或者该邮件将会被存放于“垃圾邮件”或“垃圾箱”中。

终端102、服务器104和终端106之间可以通过蓝牙、usb(universalserialbus,通用串行总线)或者网络等通讯连接方式进行连接,本申请在此不做限制。

在一个实施例中,如图2所示,提供了一种信息拦截方法,该方法可以由图1中的服务器或终端执行,或由终端与服务器共同执行。以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:

s202,获取至少两个发件方的发件信息。

其中,发件方可以包括电子邮件发送方(即发送电子邮件的用户),此外,还可以包括通过移动通信话务网向普通群众发送短信的用户,或通过网络社交应用发送消息的用户。在实际应用中,该发件方可以用发件方域名、ip地址、邮箱账号和ip地址的归属机构中的任一种来指代。上述的发件方域名可以是发件方发送电子邮件或其它信息时所采用的域名。

发件信息可以是发件方信息和发件方历史发送的信息。发件方信息包括但不限于发件方的域名、ip地址、dns(domainnamesystem,域名系统)解析域名时所得的a(address)记录和移动通信号(如手机号或固话号)。发件方历史发送的信息包括但不限于:通过移动通信话务网发送的短信(如手机短信)和通过网络社交应用发送的消息。其中,通过网络社交应用发送的消息可以是:通过电子邮箱发送的电子邮件,或通过其它即时通信应用发送的消息(如微信消息)。同一个发件方的发件信息可以包括一个或多个信息,如包括发件方的ip地址以及所发送的邮件。

在一个实施例中,服务器获取各发件方的标识,根据该标识从信息库中获取发件方的发件信息;服务器获取发件方的类型标识,根据该类型标识从信息库中获取对应类型的发件信息。例如,该类型标识可以指发件数量达到预设阈值的发件方的统一标识。

在一个实施例中,服务器在获取到发件方的发件信息时,确定各发件方信息之间的共现关系,以便在构建节点关系图时,根据该共现关系确定连接以发件方为节点之间的边。

其中,节点之间的边可以指节点之间的连线。两个发件方的发件信息之间可以存在共现关系,该共现关系可用于表示发件信息之间同时出现相同的内容。例如,若两个发件方的ip地址相同,或两个发件方的域名(即发件方域名)相同,则可以表示两个发件方的发件信息存在共现关系。

s204,根据发件信息确定以发件方为节点的节点关系图。

其中,上述节点可以指图形化的发件方,即对发件方进行图形化得到节点。该节点可以用一个圆点、小圆圈或其它形式来呈现,也就是说,一个节点可以表示一个发件方。节点关系图可以是利用边对节点进行连接的图形,每条边可以具有连接度(也即权重),用来表示节点之间的紧密度。由于两个发件方的发件信息之间存在共现关系,因此两个发件方的发件信息之间可以对应有共现数量(即共现次数),根据共现数量可以得到节点之间的边所对应的连接度。

对于两个节点之间的边的连接度,其值越大,表示该两个节点之间越紧密,被划分在同一社区的概率越大;反之,其值越小,表示该两个节点之间越稀疏,被划分在同一社区的概率越小。特别地,当连接度为零时,表示两节点之间不存在边。

对于s204,构建节点关系图的方式可以包括:采用共现关系构建节点关系图,或采用基于内容聚类的簇标识构建节点关系图,具体构建方式如下:

方式1,采用共现关系构建节点关系图。

在一个实施例中,s204具体可以包括:服务器依据每个发件信息之间的共现数量确定节点之间的边所对应的连接度;根据节点和具有连接度的边构建节点关系图。

具体地,服务器判断各发件信息之间是否存在共现关系,若存在,则计算各发件信息之间的共现数量,根据该共现数量确定对应节点之间的边所对应的连接度。

例如,对于发件方a和发件方b,对应的发件信息分别为发件信息a和发件信息b,服务器可以判断发件信息a和发件信息b中的ip地址是否共现;以及,发件信息a和发件信息b中的主题文本是否共现,如两个主题文本是否相同,或两个主题文本中是否存在相同的关键词,或两个主题文本所表达的语意是否相同;此外,发件信息a和发件信息b中由dns解析的a记录是否共现,如发件信息a和发件信息b中由dns解析出的出口ip地址,是否指向了同一个ip地址,若是,则域名所有者为同一个用户或机构等等。若上述发件信息a和发件信息b中的元素均共现,则发件信息a和发件信息b的共现数量为3。服务器可以将该共现数量作为对应节点之间的边所对应的连接度。

方式2,采用基于内容聚类的簇标识构建节点关系图。

在一个实施例中,发件信息包括邮件的主题文本和正文文本。s204具体可以包括:服务器聚类主题文本,得到基于主题文本聚类的第一簇标识;对正文文本进行聚类,得到基于正文文本聚类的第二簇标识;将发件方转换为图形化的节点;对于第一簇标识和第二簇标识的至少一种,将相同簇标识对应的节点之间连接边,得到节点关系图。

其中,主题文本可以指发件方发送的电子邮件中所包含的主题内容,如邮件发送方发送的邮件主题内容。正文文本可以指发件方发送的电子邮件中所包含的正文内容。簇标识也即出入这个社区(也可称为簇)的信息标识,例如,簇标识即第一封出入这个社区的邮件的标识。对应地,第一簇标识即为邮件中主题文本的标识,第二簇标识即为邮件中正文文本的标识。

具体地,服务器聚类主题文本的步骤,具体可以包括:将各个相同的主题文本划分到同一类,或将各主题文本之间存在相同关键词或关键语句的主题文本划分到同一类,从而得到该类的标识(即上述的第一簇标识)。同理,服务器聚类正文文本的步骤,具体可以包括:将各个相同的正文文本划分到同一类,或将各正文文本之间存在相同关键词或关键语句的正文文本划分到同一类,从而得到该类的标识(即上述的第二簇标识)。

此外,上述对于第一簇标识和第二簇标识的至少一种,服务器将相同簇标识对应的节点之间连接边,得到节点关系图的步骤,具体可以包括:服务器将第一簇标识中相同簇标识对应的节点之间连接边,得到节点关系图;或者,服务器将第二簇标识中相同簇标识对应的节点之间连接边,得到节点关系图;或者,服务器分别将第一簇标识和第二簇标识中相同簇标识对应的节点之间连接边,得到节点关系图。

在一个实施例中,该方法还包括:服务器根据第一簇标识中的相同簇标识或第二簇标识中的相同簇标识,确定同组节点;在节点关系图中,对同组节点之间添加用于连接节点的边。其中,同组节点可以指具有相同簇标识的一类节点。

具体地,服务器可以对同组节点之间随机添加用于连接节点的边,并在添加边之后,还可以为添加的边设置连接度,也即设置边的权重。

在一个实施例中,该节点关系图可以是各节点之间呈星状结构、环状结构或网状结构的关系图。例如,如图3所示,其中,图3(a)为环状结构的节点关系图,图3(b)为星状结构的节点关系图。需要指出的是,不同结构的节点关系图,可适用于不同的应用场景。举例来说,星状结构的节点关系图适合于对准确率要求不是特别苛刻的场景,偏好于更高覆盖率的情况。环状结构的节点关系图适合于对准确率要求苛刻的场景,以便尽可能地将所有具有风险的节点都划入风险社区。

s206,在对节点关系图中的节点划分社区后,获取社区中各节点对应的发件方的评估信息。

其中,社区可以指节点关系图中由多个节点组合而成的节点集合,可以用来表示节点关系图中节点对应的发件方的局部性特征(包括个体行为特征)之间的关联关系,以及发件方相互之间的关联关系,例如在同一社区中节点对应的发件方发送电子邮件的频率、邮件主题和内容相同或相近,或者发件方之间所使用的域名或ip地址相同等。评估信息可以指用来对发件方进行评估和分类的信息,包括但不限于:发件方的行为数据、第一画像数据、信誉评价数据和对发送方发送的电子邮件进行聚类所得的聚类数据。

该行为数据可以是发件方执行相应行为时所产生的数据,或者在执行该行为时,该行为的接收方对该发件方进行反馈的数据。例如,该行为数据为发送方发送的电子邮件是否被点击、是否被举报或被删除的信息。

该第一画像数据可以是发件方的标签数据,如通过发件方域名长期所发送的电子邮件的类型(如工作类型、生活购物类型和广告类型),发件方域名是否被用户举报等数据,又例如发件方的ip地址或邮箱账号是否被举报等数据。

该信誉评价数据可以是用户对发件方的信誉进行评分或文字评价的数据,如xx企业是一家良心企业,或xx企业的评分为4.9(这里假设总分为5分)。

该聚类数据可以指对发送方发送的电子邮件进行聚类后,得到关于所发送的信息的标签数据,用于表示发送方发送的电子邮件是否为广告(如诈骗广告),或该信息是否具有威胁(如包含病毒或木马程序)。

在一个实施例中,服务器可以采用目标社区发现算法(fastunfoldingwithdensity)对节点关系图中的节点划分社区。

在一个实施例中,服务器依次获取所划分的社区中各节点对应的发件方的评估行为数据、第一画像数据、信誉评价数据和对发送方发送的电子邮件进行聚类所得的聚类数据,然后对所获取的这些数据进行汇总,从而得到评估数据。

在一个实施例中,节点关系图中的边具有连接度;连接度是根据每个发件信息之间的共现数量所确定的,用于表示节点间的紧密度。对于社区的划分方式,具体可以包括:服务器根据连接度对节点关系图中的节点划分社区。例如,在节点关系图中,服务器将连接度处于预设范围内的节点划分到同一个社区。处于同一社区的节点,所对应的发件方之间的行为相同或相似。例如,如图4所示,该节点关系图中具有三个社区,即社区a、社区b和社区c;在该图中,社区内部的边为实线边,社区之间的便为虚线边。

s208,依据评估信息对社区中相应的节点划分风险类型,得到风险社区。

其中,风险类型可以指各节点对应的发送方所表现的风险类别,如发送诈骗广告的发送方,对应的节点的风险类型为诈骗类型;又例如,发送具有病毒或木马邮件的发送方,对应的节点的风险类型为病毒类型。风险社区可以指在节点关系图中划分的、且由上述风险类型的节点所构成的社区。特别地,当发送方经常发送的电子邮件是无任何风险时,则对应的节点属于安全类型。

在一个实施例中,s208具体可以包括:服务器可以通过分类模型对评估数据进行分类处理,得到社区中相应的节点的风险类型;将风险类型和评估数据输入逻辑回归模型进行回归处理,得到社区中相应的节点属于风险类型的概率;当概率达到预设概率时,将属于风险类型的节点所在的社区确定为风险社区。

其中,该分类模型可以是xgboost(extremegradientboosting,极端梯度提升)模型,或支持向量机,或其它用于分类的机器学习模型。风险社区是指社区中的节点所对应的发送方具有风险,如该发送方为恶意发送诈骗广告的用户。

具体地,服务器将发件方的行为数据、第一画像数据、信誉评价数据和对发送方发送的电子邮件进行聚类所得的聚类数据输入至分类模型,通过该分类模型进行分类处理,得到社区中相应的节点的风险类型。其中,上述发件方是指社区中的节点对应的发送方。在获得风险类型之后,将风险类型以及发件方的行为数据、第一画像数据、信誉评价数据和聚类数据一并输入逻辑回归模型,通过该逻辑回归模型进行回归分析,得到社区中相应的节点属于风险类型的概率。

在一个实施例中,服务器分别对每个发件方的评估信息提取评估特征;对于每个发件方,将提取的评估特征输入节点过滤模型得到安全节点;当风险社区中包含有安全节点时,将安全节点从风险社区中排除。

其中,节点过滤模型可以是设置了过滤规则的模型,例如将安全节点从所有节点中过滤出来,从而将安全节点和风险节点区分开。

在一个实施例中,服务器通过节点筛选模块对提取的评估特征进行处理,得到安全节点以及风险节点;当风险社区中包含有安全节点时,将安全节点从风险社区中排除;当风险社区中未包含有风险节点时,将该风险节点加入到对应的风险社区,如加入相邻节点所在的风险社区。

例如,如图5所示,若图5(a)中的节点a被评估为安全节点,而且该节点落入风险社区中,此时将该节点a从风险社区中排除出去,如图5(b)所示。又例如,如图6所示,若图6(a)中的节点x被评估为风险节点,而且该节点x并未落入风险社区中,此时将该节点x划入相邻节点y所在的风险社区,如图6(b)所示。

在一个实施例中,发件信息包括发件方域名。该方法还包括:服务器对发件方域名进行语义识别,得到语义信息;当发件方域名中第一目标域名的语义信息满足预设语义条件时,则将第一目标域名对应的节点从风险社区中排除。

例如,利用语言模型对发件方发送电子邮件时所采用的域名进行语义识别,从而可以得知该域名是否具有较强的语意,如域名www.tencent.com中的tencent表示腾讯,具有较强的语意,从而确定该域名对应的节点不具风险,可以将该域名对应的节点从风险社区中排除,可以参考图6。

在一个实施例中,该方法还包括:服务器获取发件方域名的第二画像数据;根据第二画像数据,判断发件方域名中第二目标域名的信誉是否满足预设信誉条件;若是,则将第二目标域名对应的节点从风险社区中排除,得到最终的风险社区,可以参考图6。

其中,第二画像数据可以是发件方域名的标签数据,如发件方域名长期发送电子邮件的类型,发件方域名是否被用户举报等数据。

s210,当风险社区中各节点对应的发件方发送电子邮件时,对发送的电子邮件进行拦截。

发件方可以包括发送电子邮件的用户,当确定风险社区中各节点对应的发送方发送电子邮件时,服务器可以对该发送方发送的电子邮件进行拦截。此外,发件方还可以包括发送手机短信或网络社交的即时通信消息的用户。因此,当确定风险社区中各节点对应的发送方发送手机短信或即时通信消息时,服务器可以对该发送方发送的手机短信或即时通信消息进行拦截。需要指出的是,服务器拦截来自于风险社区的电子邮件、手机短信或即时通信消息等信息之后,可以不向接收方转发该信息,或者对该信息进行风险类型标记以提示接收方,然后向接收方转发。

在一个实施例中,s210具体可以包括:当风险社区中各节点对应的发件方发送电子邮件时,服务器对电子邮件的主题文本、正文文本和附件内容中的至少一种进行安全检测,得到检测结果;当检测结果表示电子邮件为具有风险的邮件时,对该电子邮件进行拦截。此外,当检测结果表示电子邮件为安全邮件时,则不对该电子邮件进行拦截。其中,该正文文本可以包括通常的文字内容和网络链接。附件内容可以指电子邮件的附件中的文本内容。

具体地,服务器可以对该电子邮件的主题文本、正文文本和附件内容进行安全检测,如检测主题文本和正文文本中是否存在敏感词或敏感句子,以及检测正文文本中的网络链接是否为高危链接,或该网络链接所指向的网页是否存在安全隐患,得到检测结果;当检测结果表示该电子邮件中包含诈骗广告、具有病毒或木马程序以及具有其它风险类型中的任一种时,表示该电子邮件具有风险,则对该电子邮件进行拦截;若该电子邮件是安全邮件时,则可以不拦截该电子邮件,或者添加一个标识,用于表示该电子邮件来自于风险社区,可能存在安全隐患。

为了使本领域技术人员更加清楚、直观地了解本申请的内容,可以参考图7所示,服务器根据发件方的发件信息构建节点关系图,然后对节点关系图中的节点划分社区,并利用发件方的评估信息对节点进行风险类型评估,得到对应的风险社区;当接收到来自于风险社区的电子邮件时,对该电子邮件进行拦截;而当接收到来自于安全社区的电子邮件时,不会对该电子邮件进行拦截,将该电子邮件转发至接收方。

上述实施例中,通过邮件发送方的发件信息确定以发件方为节点的节点关系图,并对节点关系图中的节点划分社区,从而得到包含不同社区的节点关系图。获取社区中各节点对应的发件方的评估信息,依据评估信息对社区中相应的节点划分风险类型,得到所有具有风险节点的风险社区,从而当风险社区中各节点对应的发件方发送电子邮件时,对发送的电子邮件进行拦截,可以有效地提高信息拦截的准确率。

在一个实施例中,可以采用fastunfoldingwithdensity算法划分社区,如图8所示,划分社区的具体步骤可以包括:

s802,将每个节点预划分到不同社区。

s804,将预划分至不同社区的节点划分到相邻节点所在的社区,得到模块度。

其中,模块度可用于衡量社区内部边相对于社区外部边连接的紧密度,可以表示社区划分的质量,因此可以通过模块度最大化判断是否将一个节点划分进当前社区。

具体地,服务器将预划分至不同社区的节点划分到相邻节点所在的社区,并计算模块度,模块度的计算式如下所示:

其中m为整个网络中边的数量,mc和ec分别表示社区c的内部边和外部边的数量,该外部边即为社区c内的节点与社区c的外部节点所连的边。pc为社区c内部边的强度,该强度pc=2mc/[nc(nc-1)],nc为社区c内节点的数量;pcc′为惩罚项,该惩罚项pcc′=mcc′/ncnc′,mcc′为社区c和社区c′之间的边数量,nc′为社区c′内节点的数量。当社区c内的节点较少,而与其它社区有较多边连接时,惩罚项pcc′的值就会比较大,为了得到更大qds,就会避免划分过小的社区。

s806,依据模块度确定是否接受将预划分至不同社区的节点划分到相邻节点所在的社区的步骤,得到最终的社区。

在一个实施例中,当模块度不小于预设阈值时,服务器则接受将预划分至不同社区的节点划分到相邻节点所在的社区的步骤;当模块度小于预设阈值时,服务器则拒绝接受将预划分至不同社区的节点划分到相邻节点所在的社区的步骤。其中,该预设阈值可以是大于或等于0的数。

上述实施例中,通过上述社区发现算法对节点关系图中的节点划分社区,从而可以发现较小的社区,避免导致形成的社区过大或过小的问题。

作为一个示例,在电子邮件的应用场景中,可以通过实体(即发件方,可用ip地址、域名或发件账号表示该实体)间的各种行为、内容数据来描绘实体之间的共现关系,构建实体之间的关系图(即上述的节点关系图),该关系图中以节点表示实体,以节点之间的边表示实体间的共现关系。再通过fastunfoldingwithdensity算法将关联紧密的实体聚类到同一个社区,在得到社区后,将社区实体的所有行为数据聚合后通过xgboost+逻辑回归模型+专家策略进行恶意社区的识别,批量发现恶意实体。识别恶意实体的流程如图9所示,主要包括以下六个步骤:

(1)关系抽取

在构建关系图之前,确定节点之间的共现关系以便对节点进行连接。以黑域名聚类为例,关系图的节点为域名,可以根据域名之间各种强关联属性下的共现关系连接节点的边。其中,连接节点的边具有权重,该权重可以是共现次数。

对于两个节点,可以判断发邮件时的ip地址是否共现,所发邮件的主题是否共现,dns解析的a记录是否共现以及所发发信的正文内容是否相同等等,从而可以得到共现次数。

此外,除了利用上述方式创建连接节点的边,还可以在其它模型的基础上建边,如基于邮件正文聚类的簇标识(id),以及基于邮件主题聚类的簇id等等来创建连接节点的边。

(2)构建关系图

由于节点是通过相同的属性关联起来的,需要在节点间构造边来连接不同的节点。给定一组节点,构造边的方式可以有多种,主要有:星状构边和环状构边。

不同的构造边方式可适用于不同的场景。以域名的聚类而言,为了保证准确率,需要尽可能地避免将好的域名或ip地址划分进恶意社区内。针对星状构边的方式而言,中间节点的选择是随机的,如果恰好选到好节点a作为中心节点,而其余节点都是恶意节点,由于节点a和所有恶意节点都相连,结合模块度的计算方式,就会有很大概率将节点a划分进恶意社区。

而如果选择环状构边,节点a只与两个恶意节点相连,如果节点a和其它好节点也有连接,就有较大概率将其“拉出”恶意社区,从而在一定程度上避免误伤。

相比之下,星状构边适用于对准确率要求没有那么苛刻,偏向于更高覆盖率的情况,因为中心节点和所有节点连接紧密,容易将整个小社区带入大社区。

在实际应用过程中,可以通过在同组节点内部随机加入连接节点的边,避免因边稀疏造成的社区难以聚集的问题,从而提高社区的划分效率。

(3)fastunfoldingwithdensity算法聚类

针对恶意社区的划分,如果形成的簇(即社区)过大,误伤的风险也会提高,因此尽可能挖掘小的社区,可以形成更为准确的簇,这里选择使用fastunfoldingwithdensity算法。通过内部机器学习的图计算平台,可以对千万级节点以及亿级边也可以实现较快的社区划分。

(4)簇评价

恶意社区识别的过程如图10所示,首先对聚类好的社区内所有节点对应的行为数据、内容聚类数据、画像数据和信誉评价数据进行汇总,然后将汇总的数据输入xgboost模型,得到分类结果;然后将该分类结果和汇总的数据一并输入逻辑回归模型,得到各分类的概率。该分类结果可以是社区的恶意类型。

此外,为了提高分类的准确性,可以将汇总的数据通过专家定制的过滤规则,以便将误判的节点进行重新归类,从而得到最终的社区的恶意类型。

(5)异常节点排除

为了进一步提高恶意社区识别的准确性,可以通过如图11的方式识别出恶意社区中可能因步骤(2)的感染而导致将一部分非恶意的实体划分进来,从而可以将恶意社区中的异常节点排除,具体步骤如下:对于恶意社区,先通过隐马尔科夫模型对具有较强语意的域名进行排除,然后结合域名的画像数据对信誉比较好的域名从恶意社区中排除,进而得到恶意域名集合(即最终的恶意社区)。

(6)恶意实体应用

对来自于恶意社区中的实体的邮件进行拦截。

通过上述实施例,在发件账号、ip地址和域名等维度,对恶意社区和恶意实体识别覆盖率从68%提升到98.7%,大大提高了对恶意实体识别和打击的覆盖率。

应该理解的是,虽然图2、8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图12所示,提供了一种信息拦截装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:第一获取模块1202、确定模块1204、第二获取模块1206、划分模块1208和拦截模块1210,其中:

第一获取模块1202,用于获取至少两个发件方的发件信息;该发件方包括电子邮件发送方;

确定模块1204,用于根据所述发件信息确定以所述发件方为节点的节点关系图;

第二获取模块1206,用于在对所述节点关系图中的节点划分社区后,获取所述社区中各节点对应的发件方的评估信息;

划分模块1208,用于依据所述评估信息对所述社区中相应的节点划分风险类型,得到风险社区;

拦截模块1210,用于当所述风险社区中各节点对应的发件方发送电子邮件时,对发送的所述电子邮件进行拦截。

在一个实施例中,所述确定模块还用于:依据每个所述发件信息之间的共现数量确定节点之间的边所对应的连接度;所述节点是图形化的所述发件方,所述连接度用于表示节点之间的紧密度;根据所述节点和具有所述连接度的边构建节点关系图。

在一个实施例中,所述发件信息包括邮件的主题文本和正文文本;所述确定模块还用于:聚类所述主题文本,得到基于所述主题文本聚类的第一簇标识;对所述正文文本进行聚类,得到基于所述正文文本聚类的第二簇标识;将所述发件方转换为图形化的节点;对于所述第一簇标识和所述第二簇标识的至少一种,将相同簇标识对应的节点之间连接边,得到节点关系图。

在一个实施例中,所述该装置还包括:添加模块;其中:

所述确定模块还用于根据所述第一簇标识中的相同簇标识或所述第二簇标识中的相同簇标识,确定同组节点;

添加模块,用于在所述节点关系图中,对所述同组节点之间添加用于连接节点的边。

在一个实施例中,所述节点关系图中的边具有连接度;所述连接度是根据每个所述发件信息之间的共现数量所确定的,用于表示节点间的紧密度;

划分模块还用于根据所述连接度对所述节点关系图中的节点划分社区。

在一个实施例中,划分模块还用于:通过分类模型对所述评估数据进行分类处理,得到所述社区中相应的节点的风险类型;将所述风险类型和所述评估数据输入逻辑回归模型进行回归处理,得到所述社区中相应的节点属于所述风险类型的概率;当所述概率达到预设概率时,将属于所述风险类型的节点所在的社区确定为风险社区。

在一个实施例中,所述评估信息包括以下至少之一:所述发件方的行为数据、第一画像数据、信誉评价数据和对所述发送方发送的电子邮件进行聚类所得的聚类数据。

在一个实施例中,该装置还包括:提取模块、输入模块和排除模块;其中:

提取模块,用于分别对每个所述发件方的评估信息提取评估特征;

输入模块,用于对于每个所述发件方,将提取的评估特征输入节点过滤模型得到安全节点;

排除模块,用于当所述风险社区中包含有所述安全节点时,将所述安全节点从所述风险社区中排除。

在一个实施例中,所述发件信息包括发件方域名;该装置还包括:识别模块;其中:

识别模块,用于对所述发件方域名进行语义识别,得到语义信息;

排除模块还用于当所述发件方域名中第一目标域名的语义信息满足预设语义条件时,则将所述第一目标域名对应的节点从所述风险社区中排除。

在一个实施例中,该装置还包括:判断模块;其中:

第二获取模块还用于获取所述发件方域名的第二画像数据;

判断模块,用于根据所述第二画像数据,判断所述发件方域名中第二目标域名的信誉是否满足预设信誉条件;

排除模块还用于若满足预设信誉条件,则将所述第二目标域名对应的节点从所述风险社区中排除,得到最终的风险社区。

在一个实施例中,拦截模块还用于当风险社区中各节点对应的发件方发送电子邮件时,对电子邮件的主题文本、正文文本和附件内容中的至少一种进行安全检测,得到检测结果;当检测结果表示电子邮件为具有风险的邮件时,对电子邮件进行拦截。

上述实施例中,通过邮件发送方的发件信息确定以发件方为节点的节点关系图,并对节点关系图中的节点划分社区,从而得到包含不同社区的节点关系图。获取社区中各节点对应的发件方的评估信息,依据评估信息对社区中相应的节点划分风险类型,得到所有具有风险节点的风险社区,从而当风险社区中各节点对应的发件方发送电子邮件时,对发送的电子邮件进行拦截,可以有效地提高信息拦截的准确率。

在一个实施例中,划分模块还用于将每个所述节点预划分到不同社区;将划分至所述不同社区的节点划分到相邻节点所在的社区,得到模块度;依据所述模块度确定是否接受执行所述将划分至所述不同社区的节点划分到相邻节点所在的社区的步骤,得到最终的社区。

关于信息拦截装置的具体限定可以参见上文中对于信息拦截方法的限定,在此不再赘述。上述信息拦截装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端或服务器,以计算机设备为服务器为例,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储发件方的发件信息、评估信息以及节点关系图。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种信息拦截方法。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时执行以下步骤:获取至少两个发件方的发件信息;该发件方包括电子邮件发送方;根据发件信息确定以发件方为节点的节点关系图;在对节点关系图中的节点划分社区后,获取社区中各节点对应的发件方的评估信息;依据评估信息对社区中相应的节点划分风险类型,得到风险社区;当风险社区中各节点对应的发件方发送电子邮件时,对发送的电子邮件进行拦截。

在一个实施例中,计算机程序被处理器执行根据发件信息确定以发件方为节点的节点关系图的步骤时,使得处理器具体执行以下步骤:依据每个发件信息之间的共现数量确定节点之间的边所对应的连接度;节点是图形化的发件方,连接度用于表示节点之间的紧密度;根据节点和具有连接度的边构建节点关系图。

在一个实施例中,发件信息包括邮件的主题文本和正文文本;计算机程序被处理器执行根据发件信息确定以发件方为节点的节点关系图的步骤时,使得处理器具体执行以下步骤:聚类主题文本,得到基于主题文本聚类的第一簇标识;对正文文本进行聚类,得到基于正文文本聚类的第二簇标识;将发件方转换为图形化的节点;对于第一簇标识和第二簇标识的至少一种,将相同簇标识对应的节点之间连接边,得到节点关系图。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:根据第一簇标识中的相同簇标识或第二簇标识中的相同簇标识,确定同组节点;在节点关系图中,对同组节点之间添加用于连接节点的边。

在一个实施例中,节点关系图中的边具有连接度;连接度是根据每个发件信息之间的共现数量所确定的,用于表示节点间的紧密度;计算机程序被处理器执行对节点关系图中的节点划分社区的步骤时,使得处理器具体执行以下步骤:根据连接度对节点关系图中的节点划分社区。

在一个实施例中,计算机程序被处理器执行对节点关系图中的节点划分社区的步骤时,使得处理器具体执行以下步骤:将每个节点预划分到不同社区;将预划分至不同社区的节点划分到相邻节点所在的社区,得到模块度;依据模块度确定是否接受将预划分至不同社区的节点划分到相邻节点所在的社区的步骤,得到最终的社区。

在一个实施例中,计算机程序被处理器执行依据评估信息对社区中相应的节点划分风险类型,得到风险社区的步骤时,使得处理器具体执行以下步骤:通过分类模型对评估数据进行分类处理,得到社区中相应的节点的风险类型;将风险类型和评估数据输入逻辑回归模型进行回归处理,得到社区中相应的节点属于风险类型的概率;当概率达到预设概率时,将属于风险类型的节点所在的社区确定为风险社区。

在一个实施例中,评估信息包括以下至少之一:发件方的行为数据、第一画像数据、信誉评价数据和对发送方发送的电子邮件进行聚类所得的聚类数据。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:分别对每个发件方的评估信息提取评估特征;对于每个发件方,将提取的评估特征输入节点过滤模型得到安全节点;当风险社区中包含有安全节点时,将安全节点从风险社区中排除。

在一个实施例中,发件信息包括发件方域名;计算机程序被处理器执行时,使得处理器还执行以下步骤:对发件方域名进行语义识别,得到语义信息;当发件方域名中第一目标域名的语义信息满足预设语义条件时,则将第一目标域名对应的节点从风险社区中排除。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:获取发件方域名的第二画像数据;根据第二画像数据,判断发件方域名中第二目标域名的信誉是否满足预设信誉条件;若是,则将第二目标域名对应的节点从风险社区中排除,得到最终的风险社区。

在一个实施例中,计算机程序被处理器执行当风险社区中各节点对应的发件方发电子邮件息时,对发送的电子邮件进行拦截的步骤时,使得处理器具体执行以下步骤:当风险社区中各节点对应的发件方发送电子邮件时,对电子邮件的主题文本、正文文本和附件内容中的至少一种进行安全检测,得到检测结果;当检测结果表示电子邮件为具有风险的邮件时,对电子邮件进行拦截。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:获取至少两个发件方的发件信息;该发件方包括电子邮件发送方;根据发件信息确定以发件方为节点的节点关系图;在对节点关系图中的节点划分社区后,获取社区中各节点对应的发件方的评估信息;依据评估信息对社区中相应的节点划分风险类型,得到风险社区;当风险社区中各节点对应的发件方发送电子邮件时,对发送的电子邮件进行拦截。

在一个实施例中,计算机程序被处理器执行根据发件信息确定以发件方为节点的节点关系图的步骤时,使得处理器具体执行以下步骤:依据每个发件信息之间的共现数量确定节点之间的边所对应的连接度;节点是图形化的发件方,连接度用于表示节点之间的紧密度;根据节点和具有连接度的边构建节点关系图。

在一个实施例中,发件信息包括邮件的主题文本和正文文本;计算机程序被处理器执行根据发件信息确定以发件方为节点的节点关系图的步骤时,使得处理器具体执行以下步骤:聚类主题文本,得到基于主题文本聚类的第一簇标识;对正文文本进行聚类,得到基于正文文本聚类的第二簇标识;将发件方转换为图形化的节点;对于第一簇标识和第二簇标识的至少一种,将相同簇标识对应的节点之间连接边,得到节点关系图。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:根据第一簇标识中的相同簇标识或第二簇标识中的相同簇标识,确定同组节点;在节点关系图中,对同组节点之间添加用于连接节点的边。

在一个实施例中,节点关系图中的边具有连接度;连接度是根据每个发件信息之间的共现数量所确定的,用于表示节点间的紧密度;计算机程序被处理器执行对节点关系图中的节点划分社区的步骤时,使得处理器具体执行以下步骤:根据连接度对节点关系图中的节点划分社区。

在一个实施例中,计算机程序被处理器执行对节点关系图中的节点划分社区的步骤时,使得处理器具体执行以下步骤:将每个节点预划分到不同社区;将预划分至不同社区的节点划分到相邻节点所在的社区,得到模块度;依据模块度确定是否接受将预划分至不同社区的节点划分到相邻节点所在的社区的步骤,得到最终的社区。

在一个实施例中,计算机程序被处理器执行依据评估信息对社区中相应的节点划分风险类型,得到风险社区的步骤时,使得处理器具体执行以下步骤:通过分类模型对评估数据进行分类处理,得到社区中相应的节点的风险类型;将风险类型和评估数据输入逻辑回归模型进行回归处理,得到社区中相应的节点属于风险类型的概率;当概率达到预设概率时,将属于风险类型的节点所在的社区确定为风险社区。

在一个实施例中,评估信息包括以下至少之一:发件方的行为数据、第一画像数据、信誉评价数据和对发送方发送的电子邮件进行聚类所得的聚类数据。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:分别对每个发件方的评估信息提取评估特征;对于每个发件方,将提取的评估特征输入节点过滤模型得到安全节点;当风险社区中包含有安全节点时,将安全节点从风险社区中排除。

在一个实施例中,发件信息包括发件方域名;计算机程序被处理器执行时,使得处理器还执行以下步骤:对发件方域名进行语义识别,得到语义信息;当发件方域名中第一目标域名的语义信息满足预设语义条件时,则将第一目标域名对应的节点从风险社区中排除。

在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:获取发件方域名的第二画像数据;根据第二画像数据,判断发件方域名中第二目标域名的信誉是否满足预设信誉条件;若是,则将第二目标域名对应的节点从风险社区中排除,得到最终的风险社区。

在一个实施例中,计算机程序被处理器执行当风险社区中各节点对应的发件方发电子邮件息时,对发送的电子邮件进行拦截的步骤时,使得处理器具体执行以下步骤:当风险社区中各节点对应的发件方发送电子邮件时,对电子邮件的主题文本、正文文本和附件内容中的至少一种进行安全检测,得到检测结果;当检测结果表示电子邮件为具有风险的邮件时,对电子邮件进行拦截。

在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1