5GReasoner调研

简介

概率引导的5G协议栈控制面协议验证的自动化方法。
highly automated approaches enabling property-guided formal verification of control-plane protocols of the 5G protocol stack

5G Reasoner

  1. 架构
  • 协议模型:建模为状态机,两个状态机通过两个信道通信,每个状态机是一个元组(I, O, V, Init, A),分别表示输入变量、输出变量、状态变量、初始状态、向V中变量的指定。
  • 攻击者模型生成器:输入一个一般的协议模型,返回攻击者模型。假设协议模型M1和M2通过公共信道c1通信,生成器引入新的状态机Ma捕获攻击者的行为,使用新的信道ca代替c1,ca是M1到Ma和Ma到M2之间通信的信道。Ma模仿Dolev-Yao-style攻击者,输入一个消息,不定地决定丢弃、篡改、重放。
  • 模型检查器(MCheck):输入包括攻击者的模型和属性,检查是否有违反属性的执行。如果没有,输出模型满足属性,如果有,输出例子证明。由于抽象性,此例子可能是不可行,于是需要下一步验证。
  • 加密协议验证器(CPVerif):检查用例的可行性,如果攻击行为都被证可行,此用例是可行攻击。否则,手动生成了一个不变变量(排除了不可行的攻击行为)以优化属性。
  1. 测试对象:测试了NAS层六个进程(initial registration, deregistration, paging, configuration update, handover, and service request procedures )和相关RRC进程。NAS和RRC分别维持一个状态机。同一实体的NAS和RRC状态机通过私人信道交流,不同实体的RRC状态机通过攻击者控制的公共信道交流,攻击者也维持一个状态机,在某些条件下不定地丢弃、修改或注入消息/有效载荷。
  2. 如何工作:攻击者模型,UE和AMF三个实体。UE和AMF的初始状态都是未注册。UE和AMF通过攻击者控制的公共信道通信。使用两个无限状态模型(标准规定的)检查器和一个加密协议验证器初始化5GReasoner。使用一致性测试套件收集了5G协议的187个属性(如,无论何时UE SM处于已注册启动状态并且UE已对AMF进行身份验证,仅当AMF发送sec_mode_command消息时,UE才会以sec_mode_complete进行回复),对每个属性使用ProVerify(自动化验证工具?)确定它的设计是否有问题。有问题了,提供例子,丢弃、修改或注入消息/有效载荷,观察UE和AMF的行为是否违背该属性。

实现

  1. 提取属性:首先从一致性测试套件、和3GPP提供的技术规格(TS)[4-6]和技术要求(TR)中提供的描述中确定并提取目标,然后转换为属性。
    一致性测试套件:3GPP标准定义了一致性测试用例确保UE正确行为。
    但是太笼统了,因此我们把这些测试用例细化并转化为正式的属性。一共提取了NAS相关的74个属性,RRC相关的65个属性,与两者相关的50个属性。
  2. 协议抽象化:四个状态机,UE和AMF与RRC和NAS组合。RRC的两个状态机在两个公共信道通信,NAS的两个状态机在一个私有信道通信。文件
    获取数据和数据包载荷:引入了行为感知谓词抽象的概念。不直接捕获数据,而是建立数据的谓词模型。包括有效性谓词(说明MAC有效性的valid_MAC)、存在性谓词(寻呼过程,TMSI或CRNTI是否存在)、分组谓词(核心网拒绝设备接入的理由分为3组)。还建立了计数器模型。
    计时器建模:没有建模倒计时。每个计时器有两个bool型,计时器启动和计时器中止。
  3. MCheck组件实例化:使用了两个工具NuXmv(检查对某些要求进行推理所必需的活动特性的模型分析工具)和Kind2(可以处理无限域的数据)。
  4. CPVerif实例化:使用ProVerif。

成果

  1. NAS计数器重置:当收到的序列号小于上一次收到的序列号,接收方会1)当接收的序列号和本地存储的序列号都不接近28时,不增加overflow counter;2)否则增加。1)会导致攻击者能够重放完整性保护的sec_mode_command和sec_mode_complete消息以更改加密套件或重心痛不上行NAS消息。2)会导致攻击者可以丢弃消息而不被发现。使用ProVerif推导 UE发送sec_mode_complete、AMF在之前发送了sec_mode_command的概率。攻击者使用假基站或MitM重放发送未认证的初始广播消息SIB1、SIB2,受害者UE连接到攻击者,攻击者捕获sec_mode_command和sec_mode_complete消息。如果AMF发送sec_mode_command消息且序列号不接近28,攻击者可以丢弃消息,重放之前捕获的sec_mode_complete消息。因为UE和AMF中的overflow count值依然一样,重放的消息会被接受,这样序列号被重置了。
  2. 上行NAS计数器去同步化:UE和AMF都不检查有多少sec_mode_command和sec_mode_complete消息验证失败了,因此攻击者可以向UE发送任意数量的无效sec_mode_command导致UE恢复sec_mode_reject消息。建立模型推理AMF正确验证sec_mode_complete消息回应sec_mode_command消息的概率。攻击者发送接近28个任意sec_mode_command消息,使得上行overflow counter增加1,此后所有的上行消息都违反了上行计数器的合理性检查。攻击者使用假基站或MitM重放发送包含任意MAC的sec_mode_command消息,UE向假基站发送sec_mode_reject消息,上行序列号加1。攻击者继续此进程直到观察到上行序列号循环,这意味着overflow count加1,上行计数器去同步化了。这样,即使UE能正确验证来自AMF的下行消息,但AMF会丢弃所有的UE发送的上行消息。即使AMF重新同步上行NAS计数器,但由于上行overflow count不同也不能成功。攻击者可以发起DoS和拒绝服务攻击。受害者UE只能放弃连接,或AMF发起tracking_area_update进程。
  3. NAS序列号暴露:sec_mode_command和sec_mode_complete消息中的序列号是未加密的。攻击者可以利用序列号推知AKA会话的数量或交换加密信息的数量,从而推知交互等级。
  4. 阻止TMSI更新:AMF完成服务后使用配置更新进程指定新的TMSI。AMF发送机密且完整性保护的config_update_command消息初始化配置更新进程,消息中包含新的TMSI和是否需要UE回复的声明。知道受害者UEC-RNTI值且使用中间人重放攻击的攻击者可以监控及丢弃config_update_command消息,这样攻击者可以计算受害者的传呼时机并劫持传呼信道,阻止正常的传呼消息。
  5. 切断连接:知道受害者UE的C-RNTI或TMSI的攻击者可以向AMF发送 reg_request 或ue_dereg_request消息伪装成UE,AMF丢弃这些数据包,取消受害者UE的注册。
  6. rrc_setup_request消息DoS: rrc_setup_request 消息未完整性保护。攻击者如果已知受害者UE的TMSI,就可以伪装成受害者向基站发送 rrc_setup_request 消息,基站胡删除当前RRC安全上下文,隐式地释放与受害者地连接,并连接攻击者伪装的恶意UE。此攻击也可以使用rrc_reestablish_request或rrc_resume_request消息。
  7. 插入空加密和空完整性保护: rrc_sec_mode_failure 消息是未完整性保护的。收到 rrc_sec_mode_command消息后,攻击者伪装受害者UE向基站发送 rrc_sec_mode_failure 消息,UE只能再RRC和PDCP层使用空加密和空完整性保护算法,攻击者就可以看到UE的各种消息。
  8. 摇篮曲攻击:受害者UE和假基站或MitM重放连接。假基站发送有任意MAC值的rrc_reconfiguration 消息,UE不能验证完整性,释放连接进入IDLE状态,之后UE有消息发送时重新建立连接,重复过程耗费电量。
  9. 监禁:UE处于RRC IDLE状态时,会接受未完整性保护的rrc_reject消息。攻击者已经知道受害者UE的C-RNTI或TMSI,有两个假基站。一个假基站诱导UE向它发送rrc_setup_request消息,假基站回复没有完整性保护的rrc_reject消息,UE接受此消息,等待最多16秒再次发起连接。重复过程让UE陷在这个循环中,假基站间或发送rrc_release消息,让UE和第二个假基站连接。
    10.暴露TMSI和传呼时机:攻击者知道受害者的C-RNTI和电话号码。 攻击者丢弃基站发送的rrc_release消息,UE保持在RRC CONNECTED状态,网络认为UE处于RRC IDLE状态。网络向受害者UE的电话号码发起多个呼叫,每次呼叫都要求基站广播UE的TMSI,UE收不到这些寻呼消息,而攻击者能得到TMSI值。得知此消息后可以追踪设备的位置信息,或者劫持寻呼信道以广播虚假紧急警报,或用于其他攻击。
  10. 暴露I-RNTI:攻击者丢弃基站发送的rrc_release消息,UE一直处于RRC CONNECTED状态。攻击者向受害者电话号码发起多个呼叫,对每个呼叫基站都会广播携带UE的I-RNTI的寻呼消息。攻击者可利用该值进一步劫持寻呼信道,发起拒绝服务攻击。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值