Web Application Translation Service for Secure Native Code Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional techniques for translating web application code into native executable code face security vulnerabilities due to the design of portable code and the complexity of translation components, which can lead to bugs and exploitable features, compromising system safety.

Innovation Solution

A translation service that generates native object code by translating intermediate representation of application code into native executable code for a specific instruction set architecture, with optional optimizations and validation by a trusted validator to ensure code safety, decoupling validation from translation and allowing non-local translation services to handle resource-intensive tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If portable code is used to ensure cross-platform compatibility, then portability is improved, but security vulnerabilities increase due to unsafe source language constructs and complex translation components

Engineering Contradiction:
ImproveportabilityVSAvoidsecurity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary translation service that acts as a trusted mediator between portable code and native execution. This service translates portable code to native code in a controlled environment and returns only validated native code to the client, eliminating the need for clients to run complex translation components locally. The intermediary service includes trusted validators that verify code safety constraints, thereby maintaining security while enabling portability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the translation and validation functionality from the client system and relocates it to a remote translation service. By taking out the complex translation components (interpreters, JIT compilers, bytecode verifiers) from the client, the system eliminates the security vulnerabilities associated with running these complex components locally, while still providing cross-platform execution capabilities through the remote service.

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of operation

If translation components (interpreters, JIT compilers, bytecode verifiers) are included in the client system, then local translation capability is improved, but device complexity and security risks increase

Engineering Contradiction:
Improvelocal translation capabilityVSAvoidtranslation component complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts translation components from the client system and relocates them to a remote translation service. The client system no longer needs to include interpreters, JIT compilers, or bytecode verifiers, significantly reducing device complexity. The translation functionality is provided as a network service, allowing clients to obtain native code without maintaining complex translation infrastructure locally.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The remote translation service acts as an intermediary that provides translation capability to clients without requiring clients to implement translation components themselves. This intermediary approach maintains ease of operation for clients while eliminating the complexity of local translation components, as the service handles all translation and validation operations remotely.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If complex translation components are deployed locally, then translation functionality is improved, but the attack surface for malicious exploitation increases

Engineering Contradiction:
Improvetranslation functionalityVSAvoidattack surface
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent extracts translation components from the client system and relocates them to a remote translation service. By removing interpreters, JIT compilers, and bytecode verifiers from the client, the system eliminates the attack surface associated with these complex components. The client system no longer contains exploitable translation infrastructure, significantly reducing vulnerability to malicious code exploitation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The remote translation service acts as a secure intermediary that performs all translation operations in a controlled environment. This intermediary approach ensures that translation functionality is maintained while the attack surface is minimized, as the service can implement security measures and validation in a centralized, secure manner without exposing translation components to client-side exploitation.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If portable code represents unsafe source language constructs, then language expressiveness is improved, but system safety is compromised when translated to native code

Engineering Contradiction:
Improvelanguage expressivenessVSAvoidsystem safety
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary validation to portable code before translation to native code. The translation service includes validators that check code safety constraints and verify that unsafe source language constructs do not compromise system safety. This preliminary action ensures that language expressiveness is maintained while safety issues are identified and handled before native code generation, preventing unsafe constructs from reaching the execution environment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The translation service acts as an intermediary that mediates between portable code with unsafe constructs and safe native execution. The service includes trusted validators that verify code safety constraints, ensuring that language expressiveness is preserved while system safety is maintained. The intermediary validates and sanitizes code during translation, preventing unsafe constructs from compromising the execution environment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9141360B1Web application module translation service
Publication Date: 2015.09.22 GOOGLE LLC
  • US9141360B1 patent drawing
  • US9141360B1 patent drawing
  • US9141360B1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for providing a translation service that generates native object code by translating an intermediate representation of application code in a portable code format. One aspect of the subject matter described in this specification can be embodied in methods that include the actions of receiving a translation service request for a native executable for a particular instruction set architecture from a requestor, where the translation service request includes data specifying portable code in an instruction-set neutral format; obtaining the portable code; translating the portable code into native object code for execution on the particular instruction set architecture; generating a native executable for the particular instruction set architecture; and returning the native executable to the requestor.