来自知识星球

什么是NAS重放攻击?AMF如何做NAS防重放保护?

一 什么是NAS重放攻击?
在5G网络中,NAS(Non-Access Stratum)消息防重放攻击是指采取一系列安全机制来防止攻击者截获
并重新发送有效的NAS消息,从而欺骗网络或用户设备(UE)的一种安全措施。
个人总结:
• 有些想害人,去抓你的包。结果你加密了,抓不到。恼羞成怒;
• 好,按抓到了以后,改你的包。让你也享受不了服务。结果你用了完整性保护。恼羞成怒+1;
• 好,抓不到,改不了。我还有招。我抓到你一个包,复制粘贴100遍产生100个相同的包发出去。这就
是重放攻击。本来你取100块,结果现在变成100个取100块的请求了。你说这人坏不?害人之心不可
有防人之心不可无啊。
「重放攻击的原理:」
攻击者截获UE和网络之间合法的NAS消息,然后在稍后的时间重新发送这些消息。如果网络或UE没有适
当的保护机制,它们可能会将这些重放的消息视为合法消息,并执行相应的操作,从而导致安全问题。
「NAS消息重放攻击可能导致的后果:」
• 「非法访问网络资源:」 攻击者可能利用重放的注册或认证消息,非法获得网络访问权限。
• 「服务中断:」 攻击者可能通过重放去注册消息,导致合法用户无法访问网络。
• 「欺诈:」 攻击者可能利用重放的消息进行欺诈活动,例如冒充合法用户进行通信或交易。
• 「信息泄露:」 攻击者可能通过重放的消息获取敏感信息。
「5G网络中NAS消息防重放攻击的机制:」
为了防止NAS消息重放攻击,5G网络采用了以下几种关键机制:
1. 「序列号(Sequence Number):」
• NAS消息中包含一个不断递增的序列号。UE和网络都会维护一个计数器来跟踪序列号。
• 接收方会检查收到的NAS消息的序列号。如果序列号小于或等于之前收到的最大序列号,则该消息将
被视为重放消息并被丢弃。
• 5G中使用的序列号有严格的长度和递增规则,以防止序列号溢出或被轻易篡改。
2. 「完整性保护:」
• NAS消息使用完整性保护算法(例如HMAC-SHA256)进行保护,并使用完整性保护密钥进行验证。
• 接收方会验证NAS消息的完整性。如果消息被篡改或损坏,则验证将失败,消息将被丢弃。
• 完整性保护可以确保消息在传输过程中没有被篡改,即使攻击者截获了消息,也无法修改其内容而不
被发现。
3. 「加密:」
• NAS消息可以使用加密算法(例如AES)进行加密,并使用加密密钥进行解密。
• 加密可以确保消息的机密性,即使攻击者截获了消息,也无法读取其内容。
4. 「定时器:」
• 在某些情况下,可以使用定时器来限制NAS消息的有效时间。如果消息在指定的时间窗口之外被接
收,则该消息将被视为无效并被丢弃。
「总结:」
NAS消息防重放攻击是5G网络安全的重要组成部分。通过结合使用序列号、完整性保护、加密和定时器
等机制,5G网络可以有效地防止攻击者利用重放的NAS消息进行恶意活动,从而保护用户和网络的安
二 AMF如何做NAS防重放保护?
通过一个log分析来看AMF如何防护,这是AMF的功能。
1 测试目的:
a) 验证在完整性保护激活后,能够同时激活NAS消息的防重放保护;
b)验证NAS COUNT值不重复;
这里的NAS Count值其实就是前面所说的序列号sequence number。
2 预期结果:
a) 验证在完整性保护激活后,能够同时激活NAS消息的防重放保护;
如何检查呢?
• 同一个NAS安全上下文的NAS COUNT值不重复。

从图上可以看出:
• #348号包是一个NAS消息:Security mode command,序列号为0;
• #394号包是另一个NAS消息:注册接受,序列号为1。
这两个消息都是AMF的下行NAS消息,发给UE的。
序列号没有重复。实现了NAS防重放。