SG10201801669XA - Secure just-in-time (jit) code generation - Google Patents

Secure just-in-time (jit) code generation

Info

Publication number
SG10201801669XA
SG10201801669XA SG10201801669XA SG10201801669XA SG10201801669XA SG 10201801669X A SG10201801669X A SG 10201801669XA SG 10201801669X A SG10201801669X A SG 10201801669XA SG 10201801669X A SG10201801669X A SG 10201801669XA SG 10201801669X A SG10201801669X A SG 10201801669XA
Authority
SG
Singapore
Prior art keywords
jit
code segment
time
secure
executing
Prior art date
Application number
SG10201801669XA
Other languages
English (en)
Inventor
Udi Yavo
Original Assignee
Ensilo Ltd
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 Ensilo Ltd filed Critical Ensilo Ltd
Publication of SG10201801669XA publication Critical patent/SG10201801669XA/en

Links

Classifications

    • 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/53Monitoring 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 executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • G06F9/4552Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
SG10201801669XA 2017-03-05 2018-03-01 Secure just-in-time (jit) code generation SG10201801669XA (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/449,965 US10795989B2 (en) 2017-03-05 2017-03-05 Secure just-in-time (JIT) code generation

Publications (1)

Publication Number Publication Date
SG10201801669XA true SG10201801669XA (en) 2018-10-30

Family

ID=61557080

Family Applications (1)

Application Number Title Priority Date Filing Date
SG10201801669XA SG10201801669XA (en) 2017-03-05 2018-03-01 Secure just-in-time (jit) code generation

Country Status (7)

Country Link
US (1) US10795989B2 (fr)
EP (1) EP3373133B1 (fr)
JP (1) JP2018152061A (fr)
CA (1) CA2996747A1 (fr)
HK (1) HK1255149A1 (fr)
IL (1) IL257893B (fr)
SG (1) SG10201801669XA (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3612969A1 (fr) * 2017-04-20 2020-02-26 Morphisec Information Security 2014 Ltd. Système et procédé de détection, d'analyse et de détermination de signature pendant l'exécution de code malveillant obscurci
CN113360134B (zh) * 2020-03-06 2022-06-17 武汉斗鱼网络科技有限公司 安全验证程序的生成方法、装置、设备和存储介质
US11487565B2 (en) * 2020-10-29 2022-11-01 Hewlett Packard Enterprise Development Lp Instances of just-in-time (JIT) compilation of code using different compilation settings
US11816484B2 (en) * 2020-10-30 2023-11-14 Apple Inc. Hardware verification of dynamically generated code

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7600222B2 (en) * 2002-01-04 2009-10-06 Microsoft Corporation Systems and methods for managing drivers in a computing system
US7219329B2 (en) * 2003-06-13 2007-05-15 Microsoft Corporation Systems and methods providing lightweight runtime code generation
JP2006048186A (ja) * 2004-08-02 2006-02-16 Hitachi Ltd 動的コンパイラの生成コードを保護する言語処理系
US7603712B2 (en) * 2005-04-21 2009-10-13 Microsoft Corporation Protecting a computer that provides a Web service from malware
US20070283336A1 (en) * 2006-06-01 2007-12-06 Michael Karl Gschwind System and method for just-in-time compilation in a heterogeneous processing environment
US20080127142A1 (en) * 2006-11-28 2008-05-29 Microsoft Corporation Compiling executable code into a less-trusted address space
US8156093B2 (en) * 2009-03-10 2012-04-10 Microsoft Corporaton Memory object sharing for just in time compiled data
US8677329B2 (en) * 2009-06-03 2014-03-18 Apple Inc. Methods and apparatuses for a compiler server
JP6555981B2 (ja) * 2015-08-24 2019-08-07 キヤノン株式会社 情報処理装置及びその制御方法
US10303885B2 (en) * 2016-03-02 2019-05-28 Apple Inc. Methods and systems for securely executing untrusted software

Also Published As

Publication number Publication date
US10795989B2 (en) 2020-10-06
HK1255149A1 (zh) 2019-08-09
IL257893A (en) 2018-04-30
JP2018152061A (ja) 2018-09-27
IL257893B (en) 2022-01-01
US20180253549A1 (en) 2018-09-06
EP3373133A1 (fr) 2018-09-12
EP3373133B1 (fr) 2021-02-24
CA2996747A1 (fr) 2018-09-05

Similar Documents

Publication Publication Date Title
SG10201801669XA (en) Secure just-in-time (jit) code generation
PH12019501795A1 (en) Method and apparatus for writing service data into block chain and method for determining service subset
RU2014133160A (ru) Генерирование и кэширование кода программного обеспечения
US9971576B2 (en) Software development environment and method of compiling integrated source code
MX2015014870A (es) Control de acceso de tiempo de ejecucion a interfases de programacion de aplicacion.
CA2953788C (fr) Verrouillage de code automatise pour reduire la surface de rattachement pour un logiciel
PH12015500405B1 (en) Generating native code from intermediate laguage code for an application
EP4290377A3 (fr) Procédé d'accélération matériel, compilateur et dispositif
WO2017053022A8 (fr) Scalarisation spéculative dans le traitement vectoriel
WO2017030619A3 (fr) Techniques de fonctionnement distribué de contrôleurs sécurisés
GB2509653A (en) Linking code for an enhanced application binary interface (abi) with decode time instruction optimization
EP2579817A4 (fr) Composants d'implant et procédés
WO2013036703A3 (fr) Génération de code jit sur la base d'informations de profil
GB201209821D0 (en) Animation processing
BR112016021725A2 (pt) Apoio de comportamento dinâmico em programas estatisticamente compilados
JP2015509249A5 (fr)
BR112017011104A2 (pt) sistemas, aparelhos e métodos para execução de especulação de dados
WO2014194237A3 (fr) Systèmes et procédés pour une analyse distante d'applications logicielles
MX2018002776A (es) Ejecutar aplicaciones en dispositivo de computo.
ATE459917T1 (de) Verringern von mit privaten variablen in parallelen programmen assoziiertem speicherreferenz-overhead
GB2540498A (en) Dynamic selection of memory management algorihm
JP2018152061A5 (fr)
CN108121285B (zh) 基于连续功能图的应用软件协同编译方法及装置
BR112014028947A2 (pt) método de configuração de um processador, dispositivo para configuração de um processador, processador, e produto de programa de computador
CN105637474B (zh) 用于寄存器分配的系统和方法