• 工作总结
  • 工作计划
  • 心得体会
  • 领导讲话
  • 发言稿
  • 演讲稿
  • 述职报告
  • 入党申请
  • 党建材料
  • 党课下载
  • 脱贫攻坚
  • 对照材料
  • 主题教育
  • 事迹材料
  • 谈话记录
  • 扫黑除恶
  • 实施方案
  • 自查整改
  • 调查报告
  • 公文范文
  • 思想汇报
  • 当前位置: 雅意学习网 > 文档大全 > 公文范文 > 正文

    基于Q,算法的认证协议漏洞挖掘技术研究*

    时间:2023-05-28 13:00:41 来源:雅意学习网 本文已影响 雅意学习网手机站

    吕乐乐,董伟,赵云飞,冯志,李致成,张雅勤

    (华北计算机系统工程研究所,北京 102209)

    随着互联网技术的不断发展,网络应用已经融入现实生活的方方面面。为了登录不同的网络应用,用户需要注册不同网站的账号信息[1],并维护相应网站的账号和口令,低效而麻烦。认证授权协议允许第三方服务在无需用户提供账户和口令的情况下访问用户的私有资源,解决了当前开放云平台下的第三方授权问题,提高了用户的体验。但是当前网络环境复杂多样,且协议实体之间的交互存在着复杂的关系和制约,使得认证协议在交互处理中存在不确定性。因此,协议在实际使用时可能存在安全漏洞[2],攻击者会利用协议本身的逻辑缺陷对信息系统进行攻击。

    针对协议进行安全性分析是揭示协议缺陷和安全漏洞的重要方法。模糊测试是进行漏洞挖掘的常规方法[3],其本质是变异报文字段取值,而非变异协议本身逻辑,因而只能发现协议编码实现的漏洞,不能发现协议逻辑上的漏洞。形式化方法是寻找协议逻辑缺陷的重要方法,其主要通过形式化分析工具对目标系统进行形式化建模[4],但期间若存在较复杂的逻辑影响因素(如时延),会使模型变得非常复杂,一方面可能会产生失真,另一方面可能会出现状态空间爆炸问题[5]。

    为了避免“常规模糊测试查不了逻辑,形式化方法模型复杂”的问题,本文提出一种新型方法-基于模糊仿真的漏洞挖掘方法,根据协议规约进行建模,基于Dolev-Yao 模型[6]引入模糊体角色,以此制造交互过程中协议实体动作序列的不确定,结合SA-Q 强化学习算法,协助模糊体进行动作选择与判断,挖掘协议逻辑漏洞。

    1.1 认证协议

    认证协议是在通信过程中应用密码学技术隐藏或解密信息,达到身份认证以及消息正确发送的目的。在近年内许多提出的认证协议出现之初被认为是安全的[7],但是在使用多年之后却被发现存在很严重的安全漏洞。

    认证协议通常仅由几条消息组成,但是由于协议安全属性多样、逻辑结构复杂等特点,导致实际运用中存在诸多安全隐患,各种欺骗性和破坏性的攻击表明,其设计是一项高难度的工作[8]。若在逻辑上存在缺陷,执行过程中一个微小的安全漏洞就可能导致用户敏感数据暴露,使得攻击者在未授权的情况下访问系统,破坏网络服务的安全性。目前越来越多的认证协议正在涌现,关于其安全性性质的讨论方兴未艾。因此,在使用协议之前,对其进行安全性检测与分析至关重要。

    1.2 Q 学习算法

    强化学习本质上是一种基于马尔科夫决策过程(Markov Decision Process),训练智能体与环境交互,以实现智能体策略改进的机器学习算法[9]。其中典型算法Q 学习利用三元组(S,A,R)来表征其智能体模型,如图1所示。

    强化学习的目的是寻找一个策略π,使得每个状态的值函数Qπ(s)达到最大。在决策过程中,智能体通过对当前状态的认知选择动作,环境接收该动作之后发生状态的转移[10],智能体可以感知当前的状态st。交互环境会对该决策进行回应,给出相应的回报R=R(st,at),之后进入下一个状态st+1[5]。状态值函数如式(1)所示:

    其中,α 为学习率,0≤α≤1。

    认证协议模糊仿真建模主要包括两部分:一是编码合法协议体交互过程和通信时的数据流;
    另一部分是构建模糊体,可通过选择模糊策略产生“混沌”交互的海量场景,利用SA-Q 学习算法对协议状态分析,同时将智能体角色功能赋予给模糊体,通过维护Q 表为下一步的行为提供建议,协助模糊体进行决策。模型框架图如图2 所示。

    针对认证协议自身的特点,设置以下前提条件:

    (1)经过加密的消息只有知道正确的密钥才能对其进行解密;

    (2)模糊体是参与协议交互的合法主体;

    (3)模糊体熟知协议,有通信打包、解包、调用加解密算法的能力。

    2.1 协议实体分析

    首先根据协议RFC(Request For Comments)规约,分析参与协议的实体对象和报文参数,对目标协议的交互时序深入研究,构建协议交互模型,确认交互达到预期行为,搭建一个动态仿真环境代替真实运行环境。

    在协议实体中参与者分为不同的角色,如图3 所示。协议实体即遵守协议RFC 规约参与协议交互的主体,包括诚实主体和模糊体。诚实主体是严格按照协议规范执行协议交互的主体,如认证用户、第三方网站、服务器等;
    模糊体是以破坏协议交互逻辑为目标的实体,其采用模糊策略扰乱交互顺序,期望在不被察觉的情况下获得诚实主体的信任,从而对协议的某个目标造成破坏。

    2.2 模糊体构建

    基于Dolev-Yao 攻击者模型[6]的思想,引入模糊体角色。在协议交互过程中,模糊体采取主动攻击的思想,根据当前各状态机的状态选择模糊策略,协议交互环境将做出相应的改变。模糊策略包括:

    (1)当前状态在转换处“选择点”时,可以选择非正常的状态迁移。测试过程从协议的第一次交互开始,测试时模糊体根据当前自身状态和环境状态,改变交互对象并且基于自己已有的知识库组合或重放报文。

    (2)插入或者截获某段交互过程[11]。

    (3)窃听其他交互消息。

    在强化学习算法中,每一个动作可以视为一个攻击向量,用<target,operation>表示,其中target 表示交互的对象,operation 表示采取的模糊策略。环境的状态空间使用四元组(inter_phase,dat,own_state,env_state)表示,其中inter_phase 表示运行到协议交互第几阶段,data 表示接收的数据,own_state 表示交互之后协议主体自身的状态,env_state 表示当前环境状态或者其他主体状态。

    认证协议最终需要按照协议规约,通过多次交互,达到参与者之间的单向认证或者双向认证。因此若违背认证协议的安全属性[12],则表明协议存在逻辑漏洞:

    (1)如果最后模糊体以其他合法实体的身份认证成功,却不符合协议规约的认证关系;

    (2)模糊体获得其他用户的保密信息、关键参数等情况。

    2.3 SA-Q 学习算法决策

    为了引导测试走向深入,提高测试效率,采用SA-Q算法优化模糊体的决策行为。将认证协议漏洞挖掘的过程建模为马尔科夫决策模型,基于强化学习算法利用交互环境获取奖赏,训练模糊体选择最佳响应动作。

    在训练过程中,模糊体初始回合对状态动作的经验了解较少,Q 学习算法基于贪婪策略容易导致局部最优[13]。SA-Q 学习算法将模拟退火算法的Metropolis 准则[14]应用到动作搜索过程中,以解决局部最优的问题。当智能体选择动作时,除了迄今为止学习到的策略,也尝试选择当前最优策略以外的动作来探索,动作选择的概率表示为:

    其中,Q(s,ar)是随机选择动作的Q 值;
    Q(s,ag)是基于εgreedy 策略选择动作的Q 值;
    Temperature 为退火温度值,按照几何比例因子准则递减。初始回合训练时,Temperature 值较大,模糊体探索的随机性概率较高;
    后续随着温度下降,基于ε-greedy策略选择动作逐渐占据主导策略,以达到动作探索和利用的平衡[14]。

    算法中回报函数反映了当前状态下执行不同动作的效果,发现漏洞的效率很大程度取决于对执行动作的评价。本文动作评价标准如下:如果模糊体通过动作选择之后达到下一个状态节点,没有按照协议规约的动作序列且交互环境产生新的状态,根据模糊体当前处于的交互阶段给予奖励,公式如下:

    其中,phase(fuzzy body)代表模糊体利用模糊策略进行到协议交互的第几个阶段,如果交互阶段越偏后,说明模糊体越有可能攻击成功,因此回报值的大小与协议交互的阶段成比例;
    Scale factor 代表折扣因子,取值为0.6。实验采用回合制的方式进行,在每次回合中,通过一次次的动作选择,与外界环境交互得到反馈结果,计算回报函数,不断优化更新Q 表从而实现策略改进。

    3.1 实验过程

    Needham-Schroeder 协议(NSPK 协议)是一个经典的安全协议,一直被优先选为新的协议分析方法的测试对象。协议最终的目的是通信双方完成双向的身份认证。本节以NSPK 协议为例进行测试,分别基于Q 学习算法、SA-Q 算法建模,在相同交互环境下测试实验效果。

    本文方法的流程图如图4 所示。

    模糊仿真协议建模的第一步是构建协议交互实体,参数设置如表1 所示。

    表1 协议参数

    其中,Alice、Bob、Eve 是协议本身的合法主体,除此之外Eve 为模糊体。Eve 基于SA-Q 学习算法的决策方法根据当前协议体状态选择动作,充当一个有经验考虑长久化利益的交互体,以期待从交互中获得长期积累奖励的最大值。若交互中检测到协议体产生新的状态,则给予奖赏。算法中设置学习率α=0.01,贪心策略ε=0.9,折扣因子γ=0.8,降温等比系数为0.6,温度Temperature取值350,增加模糊体选择随机动作的概率。

    3.2 实验结果

    从初始状态开始,协议交互的部分路径简化如下所示,其中Eve()代表Eve 没有伪装其他主体的情况,仅接收或发送消息;
    Eve(user)代表Eve 冒充user 身份进行交互、重放或者修改交互数据。

    路径1:

    路径2:

    路径3:

    路径4:

    实验结果表明初始训练时,由于Q 表尚未完善,模糊体学习轨迹偏向于随机化,会呈现多种交互情况;
    后续随着Q 表迭代更新,学习效率逐渐提高,表明易于在协议混乱交互环境下发现攻击路径。上述路径4 表明算法发现了该协议的逻辑漏洞,NSPK 协议测试中,模糊体Eve 通过伪装协议体Alice,维护Alice 的状态机和合法身份的状态机,完成了与Bob 的身份认证,是典型攻击中的穿插攻击,并且最终发现的攻击路径和形式化软件Scyther[15]发现的攻击路径相同,其攻击轨迹如下所示:

    3.3 模型仿真分析

    3.3.1 算法性能

    基于控制变量的方法,在实验场景下使用同样的一组超参数测试Q 学习算法、SA-Q 学习算法的性能,选择平均奖励值作为评价指标,算法在一定交互次数之后得到的平均奖励值数据对比如表2 所示,数据变化趋势如图5 所示。

    表2 算法改进前后训练结果对比

    图5中,SA-Q 的奖励值在训练初始阶段小于Q 学习算法的奖励值,随着训练回合数增加,模糊体对环境知识的认知提高,大约在137 步之后奖励值趋于收敛。基本Q 学习算法在大约150 步学习之后性能仍次于前者,并且奖励值还未达到收敛状态。因此可以得出结论:(1)基于SA-Q 探索算法在一段时间学习之后其动作策略优于Q 学习算法的策略;
    (2)SA-Q 学习算法的收敛速度更快,奖励值更快趋于稳定。

    一次训练回合结束后,如果模糊体发现攻击路径代表一次胜利[16]。胜利概率是训练过程中胜利次数的总和与总的回合数episode 的比值,模糊体在不同回合下的胜利概率如图6 所示。

    从图6 中可以看出,在训练初始阶段,Q 学习算法的胜利概率相对较高;
    但后续SA-Q 学习算法在接近30回合时超过Q 学习算法的胜利概率,并且随着训练回合数的增加,胜率概率逐渐趋于1。

    3.3.2 漏洞探测能力

    基于SA-Q 学习模糊仿真模型参照协议RFC 规约和交互报文,清晰直观地描述协议实体交互过程和相应的状态机,实现了协议全范围的模拟仿真。

    该模型发现了NSPK 协议的逻辑漏洞,从攻击过程可知NSPK 协议的安全性依赖于不同参与者的合法身份标识,侧面反映认证中心和协议体之间的密钥加密并不是完全可靠的。通过设置模糊策略,呈现出协议深入交互的多场景,实现协议多角色身份交互的动态测试,有助于发掘更深层次的新型协议漏洞。

    本文针对传统测试技术缺乏对认证协议逻辑漏洞挖掘的问题,提出了一种基于SA-Q 学习算法的模糊仿真测试方法,以Needham-Schroeder 公钥协议为例,确定协议参与者和协议认证的安全属性,结合Dolev-Yao 模型引入模糊体角色,在拥有合法身份的前提下进行逻辑模糊,检测出协议的穿插攻击,证实了建模的准确性和有效性。

    模糊仿真思想考虑了协议多会话交互、多方参与的特殊场景,在模拟系统各部分的协议交互中,增设有关机制模糊化处理,对协议交互逻辑进行深入分析。本文将SA-Q 学习算法与Q 学习算法进行对比分析,初步结果表明,SA-Q 学习算法在收敛速度方面优于标准Q 学习算法。当前基于强化学习的漏洞挖掘仍处于模拟验证阶段,但使用虚拟化手段在仿真环境训练智能体是未来的研究方向,在后续的工作中,针对复杂交互的认证协议,需要进一步完善模型和模糊策略,考虑使用基于神经网络的强化学习算法来调整模糊规则库和状态动作空间,使之具有泛化能力,增强模型的扩展性。

    猜你喜欢 漏洞逻辑状态 刑事印证证明准确达成的逻辑反思法律方法(2022年2期)2022-10-20漏洞今日农业(2022年13期)2022-09-15逻辑中学生百科·大语文(2021年11期)2021-12-05创新的逻辑纺织科学研究(2021年7期)2021-08-14状态联想小学生作文(低年级适用)(2019年5期)2019-07-26基于selenium的SQL注入漏洞检测方法电子制作(2019年11期)2019-07-04生命的另一种状态读友·少年文学(清雅版)(2018年12期)2018-04-04女人买买买的神逻辑37°女人(2017年11期)2017-11-14漏洞在哪儿儿童时代(2016年6期)2016-09-14坚持是成功前的状态山东青年(2016年3期)2016-02-28

    推荐访问:技术研究 算法 漏洞

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章