CONTROL FLOW INTEGRITY

In some examples, a computing system comprises a processor, a memory coupled to the processor, configured to store program code executable by the processor, the program code comprising one or more branch instructions, a stack data structure accessible to the processor, and a stack pointer associated...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: DENIS-COURMONT, Rémi Robert Michel
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator DENIS-COURMONT, Rémi Robert Michel
description In some examples, a computing system comprises a processor, a memory coupled to the processor, configured to store program code executable by the processor, the program code comprising one or more branch instructions, a stack data structure accessible to the processor, and a stack pointer associated to the stack data structure, the stack pointer identifying an address in the stack data structure during execution of the program code by the processor, and a compiler unit coupled to the memory and processor, configured to access the program code from the memory, and generate, for each of the one or more branch instructions, a data value based on an output of a cryptographically secure function, wherein data values for respective branch instructions are generated based on a first input identifying the address of the stack pointer prior to an evaluation of the branch instruction, a second input encoding information indicative of a target address in the memory subsequent to evaluation of the branch instruction, and a third input comprising a cryptographically secure key. Une mémoire couplée au processeur, configurée pour stocker un code de programme exécutable par le processeur, le code de programme comprenant une ou plusieurs instructions de branchement, une structure de données de pile accessible au processeur, et un pointeur de pile associé à la structure de données de pile, le pointeur de pile identifiant une adresse dans la structure de données de pile pendant l'exécution du code de programme par le processeur, et une unité de compilation couplée à la mémoire et au processeur, configurée pour accéder au code de programme à partir de la mémoire, et générer, pour chacune de la ou des instructions de branchement, une valeur de données sur la base d'une sortie d'une fonction sécurisée de manière cryptographique, des valeurs de données pour des instructions de branchement respectives étant générées sur la base d'une première entrée identifiant l'adresse du pointeur de pile avant une évaluation de l'instruction de branchement, une troisième entrée comprenant une clé sécurisée de manière cryptographique.
format Patent
fullrecord <record><control><sourceid>epo_EVB</sourceid><recordid>TN_cdi_epo_espacenet_WO2023169654A1</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>WO2023169654A1</sourcerecordid><originalsourceid>FETCH-epo_espacenet_WO2023169654A13</originalsourceid><addsrcrecordid>eNrjZBBz9vcLCfL3UXDz8Q9X8PQLcXUP8gyJ5GFgTUvMKU7lhdLcDMpuriHOHrqpBfnxqcUFicmpeakl8eH-RgZGxoZmlmamJo6GxsSpAgBG3iBR</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>patent</recordtype></control><display><type>patent</type><title>CONTROL FLOW INTEGRITY</title><source>esp@cenet</source><creator>DENIS-COURMONT, Rémi Robert Michel</creator><creatorcontrib>DENIS-COURMONT, Rémi Robert Michel</creatorcontrib><description>In some examples, a computing system comprises a processor, a memory coupled to the processor, configured to store program code executable by the processor, the program code comprising one or more branch instructions, a stack data structure accessible to the processor, and a stack pointer associated to the stack data structure, the stack pointer identifying an address in the stack data structure during execution of the program code by the processor, and a compiler unit coupled to the memory and processor, configured to access the program code from the memory, and generate, for each of the one or more branch instructions, a data value based on an output of a cryptographically secure function, wherein data values for respective branch instructions are generated based on a first input identifying the address of the stack pointer prior to an evaluation of the branch instruction, a second input encoding information indicative of a target address in the memory subsequent to evaluation of the branch instruction, and a third input comprising a cryptographically secure key. Une mémoire couplée au processeur, configurée pour stocker un code de programme exécutable par le processeur, le code de programme comprenant une ou plusieurs instructions de branchement, une structure de données de pile accessible au processeur, et un pointeur de pile associé à la structure de données de pile, le pointeur de pile identifiant une adresse dans la structure de données de pile pendant l'exécution du code de programme par le processeur, et une unité de compilation couplée à la mémoire et au processeur, configurée pour accéder au code de programme à partir de la mémoire, et générer, pour chacune de la ou des instructions de branchement, une valeur de données sur la base d'une sortie d'une fonction sécurisée de manière cryptographique, des valeurs de données pour des instructions de branchement respectives étant générées sur la base d'une première entrée identifiant l'adresse du pointeur de pile avant une évaluation de l'instruction de branchement, une troisième entrée comprenant une clé sécurisée de manière cryptographique.</description><language>eng ; fre</language><subject>CALCULATING ; COMPUTING ; COUNTING ; ELECTRIC DIGITAL DATA PROCESSING ; PHYSICS</subject><creationdate>2023</creationdate><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20230914&amp;DB=EPODOC&amp;CC=WO&amp;NR=2023169654A1$$EHTML$$P50$$Gepo$$Hfree_for_read</linktohtml><link.rule.ids>230,308,776,881,25542,76289</link.rule.ids><linktorsrc>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20230914&amp;DB=EPODOC&amp;CC=WO&amp;NR=2023169654A1$$EView_record_in_European_Patent_Office$$FView_record_in_$$GEuropean_Patent_Office$$Hfree_for_read</linktorsrc></links><search><creatorcontrib>DENIS-COURMONT, Rémi Robert Michel</creatorcontrib><title>CONTROL FLOW INTEGRITY</title><description>In some examples, a computing system comprises a processor, a memory coupled to the processor, configured to store program code executable by the processor, the program code comprising one or more branch instructions, a stack data structure accessible to the processor, and a stack pointer associated to the stack data structure, the stack pointer identifying an address in the stack data structure during execution of the program code by the processor, and a compiler unit coupled to the memory and processor, configured to access the program code from the memory, and generate, for each of the one or more branch instructions, a data value based on an output of a cryptographically secure function, wherein data values for respective branch instructions are generated based on a first input identifying the address of the stack pointer prior to an evaluation of the branch instruction, a second input encoding information indicative of a target address in the memory subsequent to evaluation of the branch instruction, and a third input comprising a cryptographically secure key. Une mémoire couplée au processeur, configurée pour stocker un code de programme exécutable par le processeur, le code de programme comprenant une ou plusieurs instructions de branchement, une structure de données de pile accessible au processeur, et un pointeur de pile associé à la structure de données de pile, le pointeur de pile identifiant une adresse dans la structure de données de pile pendant l'exécution du code de programme par le processeur, et une unité de compilation couplée à la mémoire et au processeur, configurée pour accéder au code de programme à partir de la mémoire, et générer, pour chacune de la ou des instructions de branchement, une valeur de données sur la base d'une sortie d'une fonction sécurisée de manière cryptographique, des valeurs de données pour des instructions de branchement respectives étant générées sur la base d'une première entrée identifiant l'adresse du pointeur de pile avant une évaluation de l'instruction de branchement, une troisième entrée comprenant une clé sécurisée de manière cryptographique.</description><subject>CALCULATING</subject><subject>COMPUTING</subject><subject>COUNTING</subject><subject>ELECTRIC DIGITAL DATA PROCESSING</subject><subject>PHYSICS</subject><fulltext>true</fulltext><rsrctype>patent</rsrctype><creationdate>2023</creationdate><recordtype>patent</recordtype><sourceid>EVB</sourceid><recordid>eNrjZBBz9vcLCfL3UXDz8Q9X8PQLcXUP8gyJ5GFgTUvMKU7lhdLcDMpuriHOHrqpBfnxqcUFicmpeakl8eH-RgZGxoZmlmamJo6GxsSpAgBG3iBR</recordid><startdate>20230914</startdate><enddate>20230914</enddate><creator>DENIS-COURMONT, Rémi Robert Michel</creator><scope>EVB</scope></search><sort><creationdate>20230914</creationdate><title>CONTROL FLOW INTEGRITY</title><author>DENIS-COURMONT, Rémi Robert Michel</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-epo_espacenet_WO2023169654A13</frbrgroupid><rsrctype>patents</rsrctype><prefilter>patents</prefilter><language>eng ; fre</language><creationdate>2023</creationdate><topic>CALCULATING</topic><topic>COMPUTING</topic><topic>COUNTING</topic><topic>ELECTRIC DIGITAL DATA PROCESSING</topic><topic>PHYSICS</topic><toplevel>online_resources</toplevel><creatorcontrib>DENIS-COURMONT, Rémi Robert Michel</creatorcontrib><collection>esp@cenet</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>DENIS-COURMONT, Rémi Robert Michel</au><format>patent</format><genre>patent</genre><ristype>GEN</ristype><title>CONTROL FLOW INTEGRITY</title><date>2023-09-14</date><risdate>2023</risdate><abstract>In some examples, a computing system comprises a processor, a memory coupled to the processor, configured to store program code executable by the processor, the program code comprising one or more branch instructions, a stack data structure accessible to the processor, and a stack pointer associated to the stack data structure, the stack pointer identifying an address in the stack data structure during execution of the program code by the processor, and a compiler unit coupled to the memory and processor, configured to access the program code from the memory, and generate, for each of the one or more branch instructions, a data value based on an output of a cryptographically secure function, wherein data values for respective branch instructions are generated based on a first input identifying the address of the stack pointer prior to an evaluation of the branch instruction, a second input encoding information indicative of a target address in the memory subsequent to evaluation of the branch instruction, and a third input comprising a cryptographically secure key. Une mémoire couplée au processeur, configurée pour stocker un code de programme exécutable par le processeur, le code de programme comprenant une ou plusieurs instructions de branchement, une structure de données de pile accessible au processeur, et un pointeur de pile associé à la structure de données de pile, le pointeur de pile identifiant une adresse dans la structure de données de pile pendant l'exécution du code de programme par le processeur, et une unité de compilation couplée à la mémoire et au processeur, configurée pour accéder au code de programme à partir de la mémoire, et générer, pour chacune de la ou des instructions de branchement, une valeur de données sur la base d'une sortie d'une fonction sécurisée de manière cryptographique, des valeurs de données pour des instructions de branchement respectives étant générées sur la base d'une première entrée identifiant l'adresse du pointeur de pile avant une évaluation de l'instruction de branchement, une troisième entrée comprenant une clé sécurisée de manière cryptographique.</abstract><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier
ispartof
issn
language eng ; fre
recordid cdi_epo_espacenet_WO2023169654A1
source esp@cenet
subjects CALCULATING
COMPUTING
COUNTING
ELECTRIC DIGITAL DATA PROCESSING
PHYSICS
title CONTROL FLOW INTEGRITY
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-10T19%3A53%3A36IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-epo_EVB&rft_val_fmt=info:ofi/fmt:kev:mtx:patent&rft.genre=patent&rft.au=DENIS-COURMONT,%20R%C3%A9mi%20Robert%20Michel&rft.date=2023-09-14&rft_id=info:doi/&rft_dat=%3Cepo_EVB%3EWO2023169654A1%3C/epo_EVB%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true