用于编译源代码的系统和过程技术方案

技术编号:33526658 阅读:57 留言:0更新日期:2022-05-19 01:49
本公开的实施例涉及用于编译源代码的系统和过程。根据一个方面,一种用于通过编译工具将源代码编译为计算机可执行代码的方法包括:接收源代码作为到编译工具的输入;将源代码转译为包括由处理器可执行的机器指令的目标代码;然后在目标代码的机器指令之间引入从非法指令和非操作指令中选择的附加指令,以获得可执行代码;然后传递可执行代码作为编译工具的输出。具的输出。具的输出。

【技术实现步骤摘要】
用于编译源代码的系统和过程
[0001]相关申请的交叉引用
[0002]本申请要求于2020年11月13日提交的法国申请号2011657的权益,该申请通过引用并入本文。


[0003]本公开的实现方式和实施例涉及计算机系统的某些方面的安全,诸如例如,由该计算机系统执行的指令集的安全,并且本公开具体涉及抵御错误注入攻击的安全性或安全性方面。

技术介绍

[0004]实施例有利地但不排他地应用于其处理单元包括例如微控制器或微处理器的计算机系统。
[0005]程序包括由多个机器指令(或者简称为“指令”)组成的至少一个目标代码。
[0006]机器指令是能够由处理器执行的目标代码的基本操作。
[0007]机器指令可以借助编译工具而从源代码中获得。
[0008]编译工具(或者“编译器”)是将源代码转换为目标代码的程序。具体地,源代码可以包括被转译为目标代码中的指令的函数。
[0009]此外,通过处理器对目标代码指令的执行由时钟来计时。
[0010]在时钟的电子组件上可能发生干扰。这样的干扰可能会影本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种通过编译工具将源代码编译为计算机可执行代码的方法,所述编译工具在计算机处理单元内实现,所述方法包括:接收所述源代码,作为到所述编译工具的输入;将所述源代码存储在所述计算机处理单元的存储器中;通过所述编译工具,将所述源代码转译为包括由处理器可执行的机器指令的目标代码;在所述转译之后,通过所述编译工具在所述目标代码的机器指令之间引入从附加非法指令或附加非操作指令中选择的附加指令,以获得所述计算机可执行代码;以及在所述引入之后,传递所述计算机可执行代码作为所述编译工具的输出。2.根据权利要求1所述的方法,其中所述目标代码包括包含机器指令集的函数,并且所述方法包括:在所述目标代码的所述函数之间引入所述附加非法指令。3.根据权利要求1所述的方法,还包括:在从所述源代码转译的所述目标代码的分支指令之后引入至少一个附加非法指令。4.根据权利要求1所述的方法,还包括:在从所述源代码转译的所述目标代码的两个机器指令之间引入附加分支指令以及随后的至少一个附加非法指令。5.根据权利要求1所述的方法,其中从所述源代码转译的所述目标代码包括经转译的比较指令以及随后的经转译的条件分支指令,并且所述方法还包括:在所述源代码的经转译的比较指令上游或者所述源代码的经转译的条件分支指令之后,在所述目标代码中引入附加比较指令以及随后的附加条件分支指令,所述附加比较指令与所述源代码的经转译的比较指令相同,并且所述附加条件分支指令与所述源代码的经转译的比较指令之后的经转译的条件分支指令相反;以及在来自所述源代码的所述附加条件分支指令和所述经转译的条件分支指令的最后条件分支指令之后,引入至少一个附加非法指令。6.根据权利要求1所述的方法,还包括:在函数调用分支指令之后引入至少一个附加非法指令;以及在所述函数中引入至少一个加法指令,所述至少一个加法指令被配置用于通过将在所述函数调用分支指令之后引入的多个附加非法指令添加到返回地址,来修改链接寄存器中存储的所述返回地址。7.根据权利要求1所述的方法,还包括:在从所述源代码转译的所述目标代码的至少两个机器指令之间引入至少两个连续的附加非法指令。8.根据权利要求7所述的方法,还包括:随机选择连续的附加非法指令的数目,以在从所述源代码转译的所述目标代码的所述至少两个机器指令之间引入。9.根据权利要求1所述的方法,还包括:仅对所述目标代码的一部分执行所述附加指令的所述引入。10.根据权利要求1所述的方法,还包括:在至少部分随机选择的所述目标代码的位置处将所述附加指令引入到所述目标代码中。11.一种非暂态计算机可读记录介质,包括:编译工具,用于将源代码编译为计算机可执行代码,所述编译工具被配置为:接收所述源代码作为输入;
将所述源代码存储在计算机处理单元的存储器中;将所述源代码转译为包括由处理器可执行的机器指令的目标代码;在所述转译之后,在所述目标代码的机器指令之间引入从附加非法指令或附加非操作指令中选择的附加指令,以获得所述计算机可执行代码;以及在所述引入之后,传递所述计算机可执行代码作为输出。12.根据权利要求11所述的非暂态计算机可读记录介质,其中所述目标代码包括包含机器指令集的函数,并且其中所述编译工具被配置为在所述目标代码的所述函数之间引入所述附加非法指令。13.根据权利要求11所述的非暂态计算机可读记录介质,其中所述编译工具被配置为在从所述源代码转译的所述目标代码的分支指令之后引入至少一个附加非法指令。14.根据权利要求11所述的非暂态计算机可读记录介质,其中所述编译工具被配置为在从所述源代码转译的所述目标代码的两个机器指令之间引入附加分支指令以及随后的至少一个附加非法指令。15.根据权利要求11所述的非暂态计算机可读记录介质,其中从所述源代码转译...

【专利技术属性】
技术研发人员:M
申请(专利权)人:意法半导体大西部公司
类型:发明
国别省市:

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

1