Intégrité de flux de commande avec code géré et code non géré

Control-flow integrity with managed code and unmanaged code

Abstract

A data processing system (DPS) supports control-flow integrity (CFI). The DPS comprises a processing element with a CFI enforcement mechanism that supports one or more CFI instructions. The DPS also comprises at least one machine-accessible medium responsive to the processing element. Managed code in the machine-accessible medium is configured (a) to execute in a managed runtime environment (MRE) in the data processing system, and (b) to transfer control out from the MRE to unmanaged code, in response to a transfer control statement in the managed code. The machine-accessible medium also comprises a binary translator which, when executed, converts unmanaged code in the data processing system into hardened unmanaged code (HUC) by including CFI features in the HUC. The CFI features comprise one or more CFI instructions to utilize the CFI enforcement mechanism of the processing element for transfers of control initiated by the HUC. Other embodiments are described and claimed.
L'invention concerne un système de traitement de données (DPS) qui prend en charge l'intégrité du flux de commande (CFI). Le DPS comprend un élément de traitement à mécanisme de mise en application de CFI qui supporte une ou plusieurs instructions CFI. Le DPS comprend également au moins un support accessible par machine répondant à l'élément de traitement. Un code géré dans le support accessible par machine est configuré (a) pour être exécuté dans un environnement d'exécution géré (MRE) dans le système de traitement de données, et (b) pour transférer la commande hors du MRE à un code non géré, en réponse à une instruction de commande de transfert dans le code géré. Le support accessible par machine comprend également un traducteur binaire qui, lorsqu'il est exécuté, convertit un code non géré dans le système de traitement de données en un code non géré renforcé (HUC) en incluant des caractéristiques CFI dans HUC. Les caractéristiques CFI comprennent au moins une instruction CFI pour utiliser le mécanisme de mise en application CFI de l'élément de traitement pour des transferts de commande déclenchés par HUC. L'invention décrit et revendique également d'autres modes de réalisation.

Claims

Description

Topics

Download Full PDF Version (Non-Commercial Use)

Patent Citations (5)

    Publication numberPublication dateAssigneeTitle
    US-2007285271-A1December 13, 2007Microsoft CorporationVerifiable integrity guarantees for machine code programs
    US-2009282393-A1November 12, 2009Microsoft CorporationSecuring Software By Enforcing Data Flow Integrity
    US-2013024676-A1January 24, 2013Glew Andrew F, Gerrity Daniel A, Tegreene Clarence TControl flow integrity
    US-2013185787-A1July 18, 2013Google Inc.Safely Executing an Untrusted Native Code Module on a Computing Device
    US-2013283245-A1October 24, 2013Microsoft CorporationControl flow integrity enforcement at scale

NO-Patent Citations (0)

    Title

Cited By (0)

    Publication numberPublication dateAssigneeTitle