目录

简介

技术背景

思科安全邮件行为

正常邮件的CR和LF字符裸露（默认）

拒绝包含纯CR或LF字符的邮件

允许仅包含纯CR或LF字符的邮件（不建议使用）

推荐 的 配置

常见问题解答

简介

本文档提供了有关Cisco安全电子邮件如何针对SEC Consult于2023年12月18日发布的“SMTP Trusting - Spoofing E-Making Email Worldwide”中所描述攻击类型的详细信息。

在与SEC Consult漏洞实验室合作开展的一个研究项目中，Timo Longin (@timolongin)发现了另一种利用互联网协议SMTP(简单邮件传输协议)的新技术。威胁发起者可能会滥用世界各地易受攻击的SMTP服务器，从任意电子邮件地址发送恶意电子邮件，从而实现有针对性的网络钓鱼攻击。由于漏洞本身的性质，此类漏洞被称为SMTP走私。

思科未发现任何证据，表明本文所述的攻击可用于绕过任何已配置的安全过滤器。

技术背景

不要详细介绍SMTP协议和消息格式，查看RFC 5322 的几部分以获得一些上下文是很重要的。

第2.1节将CRLF字符序列定义为消息不同部分之间使用的分隔符。

消息划分为多行字符。行是一系列字符，由回车符和换行符分隔；即，回车符(CR)字符（ASCII值13）后紧跟换行符(LF)字符（ASCII值10）。 （在本文档中，回车/换行符对通常写为“CRLF”。）

第2.3节详细说明了消息正文的格式。它明确声明CR和LF字符绝不应作为身体的一部分单独发送。执行此操作的任何服务器都不符合RFC。

消息正文简称为US-ASCII字符行。对主体的唯一两个限制如下：

- CR和LF必须仅作为CRLF同时出现；它们不能在正文中单独出现。

- 正文中的字符行必须限制为998个字符，并且应限制为78个字符（CRLF除外）。

但是，该文档的第4.1节在参考以前修订的RFC中不再受限制的过时语法时，承认该字段中的许多实现没有使用正确的语法。

裸CR和裸LF出现在具有两种不同含义的消息中。在许多情况下，未正确使用纯CR或纯LF来表示线路分隔符，而不是CRLF。在其它情况下，裸CR和裸LF仅用作US-ASCII控制字符，具有传统的ASCII含义。

总之，根据RFC 5322，格式正确的SMTP消息类似于以下示例：

ehlo sender.example\r\n

mail FROM:<user@sender.example>\r\n

rcpt TO:<user@receiver.example>\r\n

data\r\n

From: <user@sender.example>\r\n

To: <user@receiver.example>\r\n

Subject: Example\r\n

\r\n

lorem ipsum\r\n

\r\n. \r\n

本白皮书尝试利用RFC 4.1节中提及的例外情况，在正文中插入或“走私”新邮件，以绕过发送或接收服务器上的安全措施。目标是让走私邮件绕过安全检查，因为这些检查将仅在裸线馈送之前对邮件的一部分运行。例如：

ehlo sender.example\r\n

mail FROM:<user@sender.example>\r\n

rcpt TO:<user@receiver.example>\r\n

data\r\n

From: <user@sender.example>\r\n

To: <user@receiver.example>\r\n

Subject: Example\r\n

\r\n

lorem ipsum\r\n

\n. \r\n

mail FROM:<malicious@malicious.example>\r\n

rcpt TO:<user@receiver.example>\r\n

data\r\n

From: <malicious@malicious.example>\r\n

To: <user@receiver.example>\r\n

Subject: Malicious\r\n

\r\n

Malicious content\r\n

\r\n. \r\n

思科安全邮件行为

在Cisco Secure Mail上配置SMTP侦听程序时，有三个配置选项可确定应如何处理裸CR和LF字符。

正常邮件的CR和LF字符裸露（默认）

选中默认选项后，Cisco Secure Mail将使用正确的CRLF序列替换传入邮件中的所有裸CR和LF字符。

包含走私内容的邮件（如示例中的邮件）将被视为两个单独的邮件，并且所有安全检查(如发件人策略框架(SPF)、基于域的邮件身份验证、报告和一致性(DMARC)、反垃圾邮件、防病毒、高级恶意软件防护(AMP)和内容过滤器)均独立运行。

注意：客户应注意，使用此配置，攻击者可能能够伪装成其他用户而窃取消息。在源服务器托管多个域的情况下，攻击者可能会产生更大的影响，因为攻击者可以模拟服务器上托管的另一个域中的用户，并且走私邮件的SPF检查仍会通过。

拒绝包含纯CR或LF字符的邮件

此配置选项严格强制遵守RFC。包含纯CR或LF字符的所有邮件都将被拒绝

虽然此配置可防止走私情况，但也会导致来自不符合RFC的服务器的合法电子邮件被丢弃。

允许仅包含纯CR或LF字符的邮件（不建议使用）

最终配置导致Cisco Secure Mail使用其ASCII含义处理裸CR和LF字符。邮件正文按原样传送，包括走私内容。

由于走私邮件被视为正文的一部分，思科安全邮件可能无法检测到作为走私邮件一部分的附件。这可能会导致下游设备出现安全问题。此选项已弃用，不应再使用。

推荐 的 配置

Cisco建议使用默认的“Clean messages of bare CR and LF characters”（正常邮件的CR和LF字符数）选项，因为它在安全性和互操作性之间提供了最佳折衷。但是，使用此设置的客户应了解与走私内容相关的安全影响。希望实施RFC合规性的客户应选择“拒绝具有纯CR或LF字符的邮件”，同时注意潜在的互操作性问题。

无论如何，思科强烈建议配置和使用SPF、DomainKeys识别邮件(DKIM)或DMARC等功能，以验证传入邮件的发件人。

AsyncOS版本15.0.2和15.5.2及更高版本添加了新功能，可帮助识别和过滤不符合邮件结尾RFC标准的邮件。如果接收到具有无效消息结尾顺序的消息，邮件网关会向连接内的所有消息ID (MID)添加X-Ironport-Invalid-End-Of-Message Extension Header (X-Header)，直到接收到符合消息结尾RFC标准的消息。客户可以使用内容过滤器查找“X-Ironport-Invalid-End-Of-Message”信头并定义要为这些邮件采取的操作。

常见问题解答

Cisco Secure Mail是否容易遭受上述攻击？

从技术上说，是的。当邮件中包含纯CR和LF字符时，可能导致将部分邮件作为第二封邮件处理。但是，由于第二个电子邮件是独立分析的，因此其行为等同于发送两个单独的邮件。思科未发现任何证据，表明本文所述的攻击可用于绕过任何已配置的安全过滤器。

本文提供了绕过SPF和DKIM检查的示例。为什么思科说没有绕过任何过滤器？

在这些示例中，SPF检查按预期运行，但由于发送服务器拥有多个域，因此检查通过。

建议的配置是什么？

对于客户而言，最适当的选择取决于其特定需求。建议的选项为默认的“Clean”配置或“Reject”替代配置。

选择“拒绝”选项是否会导致误报？

“拒绝”功能可启动对电子邮件是否符合RFC标准的评估。如果邮件不符合RFC标准，将拒绝该邮件。如果邮件不符合RFC标准，甚至合法邮件也可能会被拒绝。

是否存在涵盖此问题的软件Bug？

报告了Cisco Bug ID CSCwh10142。

如何获得有关此主题的更多信息？

任何后续问题都可以通过技术支持中心(TAC)案例提出。