电子邮件的隐私保护标记和分类
文献发布时间:2023-06-19 10:22:47
背景技术
不需要的电子邮件和其他电子通信对于电子通信系统的用户来说是一个持续存在的问题。由不需要的电子邮件引起的问题的范围可以从由垃圾和批量电子邮件引起的打扰到由于网络钓鱼攻击和恶意软件导致的严重危害。解决由不需要的通信引起的问题的一个步骤是将不需要的通信与期望的通信区分开。已经使用了许多技术来标识垃圾、批量电子邮件、网络钓鱼电子邮件、包含恶意软件的电子邮件等。然而,由于不良行为者的不懈适配会创建不需要的通信,因此大多数技术仅在有限的时间和有限的场景中有用。
作为一个示例,在企业电子邮件系统上,在维护电子邮件内容的机密性和保护个人可标识信息(“PII”)的同时,有效地标识和控制不需要的通信具有挑战性。在不能“进入查看”电子邮件的情况下阻止垃圾是困难的。在不访问消息的内容的情况下,创建有效地区分期望通信和不期望通信的系统具有挑战性。
相对于这些和其他考虑,提出了本文进行的本公开。
发明内容
本文描述了用于在不使用机密信息或PII的情况下从电子邮件创建已标记的训练数据集的技术。训练数据集与监督式机器学习一起使用,以创建机器学习模型(“MLM”),该模型将电子邮件分类为类别,诸如良好电子邮件、垃圾电子邮件、网络钓鱼电子邮件、批量电子邮件和恶意软件电子邮件。通过使用不包括PII的电子邮件特征之间的关系来为先前未标记电子邮件确定适当标记,该技术能够标记各个电子邮件,而无需访问消息的内容。可能使用的电子邮件消息的一些特征包括元数据和传输数据,如发件人电子邮件地址、发件人电子邮件主机服务器、时间戳、字符编码的类型、电子邮件中所包括的通用资源定位符(“URL”)的散列、以及电子邮件正文的一部分的散列。
初始标记可以来自以下项的白名单或黑名单:电子邮件地址、主机服务器名称、URL等,并且也来自手动标记的电子邮件。用户可以通过评估自己的电子邮件来提供手动标记,以保护隐私。每个电子邮件特征和电子邮件本身都可以与其他相似或相同的特征/电子邮件被分组为簇。术语“实体”是指特定的电子邮件特征以及电子邮件本身,因为任何一个都可以是形成簇的基础,并且被应用于任何一个的标记可以潜在的被映射到另一个。例如,特定发件人的电子邮件地址可以在其自己的簇中,并且被应用于该电子邮件地址的任何标记都将被表示在簇中。类似地,簇可以被形成为:包含与特定标记相关联的多个电子邮件消息,诸如不请自来的批量电子邮件(“UBE”或“垃圾”)。
该技术使用“扩展图”,其基于所聚类的不同类型的实体之间的关系来表示推理逻辑。扩展图是捕获聚类和标记扩展逻辑的逻辑/抽象层。标记扩展逻辑指示何时可以将被应用于一个实体的标记扩展为也应用于另一实体。例如,如果给定的发件人电子邮件地址已被标记为“良好”,那么可以推理来自该发件人的电子邮件是“良好”电子邮件。然而,如果电子邮件被标记为“垃圾”,则不一定意味着发送电子邮件的主机服务器被用于仅供用于垃圾。从扩展图导出的标记可以与置信度水平相关联。置信度水平可以基于初始标记的源、数据点的数目、标记的年龄(age)等。例如,由用户手动应用的标记的置信度可能远高于来自冲突指示的集合(例如一些实例指示批量电子邮件,并且一些实例指示良好电子邮件)的标记的置信度。
在簇中,可能有不同的标记被应用于同一实体。例如,在一些例子中,电子邮件地址可以被标记为良好电子邮件地址,在一些其他例子中则被标记为垃圾的源,而在又一些其他例子中则被标记为与批量电子邮件相关联的地址。单个电子邮件可能来自与垃圾相关联的主机电子邮件服务器,包括被标记为“良好”的发件人电子邮件地址,并且包括被标记为“网络钓鱼”的URL。解决针对簇的这些冲突信号可以由投票系统执行,该投票系统应用投票规则的集合来解决冲突并且确定要附上哪个标记。投票规则可以包括以下规则:诸如消除冲突标记,保持具有较高置信度水平的标记在具有较低置信度水平的标记之上,如果标记没有冲突(例如垃圾标记和恶意软件标记两者)则应用多个标记,使用较新的标记代替较旧的标记,忽略少数标记,以及其他规则。
还可以调整聚类,以最小化在同一簇中具有不同标记的电子邮件的分组。调整簇的一个方式是将簇所基于的“密钥”或特征改变为多个特征的合成。例如,与电子邮件主机服务器的身份相结合的特定URL的散列可一起被用作用于形成簇的基础。使用多个特征的组合来形成簇可以减少假正,特别是在良好电子邮件被错误地标记为垃圾、批量电子邮件等例子中。
标记过程是迭代执行的,因此在给定电子邮件已被标记之后,来自该电子邮件的特征可以被用于调整簇,并且依次将标记应用于其他电子邮件。因此,来自过去标记的结果可以被用作未来标记的基础。标记也可以被设置为在一段时间后到期。例如,如果特定的URL被标记为恶意软件,则如果在一段时间内没有将“恶意软件”标记的任何新实例与URL相关联,则最终可以去除该标记。
一旦将标记应用于足够数目的电子邮件,该电子邮件的集合就可以被用作针对MLM的训练数据集。该标记无需使用任何PII即可被实现,因此适合于企业电子邮件系统或在其中必须维护电子邮件内容的机密性的其他环境。监督式学习的过程可以被用于教导MLM如何在电子邮件的不同类别之间区分,诸如良好电子邮件、垃圾电子邮件、恶意软件电子邮件、批量电子邮件、网络钓鱼电子邮件等。因此,MLM充当分类器,其可以将传入的电子邮件分类为良好电子邮件、垃圾、或其他类别。一旦被标记,就可以根据其标记处理该电子邮件,诸如阻止电子邮件的递送,将电子邮件放置到垃圾箱中,将电子邮件放置到指定文件夹中等。
正确地标识不期望的通信可以节省电子邮件系统中的资源,诸如带宽、存储器、和处理器周期。诸如垃圾等不期望的通信可以被删除,或者永远不会被放置到长期存储装置中,从而减少了存储器消耗。防止一些类型的电子邮件在电子邮件系统内或不同的电子邮件系统之间流通会减少通信带宽的使用。附加地,被标识为包含不期望通信的电子邮件才可以被保持在服务器上,而不下载到本地计算机,被存储而无需自动显示,或仅当系统资源可用时以较低优先级水平被处理,所有这些都可以减少对处理器周期的需求。此外,阻止访问某些类型的不期望的通信(诸如可能包含恶意软件的电子邮件)提高了系统安全性,从而减少了无意地安装恶意软件的机会。
提供该发明内容来以简化的形式介绍对于在下面的详细描述中进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或者必要特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题并不限于解决在本公开的任何部分中提到的任何或全部缺点的实施方式。例如,术语“技术”可以指上述上下文以及整个文档所允许的(多个)系统和/或(多个)方法。
附图说明
参照附图陈述详细描述。在附图中,附图标记的最左边的(多个)数字标识附图标记首次出现的附图。在不同附图中使用相同的附图标记指示相似或相同的项。
图1A至图1E是图示了使用利用训练数据集训练的MLM对电子邮件分类的系统的概略的网络架构图。
图2是示出了用于利用MLM对电子邮件分类的说明性过程的流程图。
图3是示出了用于创建已标记电子邮件的训练数据集的说明性过程的流程图。
图4示出了电子邮件消息的特征。
图5示出了来自电子邮件消息的特征的说明性簇。
图6示出了电子邮件特征的一个说明性簇。
图7示出了针对从电子邮件特征的多个簇导出的未标记电子邮件的标记。
图8示出了为标记投票以应用于电子邮件消息的示例。
图9是针对“良好”类别标记的说明性扩展图。
图10是针对“批量”类别标记的说明性扩展图。
图11是针对“垃圾或网络钓鱼”类别标记的说明性扩展图。
图12是针对“恶意软件”类别标记的说明性扩展图。
图13是能够标记电子邮件以创建训练数据集的说明性计算设备的计算机架构。
图14是用于标记电子邮件以用于包括在训练数据集中以训练MLM的说明性过程的流程图。
图15是用于创建训练数据集以生成MLM的说明性过程的流程图。
具体实施方式
训练数据集提供分别与一个或多个标记相关联的项的多个示例。这些示例用于适配模型(诸如MLM)的参数(例如人工神经网络中的神经元之间的连接的权重)。这也可以被称为利用训练数据集“训练”MLM。MLM是通过训练过程被创建的模型。训练数据包含正确答案(称为目标或目标属性),因此被恰当标记的训练数据集对于创建MLM很重要。学习算法会在训练数据集中找到将输入数据属性映射到目标(预测目的(goal),例如垃圾或非垃圾)的模式,然后输出捕获这些模式的MLM。
将电子邮件标记为垃圾、批量电子邮件、恶意软件等可以由人工标记员容易地执行。人工标记员可以是受雇审查其他人的电子邮件并且指派标记的人员,或者他们可以是通过选择“垃圾”按钮选择阻止发件人来标记自己的电子邮件的电子邮件的收件人,等等。然而,对于标记大量电子邮件,使用自动化标记技术更为有效。在具有对电子邮件的完全访问的情况下,可以使用消息的主题和正文来导出标记。然而,由于机密性或隐私问题,电子邮件消息的内容通常不可用于开发训练数据集。因此,本公开中的技术提供了一种使用元数据和电子邮件消息的其他特征来指派标记而无需访问任何私人信息或PII的方式。PII包括可以独自被使用或与其他信息一起被使用的信息,以标识、联系、或定位单个体,或者以在上下文中标识个体。
在没有第三方评估消息内容的情况下获得针对电子邮件的标记的一种方式是从电子邮件收件人本身接收标记。虽然这保护了机密性,但是已标记电子邮件的数目相对于电子邮件的总容量而言相对较小,标记并不清晰(例如有时人们错误标记他们的电子邮件),标记的粒度可能小于构建稳健模型所期望的粒度。具体地,诸如电子邮件软件所提供的许多自标记系统仅包括“垃圾/垃圾”和“良好”标记。该二进制标记不允许构建可以区分例如垃圾、批量电子邮件、网络钓鱼和恶意软件的多类模型。
使用机器学习来标识不同类型的电子邮件可以提供可伸缩性,而这在利用人工标记的情况下是不实际的。然而,在不具有清晰标记的全面训练数据集的情况下,进行有效的MLM具有挑战性。并且如果由于隐私问题而无法检查电子邮件的内容,则创建训练数据集具有挑战性。
以下公开内容和附图描述了用于通过将标记应用于电子邮件而不暴露PII或机密信息来创建训练数据集的新颖系统和技术。训练数据集然后可以被使用来训练MLM,以用于对电子邮件分类,并且防止垃圾和其他不需要的通信到达用户的收件箱。尽管电子邮件通过本公开被具体引用,但是本文提供的技术和系统同样地适用于其他类型的电子消息或电子通信,诸如即时消息、文本消息、网站帖子或评论、聊天群、留言板、博客帖子、社交网络帖子等。附加地,本公开的技术和系统同样地适用于消息的所有格式,诸如文本、音频、图像、视频或其他格式。
图1A至图1E示出了包括发件人计算设备102的说明性网络架构100,发件人计算设备102是电子邮件104的源。发件人计算设备102可以是任何类型的计算设备,诸如个人计算机、服务器等。发件人计算机设备102可以包括被软件恶意控制的“僵尸”计算机,该软件指导计算机发送电子邮件,而计算机的真实所有者/用户不知道。
电子邮件104(或其他类型的通信)可能是彼此之间具有现存关系的两个个体之间发送的那种“良好”电子邮件。它可能是“垃圾”电子邮件,其是不请自来的电子垃圾并且通常包含某些产品的广告。电子邮件104可能是“网络钓鱼”电子邮件,其是欺诈性电子邮件,虚假地声称自己是已建立的合法企业,企图诓骗用户妥协私人信息,这些私人信息将被用于身份盗窃或其他犯罪的私人信息。“批量”电子邮件是电子邮件104的另一可能性。批量电子邮件是一次发送给大群体的电子邮件。它通常由作为大量电子邮件被发送的广告或营销消息组成。
在一些情况下,对批量电子邮件的处置可能与其他类型的“问题”电子邮件不同,因为收件人可能会潜在地期望使用它。电子邮件104也可以是包含恶意软件或具有到恶意软件的链接的“恶意软件”电子邮件。恶意软件是被故意设计为对计算机、服务器或计算机网络造成损害的任何软件。恶意软件在其以某种方式被植入或被引入目标计算机后会造成损害,并且可以采取可执行代码、脚本、活动内容、和其他软件的形式。
诸如上述类型的不想要的电子邮件是一个问题,不仅因为收件人不期望,而且还因为它可能通过侵占带宽、存储空间和其他网络资源来影响企业系统管理。因此,通过使更多带宽和存储空间可用于合法用途,有效识别和管理不想要的电子邮件可以改善网络功能。
发件人计算设备102可以使用电子邮件托管服务器106来传输传出电子邮件。电子邮件托管服务器106可以操作邮件传送代理,该邮件传送代理路由和递送来自发件人计算设备102的电子邮件。可以在电子邮件托管服务器106上运行的软件的示例包括MICROSOFTEXCHANGE SERVER和POSTFIX。电子邮件托管服务器106在一个或多个网络108(诸如互联网)上路由电子邮件104。
在一些实施方式中,电子邮件网关110可以处理跨一个或多个网络108被传输的电子邮件。电子邮件网关110是电子邮件104在其与收件人的计算机系统联系的第一点。电子邮件服务器112可以单独地或者与电子邮件网关110相结合而被实施。电子邮件服务器112可以为电子邮件收件人的组织或电子邮件服务处理传入和传出电子邮件。
可以在电子邮件网关110和电子邮件服务器112中的一个或两个上实施电子邮件分类器114。电子邮件分类器114将电子邮件104和其他传入电子邮件分类为多个类别中的一个类别。例如,类别可以是二进制的,诸如“良好”或“不良”电子邮件,或者可能存在多于两个电子邮件类别,诸如良好、垃圾、网络钓鱼、批量、和恶意软件。
在机器学习中,分类是这样的问题:基于包含其类别成员已知的观察(或实例)的训练数据集来标识新观察属于类别(子种群)的集合中哪个类别。因此,电子邮件分类器114包括从训练数据集118被创建的MLM 116。分类被认为是监督式学习的实例,即,在其中被正确标识的观察的训练数据集118可用的学习。电子邮件分类器114进行标识电子邮件的类型的工作,使得可以根据其处理电子邮件104。
收件人计算设备120可以最终接收电子邮件104。收件人计算设备120可以是可以接收电子邮件的任何类型的计算设备,诸如个人计算机、智能电话、智能手表、平板计算机、游戏机等。收件人计算设备120可以包括用于电子邮件消息的组织架构(诸如多个文件夹)。说明性文件夹可以包括收件箱122、批量电子邮件文件夹124、垃圾文件夹126、网络钓鱼电子邮件文件夹128、恶意软件文件夹130,等等。
图1A示出了从发件人计算设备102和电子邮件托管服务器106向(多个)网络108发送的电子邮件104。
图1B示出了到达电子邮件网关110的电子邮件104,这可能是用于由电子邮件分类器114评估的第一机会。
图1C示出了由电子邮件网关110对电子邮件104的拒绝以及将电子邮件104向垃圾箱132的递送。向垃圾箱132的递送可以表示电子邮件网关110拒绝电子邮件并且回绝递送和/或将电子邮件104放置到存储位置中以供删除。电子邮件网关110可以基于由电子邮件分类器114的确定将电子邮件104发送给垃圾箱132。例如,如果电子邮件分类器114将电子邮件104分类为恶意软件电子邮件,则电子邮件网关110可以将电子邮件104部分地发送给垃圾箱132以防止用户无意地安装恶意软件。将104直接发送给垃圾箱132可以基于由电子邮件分类器114提供的分类中的置信度水平。例如,如果针对恶意软件分类的置信度水平高于阈值置信度水平,那么电子邮件104将被移动到垃圾箱132。
在电子邮件网关110处阻止垃圾和其他不期望的电子邮件可以节省网络资源,诸如带宽、存储装置和处理器周期,因为来自电子邮件网关110下游的设备不与不期望的电子邮件进行交互。这可以改善电子邮件服务器112、收件人计算设备120和其他计算机系统的运作。
图1D示出了其已经通过电子邮件网关110和电子邮件服务器112被移动到收件人计算设备120之后的电子邮件104。这是“良好”电子邮件的典型处理。如果电子邮件104是良好电子邮件,但是被电子邮件分类器114错误地标识为垃圾、网络钓鱼电子邮件等,则这为假正。任何分类器(尤其是评估大量电子邮件的分类器)都可能会生成一些假正结果。将那些电子邮件移动到垃圾箱132而不给收件人机会查看电子邮件会导致收件人错过他或她可能想要接收的电子邮件。因此,可以将被电子邮件分类器114分类为垃圾、批量、网络钓鱼或恶意软件的一些或全部电子邮件传递给收件人计算设备120。
图1E示出了电子邮件104被放置在收件人计算设备120上的垃圾文件夹126中。在特定文件夹(诸如垃圾文件夹126)中的放置可以由电子邮件客户端或收件人计算设备120和/或电子邮件服务器112上的其他软件执行,而无需来自用户的直接输入。可以基于由电子邮件分类器114提供给电子邮件104的分类来选择文件夹。可以将批量、垃圾、网络钓鱼和恶意软件电子邮件放置在单独的文件夹中。
替代地,可以结合批量电子邮件文件夹124、垃圾文件夹126、网络钓鱼电子邮件文件夹128和恶意软件文件夹130中的一些或全部。例如,分类为垃圾、网络钓鱼或批量电子邮件的所有电子邮件都可以放置在同一文件夹中。例如,被分类为良好电子邮件或者备选地未被分类为批量、垃圾、网络钓鱼或恶意软件中的任何一个的电子邮件可以被放置在收件箱122中。如果电子邮件可以被分类为两个或更多个不同类别的电子邮件,那么其可以被放置在与具有最高置信度水平的类别相对应的文件夹中。
将电子邮件104放置在收件人计算设备120上的文件夹或可被收件人计算设备120访问的文件夹中为收件人提供了审查电子邮件104的机会。这允许收件人通过电子邮件分类器114捕捉假正分类。即使电子邮件104被正确分类为例如批量电子邮件,收件人也可能希望查看电子邮件104。收件人还可以手动标记电子邮件,并且通过这样做可以提供反馈和附加信息用于改善训练数据集118。
图2示出了用于利用MLM对电子邮件分类的说明性过程200。过程200可以由图1所示的电子邮件分类器114执行。
在202中,创建已标记电子邮件的训练数据集。训练数据集中的每个示例都包含目标和一个或多个特征。该目标是预测的目的,其在该图示中是针对电子邮件的标记,诸如良好、垃圾、恶意软件等。电子邮件的特征或属性诸如发件人电子邮件地址、IP地址、时间戳、发件人和收件人之间的先前通信的存在等。这些属性用于标识预测目标答案的模式。在本公开中,特征被选择以避免使用机密信息或PII。
在204中,从训练数据集生成MLM。MLM可以是图1中引入的MLM 116。一旦创建了训练数据集,就可以使用监督式学习来训练MLM。监督式学习是学习如下功能的机器学习任务:基于示例输入-输出对将输入映射到输出的功能。它从包含训练示例的集合的已标记训练数据推理出功能。在监督式学习中,每个示例都是一对,其由输入对象(通常是向量)和期望的输出值(也称为监督信号)组成。监督式学习算法会分析训练数据并且产生推理函数,该函数可以被用于映射新示例。最佳场景将允许算法正确地确定针对未见过的实例的分类标记。这要求学习算法以“合理”的方式从训练数据推广到未见过的情况。可以使用任何监督式学习算法来训练MLM。
在206中,利用MLM对电子邮件分类。通过使用在202所创建的训练数据集来训练MLM,MLM可以被配置为根据训练数据集中所标识的目标对新电子邮件分类。例如,被分类的电子邮件可以是图1所示的电子邮件104。当然,MLM可以被用于对多于单个电子邮件分类,并且可以被应用于自动且快速地对电子邮件系统接收到的所有或大部分电子邮件分类。
图3示出了用于创建训练数据集的说明性过程300。过程300可以表示过程200的步骤202内的子过程。
在302中,接收已标记的电子邮件特征。已标记的电子邮件特征可以是这样的事物:如将给定的电子邮件地址标识为与垃圾相关联的事物,或者是如下标记:将特定的IP地址标识为与已知发送良好电子邮件的计算机(例如朋友的计算机或同一本地网络上的另一计算机)相关联的标记。可以从许多源(诸如白名单或黑名单)接收已标记的特征,并且也可以从由用户对电子邮件的手动标记接收。例如,来自由电子邮件系统的用户标记为垃圾的电子邮件的特征可以被用于创建被用于发送垃圾的发件人电子邮件地址、IP地址、主机服务器等的列表。这些标记可能来自与电子邮件相关联的元数据或传输数据,并且可能被设计为避免使用机密信息或PII。由通信图捕获的过去用户行为(即,在多个电子邮件账户之间来回的通信的映射和委员会通信活动的历史)也可以被用于提供标记。在具有超过阈值数目的连接的通信图中具有关系可以被解释为指示该关系中来自所有各方的电子邮件是彼此的良好发件人。另一系统的搜索引擎结果和垃圾分类结果也可以被用作针对电子邮件特征的标记的源。
这些初始标记可以被称为“种子”,因为它们提供用于创建电子邮件的簇或相似的电子邮件特征的簇的起点,因此被认为与同一标记相关联(例如良好、垃圾、批量电子邮件等)。每个初始标记或种子可以与指示该标记正确的可能性的置信度水平相关联。
在304中,接收未标记电子邮件。这些未标记电子邮件可能是电子邮件系统内已经存在的电子邮件。未标记电子邮件可以包括但不限于已经从外部网络进入电子邮件系统的新接收到的电子邮件。
在306中,未标记电子邮件的各个特征被标记。可以基于利用已标记种子特征中的一个已标记种子特征的分组来标记各个特征(诸如发件人电子邮件地址)。分组可以被实施为聚类的形式,其中相似的特征被一起放置在同一簇中。每个未标记电子邮件可能具有多个特征,这些多个特征可以被放置在相应簇中。每个簇都可以从启动簇的种子继承标记。因此,这些标记又可以被应用于未标记电子邮件的特征。特征上的这些标记也可以被添加到现有的簇,如被从306回到302的路径指示的。
在308中,标记未标记电子邮件。标记未标记电子邮件基于那些电子邮件中各个特征的标记。例如,如果未标记电子邮件的所有特征都是在被标记为与恶意软件相关联的簇中找到的特征,则未标记电子邮件本身很可能与恶意软件相关联,并且其可能被标记为“恶意软件”电子邮件。对于一些未标记电子邮件,这些特征可以指示多于一个标记。一个特征可以指示它是良好电子邮件,而另一特征指示它是垃圾,并且第三特征表明其应该被标记为批量电子邮件。在这种情况下,可能需要解决多个可能标记之间的冲突。可以通过下面描述的投票机构解决冲突。
标记电子邮件提供可以被附到该电子邮件的任何或所有特征的标记。例如,如果给定的IP地址先前未知且未被标记但与作为垃圾的电子邮件相关联,那么可以将“垃圾”标记应用于该IP地址。可以将电子邮件特征上的该新标记提供给步骤306,以增加已标记特征的数目,从而又可以在302为簇提供更多特征以通知后续标记。在一个实施方式中,可以将从308接收到的附加标记特征添加到与初始种子特征一起形成的簇。因此,随着过程300迭代,每个簇中的示例的数目可以增加。
在310中,在308所生成的已标记电子邮件被用于创建训练数据集。该训练数据集包括具有特征的许多电子邮件消息(这些特征不公开机密信息或PII)和与电子邮件相关联的标记。这提供已标记训练数据,以供用于监督式机器学习。
图4示出了说明性的已标记电子邮件400和说明性的电子邮件特征402。已标记电子邮件400包括电子邮件内容404,该电子邮件内容404可以包括URL 406。为了保护隐私并且避免访问PII,电子邮件内容404不用于标记已标记电子邮件400。这带来了挑战,因为已标记电子邮件400中可能最清楚地指示电子邮件是良好电子邮件、垃圾还是另一类型的电子邮件的部分不可用于分析。然而,可以在不暴露收件人的机密信息或PII的情况下分析可以包括与已标记电子邮件400相关联的元数据和传输数据的电子邮件特征402。
可以使用不暴露PII的任何数目的电子邮件特征402。图4所讨论的特征仅是说明性的,而不是限制性的。发件人电子邮件地址408是可以从已标记电子邮件400提取的一个特征。发送已标记电子邮件400的计算设备的IP地址410是附加特征。时间戳412可以与已标记电子邮件400一起被包括,并且可以指示电子邮件的类型(例如在收件人所在时区的典型睡眠时间期间发送的电子邮件可能更有可能是垃圾或批量电子邮件)。
字符编码414是可以被用于分析电子邮件的另一特征。字符编码414可以表明在发送计算设备上安装的软件的语言和/或发送计算设备的位置。机器学习可以基于针对414的字符编码来标识模式。负责发送出已标记电子邮件400的主机服务器416也是潜在有用的特征。
如果电子邮件收件人或负责管理收件人的电子邮件系统的一方肯定地选择加入,则可以以不公开机密信息或PII的方式使用包括电子邮件内的任何URL 406的电子邮件内容404。例如,电子邮件内容418的散列(也称为“指纹”)可以用于表示电子邮件内容404,并通过比较散列值来标识相同或相似的电子邮件内容404是否出现在其他电子邮件中。类似地,可以生成标记电子邮件中所包括的URL散列420,并将其用于查看相同的URL是否出现在其他电子邮件中。
可以通过分别对电子邮件内容404或URL 406应用散列算法来生成电子邮件内容418的散列和URL散列420。散列值(或简称为散列)是从文本的字符串生成的值。散列实质上比文本本身要小,并且是由公式以这样的方式生成的:即一些其他文本极不可能产生相同的散列值。可以使用的一个散列函数是MD5算法。附加地,距离敏感散列(DSH)可以被用于生成电子邮件内容418的散列或URL散列420。DSH是局部敏感散列(LSH)的概括,它寻求散列函数的族,使得具有相同散列值的两个点的概率是它们之间的距离的给定函数。
图5示出了来自已标记电子邮件400的特征如何有助于簇形成。在该示例中,说明性簇是发件人簇500、主机簇502、URL簇504和指纹簇506。可以使用更多或更少数目的簇。每个簇都包含来自聚类在一起的电子邮件的特征的实例。可以使用任何合适的聚类技术来形成贯穿本公开所讨论的簇。聚类(也可能称为“分组”或“类别”)是指将相似项分组在一起并基于项的属性分离不同项的过程。根据本文公开的实施方式,可以使用各种类型的算法来对电子邮件或电子邮件的特征进行聚类。例如,在不同的实施方式中,可以利用k均值算法、k最近邻(“KNN”)算法、最小哈希(MinHash)算法来形成簇。在一些其他实施方式中,潜在因子聚类算法(诸如潜在语义索引(“LSI”)、潜在狄利克雷分配(“LDA”)或概率LSI(“PLSI”))可以用于对电子邮件和电子邮件特征聚类。
每个簇包含其他电子邮件,这些电子邮件具有与已标记电子邮件400相同的特征或者至少具有足以使其聚类在一起的相似特征。例如,发件人簇500可以包括从已标记电子邮件400的相同发件人电子邮件地址408发送的电子邮件。主机簇502可以包括通过与已标记电子邮件400相同的主机服务器416所发送的电子邮件。在该示例中,因为没有具有相同指纹418的其他电子邮件,所以指纹簇506仅包括该已标记电子邮件400。在一个实施方式中,可能未形成指纹簇506,因为可能需要最小数目的电子邮件来形成簇,并且单个电子邮件可能少于最小数目。
图6示出了将标记应用于说明性簇,此处在图5中引入了主机簇502。主机簇502包括从相同的主机服务器416或足够相似使它们聚类在一起的主机服务器所发送的多个电子邮件600A至电子邮件600I。电子邮件600F表示已标记电子邮件400。电子邮件600A至电子邮件600I中的每个电子邮件都可以与标记602(诸如垃圾、良好或批量)相关联。总体上,针对主机簇502的这些标记作为整体可以从簇内的电子邮件600的标记602导出。
可以使用若干各种投票技术中的任何一种来从所包括的电子邮件600的标记602选择簇的单个标记。例如,标记602中最常见的一个标记可以被应用为簇标记604。备选地,电子邮件600的每个标记的置信度水平可以被用于权衡投票并且标识哪个标记602被用于簇。在该示例中,由于主机簇502中更多的电子邮件600被标记为“良好”而不是任何其他标记,因此多数投票导致簇标记604为“良好”。
图7示出了聚类的不同使用,其中未标记电子邮件700的各种特征被用于为未标记电子邮件700提供潜在的标记。标记可以基于未标记电子邮件700的特征所属的簇而与未标记电子邮件700相关联。在该示例中,簇是电子邮件地址702、已标记主机服务器704、已标记URL 706、以及已标记指纹708。
如果在已标记的电子邮件地址702的簇中找到未标记电子邮件700的发件人的电子邮件地址,则可以将在这种情况下为“垃圾”的发件人电子邮件地址的标记应用于未标记电子邮件700。类似地,如果发送未标记电子邮件700的电子邮件主机服务器的标记和未标记电子邮件700中所包括的URL的散列的标记还可以与簇比较,以标识未标记电子邮件700的那些特征的标记。
如果未在任何现有簇中找到未标记电子邮件700的特征,那么该特征可能不是针对未标记电子邮件700的潜在标记的源。在该示例中,未标记电子邮件700的内容的散列与已标记指纹708簇中的任何散列都不匹配。因此,未标记电子邮件700的指纹不提供潜在的标记。
图8示出了使用未标记电子邮件700的已标记特征800来标识针对未标记电子邮件700的电子邮件标记802。来自图7的已标记电子邮件特征800可以包括发件人电子邮件地址804、主机服务器806和URL 808的散列。在该示例中,发件人电子邮件地址804的簇将该地址与类别“垃圾”相关联。主机服务器806的簇将该服务器身份与类别“良好”相关联。URL 808的散列基于其聚类与类别“垃圾”相关联。因此,特征标记810指示:未标记电子邮件700的一个特征表明“良好”标记,并且两个特征表明“垃圾”标记。可以使用投票技术来确定将哪些冲突标记被应用于未标记电子邮件700。一些投票技术允许多个标记被应用于电子邮件。然而,良好和垃圾是冲突的类别,其无法都被应用于同一电子邮件。可以使用的一种投票技术是去除少数投票类别。在该示例中,类别“良好”接收到最少投票,并且它是少数类别。去除该类别仅留下针对垃圾类别的投票,因此,被应用于未标记电子邮件700的电子邮件标记802可能是垃圾。
图9示出了“良好”类别标记902的说明性扩展图900。该扩展图900和其他扩展图是用于系统中的不同实体的推理逻辑的表示。实体包括作为电子邮件904的原则类型实体和作为电子邮件特征的聚类类型实体,电子邮件特征诸如指纹906、发件人电子邮件地址908、URL 910和主机服务器912。聚类类型实体可以包括但不限于图4中引入的电子邮件特征402中的任何一个。选择聚类类型实体以避免包括机密信息或PII。扩展图900包括两种类型的扩展边缘:由实线指示的“导出边缘”914、916和由虚线指示的“聚类边缘”918至932。边缘是有向的,并且导出边缘指示针对原则实体的标记可以从聚类类型实体的标记导出。在图7和图8中示出了这种情况的一个示例,其中未标记电子邮件从被应用于其特征的标记接收标记。相反,聚类边缘指示关系,在该关系中聚类实体可以从原则实体接收标记。这在图5和图6中图示,其中已标记电子邮件400将其标记提供给电子邮件特征的多个簇。
边缘表示特定于扩展图900的类别标记902(“良好”)的推理逻辑。因此,对于标记“良好”,如果已知电子邮件904的指纹906为良好,那么电子邮件本身可以基于边缘914被推理为良好电子邮件。类似地,如果已知发件人电子邮件地址908是良好,那么还可以将电子邮件904标记为良好,因为边缘916连接图中的这两个节点。然而,仅仅因为电子邮件包括良好URL 910,并不一定指示电子邮件本身是良好。例如,垃圾和批量电子邮件可能包括被标识为良好的URL。因此,没有将URL 910连接至电子邮件904的导出边缘。
关于具有类别标记902“良好”的电子邮件904,存在从电子邮件904到指纹906、发件人电子邮件地址908、URL 910和主机服务器912的多个聚类边缘918至924。这些聚类边缘918至924指示:如果已知电子邮件904为良好,则可以推理出电子邮件的指纹906、发件人电子邮件地址908、电子邮件中所包括的任何URL 910、以及发送电子邮件904的主机服务器912也是良好。
在聚类类型实体之间也可以存在聚类边缘。在该扩展图900中,存在从指纹906到URL 910的聚类边缘926、从指纹906到主机服务器912的聚类边缘928、从发件人电子邮件地址908到主机服务器912的聚类边缘930、以及从发件人电子邮件地址908到URL 910的聚类边缘932。这些聚类边缘指示所推理的关系,即如果电子邮件的这些特征中的一个特征为“良好”,那么另一特征也可能为“良好”。例如,从已知是良好的发件人电子邮件地址908(诸如朋友或同事的电子邮件地址)发送的电子邮件指示:发送该电子邮件的主机服务器912以及电子邮件中所包括的任何URL 910也是良好。
在一个实施方式中,该扩展图900或任何其他扩展图中的任一或所有边缘可以与置信度降低比率相关联。置信度降低比率指示当标记沿着扩展图900的边缘中的一个边缘扩展时的置信度的损失程度。为了便于讨论而非限制,置信度降低比率可以被表示为0到1之间的值,其中0指示无置信度,并且1指示维持原始置信度水平而不降低。实际上,置信度水平为0将由缺少边缘表示。在一个实施方式中,导出边缘(实线)的置信度降低比率可以是1,指示没有降低。因此,如果有0.9或90%的置信度指纹906被标记为良好,那么导出边缘914不改变置信度水平并且应用0.9置信度水平电子邮件904也是良好。在一个实施方式中,通过应用置信度降低比率为0.5,聚类边缘(虚线)的置信度降低比率可以使置信度降低一半。因此,如果电子邮件904被标记具有100%的置信度其是“良好”电子邮件,那么聚类边缘924将该置信度水平降低一半,并将置信度水平为50%应用于主机服务器912上的“良好”的标记。可以将其他置信度降低比率应用于除了上述那些以外的边缘,并且扩展图内的每个边缘可以具有不同的置信度降低比率。
因此,针对“良好”的类别标记902的扩展图(诸如扩展图900)允许标记从电子邮件扩展到电子邮件的特征,并且从特征扩展到电子邮件以及其他特征。可以推理的关系由边缘表示,并且在该推理中的置信度由被应用于边缘的置信度降低比率表示。
图10示出了针对“批量”类别标记1002的说明性扩展图1000。对于批量电子邮件(电子邮件1004),扩展图1000包括指纹1006节点和URL 1008节点之间的边缘。因此,其他聚类类型实体不影响“批量”类别标记1002对电子邮件的应用。导出边缘1010和导出边缘1012允许电子邮件1004从指纹1006或URL 1008接收标记。这指示:如果电子邮件内容的散列与被标记为批量电子邮件的其他电子邮件的散列相同,那么未标记电子邮件很可能是批量电子邮件。类似地,如果电子邮件中包括URL表明该电子邮件是批量电子邮件,那么该URL在未标记电子邮件中的存在指示该未标记电子邮件是批量电子邮件。聚类边缘1014和聚类边缘1016表示相反的关系。如果电子邮件1004被标识为批量电子邮件,则具有相同指纹1006或包括相同URL 1008的其他电子邮件可能也是批量电子邮件。
图11示出了被应用于垃圾和网络钓鱼类别标记1002的扩展图1100。尽管垃圾和网络钓鱼是不想要的电子邮件的不同类型,但原则实体类型和聚类实体类型之间的相同推理关系适用于两者。扩展图1100示出了原则实体类型的电子邮件1104与聚类实体类型的指纹1106、发件人电子邮件地址1108、URL 1110和主机服务器1112之间的关系。指纹1106、发件人电子邮件地址1108、URL 1110和主机服务器1112中的每一个可以是针对电子邮件1104的“垃圾”或“网络钓鱼”类别标记1102的源,如导出边缘1114至1120所示。例如,如果已知URL1110是网络钓鱼URL,那么包含该URL的电子邮件可能会被标记为网络钓鱼电子邮件。该扩展逻辑被表示为从URL 1110到电子邮件1104的导出边缘1118。
在扩展图1100中还存在多个聚类边缘1122至1132,它们指示被应用于电子邮件1104的垃圾或网络钓鱼类别标记1102可以如何影响电子邮件特征的标记以及电子邮件特征的一些标记如何影响其他特征电子邮件特征。没有到主机服务器1112聚类实体的聚类边缘,因为来自特定电子邮件主机服务器的垃圾或网络钓鱼电子邮件不一定指示主机服务器1112仅发送垃圾和/或网络钓鱼电子邮件。存在多个双向聚类边缘1128至1132,它们指示:如果一对电子邮件特征中的任何一个被标识为与垃圾或网络钓鱼相关联,那么另一特征可以共享同一标记。例如,如果URL 1110被标识为在垃圾电子邮件中被找到,那么发送该URL1110的发件人电子邮件地址1108可以使“垃圾”标记沿着边缘1132扩展到它们。
图12示出了针对“恶意软件”类别标记1202的扩展图1200。该扩展图1200包括电子邮件1204原则实体和聚类类型实体的指纹1206、发件人电子邮件地址1208、URL 1210和主机服务器1212,如同在图9和图11中。然而,由边缘指示的关系是不同的。其一,指纹1206聚类实体没有通过边缘被连接至任何其他实体。这指示:电子邮件内容的散列不管怎样都未表明电子邮件包含恶意软件。然而,如果发件人电子邮件地址1208、URL 1210或主机服务器1212中的任何一个被标记为恶意软件,那么导出边缘1214至1218会将恶意软件标记携带到电子邮件1204。电子邮件1204与这三个聚类类型实体之间的相互关系也如由聚类边缘1220至1224所示的那样存在。发件人电子邮件地址1208的类别与URL 1210之间的双向聚类边缘1226指示:如果电子邮件中所包括的发件人的电子邮件地址或URL中的任何一个被标记为恶意软件,那么另一个也可能会接收到该标记。当然,对于由扩展图1200以及本文讨论的其他扩展图中的边缘指示的这些和所有其他关系,可以基于针对簇的原始置信度水平和为了将标记扩展到新实体而遍历的任何边缘的置信度降低比率来修改所应用的标记中的置信度水平。
图13示出了说明性计算设备1302的计算机架构1300。计算设备1302可以表示位于单个位置中或跨多个物理位置而分布的一个或多个物理或逻辑计算设备。例如,计算设备1302可以表示图1A至图1E所示的电子邮件服务器112和/或电子邮件网关110。然而,计算设备1302的一些或所有部件可以位于单独设备上,诸如个人计算机、台式计算机、笔记本计算机等。计算机架构1300能够实施本公开所讨论的任何技术或方法。
计算设备1302包括一个或多个处理单元1304、一个或多个存储器单元1306、和输入/输出设备1308。尽管在图13所图示的各个部件之间未示出连接,但是部件可以电连接,以进行交互并且执行设备功能。在一些配置中,部件被布置为经由一个或多个总线进行通信,一个或多个总线可以包括以下中的一个或多个:系统总线、数据总线、地址总线、PCI总线、迷你PCI总线、以及任何种类的本地、外围和/或独立总线。
(多个)处理单元1304可以表示例如中央处理单元(CPU)类型处理单元、图形处理单元(GPU)类型处理单元、现场可编程门阵列(FPGA)、另一类数字信号处理器(DSP)、或在一些情况下可以由CPU驱动的其他硬件逻辑部件。例如但不限于,可以使用的硬件逻辑部件的说明性类型包括:专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等。
(多个)存储器单元1306可以包括内部存储装置、可移除存储装置、本地存储装置、和/或远程存储装置,以提供对计算机可读指令、数据结构、程序模块和其他数据的存储。(多个)存储器单元1306可以被实施为计算机可读介质。计算机可读介质包括至少两种类型的介质:计算机可读存储介质和通信介质。计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中被实施的易失性和非易失性介质以及可移除和不可移除介质。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪速存储器或者其他存储技术、光盘只读存储器(CD-ROM)、数字通用光盘(DVD)或者其他光学存储装置、磁盒、磁带、磁盘存储装置或者其他磁性存储设备或者可以用于存储信息以由计算设备访问的任何其他非传输介质。
相反,通信介质可以将计算机可读指令、数据结构、程序模块或其他数据实施在经调制数据信号中,诸如载波或其他传输机构。如本文所定义的,计算机可读存储介质和通信介质是互斥的。
计算机可读介质还可以存储由外部处理单元(诸如外部CPU、外部GPU)可执行和/或由外部加速器(诸如FPGA类型加速器、DSP类型加速器、或任何其他内部或外部加速器)可执行的指令。在各种示例中,至少一个CPU、GPU和/或加速器被并入到计算设备中,而在一些示例中,CPU、GPU和/或加速器中的一个或多个在计算设备外部。
在一个实施方式中,(多个)存储器单元1306可以包括一个或多个数据存储库。在一些示例中,数据存储库包括数据存储装置,诸如数据库、数据仓库或其他类型的结构化或非结构化数据存储库。在一些示例中,例如,数据存储库包括具有一个或多个表格、索引、被存储过程的语料库和/或关系数据库,以启用数据访问包括以下中的一个或多个:超文本标记语言(HTML)表、资源描述框架(RDF)表、web本体语言(OWL)表和/或可扩展标记语言(XML)表。
输入/输出设备1308可以包括诸如键盘、指向设备、触摸屏、麦克风、相机、显示器、扬声器、打印机等设备以及一个或多个接口部件(诸如数据I/O接口部件(“数据I/O”))。
计算设备1302包括多个模块,这些模块可以被实施为指令,指令被存储在(多个)存储器单元1306中用于由(多个)处理单元1304执行和/或由一个或多个硬件逻辑部件或固件全部或部分地实施。所图示的模块的数目仅是示例,并且在任何特定实施方式中,该数目可以更高或更低。即,本文描述的与所图示的模块相关联的功能性可以由一个设备上或者跨多个设备散布的较少数目的模块或较大数目的模块来执行。
标记模块1310将通信类别标记指派给未标记实体,诸如可以是电子邮件的原则实体或可以是电子邮件特征的聚类实体。通信类别标记可以是良好、垃圾、网络钓鱼、批量、恶意软件或另一标记中的一个。外部信息源(诸如一个或多个白名单1312、一个或多个黑名单1314以及手动标记1316)可以被标记模块1310使用来标记未标记实体。这些信息源提供“种子”标记,这些标记被用于形成簇,这些簇又用于为先前未标记实体指派通信类别标记。(多个)白名单1312可以包括已知或被认为与良好电子邮件相关联的电子邮件特征的列表。例如,(多个)白名单1312可以包括被视为无垃圾的电子邮件地址或IP地址的列表。白名单可以由用户创建为他们希望诸如通过肯定选择加入从其接收电子邮件的发件人的列表。在一个实施方式中,在白名单上对电子邮件特征的包括覆盖了任何黑名单或其他过滤器,并且允许来自(多个)白名单1312上的发件人的电子邮件被递送给电子邮件收件箱,而不是被阻止或被放置在垃圾文件夹中。例如,与收件人在同一公司中的其他用户的电子邮件地址可以被包括在(多个)白名单1312中。
(多个)黑名单1314包括已知或被认为与不想要的通信(诸如垃圾或网络钓鱼通信)相关联的电子邮件特征的列表。基于域名系统(DNS)的黑名单或DNSBL是黑名单1314的一个类型,其可以被用于启发式过滤和阻止。第三方网站可以经由DNS发布列表(通常是IP地址列表),以这样的方式可以轻松地将电子邮件服务器设置为拒绝来自那些源的电子邮件。存在多个DNSBL,每个DNSBL反映了不同的策略:一些列出了已知会发出垃圾的站点,其他一些列出了开放邮件中继或代理,并且另一些列出了已知支持垃圾的ISP。
手动标记1316可以由电子邮件的收件人提供。从收件人接收手动标记维持电子邮件内容的隐私和机密性,因为只有收件人本人才能评估电子邮件。从手动标记1316获得的信息可以不比由标记模块1310实施的分类方案详细。例如,手动标记1316可以简单地指示给定电子邮件是否是良好电子邮件。如果它被指示为良好电子邮件,那么这将可以被解释为如下有力指示:该电子邮件不是垃圾或另一类型的不想要的通信。如果电子邮件被标记为不良电子邮件,那么这可以与其他信息一起被使用,以标识:电子邮件的一个或多个特征与具体类型的不想要的通信相关联,诸如垃圾、批量电子邮件、网络钓鱼或恶意软件。
标记模块1310还可以使用一个或多个扩展图1318,以基于未标记通信的特征将通信类别标记指派给未标记通信。(多个)扩展图1318可以是图9至图12所示的一个或多个扩展图。每个扩展图都与通信类别标记相关联,并且包含通过有向边缘彼此连接的若干实体。这些实体可以包括原则实体(诸如电子邮件或其他消息)以及一个或多个聚类类型实体(诸如发件人的电子邮件地址、电子邮件主机服务器的IP地址、时间戳等)。(多个)扩展图1318中的特征实体可以被选择使得它们不包括PII。
标记模块1310可以使用关于特征实体中的一个特征实体以及由(多个)扩展图1318表示的关系的信息,以将通信类别标记指派给未标记的通信,特征实体是从一个或多个白名单1312、一个或多个黑名单1314、手动标记1316、或另一源提供的。
扩展模块1320可以起作用为:基于(多个)扩展图1318将通信类别标记“扩展”到未标记通信的第二特征。回顾一下,通信本身(诸如电子邮件)可以具有类别标记并且通信的各个特征(诸如电子邮件内容的散列)或者嵌入式URL的身份也可以具有类别标记。这些类别标记不一定相同。然而,如果标记模块1310已经将通信类别标记应用于通信,那么在一些实施方式中,扩展模块1320可以将该相同的通信类别标记应用于通信的其他特征,如由(多个)扩展图1318中的有向边缘和节点所指示的那样。
置信度模块1322基于(多个)扩展图1318向通信类别标记指派概率。如上面所讨论的,(多个)扩展图1318中的一个或多个边缘可以与置信度降低比率相关联。因此,通信类别标记的初始源中的置信度以及(多个)扩展图1318的为了将置信度类别标记指派给第二特征而遍历的任何边缘的置信度降低比率可以被用于标识被指派给未标记通信的特征的通信类别标记是正确的概率。不同标记源可能具有不同的起始置信度水平。例如,从手动标记1316导出的标记的置信度水平可以被赋予例如0.9的高置信度水平。然而,从单个黑名单1314导出的标记可以被赋予诸如例如0.4的较低置信度水平。因此,标记源的初始置信度水平和(多个)扩展图1318的为了将该标记应用于通信的第二特征即不同的特征而遍历的边缘的置信度降低比率的组合可以由置信度模块1322考虑。
投票模块1324可以被用于应用投票规则的集合,以解决可能潜在地被指派给未标记通信的多个通信类别标记之间的冲突。不同的信息源可以提供可以被应用于通信(诸如电子邮件)的不同通信类别标记。最终,可能期望标识单个通信类别标记,诸如垃圾、恶意软件或良好,以应用于未标记通信。然而,由于未标记通信的不同特征可能分别具有单独且不同的通信类别标记,因此关于哪个标记对于未标记通信是正确的,可能会有不同的冲突信号。例如,发件人电子邮件地址可以具有标记“良好”,但是电子邮件中所包括的URL的散列可以与该标记批量电子邮件相关联。因此,未标记通信的两个不同特征表明可以被指派的两个不同的通信类别标记。
投票可以减少假正的实例,因为单个通信类别标记(诸如垃圾)的影响可以被其他通信类别标记降低。投票模块1324可以标识具有针对未标记通信是正确的最高置信度的单个通信类别标记。置信度水平可以由置信度模块1322部分地提供。投票可以包括:基于支持相同标记的不同源的数目来提高通信类别标记的置信度。相反,如果给定实体(诸如主机服务器)与冲突信息相关联,则这将降低被应用于该实体的任何通信类别标记的置信度。
一个投票规则可以是:如果存在冲突则去除通信类别标记两者。在该实施方式中,冲突的通信类别标记将彼此抵消。该规则的一个变型可以是保持与最高置信度水平相关联的通信类别标记,并丢弃与较低置信度水平相关联的一个或多个其他通信类别标记。投票模块1324还可以实施以下规则:允许将多个通信类别标记被应用于同一通信。例如,一些通信类别标记可以被标识为彼此不冲突,诸如恶意软件和网络钓鱼。因此,可能存在同时被指派给两个或更多个不同标记的通信(诸如电子邮件)或特征实体(诸如IP地址)。
投票规则的一些其他方面可以包括:如果标记的置信度低于阈值水平和/或如果指向给定标记的源的数目小于阈值数目,则不考虑潜在的通信类别标记。上述不考虑可以包括:忽略那些通信类别标记或赋予它们较小的权重,确定最终将被指派的通信类别标记。投票规则还可能允许来自一些源的标记覆写来自其他源的标记。例如,可以允许由手动标记1316提供的通信类别标记覆写和替换由其他源(诸如(多个)白名单1312或(多个)黑名单1314)提供的通信类别标记。附加地,可以允许较新的源覆写较旧的源。
通信类别标记的各种源在不同时间提供信息。随着情况的变化,旧信息可能不如较新的信息可靠。例如,先前用于发送垃圾的主机服务器可能改善了对其用户的控制,并消除了垃圾发件人的账户。因此,指示主机服务器是源垃圾的较旧标记不再准确。通信类别标记被提供的日期可以由投票模块1324记录和比较。
可以由投票模块1324实施的另一投票技术是去除少数投票。如果有两个或更多个不同的通信类别标记可能潜在地被应用于实体,则具有最少数目的投票的标记可以从考虑被去除。如果仅存在两个通信类别标记针对实体被标识,那么少数投票会简单地去除具有最少数目的投票的通信类别标记。然而,如果存在很多信号指示针对实体可能是正确的三个或更多不同的通信类别标记,则投票模块1324可以去除具有最少投票的一个标记,并且继续将其他投票规则应用于剩余的通信类别标记。
合成密钥模块1326可以结合两个或更多个实体类型以创建用于聚类的单个密钥。用于聚类的“密钥”是实体类型,其可以被指派通信类别标记,诸如良好、垃圾、批量、网络钓鱼、恶意软件等。如上面所提及的,实体类型可以是原则实体和聚类实体,原则实体是通信本身,诸如电子邮件,聚类实体表示原则实体的特征(例如发件人电子邮件地址、电子邮件中所包括的URL等)。因此,通常电子邮件的特征(诸如电子邮件内容的散列)可以被用作用于形成簇的密钥。与内容的同一散列相关联(意味着内容相同或非常相似)的所有电子邮件可以放置在同一簇中。最终,簇可以被指派通信类别标记,并且该标记可以被应用于簇中的所有实体。
然而,一些类型的密钥可能会导致假正并且返回不正确的标记。减少假正的一个方式是通过将多个特征结合为单个密钥——合成密钥,来使密钥更详细(specific)。例如,发件人的IP地址和用于发送域的Authlnfo代码可以被结合以形成合成密钥。Authlnfo代码是针对大多数顶级域而存在的字母数字安全代码,并且只被域所有者或管理联系人知道。因此,代替仅基于发件人的IP地址来聚类,IP地址和单个Authlnfo代码被用作针对簇的密钥。如果来自IP地址的一些电子邮件是良好,而其他电子邮件是垃圾,并且附加地基于Authlnfo代码创建更详细的簇有效地将良好电子邮件和垃圾电子邮件分到不同的簇中,则这可能是适当的。可以以该方式使用合成密钥,以避免将具有不同通信类别标记的电子邮件分组在同一簇中。
合成密钥模块1326可以响应于由其他模块(诸如置信度模块1322或投票模块1324)执行的对现有簇的评估来创建合成密钥和新簇。例如,如果置信度模块1322标识出簇或具有低于阈值水平的置信度水平的簇中的具体实体,则这可以触发合成密钥模块1326标识可以被用于创建具有较高置信度水平的簇的合成密钥。类似地,如果投票模块1324标识出具有即使在应用投票规则之后仍模糊的标记的簇或实体,则这可以表明应该将两个或更多个密钥结合以创建合成密钥并且生成新的簇。
在图1中引入的电子邮件分类器114使用从训练数据集118开发的MLM 116。可以在与电子邮件系统(诸如电子邮件网关110和电子邮件服务器112)中的计算设备分离的计算设备1302上开发训练数据集118。训练数据集118是由标记模块1310将标记应用于未标记通信而无需访问机密信息或PII来创建的。电子邮件分类器114可以被实施为任何类型的分类器,诸如线性分类器、支持向量机、k最近邻、决策树、神经网络等。电子邮件分类器114将电子邮件(诸如图1所示的电子邮件104)分类为若干预定类别中的一个或多个,诸如良好、垃圾、批量、网络钓鱼或恶意软件。
电子邮件分类器114使用MLM 116来标识分类。使用监督式学习方法(例如提升决策树、梯度下降、随机梯度下降)在训练数据集118上训练MLM 116(例如神经网络或朴素贝叶斯分类器)。在一些实施方式中,训练数据集118包括成对的输入向量和对应的答案向量或标量,其通常被表示为目标(例如通信分类标记中的一个通信分类标记)。当前模型与训练数据集118一起运行,并且产生针对训练数据集118中的每个输入向量的结果,然后将结果与目标进行比较。基于比较的结果和所使用的具体学习技术,调整MLM的参数。MLM适配可以包括变量选择和参数估计。
电子邮件分类器114可以从传入的电子邮件消息自动提取特征,并且将那些特征值输入到MLM 116中。然后,MLM 116输出分类,该分类可以由电子邮件系统使用,以根据其标记处理或路由电子邮件。例如,可以基于所指派的标记拒绝电子邮件,或者可以将电子邮件路由给具体的电子邮件文件夹。由电子邮件分类器114分类的每个电子邮件可以为标记模块1310提供附加信息,以添加到训练数据集118。这创建了反馈,其中由电子邮件分类器114分类的每个电子邮件都可以有助于改善训练数据集118。将这种类型的反馈并入到训练数据集118中提供了对发送垃圾和其他类型的不期望通信的恶意实体的不断发展的行为和技术做出反应的机会。
随着训练数据集118通过附加标记的示例得以改善,它可以被用于训练新的MLM116,该新的MLM 116可以基于训练数据集118中的附加示例来形成新模型。附加地,电子邮件的其他已标记示例可以诸如从手动标记1316和经更新的(多个)白名单1312或(多个)黑名单1314中获得。可以保留训练数据集118中所包括的已标记示例,使得训练数据集118的容量持续增加。在一些实施方式中,一些已标记示例可以在一段时间后从训练数据集118被去除。例如,如果特定URL在30天内没有与网络钓鱼电子邮件相关联,那么将该电子邮件与网络钓鱼相关联的已标记示例可以从训练数据集118被去除。特定簇被“忘记”或从训练数据集118的当前版本中被省略的时间段可能会基于由簇表示的实体而变化。因此,可以周期性地将MLM 116替换为新的MLM 116。在一些实施方式中,训练数据集118可以以间隔(诸如每天或每四天)被周期性地完成(finalize)。一旦被完成,新的MLM 116被训练并且被电子邮件分类器114使用。
图14示出了用于标记未标记电子邮件以包括在训练数据集中的说明性过程1400。在一个实施方式中,过程1400可以由图13所示的计算设备1302实施。
在1402处,接收未标记电子邮件。未标记电子邮件可以是企业电子邮件系统中所包括的电子邮件,其中必须维护电子邮件内容的机密性,并且必须在不使用PII的情况下执行对电子邮件的分析。
在1404处,未标记电子邮件的不包括个性化可标识信息的第一特征被标识。第一特征可以是上面讨论的任何电子邮件特征,诸如发件人电子邮件地址、发件人电子邮件主机服务器、时间戳、字符编码、电子邮件中所包括的URL、电子邮件正文的至少一部分的散列等。
在1406处,未标记电子邮件的也不包括PII的第二特征被标识。未标记电子邮件的第二特征与未标记电子邮件的第一特征不同。因此,未标记电子邮件的至少两个特征被标识。
在1408处,包括电子邮件类别标记和种子数据的第一已标记簇被接收。例如,第一已标记簇可以是图7所示的簇702至簇708中的一个簇。被应用于第一已标记簇的电子邮件类别标记可以是上面讨论的标记中的任一标记,诸如良好、垃圾、网络钓鱼、批量或恶意软件。如上面所讨论的,种子数据是具有被用于开始簇形成的标记的特征。种子数据可以来自先前已标记电子邮件、黑名单、白名单、通信图或其他源。通信图是不同电子邮件地址之间的交互的记录,它指示来回通信的数目和性质。可以由通信图中的多个边缘表示的强连接可以指示:这两个电子邮件地址互为良好发件人,并且从一个地址到另一地址的电子邮件应该被标记为良好电子邮件。
在1410处,包括第二电子邮件类别标记和第二种子数据的第二已标记簇被接收。第二已标记簇可以类似于第一已标记簇,但是与不同的电子邮件类别标记相关联。
在1412处,确定哪个电子邮件类别标记具有针对未标记电子邮件是正确的最高概率。该概率可以基于初始种子数据的置信度水平以及扩展图中的边缘的任何置信度降低比率,扩展图被用于将电子邮件类别标记从簇扩展到未标记电子邮件。该确定还可以通过应用投票规则的集合来做出。如上面所提及的,投票规则可以包括去除冲突的电子邮件类别标记两者,保留与最高置信度水平相关联的电子邮件类别标记,确定两个不同的电子邮件类别标记不冲突并且保留电子邮件类别标记两者,或者保留与最新的种子数据相关联的电子邮件类别标记。
如果确定第一电子邮件类别标记具有是正确的最高概率,则过程1400沿着“第一”路径进行到1414。如果确定第二电子邮件类别标记具有是正确的最高概率,则过程1400沿着“第二”路径进行到1416。在一些实施方式中,可以由图13所示的置信度模块1322和/或投票模块1324来做出在1412中做出的确定。
在1414处,基于第一特征和第一已标记簇来将第一电子邮件类别标记指派给未标记电子邮件。例如,由于第一已标记特征属于第一已标记簇,所以可以将第一电子邮件类别标记指派给未标记电子邮件。该指派可以包括表示第一电子邮件类别标记是针对第一已标记簇的准确标记的可能性的置信度水平。
一旦将第一电子邮件类别标记应用于未标记电子邮件,该电子邮件类别标记也可以被应用于未标记电子邮件的特征,并且那些特征可以被添加到已标记簇,如从1414进行回到1408的过程1400所表示的。因此,标记未标记电子邮件会提供附加信息,这些附加信息可以被应用于未标记电子邮件的特征并被添加到簇,以便在簇中提供更多数据。标记模块1310可以将电子邮件类别标记指派给未标记电子邮件。
在1416处,如果这是从1412处的决策点开始遵循的路径,则基于第二已标记簇中的第二特征来将第二电子邮件类别标记指派给未标记电子邮件。与1414一样,将电子邮件类别标记指派给未标记电子邮件可以提供可能在1410处有助于簇的反馈。因此,标记未标记电子邮件可以附加地提供被添加到现有簇的已标记电子邮件特征。标记模块1310可以将电子邮件类别标记指派给未标记电子邮件。
在1414或1416处,标记未标记电子邮件会创建已标记电子邮件。该标记可以基于不包含PII的电子邮件的特征与电子邮件相关联。因此,过程1400提供了用于在不直接检查电子邮件内容的情况下标记电子邮件的技术。
在1418处,已标记电子邮件被包括在训练数据集中。这可以是图1中所引入的训练数据集118。训练数据集可以包括大量电子邮件和关联的电子邮件类别标记。因此,可以将过程1400重复数百次或数千次,以生成具有大量已标记示例的训练数据集。
在1420处,使用训练数据集训练MLM。这可以是图1中所引入的MLM 116。
在1422处,利用MLM对接收到的电子邮件分类。接收到的电子邮件是已进入使用MLM对电子邮件分类的电子邮件系统的电子邮件。例如,电子邮件可以是图1所示的电子邮件104。分类可以由电子邮件分类器114执行。
图15示出了用于使用扩展图向消息指派标记并且创建训练数据集的说明性过程1500。在一个实施方式中,过程1500可以由图13所示的计算设备1302实施。
在1502处,消息节点与多个特征节点之间的关系的第一扩展图可以被访问。扩展图可以是图9至图12所示的扩展图或图13所示的(多个)扩展图1318中的任何一个。特征节点对应于不包括PII的消息的特征。例如,特征节点可以是消息散列节点(“指纹”)、消息发件人(电子邮件地址)节点、URL节点、和发件人主机节点。在一个实施方式中,扩展图可以包括至少两个特征节点。第一扩展图与类别标记相关联,诸如良好消息、垃圾消息、网络钓鱼消息、批量消息或恶意软件消息。
在1504处,从未标记消息提取第一特征。第一特征可以是不包括PII并且与消息相关联的任何特征,诸如图4所示的电子邮件特征402中的一个特征。
在1506处,使第一特征与第一扩展图中的节点相关。例如,如果第一特征是发件人的电子邮件地址,那么该特征与针对发件人的电子邮件地址的表达图中的节点(诸如图9、图11和图12所示的节点908、1108和1208)相关。
在1508处,基于将特征节点连接至消息节点的有向边缘,向未标记消息指派与第一扩展图相关联的类别标记。该类型的有向边缘先前被称为聚类边缘,并且在图9至图12中由虚线图示。有向边缘可能与概率相关联,诸如置信度降低比率,并且向未标记消息指派类别标记可以基于该概率。例如,未标记消息可以被指派70%概率是垃圾。这可以部分地由扩展模块1320执行。
步骤1510至步骤1516表示用于基于与第一扩展图不同的第二扩展图和从未标记消息提取的第二特征来向消息指派第二类别标记的第二路径。因此,未标记消息的不同特征可以与不同扩展图中的不同节点相关,并且导致不同类别标记到同一未标记消息的指派。例如,电子邮件发件人地址可以指示未标记消息是垃圾,而电子邮件内容的散列指示它是批量电子邮件。
在1518处,确定在1508处所指派的第一类别标记和在1516处所指派的第二类别标记是否冲突。回顾一下:一些类别标记不一定冲突,诸如垃圾和批量电子邮件。如果两个不同的类别标记不冲突,那么过程1500沿着“否”路径进行到1520。
在1520处,类别标记两者都被指派给未标记消息,创建已标记消息。该步骤可以由计算设备1302中的标记模块1310执行。
然而,如果类别标记被确定为冲突,那么过程1500沿着“是”路径进行到1522。在1522处,投票规则的集合被应用来解决第一类别标记和第二类别标记之间的冲突。投票规则的集合指定冲突的类别标记之间的优先级。可以使用任何数目的不同投票规则,诸如向具有最高置信度水平的类别标记赋予优先级,基于最新数据向类别标记赋予优先级,选择具有最多数目的支持该标记的不同源的类别标记,拒绝由冲突信息支持的类别标记,基于标记的源向类别标记赋予优先级(例如经人类验证的类别标记被赋予高于经机器指派的标记的优先级),等等。投票规则可以由投票模块1324实施。在应用投票规则的集合之后最终所选择的类别标记可以由标记模块1310指派给未标记通信。
在1524处,包括已标记通信的训练数据集被创建。这可以是训练数据集118。训练数据集可能包括大量已标记通信,而不仅仅是该单个通信。因此,过程1500可以重复很多次以生成其中具有许多已标记通信的训练数据集。
在1526处,生成MLM。这可以是通过监督式学习从训练数据集生成的任何类型的MLM,诸如图1和图13所示的MLM 116。
在1528处,利用MLM对新消息分类。这不同于标记未标记消息以用于包括在训练数据集中。利用MLM的分类是由电子邮件系统执行的操作,该操作基于其分类对新消息进行不同的处理。例如,新消息可以是图1所示的电子邮件104,并且该处理可以包括将电子邮件104路由给特定文件夹(诸如图1所示的文件夹122至文件夹130中的一个文件夹),或者将电子邮件104放置到垃圾箱132中。
说明性实施例
以下条款描述了用于实施本公开所描述的特征的多个可能的实施例。本文描述的各种实施例不是限制性的,也不是来自要求存在于另一实施例中的任何给定实施例的每个特征。除非上下文另外清晰指示,否则可以将任何两个或更多个实施例结合在一起。如本文所使用的,在本文档中,“或”是指和/或。例如,“A或B”是指没有B的A、没有A的B或者A和B。如本文所使用的,“包括”是指包括所有列出的特征,并潜在地包括未列出的其他特征的添加。“基本上由...组成”是指包括所列出的特征以及不会实质性影响所列出特征的基本特性和新颖特性的那些附加特征。“由……组成”仅表示所列出的特征,而排除未列出的任何特征。
条款1.一种标记电子邮件的方法,该方法包括:
接收未标记电子邮件;
标识未标记电子邮件的不包括个人可标识信息(PII)的特征;
接收包括电子邮件类别标记和种子数据的已标记簇;
基于特征和已标记簇向未标记电子邮件指派电子邮件类别标记,从而创建已标记电子邮件;
将已标记电子邮件包括在训练数据集中;
利用训练数据集训练机器学习模型,以对电子邮件分类;以及
利用机器学习模型对接收到的电子邮件分类。
条款2.根据条款1的方法,其中该特征包括:发件人电子邮件地址、发件人电子邮件主机服务器、时间戳、电子邮件中所包括的通用资源定位符(URL)、或者未标记电子邮件的正文的至少一部分的散列。
条款3.根据条款1的方法,其中电子邮件类别标记是良好电子邮件、垃圾电子邮件、网络钓鱼电子邮件、批量电子邮件、或恶意软件电子邮件,并且该方法还包括:基于电子邮件类别标记来将接收到的电子邮件移动到文件夹或者删除接收到的电子邮件。
条款4.根据条款1、2或3的方法,其中种子数据包括:先前已标记电子邮件、黑名单、白名单、或通信图。
条款5.根据条款1、2、3或4的方法,其中指派电子邮件类别标记基于属于已标记簇的特征。
条款6.根据条款5的方法,其中存在以下置信度水平,该置信度水平表示电子邮件类别标记是针对已标记簇的准确标记的可能性。
条款7.根据条款1至6中任一项的方法,还包括:
标识未标记电子邮件的不包括个人可标识信息(PII)的第二特征;
接收包括第二电子邮件类别标记和第二种子数据的第二已标记簇;
基于第二特征和第二已标记簇向未标记电子邮件指派第二电子邮件类别标记;以及
通过应用投票规则的集合来确定电子邮件类别标记具有比第二电子邮件类别标记更高的是正确的概率。
条款8.根据条款7的方法,其中投票规则的集合包括一个或多个规则用于:去除冲突的电子邮件类别标记两者,保留与最高置信度水平相关联的电子邮件类别标记,确定两个不同的电子邮件类别标记不冲突并且保留电子邮件类别标记两者,或者保留与最新的种子数据相关联的电子邮件类别标记。
条款9.一种包括指令的计算机可读介质,该指令在被执行时使计算设备实施条款1至8中任一项的方法。
条款10.一种系统,包括一个或多个处理单元以及一个或多个存储器单元,一个或多个存储器单元包括指令,该指令在由一个或多个处理单元执行时实施条款1至8中任一项的方法。
条款11.一种系统,包括:
一个或多个处理单元;
一个或多个存储器单元,被耦合至一个或多个处理单元;
扩展图,被存储在一个或多个存储器单元中,扩展图与通信类别标记相关联并且包括被有向边缘连接至聚类实体的特征实体,特征实体表示除了个人可标识信息(PII)以外的通信的特征;以及
标记模块,被存储在一个或多个存储器单元中,标记模块基于未标记通信的第一特征和扩展图来向未标记通信指派通信类别标记,从而创建已标记通信。
条款12.根据条款11的系统,其中通信类别标记是良好、垃圾、网络钓鱼、批量、或恶意软件,并且还包括:通过基于通信类别标记存储已标记通信或者删除已标记通信来处理已标记通信。
条款13.根据条款11或12的系统,还包括扩展模块,被存储在一个或多个存储器单元中,该扩展模块被配置为:基于扩展图向未标记通信的第二特征指派通信类别标记。
条款14.根据条款11、12或13的系统,还包括置信度模块,被存储在一个或多个存储器单元中,该置信度模块被配置为:基于扩展图将概率指派给通信类别标记。
条款15.根据条款11、12、13或14的系统,还包括投票模块,被存储在一个或多个存储器单元中,该投票模块被配置为:应用投票规则的集合,以解决基于第一特征被指派给未标记通信的通信类别标记与基于第二特征也被指派给未标记通信的第二通信类别标记之间的冲突。
条款16.根据条款11至15中任一项的系统,还包括合成密钥模块,被存储在一个或多个存储器单元中,该合成密钥模块被配置为:基于两个或更多个特征来生成簇。
条款17.根据条款11至16中任一项的系统,其中该系统包括电子邮件网关。
条款18.根据条款11至16中任一项的系统,其中该系统包括电子邮件服务器。
条款19.一种方法,包括:
访问消息节点与多个特征节点之间的关系的扩展图,该多个特征节点对应于不包括个人可标识信息(PII)的特征,该扩展图与第一类别标记相关联;
从未标记消息提取特征;
使该特征与扩展图中的多个特征节点中的一个特征节点相关;
基于扩展图中从特征节点到消息节点的有向边缘来向未标记消息指派第一类别标记,从而创建已标记消息;
创建包括已标记消息的训练数据集;
通过使用训练数据集的监督式学习来生成机器学习模型;以及
利用机器学习模型对新消息分类。
条款20.根据条款19的方法,其中类别标记包括以下中的一个或多个:良好消息、垃圾消息、网络钓鱼消息、批量消息、或恶意软件消息,并且该方法还包括:根据第一类别标记处理新消息,该处理包括存储、隔离、或删除。
条款21.根据条款19或20的方法,其中多个特征节点包括消息以下中的至少两个:消息散列节点、消息发件人节点、URL节点、或发件人主机节点。
条款22.根据条款19、20或21的方法,其中有向边缘与概率相关联,并且指派类别标记是基于该概率。
条款23.根据条款19至22中任一项的方法,还包括:基于第二扩展图和未标记消息的第二特征来向未标记消息指派第二类别标记。
条款24.根据条款23的方法,还包括基于投票规则的集合来解决第一类别标记与第二类别标记之间的冲突,投票规则的集合指定冲突类别标记之间的优先级。
条款25.一种包括指令的计算机可读介质,该指令在被执行时使计算设备实施条款19至24中任一项的方法。
条款26.一种系统,包括一个或多个处理单元以及一个或多个存储器单元,一个或多个存储器单元包括指令,该指令在由一个或多个处理单元执行时实施条款19至24中任一项的方法。
结论
为了便于理解,本公开所讨论的过程被划定为表示为独立框的单独操作。然而,这些单独划定的操作不应解释为在其性能上必定与顺序相关。描述过程的顺序不旨在被理解为限制,并且可以以任何顺序结合任何数目的所描述的过程框以实施该过程或替代过程。而且,还可以修改或省略所提供的一个或多个操作。
尽管已经用针对结构特征和/或方法动作的语言描述了主题,但是要理解,在所附权利要求中限定的主题并不一定限于上述具体特征或动作。相反,将具体特征和动作公开为实施权利要求的示例形式。
在描述本发明的上下文中(特别是在以下权利要求的上下文中)使用的术语“一”、“一个”、“该”和类似指示物应解释为覆盖单数和复数形式,除非本文另有指示或与上下文明显矛盾。术语“基于(based on)”、“基于(based upon)”和类似指示物应解释为表示“至少部分地基于”,包括“部分地基于”和“整体基于”,除非另有指示或与上下文明显矛盾。
本文描述了某些实施例,包括发明人已知的用于执行本发明的最佳模式。当然,在阅读前述描述时,这些所描述的实施例的变型对于本领域的普通技术人员而言将变得显而易见。技术人员将知道如何适当地采用这种变型,并且可以以与具体描述的方式不同的方式实践本文公开的实施例。因此,所附权利要求书中记载的主题的所有修改和等效物被包括在本公开的范围内。而且,除非本文另外指示或与上下文明显矛盾,否则本发明涵盖上述元素在其所有可能的变型中的任何组合。
- 电子邮件的隐私保护标记和分类
- 瑕疵分类标记系统及瑕疵分类标记方法