基于梅克尔树的无服务器应用程序数据完整性验证方法

    技术2026-05-08  17


    本发明涉及一种基于梅克尔树的无服务器应用程序数据完整性验证方法。


    背景技术:

    1、在当今的计算环境中,无服务器架构已经成为一种流行的应用程序开发模型。这种架构的便利性吸引着开发人员,让他们能够更快速地开发和部署应用。然而,令人担忧的是,在应用程序所有者部署阶段使用无服务器架构可能会加剧安全隐患。无服务器应用程序部署之后由于缺乏充分的审计,导致无服务器架构面临着数据注入和数据泄露等安全威胁。这种审计不足可能为攻击者利用程序漏洞进行数据注入攻击创造了机会,并增加了数据泄露的潜在风险。正因为无服务架构对数据流动缺乏全面了解和监控,追踪和应对潜在安全事件也变得异常困难。经过上述的分析,pubali datta等人提出了alastor这一种针对无服务器平台的操作需求的审计框架,它使用来自各种来源的日志(包括系统调用跟踪和网络分析)提供对应用程序行为的细粒度跟踪。alastor还可以生成全局溯源图,展示攻击者的行为路径和数据流动,帮助进行调查和分析。需要注意的是,alastor并不是一个完整的入侵检测系统,它更多地是一个用于跟踪和分析应用程序行为的工具。alastor框架已经实现的具体的步骤如下:

    2、1.首先需要在系统中部署alastor,以便能够捕获和记录系统中的各种事件和操作。

    3、2.alastor会收集系统中的各种日志数据,包括系统调用、文件操作、网络通信等。这些日志数据将用于后续的溯源分析。

    4、3.alastor会将收集到的日志数据转化为全局溯源图,该图表示了系统中各个事件和操作之间的关系。

    5、4.通过对全局溯源图进行分析,可以识别出系统中的异常行为和潜在的安全威胁。

    6、5.最后,alastor会生成溯源分析的报告,其中包括系统中发现的异常行为、安全威胁以及建议的应对措施。

    7、然而alastor框架存在一定的局限性,具体如下:

    8、a.在alastor框架中,虽然它能够收集和记录各种事件和操作,但无法提供对数据完整性的验证。这就意味着alastor在收集和存储日志数据时,存在被篡改或删除的风险,攻击者可能利用这一漏洞来掩盖其活动,没有有效的机制来确保记录的数据是真实且未经篡改的,这可能导致对应用程序行为的跟踪和分析出现误导性结果。

    9、b.alastor需要处理大量的数据来构建全局溯源图,但这可能导致数据的安全性较低。攻击者可能会利用这些大量数据的处理过程中的漏洞或不足,从而对数据进行篡改、窃取或破坏,进而威胁到系统的安全性。

    10、c.alastor无法提供对数据的可信度验证。攻击者可能会伪造或篡改日志数据,使其看起来像是合法的活动。这可能会误导分析人员,并影响他们对应用程序行为的真实理解。由于缺乏对数据真实性的验证机制,分析人员可能会对分析结果产生怀疑,降低了分析的可信度和可靠性。


    技术实现思路

    1、本发明解决的技术问题是:针对无服务器架构缺少保护应用程序的函数执行路径完整性导致的系统安全问题,提供一种基于梅克尔树的无服务器应用程序数据完整性验证方法。

    2、本发明采用如下技术方案实现:

    3、基于梅克尔树的无服务器应用程序数据完整性验证方法,在无服务器平台部署融合处理器、证明存储器和验证优化器;所述融合处理器与无服务器平台每个应用程序的函数一起协同部署,作为对应函数接收传入调用的端点,在应用程序收到调用方的调用请求时,启动跟踪对应函数功能链上的函数调用信息,并通过证明存储器收集函数调用信息构建对应函数的第一梅克尔树数据结构,将第一梅克尔树数据结构以及函数功能链调用完毕后的函数调用信息进行存储;所述验证优化器对证明存储器存储的函数调用信息构建第二梅克尔树数据结构,并与该调用函数的第一梅克尔树数据结构进行比较验证,并将验证结果通过融合处理器输出。

    4、在本发明的基于梅克尔树的无服务器应用程序数据完整性验证方法中,进一步的,在调用方请求调用函数时,所述融合处理器从环境变量中获取该调用函数所在融合组的初始配置,并检查是否存在调用链id,对于已存在的调用链id,直接传递到相关函数调用;如果不存在调用链id则通过以下方式生成一个新的调用链id:将所有融合组的名称串联起来,形成表示该调用函数所在融合组初始配置的字符串,根据该字符串生成一个随机的十六进制字符串,将融合组初始配置标识、当前函数名称和随机字符串进行拼接后计算其sha-256哈希值,以此生成最终的调用链id添加到调用请求中。

    5、在本发明的基于梅克尔树的无服务器应用程序数据完整性验证方法中,进一步的,所述调用链id随调用请求一起传递,进行请求调用分发,通过invokelocal方法来确定采用本地调用函数或远程调用函数,若调用函数与当前执行请求的函数属于同一个融合组,则直接本地调用被调用函数,否则,进行远程调用。

    6、在本发明的基于梅克尔树的无服务器应用程序数据完整性验证方法中,进一步的,所述证明存储器使用aws cloudwatch进行日志记录,所述函数调用信息添加到日志记录服务后触发证明存储器收集对应函数调用信息。

    7、在本发明的基于梅克尔树的无服务器应用程序数据完整性验证方法中,进一步的,所述证明存储器通过以下方式收集函数调用信息构建对应函数的第一梅克尔树数据结构:首先、遍历无服务器平台上所有指定的日志组,收集每个日志组的函数调用信息;其次、采用正则表达式对日志组解析出功能链上的每个函数调用信息,对日志中提取的函数调用信息计算sha-256哈希值,将计算哈希值的函数调用信息汇总到allinvocations数组中,通过函数调用信息计算的哈希值作为叶子节点构建第一梅克尔树数据结构,得到第一梅克尔树数据结构上的节点作为整个调用链的证明;最后、传递allinvocations数组和第一梅克尔树数据结构进行存储。

    8、在本发明的基于梅克尔树的无服务器应用程序数据完整性验证方法中,进一步的,所述无服务器平台部署s3存储桶来存储allinvocations数组和第一梅克尔树数据结构。

    9、在本发明的基于梅克尔树的无服务器应用程序数据完整性验证方法中,进一步的,所述验证优化器从证明存储器中读取函数调用信息与对应函数调用链上的第一梅克尔树数据结构,自动计算该函数功能链调用完毕后的函数调用信息的哈希值,构建第二梅克尔树数据结构,通过在对第一梅克尔树数据结构中搜索与第二梅克尔树数据结构哈希值相同的叶子节点进行比较验证:

    10、若第二梅克尔树数据结构与第一梅克尔树数据结构的叶子节点哈希值都相同匹配,则验证成功,迭代优化找到最佳函数融合组,通过环境变量将最佳函数融合组反馈融合处理器;

    11、若第二梅克尔树数据结构与第一梅克尔树数据结构存在哈希值不相同的叶子节点,则验证失败,根据哈希值不同的叶子节点找到异常数据块,通过变量环境将该异常数据块的标志位反馈给融合处理器。

    12、在本发明的基于梅克尔树的无服务器应用程序数据完整性验证方法中,进一步的,所述验证优化器通过以下规则迭代优化找到最佳函数融合组:将同步函数归为一组,异步函数归为一组,选择同步函数进行性能测试,确保同步函数的内存使用不会超过无服务器平台的初始内存分配;如果同步函数的内存超过无服务器平台的初始内存分配,则动态调整内存设置;使用迭代法测试各同步函数的融合配置,迭代后比较同步函数的配置中位延迟,通过寻找延迟最低的配置确定最佳配置,验证该配置的有效性后得到延迟最低且内存使用最优的最佳函数融合组。

    13、在本发明的基于梅克尔树的无服务器应用程序数据完整性验证方法中,进一步的,若所述融合处理器接收到验证优化器反馈验证成功的标志信息,所述融合处理器根据验证优化器反馈的最佳函数融合组处理调用方的调用分发;若所述融合处理器接收到验证优化器反馈验证失败的标志信息,所述融合处理器停止函数调用并通知调用方该函数调用链存在异常执行。

    14、在本发明的基于梅克尔树的无服务器应用程序数据完整性验证方法中,进一步的,所述函数调用信息从以下运行函数所需的结构化事件数据中选取:记录每个函数的执行数据、新函数配置、每个函数数据对象包含有关函数执行的信息,包含跟踪标识符、融合组、执行时间、源函数、当前函数、计费持续时间、最大内存使用量、是否为根调用、开始时间戳、结束时间戳、内部持续时间、调用信息列表、执行结果。

    15、本发明提出了一种新的思路来保护无服务器应用程序的函数执行路径完整性,将梅克尔树这种数据结构应用于无服务器架构中,由于梅克尔树数据结构的设计是基于哈希值计算和验证的原理,可用于确保数据的完整性,因此可以应用到保护无服务器应用程序的函数执行路径上。通过计算函数执行路径的调用信息的哈希值并将其存储在梅克尔树数据结构中,可以有效地检测任何未经授权的更改或篡改。这种方法不仅可以帮助防止数据注入攻击,还可以提供一种可靠的手段来验证函数执行路径的真实性。因此,这种方法不仅有助于增强无服务器应用程序的安全性,还可以为组织提供更全面的数据流动监控和安全事件应对能力。相较于现有的alastor框架,本发明具有如下有益效果:

    16、(1)本发明引入了梅克尔树数据结构技术来解决函数执行路径完整性的问题。将单个函数执行的调用信息视为数据块,并利用梅克尔树数据结构来组织和验证这些数据块,可以有效地检测到函数执行路径的任何篡改或损坏。梅克尔树数据结构的构建过程是逐级组合哈希,将数据块的哈希值组合成树结构,最终生成一个根哈希。通过比较根哈希值,可以验证数据的完整性,即使是细微的数据更改也会导致根哈希值的变化,从而及时检测到数据篡改。

    17、(2)为了数据安全性低的问题,alastor框架需要确保日志数据的安全性,防止敏感信息泄露或被未授权的用户访问。本发明使用哈希值进行加密可以有效保护日志数据的安全性,因为只有授权的用户才能使用正确的密钥解密哈希值,从而获取原始数据,确保数据仅被授权的用户访问。

    18、(3)本发明为了解决数据可信度验证的问题,利用梅克尔树数据结构的验证机制,加密哈希值可以帮助梅克尔树数据结构抵御数据的篡改和伪造,因为加密后的哈希值是不可逆的,攻击者无法轻易修改或伪造哈希值以欺骗系统。这有助于提高系统对恶意攻击和数据篡改的抵御能力,确保数据的完整性和可信度。

    19、综上所述,本方案提出了一种基于梅克尔树数据结构的数据完整性验证方法方法来保护无服务器应用程序的函数执行路径完整性,通过引入梅克尔树技术和对函数调用信息计算哈希值,有效地保障了无服务器应用程序的函数执行路径完整性和数据安全性,同时梅克尔树数据结构验证机制和加密哈希值的使用有助于提高系统对恶意攻击和数据篡改的抵御能力,确保了数据的完整性和可信度。

    20、以下结合附图和具体实施方式对本发明做进一步说明。


    技术特征:

    1.基于梅克尔树的无服务器应用程序数据完整性验证方法,其特征在于:

    2.根据权利要求1所述的基于梅克尔树的无服务器应用程序数据完整性验证方法,其特征在于:

    3.根据权利要求2所述的基于梅克尔树的无服务器应用程序数据完整性验证方法,其特征在于:

    4.根据权利要求1所述的基于梅克尔树的无服务器应用程序数据完整性验证方法,其特征在于:

    5.根据权利要求4所述的基于梅克尔树的无服务器应用程序数据完整性验证方法,其特征在于:

    6.根据权利要求5所述的基于梅克尔树的无服务器应用程序数据完整性验证方法,其特征在于:

    7.根据权利要求1所述的基于梅克尔树的无服务器应用程序数据完整性验证方法,其特征在于:

    8.根据权利要求7所述的基于梅克尔树的无服务器应用程序数据完整性验证方法,其特征在于:

    9.根据权利要求7所述的基于梅克尔树的无服务器应用程序数据完整性验证方法,其特征在于:

    10.根据权利要求1所述的基于梅克尔树的无服务器应用程序数据完整性验证方法,其特征在于:


    技术总结
    本发明提出了一种基于梅克尔树的无服务器应用程序数据完整性验证方法,保护无服务器应用程序的函数执行路径完整性,将梅克尔树这种数据结构应用于无服务器架构中,梅克尔树数据结构设计基于哈希值计算和验证的原理,可用于确保数据的完整性,可以应用到保护无服务器应用程序的函数执行路径上。通过计算函数执行路径的调用信息的哈希值并将其存储在梅克尔树数据结构中,可以有效地检测任何未经授权的更改或篡改。本发明不仅可以帮助无服务器应用程序防止数据注入攻击,还可以提供一种可靠的手段来验证函数执行路径的真实性,有助于增强无服务器应用程序的安全性,为无服务器平台提供更全面的数据流动监控和安全事件应对能力。

    技术研发人员:何典,黄兰芳,李闯,刘刚,梁英
    受保护的技术使用者:湖南工商大学
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-42491.html

    最新回复(0)