没有数字签名的 Exchange/Outlook 中的不可否认性

信息安全 交换 不可否认性
2021-08-20 11:51:35

场景:Acme Corp. 需要收集证据来支持他们在法庭上的案件。部分证据可能包括电子邮件信息。某些对电子邮件服务器没有管理访问权限但可能对其工作站具有管理访问权限的员工可能有更改此证据的动机。

Acme Corp. 的员工不会经常在电子邮件消息中使用数字签名。

Acme Corp. 的电子邮件存储在定期备份的 Exchange 服务器上,员工将邮件下载到工作站上的 Outlook 中。服务器上设置了文件夹大小限制,因此员工通常将消息存档到其工作站本地的 PST 文件中。


问题 1:在这种情况下,可疑员工更改未签名的电子邮件证据有多容易(从“Joe 用户”到“3l33t H4x0r”)...

  • ...在他们的收件箱中?
  • ...在他们的 PST 文件中?

另外,这可以做到什么程度?(主题/正文/发件人/收件人/时间戳)


问题 2:可以使用哪些工具来修改此未签名的电子邮件证据?(或者,可以在没有专门工具的情况下轻松完成吗?)


问题 3:Acme Corp. 如何捍卫(或反驳)未签名电子邮件的有效性?

4个回答

除非有一些我不熟悉的特殊配置:

  1. 乔用户。有一个Edit功能,隐藏在下面Other Actions(在 Outlook 2007 中,至少......)。请注意,只有在完整消息视图中打开它时才能看到它,而不是在预览窗格中(我通常会阅读它......)。另请注意,这不能通过 OWA 获得。
    可能可以配置 Exchange 邮箱来防止这种情况,但我不熟悉这样的配置(现在没有方便的 Exchange 来检查,抱歉)。
    重新编辑:这是一个很好的问题,可以修改哪些部分 - 主题/正文/附件很容易。Outlook UI 未启用收件人和时间戳,因此至少 JoeUser 不会那么容易地处理这些字段......但是,我确信可以使用其他工具(或直接编辑文件)修改这些),但我对此并不熟悉。还要注意下一点的补充......

  2. 外表!:)
    另一方面,我没有深入研究文件格式或取证 - Outlook 可能会跟踪文件内部收到的消息的更改。
    另外,请注意,我假设我们谈论的是接收到的消息,而不是发送 - 在没有实际发送的情况下伪造任何类型的声称发送的消息是微不足道的。
    除了前面的,请注意,如果电子邮件没有签名,很容易给自己发送一封假电子邮件,声称来自您想要的任何其他用户。当然,那时您可以伪造您想要的电子邮件的任何部分。(但是,这确实取决于您的 Exchange 配置 - 默认情况下,可以发送近乎任意的 SMTP 消息,尽管这当然可以更改,因为它应该是)。

  3. 它不能——在任何一个方向。也许,严格的备份制度除外。'当然,这仍然是一大堆工作,要提取确切的消息,并证明它是最初收到的消息——这可能只有在备份设置正确的情况下才能正确完成(即备份收到的消息,而不仅仅是用户在收件箱中所做的)。
    另外,我在这里不包括任何形式的行为取证......

但是需要数字签名是有原因的。

此设置不提供不可否认性。不可否认性很难实现,根据我所听到的,你离它还很远。

根据您的描述,您无法仅通过技术论据来证明电子邮件的有效性。您将不得不使用非技术参数。您可能会找到其他证人来证明电子邮件中的内容。您可能会争辩说,电子邮件中的内容与其他证据来源一致:理想情况下,您可以展示一系列相互关联的证据,这些证据是如此压倒性、自洽和多样化,以至于没有其他合理的解释。

但是在服务器上收集电子邮件并不能证明一件事。据您所知,它可能已被修改:至少,根据您在此处提供给我们的信息,您无法合理地排除它。

首先,我将您的问题解释为最终用户不会使用数字签名。他们不会被打扰,等等。我确实通过在服务器上使用最终用户永远不会看到或受到影响的非交互式签名来回答这个问题。

问题 1:……对于可疑员工来说,更改收件箱中未签名的电子邮件证据有多容易?...在他们的 PST 文件中?

由于用户可以控制在其本地计算机上编辑任何内容,以及在服务器上随意删除或创建项目,因此必须假设这是微不足道的。

问题 2:可以使用哪些工具来修改此未签名的电子邮件证据?(或者,可以在没有专门工具的情况下轻松完成吗?)

文本编辑器、十六进制编辑器,甚至 Outlook 本身都可能是选项。

问题 3:Acme Corp. 如何捍卫(或反驳)未签名电子邮件的有效性?

通过 Exchange 发送的任何内容都应由经过身份验证的客户端或 SMTP 发送。您的内部用户不应使用 SMTP。我不允许任何声称是您的用户之一的东西通过 SMTP 在您的 Exchange 服务器上被接收或转发。我会记录从贵公司发送的任何电子邮件。如果您使用包含在为下一封电子邮件签名的文本中包含的最后一封电子邮件的签名按顺序签署电子邮件,您可以创建一个至少证明电子邮件发送顺序的链。这可以帮助可靠地显示电子邮件的发送时间,并防止任何人修改或删除过去的某些内容,而不会在链中检测到它。

如果您采取保存和签署每封电子邮件的步骤,并且您只允许通过经过身份验证的方式通过服务器发送电子邮件,那么通过服务器发送的任何电子邮件都应该是可验证的。您还可以验证以后没有删除任何电子邮件。其余可能的攻击:

  • 用户的凭据被泄露。电子邮件似乎合法地来自他们。
  • 有人通过另一台服务器发送电子邮件。您的客户/客户/等没有意识到这一点。
  • 控制服务器的人发送一封电子邮件,并以某种方式将其从签名队列中删除。

问题 3(第 1 部分):

如果邮件是在两家公司之间发送的,或者是在两个使用 DKIM(一种反垃圾邮件工具)的 SMTP 中继之间发送的,则可能存在他们可能不知道的秘密数字签名。

也就是说,如果消息具有 DKIM 签名并通过,则可以证明消息没有被更改。这是一个大多数人不会想到的隐藏签名,它与 SMIME 无关,并且经常秘密地包含在消息中。例如,Yahoo 和 GMail DKIM 对发件人或收件人不知道的所有出站邮件进行签名。根据您的情况,您担心的邮件可能是 DKIM 签名的,但您或您的客户不知道此签名的存在。

只知道一个 DKIM 签名

  • ... 不是 SMIME(通常称为数字签名)
  • ...即使存在也不会显示在 Web 浏览器/Outlook 中
  • ... 是一种用于反垃圾邮件技术的工具
  • ... 可能不会对整个消息或其中的一部分进行签名(通过 -l 参数,或通过省略消息的关键标头)
  • ...如果中间 SMTP 服务器修改消息(邮件列表、自制 SMTP 转发器等),可能会失败

一般来说,如果没有修改,签名的 DKIM 消息将通过。如果 DKIM 消息失败,如果失败完全是由于基础设施问题,那么熟练的电子邮件工程师/开发人员很有可能使加密“通过”。

TL;DR - 一个签名的 DKIM 消息传递并签名 from、to、subject 和 body 意味着该消息未被修改。DKIM 的失败没有任何意义(恶意或其他)。

(第2部分)

在 DKIM 通行证之外,无法证明消息在这种情况下未被篡改。但是,可能有一种方法可以通过查看消息的 MAPI 属性来检测篡改。对于初学者,如果主题行被编辑,“标题”属性将包含原始主题。

如果邮件被修改,则可能会更新各种内部日期/时间戳,并且根据 Outlook 版本,修改邮件的用户名也会存储在邮件中。当我上次对此进行调查时,在消息移动(从一个文件夹到另一个文件夹)期间更新哪些字段与右键单击并编辑消息(或将其标记为已读)之间存在差异。

消息正文至少存储在 MAPI 消息中的两个位置:纯文本版本、富文本版本和原始版本。消息的编辑版本可能会更新消息的一个(但不是全部)实例。

如果邮件驻留在 Exchange 服务器数据库中,则邮件可能驻留在一个或多个“流”中。这些消息流仅用于 MAPI 或 OWA,有时会不同步。如果消息被修改,则可能会发生这种情况,并且“财产促销”可能能够揭示修改后的消息。

话虽如此,在 DKIM 或 SMIME 之外,没有任何东西可以证明邮件未被修改,但是可能有办法证明它已被更改。

调查这些低级属性所需的工具称为MFCMapi