FR3116356B1 - Procédé de compilation d’un code source - Google Patents

Procédé de compilation d’un code source Download PDF

Info

Publication number
FR3116356B1
FR3116356B1 FR2011657A FR2011657A FR3116356B1 FR 3116356 B1 FR3116356 B1 FR 3116356B1 FR 2011657 A FR2011657 A FR 2011657A FR 2011657 A FR2011657 A FR 2011657A FR 3116356 B1 FR3116356 B1 FR 3116356B1
Authority
FR
France
Prior art keywords
code
source code
executable
compiling
instructions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
FR2011657A
Other languages
English (en)
Other versions
FR3116356A1 (fr
Inventor
Michel Jaouen
Roy Stéphane Le
Moïse Gergaud
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Grand Ouest SAS
Original Assignee
STMicroelectronics Grand Ouest SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Grand Ouest SAS filed Critical STMicroelectronics Grand Ouest SAS
Priority to FR2011657A priority Critical patent/FR3116356B1/fr
Priority to US17/451,394 priority patent/US11893370B2/en
Priority to CN202111336977.7A priority patent/CN114489657A/zh
Publication of FR3116356A1 publication Critical patent/FR3116356A1/fr
Application granted granted Critical
Publication of FR3116356B1 publication Critical patent/FR3116356B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

Selon un aspect, il est proposé un procédé de compilation par un outil de compilation d’un code source (CS) en un code (PRG) exécutable par ordinateur comprenant : - une réception (20) en entrée de l’outil de compilation du code source,- une traduction (21) du code source (CS) en un code objet comprenant des instructions-machines exécutables par un processeur, puis - une introduction (22), entre des instructions-machines du code objet, d’instructions additionnelles choisies parmi des instructions illégales et des instructions de non opération de façon à obtenir ledit code exécutable (PRG), puis - une délivrance (23) du code exécutable (PRG) en sortie de l’outil de compilation. Figure pour l’abrégé : Figure 2
FR2011657A 2020-11-13 2020-11-13 Procédé de compilation d’un code source Active FR3116356B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR2011657A FR3116356B1 (fr) 2020-11-13 2020-11-13 Procédé de compilation d’un code source
US17/451,394 US11893370B2 (en) 2020-11-13 2021-10-19 System and process for compiling a source code
CN202111336977.7A CN114489657A (zh) 2020-11-13 2021-11-12 用于编译源代码的系统和过程

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2011657A FR3116356B1 (fr) 2020-11-13 2020-11-13 Procédé de compilation d’un code source
FR2011657 2020-11-13

Publications (2)

Publication Number Publication Date
FR3116356A1 FR3116356A1 (fr) 2022-05-20
FR3116356B1 true FR3116356B1 (fr) 2024-01-05

Family

ID=75108404

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2011657A Active FR3116356B1 (fr) 2020-11-13 2020-11-13 Procédé de compilation d’un code source

Country Status (2)

Country Link
US (1) US11893370B2 (fr)
FR (1) FR3116356B1 (fr)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10101956A1 (de) * 2001-01-17 2002-07-25 Infineon Technologies Ag Verfahren zur Erhöhung der Sicherheit einer CPU
JP2003005980A (ja) * 2001-06-22 2003-01-10 Matsushita Electric Ind Co Ltd コンパイル装置およびコンパイルプログラム
FR2877118B1 (fr) * 2004-10-22 2007-01-19 Oberthur Card Syst Sa Protection contre les attaques par generation de fautes sur les instructions de saut
US20150227371A1 (en) * 2014-02-12 2015-08-13 Imagination Technologies Limited Processors with Support for Compact Branch Instructions & Methods
JP6370098B2 (ja) * 2014-05-16 2018-08-08 杉中 順子 情報処理装置、情報処理監視方法、プログラム、及び記録媒体
US10936714B1 (en) * 2018-02-02 2021-03-02 Itsec Analytics Pte. Ltd. Systems and methods for preventing code insertion attacks
US11809871B2 (en) * 2018-09-17 2023-11-07 Raytheon Company Dynamic fragmented address space layout randomization
US10545850B1 (en) * 2018-10-18 2020-01-28 Denso International America, Inc. System and methods for parallel execution and comparison of related processes for fault protection

Also Published As

Publication number Publication date
US11893370B2 (en) 2024-02-06
US20220164172A1 (en) 2022-05-26
FR3116356A1 (fr) 2022-05-20

Similar Documents

Publication Publication Date Title
EP1398695A3 (fr) Compilateur
US8495597B2 (en) On the fly generation of multimedia code for image processing
Leone et al. Lightweight Run-Time Code Generation.
CN1949186A (zh) 一种程序调测系统及用于程序调测系统的映射方法
EP1284454A3 (fr) Méthode et appareil pour compilateur de système de simulation
US10269087B2 (en) Language translation using preprocessor macros
JP2010204979A5 (ja) コンパイル方法
CN108874396A (zh) 基于hlsl的多平台多目标语言的交叉编译器及编译方法
JP5818695B2 (ja) コード変換方法、プログラム及びシステム
TW200508973A (en) An extensible type system for representing and checking consistency of program components during the process of compilation
EP1089172A3 (fr) Compilateur et méthode pour compiler un langage de spécification en langage de réalisation
NZ241693A (en) Compiling computer code: elements of intermediate language flow graph include indications of effects and dependencies on other elements
WO2001097078A8 (fr) Procede et appareil de selection automatique d'une regle
CN1804803A (zh) 具有对异步程序流程建模的软件工具
WO2015124116A3 (fr) Système et procédé permettant d'isoler l'exécution des entrées et sorties grâce a un compilateur et à un système d'exploitation
FR3116356B1 (fr) Procédé de compilation d’un code source
FR3091385B1 (fr) Méthode de développement d’un procédé de compilation d’un circuit quantique sur un processeur quantique et un tel procédé
ITMI20022410A1 (it) Procedimento per la nitrazione di alcandioli.
WO2001086427A3 (fr) Transformation d'objets entre un langage de programmation et un langage de representation de donnees
TW200511115A (en) Method and apparatus for instruction compression and decompression in a cache memory
CN1265488A (zh) 程序执行方法
Chambers Staged compilation
FR3118965B1 (fr) Thioxanthone polymérisable
FR3069678B1 (fr) Procede d'evaluation d'un temps d'execution de taches sur des blocs materiels
CN1477800A (zh) 镜像测试方法

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20220520

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4