METHODS FOR IMPROVING SECURITY IN COMPUTING DEVICES IMPLEMENTING CONTROL FLOW INTEGRITY

Various embodiments include methods and devices for maintaining control flow integrity in computing devices. Embodiments may include identifying indirect function call candidate functions from a source code by a compiler, replacing, by the compiler, an indirect function call from the source code wit...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: KUSHWAHA, Sundeep, KRISHNASWAMY, Arvind, SU, Tianshuo, PANDEY, Awanish, ACAR, Can, SENIOR, Richard, LARIN, Sergei
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Various embodiments include methods and devices for maintaining control flow integrity in computing devices. Embodiments may include identifying indirect function call candidate functions from a source code by a compiler, replacing, by the compiler, an indirect function call from the source code with a call to a wrapper function, and collocating the indirect function call candidate functions in at least one range of addresses of memory by a linker. The wrapper function may be configured to determine whether an address to be passed to the indirect function call is within the at least one range of addresses of memory. Divers modes de réalisation comprennent des procédés et des dispositifs pour maintenir une intégrité de flux de commande dans des dispositifs informatiques. Des modes de réalisation peuvent comprendre l'identification de fonctions candidates d'appel de fonction indirecte à partir d'un code source par un compilateur, le remplacement, par le compilateur, d'un appel de fonction indirecte à partir du code source par un appel vers une fonction d'enveloppe, et la colocalisation des fonctions candidates d'appel de fonction indirecte dans au moins une plage d'adresses de mémoire par un lieur. La fonction d'enveloppe peut être configurée pour déterminer si une adresse devant être transmise à l'appel de fonction indirecte se trouve à l'intérieur de ladite plage d'adresses de mémoire.