SG10201801669XA - Secure just-in-time (jit) code generation - Google Patents
Secure just-in-time (jit) code generationInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
- G06F9/4552—Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test 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)
Abstract
SECURE JUST-IN-TIME (JIT) CODE GENERATION A method of securely executing a Just-In-Time (JIT) compiled code in a runtime environment, comprising using one or more processors for receiving from a JIT executing process a request to compile in runtime a code segment, initiating a JIT compiling process to compile the code segment in order to generate an executable code segment, storing the executable code segment in a shared memory and providing to the JIT executing process a pointer to the executable code segment in the shared memory. Wherein the JIT executing process having read-execute access rights to the shared memory and the JIT executing process and the JIT compiling process are different processes.
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 (en) |
EP (1) | EP3373133B1 (en) |
JP (1) | JP2018152061A (en) |
CA (1) | CA2996747A1 (en) |
HK (1) | HK1255149A1 (en) |
IL (1) | IL257893B (en) |
SG (1) | SG10201801669XA (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11822654B2 (en) * | 2017-04-20 | 2023-11-21 | Morphisec Information Security 2014 Ltd. | System and method for runtime detection, analysis and signature determination of obfuscated malicious code |
CN113360134B (en) * | 2020-03-06 | 2022-06-17 | 武汉斗鱼网络科技有限公司 | Method, device, equipment and storage medium for generating security verification program |
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 |
US11709675B2 (en) * | 2020-10-30 | 2023-07-25 | Apple Inc. | Software verification of dynamically generated code |
Family Cites Families (10)
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 (en) * | 2004-08-02 | 2006-02-16 | Hitachi Ltd | Language processing system protecting generated code of dynamic compiler |
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 (en) * | 2015-08-24 | 2019-08-07 | キヤノン株式会社 | Information processing apparatus and control method thereof |
US10303885B2 (en) * | 2016-03-02 | 2019-05-28 | Apple Inc. | Methods and systems for securely executing untrusted software |
-
2017
- 2017-03-05 US US15/449,965 patent/US10795989B2/en active Active
-
2018
- 2018-02-28 JP JP2018035322A patent/JP2018152061A/en active Pending
- 2018-02-28 CA CA2996747A patent/CA2996747A1/en active Pending
- 2018-03-01 SG SG10201801669XA patent/SG10201801669XA/en unknown
- 2018-03-01 EP EP18159497.9A patent/EP3373133B1/en active Active
- 2018-03-05 IL IL257893A patent/IL257893B/en unknown
- 2018-11-08 HK HK18114234.7A patent/HK1255149A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
HK1255149A1 (en) | 2019-08-09 |
IL257893B (en) | 2022-01-01 |
EP3373133B1 (en) | 2021-02-24 |
EP3373133A1 (en) | 2018-09-12 |
JP2018152061A (en) | 2018-09-27 |
IL257893A (en) | 2018-04-30 |
US10795989B2 (en) | 2020-10-06 |
CA2996747A1 (en) | 2018-09-05 |
US20180253549A1 (en) | 2018-09-06 |
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 (en) | SOFTWARE CODE GENERATION AND CACHING | |
US9971576B2 (en) | Software development environment and method of compiling integrated source code | |
MX2015014870A (en) | Controlling runtime access to application programming interfaces. | |
GB2509438A (en) | Compiling code for enhanced application binary interface (abi) with decode time instruction optimization | |
CA2953788C (en) | Automated code lockdown to reduce attack surface for software | |
WO2013019059A3 (en) | Sandboxing technology for webruntime system | |
PH12015500405B1 (en) | Generating native code from intermediate laguage code for an application | |
EP4290377A3 (en) | Hardware acceleration method, compiler, and device | |
WO2015011567A3 (en) | Method and system for compiler optimization | |
WO2017053022A8 (en) | Speculative scalarization in vector processing | |
WO2017030619A3 (en) | Techniques for distributed operation of secure controllers | |
GB2509653A8 (en) | Linking code for an enhanced application binary interface (abi) with decode time instruction optimization | |
EP3722984A3 (en) | Method and system for converting a single-threaded software program into an application-specific supercomputer | |
EP2579817A4 (en) | Implant components and methods | |
WO2013036703A3 (en) | Profile guided jit code generation | |
GB201209821D0 (en) | Animation processing | |
JP2015509249A5 (en) | ||
GB2602751A (en) | Kernel fusion for machine learning | |
GB2540498A (en) | Dynamic selection of memory management algorihm | |
JP2018152061A5 (en) | ||
CN108121285B (en) | Application software collaborative compiling method and device based on continuous function diagram | |
CN105637474B (en) | System and method for register distribution | |
Nurmukhametov et al. | Application of compiler transformations against software vulnerabilities exploitation |