机器联合学习技术:对抗电子邮件的威胁

我们用于训练垃圾邮件过滤模型的方法可以同时保证有效性和隐私性。

如果想找出来自电子邮件的安全威胁(网络钓鱼或垃圾邮件),最简单的方法是什么?从技术角度出发,我们可以通过邮件的各种头部信息和其他间接标识达到目的,但我们不应该忘记邮件中的文本信息可以提供最直观的判断。有人可能认为这非常显而易见,毕竟网络犯罪分子或无良广告商正是使用文字来诱骗收件人。不过事情并非如此简单,我们曾经可以通过签名分析完成任务,现在则不得不使用机器学习算法来分析文本。如果要训练机器学习模型准确地对消息进行分类,那么需要向它提供海量消息,由于涉及到隐私问题,这个方法不是很实用。我们将在本文探讨应对这个问题的解决方案。

签名分析为什么不再有效?

十年前,人们仅仅基于文本信息便可以相对容易地捕获大量的恶意邮件,因为网络犯罪分子会使用同样的模版,这些邮件地文本内容几乎不会发生变化。而时至今日,网络犯罪分子不断地提高他们发送邮件的效率,他们进化出几百万种诱骗方式,类似于新的电子游戏、电视剧、智能手机型号、政治新闻等,甚至是一些紧急事件(比如与新冠肺炎相关的大量钓鱼网站和垃圾邮件)。各种不同的主题增加了安全检测程序的复杂程度。此外,攻击者甚至可以通过更改文本内容躲过电子邮件过滤器的筛选。

当然,以签名为基础的方法仍在被使用,尽管这种方法基本上依赖于那些已经被定性为有害的文本。这种方法无法主动发挥作用,因为垃圾邮件制造者可以通过改变邮件文本成功绕开此检测方法。解决这个问题唯一的方法就是通过机器学习。

普通的机器学习方法存在哪些问题?

近年来,机器学习方法在解决许多问题时取得了良好的效果。通过分析大量数据,模型学会做出正确决策和找出信息流中的重要共同特征。我们使用经过电子邮件头部训练的神经网络和DMARC协议共同检测电子邮件中存在的威胁。那么,为什么我们不能对邮件文本采取同样的措施?

正如之前提到的那样,模型需要经过海量数据训练。在我们的例子中,数据指的是电子邮件,不仅指恶意邮件,也包括合法邮件。如果没有这些数据,就不可能训练出能够从众多合法邮件中区出恶意邮件的模型。我们设立了许多电子邮件陷阱来捕捉所有种类的恶意邮件(我们用这些邮件来制作签名),但是获取用于机器学习的合法信件则复杂得多。

通常情况下,我们用于集中学习的服务器上收集数据,但是当我们面对邮件中的文本内容时,不得不考虑一些额外限制:电子邮件可能包含隐私数据,因此我们无法以原始形式存储并处理它们。那么,我们该如何收集足够多的合法邮件呢?

联合学习(Federated learning)

我们使用联合学习方法解决这个问题,这种方法巧妙之处在于无需收集合法邮件,取而代之的是分散训练模型。模型训练直接在客户的邮件服务器上进行,中央服务器无需接收文本信息,它只负责接收机器学习模型的训练权重。在这些中央服务器上,算法将数据与模型版本相结合,然后我们将结果发送回客户的安全解决方案中,与此同时,解决方案中的模型又继续对邮件流进行分析。

实际情况比这稍微复杂一些:在应用于真实邮件的模型被更新之前,它还会经过若干次额外训练。换句话说,两个模型同时在邮件服务器上工作,其中一个是训练模式,另一个是活动模式,在多次传输中央服务器后,经过重新训练的模型将取代活动模式。

因为我们无法从模型权重中恢复特定邮件的文本内容,因此这种方法在处理过程中的隐私得到了保证。尽管如此,通过在真实邮件上进行训练,我们还是可以显著提高检测模型的质量。

目前,我们已经在卡巴斯基微软Office 365版本中以测试模式使用这种方法对垃圾邮件进行分类,并取得了显著的成果。该方法很快将会被更加广泛地用于识别其他的安全威胁,如:网络钓鱼、商务电子邮件入侵(BEC)等。

提示