Bytecode Obfuscation for Interpreted Language Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing security techniques struggle to differentiate between legitimate user requests and malicious bot activities in client/server systems, making it difficult for web server administrators to prevent unauthorized attacks while allowing legitimate user interactions.
Innovation Solution
Implementing bytecode conversion techniques that convert human-readable instructions into non-human readable bytecode, which are then executed by a client computer, thereby preventing attackers from exploiting or simulating the functionality defined by the original code, and sending the modified HTML and bytecode instructions to the client computer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If bytecode conversion techniques are implemented to improve security, then security against bot attacks is improved, but device complexity increases due to the need for bytecode interpreters and conversion infrastructure
Solution Approach 1:
The patent introduces an intermediary bytecode conversion system that translates human-readable code into bytecode and provides a runtime interpreter. This intermediary layer protects the original code logic from direct exposure to bots while maintaining functionality, resolving the contradiction between security improvement and system complexity by encapsulating the complexity within a dedicated interpretation infrastructure.
Solution Approach 2:
The patent changes the parameter of code representation from human-readable text to bytecode format. This parameter change fundamentally alters how code is processed and executed, making it unreadable to bots while preserving executable functionality through the interpreter, thereby achieving security enhancement without requiring complete system redesign.
2Reliability
If bytecode conversion is used to prevent attacks, then security is improved, but processing time increases due to the additional conversion and interpretation steps
Solution Approach 1:
The patent performs bytecode conversion in advance during the code deployment phase, before the code is executed in the runtime environment. This preliminary action separates the time-consuming conversion process from the execution phase, allowing the runtime interpreter to execute bytecode efficiently without incurring conversion overhead during critical operations.
Solution Approach 2:
The patent implements a dynamic runtime interpreter that adapts to different bytecode instructions and executes them efficiently. The interpreter dynamically processes bytecode without requiring static compilation, allowing flexible and optimized execution that minimizes processing time overhead while maintaining security benefits.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In an embodiment, a computer system configured to improve security of client computer interacting with server computers comprises one or more processors; a digital electronic memory storing a set of program instructions which when executed using the one or more processors cause the one or more processors to: process a first set of original instructions that produce a first set of outputs or effects; generate a first set of interpreter instructions that define a first interpreter; generate a first set of alternate instructions from the first set of original instructions, wherein the first set of alternate instructions is functionally equivalent to the first set of original instructions when the first set of alternate instructions is executed by the first interpreter; send, to the first client computer, the first set of alternate instructions and the first set of interpreter instructions.