现在,所有现代操作系统都通过在不受信任的网络(互联网)上定期同步时间来保持准确的时间。进行 MITM 攻击的攻击者能否在同步时间时影响或更改计算机的时间?
如果上一个问题的答案是肯定的,那么在仍然使用公共 NTP 服务器的同时如何防止这种事情发生?
现在,所有现代操作系统都通过在不受信任的网络(互联网)上定期同步时间来保持准确的时间。进行 MITM 攻击的攻击者能否在同步时间时影响或更改计算机的时间?
如果上一个问题的答案是肯定的,那么在仍然使用公共 NTP 服务器的同时如何防止这种事情发生?
成熟的 NTP 实现只允许有限的偏差。例如,Linux 上的事实标准(以前称为 ISC)实现在默认情况下不会偏离本地时钟超过 1/2000(每天不到一分钟)。因此,攻击者无法通过这种实现方式造成巨大的时钟偏差。在典型的站点范围或服务器设置中,可能导致您的时钟漂移的攻击者也可能会做更令人担忧的事情,包括严重的 DoS。
如果您需要更高的精度,请购买不依赖互联网的时钟。您可以从许多无线电发射器、GPS等获取时间信号。接收器起价约为 10 美元左右。原子钟让你更独立,但它,咳咳,要贵得多。
嵌入式设备(包括许多网络设备)上的 NTP 实现通常比较笨拙。他们中的许多人会在不执行任何一致性检查的情况下每天重置一次日期(尤其是那些没有内部时钟的人,无论如何都必须在启动时获取日期)。因此,如果可能,请务必将所有此类设备配置为从内部网络中的可靠服务器获取时间,而不是通过 Internet。
如果您确实需要额外的安全性,NTP 支持时间信号的完整性和真实性检查。这些足以抵御只注入虚假 NTP 响应数据包的攻击者。如果攻击者可以延迟传输中的合法数据包,那么对数据包进行身份验证是不够的。在这种情况下,您唯一的选择是在响应时间过长时拒绝响应(阈值取决于允许的漂移量)。
这是一篇关于如何保护 NTP的简短文章,并概述了为什么它可能是一个潜在的安全问题。
NTP 为时间关键流程和网络基础设施提供准确的硬件时间参考。因此,它可能会带来安全风险,尤其是当恶意用户试图修改或复制时间戳以在联网计算机或设备上生成错误时间时。
如果您觉得您不能信任 NTP,请考虑使用其他来源的组合,例如 GPS,并标记您的运营商/SOC 的任何重大偏差。虽然我看过剑桥的一位技术人员关于倾斜 GPS 的演讲——这将是同时对 GPS 和 NTP 的 MITM 进行高度复杂的攻击,并且会影响相同的报告时间。
尽管过去我只是将 GPS 设备连接到运行 NTP 的 linux 服务器,但您可以获得许多 GPS 设备 NTP 服务器。
有些地区有 MSF 无线电广播信号,例如英国的 Anthorne,如果您有合适的接收设备,也可以使用这些信号。
这能回答你的问题吗?它详细介绍了什么是可能的,但简而言之,是的,它可以被欺骗,因为互联网的早期没有太多考虑安全性,而 NTP 是一个相当古老的协议。(只比我小一岁!!!)
它确实提出了一个问题,为什么有人会打扰。如今,大多数主要攻击都是为了盈利,我认为伪造时间没有多大意义。如果出于某种类型的访问控制目的,您希望能够获得安全时间,最好的办法是简单地将 NTP 连接包装在 VPN 中,这样可以保证服务器和通道的完整性。