-
公开(公告)号:CN119106415A
公开(公告)日:2024-12-10
申请号:CN202411099761.7
申请日:2024-08-12
Applicant: 中国科学院计算技术研究所
Abstract: 本发明提出一种eBPF程序的硬件辅助隔离执行方法,包括:获取待执行的eBPF程序,将该eBPF程序中访问数据页均设置为非特权页面后,通过即时JIT编译将该eBPF程序中所有的内存访问指令发射为非特权访问指令,得到待执行程序;在服务器操作系统的内核态EL1运行该待执行程序,得到运行结果;且在运行该待执行程序的过程中,该待执行程序中的非访存指令以内核态EL1特权级运行,且运行过程中该待执行程序中的访存指令为非特权访问指令,以用户态EL0非特权级运行该非特权访问指令。通过将eBPF程序的内存设置为非特权页,eBPF程序仍然在特权级运行,但被发射为使用非特权的访存指令。由于内核内存被设置为特权页,因此eBPF程序无法访问它们,从而保证了内核的内存安全。
-
公开(公告)号:CN114003868A
公开(公告)日:2022-02-01
申请号:CN202111300044.2
申请日:2021-11-04
Applicant: 中国科学院计算技术研究所
IPC: G06F21/14
Abstract: 本发明实施例提供了一种处理软件代码的方法和电子设备,该方法通过获取待处理的软件代码,构建所述软件代码的控制流图;根据所述控制流图和预设的处理逻辑,对所述软件代码中选定的函数进行拆分处理和/或聚合处理以改变控制流图的原有结构,其中,所述拆分处理是将一个函数裂变成多个函数,将函数内控制流关系转变成函数间调用关系,所述聚合处理是将多个函数聚合成一个函数。由此,该技术方案可以不像现有的代码混淆技术那样增加大量的无关指令而严重影响程序性能,但由于改变了原始的软件代码中的控制流图和调用关系(相当于改变了函数调用图),能够在保障程序性能的情况下,有效对抗基于控制流图和/或函数调用图分析的代码比对技术。
-