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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 (6)

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

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL270037B2 (en) * 2017-04-20 2025-04-01 Morphisec Information Security 2014 Ltd System and method for runtime detection, analysis and signature determination of obscure malicious code
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
JP2018152061A (ja) 2018-09-27
CA2996747A1 (en) 2018-09-05
US10795989B2 (en) 2020-10-06
US20180253549A1 (en) 2018-09-06
EP3373133A1 (en) 2018-09-12
IL257893B (en) 2022-01-01
IL257893A (en) 2018-04-30
EP3373133B1 (en) 2021-02-24
HK1255149A1 (en) 2019-08-09

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) Генерирование и кэширование кода программного обеспечения
MX2015014870A (es) Control de acceso de tiempo de ejecucion a interfases de programacion de aplicacion.
US9971576B2 (en) Software development environment and method of compiling integrated source code
WO2013019059A3 (en) Sandboxing technology for webruntime system
PH12015500405A1 (en) Generating native code from intermediate laguage code for an application
GB2602751A (en) Kernel fusion for machine learning
GB2509653A8 (en) Linking code for an enhanced application binary interface (abi) with decode time instruction optimization
BR112016021725A2 (pt) Apoio de comportamento dinâmico em programas estatisticamente compilados
WO2017030619A3 (en) Techniques for distributed operation of secure controllers
EP4428733A3 (en) Remote attestation for multi-core processor
WO2017053022A8 (en) Speculative scalarization in vector processing
EP2579817A4 (en) IMPLANT COMPONENTS AND METHOD THEREFOR
GB2505818A (en) Graphics processor with non-blocking concurrent architecture
JP2015509249A5 (enrdf_load_stackoverflow)
BR112017025783A2 (pt) sistemas e métodos de pagamento multimodo
Gaitani et al. Automated refactoring to the null object design pattern
WO2014194237A3 (en) Systems and methods for remote analysis of software applications
MX2018002776A (es) Ejecutar aplicaciones en dispositivo de computo.
ATE459917T1 (de) Verringern von mit privaten variablen in parallelen programmen assoziiertem speicherreferenz-overhead
CN105637474B (zh) 用于寄存器分配的系统和方法
MX2024013637A (es) Conjuntos de datos de grafos de flujos de datos
GB2540498A8 (en) Dynamic selection of memory management algorithm
JP2018152061A5 (enrdf_load_stackoverflow)