一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于在用户设备中生成核心转储的方法和系统与流程

2022-06-05 04:29:39 来源:中国专利 TAG:

用于在用户设备中生成核心转储的方法和系统
1.相关申请的交叉引用
2.本技术要求于2020年12月1日在专利、外观设计及商标管理总局(cgpdtm)提交的印度临时专利申请no.202041052295的优先权,其全部内容通过引用合并于此。
技术领域
3.各种示例实施例总体涉及核心转储,具体地涉及用于在用户设备(ue)中生成核心转储(core dump)的方法、装置、系统和/或非暂时性计算机可读介质。


背景技术:

4.传统上,调制解调器处理器负责跨越一系列技术提供智能电话中的无线通信和连接。提高的数字化已经导致智能电话用于诸如以下的机密性至关重要的通信需求:银行业务、基于一次性密码的认证、发送/接收机密数据、数字权限管理(drm)等,其中的大部分使用调制解调器基带经由网络进行交换。这在增加了对数字通信中更强安全性的需求和/或需要的同时,也增加了通过逆向工程、窥探或恶意软件攻击而将这些关键安全凭证暴露给黑客的风险。大多数记录在案的网络攻击被发现是在获得关于计算机系统和/或网络系统的设计和操作的重要知识之后进行的。核心转储是一种这样的攻击向量(attack vector)(例如,网络攻击向量),其可以暴露能够使网络入侵者发现计算机系统和/或网络系统中的漏洞的信息。
5.核心转储包含计算机系统的当前执行状态、当前使用的代码(例如,程序代码、计算机可读指令等)、静态字符串和在计算机系统故障时驻留在存储器中的数据。在大多数嵌入式系统的情况下,所有代码始终驻留在存储器中。不存在将代码按需加载到存储器中。因此,这样的系统的核心转储将包含存储在存储器中的所有代码。大多数发布的消费设备将可以选择收集核心转储以用于调试目的。一种选择是不允许在消费设备上捕获核心转储。然而,即使在发布前进行了广泛的测试之后,一些问题也可能仅在设备到达客户之后出现。在这种情况下,仍然期望和/或需要核心转储来调试和修复该问题。
6.对核心转储的轻松访问促进了调制解调器基带处理器攻击。报告表明,蜂窝调制解调器的大多数逆向工程通过访问调制解调器基带处理器的核心转储的内容来执行。对核心转储的访问使软件漏洞、安全缺陷和/或错误的识别变得容易。通过利用这些漏洞注入的恶意程序帮助黑客控制调制解调器和/或提取机密信息,否则黑客可能无法访问。
7.在相关领域中讨论了用于windows虚拟机的随机存取存储器(ram)转储的加密和解密。一种系统被配置用于windows虚拟机。它对ram的所有内容进行加密。在上述相关领域系统中,用户需要有公钥/私钥对。
8.另一相关领域系统包含对ram的部分进行加密,在ram的这些部分中ram的内容在系统运行时被加密,从而创建敏感信息能够驻留的安全区域。然而,该系统没有解决在系统崩溃的情况下如何能够对加密信息进行解密和/或核心转储。
9.相关领域的另一系统包含:通过由随机数据替换敏感数据或者通过利用“动态密
钥算法”对敏感区域进行加密来“隐藏”ram转储的敏感区域。然而,该系统不包括保护代码。在该系统中,敏感数据被标记的方式是不同的,需要开发人员将每一个变量/结构/分配(allocation)都标记为敏感。相关领域中提出的解决方案需要对编译器和链接器进行改变,使得针对每个源文件,敏感区域被识别和标记。然后,目标文件结构也必须被修改。
10.在运行时分配和释放的与识别敏感数据相关联的运行时开销增加。敏感数据的隐藏通过使用现有的随机替换算法或通过使用现有的加密算法来实现。但是相关领域未公开找回敏感数据,并且相关领域中的隐藏敏感数据操作是一种单向过程。存在扫描ram以查找敏感数据的扫描模块。
11.其他相关领域描绘了核心转储中对象数据的加密和解密。相关领域公开了一种连接到信号处理器的隐私保护模块。它不包括在哈希/crc(循环冗余校验)检查之后跳过核心转储中的只读(ro)区域。它不包括使用非对称加密。此外,不存在对ram的部分的选择性加密。此外,隐私保护模块定位ram中的敏感数据。
12.期望和/或需要一种克服上述缺点的解决方案。


技术实现要素:

13.提供本发明内容以简化的方式介绍在具体实施方式中进一步描述的构思的选择。本发明内容不旨在标识要求保护的主题的关键或必要发明构思,也不旨在确定要求保护的主题的范围。依据本公开的目的,在此实施和广泛描述的各种示例实施例描述了用于在ue中生成核心转储的方法、装置、系统和/或非暂时性计算机可读介质。
14.依据本发明构思的一些示例实施例,公开了一种在ue中生成核心转储的方法。所述方法可以包括:使用至少一个处理器,检测触发,所述触发包括用于在所述ue中生成核心转储的指令;使用所述至少一个处理器,将所述ue的存储器中存储的数据分类为读写(rw)数据或只读(ro)数据;以及使用所述至少一个处理器,基于所述存储器中的所述rw数据生成部分核心转储。
15.根据本发明构思的一些示例实施例,公开了一种重建完整核心转储的方法。所述方法可以包括:使用至少一个处理器,接收触发,所述触发包括用于生成用户设备(ue)的完整核心转储的指令;使用所述至少一个处理器,从期望的部分核心转储文件获取只读(ro)数据,所述期望的部分核心转储文件被至少部分地加密;使用所述至少一个处理器,将所述ro数据写入到输出文件;使用所述至少一个处理器,从所述期望的部分核心转储文件获取读写(rw)数据;以及使用所述至少一个处理器,将所述rw数据写入到所述输出文件以重建所述完整核心转储。
16.根据本发明构思的一些示例实施例,公开了一种用于在ue中生成核心转储的系统。所述系统可以包括:至少一个处理器,所述至少一个处理器被配置为执行计算机可读指令以执行如下操作:检测触发,所述触发包括用于在所述ue中生成核心转储的指令;将存储在所述ue的存储器中的数据分类为存在于所述ue的所述存储器中的读写(rw)数据和只读(ro)数据;以及基于所述ue的所述存储器的所述rw数据生成部分核心转储。
17.根据本发明构思的一些示例实施例,公开了一种用于重建完整核心转储的解密设备。所述解密设备可以包括:至少一个处理器,所述至少一个处理器被配置为执行计算机可读指令以执行如下操作:接收触发,所述触发包括用于生成用户设备(ue)的完整核心转储
的指令;从期望的部分核心转储文件获取只读(ro)数据,所述部分核心转储文件被至少部分地加密;将所述ro数据写入到输出文件;从所述期望的部分核心转储文件获取读写(rw)数据;以及将所述rw数据写入到所述输出文件以重建所述完整核心转储。
18.根据以下结合附图的详细描述和权利要求,将更清楚地理解这些方面和优点。
附图说明
19.图1示出描绘根据本发明构思的至少一个示例实施例的用于在ue中生成核心转储的方法的操作流程图;
20.图2a示出根据本发明构思的至少一个示例实施例的用于在ue中生成核心转储的系统的示意框图;
21.图2b示出根据本发明构思的至少一个示例实施例的用于对加密部分进行解密的解密实体的示意框图;
22.图3a示出描绘根据本发明构思的至少一个示例实施例的用于生成核心转储的过程的操作流程图;
23.图3b示出描绘根据本发明构思的至少一个示例实施例的用于重建完整核心转储的过程的操作流程图;
24.图4示出描绘根据本发明构思的至少一个示例实施例的用于重建完整核心转储的方法的操作流程图;
25.图5示出描绘根据本发明构思的至少一个示例实施例的普通核心转储的熵的图形表示;以及
26.图6示出描绘根据本发明构思的至少一个示例实施例的熵完全加密的核心转储的图形表示。
27.此外,技术人员将理解,附图中的元件是为了简单起见而被示出并且可以不必按比例绘制。例如,流程图依据涉及的最突出的操作来示出所述方法,以帮助提高对本发明构思的至少一个示例实施例的方面的理解。此外,依据设备的构造,可以在附图中通过常规符号来表示设备的一个或更多个组件,并且附图可以仅示出与理解本发明构思的示例实施例有关的那些具体细节,以免利用对于本领域普通技术人员受益于在此的描述而显而易见的细节使附图模糊。
具体实施方式
28.出于促进对本发明构思的示例实施例中的一个或更多个示例实施例的原理的理解的目的,现在将参照附图中示出的实施例并且将使用特定语言对其进行描述。然而,将理解,并不意图由此限制示例实施例的范围,示出的系统中的这样的改变和进一步修改以及如在此示出的示例实施例的原理的这样的进一步应用被认为是本发明构思所涉及的领域的技术人员通常可以想到的。
29.本领域技术人员将理解,前面的总体描述和下面的详细描述是对本发明构思的示例实施例中的一个或更多个示例实施例的解释,而不意图对其进行限制。
30.贯穿本说明书的对“一方面”、“另一方面”或类似语言的引用表示结合示例实施例描述的特定特征、结构或特性包括在本发明构思的至少一个示例实施例中。因此,贯穿本说
明书的短语“在至少一个示例实施例中”、“在另一示例实施例中”和类似语言的出现可以但并不一定都表示同一示例实施例。
31.术语“包含”、“包括”或其任意其他变体旨在涵盖非排他性的包含,使得包含一系列操作的过程或方法不是仅包括那些操作,而是可以包括未明确列出的和/或这样的过程和/或方法固有的其他操作。类似地,在没有更多约束的情况下,“包括”之后的一个或更多个设备、子系统、元件、结构和/或组件等,不排除存在其他设备、其他子系统、其他元件、其他结构、其他组件、额外设备、额外子系统、额外元件、额外结构和/或额外组件等。
32.除非另外定义,否则在此使用的所有技术和科学术语具有与本发明构思所属领域的普通技术人员通常理解的含义相同的含义。在此提供的系统、方法、装置和/或非暂时性计算机可读介质示例仅是示意性的,而不意图限制。
33.为了简洁起见,示例实施例的每个组件的参考标号的第一个数字表示附图编号,其中,对应的组件被示出。例如,以数位“1”开头的参考标号至少在图1中被示出。类似地,以数字“2”开头的参考标号至少在图2中被示出,以此类推。
34.下面参照附图详细描述本发明构思的各种示例实施例。
35.图1示出描绘根据本发明构思的至少一个示例实施例的用于在ue中生成核心转储的方法的操作流程图100。
36.在操作102,该方法包括检测用于生成核心转储的触发等。根据至少一个示例实施例,触发可以是由ue(诸如,图2a的ue 203a等)发送和/或生成的指令、故障、异常等,但是示例实施例不限于此。
37.在操作104,该方法包括识别存在于ue的随机存取存储器(ram)中的读写(rw)数据和只读(ro)数据等。
38.在操作106,该方法包括基于ram的rw数据生成部分核心转储等。
39.将结合图2a更详细地讨论操作102至操作106。
40.图2a示出根据本发明构思的至少一个示例实施例的用于在ue 203a中生成核心转储的系统202a的示意框图200a。在至少一个示例实施例中,系统202a和/或ue 203a可以在诸如以下项的一个或更多个电子设备中实现:智能电话、平板电脑、膝上型计算机、台式计算机、工作站计算机、服务器、可穿戴设备、网络设备、其他智能设备、物联网(iot)设备、游戏机、导航设备、自动设备(例如,自动车辆等)、云设备、虚拟现实设备和/或增强现实设备、机器人设备、电子保健设备等,但是示例实施例不限于此。在至少一个示例实施例中,系统202a可以在单个设备中实现,和/或以分布式方式在多个设备中实现,但是示例实施例不限于此。根据至少一个示例实施例,系统202a可以是ue 203a的一部分,或者可以是经由有线接口和/或无线接口连接到ue 203a的单独的电子设备等。
41.在至少一个示例实施例中,系统202a可以包括至少一个处理器204a、存储器206a(存储器件)和/或数据208a等,但是示例实施例不限于此,例如,系统202a可以包括更多或更少数量的构成组件,诸如多个处理器204a、多个存储器206a、基带调制解调器处理器、有线网络接口、无线网络接口、显示设备、单独的数据存储设备(例如,存储空间)等。根据一些示例实施例,数据208a可以被存储在存储器206a中,但是示例实施例不限于此。例如,数据208a可以被存储在单独的数据存储设备中等。类似地,ue 203a可以包括至少一个处理器205a和/或存储器207a(例如,存储器件)等,但是示例实施例不限于此。
42.在至少一个示例实施例中,处理器204a和/或205a可以是单个处理单元(例如,处理电路等)或多个处理单元,其中,所有的处理单元都可以包括多个计算单元。处理器204a和/或205a可以被实现为一个或更多个微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令操纵信号的任意硬件设备。例如,处理器204a和/或205a(例如,处理电路)可以包括:诸如处理器、处理器核、逻辑电路、存储设备等的硬件;诸如执行软件和/或执行任意指令集的至少一个处理器核等的硬件/软件组合;或者它们的组合。例如,处理电路更具体地可以包括但不限于现场可编程门阵列(fpga)、可编程逻辑单元、专用集成电路(asic)、片上系统(soc)等。在其他能力当中,处理器204a和/或205a被配置为分别获取并执行存储在存储器206a和/或207a中的计算机可读指令和数据,但是不限于此。
43.根据一些示例实施例,至少一个处理器204a可以被配置为运行和/或执行存储在ue 203a中的启动程序(boot-up procedure)。在至少一个示例实施例中,启动程序可以包括基于存在于和/或存储在ue 203a的ram 207a中的ro数据生成校验和,但是示例实施例不限于此,例如,启动程序可以被存储在bios存储器和/或ue的rom中、存储在网络设备上、存储在可移除磁盘上等。当生成校验和时,处理器204a可以被配置为将校验和存储在存储器206a中。在至少一个示例实施例中,校验和可以被存储在存储器206a中的ram的保留区域(例如,期望区域、目标区域等)中,但是示例实施例不限于此。
44.根据一些示例实施例,处理器204a可以被配置为通过将ro数据分段成若干ro数据片段(例如,多个ro数据片段)来生成与ro数据相关联的校验和。此外,处理器204a可以被配置为生成与若干ro数据片段相关和/或对应的若干校验和(例如,生成多个校验和)等。在至少一个示例实施例中,处理器204a可以被配置为将若干校验和存储(例如,将多个校验和存储)到ram的保留区域中,但是示例实施例不限于此。
45.根据至少一个示例实施例,处理器204a可以被配置为如在图1中的操作102中讨论的检测与发起用于生成核心转储的过程相关的触发(例如,指令、故障、异常等)。在至少一个示例实施例中,在启动程序期间、在系统202a的正常执行期间、和/或在ue 203a和/或系统202a所经历的硬件错误和/或软件错误中的一个或更多个发生时等,触发可以被检测,但是示例实施例不限于此。在检测到触发时,处理器204a可以对存在于ue 203a的ram 207a和/或其他存储器和/或数据存储设备(例如,闪存、ssd、硬盘驱动器等)中的数据进行识别和/或分类等。在至少一个示例实施例中,如在图1的操作104中讨论的,存储在ram中的数据可以被识别和/或分类为读写(rw)数据和/或只读(ro)数据等。
46.根据一些示例实施例,处理器204a可以被配置为如在图1的操作106中讨论的基于ue 203a的ram 207a(和/或其他存储器)的rw数据生成部分核心转储,使得rw数据可以被添加到部分核心转储中。根据一些示例实施例,仅ram的rw数据可以被添加到部分核心转储,但是示例实施例不限于此。例如,添加到部分核心转储的rw数据和/或ro数据可以是已被选定、请求、已知和/或识别为敏感数据、机密数据、技术数据等的期望数据。
47.除了生成部分核心转储之外,处理器204a可以被配置为导出和/或生成加密密钥。为了导出和/或生成加密密钥,处理器204a可以被配置为生成随机数r(和/或伪随机数等),但是示例实施例不限于此。在至少一个示例实施例中,随机数r可以被称为ue的私钥。在至少一个示例实施例中,私钥“r”可以被称为“privd”。在至少一个示例实施例中,处理器204a
可以被配置为利用例如如下所示的ecc操作来计算公钥“pubd”,但是示例实施例不限于此。
48.pubd=privd.g
49.其中,g是椭圆曲线的生成点。
50.此外,根据至少一个示例实施例,处理器204a可以被配置为使用例如以下ecc操作来导出和/或生成共享秘值“s”,但是示例实施例不限于此。
51.s=privd.pubh
52.在至少一个示例实施例中,“pubh”可以被预先生成并且存在于ue中,但是示例实施例不限于此。
53.此外,处理器204a可以被配置为将“s”馈送到例如密钥导出函数(kdf)中以导出和/或生成用于加密算法的对称密钥“k”。在至少一个示例实施例中,加密算法可以是如下所示的对称密钥加密算法,但是示例实施例不限于此。
54.k=kdf(s)
55.在至少一个示例实施例中,处理器204a可以被配置为确定加密技术的失败。作为一个示例,加密技术可能由于生成对称密钥之前的系统崩溃等而导致失败。作为另一示例,加密技术可能由于ecc操作期间发生的系统崩溃等而导致失败。
56.根据至少一个示例实施例,在确定加密技术的失败时,处理器204a可以被配置为实现回退(fallback)(例如,替代密钥生成)机制。在至少一个示例实施例中,处理器204a可以被配置为如下所示当在ecc操作之前或在ecc操作期间发生系统崩溃时使用基于例如带盐输入的对称密钥加密算法的kdf来生成对称密钥(例如,替代对称密钥等),但是示例实施例不限于此。根据至少一个示例实施例,盐输入(salt)可以是系统202a的系统时间和ro区域校验和,但是示例实施例不限于此。
57.salt=t|checksumvalue
58.其中,t=当前系统时间,校验和(checksumvalue)=在启动时间计算的ro区域校验和。

|’表示串联(concatenation)。
59.k=kdf(salt)
60.此外,处理器204a可以被配置为将盐输入与核心转储一起发送,使得对称密钥可以被生成以用于解密等。
61.根据一些示例实施例,在检测到触发(例如,指令、故障、异常等)并生成加密密钥时,处理器204a可以被配置为对若干校验和(例如,多个校验和)执行验证操作。在至少一个示例实施例中,验证操作可以包括:将若干校验和与存储在存储器206a中的ram的保留区域中的若干校验和进行比较(例如,将多个校验和与先前(例如,在ue的启动操作之后)生成并存储在ram的保留区域中的多个校验和进行比较等),但是不限于此。在至少一个示例实施例中,处理器204a可以被配置为基于若干校验和当中的每个校验和的值来执行比较,使得该值与与先前存储在存储器206a中的ram中的若干校验和中的每个校验和相关的另一值进行比较等。在比较时,处理器204a可以被配置为识别若干校验和当中的未通过验证操作的一个或更多个校验和(例如,识别和/或确定校验和是有效还是无效)。
62.根据一些示例实施例,在识别出未通过验证的一个或更多个校验和时,处理器204a可以被配置为将与所述一个或更多个校验和相关的一个或更多个ro数据片段附加到部分核心转储。在至少一个示例实施例中,处理器204a可以被配置为通过应用期望的和/或
预定义的密码技术对一个或更多个ro片段进行加密。在至少一个示例实施例中,期望的和/或预定义的加密技术可以是对称密钥加密算法,但是示例实施例不限于此。
63.此外,密钥“k”可以用于对转储的敏感部分进行加密。在至少一个示例实施例中,敏感部分可以包括使用对称密钥加密算法的一个或更多个ro数据片段。在至少一个示例实施例中,处理器204a可以被配置为在加密时将加密的核心转储与公钥“pubd”一起发送,但是示例实施例不限于此。
64.在对一个或更多个ro数据片段进行加密时,处理器204a可以被配置为将一个或更多个加密的ro数据片段附加到部分核心转储。在至少一个示例实施例中,一个或更多个加密的ro数据片段可以被互换地称为一个或更多个加密部分等。在至少一个示例实施例中,处理器204a可以被配置为以随机的顺序附加一个或更多个加密的ro数据片段,但是不限于此。此外,通过使用上述加密方法对ro数据片段进行加密,可以降低和/或减少恶意行为者访问核心转储中潜在可用的ue的敏感数据、机密数据、技术数据等的能力。
65.存储器206a可以包括本领域公知的任意非暂时性计算机可读介质,其包含例如易失性存储器(诸如,静态随机存取存储器(sram)和/或动态随机存取存储器(dram))和/或非易失性存储器(诸如,只读存储器(rom)、可擦除可编程rom、闪存、硬盘、光盘和/或磁带)等。
66.除了其他项以外,数据208a还用作用于存储由处理器204a和/或存储器206a中的一个或更多个处理、接收和/或生成的数据的储存库(repository)。以非限制性方式进一步写入系统202a的前述组件中的一个或更多个组件可以例如使用一个或更多个输入/输出端口、一条或更多条总线以及一个或更多个通信单元(例如,通信处理器、网络接口等)发送和/或接收数据等,但是示例实施例不限于此。
67.图2b示出根据本发明构思的至少一个示例实施例的用于对加密部分(encrypted section)进行解密的解密实体202b(例如,解密设备等)的示意框图200b。根据一些示例实施例,解密实体202b可以包括至少一个处理器204b、存储器206b和/或数据208b等,但是示例实施例不限于此,例如,可以包括更多或更少数量的构成组件。在至少一个示例实施例中,处理器204b可以是单个处理单元(例如,处理电路等)或多个处理单元,其中,所有的处理单元都可以包括多个计算单元。处理器204b可以被实现为一个或更多个微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令操纵信号的任意硬件设备。例如,处理器204b(例如,处理电路)可以包括:诸如处理器、处理器核、逻辑电路、存储设备等的硬件;诸如执行软件和/或执行任意指令集的至少一个处理器核等的硬件/软件组合;或者它们的组合。例如,处理电路更具体地可以包括但不限于现场可编程门阵列(fpga)、可编程逻辑单元、专用集成电路(asic)、片上系统(soc)等。在其他能力当中,处理器204b被配置为获取并执行存储在存储器206b中的计算机可读指令和数据,但是不限于此。
68.在至少一个示例实施例中,处理器204b可以被配置为从若干数据部分(例如,数据片段、存储区段(memory section)等)识别一个或更多个加密部分。在至少一个示例实施例中,一个或更多个加密部分可以包括ro数据片段和rw数据片段中的至少一者,但是示例实施例不限于此。
69.在至少一个示例实施例中,处理器204b还可以被配置为从诸如图2a的ue 203a等的ue设备接收触发(例如,指令、故障、异常等),以生成核心转储。在至少一个示例实施例
中,为了生成核心转储,处理器204b可以被配置为读取部分核心转储中的保留区域以获取与部分核心转储的若干部分相关的信息。在至少一个示例实施例中,处理器204b还可以被配置为获取存在于部分核心转储中(和/或包括在部分核心转储中、存储在部分核心转储中等)的公钥“pubd”,但是示例实施例不限于此。
70.根据一些示例实施例,处理器204b可以被配置为从至少一个期望的和/或预定的文件获取ro数据。在至少一个示例实施例中,期望的和/或预定的文件可以是可执行和可链接格式(elf)文件,但是不限于此。此外,处理器204b可以被配置为将ro数据写入到至少一个输出文件等。在至少一个示例实施例中,处理器204b可以被配置为从部分核心转储获取rw数据并将rw数据写入到输出文件以创建完整核心转储等。
71.此外,处理器204b可以被配置为对部分核心转储的一个或更多个加密部分进行解密,但是不限于此。在至少一个示例实施例中,一个或更多个加密部分可以包括一个或更多个损坏的ro数据片段,但是不限于此。在至少一个示例实施例中,处理器204b可以被配置为从部分核心转储中的期望的和/或预定的位置获得与ro数据的顺序对应的排序信息(例如,ro数据被附加到部分核心转储的顺序等)。此外,处理器204b可以被配置为基于排序信息对一个或更多个损坏的ro数据片段进行重新排序(例如,将一个或更多个损坏的ro数据片段的排序改回它们的原始顺序等)。此外,处理器204b可以被配置为对一个或更多个加密的损坏的ro数据片段进行解密等。
72.在至少一个示例实施例中,用于解密的处理器204b可以被配置为从期望的和/或预定的位置获得ue的公钥。此外,处理器204b可以被配置为基于获得的ue的公钥和解密实体202b的私钥(例如,存储在解密实体202b中的私钥等)生成共享密钥。此外,处理器204b可以被配置为使用例如kdf基于共享密钥生成对称密钥,但是示例实施例不限于此。响应于对称密钥的生成,处理器204b可以被配置为基于生成的对称密钥和解密算法对至少部分加密的部分核心转储进行解密。
73.存储器206b可以包括本领域公知的任意非暂时性计算机可读介质,其包含例如易失性存储器(诸如,静态随机存取存储器(sram)和/或动态随机存取存储器(dram))和/或非易失性存储器(诸如,只读存储器(rom)、可擦除可编程rom、闪存、硬盘、光盘和/或磁带)等,但是示例实施例不限于此。
74.除了其他项以外,数据208b还用作用于存储由处理器204b和/或存储器206b等中的一个或更多个处理、接收和/或生成的数据的储存库。以非限制性方式进一步写入解密实体202b的前述组件中的一个或更多个组件可以例如使用一个或更多个输入/输出端口、一条或更多条总线和/或一个或更多个通信单元(例如,通信处理器、网络接口等)等发送和/或接收数据,但是示例实施例不限于此。
75.图3a示出描绘根据本发明构思的至少一个示例实施例的用于生成核心转储的过程的操作流程图300a。在至少一个示例实施例中,核心转储可以如在图2a和图2b中讨论的由系统202a生成。在至少一个示例实施例中,系统202a可以被并入ue中,但是示例实施例不限于此。ue的示例可以包括但不限于智能电话、个人计算机(pc)、膝上型计算机、平板电脑、可穿戴设备、服务器、网络设备、其他智能设备、物联网(iot)设备、游戏机、导航设备、自动设备(例如,自动车辆等)、云设备、虚拟现实设备和/或增强现实设备、机器人设备、电子保健设备等,但是示例实施例不限于此。
76.在操作302a,系统202a可以针对ue执行启动程序。
77.在操作304a,系统202a可以将存在于ro区域中的ro数据分段成若干ro数据片段(例如,多个ro数据片段)。在生成了若干ro片段(例如,多个ro数据片段)时,系统202a可以进行到操作306a。
78.在操作306a,系统202a可以生成与若干ro数据片段相关的若干校验和。在至少一个示例实施例中,每个校验和可以是针对每个ro数据片段计算的循环冗余校验(crc)值,但是示例实施例不限于此,例如,可以使用其他哈希(hashing)技术。在至少一个示例实施例中,若干校验和可以被存储在诸如存储器206a、非暂时性计算机可读介质等的存储空间(例如,存储设备)中。
79.在操作308a,系统202a可以检测崩溃和触发(例如,发起、指示、引起等)部分核心转储的生成。崩溃的示例可以包括但不限于调制解调器崩溃、软件系统错误、硬件系统错误和/或数据窃取企图等,但是不限于此。
80.在操作310a,系统202a可以识别存在于ue的ram(和/或其他存储器)中的数据。在至少一个示例实施例中,数据可以被识别为读写(rw)数据和/或只读(ro)数据等。在至少一个示例实施例中,ro数据可以包括以可执行和可链接格式(elf)存在的信息,但是不限于此。在至少一个示例实施例中,所述信息可以包括代码(例如,程序代码、软件代码等)、字符串和/或二进制格式的硬编码/预存储信息等,但是示例实施例不限于此。
81.在操作312a,系统202a可以基于rw数据生成部分核心转储,使得ro数据不被添加在部分核心转储中。
82.在操作314a,系统202a可以导出与部分核心转储相关联的加密密钥、与若干校验和和若干ro数据片段(例如,多个校验和和多个ro数据片段)相关联的扩展的加密密钥等。在至少一个示例实施例中,生成加密密钥可以包括生成随机数(和/或伪随机数)r。在至少一个示例实施例中,随机数r可以被称为ue的私钥。在至少一个示例实施例中,私钥“r”可以被称为“privd”。此外,系统202a可以例如利用ecc操作计算公钥:
83.pubd=privd.g
84.其中,g是椭圆曲线的生成点。
85.此外,系统202a可以利用例如ecc操作导出共享秘值:
86.s=privd.pubh
87.此外,系统202a可以将“s”馈送到密钥导出函数(kdf)中以导出用于加密算法的对称密钥。在至少一个示例实施例中,该算法可以是对称密钥加密算法,但是示例实施例不限于此。
88.k=kdf(s)
89.在至少一个示例实施例中,在确定加密技术不成功的情况下,例如,由于在ecc操作之前和/或在ecc操作期间发生系统崩溃导致加密技术的失败等,系统202a可以使用基于带盐输入(例如,系统时间和/或ro区域校验和)的对称密钥加密算法的kdf来生成对称密钥。
90.salt=t|checksum
91.其中,t=当前系统时间,校验和=在启动时间计算的ro区域校验和。

|’表示串联。
92.k=kdf(salt)
93.此外,系统202a可以将盐输入与核心转储一起发送,使得对称密钥可以被生成以用于解密。
94.在操作316a,系统202a可以响应于核心转储生成的开始来验证与若干ro数据片段相关联的若干校验和。在至少一个示例实施例中,验证可以包括:将若干校验和(例如,当前校验和)与先前存储在存储器206中的ram的保留区域中的若干其他校验和(例如,先前的校验和、在ue的启动操作期间生成的校验和(诸如,在操作306a期间生成的校验和)、在ue的已知正常操作期间生成的校验和等)进行比较。在至少一个示例实施例中,系统202a可以基于若干校验和(例如,多个校验和)当中的每个校验和的值来执行比较,使得该值与与先前存储在存储器206中的ram中的若干其他校验和中的每个校验和相关的另一值进行比较。
95.在至少一个示例实施例中,在确定与若干校验和中的每个校验和相关联的值可以与与若干其他校验和相关联的另一值相同和/或相似的情况下,系统202a可以进行到操作318a。
96.在至少一个示例实施例中,在确定与若干校验和中的每个校验和相关联的值不同于与若干其他校验和相关联的另一值的情况下,系统202a可以进行到操作320a。
97.在操作318a,系统202a可以跳过将ro区域的部分发送到部分核心转储。
98.在操作320a,系统202a可以对部分核心转储进行加密。在至少一个示例实施例中,加密包括使用密码密钥交换技术生成ue的随机私钥,但是不限于此。在至少一个示例实施例中,系统202a可以基于生成的随机私钥和非对称密码算法生成ue的公钥,但是示例实施例不限于此。在至少一个示例实施例中,在公钥生成之后,系统202a可以生成从ue的随机私钥和解密实体的公钥导出的共享密钥。此外,系统202a可以基于ue的随机私钥和解密实体202b的公钥生成对称密钥,但是示例实施例不限于此。
99.此外,系统202a可以使用对称密钥对rw数据中的至少一部分rw数据进行加密以获得至少一个部分加密的部分核心转储。此外,系统202a可以在至少部分加密的部分核心转储中的期望的和/或预定的位置附加ue的公钥,但是示例实施例不限于此。在至少一个示例实施例中,系统202a可以在使用对称密钥等对rw数据中的至少一部分rw数据进行加密期间确定失败时生成替代对称密钥。此外,在生成替代对称密钥时,系统202a可以通过使用基于带系统时间(例如,当前系统时间)和ro区域校验和的非对称密钥加密算法的kdf来生成对称密钥,但是示例实施例不限于此。
100.在至少一个示例实施例中,系统202a可以检查在ue中是否设置一个或更多个安全标准(例如,安全设置、参数等)。在至少一个示例实施例中,一个或更多个安全标准可以包括:用于对与主动远程访问工具(rat)相关联的rw数据中的至少一部分rw数据进行选择性地加密的主动rat信息,从一个或更多个内部安全模块(诸如,假基站检测模块(例如,假基站检测代码等)、堆栈损坏检测模块(例如,堆栈损坏检测代码等)和/或缓冲器溢出检测模块(例如,缓冲区溢出检测代码等)等)接收的用于基于更高风险评估确定要被加密的rw数据中的至少一部分rw数据的信息,从应用处理器(ap)和/或协处理器接收的指示要被加密的rw数据中的至少一部分rw数据的大小的信息,和/或指定要被加密的存储器地址的固定范围等。此外,系统202a可以在确定出在ue中设置了一个或更多个安全标准时对部分核心转储中的rw数据中的至少一部分rw数据进行加密,以获得至少部分加密的部分核心转储。
101.在操作322a,当若干校验和中的每个校验和不同于与若干其他校验和相关联的另一值时,系统202a可以在加密时将若干ro数据片段附加到部分核心转储等。在至少一个示例实施例中,具有与另一值不同的值的若干校验和可以被称为一个或更多个ro数据片段,但是不限于此。在至少一个示例实施例中,可以将一个或更多个ro数据片段以随机顺序附加到部分核心转储。
102.在操作324a,过程可以终止。
103.图3b示出描绘根据本发明构思的至少一个示例实施例的用于重建完整核心转储的过程的操作流程图300b。在至少一个示例实施例中,在接收到图3a中生成的部分核心转储时生成完整核心转储,但是示例实施例不限于此。在至少一个示例实施例中,可以响应于接收到用于生成完整核心转储的触发(例如,指令、信号等)而生成完整核心转储。
104.在操作302b,解密实体202b可以读取部分核心转储中的保留区域以获取与部分核心转储的若干部分(例如,多个部分)相关的信息。
105.在操作304b,解密实体202b可以获取存在于(例如,包括在、附加到等)部分核心转储中的公钥。在至少一个示例实施例中,公钥可以是图2a中提到的“pubd”,但是不限于此。在至少一个示例实施例中,解密实体202b可以使用“pubd”来导出用于解密的对称密钥。在至少一个示例实施例中,解密实体202b可以使用以下公式来导出对称密钥:
106.s=pubd.privh
107.k=kdf(s),其中,k=图3a中生成的k。
108.存在于部分核心转储中的加密密钥是图3a中生成并与部分核心转储一起发送以用于解密的密钥“k”,但是示例实施例不限于此。
109.在操作306b,解密实体202b可以从期望的和/或预定的文件获取ro数据。在至少一个示例实施例中,期望的和/或预定的文件可以是arm可执行文件(axf)文件和/或elf格式的文件等中的一个或更多个,但是示例实施例不限于此。此外,解密实体202b可以将ro数据写入到输出文件。在至少一个示例实施例中,解密实体202b可以从部分核心转储获取rw数据。在从部分核心转储获取了rw数据时,解密实体202b可以将rw数据写入到输出文件以重建完整核心转储。
110.在操作308b,解密实体202b可以确定部分核心转储的若干部分中的每个部分是否被加密。在至少一个示例实施例中,在确定若干部分当中的一个部分被加密的情况下,解密实体202b可以进行到操作312b。在至少一个示例实施例中,在确定若干部分当中的一个部分未被加密的情况下,解密实体202b可以进行到操作310b。
111.在操作310b,解密实体202b可以将识别为未加密部分的部分写入到输出文件。
112.在操作312b,解密实体202b可以对若干部分(例如,多个部分)当中的被识别和/或确定为一个或更多个加密部分的一个或更多个部分进行解密。在至少一个示例实施例中,一个或更多个加密部分可以包括来自基于一个或更多个安全标准加密的rw数据的一部分的rw数据片段和/或ro数据片段中的一个或更多个。在至少一个示例实施例中,一个或更多个加密部分可以包括一个或更多个损坏的ro数据片段。在至少一个示例实施例中,解密实体202b可以从部分核心转储中的期望的和/或预定的位置获得与ro数据的顺序对应的排序信息。
113.此外,解密实体202b可以基于排序信息对一个或更多个损坏的ro数据片段进行重
新排序。此外,解密实体202b可以对一个或更多个损坏的ro数据片段进行解密。在至少一个示例实施例中,解密可由如图2b中提及的解密实体204b执行,但是示例性实施例不限于此。在至少一个示例实施例中,解密可以包括从期望的和/或预定的位置获得ue的公钥等。在获得了ue的公钥时,解密实体202b可以基于获得的ue的公钥和解密实体的(例如,存储在解密实体中的)私钥来生成共享密钥。此外,解密实体202b可以使用kdf基于共享密钥来生成对称密钥,但是不限于此。继续进行,解密实体202b可以基于生成的对称密钥和解密算法来对至少部分加密的部分核心转储进行解密,但是示例实施例不限于此。
114.此外,解密实体202b可以将解密的部分核心转储写入到输出文件。然后判断是否为最后一个部分,在确定了为最后一个部分时,在操作314b,过程可以终止。
115.图4示出描绘根据本发明构思的至少一个示例实施例的用于重建完整核心转储的方法的操作流程图400。
116.在操作402,该方法包括接收用于生成完整核心转储的触发(例如,指令、信号等)。
117.在操作404,该方法包括从期望的和/或预定的文件获取ro数据。
118.在操作406,该方法包括将ro数据写入到输出文件。
119.在操作408,该方法包括从部分核心转储获取rw数据。
120.在操作410,该方法包括将rw数据写入到输出文件以重建完整核心转储。
121.图5示出描绘根据本发明构思的至少一个示例实施例的普通核心转储的熵的图形表示500。在至少一个示例实施例中,加密数据的熵(例如,≈1)高于存在于ram核心转储中的通常数据的熵。在至少一个示例实施例中,在图形表示500中,表示汇编指令的偏移量(例如,约10mb至约40mb等)的熵≈0.85,但是示例实施例不限于此。
122.图6示出描绘根据本发明构思的至少一个示例实施例的熵完全加密的核心转储的图形表示600。在至少一个示例实施例中,完全加密的ram转储的熵是例如≈1。此外,ram转储的加密部分也可以包括熵例如≈1。在至少一个示例实施例中,例如熵=1可以通过检测加密代码区域/其他区域的存在来检测侵犯(infringement),但是示例实施例不限于此。
123.虽然已经使用特定语言来描述本发明构思的各种示例实施例,但是不意图由此产生的任何限制。如对本领域技术人员来说显而易见的,可以对该方法进行各种工作修改以实现如在此教导的发明构思。附图和前面的描述讨论了本发明构思的各种示例实施例。本领域技术人员将理解,描述的元件可以被很好地组合成单个功能元件。可选择地,特定元件可以被拆分为多个功能元件。例如,来自一个示例实施例的元件可以被添加到另一示例实施例等。显然,本发明构思的各种示例实施例可以在所附权利要求的范围内以其他方式不同地实施和实践。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献