System for binary translation version protection

    公开(公告)号:US10162616B2

    公开(公告)日:2018-12-25

    申请号:US14752440

    申请日:2015-06-26

    Abstract: The present disclosure is directed to a system for binary translation version protection. Activity occurring in a device that may potentially cause native code to be altered may cause the device to prevent binary translations corresponding to the native code from being executed until a determination is made as to whether the binary translation needs to be regenerated. The native code may be stored in a memory page having an access permission that does not permit writes. Attempts to alter the native code would require the access permission of the memory page to be set to writable, which may cause a binary translation (BT) module to be notified of the potential change. The BT module may mark any binary translations corresponding to the native code as stale, and may cause a page permission control module to update memory pages including the binary translations to have an access permission of non-executable.

    Technologies for shadow stack manipulation for binary translation systems
    12.
    发明授权
    Technologies for shadow stack manipulation for binary translation systems 有权
    二进制翻译系统的影子栈操作技术

    公开(公告)号:US09477453B1

    公开(公告)日:2016-10-25

    申请号:US14748363

    申请日:2015-06-24

    CPC classification number: G06F8/52 G06F9/4486 G06F12/08 G06F2212/451

    Abstract: Technologies for shadow stack management include a computing device that, when executing a translated call routine in a translated binary, pushes a native return address on to a native stack of the computing device, adds a constant offset to a stack pointer of the computing device, executes a native call instruction to a translated call target, and, after executing the native call instruction, subtracts the constant offset from the stack pointer. Executing the native call instruction pushes a translated return address onto a shadow stack of the computing device. The computing device may map two or more virtual memory pages of the shadow stack onto a single physical memory page. The computing device may execute a translated return routine that pops the native return address from the native stack, adds the constant offset to the stack pointer, and executes a native return instruction. Other embodiments are described and claimed.

    Abstract translation: 用于阴影堆栈管理的技术包括计算设备,当在翻译的二进制文件中执行转换的调用例程时,将本地返回地址推送到计算设备的本机堆栈,向计算设备的堆栈指针添加恒定偏移量, 对转换后的呼叫目标执行本机调用指令,执行本地调用指令后,从堆栈指针中减去常量偏移量。 执行本地调用指令将转换后的返回地址推送到计算设备的影子栈上。 计算设备可以将阴影栈的两个或多个虚拟存储器页面映射到单个物理存储器页面上。 计算设备可以执行翻译的返回例程,其从本机堆栈弹出本地返回地址,将常量偏移量添加到堆栈指针,并执行本地返回指令。 描述和要求保护其他实施例。

    Memory management method and apparatus

    公开(公告)号:US11507412B2

    公开(公告)日:2022-11-22

    申请号:US16861082

    申请日:2020-04-28

    Abstract: A disclosed example apparatus includes memory; and processor circuitry to: identify a lock-protected section of instructions in the memory; replace lock/unlock instructions with transactional lock acquire and transactional lock release instructions to form a transactional process; and execute the transactional process in a speculative execution.

    Technologies for scalable translation caching for binary translation systems

    公开(公告)号:US10789056B2

    公开(公告)日:2020-09-29

    申请号:US15202745

    申请日:2016-07-06

    Abstract: Technologies for binary translation include a computing device that allocates a translation cache shared by all threads associated with a corresponding execution domain. The computing device assigns a thread to an execution domain, translates original binary code of the thread to generate translated binary code, and installs the translated binary code into the corresponding translation cache for execution. The computing device may allocate a global region cache, generate region metadata associated with the original binary code of a thread, and store the region metadata in the global region cache. The original binary code may be translated using the region metadata. The computing device may allocate a global prototype cache, translate the original binary code of a thread to generate prototype code, and install the prototype code in the global prototype cache. The prototype code may be a non-executable version of the translated binary code. Other embodiments are described and claimed.

    System, apparatus and method for performing on-demand binary analysis for detecting code reuse attacks

    公开(公告)号:US10395033B2

    公开(公告)日:2019-08-27

    申请号:US15281825

    申请日:2016-09-30

    Abstract: In one embodiment, a binary translator to perform binary translation of code is to: perform a first binary analysis of a first code block to determine whether a second control transfer instruction is included in the first code block, where the first code block includes a return target of a first control transfer instruction; perform a second binary analysis of a second code block to determine whether the second code block includes the first control transfer instruction, where the second code block includes a call target of the second control transfer instruction; and store an address pair associated with the first control transfer instruction in a whitelist if the second control transfer instruction is included in the first code block and the first control transfer instruction is included in the second code block. Other embodiments are described and claimed.

    Techniques for enforcing control flow integrity using binary translation
    20.
    发明授权
    Techniques for enforcing control flow integrity using binary translation 有权
    使用二进制翻译实现控制流完整性的技术

    公开(公告)号:US09569613B2

    公开(公告)日:2017-02-14

    申请号:US14581871

    申请日:2014-12-23

    CPC classification number: G06F21/54 G06F8/30 G06F8/52 G06F9/4552

    Abstract: Various embodiments are generally directed to an apparatus, method and other techniques to determine a valid target address for a branch instruction from information stored in a relocation table, a linkage table, or both, the relocation table and the linkage table associated with a binary file and store the valid target address in a table in memory, the valid target address to validate a target address for a translated portion of a routine of the binary file.

    Abstract translation: 各种实施例通常涉及一种装置,方法和其他技术,以从存储在重定位表,链接表或二者中的信息确定分支指令的有效目标地址,重定位表和与二进制文件相关联的链接表 并将有效目标地址存储在存储器中的表中,该有效目标地址用于验证二进制文件的例程的翻译部分的目标地址。

Patent Agency Ranking