一种控制多线程程序冗余执行的方法和装置制造方法及图纸

技术编号:32832851 阅读:34 留言:0更新日期:2022-03-26 20:48
本申请公开一种控制多线程程序冗余执行的方法和装置,该方法及装置通过监控主变体的线程级系统调用,并有针对性的对监控到的需在从变体进行同步的主变体系统调用进行记录处理,并将主变体的系统调用记录重放至从变体端,使从变体的各线程执行与主变体一致的系统调用序列,以此避免拟态化软件进程中不同变体的多线程乱序执行问题,相应可避免表决时产生假阳错误,另外,本申请由于有针对性的仅记录并重放了部分系统调用(即需在从变体同步的系统调用),如文件读写,文件替换等调用,从而最终只需对部分系统调用进行表决,监视器无需介入由变体执行的每个系统调用,从而进一步提升了拟态化软件内核的安全性。了拟态化软件内核的安全性。了拟态化软件内核的安全性。

【技术实现步骤摘要】
一种控制多线程程序冗余执行的方法和装置


[0001]本申请属于计算机
,尤其涉及一种控制多线程程序冗余执行的方法和装置。

技术介绍

[0002]拟态化软件是指功能等价、结构不同的软件个体,拟态化软件可以表现为多个进程或者多个线程,拟态化软件执行架构使用软件多样化技术构建功能等价的变体集合,运行时对从集合中选择的每个变体都赋予相同的输入,再通过监视器监视每个变体的输出行为并检测它们之间的分歧。拟态化软件执行架构是多样化技术解决安全问题的延续和补充,只要多样化的个体在一定程度上满足攻击面不大范围“相交”就可以作为变体的“源”加入执行框架。拟态化软件执行并不追求用“加密”的方法来保护程序中某些可以被攻击者利用的信息,只要经过多样化处理过的程序变体在漏洞利用方面相互之间出现了空间或时间上的差异就可。
[0003]申请人发现,目前的拟态化软件内核设计存在安全问题,且拟态化软件进程中不同变体的多线程乱序执行,会导致表决时产生假阳错误。

技术实现思路

[0004]有鉴于此,本申请提供一种控制多线程程序冗余执行的方法和装置,用于至本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种控制多线程程序冗余执行的方法,其特征在于,包括:监控主变体的线程级系统调用;确定监控到的线程级系统调用是否为需在从变体进行同步的系统调用;其中,所述主变体和所述从变体分别包括相同数量的多个线程;若是,对所述线程级系统调用进行记录处理,以更新对所述主变体的系统调用记录;所述系统调用记录包括:所述主变体的每个线程对应的按时间线发生的需同步至从变体的各系统调用构成的系统调用序列;将所述系统调用记录重放至从变体端,以使从变体的各线程执行与主变体的对应线程一致的系统调用序列。2.根据权利要求1所述的方法,其特征在于,所述监控主变体的线程级系统调用,包括:通过拦截所述主变体的线程级系统调用指令,对所述主变体的线程级系统调用进行监控。3.根据权利要求2述的方法,其特征在于,在确定监控到的线程级系统调用是否为需在从变体进行同步的系统调用之后,还包括:若否,停止对所述线程级系统调用的拦截,以使所述主变体的程序继续运行。4.根据权利要求1所述的方法,其特征在于,所述确定监控到的线程级系统调用是否为需在从变体进行同步的系统调用,包括:确定所述线程级系统调用是否为会影响多线程冗余执行结果导致执行结果发生变化的系统调用;若是,确定所述线程级系统调用为需在从变体进行同步的系统调用;若否,确定所述线程级系统调用为无需在从变体进行同步的系统调用。5.根据权利要求1所述的方法,其特征在于,在主变体或从变体执行过程中,主变体或从变体的前后系统调用采用互斥锁使用共享资源;且对于需要同步的系统调用,一个变体同时只能有一个线程执行系统调用...

【专利技术属性】
技术研发人员:韩首魁潘传幸张高举李昂
申请(专利权)人:郑州昂视信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1